@iobroker/adapter-react-v5 2.1.7 → 2.1.9
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/Components/404.js +17 -25
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js +25 -35
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js +29 -37
- package/Components/ComplexCron.js.map +1 -1
- package/Components/FileBrowser.js +40 -61
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.js +18 -28
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.js +15 -25
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js +6 -6
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js +25 -31
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js +15 -25
- package/Components/Image.js.map +1 -1
- package/Components/Loader.js +14 -24
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js +13 -23
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.js +14 -24
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js +15 -25
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js +14 -11
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.js +110 -175
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.js +13 -21
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.js +15 -25
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.js +23 -37
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.js +17 -25
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cronText.js +2 -2
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.js +24 -34
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/TabContainer.js +18 -28
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js +17 -27
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js +13 -23
- package/Components/TabHeader.js.map +1 -1
- package/Components/TextWithIcon.js +5 -5
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/ToggleThemeMenu.js +2 -2
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/TreeTable.js +21 -42
- package/Components/TreeTable.js.map +1 -1
- package/Components/Utils.js +31 -42
- package/Components/Utils.js.map +1 -1
- package/Connection.js +15 -22
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.js +15 -25
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js +15 -25
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js +19 -27
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.js +15 -25
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js +15 -25
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectID.js +19 -27
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js +15 -25
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js +18 -28
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.js +37 -49
- package/GenericApp.js.map +1 -1
- package/README.md +4 -0
- package/Theme.js +2 -2
- package/Theme.js.map +1 -1
- package/i18n.js +10 -14
- package/i18n.js.map +1 -1
- package/icons/IconAdapter.js +2 -2
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.js +2 -2
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.js +2 -2
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.js +2 -2
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.js +2 -2
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.js +2 -2
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.js +2 -2
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.js +2 -2
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconExpert.js +2 -2
- package/icons/IconExpert.js.map +1 -1
- package/icons/IconFx.js +2 -2
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.js +2 -2
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.js +2 -2
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconOpen.js +2 -2
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.js +6 -6
- package/icons/IconState.js.map +1 -1
- package/package.json +9 -9
package/Components/Logo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logo.js","names":["styles","theme","buttons","marginRight","marginTop","logo","padding","width","Logo","evt","f","target","files","r","window","FileReader","onload","e","contents","result","json","JSON","parse","common","name","props","onError","I18n","t","onLoad","toString","readAsText","alert","_id","instance","stringify","news","titleLang","desc","generateFile","input","document","createElement","setAttribute","addEventListener","handleFileSelect","click","className","style","icon","classes","readme","win","open","focus","upload","download","filename","obj","el","encodeURIComponent","display","body","appendChild","removeChild","React","Component","propTypes","PropTypes","object","isRequired","string","number","func","_export"],"sources":["Logo.js"],"sourcesContent":["// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport withStyles from '@mui/styles/withStyles';\nimport Fab from '@mui/material/Fab';\nimport PropTypes from 'prop-types';\n\nimport I18n from '../i18n';\n\nimport IconHelp from '@mui/icons-material/Help'\nimport IconUpload from '@mui/icons-material/VerticalAlignTop'\nimport IconDownload from '@mui/icons-material/VerticalAlignBottom'\n\nconst styles = theme => ({\n buttons: {\n marginRight: 5,\n marginTop: 5,\n float: 'right'\n },\n logo: {\n padding: 8,\n width: 64\n }\n});\n\n/**\n * @typedef {object} LogoProps\n * @property {any} common Adapter common configuration from io-package.json\n * @property {any} native Adapter native data from io-package.json\n * @property {number} instance Adapter instance number.\n * @property {(contents: any) => void} [onLoad]\n * @property {(error: string) => void} [onError]\n * @property {{ buttons: string, logo: string }} classes The styling class names.\n *\n * @extends {React.Component<LogoProps>}\n */\nclass Logo extends React.Component {\n\n static generateFile(filename, obj) {\n const el = window.document.createElement('a');\n el.setAttribute('href', 'data:application/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(obj, null, 2)));\n el.setAttribute('download', filename);\n\n el.style.display = 'none';\n window.document.body.appendChild(el);\n\n el.click();\n\n window.document.body.removeChild(el);\n }\n\n handleFileSelect(evt) {\n const f = evt.target.files[0];\n if (f) {\n const r = new window.FileReader();\n r.onload = e => {\n const contents = e.target.result;\n try {\n const json = JSON.parse(contents);\n if (json.native && json.common) {\n if (json.common.name !== this.props.common.name) {\n this.props.onError && this.props.onError(I18n.t('ra_otherConfig', json.common.name));\n } else {\n this.props.onLoad && this.props.onLoad(json.native);\n }\n } else {\n this.props.onError && this.props.onError(I18n.t('ra_invalidConfig'));\n }\n } catch (e) {\n this.props.onError && this.props.onError(e.toString());\n }\n };\n r.readAsText(f);\n } else {\n alert('Failed to open JSON File');\n }\n }\n\n download() {\n const result = {\n _id: `system.adapter.${this.props.common.name}.${this.props.instance}`,\n common: JSON.parse(JSON.stringify(this.props.common)),\n native: this.props.native\n };\n // remove unimportant information\n if (result.common.news) {\n delete result.common.news;\n }\n if (result.common.titleLang) {\n delete result.common.titleLang;\n }\n if (result.common.desc) {\n delete result.common.desc;\n }\n\n //window.open('data:application/iobroker; content-disposition=attachment; filename=' + result._id + '.json,' + JSON.stringify(result, null, 2));\n Logo.generateFile(result._id + '.json', result);\n }\n\n upload() {\n const input = window.document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('id', 'files');\n input.setAttribute('opacity', 0);\n input.addEventListener('change', e => this.handleFileSelect(e, () => {}), false);\n (input.click)();\n }\n\n render() {\n return <div className={this.props.className} style={this.props.style}>\n {this.props.common.icon ?\n <img src={this.props.common.icon} className={this.props.classes.logo} alt=\"logo\"/> : null}\n {this.props.common.readme ?\n <Fab\n size=\"small\"\n color=\"primary\"\n aria-label=\"Help\"\n className={this.props.classes.buttons}\n onClick={() => {\n const win = window.open(this.props.common.readme, '_blank');\n win.focus();\n }}\n ><IconHelp /></Fab> : null}\n <Fab size=\"small\" color=\"primary\" aria-label=\"Load config\" className={this.props.classes.buttons}\n title={I18n.t('ra_Load configuration from file')} onClick={() => this.upload()}><IconUpload /></Fab>\n <Fab size=\"small\" color=\"primary\" aria-label=\"Save config\" className={this.props.classes.buttons}\n title={I18n.t('ra_Save configuration to file')} onClick={() => this.download()}><IconDownload/></Fab>\n </div>;\n }\n}\n\nLogo.propTypes = {\n common: PropTypes.object.isRequired,\n className: PropTypes.string,\n style: PropTypes.object,\n native: PropTypes.object.isRequired,\n instance: PropTypes.number.isRequired,\n onError: PropTypes.func.isRequired,\n onLoad: PropTypes.func.isRequired,\n};\n\n/** @type {typeof Logo} */\nconst _export = withStyles(styles)(Logo);\nexport default _export;"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Logo.js","names":["styles","theme","buttons","marginRight","marginTop","logo","padding","width","Logo","evt","f","target","files","r","window","FileReader","onload","e","contents","result","json","JSON","parse","common","name","props","onError","I18n","t","onLoad","toString","readAsText","alert","_id","instance","stringify","news","titleLang","desc","generateFile","input","document","createElement","setAttribute","addEventListener","handleFileSelect","click","className","style","icon","classes","readme","win","open","focus","upload","download","filename","obj","el","encodeURIComponent","display","body","appendChild","removeChild","React","Component","propTypes","PropTypes","object","isRequired","string","number","func","_export"],"sources":["Logo.js"],"sourcesContent":["// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport withStyles from '@mui/styles/withStyles';\nimport Fab from '@mui/material/Fab';\nimport PropTypes from 'prop-types';\n\nimport I18n from '../i18n';\n\nimport IconHelp from '@mui/icons-material/Help'\nimport IconUpload from '@mui/icons-material/VerticalAlignTop'\nimport IconDownload from '@mui/icons-material/VerticalAlignBottom'\n\nconst styles = theme => ({\n buttons: {\n marginRight: 5,\n marginTop: 5,\n float: 'right'\n },\n logo: {\n padding: 8,\n width: 64\n }\n});\n\n/**\n * @typedef {object} LogoProps\n * @property {any} common Adapter common configuration from io-package.json\n * @property {any} native Adapter native data from io-package.json\n * @property {number} instance Adapter instance number.\n * @property {(contents: any) => void} [onLoad]\n * @property {(error: string) => void} [onError]\n * @property {{ buttons: string, logo: string }} classes The styling class names.\n *\n * @extends {React.Component<LogoProps>}\n */\nclass Logo extends React.Component {\n\n static generateFile(filename, obj) {\n const el = window.document.createElement('a');\n el.setAttribute('href', 'data:application/json;charset=utf-8,' + encodeURIComponent(JSON.stringify(obj, null, 2)));\n el.setAttribute('download', filename);\n\n el.style.display = 'none';\n window.document.body.appendChild(el);\n\n el.click();\n\n window.document.body.removeChild(el);\n }\n\n handleFileSelect(evt) {\n const f = evt.target.files[0];\n if (f) {\n const r = new window.FileReader();\n r.onload = e => {\n const contents = e.target.result;\n try {\n const json = JSON.parse(contents);\n if (json.native && json.common) {\n if (json.common.name !== this.props.common.name) {\n this.props.onError && this.props.onError(I18n.t('ra_otherConfig', json.common.name));\n } else {\n this.props.onLoad && this.props.onLoad(json.native);\n }\n } else {\n this.props.onError && this.props.onError(I18n.t('ra_invalidConfig'));\n }\n } catch (e) {\n this.props.onError && this.props.onError(e.toString());\n }\n };\n r.readAsText(f);\n } else {\n alert('Failed to open JSON File');\n }\n }\n\n download() {\n const result = {\n _id: `system.adapter.${this.props.common.name}.${this.props.instance}`,\n common: JSON.parse(JSON.stringify(this.props.common)),\n native: this.props.native\n };\n // remove unimportant information\n if (result.common.news) {\n delete result.common.news;\n }\n if (result.common.titleLang) {\n delete result.common.titleLang;\n }\n if (result.common.desc) {\n delete result.common.desc;\n }\n\n //window.open('data:application/iobroker; content-disposition=attachment; filename=' + result._id + '.json,' + JSON.stringify(result, null, 2));\n Logo.generateFile(result._id + '.json', result);\n }\n\n upload() {\n const input = window.document.createElement('input');\n input.setAttribute('type', 'file');\n input.setAttribute('id', 'files');\n input.setAttribute('opacity', 0);\n input.addEventListener('change', e => this.handleFileSelect(e, () => {}), false);\n (input.click)();\n }\n\n render() {\n return <div className={this.props.className} style={this.props.style}>\n {this.props.common.icon ?\n <img src={this.props.common.icon} className={this.props.classes.logo} alt=\"logo\"/> : null}\n {this.props.common.readme ?\n <Fab\n size=\"small\"\n color=\"primary\"\n aria-label=\"Help\"\n className={this.props.classes.buttons}\n onClick={() => {\n const win = window.open(this.props.common.readme, '_blank');\n win.focus();\n }}\n ><IconHelp /></Fab> : null}\n <Fab size=\"small\" color=\"primary\" aria-label=\"Load config\" className={this.props.classes.buttons}\n title={I18n.t('ra_Load configuration from file')} onClick={() => this.upload()}><IconUpload /></Fab>\n <Fab size=\"small\" color=\"primary\" aria-label=\"Save config\" className={this.props.classes.buttons}\n title={I18n.t('ra_Save configuration to file')} onClick={() => this.download()}><IconDownload/></Fab>\n </div>;\n }\n}\n\nLogo.propTypes = {\n common: PropTypes.object.isRequired,\n className: PropTypes.string,\n style: PropTypes.object,\n native: PropTypes.object.isRequired,\n instance: PropTypes.number.isRequired,\n onError: PropTypes.func.isRequired,\n onLoad: PropTypes.func.isRequired,\n};\n\n/** @type {typeof Logo} */\nconst _export = withStyles(styles)(Logo);\nexport default _export;"],"mappings":"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"}
|
package/Components/MDUtils.js
CHANGED
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports["default"] = void 0;
|
|
7
9
|
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
var _copyToClipboard = _interopRequireDefault(require("./copy-to-clipboard"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
11
|
|
|
14
|
-
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
13
|
|
|
16
|
-
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
15
|
|
|
18
|
-
|
|
16
|
+
var _copyToClipboard = _interopRequireDefault(require("./copy-to-clipboard"));
|
|
19
17
|
|
|
18
|
+
/**
|
|
19
|
+
* Copyright 2018-2022 bluefox <dogafox@gmail.com>
|
|
20
|
+
*
|
|
21
|
+
* MIT License
|
|
22
|
+
*
|
|
23
|
+
**/
|
|
20
24
|
var MDUtils = /*#__PURE__*/function () {
|
|
21
25
|
function MDUtils() {
|
|
22
|
-
|
|
26
|
+
(0, _classCallCheck2["default"])(this, MDUtils);
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
|
|
29
|
+
(0, _createClass2["default"])(MDUtils, null, [{
|
|
26
30
|
key: "text2link",
|
|
27
31
|
value: function text2link(text) {
|
|
28
32
|
var m = text.match(/\d+\.\)\s/);
|
|
@@ -132,7 +136,6 @@ var MDUtils = /*#__PURE__*/function () {
|
|
|
132
136
|
e && e.preventDefault();
|
|
133
137
|
}
|
|
134
138
|
}]);
|
|
135
|
-
|
|
136
139
|
return MDUtils;
|
|
137
140
|
}();
|
|
138
141
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MDUtils.js","names":["MDUtils","text","m","match","replace","trim","toLowerCase","url","target","window","location","open","extractHeader","body","header","title","lines","split","i","length","startsWith","substring","attrs","pos","indexOf","_header","forEach","line","attr","parseFloat","toString","doc","e","stopPropagation","preventDefault"],"sources":["MDUtils.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport copy from './copy-to-clipboard';\n\nclass MDUtils {\n static text2link(text) {\n const m = text.match(/\\d+\\.\\)\\s/);\n if (m) {\n text = text.replace(m[0], m[0].replace(/\\s/, ' '));\n }\n\n return text.replace(/[^a-zA-Zа-яА-Я0-9]/g, '').trim().replace(/\\s/g, '').toLowerCase();\n }\n\n static openLink(url, target) {\n if (target === 'this') {\n window.location = url;\n } else {\n window.open(url, target || '_blank');\n }\n }\n\n static getTitle(text) {\n let {body, header} = MDUtils.extractHeader(text);\n if (!header.title) {\n // remove {docsify-bla}\n body = body.replace(/{[^}]*}/g, '');\n body = body.trim();\n const lines = body.replace(/\\r/g, '').split('\\n');\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].startsWith('# ')) {\n return lines[i].substring(2).trim();\n }\n }\n return '';\n } else {\n return header.title;\n }\n }\n\n static extractHeader(text) {\n const attrs = {};\n if (text.substring(0, 3) === '---') {\n const pos = text.substring(3).indexOf('\\n---');\n if (pos !== -1) {\n const _header = text.substring(3, pos + 3);\n const lines = _header.replace(/\\r/g, '').split('\\n');\n lines.forEach(line => {\n if (!line.trim()) {\n return;\n }\n const pos = line.indexOf(':');\n if (pos !== -1) {\n const attr = line.substring(0, pos).trim();\n attrs[attr] = line.substring(pos + 1).trim();\n attrs[attr] = attrs[attr].replace(/^['\"]|['\"]$/g, '');\n if (attrs[attr] === 'true') {\n attrs[attr] = true;\n } else if (attrs[attr] === 'false') {\n attrs[attr] = false;\n } else if (parseFloat(attrs[attr]).toString() === attrs[attr]) {\n attrs[attr] = parseFloat(attrs[attr]);\n }\n } else {\n attrs[line.trim()] = true;\n }\n });\n text = text.substring(pos + 7);\n }\n }\n return {header: attrs, body: text};\n }\n\n static removeDocsify(text) {\n const m = text.match(/{docsify-[^}]*}/g);\n if (m) {\n m.forEach(doc => text = text.replace(doc, ''));\n }\n return text;\n }\n\n static onCopy(e, text) {\n copy(text);\n e && e.stopPropagation();\n e && e.preventDefault();\n }\n}\n\nexport default MDUtils;"],"mappings":"
|
|
1
|
+
{"version":3,"file":"MDUtils.js","names":["MDUtils","text","m","match","replace","trim","toLowerCase","url","target","window","location","open","extractHeader","body","header","title","lines","split","i","length","startsWith","substring","attrs","pos","indexOf","_header","forEach","line","attr","parseFloat","toString","doc","e","stopPropagation","preventDefault"],"sources":["MDUtils.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport copy from './copy-to-clipboard';\n\nclass MDUtils {\n static text2link(text) {\n const m = text.match(/\\d+\\.\\)\\s/);\n if (m) {\n text = text.replace(m[0], m[0].replace(/\\s/, ' '));\n }\n\n return text.replace(/[^a-zA-Zа-яА-Я0-9]/g, '').trim().replace(/\\s/g, '').toLowerCase();\n }\n\n static openLink(url, target) {\n if (target === 'this') {\n window.location = url;\n } else {\n window.open(url, target || '_blank');\n }\n }\n\n static getTitle(text) {\n let {body, header} = MDUtils.extractHeader(text);\n if (!header.title) {\n // remove {docsify-bla}\n body = body.replace(/{[^}]*}/g, '');\n body = body.trim();\n const lines = body.replace(/\\r/g, '').split('\\n');\n for (let i = 0; i < lines.length; i++) {\n if (lines[i].startsWith('# ')) {\n return lines[i].substring(2).trim();\n }\n }\n return '';\n } else {\n return header.title;\n }\n }\n\n static extractHeader(text) {\n const attrs = {};\n if (text.substring(0, 3) === '---') {\n const pos = text.substring(3).indexOf('\\n---');\n if (pos !== -1) {\n const _header = text.substring(3, pos + 3);\n const lines = _header.replace(/\\r/g, '').split('\\n');\n lines.forEach(line => {\n if (!line.trim()) {\n return;\n }\n const pos = line.indexOf(':');\n if (pos !== -1) {\n const attr = line.substring(0, pos).trim();\n attrs[attr] = line.substring(pos + 1).trim();\n attrs[attr] = attrs[attr].replace(/^['\"]|['\"]$/g, '');\n if (attrs[attr] === 'true') {\n attrs[attr] = true;\n } else if (attrs[attr] === 'false') {\n attrs[attr] = false;\n } else if (parseFloat(attrs[attr]).toString() === attrs[attr]) {\n attrs[attr] = parseFloat(attrs[attr]);\n }\n } else {\n attrs[line.trim()] = true;\n }\n });\n text = text.substring(pos + 7);\n }\n }\n return {header: attrs, body: text};\n }\n\n static removeDocsify(text) {\n const m = text.match(/{docsify-[^}]*}/g);\n if (m) {\n m.forEach(doc => text = text.replace(doc, ''));\n }\n return text;\n }\n\n static onCopy(e, text) {\n copy(text);\n e && e.stopPropagation();\n e && e.preventDefault();\n }\n}\n\nexport default MDUtils;"],"mappings":"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"}
|