@vtx/components 3.1.76 → 3.1.78
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/lib/_util/filterSpecialCharacters.js +44 -55
- package/lib/_util/filterSpecialCharacters.js.map +1 -1
- package/lib/_util/getComponentProps.js +4 -1
- package/lib/_util/getComponentProps.js.map +1 -1
- package/lib/_util/getToken.js +15 -7
- package/lib/_util/getToken.js.map +1 -1
- package/lib/_util/getUrlParam.js +8 -1
- package/lib/_util/getUrlParam.js.map +1 -1
- package/lib/_util/isFunction.js +1 -0
- package/lib/_util/isFunction.js.map +1 -1
- package/lib/_util/isObject.js +1 -0
- package/lib/_util/isObject.js.map +1 -1
- package/lib/_util/useColSize.js +12 -2
- package/lib/_util/useColSize.js.map +1 -1
- package/lib/_util/useInterval.js +3 -0
- package/lib/_util/useInterval.js.map +1 -1
- package/lib/_util/useSet.js +39 -23
- package/lib/_util/useSet.js.map +1 -1
- package/lib/config.js +2 -1
- package/lib/config.js.map +1 -1
- package/lib/index.js +29 -0
- package/lib/index.js.map +1 -1
- package/lib/style/index.less +2 -2
- package/lib/style/themes/compact.less +1 -1
- package/lib/style/themes/dark.less +9 -9
- package/lib/style/themes/default.less +7 -7
- package/lib/style/themes/index.less +1 -1
- package/lib/style/themes/variable.less +5 -5
- package/lib/vtx-color-picker/index.js +26 -9
- package/lib/vtx-color-picker/index.js.map +1 -1
- package/lib/vtx-color-picker/style/css.js +2 -0
- package/lib/vtx-color-picker/style/css.js.map +1 -1
- package/lib/vtx-color-picker/style/index.js +2 -0
- package/lib/vtx-color-picker/style/index.js.map +1 -1
- package/lib/vtx-combogrid/Combogrid.js +86 -46
- package/lib/vtx-combogrid/Combogrid.js.map +1 -1
- package/lib/vtx-combogrid/index.js +59 -30
- package/lib/vtx-combogrid/index.js.map +1 -1
- package/lib/vtx-combogrid/style/css.js +7 -0
- package/lib/vtx-combogrid/style/css.js.map +1 -1
- package/lib/vtx-combogrid/style/index.js +7 -0
- package/lib/vtx-combogrid/style/index.js.map +1 -1
- package/lib/vtx-datagrid/Alert.js +13 -4
- package/lib/vtx-datagrid/Alert.js.map +1 -1
- package/lib/vtx-datagrid/ColumnSetting.js +75 -36
- package/lib/vtx-datagrid/ColumnSetting.js.map +1 -1
- package/lib/vtx-datagrid/ResizeableTitle.js +15 -3
- package/lib/vtx-datagrid/ResizeableTitle.js.map +1 -1
- package/lib/vtx-datagrid/index.js +170 -100
- package/lib/vtx-datagrid/index.js.map +1 -1
- package/lib/vtx-datagrid/renderColumnButtons.js +38 -7
- package/lib/vtx-datagrid/renderColumnButtons.js.map +1 -1
- package/lib/vtx-datagrid/style/css.js +10 -0
- package/lib/vtx-datagrid/style/css.js.map +1 -1
- package/lib/vtx-datagrid/style/index.js +10 -0
- package/lib/vtx-datagrid/style/index.js.map +1 -1
- package/lib/vtx-date-picker/QdatePicker.js +51 -21
- package/lib/vtx-date-picker/QdatePicker.js.map +1 -1
- package/lib/vtx-date-picker/generatePicker.js +65 -24
- package/lib/vtx-date-picker/generatePicker.js.map +1 -1
- package/lib/vtx-date-picker/index.js +7 -1
- package/lib/vtx-date-picker/index.js.map +1 -1
- package/lib/vtx-date-picker/style/css.js +1 -0
- package/lib/vtx-date-picker/style/css.js.map +1 -1
- package/lib/vtx-date-picker/style/index.js +1 -0
- package/lib/vtx-date-picker/style/index.js.map +1 -1
- package/lib/vtx-date-picker/style/index.less +39 -39
- package/lib/vtx-editor/index.js +28 -9
- package/lib/vtx-editor/index.js.map +1 -1
- package/lib/vtx-editor/style/css.js +1 -0
- package/lib/vtx-editor/style/css.js.map +1 -1
- package/lib/vtx-editor/style/index.js +1 -0
- package/lib/vtx-editor/style/index.js.map +1 -1
- package/lib/vtx-editor/style/index.less +8 -8
- package/lib/vtx-ellipsis-text/index.js +27 -14
- package/lib/vtx-ellipsis-text/index.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/css.js +1 -0
- package/lib/vtx-ellipsis-text/style/css.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/index.js +1 -0
- package/lib/vtx-ellipsis-text/style/index.js.map +1 -1
- package/lib/vtx-ellipsis-text/style/index.less +13 -13
- package/lib/vtx-export/index.js +61 -28
- package/lib/vtx-export/index.js.map +1 -1
- package/lib/vtx-export/style/css.js +5 -0
- package/lib/vtx-export/style/css.js.map +1 -1
- package/lib/vtx-export/style/index.js +5 -0
- package/lib/vtx-export/style/index.js.map +1 -1
- package/lib/vtx-export-async/History.js +93 -56
- package/lib/vtx-export-async/History.js.map +1 -1
- package/lib/vtx-export-async/index.js +97 -56
- package/lib/vtx-export-async/index.js.map +1 -1
- package/lib/vtx-export-async/style/css.js.map +1 -1
- package/lib/vtx-export-async/style/index.js.map +1 -1
- package/lib/vtx-export-async/util.js +13 -2
- package/lib/vtx-export-async/util.js.map +1 -1
- package/lib/vtx-form-layout/Card.js +33 -11
- package/lib/vtx-form-layout/Card.js.map +1 -1
- package/lib/vtx-form-layout/Divider.js +11 -5
- package/lib/vtx-form-layout/Divider.js.map +1 -1
- package/lib/vtx-form-layout/FormItem.js +33 -11
- package/lib/vtx-form-layout/FormItem.js.map +1 -1
- package/lib/vtx-form-layout/Pane.js +9 -3
- package/lib/vtx-form-layout/Pane.js.map +1 -1
- package/lib/vtx-form-layout/Row.js +8 -1
- package/lib/vtx-form-layout/Row.js.map +1 -1
- package/lib/vtx-form-layout/context.js +4 -1
- package/lib/vtx-form-layout/context.js.map +1 -1
- package/lib/vtx-form-layout/demo/Modal.less +43 -43
- package/lib/vtx-form-layout/index.js +24 -9
- package/lib/vtx-form-layout/index.js.map +1 -1
- package/lib/vtx-form-layout/style/css.js +7 -0
- package/lib/vtx-form-layout/style/css.js.map +1 -1
- package/lib/vtx-form-layout/style/index.js +7 -0
- package/lib/vtx-form-layout/style/index.js.map +1 -1
- package/lib/vtx-form-layout/style/index.less +216 -216
- package/lib/vtx-image/Image.js +113 -73
- package/lib/vtx-image/Image.js.map +1 -1
- package/lib/vtx-image/Preview.js +59 -30
- package/lib/vtx-image/Preview.js.map +1 -1
- package/lib/vtx-image/PreviewGroup.js +47 -17
- package/lib/vtx-image/PreviewGroup.js.map +1 -1
- package/lib/vtx-image/index.js +11 -4
- package/lib/vtx-image/index.js.map +1 -1
- package/lib/vtx-image/style/css.js +1 -0
- package/lib/vtx-image/style/css.js.map +1 -1
- package/lib/vtx-image/style/index.js +1 -0
- package/lib/vtx-image/style/index.js.map +1 -1
- package/lib/vtx-import/index.js +78 -45
- package/lib/vtx-import/index.js.map +1 -1
- package/lib/vtx-import/result.js +28 -10
- package/lib/vtx-import/result.js.map +1 -1
- package/lib/vtx-import/style/css.js +3 -0
- package/lib/vtx-import/style/css.js.map +1 -1
- package/lib/vtx-import/style/index.js +3 -0
- package/lib/vtx-import/style/index.js.map +1 -1
- package/lib/vtx-import/style/index.less +8 -8
- package/lib/vtx-import2/CheckResult.js +8 -1
- package/lib/vtx-import2/CheckResult.js.map +1 -1
- package/lib/vtx-import2/Content.js +33 -11
- package/lib/vtx-import2/Content.js.map +1 -1
- package/lib/vtx-import2/DownloadSvg.js +6 -1
- package/lib/vtx-import2/DownloadSvg.js.map +1 -1
- package/lib/vtx-import2/ImportResult.js +14 -7
- package/lib/vtx-import2/ImportResult.js.map +1 -1
- package/lib/vtx-import2/UploadSvg.js +6 -1
- package/lib/vtx-import2/UploadSvg.js.map +1 -1
- package/lib/vtx-import2/index.js +107 -52
- package/lib/vtx-import2/index.js.map +1 -1
- package/lib/vtx-import2/style/css.js +3 -0
- package/lib/vtx-import2/style/css.js.map +1 -1
- package/lib/vtx-import2/style/index.js +3 -0
- package/lib/vtx-import2/style/index.js.map +1 -1
- package/lib/vtx-import2/style/index.less +102 -102
- package/lib/vtx-input/TextArea.js +27 -10
- package/lib/vtx-input/TextArea.js.map +1 -1
- package/lib/vtx-input/index.js +45 -20
- package/lib/vtx-input/index.js.map +1 -1
- package/lib/vtx-input/style/css.js +1 -0
- package/lib/vtx-input/style/css.js.map +1 -1
- package/lib/vtx-input/style/index.js +1 -0
- package/lib/vtx-input/style/index.js.map +1 -1
- package/lib/vtx-input/style/index.less +24 -24
- package/lib/vtx-input/useLength.js +20 -7
- package/lib/vtx-input/useLength.js.map +1 -1
- package/lib/vtx-modal/Title.js +8 -2
- package/lib/vtx-modal/Title.js.map +1 -1
- package/lib/vtx-modal/index.js +82 -49
- package/lib/vtx-modal/index.js.map +1 -1
- package/lib/vtx-modal/style/css.js +1 -0
- package/lib/vtx-modal/style/css.js.map +1 -1
- package/lib/vtx-modal/style/index.js +1 -0
- package/lib/vtx-modal/style/index.js.map +1 -1
- package/lib/vtx-page-layout/Basic.js +8 -3
- package/lib/vtx-page-layout/Basic.js.map +1 -1
- package/lib/vtx-page-layout/Content.js +26 -15
- package/lib/vtx-page-layout/Content.js.map +1 -1
- package/lib/vtx-page-layout/Pane.js +12 -3
- package/lib/vtx-page-layout/Pane.js.map +1 -1
- package/lib/vtx-page-layout/TableLayout.js +60 -30
- package/lib/vtx-page-layout/TableLayout.js.map +1 -1
- package/lib/vtx-page-layout/TableWrap.js +22 -11
- package/lib/vtx-page-layout/TableWrap.js.map +1 -1
- package/lib/vtx-page-layout/container.js +51 -23
- package/lib/vtx-page-layout/container.js.map +1 -1
- package/lib/vtx-page-layout/index.js +10 -1
- package/lib/vtx-page-layout/index.js.map +1 -1
- package/lib/vtx-page-layout/style/css.js.map +1 -1
- package/lib/vtx-page-layout/style/index.js.map +1 -1
- package/lib/vtx-page-layout/style/index.less +138 -138
- package/lib/vtx-rps-frame/index.js +57 -37
- package/lib/vtx-rps-frame/index.js.map +1 -1
- package/lib/vtx-rps-frame/style/css.js.map +1 -1
- package/lib/vtx-rps-frame/style/index.js.map +1 -1
- package/lib/vtx-scrollable-row/index.js +64 -30
- package/lib/vtx-scrollable-row/index.js.map +1 -1
- package/lib/vtx-scrollable-row/style/css.js.map +1 -1
- package/lib/vtx-scrollable-row/style/index.js.map +1 -1
- package/lib/vtx-scrollable-row/style/index.less +113 -113
- package/lib/vtx-search/VtxCol.js +26 -7
- package/lib/vtx-search/VtxCol.js.map +1 -1
- package/lib/vtx-search/VtxRow.js +14 -7
- package/lib/vtx-search/VtxRow.js.map +1 -1
- package/lib/vtx-search/index.js +106 -61
- package/lib/vtx-search/index.js.map +1 -1
- package/lib/vtx-search/style/css.js +4 -0
- package/lib/vtx-search/style/css.js.map +1 -1
- package/lib/vtx-search/style/index.js +4 -0
- package/lib/vtx-search/style/index.js.map +1 -1
- package/lib/vtx-search-map-input/index.js +89 -56
- package/lib/vtx-search-map-input/index.js.map +1 -1
- package/lib/vtx-search-map-input/style/css.js +2 -0
- package/lib/vtx-search-map-input/style/css.js.map +1 -1
- package/lib/vtx-search-map-input/style/index.js +2 -0
- package/lib/vtx-search-map-input/style/index.js.map +1 -1
- package/lib/vtx-select/index.js +87 -37
- package/lib/vtx-select/index.js.map +1 -1
- package/lib/vtx-select/style/css.js +8 -0
- package/lib/vtx-select/style/css.js.map +1 -1
- package/lib/vtx-select/style/index.js +8 -0
- package/lib/vtx-select/style/index.js.map +1 -1
- package/lib/vtx-select/style/index.less +68 -68
- package/lib/vtx-signature/index.js +33 -18
- package/lib/vtx-signature/index.js.map +1 -1
- package/lib/vtx-signature/style/css.js +2 -0
- package/lib/vtx-signature/style/css.js.map +1 -1
- package/lib/vtx-signature/style/index.js +2 -0
- package/lib/vtx-signature/style/index.js.map +1 -1
- package/lib/vtx-signature/style/index.less +33 -33
- package/lib/vtx-split-pane/Pane.js +22 -11
- package/lib/vtx-split-pane/Pane.js.map +1 -1
- package/lib/vtx-split-pane/Resizer.js +39 -19
- package/lib/vtx-split-pane/Resizer.js.map +1 -1
- package/lib/vtx-split-pane/SplitPane.js +107 -51
- package/lib/vtx-split-pane/SplitPane.js.map +1 -1
- package/lib/vtx-split-pane/index.js +6 -1
- package/lib/vtx-split-pane/index.js.map +1 -1
- package/lib/vtx-split-pane/style/css.js +3 -0
- package/lib/vtx-split-pane/style/css.js.map +1 -1
- package/lib/vtx-split-pane/style/index.js +3 -0
- package/lib/vtx-split-pane/style/index.js.map +1 -1
- package/lib/vtx-split-pane/style/index.less +76 -76
- package/lib/vtx-statistics-column/Back.js +9 -2
- package/lib/vtx-statistics-column/Back.js.map +1 -1
- package/lib/vtx-statistics-column/Item.js +30 -14
- package/lib/vtx-statistics-column/Item.js.map +1 -1
- package/lib/vtx-statistics-column/Total.js +30 -14
- package/lib/vtx-statistics-column/Total.js.map +1 -1
- package/lib/vtx-statistics-column/context.js +4 -1
- package/lib/vtx-statistics-column/context.js.map +1 -1
- package/lib/vtx-statistics-column/index.js +18 -1
- package/lib/vtx-statistics-column/index.js.map +1 -1
- package/lib/vtx-statistics-column/style/css.js.map +1 -1
- package/lib/vtx-statistics-column/style/index.js.map +1 -1
- package/lib/vtx-statistics-column/style/index.less +59 -59
- package/lib/vtx-time-picker/index.js +18 -4
- package/lib/vtx-time-picker/index.js.map +1 -1
- package/lib/vtx-time-picker/style/css.js.map +1 -1
- package/lib/vtx-time-picker/style/index.js.map +1 -1
- package/lib/vtx-tree/index.js +114 -49
- package/lib/vtx-tree/index.js.map +1 -1
- package/lib/vtx-tree/style/css.js +2 -0
- package/lib/vtx-tree/style/css.js.map +1 -1
- package/lib/vtx-tree/style/index.js +2 -0
- package/lib/vtx-tree/style/index.js.map +1 -1
- package/lib/vtx-tree/style/index.less +53 -53
- package/lib/vtx-tree/utils.js +27 -6
- package/lib/vtx-tree/utils.js.map +1 -1
- package/lib/vtx-tree-select/index.js +71 -27
- package/lib/vtx-tree-select/index.js.map +1 -1
- package/lib/vtx-tree-select/style/css.js +3 -0
- package/lib/vtx-tree-select/style/css.js.map +1 -1
- package/lib/vtx-tree-select/style/index.js +3 -0
- package/lib/vtx-tree-select/style/index.js.map +1 -1
- package/lib/vtx-upload/FilePreview.js +33 -15
- package/lib/vtx-upload/FilePreview.js.map +1 -1
- package/lib/vtx-upload/index.js +169 -90
- package/lib/vtx-upload/index.js.map +1 -1
- package/lib/vtx-upload/style/css.js +7 -0
- package/lib/vtx-upload/style/css.js.map +1 -1
- package/lib/vtx-upload/style/index.js +7 -0
- package/lib/vtx-upload/style/index.js.map +1 -1
- package/lib/vtx-upload/style/index.less +61 -61
- package/lib/vtx-wang-editor/index.js +116 -74
- package/lib/vtx-wang-editor/index.js.map +1 -1
- package/lib/vtx-wang-editor/style/css.js +1 -0
- package/lib/vtx-wang-editor/style/css.js.map +1 -1
- package/lib/vtx-wang-editor/style/index.js +1 -0
- package/lib/vtx-wang-editor/style/index.js.map +1 -1
- package/lib/vtx-wang-editor/style/index.less +12 -12
- package/lib/vtx-wang-editor/wangEditorUtil.js +136 -75
- package/lib/vtx-wang-editor/wangEditorUtil.js.map +1 -1
- package/lib/vtx-ztree/index.js +119 -69
- package/lib/vtx-ztree/index.js.map +1 -1
- package/lib/vtx-ztree/style/css.js +1 -0
- package/lib/vtx-ztree/style/css.js.map +1 -1
- package/lib/vtx-ztree/style/index.js +1 -0
- package/lib/vtx-ztree/style/index.js.map +1 -1
- package/lib/vtx-ztree/style/index.less +45 -45
- package/lib/vtx-ztree-select/index.js +142 -73
- package/lib/vtx-ztree-select/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/css.js +3 -0
- package/lib/vtx-ztree-select/style/css.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.js +3 -0
- package/lib/vtx-ztree-select/style/index.js.map +1 -1
- package/lib/vtx-ztree-select/style/index.less +107 -107
- package/package.json +127 -126
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
@@ -9,27 +10,40 @@ exports.findAllImgSrcsFromHtml = findAllImgSrcsFromHtml;
|
|
|
9
10
|
exports.replaceAllSpanFontSize = replaceAllSpanFontSize;
|
|
10
11
|
exports.replaceImagesFileSourceWithInlineRepresentation = replaceImagesFileSourceWithInlineRepresentation;
|
|
11
12
|
exports.withEmptyHtml = withEmptyHtml;
|
|
12
|
-
|
|
13
|
+
|
|
14
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return generator._invoke = function (innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; }(innerFn, self, context), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; this._invoke = function (method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); }; } function maybeInvokeDelegate(delegate, context) { var method = delegate.iterator[context.method]; if (undefined === method) { if (context.delegate = null, "throw" === context.method) { if (delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method)) return ContinueSentinel; context.method = "throw", context.arg = new TypeError("The iterator does not provide a 'throw' method"); } return ContinueSentinel; } var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, define(Gp, "constructor", GeneratorFunctionPrototype), define(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (object) { var keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
15
|
+
|
|
13
16
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
17
|
+
|
|
14
18
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
19
|
+
|
|
15
20
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
21
|
+
|
|
16
22
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
17
|
-
|
|
23
|
+
|
|
24
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
25
|
+
|
|
18
26
|
function replaceAllSpanFontSize(htmlData) {
|
|
19
27
|
var spanReg = /\<span([\s\S]+?)\<\/span\>/g;
|
|
20
28
|
var fontReg = /\<font([\s\S]+?)\<\/font\>/g;
|
|
21
29
|
var fontSizeReg = /font-size:([\s\S]+?)\;/g;
|
|
22
30
|
var spanArr = htmlData.match(spanReg); // 筛选出所有的span
|
|
31
|
+
|
|
23
32
|
if (!spanArr || Array.isArray(spanArr) && !spanArr.length) {
|
|
24
33
|
return false;
|
|
25
34
|
}
|
|
35
|
+
|
|
26
36
|
var fontSizeReplaceList = {};
|
|
37
|
+
|
|
27
38
|
for (var i = 0; i < spanArr.length; i++) {
|
|
28
39
|
var fontArr = spanArr[i].match(fontReg);
|
|
40
|
+
|
|
29
41
|
if ((fontArr === null || fontArr === void 0 ? void 0 : fontArr.length) > 0) {
|
|
30
42
|
var fontSize = spanArr[i].match(fontSizeReg);
|
|
43
|
+
|
|
31
44
|
if ((fontSize === null || fontSize === void 0 ? void 0 : fontSize.length) > 0) {
|
|
32
45
|
var ptValue = fontSize[0].split(':')[1].replace(';', '');
|
|
46
|
+
|
|
33
47
|
if (ptValue.indexOf('pt') > -1) {
|
|
34
48
|
var value = toFontSize(parseInt(Number(ptValue.replace('pt', '')) / 0.75));
|
|
35
49
|
fontSizeReplaceList[fontSize[0]] = "font-size:".concat(value, "px;");
|
|
@@ -37,24 +51,31 @@ function replaceAllSpanFontSize(htmlData) {
|
|
|
37
51
|
}
|
|
38
52
|
}
|
|
39
53
|
}
|
|
54
|
+
|
|
40
55
|
for (var _i in fontSizeReplaceList) {
|
|
41
56
|
htmlData = htmlData.replaceAll(_i, fontSizeReplaceList[_i]);
|
|
42
57
|
}
|
|
58
|
+
|
|
43
59
|
return htmlData;
|
|
44
|
-
}
|
|
45
|
-
|
|
60
|
+
} // 判断字体在这个范围之内,不在这个范围之内 则不显示字体大小
|
|
61
|
+
|
|
62
|
+
|
|
46
63
|
function toFontSize(size) {
|
|
47
64
|
var result = size;
|
|
48
65
|
var sizeArr = [12, 13, 14, 15, 16, 19, 22, 24, 29, 32, 40, 48];
|
|
66
|
+
|
|
49
67
|
if (sizeArr.includes(size)) {
|
|
50
68
|
return result;
|
|
51
69
|
}
|
|
70
|
+
|
|
52
71
|
if (size < sizeArr[0]) {
|
|
53
72
|
return sizeArr[0];
|
|
54
73
|
}
|
|
74
|
+
|
|
55
75
|
if (size > sizeArr[sizeArr.length - 1]) {
|
|
56
76
|
return sizeArr[sizeArr.length - 1];
|
|
57
77
|
}
|
|
78
|
+
|
|
58
79
|
for (var i = 1; i < sizeArr.length; i++) {
|
|
59
80
|
if (size >= sizeArr[i - 1] && size <= sizeArr[i]) {
|
|
60
81
|
if (size - sizeArr[i - 1] < sizeArr[i] - size) {
|
|
@@ -62,27 +83,36 @@ function toFontSize(size) {
|
|
|
62
83
|
} else {
|
|
63
84
|
result = sizeArr[i];
|
|
64
85
|
}
|
|
86
|
+
|
|
65
87
|
break;
|
|
66
88
|
}
|
|
67
89
|
}
|
|
90
|
+
|
|
68
91
|
return result;
|
|
69
92
|
}
|
|
93
|
+
|
|
70
94
|
function findAllImgSrcsFromHtml(htmlData) {
|
|
71
95
|
var imgReg = /<img.*?(?:>|\/>)/gi; //匹配图片中的img标签
|
|
96
|
+
|
|
72
97
|
var srcReg = /src=[\'\"]?([^\'\"]*)[\'\"]?/i; // 匹配图片中的src
|
|
98
|
+
|
|
73
99
|
var widthReg = /width=[\'\"]?([^\'\"]*)[\'\"]?/i; // 匹配图片中的width
|
|
100
|
+
|
|
74
101
|
var heightReg = /height=[\'\"]?([^\'\"]*)[\'\"]?/i; // 匹配图片中的height
|
|
75
102
|
|
|
76
103
|
var arr = htmlData.match(imgReg); //筛选出所有的img
|
|
104
|
+
|
|
77
105
|
if (!arr || Array.isArray(arr) && !arr.length) {
|
|
78
106
|
return false;
|
|
79
107
|
}
|
|
108
|
+
|
|
80
109
|
var srcArr = [];
|
|
110
|
+
|
|
81
111
|
for (var i = 0; i < arr.length; i++) {
|
|
82
112
|
var src = arr[i].match(srcReg);
|
|
83
113
|
var width = arr[i].match(widthReg);
|
|
84
|
-
var height = arr[i].match(heightReg);
|
|
85
|
-
|
|
114
|
+
var height = arr[i].match(heightReg); // 获取图片地址
|
|
115
|
+
|
|
86
116
|
srcArr.push({
|
|
87
117
|
width: width[1],
|
|
88
118
|
height: height[1],
|
|
@@ -90,40 +120,51 @@ function findAllImgSrcsFromHtml(htmlData) {
|
|
|
90
120
|
img: arr[i]
|
|
91
121
|
});
|
|
92
122
|
}
|
|
123
|
+
|
|
93
124
|
return srcArr;
|
|
94
|
-
}
|
|
95
|
-
|
|
125
|
+
} // 处理为空的时候
|
|
126
|
+
|
|
127
|
+
|
|
96
128
|
function withEmptyHtml(editor) {
|
|
97
129
|
var getHtml = editor.getHtml;
|
|
98
130
|
var newEditor = editor;
|
|
131
|
+
|
|
99
132
|
newEditor.getHtml = function () {
|
|
100
133
|
if (newEditor.isEmpty()) {
|
|
101
134
|
return '';
|
|
102
135
|
}
|
|
136
|
+
|
|
103
137
|
return getHtml();
|
|
104
138
|
};
|
|
139
|
+
|
|
105
140
|
return newEditor;
|
|
106
141
|
}
|
|
142
|
+
|
|
107
143
|
function extractImageDataFromRtf(rtfData) {
|
|
108
144
|
if (!rtfData) {
|
|
109
145
|
return [];
|
|
110
146
|
}
|
|
147
|
+
|
|
111
148
|
var regexPictureHeader = /{\\pict[\s\S]+?({\\\*\\blipuid\s?[\da-fA-F]+)[\s}]*/;
|
|
112
149
|
var regexPicture = new RegExp('(?:(' + regexPictureHeader.source + '))([\\da-fA-F\\s]+)\\}', 'g');
|
|
113
150
|
var images = rtfData.match(regexPicture);
|
|
114
151
|
var result = [];
|
|
152
|
+
|
|
115
153
|
if (images) {
|
|
116
154
|
var _iterator = _createForOfIteratorHelper(images),
|
|
117
|
-
|
|
155
|
+
_step;
|
|
156
|
+
|
|
118
157
|
try {
|
|
119
158
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
120
159
|
var image = _step.value;
|
|
121
160
|
var imageType = false;
|
|
161
|
+
|
|
122
162
|
if (image.includes('\\pngblip')) {
|
|
123
163
|
imageType = 'image/png';
|
|
124
164
|
} else if (image.includes('\\jpegblip')) {
|
|
125
165
|
imageType = 'image/jpeg';
|
|
126
166
|
}
|
|
167
|
+
|
|
127
168
|
if (imageType) {
|
|
128
169
|
result.push({
|
|
129
170
|
hex: image.replace(regexPictureHeader, '').replace(/[^\da-fA-F]/g, ''),
|
|
@@ -137,99 +178,119 @@ function extractImageDataFromRtf(rtfData) {
|
|
|
137
178
|
_iterator.f();
|
|
138
179
|
}
|
|
139
180
|
}
|
|
181
|
+
|
|
140
182
|
return result;
|
|
141
183
|
}
|
|
184
|
+
|
|
142
185
|
function replaceImagesFileSourceWithInlineRepresentation(_x, _x2, _x3) {
|
|
143
186
|
return _replaceImagesFileSourceWithInlineRepresentation.apply(this, arguments);
|
|
144
187
|
}
|
|
188
|
+
|
|
145
189
|
function _replaceImagesFileSourceWithInlineRepresentation() {
|
|
146
190
|
_replaceImagesFileSourceWithInlineRepresentation = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(htmlData, imageSrcs, imagesHexSources) {
|
|
147
191
|
var isBase64Data,
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
192
|
+
uploadUrl,
|
|
193
|
+
downloadUrl,
|
|
194
|
+
i,
|
|
195
|
+
_imageSrcs$i,
|
|
196
|
+
_imageSrcs$i2,
|
|
197
|
+
_imageSrcs$i3,
|
|
198
|
+
_imageSrcs$i4,
|
|
199
|
+
_url$split,
|
|
200
|
+
_url$split$slice,
|
|
201
|
+
url,
|
|
202
|
+
width,
|
|
203
|
+
height,
|
|
204
|
+
img,
|
|
205
|
+
newSrc,
|
|
206
|
+
formData,
|
|
207
|
+
blob,
|
|
208
|
+
imgName,
|
|
209
|
+
file,
|
|
210
|
+
res,
|
|
211
|
+
_args = arguments;
|
|
212
|
+
|
|
167
213
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
168
|
-
while (1)
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
214
|
+
while (1) {
|
|
215
|
+
switch (_context.prev = _context.next) {
|
|
216
|
+
case 0:
|
|
217
|
+
isBase64Data = _args.length > 3 && _args[3] !== undefined ? _args[3] : true;
|
|
218
|
+
uploadUrl = _args.length > 4 ? _args[4] : undefined;
|
|
219
|
+
downloadUrl = _args.length > 5 ? _args[5] : undefined;
|
|
220
|
+
|
|
221
|
+
if (!(imageSrcs.length === imagesHexSources.length)) {
|
|
222
|
+
_context.next = 23;
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
i = 0;
|
|
227
|
+
|
|
228
|
+
case 5:
|
|
229
|
+
if (!(i < imageSrcs.length)) {
|
|
230
|
+
_context.next = 23;
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
url = imageSrcs === null || imageSrcs === void 0 ? void 0 : (_imageSrcs$i = imageSrcs[i]) === null || _imageSrcs$i === void 0 ? void 0 : _imageSrcs$i.url;
|
|
235
|
+
width = imageSrcs === null || imageSrcs === void 0 ? void 0 : (_imageSrcs$i2 = imageSrcs[i]) === null || _imageSrcs$i2 === void 0 ? void 0 : _imageSrcs$i2.width;
|
|
236
|
+
height = imageSrcs === null || imageSrcs === void 0 ? void 0 : (_imageSrcs$i3 = imageSrcs[i]) === null || _imageSrcs$i3 === void 0 ? void 0 : _imageSrcs$i3.height;
|
|
237
|
+
img = imageSrcs === null || imageSrcs === void 0 ? void 0 : (_imageSrcs$i4 = imageSrcs[i]) === null || _imageSrcs$i4 === void 0 ? void 0 : _imageSrcs$i4.img;
|
|
238
|
+
newSrc = isBase64Data ? "data:".concat(imagesHexSources[i].type, ";base64,").concat(_convertHexToBase64(imagesHexSources[i].hex)) : imagesHexSources[i];
|
|
239
|
+
formData = new FormData();
|
|
240
|
+
blob = convertBase64UrlToBlob(newSrc);
|
|
241
|
+
imgName = ((_url$split = url.split('\\')) === null || _url$split === void 0 ? void 0 : (_url$split$slice = _url$split.slice(-1)) === null || _url$split$slice === void 0 ? void 0 : _url$split$slice[0]) || 'image.jpg';
|
|
242
|
+
file = new File([blob], imgName);
|
|
243
|
+
formData.append('file', file);
|
|
244
|
+
_context.next = 18;
|
|
245
|
+
return window.fetch(uploadUrl, {
|
|
246
|
+
method: 'POST',
|
|
247
|
+
body: formData
|
|
248
|
+
}).then(function (response) {
|
|
249
|
+
return response.json();
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
case 18:
|
|
253
|
+
res = _context.sent;
|
|
254
|
+
htmlData = htmlData.replace(img, "<img src=\"".concat(downloadUrl).concat(res.data[0].id, "\" style=\"width:").concat(width, "px;height:").concat(height, "px\""));
|
|
255
|
+
|
|
256
|
+
case 20:
|
|
257
|
+
i++;
|
|
258
|
+
_context.next = 5;
|
|
181
259
|
break;
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
imgName = ((_url$split = url.split('\\')) === null || _url$split === void 0 || (_url$split = _url$split.slice(-1)) === null || _url$split === void 0 ? void 0 : _url$split[0]) || 'image.jpg';
|
|
191
|
-
file = new File([blob], imgName);
|
|
192
|
-
formData.append('file', file);
|
|
193
|
-
_context.next = 18;
|
|
194
|
-
return window.fetch(uploadUrl, {
|
|
195
|
-
method: 'POST',
|
|
196
|
-
body: formData
|
|
197
|
-
}).then(function (response) {
|
|
198
|
-
return response.json();
|
|
199
|
-
});
|
|
200
|
-
case 18:
|
|
201
|
-
res = _context.sent;
|
|
202
|
-
htmlData = htmlData.replace(img, "<img src=\"".concat(downloadUrl).concat(res.data[0].id, "\" style=\"width:").concat(width, "px;height:").concat(height, "px\""));
|
|
203
|
-
case 20:
|
|
204
|
-
i++;
|
|
205
|
-
_context.next = 5;
|
|
206
|
-
break;
|
|
207
|
-
case 23:
|
|
208
|
-
return _context.abrupt("return", htmlData);
|
|
209
|
-
case 24:
|
|
210
|
-
case "end":
|
|
211
|
-
return _context.stop();
|
|
260
|
+
|
|
261
|
+
case 23:
|
|
262
|
+
return _context.abrupt("return", htmlData);
|
|
263
|
+
|
|
264
|
+
case 24:
|
|
265
|
+
case "end":
|
|
266
|
+
return _context.stop();
|
|
267
|
+
}
|
|
212
268
|
}
|
|
213
269
|
}, _callee);
|
|
214
270
|
}));
|
|
215
271
|
return _replaceImagesFileSourceWithInlineRepresentation.apply(this, arguments);
|
|
216
272
|
}
|
|
273
|
+
|
|
217
274
|
function _convertHexToBase64(hexString) {
|
|
218
275
|
return btoa(hexString.match(/\w{2}/g).map(function (_char) {
|
|
219
276
|
return String.fromCharCode(parseInt(_char, 16));
|
|
220
277
|
}).join(''));
|
|
221
278
|
}
|
|
279
|
+
|
|
222
280
|
function convertBase64UrlToBlob(dataurl) {
|
|
223
|
-
var arr = dataurl.split(',');
|
|
224
|
-
|
|
281
|
+
var arr = dataurl.split(','); //注意base64的最后面中括号和引号是不转译的
|
|
282
|
+
|
|
225
283
|
var _arr = arr[1].substring(0, arr[1].length - 2);
|
|
284
|
+
|
|
226
285
|
var mime = arr[0].match(/:(.*?);/)[1],
|
|
227
|
-
|
|
286
|
+
bstr = atob(_arr);
|
|
228
287
|
var n = bstr.length;
|
|
229
288
|
var u8arr = new Uint8Array(n);
|
|
289
|
+
|
|
230
290
|
while (n--) {
|
|
231
291
|
u8arr[n] = bstr.charCodeAt(n);
|
|
232
292
|
}
|
|
293
|
+
|
|
233
294
|
return new Blob([u8arr], {
|
|
234
295
|
type: mime
|
|
235
296
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wangEditorUtil.js","names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_createForOfIteratorHelper","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","F","_e","normalCompletion","didErr","step","_e2","minLen","_arrayLikeToArray","toString","from","test","arr","len","arr2","replaceAllSpanFontSize","htmlData","spanReg","fontReg","fontSizeReg","spanArr","match","fontSizeReplaceList","fontArr","fontSize","ptValue","split","replace","indexOf","toFontSize","parseInt","Number","concat","replaceAll","size","result","sizeArr","includes","findAllImgSrcsFromHtml","imgReg","srcReg","widthReg","heightReg","srcArr","src","width","height","url","img","withEmptyHtml","editor","getHtml","newEditor","isEmpty","extractImageDataFromRtf","rtfData","regexPictureHeader","regexPicture","RegExp","source","images","_iterator","_step","image","imageType","hex","replaceImagesFileSourceWithInlineRepresentation","_x","_x2","_x3","_replaceImagesFileSourceWithInlineRepresentation","_callee","imageSrcs","imagesHexSources","isBase64Data","uploadUrl","downloadUrl","_imageSrcs$i","_imageSrcs$i2","_imageSrcs$i3","_imageSrcs$i4","_url$split","newSrc","formData","blob","imgName","file","res","_args","_callee$","_context","_convertHexToBase64","FormData","convertBase64UrlToBlob","File","append","window","fetch","body","response","json","data","id","hexString","btoa","map","char","String","fromCharCode","join","dataurl","_arr","substring","mime","bstr","atob","u8arr","Uint8Array","charCodeAt","Blob"],"sources":["vtx-wang-editor/wangEditorUtil.js"],"sourcesContent":["export function replaceAllSpanFontSize(htmlData) {\r\n const spanReg = /\\<span([\\s\\S]+?)\\<\\/span\\>/g;\r\n const fontReg = /\\<font([\\s\\S]+?)\\<\\/font\\>/g;\r\n const fontSizeReg = /font-size:([\\s\\S]+?)\\;/g;\r\n\r\n let spanArr = htmlData.match(spanReg); // 筛选出所有的span\r\n if (!spanArr || (Array.isArray(spanArr) && !spanArr.length)) {\r\n return false;\r\n }\r\n let fontSizeReplaceList = {};\r\n for (let i = 0; i < spanArr.length; i++) {\r\n const fontArr = spanArr[i].match(fontReg);\r\n if (fontArr?.length > 0) {\r\n const fontSize = spanArr[i].match(fontSizeReg);\r\n if (fontSize?.length > 0) {\r\n const ptValue = fontSize[0].split(':')[1].replace(';', '');\r\n\r\n if (ptValue.indexOf('pt') > -1) {\r\n const value = toFontSize(parseInt(Number(ptValue.replace('pt', '')) / 0.75));\r\n fontSizeReplaceList[fontSize[0]] = `font-size:${value}px;`;\r\n }\r\n }\r\n }\r\n }\r\n for (let i in fontSizeReplaceList) {\r\n htmlData = htmlData.replaceAll(i, fontSizeReplaceList[i]);\r\n }\r\n return htmlData;\r\n}\r\n// 判断字体在这个范围之内,不在这个范围之内 则不显示字体大小\r\nfunction toFontSize(size) {\r\n let result = size;\r\n const sizeArr = [12, 13, 14, 15, 16, 19, 22, 24, 29, 32, 40, 48];\r\n if (sizeArr.includes(size)) {\r\n return result;\r\n }\r\n if (size < sizeArr[0]) {\r\n return sizeArr[0];\r\n }\r\n if (size > sizeArr[sizeArr.length - 1]) {\r\n return sizeArr[sizeArr.length - 1];\r\n }\r\n\r\n for (let i = 1; i < sizeArr.length; i++) {\r\n if (size >= sizeArr[i - 1] && size <= sizeArr[i]) {\r\n if (size - sizeArr[i - 1] < sizeArr[i] - size) {\r\n result = sizeArr[i - 1];\r\n } else {\r\n result = sizeArr[i];\r\n }\r\n break;\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nexport function findAllImgSrcsFromHtml(htmlData) {\r\n let imgReg = /<img.*?(?:>|\\/>)/gi; //匹配图片中的img标签\r\n let srcReg = /src=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i; // 匹配图片中的src\r\n let widthReg = /width=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i; // 匹配图片中的width\r\n let heightReg = /height=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i; // 匹配图片中的height\r\n\r\n let arr = htmlData.match(imgReg); //筛选出所有的img\r\n if (!arr || (Array.isArray(arr) && !arr.length)) {\r\n return false;\r\n }\r\n\r\n let srcArr = [];\r\n for (let i = 0; i < arr.length; i++) {\r\n let src = arr[i].match(srcReg);\r\n let width = arr[i].match(widthReg);\r\n let height = arr[i].match(heightReg);\r\n // 获取图片地址\r\n srcArr.push({\r\n width: width[1],\r\n height: height[1],\r\n url: src[1],\r\n img: arr[i],\r\n });\r\n }\r\n\r\n return srcArr;\r\n}\r\n// 处理为空的时候\r\nexport function withEmptyHtml(editor) {\r\n const { getHtml } = editor;\r\n const newEditor = editor;\r\n newEditor.getHtml = () => {\r\n if (newEditor.isEmpty()) {\r\n return '';\r\n }\r\n return getHtml();\r\n };\r\n\r\n return newEditor;\r\n}\r\n\r\nexport function extractImageDataFromRtf(rtfData) {\r\n if (!rtfData) {\r\n return [];\r\n }\r\n\r\n const regexPictureHeader = /{\\\\pict[\\s\\S]+?({\\\\\\*\\\\blipuid\\s?[\\da-fA-F]+)[\\s}]*/;\r\n const regexPicture = new RegExp(\r\n '(?:(' + regexPictureHeader.source + '))([\\\\da-fA-F\\\\s]+)\\\\}',\r\n 'g',\r\n );\r\n const images = rtfData.match(regexPicture);\r\n const result = [];\r\n\r\n if (images) {\r\n for (const image of images) {\r\n let imageType = false;\r\n\r\n if (image.includes('\\\\pngblip')) {\r\n imageType = 'image/png';\r\n } else if (image.includes('\\\\jpegblip')) {\r\n imageType = 'image/jpeg';\r\n }\r\n\r\n if (imageType) {\r\n result.push({\r\n hex: image.replace(regexPictureHeader, '').replace(/[^\\da-fA-F]/g, ''),\r\n type: imageType,\r\n });\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport async function replaceImagesFileSourceWithInlineRepresentation(\r\n htmlData,\r\n imageSrcs,\r\n imagesHexSources,\r\n isBase64Data = true,\r\n uploadUrl,\r\n downloadUrl,\r\n) {\r\n if (imageSrcs.length === imagesHexSources.length) {\r\n for (let i = 0; i < imageSrcs.length; i++) {\r\n const url = imageSrcs?.[i]?.url;\r\n const width = imageSrcs?.[i]?.width;\r\n const height = imageSrcs?.[i]?.height;\r\n const img = imageSrcs?.[i]?.img;\r\n const newSrc = isBase64Data\r\n ? `data:${imagesHexSources[i].type};base64,${_convertHexToBase64(\r\n imagesHexSources[i].hex,\r\n )}`\r\n : imagesHexSources[i];\r\n const formData = new FormData();\r\n let blob = convertBase64UrlToBlob(newSrc);\r\n let imgName = url.split('\\\\')?.slice(-1)?.[0] || 'image.jpg';\r\n let file = new File([blob], imgName);\r\n formData.append('file', file);\r\n const res = await window\r\n .fetch(uploadUrl, {\r\n method: 'POST',\r\n body: formData,\r\n })\r\n .then(function(response) {\r\n return response.json();\r\n });\r\n htmlData = htmlData.replace(\r\n img,\r\n `<img src=\"${downloadUrl}${res.data[0].id}\" style=\"width:${width}px;height:${height}px\"`,\r\n );\r\n }\r\n }\r\n return htmlData;\r\n}\r\n\r\nfunction _convertHexToBase64(hexString) {\r\n return btoa(\r\n hexString\r\n .match(/\\w{2}/g)\r\n .map(char => {\r\n return String.fromCharCode(parseInt(char, 16));\r\n })\r\n .join(''),\r\n );\r\n}\r\n\r\nfunction convertBase64UrlToBlob(dataurl) {\r\n const arr = dataurl.split(',');\r\n //注意base64的最后面中括号和引号是不转译的\r\n const _arr = arr[1].substring(0, arr[1].length - 2);\r\n const mime = arr[0].match(/:(.*?);/)[1],\r\n bstr = atob(_arr);\r\n let n = bstr.length;\r\n const u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new Blob([u8arr], {\r\n type: mime,\r\n });\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"wangEditorUtil.js","names":["replaceAllSpanFontSize","htmlData","spanReg","fontReg","fontSizeReg","spanArr","match","Array","isArray","length","fontSizeReplaceList","i","fontArr","fontSize","ptValue","split","replace","indexOf","value","toFontSize","parseInt","Number","replaceAll","size","result","sizeArr","includes","findAllImgSrcsFromHtml","imgReg","srcReg","widthReg","heightReg","arr","srcArr","src","width","height","push","url","img","withEmptyHtml","editor","getHtml","newEditor","isEmpty","extractImageDataFromRtf","rtfData","regexPictureHeader","regexPicture","RegExp","source","images","image","imageType","hex","type","replaceImagesFileSourceWithInlineRepresentation","imageSrcs","imagesHexSources","isBase64Data","uploadUrl","downloadUrl","newSrc","_convertHexToBase64","formData","FormData","blob","convertBase64UrlToBlob","imgName","slice","file","File","append","window","fetch","method","body","then","response","json","res","data","id","hexString","btoa","map","char","String","fromCharCode","join","dataurl","_arr","substring","mime","bstr","atob","n","u8arr","Uint8Array","charCodeAt","Blob"],"sources":["vtx-wang-editor/wangEditorUtil.js"],"sourcesContent":["export function replaceAllSpanFontSize(htmlData) {\n const spanReg = /\\<span([\\s\\S]+?)\\<\\/span\\>/g;\n const fontReg = /\\<font([\\s\\S]+?)\\<\\/font\\>/g;\n const fontSizeReg = /font-size:([\\s\\S]+?)\\;/g;\n\n let spanArr = htmlData.match(spanReg); // 筛选出所有的span\n if (!spanArr || (Array.isArray(spanArr) && !spanArr.length)) {\n return false;\n }\n let fontSizeReplaceList = {};\n for (let i = 0; i < spanArr.length; i++) {\n const fontArr = spanArr[i].match(fontReg);\n if (fontArr?.length > 0) {\n const fontSize = spanArr[i].match(fontSizeReg);\n if (fontSize?.length > 0) {\n const ptValue = fontSize[0].split(':')[1].replace(';', '');\n\n if (ptValue.indexOf('pt') > -1) {\n const value = toFontSize(parseInt(Number(ptValue.replace('pt', '')) / 0.75));\n fontSizeReplaceList[fontSize[0]] = `font-size:${value}px;`;\n }\n }\n }\n }\n for (let i in fontSizeReplaceList) {\n htmlData = htmlData.replaceAll(i, fontSizeReplaceList[i]);\n }\n return htmlData;\n}\n// 判断字体在这个范围之内,不在这个范围之内 则不显示字体大小\nfunction toFontSize(size) {\n let result = size;\n const sizeArr = [12, 13, 14, 15, 16, 19, 22, 24, 29, 32, 40, 48];\n if (sizeArr.includes(size)) {\n return result;\n }\n if (size < sizeArr[0]) {\n return sizeArr[0];\n }\n if (size > sizeArr[sizeArr.length - 1]) {\n return sizeArr[sizeArr.length - 1];\n }\n\n for (let i = 1; i < sizeArr.length; i++) {\n if (size >= sizeArr[i - 1] && size <= sizeArr[i]) {\n if (size - sizeArr[i - 1] < sizeArr[i] - size) {\n result = sizeArr[i - 1];\n } else {\n result = sizeArr[i];\n }\n break;\n }\n }\n return result;\n}\n\nexport function findAllImgSrcsFromHtml(htmlData) {\n let imgReg = /<img.*?(?:>|\\/>)/gi; //匹配图片中的img标签\n let srcReg = /src=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i; // 匹配图片中的src\n let widthReg = /width=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i; // 匹配图片中的width\n let heightReg = /height=[\\'\\\"]?([^\\'\\\"]*)[\\'\\\"]?/i; // 匹配图片中的height\n\n let arr = htmlData.match(imgReg); //筛选出所有的img\n if (!arr || (Array.isArray(arr) && !arr.length)) {\n return false;\n }\n\n let srcArr = [];\n for (let i = 0; i < arr.length; i++) {\n let src = arr[i].match(srcReg);\n let width = arr[i].match(widthReg);\n let height = arr[i].match(heightReg);\n // 获取图片地址\n srcArr.push({\n width: width[1],\n height: height[1],\n url: src[1],\n img: arr[i],\n });\n }\n\n return srcArr;\n}\n// 处理为空的时候\nexport function withEmptyHtml(editor) {\n const { getHtml } = editor;\n const newEditor = editor;\n newEditor.getHtml = () => {\n if (newEditor.isEmpty()) {\n return '';\n }\n return getHtml();\n };\n\n return newEditor;\n}\n\nexport function extractImageDataFromRtf(rtfData) {\n if (!rtfData) {\n return [];\n }\n\n const regexPictureHeader = /{\\\\pict[\\s\\S]+?({\\\\\\*\\\\blipuid\\s?[\\da-fA-F]+)[\\s}]*/;\n const regexPicture = new RegExp(\n '(?:(' + regexPictureHeader.source + '))([\\\\da-fA-F\\\\s]+)\\\\}',\n 'g',\n );\n const images = rtfData.match(regexPicture);\n const result = [];\n\n if (images) {\n for (const image of images) {\n let imageType = false;\n\n if (image.includes('\\\\pngblip')) {\n imageType = 'image/png';\n } else if (image.includes('\\\\jpegblip')) {\n imageType = 'image/jpeg';\n }\n\n if (imageType) {\n result.push({\n hex: image.replace(regexPictureHeader, '').replace(/[^\\da-fA-F]/g, ''),\n type: imageType,\n });\n }\n }\n }\n\n return result;\n}\n\nexport async function replaceImagesFileSourceWithInlineRepresentation(\n htmlData,\n imageSrcs,\n imagesHexSources,\n isBase64Data = true,\n uploadUrl,\n downloadUrl,\n) {\n if (imageSrcs.length === imagesHexSources.length) {\n for (let i = 0; i < imageSrcs.length; i++) {\n const url = imageSrcs?.[i]?.url;\n const width = imageSrcs?.[i]?.width;\n const height = imageSrcs?.[i]?.height;\n const img = imageSrcs?.[i]?.img;\n const newSrc = isBase64Data\n ? `data:${imagesHexSources[i].type};base64,${_convertHexToBase64(\n imagesHexSources[i].hex,\n )}`\n : imagesHexSources[i];\n const formData = new FormData();\n let blob = convertBase64UrlToBlob(newSrc);\n let imgName = url.split('\\\\')?.slice(-1)?.[0] || 'image.jpg';\n let file = new File([blob], imgName);\n formData.append('file', file);\n const res = await window\n .fetch(uploadUrl, {\n method: 'POST',\n body: formData,\n })\n .then(function(response) {\n return response.json();\n });\n htmlData = htmlData.replace(\n img,\n `<img src=\"${downloadUrl}${res.data[0].id}\" style=\"width:${width}px;height:${height}px\"`,\n );\n }\n }\n return htmlData;\n}\n\nfunction _convertHexToBase64(hexString) {\n return btoa(\n hexString\n .match(/\\w{2}/g)\n .map(char => {\n return String.fromCharCode(parseInt(char, 16));\n })\n .join(''),\n );\n}\n\nfunction convertBase64UrlToBlob(dataurl) {\n const arr = dataurl.split(',');\n //注意base64的最后面中括号和引号是不转译的\n const _arr = arr[1].substring(0, arr[1].length - 2);\n const mime = arr[0].match(/:(.*?);/)[1],\n bstr = atob(_arr);\n let n = bstr.length;\n const u8arr = new Uint8Array(n);\n while (n--) {\n u8arr[n] = bstr.charCodeAt(n);\n }\n return new Blob([u8arr], {\n type: mime,\n });\n}\n"],"mappings":";;;;;;;;;;;;;+CACA,oJ;;;;;;;;;;;;AADO,SAASA,sBAAT,CAAgCC,QAAhC,EAA0C;EAC7C,IAAMC,OAAO,GAAG,6BAAhB;EACA,IAAMC,OAAO,GAAG,6BAAhB;EACA,IAAMC,WAAW,GAAG,yBAApB;EAEA,IAAIC,OAAO,GAAGJ,QAAQ,CAACK,KAAT,CAAeJ,OAAf,CAAd,CAL6C,CAKN;;EACvC,IAAI,CAACG,OAAD,IAAaE,KAAK,CAACC,OAAN,CAAcH,OAAd,KAA0B,CAACA,OAAO,CAACI,MAApD,EAA6D;IACzD,OAAO,KAAP;EACH;;EACD,IAAIC,mBAAmB,GAAG,EAA1B;;EACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGN,OAAO,CAACI,MAA5B,EAAoCE,CAAC,EAArC,EAAyC;IACrC,IAAMC,OAAO,GAAGP,OAAO,CAACM,CAAD,CAAP,CAAWL,KAAX,CAAiBH,OAAjB,CAAhB;;IACA,IAAI,CAAAS,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEH,MAAT,IAAkB,CAAtB,EAAyB;MACrB,IAAMI,QAAQ,GAAGR,OAAO,CAACM,CAAD,CAAP,CAAWL,KAAX,CAAiBF,WAAjB,CAAjB;;MACA,IAAI,CAAAS,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEJ,MAAV,IAAmB,CAAvB,EAA0B;QACtB,IAAMK,OAAO,GAAGD,QAAQ,CAAC,CAAD,CAAR,CAAYE,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,EAA0BC,OAA1B,CAAkC,GAAlC,EAAuC,EAAvC,CAAhB;;QAEA,IAAIF,OAAO,CAACG,OAAR,CAAgB,IAAhB,IAAwB,CAAC,CAA7B,EAAgC;UAC5B,IAAMC,KAAK,GAAGC,UAAU,CAACC,QAAQ,CAACC,MAAM,CAACP,OAAO,CAACE,OAAR,CAAgB,IAAhB,EAAsB,EAAtB,CAAD,CAAN,GAAoC,IAArC,CAAT,CAAxB;UACAN,mBAAmB,CAACG,QAAQ,CAAC,CAAD,CAAT,CAAnB,uBAAgDK,KAAhD;QACH;MACJ;IACJ;EACJ;;EACD,KAAK,IAAIP,EAAT,IAAcD,mBAAd,EAAmC;IAC/BT,QAAQ,GAAGA,QAAQ,CAACqB,UAAT,CAAoBX,EAApB,EAAuBD,mBAAmB,CAACC,EAAD,CAA1C,CAAX;EACH;;EACD,OAAOV,QAAP;AACH,C,CACD;;;AACA,SAASkB,UAAT,CAAoBI,IAApB,EAA0B;EACtB,IAAIC,MAAM,GAAGD,IAAb;EACA,IAAME,OAAO,GAAG,CAAC,EAAD,EAAK,EAAL,EAAS,EAAT,EAAa,EAAb,EAAiB,EAAjB,EAAqB,EAArB,EAAyB,EAAzB,EAA6B,EAA7B,EAAiC,EAAjC,EAAqC,EAArC,EAAyC,EAAzC,EAA6C,EAA7C,CAAhB;;EACA,IAAIA,OAAO,CAACC,QAAR,CAAiBH,IAAjB,CAAJ,EAA4B;IACxB,OAAOC,MAAP;EACH;;EACD,IAAID,IAAI,GAAGE,OAAO,CAAC,CAAD,CAAlB,EAAuB;IACnB,OAAOA,OAAO,CAAC,CAAD,CAAd;EACH;;EACD,IAAIF,IAAI,GAAGE,OAAO,CAACA,OAAO,CAAChB,MAAR,GAAiB,CAAlB,CAAlB,EAAwC;IACpC,OAAOgB,OAAO,CAACA,OAAO,CAAChB,MAAR,GAAiB,CAAlB,CAAd;EACH;;EAED,KAAK,IAAIE,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGc,OAAO,CAAChB,MAA5B,EAAoCE,CAAC,EAArC,EAAyC;IACrC,IAAIY,IAAI,IAAIE,OAAO,CAACd,CAAC,GAAG,CAAL,CAAf,IAA0BY,IAAI,IAAIE,OAAO,CAACd,CAAD,CAA7C,EAAkD;MAC9C,IAAIY,IAAI,GAAGE,OAAO,CAACd,CAAC,GAAG,CAAL,CAAd,GAAwBc,OAAO,CAACd,CAAD,CAAP,GAAaY,IAAzC,EAA+C;QAC3CC,MAAM,GAAGC,OAAO,CAACd,CAAC,GAAG,CAAL,CAAhB;MACH,CAFD,MAEO;QACHa,MAAM,GAAGC,OAAO,CAACd,CAAD,CAAhB;MACH;;MACD;IACH;EACJ;;EACD,OAAOa,MAAP;AACH;;AAEM,SAASG,sBAAT,CAAgC1B,QAAhC,EAA0C;EAC7C,IAAI2B,MAAM,GAAG,oBAAb,CAD6C,CACV;;EACnC,IAAIC,MAAM,GAAG,+BAAb,CAF6C,CAEC;;EAC9C,IAAIC,QAAQ,GAAG,iCAAf,CAH6C,CAGK;;EAClD,IAAIC,SAAS,GAAG,kCAAhB,CAJ6C,CAIO;;EAEpD,IAAIC,GAAG,GAAG/B,QAAQ,CAACK,KAAT,CAAesB,MAAf,CAAV,CAN6C,CAMX;;EAClC,IAAI,CAACI,GAAD,IAASzB,KAAK,CAACC,OAAN,CAAcwB,GAAd,KAAsB,CAACA,GAAG,CAACvB,MAAxC,EAAiD;IAC7C,OAAO,KAAP;EACH;;EAED,IAAIwB,MAAM,GAAG,EAAb;;EACA,KAAK,IAAItB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGqB,GAAG,CAACvB,MAAxB,EAAgCE,CAAC,EAAjC,EAAqC;IACjC,IAAIuB,GAAG,GAAGF,GAAG,CAACrB,CAAD,CAAH,CAAOL,KAAP,CAAauB,MAAb,CAAV;IACA,IAAIM,KAAK,GAAGH,GAAG,CAACrB,CAAD,CAAH,CAAOL,KAAP,CAAawB,QAAb,CAAZ;IACA,IAAIM,MAAM,GAAGJ,GAAG,CAACrB,CAAD,CAAH,CAAOL,KAAP,CAAayB,SAAb,CAAb,CAHiC,CAIjC;;IACAE,MAAM,CAACI,IAAP,CAAY;MACRF,KAAK,EAAEA,KAAK,CAAC,CAAD,CADJ;MAERC,MAAM,EAAEA,MAAM,CAAC,CAAD,CAFN;MAGRE,GAAG,EAAEJ,GAAG,CAAC,CAAD,CAHA;MAIRK,GAAG,EAAEP,GAAG,CAACrB,CAAD;IAJA,CAAZ;EAMH;;EAED,OAAOsB,MAAP;AACH,C,CACD;;;AACO,SAASO,aAAT,CAAuBC,MAAvB,EAA+B;EAClC,IAAQC,OAAR,GAAoBD,MAApB,CAAQC,OAAR;EACA,IAAMC,SAAS,GAAGF,MAAlB;;EACAE,SAAS,CAACD,OAAV,GAAoB,YAAM;IACtB,IAAIC,SAAS,CAACC,OAAV,EAAJ,EAAyB;MACrB,OAAO,EAAP;IACH;;IACD,OAAOF,OAAO,EAAd;EACH,CALD;;EAOA,OAAOC,SAAP;AACH;;AAEM,SAASE,uBAAT,CAAiCC,OAAjC,EAA0C;EAC7C,IAAI,CAACA,OAAL,EAAc;IACV,OAAO,EAAP;EACH;;EAED,IAAMC,kBAAkB,GAAG,qDAA3B;EACA,IAAMC,YAAY,GAAG,IAAIC,MAAJ,CACjB,SAASF,kBAAkB,CAACG,MAA5B,GAAqC,wBADpB,EAEjB,GAFiB,CAArB;EAIA,IAAMC,MAAM,GAAGL,OAAO,CAACxC,KAAR,CAAc0C,YAAd,CAAf;EACA,IAAMxB,MAAM,GAAG,EAAf;;EAEA,IAAI2B,MAAJ,EAAY;IAAA,2CACYA,MADZ;IAAA;;IAAA;MACR,oDAA4B;QAAA,IAAjBC,KAAiB;QACxB,IAAIC,SAAS,GAAG,KAAhB;;QAEA,IAAID,KAAK,CAAC1B,QAAN,CAAe,WAAf,CAAJ,EAAiC;UAC7B2B,SAAS,GAAG,WAAZ;QACH,CAFD,MAEO,IAAID,KAAK,CAAC1B,QAAN,CAAe,YAAf,CAAJ,EAAkC;UACrC2B,SAAS,GAAG,YAAZ;QACH;;QAED,IAAIA,SAAJ,EAAe;UACX7B,MAAM,CAACa,IAAP,CAAY;YACRiB,GAAG,EAAEF,KAAK,CAACpC,OAAN,CAAc+B,kBAAd,EAAkC,EAAlC,EAAsC/B,OAAtC,CAA8C,cAA9C,EAA8D,EAA9D,CADG;YAERuC,IAAI,EAAEF;UAFE,CAAZ;QAIH;MACJ;IAhBO;MAAA;IAAA;MAAA;IAAA;EAiBX;;EAED,OAAO7B,MAAP;AACH;;SAEqBgC,+C;;;;;gHAAf,iBACHvD,QADG,EAEHwD,SAFG,EAGHC,gBAHG;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;;IAAA;MAAA;QAAA;UAAA;YAIHC,YAJG,2DAIY,IAJZ;YAKHC,SALG;YAMHC,WANG;;YAAA,MAQCJ,SAAS,CAAChD,MAAV,KAAqBiD,gBAAgB,CAACjD,MARvC;cAAA;cAAA;YAAA;;YASUE,CATV,GASc,CATd;;UAAA;YAAA,MASiBA,CAAC,GAAG8C,SAAS,CAAChD,MAT/B;cAAA;cAAA;YAAA;;YAUW6B,GAVX,GAUiBmB,SAVjB,aAUiBA,SAVjB,uCAUiBA,SAAS,CAAG9C,CAAH,CAV1B,iDAUiB,aAAgB2B,GAVjC;YAWWH,KAXX,GAWmBsB,SAXnB,aAWmBA,SAXnB,wCAWmBA,SAAS,CAAG9C,CAAH,CAX5B,kDAWmB,cAAgBwB,KAXnC;YAYWC,MAZX,GAYoBqB,SAZpB,aAYoBA,SAZpB,wCAYoBA,SAAS,CAAG9C,CAAH,CAZ7B,kDAYoB,cAAgByB,MAZpC;YAaWG,GAbX,GAaiBkB,SAbjB,aAaiBA,SAbjB,wCAaiBA,SAAS,CAAG9C,CAAH,CAb1B,kDAaiB,cAAgB4B,GAbjC;YAcWuB,MAdX,GAcoBH,YAAY,kBACbD,gBAAgB,CAAC/C,CAAD,CAAhB,CAAoB4C,IADP,qBACsBQ,mBAAmB,CAC1DL,gBAAgB,CAAC/C,CAAD,CAAhB,CAAoB2C,GADsC,CADzC,IAIrBI,gBAAgB,CAAC/C,CAAD,CAlB3B;YAmBWqD,QAnBX,GAmBsB,IAAIC,QAAJ,EAnBtB;YAoBSC,IApBT,GAoBgBC,sBAAsB,CAACL,MAAD,CApBtC;YAqBSM,OArBT,GAqBmB,eAAA9B,GAAG,CAACvB,KAAJ,CAAU,IAAV,+EAAiBsD,KAAjB,CAAuB,CAAC,CAAxB,uEAA6B,CAA7B,MAAmC,WArBtD;YAsBSC,IAtBT,GAsBgB,IAAIC,IAAJ,CAAS,CAACL,IAAD,CAAT,EAAiBE,OAAjB,CAtBhB;YAuBKJ,QAAQ,CAACQ,MAAT,CAAgB,MAAhB,EAAwBF,IAAxB;YAvBL;YAAA,OAwBuBG,MAAM,CACnBC,KADa,CACPd,SADO,EACI;cACde,MAAM,EAAE,MADM;cAEdC,IAAI,EAAEZ;YAFQ,CADJ,EAKba,IALa,CAKR,UAASC,QAAT,EAAmB;cACrB,OAAOA,QAAQ,CAACC,IAAT,EAAP;YACH,CAPa,CAxBvB;;UAAA;YAwBWC,GAxBX;YAgCK/E,QAAQ,GAAGA,QAAQ,CAACe,OAAT,CACPuB,GADO,uBAEMsB,WAFN,SAEoBmB,GAAG,CAACC,IAAJ,CAAS,CAAT,EAAYC,EAFhC,8BAEoD/C,KAFpD,uBAEsEC,MAFtE,UAAX;;UAhCL;YASuCzB,CAAC,EATxC;YAAA;YAAA;;UAAA;YAAA,iCAsCIV,QAtCJ;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,C;;;;AAyCP,SAAS8D,mBAAT,CAA6BoB,SAA7B,EAAwC;EACpC,OAAOC,IAAI,CACPD,SAAS,CACJ7E,KADL,CACW,QADX,EAEK+E,GAFL,CAES,UAAAC,KAAI,EAAI;IACT,OAAOC,MAAM,CAACC,YAAP,CAAoBpE,QAAQ,CAACkE,KAAD,EAAO,EAAP,CAA5B,CAAP;EACH,CAJL,EAKKG,IALL,CAKU,EALV,CADO,CAAX;AAQH;;AAED,SAAStB,sBAAT,CAAgCuB,OAAhC,EAAyC;EACrC,IAAM1D,GAAG,GAAG0D,OAAO,CAAC3E,KAAR,CAAc,GAAd,CAAZ,CADqC,CAErC;;EACA,IAAM4E,IAAI,GAAG3D,GAAG,CAAC,CAAD,CAAH,CAAO4D,SAAP,CAAiB,CAAjB,EAAoB5D,GAAG,CAAC,CAAD,CAAH,CAAOvB,MAAP,GAAgB,CAApC,CAAb;;EACA,IAAMoF,IAAI,GAAG7D,GAAG,CAAC,CAAD,CAAH,CAAO1B,KAAP,CAAa,SAAb,EAAwB,CAAxB,CAAb;EAAA,IACIwF,IAAI,GAAGC,IAAI,CAACJ,IAAD,CADf;EAEA,IAAIK,CAAC,GAAGF,IAAI,CAACrF,MAAb;EACA,IAAMwF,KAAK,GAAG,IAAIC,UAAJ,CAAeF,CAAf,CAAd;;EACA,OAAOA,CAAC,EAAR,EAAY;IACRC,KAAK,CAACD,CAAD,CAAL,GAAWF,IAAI,CAACK,UAAL,CAAgBH,CAAhB,CAAX;EACH;;EACD,OAAO,IAAII,IAAJ,CAAS,CAACH,KAAD,CAAT,EAAkB;IACrB1C,IAAI,EAAEsC;EADe,CAAlB,CAAP;AAGH"}
|