UNPKG

@wangeditor-next/editor

Version:
1 lines 2.51 MB
{"version":3,"file":"index.mjs","sources":["../src/utils/browser-polyfill.ts","../src/utils/node-polyfill.ts","../../../node_modules/.pnpm/@uppy+core@2.3.4/node_modules/@uppy/core/lib/loggers.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/getTimeStamp.js","../../../node_modules/.pnpm/nanoid@3.3.11/node_modules/nanoid/non-secure/index.cjs","../../../node_modules/.pnpm/@transloadit+prettier-bytes@0.0.7/node_modules/@transloadit/prettier-bytes/prettierBytes.js","../../../node_modules/.pnpm/wildcard@1.1.2/node_modules/wildcard/index.js","../../../node_modules/.pnpm/@uppy+core@2.3.4/node_modules/@uppy/core/lib/Restricter.js","../../../node_modules/.pnpm/mime-match@1.0.2/node_modules/mime-match/index.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/hasProperty.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/Translator.js","../../../node_modules/.pnpm/namespace-emitter@2.0.1/node_modules/namespace-emitter/index.js","../../../node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js","../../../node_modules/.pnpm/@uppy+store-default@2.1.1/node_modules/@uppy/store-default/lib/index.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/getFileNameAndExtension.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/mimeTypes.js","../../../node_modules/.pnpm/@uppy+core@2.3.4/node_modules/@uppy/core/lib/Uppy.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/getFileType.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/generateFileID.js","../../../node_modules/.pnpm/@uppy+core@2.3.4/node_modules/@uppy/core/lib/supportsUploadProgress.js","../../../node_modules/.pnpm/@uppy+core@2.3.4/node_modules/@uppy/core/lib/getFileName.js","../../../node_modules/.pnpm/@uppy+core@2.3.4/node_modules/@uppy/core/lib/locale.js","../../../node_modules/.pnpm/preact@10.27.2/node_modules/preact/dist/preact.module.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/findDOMElement.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/isDOMElement.js","../../../node_modules/.pnpm/@uppy+core@2.3.4/node_modules/@uppy/core/lib/BasePlugin.js","../../../node_modules/.pnpm/@uppy+core@2.3.4/node_modules/@uppy/core/lib/UIPlugin.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/getTextDirection.js","../../../node_modules/.pnpm/@uppy+core@2.3.4/node_modules/@uppy/core/lib/index.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/NetworkError.js","../../../node_modules/.pnpm/@uppy+companion-client@2.2.2/node_modules/@uppy/companion-client/lib/RequestClient.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/fetchWithNetworkError.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/ErrorWithCause.js","../../../node_modules/.pnpm/@uppy+companion-client@2.2.2/node_modules/@uppy/companion-client/lib/AuthError.js","../../../node_modules/.pnpm/@uppy+companion-client@2.2.2/node_modules/@uppy/companion-client/lib/tokenStorage.js","../../../node_modules/.pnpm/@uppy+companion-client@2.2.2/node_modules/@uppy/companion-client/lib/index.js","../../../node_modules/.pnpm/@uppy+companion-client@2.2.2/node_modules/@uppy/companion-client/lib/Provider.js","../../../node_modules/.pnpm/@uppy+companion-client@2.2.2/node_modules/@uppy/companion-client/lib/SearchProvider.js","../../../node_modules/.pnpm/@uppy+companion-client@2.2.2/node_modules/@uppy/companion-client/lib/Socket.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/RateLimitedQueue.js","../../../node_modules/.pnpm/@uppy+xhr-upload@2.1.3_@uppy+core@2.3.4/node_modules/@uppy/xhr-upload/lib/locale.js","../../../node_modules/.pnpm/@uppy+xhr-upload@2.1.3_@uppy+core@2.3.4/node_modules/@uppy/xhr-upload/lib/index.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/emitSocketProgress.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/getSocketHost.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/settle.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/EventTracker.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/ProgressTimeout.js","../../../node_modules/.pnpm/@uppy+utils@4.1.3/node_modules/@uppy/utils/lib/isNetworkError.js","../../../node_modules/.pnpm/lodash.foreach@4.5.0/node_modules/lodash.foreach/index.js","../../../node_modules/.pnpm/nanoid@5.1.6/node_modules/nanoid/index.browser.js","../../../node_modules/.pnpm/nanoid@5.1.6/node_modules/nanoid/url-alphabet/index.js","../../core/src/utils/util.ts","../../core/src/upload/createUppyUploader.ts","../../core/src/upload/createUploader.ts","../../../node_modules/.pnpm/slate@0.123.0/node_modules/slate/dist/index.es.js","../../../node_modules/.pnpm/slate-history@0.115.0_slate@0.123.0/node_modules/slate-history/dist/index.es.js","../../../node_modules/.pnpm/lodash.clonedeep@4.5.0/node_modules/lodash.clonedeep/index.js","../../core/src/utils/sanitize-html.ts","../../core/src/config/register.ts","../../core/src/config/interface.ts","../../core/src/menus/register.ts","../../core/src/utils/weak-maps.ts","../../core/src/editor/plugins/with-config.ts","../../core/src/constants/index.ts","../../../node_modules/.pnpm/ssr-window@4.0.2/node_modules/ssr-window/ssr-window.esm.js","../../../node_modules/.pnpm/dom7@4.0.6/node_modules/dom7/dom7.esm.js","../../../node_modules/.pnpm/html-void-elements@3.0.0/node_modules/html-void-elements/index.js","../../core/src/utils/dom.ts","../../core/src/parse-html/helper.ts","../../core/src/parse-html/index.ts","../../core/src/parse-html/parse-common-elem-html.ts","../../core/src/parse-html/parse-text-elem-html.ts","../../core/src/parse-html/parse-elem-html.ts","../../core/src/create/helper.ts","../../core/src/render/helper.ts","../../core/src/to-html/index.ts","../../core/src/to-html/elem2html.ts","../../../node_modules/.pnpm/lodash.toarray@4.4.0/node_modules/lodash.toarray/index.js","../../core/src/utils/key.ts","../../core/src/utils/ua.ts","../../core/src/editor/dom-editor.ts","../../core/src/to-html/node2html.ts","../../core/src/to-html/text2html.ts","../../core/src/utils/line.ts","../../core/src/editor/plugins/with-content.ts","../../core/src/editor/plugins/with-dom.ts","../../../node_modules/.pnpm/type@2.7.3/node_modules/type/value/is.js","../../../node_modules/.pnpm/type@2.7.3/node_modules/type/prototype/is.js","../../../node_modules/.pnpm/type@2.7.3/node_modules/type/object/is.js","../../../node_modules/.pnpm/type@2.7.3/node_modules/type/plain-function/is.js","../../../node_modules/.pnpm/type@2.7.3/node_modules/type/function/is.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/is-value.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/function/noop.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/keys/index.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/keys/is-implemented.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/keys/shim.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/assign/shim.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/valid-value.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/assign/index.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/assign/is-implemented.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/string/#/contains/index.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/string/#/contains/is-implemented.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/string/#/contains/shim.js","../../../node_modules/.pnpm/d@1.0.2/node_modules/d/index.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/normalize-options.js","../../../node_modules/.pnpm/event-emitter@0.3.5/node_modules/event-emitter/index.js","../../../node_modules/.pnpm/es5-ext@0.10.64/node_modules/es5-ext/object/valid-callable.js","../../core/src/editor/plugins/with-emitter.ts","../../core/src/editor/plugins/with-event-data.ts","../../core/src/editor/plugins/with-max-length.ts","../../core/src/menus/helpers/position.ts","../../core/src/editor/plugins/with-selection.ts","../../../node_modules/.pnpm/lodash.debounce@4.0.8/node_modules/lodash.debounce/index.js","../../../node_modules/.pnpm/i18next@23.16.8/node_modules/i18next/dist/esm/i18next.js","../../core/src/i18n/index.ts","../../core/src/menus/helpers/helpers.ts","../../core/src/constants/svg.ts","../../core/src/menus/bar-item/tooltip.ts","../../core/src/menus/bar-item/BaseButton.ts","../../core/src/menus/bar-item/SimpleButton.ts","../../core/src/menus/panel-and-modal/BaseClass.ts","../../core/src/menus/panel-and-modal/DropPanel.ts","../../core/src/menus/bar-item/DropPanelButton.ts","../../core/src/menus/panel-and-modal/Modal.ts","../../core/src/menus/bar-item/ModalButton.ts","../../core/src/menus/panel-and-modal/SelectList.ts","../../core/src/menus/bar-item/Select.ts","../../core/src/menus/bar-item/GroupButton.ts","../../core/src/menus/bar-item/index.ts","../../core/src/menus/bar/HoverBar.ts","../../core/src/text-area/helpers.ts","../../../node_modules/.pnpm/compute-scroll-into-view@3.1.1/node_modules/compute-scroll-into-view/dist/index.js","../../../node_modules/.pnpm/scroll-into-view-if-needed@3.1.0/node_modules/scroll-into-view-if-needed/dist/index.js","../../core/src/text-area/syncSelection.ts","../../core/src/text-area/event-handlers/composition.ts","../../../node_modules/.pnpm/is-hotkey@0.2.0/node_modules/is-hotkey/lib/index.js","../../core/src/utils/hotkeys.ts","../../core/src/text-area/event-handlers/keydown.ts","../../core/src/text-area/event-handlers/index.ts","../../core/src/text-area/event-handlers/beforeInput.ts","../../core/src/text-area/event-handlers/blur.ts","../../core/src/text-area/event-handlers/focus.ts","../../core/src/text-area/event-handlers/click.ts","../../core/src/text-area/place-holder.ts","../../core/src/text-area/event-handlers/keypress.ts","../../core/src/text-area/event-handlers/copy.ts","../../core/src/text-area/event-handlers/cut.ts","../../core/src/text-area/event-handlers/paste.ts","../../core/src/text-area/event-handlers/drag.ts","../../core/src/text-area/event-handlers/drop.ts","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/htmldomapi.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/vnode.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/is.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/init.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/h.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/modules/attributes.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/modules/class.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/modules/dataset.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/modules/eventlisteners.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/modules/props.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/modules/style.js","../../../node_modules/.pnpm/snabbdom@3.6.3/node_modules/snabbdom/build/jsx.js","../../core/src/render/index.ts","../../core/src/render/element/getRenderElem.tsx","../../core/src/render/element/renderElement.tsx","../../core/src/render/element/renderStyle.ts","../../core/src/render/text/genVnode.tsx","../../core/src/render/text/renderText.tsx","../../core/src/render/text/renderStyle.ts","../../core/src/render/node2Vnode.ts","../../../node_modules/.pnpm/lodash.camelcase@4.3.0/node_modules/lodash.camelcase/index.js","../../core/src/utils/vdom.ts","../../core/src/text-area/update-view.ts","../../core/src/text-area/TextArea.ts","../../core/src/create/bind-node-relation.ts","../../core/src/create/create-editor.ts","../../core/src/config/index.ts","../../core/src/menus/bar/Toolbar.ts","../../core/src/create/create-toolbar.ts","../../core/src/config/style-mode.ts","../src/locale/index.ts","../src/locale/en.ts","../src/locale/zh-CN.ts","../../basic-modules/src/locale/index.ts","../../basic-modules/src/locale/en.ts","../../basic-modules/src/locale/zh-CN.ts","../../basic-modules/src/modules/blockquote/elem-to-html.ts","../../basic-modules/src/constants/icon-svg.ts","../../basic-modules/src/modules/blockquote/menu/BlockquoteMenu.ts","../../basic-modules/src/modules/blockquote/menu/index.ts","../../basic-modules/src/utils/dom.ts","../../basic-modules/src/modules/blockquote/parse-elem-html.ts","../../basic-modules/src/modules/blockquote/plugin.ts","../../basic-modules/src/modules/blockquote/render-elem.tsx","../../basic-modules/src/modules/blockquote/index.ts","../../basic-modules/src/modules/code-block/elem-to-html.ts","../../basic-modules/src/modules/code-block/menu/CodeBlockMenu.ts","../../basic-modules/src/modules/code-block/parse-elem-html.ts","../../basic-modules/src/modules/code-block/render-elem.tsx","../../basic-modules/src/modules/code-block/index.ts","../../basic-modules/src/modules/code-block/menu/index.ts","../../basic-modules/src/modules/code-block/plugin.ts","../../basic-modules/src/modules/code-block/pre-parse-html.ts","../../basic-modules/src/modules/color/menu/BaseMenu.ts","../../basic-modules/src/modules/color/menu/BgColorMenu.ts","../../basic-modules/src/modules/color/menu/ColorMenu.ts","../../basic-modules/src/modules/color/menu/config.ts","../../basic-modules/src/modules/color/menu/index.ts","../../basic-modules/src/utils/vdom.ts","../../basic-modules/src/utils/style-class.ts","../../basic-modules/src/modules/font-size-family/menu/config.ts","../../basic-modules/src/modules/line-height/menu/config.ts","../../basic-modules/src/modules/color/pre-parse-html.ts","../../basic-modules/src/modules/color/index.ts","../../basic-modules/src/modules/color/render-style.tsx","../../basic-modules/src/modules/color/style-to-html.ts","../../basic-modules/src/modules/color/parse-style-html.ts","../../basic-modules/src/modules/common/menu/EnterMenu.ts","../../basic-modules/src/modules/common/index.ts","../../basic-modules/src/modules/common/menu/index.ts","../../basic-modules/src/modules/divider/elem-to-html.ts","../../basic-modules/src/modules/divider/menu/InsertDividerMenu.ts","../../basic-modules/src/modules/divider/render-elem.tsx","../../basic-modules/src/modules/divider/index.ts","../../basic-modules/src/modules/divider/parse-elem-html.ts","../../basic-modules/src/modules/divider/menu/index.ts","../../basic-modules/src/modules/divider/plugin.ts","../../basic-modules/src/modules/emotion/menu/EmotionMenu.ts","../../basic-modules/src/modules/emotion/index.ts","../../basic-modules/src/modules/emotion/menu/index.ts","../../basic-modules/src/modules/emotion/menu/config.ts","../../basic-modules/src/modules/font-size-family/menu/BaseMenu.ts","../../basic-modules/src/modules/font-size-family/menu/FontFamilyMenu.ts","../../basic-modules/src/modules/font-size-family/menu/FontSizeMenu.ts","../../basic-modules/src/modules/font-size-family/pre-parse-html.ts","../../basic-modules/src/modules/font-size-family/index.ts","../../basic-modules/src/modules/font-size-family/render-style.tsx","../../basic-modules/src/modules/font-size-family/style-to-html.ts","../../basic-modules/src/modules/font-size-family/parse-style-html.ts","../../basic-modules/src/modules/font-size-family/menu/index.ts","../../basic-modules/src/modules/format-painter/menu/FormatPainter.ts","../../basic-modules/src/modules/format-painter/helper.ts","../../basic-modules/src/modules/format-painter/index.ts","../../basic-modules/src/modules/format-painter/menu/index.ts","../../basic-modules/src/modules/format-painter/plugin.ts","../../basic-modules/src/modules/full-screen/menu/FullScreen.ts","../../basic-modules/src/modules/full-screen/index.ts","../../basic-modules/src/modules/full-screen/menu/index.ts","../../basic-modules/src/modules/header/elem-to-html.ts","../../basic-modules/src/modules/header/helper.ts","../../basic-modules/src/modules/header/menu/HeaderButtonMenuBase.ts","../../basic-modules/src/modules/header/menu/Header1ButtonMenu.ts","../../basic-modules/src/modules/header/menu/Header2ButtonMenu.ts","../../basic-modules/src/modules/header/menu/Header3ButtonMenu.ts","../../basic-modules/src/modules/header/menu/Header4ButtonMenu.ts","../../basic-modules/src/modules/header/menu/Header5ButtonMenu.ts","../../basic-modules/src/modules/header/menu/Header6ButtonMenu.ts","../../basic-modules/src/modules/header/menu/HeaderSelectMenu.ts","../../basic-modules/src/modules/header/menu/index.ts","../../basic-modules/src/modules/header/parse-elem-html.ts","../../basic-modules/src/modules/header/render-elem.tsx","../../basic-modules/src/modules/header/index.ts","../../basic-modules/src/modules/header/plugin.ts","../../basic-modules/src/modules/image/elem-to-html.ts","../../basic-modules/src/modules/image/menu/DeleteImage.ts","../../basic-modules/src/utils/util.ts","../../basic-modules/src/modules/image/helper.ts","../../basic-modules/src/modules/image/menu/EditImage.ts","../../basic-modules/src/modules/image/menu/EditImageSizeMenu.ts","../../basic-modules/src/modules/image/menu/InsertImage.ts","../../basic-modules/src/modules/image/menu/ViewImageLink.ts","../../basic-modules/src/modules/image/menu/WidthBase.ts","../../basic-modules/src/modules/image/menu/Width30.ts","../../basic-modules/src/modules/image/menu/Width50.ts","../../basic-modules/src/modules/image/menu/Width100.ts","../../basic-modules/src/modules/image/menu/index.ts","../../basic-modules/src/modules/image/menu/config.ts","../../basic-modules/src/modules/image/render-elem.tsx","../../basic-modules/src/modules/image/index.ts","../../basic-modules/src/modules/image/parse-elem-html.ts","../../basic-modules/src/modules/image/plugin.ts","../../basic-modules/src/modules/indent/menu/BaseMenu.ts","../../basic-modules/src/modules/indent/menu/DecreaseIndentMenu.ts","../../basic-modules/src/modules/indent/menu/IncreaseIndentMenu.ts","../../basic-modules/src/modules/indent/index.ts","../../basic-modules/src/modules/indent/render-style.tsx","../../basic-modules/src/modules/indent/style-to-html.ts","../../basic-modules/src/modules/indent/pre-parse-html.ts","../../basic-modules/src/modules/indent/parse-style-html.ts","../../basic-modules/src/modules/indent/menu/index.ts","../../basic-modules/src/modules/justify/menu/BaseMenu.ts","../../basic-modules/src/modules/justify/menu/JustifyCenterMenu.ts","../../basic-modules/src/modules/justify/menu/JustifyJustifyMenu.ts","../../basic-modules/src/modules/justify/menu/JustifyLeftMenu.ts","../../basic-modules/src/modules/justify/menu/JustifyRightMenu.ts","../../basic-modules/src/modules/justify/index.ts","../../basic-modules/src/modules/justify/render-style.tsx","../../basic-modules/src/modules/justify/style-to-html.ts","../../basic-modules/src/modules/justify/parse-style-html.ts","../../basic-modules/src/modules/justify/menu/index.ts","../../basic-modules/src/modules/line-height/menu/LineHeightMenu.ts","../../basic-modules/src/modules/line-height/index.ts","../../basic-modules/src/modules/line-height/render-style.tsx","../../basic-modules/src/modules/line-height/style-to-html.ts","../../basic-modules/src/modules/line-height/parse-style-html.ts","../../basic-modules/src/modules/line-height/menu/index.ts","../../basic-modules/src/modules/link/elem-to-html.ts","../../basic-modules/src/modules/link/url.ts","../../basic-modules/src/modules/link/helper.ts","../../basic-modules/src/modules/link/menu/EditLink.ts","../../basic-modules/src/modules/link/menu/InsertLink.ts","../../basic-modules/src/modules/link/menu/UnLink.ts","../../basic-modules/src/modules/link/menu/ViewLink.ts","../../basic-modules/src/modules/link/menu/index.ts","../../basic-modules/src/modules/link/menu/config.ts","../../basic-modules/src/modules/link/parse-elem-html.ts","../../../node_modules/.pnpm/is-url@1.2.4/node_modules/is-url/index.js","../../basic-modules/src/modules/link/render-elem.tsx","../../basic-modules/src/modules/link/index.ts","../../basic-modules/src/modules/link/plugin.ts","../../basic-modules/src/modules/paragraph/parse-elem-html.ts","../../basic-modules/src/modules/paragraph/plugin.ts","../../basic-modules/src/modules/paragraph/render-elem.tsx","../../basic-modules/src/modules/paragraph/index.ts","../../basic-modules/src/modules/paragraph/elem-to-html.ts","../../basic-modules/src/modules/text-style/helper.ts","../../basic-modules/src/modules/text-style/menu/BaseMenu.ts","../../basic-modules/src/modules/text-style/menu/BoldMenu.ts","../../basic-modules/src/modules/text-style/menu/ClearStyleMenu.ts","../../basic-modules/src/modules/text-style/menu/CodeMenu.ts","../../basic-modules/src/modules/text-style/menu/ItalicMenu.ts","../../basic-modules/src/modules/text-style/menu/SubMenu.ts","../../basic-modules/src/modules/text-style/menu/SupMenu.ts","../../basic-modules/src/modules/text-style/menu/ThroughMenu.ts","../../basic-modules/src/modules/text-style/menu/UnderlineMenu.ts","../../basic-modules/src/modules/text-style/parse-style-html.ts","../../basic-modules/src/modules/text-style/style-to-html.ts","../../basic-modules/src/modules/text-style/index.ts","../../basic-modules/src/modules/text-style/render-style.tsx","../../basic-modules/src/modules/text-style/menu/index.ts","../../basic-modules/src/modules/todo/elem-to-html.ts","../../basic-modules/src/modules/todo/menu/Todo.ts","../../basic-modules/src/modules/todo/parse-elem-html.ts","../../basic-modules/src/modules/todo/render-elem.tsx","../../basic-modules/src/modules/todo/index.ts","../../basic-modules/src/modules/todo/pre-parse-html.ts","../../basic-modules/src/modules/todo/menu/index.ts","../../basic-modules/src/modules/todo/plugin.ts","../../basic-modules/src/modules/undo-redo/menu/RedoMenu.ts","../../basic-modules/src/modules/undo-redo/menu/UndoMenu.ts","../../basic-modules/src/index.ts","../../basic-modules/src/modules/undo-redo/index.ts","../../basic-modules/src/modules/undo-redo/menu/index.ts","../../code-highlight/src/locale/index.ts","../../code-highlight/src/locale/en.ts","../../code-highlight/src/locale/zh-CN.ts","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/prism.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-jsx.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-typescript.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markup.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-go.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-php.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-c.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-python.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-java.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-cpp.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-csharp.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-visual-basic.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-sql.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-ruby.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-swift.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-bash.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-markdown.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-lua.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-groovy.js","../../../node_modules/.pnpm/prismjs@1.30.0/node_modules/prismjs/components/prism-abap.js","../../code-highlight/src/vendor/prism.ts","../../code-highlight/src/decorate/index.ts","../../code-highlight/src/module/elem-to-html.ts","../../code-highlight/src/constants/svg.ts","../../code-highlight/src/module/menu/SelectLangMenu.ts","../../code-highlight/src/module/menu/index.ts","../../code-highlight/src/module/menu/config.ts","../../code-highlight/src/utils/dom.ts","../../code-highlight/src/module/index.ts","../../code-highlight/src/module/render-style.tsx","../../code-highlight/src/utils/vdom.ts","../../code-highlight/src/module/parse-style-html.ts","../../list-module/src/locale/index.ts","../../list-module/src/locale/en.ts","../../list-module/src/locale/zh-CN.ts","../../list-module/src/utils/maps.ts","../../list-module/src/utils/util.ts","../../list-module/src/module/helpers.ts","../../list-module/src/module/style-class.ts","../../list-module/src/module/elem-to-html.ts","../../list-module/src/module/menu/BaseMenu.ts","../../list-module/src/module/menu/BulletedListMenu.ts","../../list-module/src/constants/svg.ts","../../list-module/src/module/menu/NumberedListMenu.ts","../../list-module/src/module/menu/index.ts","../../list-module/src/utils/dom.ts","../../list-module/src/module/parse-elem-html.ts","../../list-module/src/module/plugin.ts","../../list-module/src/module/render-elem.tsx","../../list-module/src/module/index.ts","../../table-module/src/locale/index.ts","../../table-module/src/locale/en.ts","../../table-module/src/locale/zh-CN.ts","../../table-module/src/module/elem-to-html.ts","../../table-module/src/constants/svg.ts","../../table-module/src/utils/options.ts","../../table-module/src/utils/is-of-type.ts","../../table-module/src/utils/has-common.ts","../../table-module/src/utils/matrices.ts","../../table-module/src/utils/point.ts","../../table-module/src/utils/dom.ts","../../table-module/src/module/weak-maps.ts","../../table-module/src/module/menu/TableProperty.ts","../../table-module/src/module/menu/CellProperty.ts","../../table-module/src/module/menu/DeleteCol.ts","../../table-module/src/module/menu/DeleteRow.ts","../../table-module/src/module/menu/DeleteTable.ts","../../table-module/src/module/menu/FullWidth.ts","../../table-module/src/module/helpers.ts","../../table-module/src/module/menu/InsertCol.ts","../../table-module/src/module/menu/InsertRow.ts","../../table-module/src/module/menu/InsertTable.ts","../../table-module/src/module/table-cursor.ts","../../table-module/src/module/menu/MergeCell.ts","../../table-module/src/module/menu/SplitCell.ts","../../table-module/src/module/menu/TableHeader.ts","../../table-module/src/module/menu/index.ts","../../table-module/src/module/parse-elem-html.ts","../../table-module/src/module/parse-style-html.ts","../../table-module/src/module/plugin.ts","../../table-module/src/module/pre-parse-html.ts","../../table-module/src/module/column-resize.ts","../../table-module/src/module/row-resize.ts","../../table-module/src/module/render-elem/index.ts","../../table-module/src/module/render-elem/render-table.tsx","../../table-module/src/module/render-elem/render-row.tsx","../../table-module/src/module/render-elem/render-cell.tsx","../../table-module/src/utils/vdom.ts","../../table-module/src/module/style-to-html.ts","../../table-module/src/module/index.ts","../../table-module/src/module/render-style.ts","../../table-module/src/module/with-selection.ts","../../upload-image-module/src/locale/index.ts","../../upload-image-module/src/locale/en.ts","../../upload-image-module/src/locale/zh-CN.ts","../../upload-image-module/src/utils/dom.ts","../../upload-image-module/src/module/upload-images.ts","../../upload-image-module/src/module/menu/UploadImageMenu.ts","../../upload-image-module/src/constants/svg.ts","../../upload-image-module/src/module/index.ts","../../upload-image-module/src/module/menu/index.ts","../../upload-image-module/src/module/menu/config.ts","../../upload-image-module/src/module/plugin.ts","../../video-module/src/utils/dom.ts","../../video-module/src/locale/index.ts","../../video-module/src/locale/en.ts","../../video-module/src/locale/zh-CN.ts","../../video-module/src/module/elem-to-html.ts","../../video-module/src/utils/util.ts","../../video-module/src/module/menu/EditVideoSizeMenu.ts","../../video-module/src/module/menu/EditVideoSrcMenu.ts","../../video-module/src/constants/svg.ts","../../video-module/src/module/helper/insert-video.ts","../../video-module/src/module/menu/InsertVideoMenu.ts","../../video-module/src/module/helper/upload-videos.ts","../../video-module/src/module/menu/UploadVideoMenu.ts","../../video-module/src/module/parse-elem-html.ts","../../video-module/src/module/pre-parse-html.ts","../../video-module/src/module/render-elem.tsx","../../video-module/src/module/index.ts","../../video-module/src/module/menu/index.ts","../../video-module/src/module/menu/config.ts","../../video-module/src/module/plugin.ts","../src/Boot.ts","../src/register-builtin-modules/register.ts","../src/register-builtin-modules/index.ts","../src/constants/svg.ts","../src/init-default-config/config/hoverbar.ts","../src/init-default-config/index.ts","../src/init-default-config/config/index.ts","../src/init-default-config/config/toolbar.ts","../src/create.ts","../src/index.ts"],"sourcesContent":["/**\n * @description browser polyfill\n * @author wangfupeng\n */\n\n// @ts-nocheck\n\n// 必须是浏览器环境\nif (typeof global === 'undefined') {\n // 检查 IE 浏览器\n if ('ActiveXObject' in window) {\n let info = '抱歉,wangEditor V5+ 版本开始,不在支持 IE 浏览器'\n info += '\\n Sorry, wangEditor V5+ versions do not support IE browser.'\n console.error(info)\n }\n\n globalThisPolyfill()\n AggregateErrorPolyfill()\n} else if (global && global.navigator?.userAgent.match('QQBrowser')) {\n // 兼容 QQ 浏览器 AggregateError 报错\n globalThisPolyfill()\n AggregateErrorPolyfill()\n}\n\nfunction globalThisPolyfill() {\n // 部分浏览器不支持 globalThis\n if (typeof globalThis === 'undefined') {\n // @ts-ignore\n window.globalThis = window\n }\n}\n\nfunction AggregateErrorPolyfill() {\n if (typeof AggregateError === 'undefined') {\n window.AggregateError = function (errors, msg) {\n const err = new Error(msg)\n err.errors = errors\n return err\n }\n }\n}\n","/**\n * @description node polyfill\n * @author wangfupeng\n */\n\n// @ts-nocheck\n\n// 必须是 node 环境\nif (typeof global === 'object') {\n // 用于 nodejs ,避免报错\n const globalProperty = Object.getOwnPropertyDescriptor(global, 'window')\n\n // global.window 为空则直接写入\n // 部分框架下已经定义了global.window且是不可写属性\n if (!global.window || globalProperty.set) {\n global.window = global\n global.requestAnimationFrame = () => {}\n global.navigator = {\n userAgent: '',\n }\n global.location = {\n hostname: '0.0.0.0',\n port: 0,\n protocol: 'http:',\n }\n global.btoa = () => {}\n global.crypto = {\n getRandomValues: function (buffer: any) {\n return nodeCrypto.randomFillSync(buffer)\n },\n }\n }\n\n if (global.document != null) {\n // SSR 环境下可能会报错 (issue 4409)\n if (global.document.getElementsByTagName == null) {\n global.document.getElementsByTagName = () => []\n }\n }\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.justErrorsLogger = exports.debugLogger = void 0;\n\n/* eslint-disable no-console */\nconst getTimeStamp = require(\"@uppy/utils/lib/getTimeStamp\"); // Swallow all logs, except errors.\n// default if logger is not set or debug: false\n\n\nconst justErrorsLogger = {\n debug: () => {},\n warn: () => {},\n error: function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return console.error(`[Uppy] [${getTimeStamp()}]`, ...args);\n }\n}; // Print logs to console with namespace + timestamp,\n// set by logger: Uppy.debugLogger or debug: true\n\nexports.justErrorsLogger = justErrorsLogger;\nconst debugLogger = {\n debug: function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return console.debug(`[Uppy] [${getTimeStamp()}]`, ...args);\n },\n warn: function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return console.warn(`[Uppy] [${getTimeStamp()}]`, ...args);\n },\n error: function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return console.error(`[Uppy] [${getTimeStamp()}]`, ...args);\n }\n};\nexports.debugLogger = debugLogger;","\"use strict\";\n\n/**\n * Adds zero to strings shorter than two characters.\n *\n * @param {number} number\n * @returns {string}\n */\nfunction pad(number) {\n return number < 10 ? `0${number}` : number.toString();\n}\n/**\n * Returns a timestamp in the format of `hours:minutes:seconds`\n */\n\n\nfunction getTimeStamp() {\n const date = new Date();\n const hours = pad(date.getHours());\n const minutes = pad(date.getMinutes());\n const seconds = pad(date.getSeconds());\n return `${hours}:${minutes}:${seconds}`;\n}\n\nmodule.exports = getTimeStamp;","// This alphabet uses `A-Za-z0-9_-` symbols.\n// The order of characters is optimized for better gzip and brotli compression.\n// References to the same file (works both for gzip and brotli):\n// `'use`, `andom`, and `rict'`\n// References to the brotli default dictionary:\n// `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf`\nlet urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n\nlet customAlphabet = (alphabet, defaultSize = 21) => {\n return (size = defaultSize) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += alphabet[(Math.random() * alphabet.length) | 0]\n }\n return id\n }\n}\n\nlet nanoid = (size = 21) => {\n let id = ''\n // A compact alternative for `for (var i = 0; i < step; i++)`.\n let i = size | 0\n while (i--) {\n // `| 0` is more compact and faster than `Math.floor()`.\n id += urlAlphabet[(Math.random() * 64) | 0]\n }\n return id\n}\n\nmodule.exports = { nanoid, customAlphabet }\n","// Adapted from https://github.com/Flet/prettier-bytes/\n// Changing 1000 bytes to 1024, so we can keep uppercase KB vs kB\n// ISC License (c) Dan Flettre https://github.com/Flet/prettier-bytes/blob/master/LICENSE\nmodule.exports = function prettierBytes (num) {\n if (typeof num !== 'number' || isNaN(num)) {\n throw new TypeError('Expected a number, got ' + typeof num)\n }\n\n var neg = num < 0\n var units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n\n if (neg) {\n num = -num\n }\n\n if (num < 1) {\n return (neg ? '-' : '') + num + ' B'\n }\n\n var exponent = Math.min(Math.floor(Math.log(num) / Math.log(1024)), units.length - 1)\n num = Number(num / Math.pow(1024, exponent))\n var unit = units[exponent]\n\n if (num >= 10 || num % 1 === 0) {\n // Do not show decimals when the number is two-digit, or if the number has no\n // decimal component.\n return (neg ? '-' : '') + num.toFixed(0) + ' ' + unit\n } else {\n return (neg ? '-' : '') + num.toFixed(1) + ' ' + unit\n }\n}\n","/* jshint node: true */\n'use strict';\n\n/**\n # wildcard\n\n Very simple wildcard matching, which is designed to provide the same\n functionality that is found in the\n [eve](https://github.com/adobe-webplatform/eve) eventing library.\n\n ## Usage\n\n It works with strings:\n\n <<< examples/strings.js\n\n Arrays:\n\n <<< examples/arrays.js\n\n Objects (matching against keys):\n\n <<< examples/objects.js\n\n While the library works in Node, if you are are looking for file-based\n wildcard matching then you should have a look at:\n\n <https://github.com/isaacs/node-glob>\n**/\n\nfunction WildcardMatcher(text, separator) {\n this.text = text = text || '';\n this.hasWild = ~text.indexOf('*');\n this.separator = separator;\n this.parts = text.split(separator);\n}\n\nWildcardMatcher.prototype.match = function(input) {\n var matches = true;\n var parts = this.parts;\n var ii;\n var partsCount = parts.length;\n var testParts;\n\n if (typeof input == 'string' || input instanceof String) {\n if (!this.hasWild && this.text != input) {\n matches = false;\n } else {\n testParts = (input || '').split(this.separator);\n for (ii = 0; matches && ii < partsCount; ii++) {\n if (parts[ii] === '*') {\n continue;\n } else if (ii < testParts.length) {\n matches = parts[ii] === testParts[ii];\n } else {\n matches = false;\n }\n }\n\n // If matches, then return the component parts\n matches = matches && testParts;\n }\n }\n else if (typeof input.splice == 'function') {\n matches = [];\n\n for (ii = input.length; ii--; ) {\n if (this.match(input[ii])) {\n matches[matches.length] = input[ii];\n }\n }\n }\n else if (typeof input == 'object') {\n matches = {};\n\n for (var key in input) {\n if (this.match(key)) {\n matches[key] = input[key];\n }\n }\n }\n\n return matches;\n};\n\nmodule.exports = function(text, test, separator) {\n var matcher = new WildcardMatcher(text, separator || /[\\/\\.]/);\n if (typeof test != 'undefined') {\n return matcher.match(test);\n }\n\n return matcher;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.defaultOptions = exports.RestrictionError = exports.Restricter = void 0;\n\n/* eslint-disable max-classes-per-file, class-methods-use-this */\n\n/* global AggregateError */\nconst prettierBytes = require(\"@transloadit/prettier-bytes\");\n\nconst match = require(\"mime-match\");\n\nconst defaultOptions = {\n maxFileSize: null,\n minFileSize: null,\n maxTotalFileSize: null,\n maxNumberOfFiles: null,\n minNumberOfFiles: null,\n allowedFileTypes: null,\n requiredMetaFields: []\n};\nexports.defaultOptions = defaultOptions;\n\nclass RestrictionError extends Error {\n constructor() {\n super(...arguments);\n this.isRestriction = true;\n }\n\n}\n\nexports.RestrictionError = RestrictionError;\n\nif (typeof AggregateError === 'undefined') {\n // eslint-disable-next-line no-global-assign\n // TODO: remove this \"polyfill\" in the next major.\n globalThis.AggregateError = class AggregateError extends Error {\n constructor(errors, message) {\n super(message);\n this.errors = errors;\n }\n\n };\n}\n\nclass Restricter {\n constructor(getOpts, i18n) {\n this.i18n = i18n;\n\n this.getOpts = () => {\n const opts = getOpts();\n\n if (opts.restrictions.allowedFileTypes != null && !Array.isArray(opts.restrictions.allowedFileTypes)) {\n throw new TypeError('`restrictions.allowedFileTypes` must be an array');\n }\n\n return opts;\n };\n }\n\n validate(file, files) {\n const {\n maxFileSize,\n minFileSize,\n maxTotalFileSize,\n maxNumberOfFiles,\n allowedFileTypes\n } = this.getOpts().restrictions;\n\n if (maxNumberOfFiles) {\n const nonGhostFiles = files.filter(f => !f.isGhost);\n\n if (nonGhostFiles.length + 1 > maxNumberOfFiles) {\n throw new RestrictionError(`${this.i18n('youCanOnlyUploadX', {\n smart_count: maxNumberOfFiles\n })}`);\n }\n }\n\n if (allowedFileTypes) {\n const isCorrectFileType = allowedFileTypes.some(type => {\n // check if this is a mime-type\n if (type.includes('/')) {\n if (!file.type) return false;\n return match(file.type.replace(/;.*?$/, ''), type);\n } // otherwise this is likely an extension\n\n\n if (type[0] === '.' && file.extension) {\n return file.extension.toLowerCase() === type.slice(1).toLowerCase();\n }\n\n return false;\n });\n\n if (!isCorrectFileType) {\n const allowedFileTypesString = allowedFileTypes.join(', ');\n throw new RestrictionError(this.i18n('youCanOnlyUploadFileTypes', {\n types: allowedFileTypesString\n }));\n }\n } // We can't check maxTotalFileSize if the size is unknown.\n\n\n if (maxTotalFileSize && file.size != null) {\n const totalFilesSize = files.reduce((total, f) => total + f.size, file.size);\n\n if (totalFilesSize > maxTotalFileSize) {\n throw new RestrictionError(this.i18n('exceedsSize', {\n size: prettierBytes(maxTotalFileSize),\n file: file.name\n }));\n }\n } // We can't check maxFileSize if the size is unknown.\n\n\n if (maxFileSize && file.size != null && file.size > maxFileSize) {\n throw new RestrictionError(this.i18n('exceedsSize', {\n size: prettierBytes(maxFileSize),\n file: file.name\n }));\n } // We can't check minFileSize if the size is unknown.\n\n\n if (minFileSize && file.size != null && file.size < minFileSize) {\n throw new RestrictionError(this.i18n('inferiorSize', {\n size: prettierBytes(minFileSize)\n }));\n }\n }\n\n validateMinNumberOfFiles(files) {\n const {\n minNumberOfFiles\n } = this.getOpts().restrictions;\n\n if (Object.keys(files).length < minNumberOfFiles) {\n throw new RestrictionError(this.i18n('youHaveToAtLeastSelectX', {\n smart_count: minNumberOfFiles\n }));\n }\n }\n\n getMissingRequiredMetaFields(file) {\n const error = new RestrictionError(this.i18n('missingRequiredMetaFieldOnFile', {\n fileName: file.name\n }));\n const {\n requiredMetaFields\n } = this.getOpts().restrictions; // TODO: migrate to Object.hasOwn in the next major.\n\n const own = Object.prototype.hasOwnProperty;\n const missingFields = [];\n\n for (const field of requiredMetaFields) {\n if (!own.call(file.meta, field) || file.meta[field] === '') {\n missingFields.push(field);\n }\n }\n\n return {\n missingFields,\n error\n };\n }\n\n}\n\nexports.Restricter = Restricter;","var wildcard = require('wildcard');\nvar reMimePartSplit = /[\\/\\+\\.]/;\n\n/**\n # mime-match\n\n A simple function to checker whether a target mime type matches a mime-type\n pattern (e.g. image/jpeg matches image/jpeg OR image/*).\n\n ## Example Usage\n\n <<< example.js\n\n**/\nmodule.exports = function(target, pattern) {\n function test(pattern) {\n var result = wildcard(pattern, target, reMimePartSplit);\n\n // ensure that we have a valid mime type (should have two parts)\n return result && result.length >= 2;\n }\n\n return pattern ? test(pattern.split(';')[0]) : test;\n};\n","\"use strict\";\n\nfunction has(object, key) {\n return Object.prototype.hasOwnProperty.call(object, key);\n}\n\nmodule.exports = has;","\"use strict\";\n\nfunction _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError(\"attempted to use private field on non-instance\"); } return receiver; }\n\nvar id = 0;\n\nfunction _classPrivateFieldLooseKey(name) { return \"__private_\" + id++ + \"_\" + name; }\n\nconst has = require(\"./hasProperty.js\");\n\nfunction insertReplacement(source, rx, replacement) {\n const newParts = [];\n source.forEach(chunk => {\n // When the source contains multiple placeholders for interpolation,\n // we should ignore chunks that are not strings, because those\n // can be JSX objects and will be otherwise incorrectly turned into strings.\n // Without this condition we’d get this: [object Object] hello [object Object] my <button>\n if (typeof chunk !== 'string') {\n return newParts.push(chunk);\n }\n\n return rx[Symbol.split](chunk).forEach((raw, i, list) => {\n if (raw !== '') {\n newParts.push(raw);\n } // Interlace with the `replacement` value\n\n\n if (i < list.length - 1) {\n newParts.push(replacement);\n }\n });\n });\n return newParts;\n}\n/**\n * Takes a string with placeholder variables like `%{smart_count} file selected`\n * and replaces it with values from options `{smart_count: 5}`\n *\n * @license https://github.com/airbnb/polyglot.js/blob/master/LICENSE\n * taken from https://github.com/airbnb/polyglot.js/blob/master/lib/polyglot.js#L299\n *\n * @param {string} phrase that needs interpolation, with placeholders\n * @param {object} options with values that will be used to replace placeholders\n * @returns {any[]} interpolated\n */\n\n\nfunction interpolate(phrase, options) {\n const dollarRegex = /\\$/g;\n const dollarBillsYall = '$$$$';\n let interpolated = [phrase];\n if (options == null) return interpolated;\n\n for (const arg of Object.keys(options)) {\n if (arg !== '_') {\n // Ensure replacement value is escaped to prevent special $-prefixed\n // regex replace tokens. the \"$$$$\" is needed because each \"$\" needs to\n // be escaped with \"$\" itself, and we need two in the resulting output.\n let replacement = options[arg];\n\n if (typeof replacement === 'string') {\n replacement = dollarRegex[Symbol.replace](replacement, dollarBillsYall);\n } // We create a new `RegExp` each time instead of using a more-efficient\n // string replace so that the same argument can be replaced multiple times\n // in the same phrase.\n\n\n interpolated = insertReplacement(interpolated, new RegExp(`%\\\\{${arg}\\\\}`, 'g'), replacement);\n }\n }\n\n return interpolated;\n}\n/**\n * Translates strings with interpolation & pluralization support.\n * Extensible with custom dictionaries and pluralization functions.\n *\n * Borrows heavily from and inspired by Polyglot https://github.com/airbnb/polyglot.js,\n * basically a stripped-down version of it. Differences: pluralization functions are not hardcoded\n * and can be easily added among with dictionaries, nested objects are used for pluralization\n * as opposed to `||||` delimeter\n *\n * Usage example: `translator.translate('files_chosen', {smart_count: 3})`\n */\n\n\nvar _apply = /*#__PURE__*/_classPrivateFieldLooseKey(\"apply\");\n\nclass Translator {\n /**\n * @param {object|Array<object>} locales - locale or list of locales.\n */\n constructor(locales) {\n Object.defineProperty(this, _apply, {\n value: _apply2\n });\n this.locale = {\n strings: {},\n\n pluralize(n) {\n if (n === 1) {\n return 0;\n }\n\n return 1;\n }\n\n };\n\n if (Array.isArray(locales)) {\n locales.forEach(_classPrivateFieldLooseBase(this, _apply)[_apply], this);\n } else {\n _classPrivateFieldLooseBase(this, _apply)[_apply](locales);\n }\n }\n\n /**\n * Public translate method\n *\n * @param {string} key\n * @param {object} options with values that will be used later to replace placeholders in string\n * @returns {string} translated (and interpolated)\n */\n translate(key, options) {\n return this.translateArray(key, options).join('');\n }\n /**\n * Get a translation and return the translated and interpolated parts as an array.\n *\n * @param {string} key\n * @param {object} options with values that will be used to replace placeholders\n * @returns {Array} The translated and interpolated parts, in order.\n */\n\n\n translateArray(key, options) {\n if (!has(this.locale.strings, key)) {\n throw new Error(`missing string: ${key}`);\n }\n\n const string = this.locale.strings[key];\n const hasPluralForms = typeof string === 'object';\n\n if (hasPluralForms) {\n if (options && typeof options.smart_count !== 'undefined') {\n const plural = this.locale.pluralize(options.smart_count);\n return interpolate(string[plural], options);\n }\n\n throw new Error('Attempted to use a string with plural forms, but no value was given for %{smart_count}');\n }\n\n return interpolate(string, options);\n }\n\n}\n\nfunction _apply2(locale) {\n if (!(locale != null && locale.strings)) {\n return;\n }\n\n const prevLocale = this.locale;\n this.locale = { ...prevLocale,\n strings: { ...prevLocale.strings,\n ...locale.strings\n }\n };\n this.locale.pluralize = locale.pluralize || prevLocale.pluralize;\n}\n\nmodule.exports = Translator;","/**\n* Create an event emitter with namespaces\n* @name createNamespaceEmitter\n* @example\n* var emitter = require('./index')()\n*\n* emitter.on('*', function () {\n* console.log('all events emitted', this.event)\n* })\n*\n* emitter.on('example', function () {\n* console.log('example event emitted')\n* })\n*/\nmodule.exports = function createNamespaceEmitter () {\n var emitter = {}\n var _fns = emitter._fns = {}\n\n /**\n * Emit an event. Optionally namespace the event. Handlers are fired in the order in which they were added with exact matches taking precedence. Separate the namespace and event with a `:`\n * @name emit\n * @param {String} event – the name of the event, with optional namespace\n * @param {...*} data – up to 6 arguments that are passed to the event listener\n * @example\n * emitter.emit('example')\n * emitter.emit('demo:test')\n * emitter.emit('data', { example: true}, 'a string', 1)\n */\n emitter.emit = function emit (event, arg1, arg2, arg3, arg4, ar