bto-md-editor 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/md-editor.es.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./style.css";
|
|
2
|
-
(function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode(`.tooltip-wrapper[data-v-2e4633d5]{position:relative;display:inline-flex;align-items:center;line-height:0}.tooltip[data-v-2e4633d5]{position:fixed;transform:translate(-50%);background:#3c3c3cf2;color:#fff;border-radius:8px;padding:6px 8px;font-size:12px;line-height:1.2;box-shadow:0 6px 20px #0003;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;pointer-events:none;z-index:1000}.tooltip.visible[data-v-2e4633d5]{opacity:1;visibility:visible}.shortcut[data-v-2e4633d5]{display:inline-block;margin-top:4px;opacity:.9;z-index:1000}.icon[data-v-8ea77a66]{cursor:pointer;width:27px;height:27px;border-radius:4px;display:flex;align-items:center;font-size:12px;transition:all .2s ease-in-out;position:relative;padding:0 6px;min-width:50px;justify-content:space-between;background:#fff}.icon[data-v-8ea77a66]:hover{background:#0000000d}.font-size[data-v-8ea77a66]{position:relative;margin:0 4px;-webkit-user-select:none;user-select:none}.label[data-v-8ea77a66]{font-size:15px;color:#333}.dropdown[data-v-8ea77a66]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:160px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;z-index:10;-webkit-user-select:none;user-select:none;will-change:opacity,transform}.dropdown-slide-enter-from[data-v-8ea77a66],.dropdown-slide-leave-to[data-v-8ea77a66]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-8ea77a66],.dropdown-slide-leave-active[data-v-8ea77a66]{transition:opacity .18s ease,transform .18s ease}.dropdown-item[data-v-8ea77a66]{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:14px}.dropdown-item[data-v-8ea77a66]:hover{background:#0000000d}.text[data-v-8ea77a66]{flex:1}.icon[data-v-0f5572cb]{cursor:default;width:27px;height:27px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease-in-out;position:relative}.icon-dropdown[data-v-0f5572cb]{width:auto;justify-content:space-between;background:#fff}.icon-stack[data-v-0f5572cb]{display:flex;flex-direction:column;align-items:center;line-height:1;border-radius:6px;padding:2px;cursor:pointer}.arrow[data-v-0f5572cb]{display:flex;align-items:center;justify-content:center;width:16px;height:27px;border-radius:4px;cursor:pointer}.hoverable[data-v-0f5572cb]:hover{background:#0000000d}.underline[data-v-0f5572cb]{width:16px;height:2px;border-radius:2px;margin-top:2px;background:#000}.color-select[data-v-0f5572cb]{position:relative;margin:0 4px;-webkit-user-select:none;user-select:none}.dropdown[data-v-0f5572cb]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:280px;max-width:320px;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;padding:8px;z-index:20;will-change:opacity,transform}.dropdown-slide-enter-from[data-v-0f5572cb],.dropdown-slide-leave-to[data-v-0f5572cb]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-0f5572cb],.dropdown-slide-leave-active[data-v-0f5572cb]{transition:opacity .18s ease,transform .18s ease}.section[data-v-0f5572cb]{margin-bottom:8px}.section-title[data-v-0f5572cb]{font-size:12px;color:#666;margin-bottom:6px}.swatches[data-v-0f5572cb]{display:flex;flex-wrap:wrap;gap:6px}.swatches.grid[data-v-0f5572cb]{grid-template-columns:repeat(10,1fr)}.swatch[data-v-0f5572cb]{width:18px;height:18px;border-radius:4px;cursor:pointer;position:relative;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;font-size:12px;justify-content:center}.swatch .check[data-v-0f5572cb]{position:absolute;top:0;right:2px;font-size:12px;color:#000;text-shadow:0 1px 2px rgba(255,255,255,.8)}.inline-actions[data-v-0f5572cb]{display:flex;justify-content:space-between;gap:8px}.btn[data-v-0f5572cb]{padding:4px 8px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:12px}.advanced[data-v-0f5572cb]{display:grid;grid-template-columns:auto 1fr auto;gap:4px;align-items:center;margin-top:8px}.hex[data-v-0f5572cb]{border:1px solid #e5e7eb;border-radius:8px;padding:4px 6px;font-size:12px}.apply[data-v-0f5572cb]{justify-self:end;flex-shrink:1}.svg-icon[data-v-c83ef2e3]{display:inline-block;line-height:0;vertical-align:middle}.svg-icon svg[data-v-c83ef2e3]{width:1em;height:1em;display:block}.icon[data-v-620c7aa3]{cursor:default;width:19px;height:19px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease-in-out;position:relative}.icon-dropdown[data-v-620c7aa3]{width:auto;padding:0 2px;min-width:20px;justify-content:space-between;background:#fff}.icon-stack[data-v-620c7aa3]{display:flex;flex-direction:column;align-items:center;line-height:1;border-radius:6px;padding:2px;cursor:pointer}.arrow[data-v-620c7aa3]{display:flex;align-items:center;justify-content:center;width:16px;height:27px;border-radius:4px;cursor:pointer}.hoverable[data-v-620c7aa3]:hover{background:#0000000d}.underline[data-v-620c7aa3]{width:16px;height:2px;border-radius:2px;margin-top:2px;background:#fff}.bg-color-select[data-v-620c7aa3]{position:relative;-webkit-user-select:none;user-select:none}.dropdown[data-v-620c7aa3]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:280px;max-width:320px;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;padding:8px;z-index:20;will-change:opacity,transform}.section[data-v-620c7aa3]{margin-bottom:8px}.section-title[data-v-620c7aa3]{font-size:12px;color:#666;margin-bottom:6px}.swatches[data-v-620c7aa3]{display:flex;flex-wrap:wrap;gap:6px}.swatches.grid[data-v-620c7aa3]{grid-template-columns:repeat(10,1fr)}.swatch[data-v-620c7aa3]{width:18px;height:18px;border-radius:4px;cursor:pointer;position:relative;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;font-size:12px;justify-content:center}.swatch .check[data-v-620c7aa3]{position:absolute;top:0;right:2px;font-size:12px;color:#000;text-shadow:0 1px 2px rgba(255,255,255,.8)}.inline-actions[data-v-620c7aa3]{display:flex;justify-content:space-between;gap:8px}.btn[data-v-620c7aa3]{padding:4px 8px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:12px}.advanced[data-v-620c7aa3]{display:grid;grid-template-columns:auto 1fr auto;gap:4px;align-items:center;margin-top:8px}.hex[data-v-620c7aa3]{border:1px solid #e5e7eb;border-radius:8px;padding:4px 6px;font-size:12px}.apply[data-v-620c7aa3]{justify-self:end;flex-shrink:1}.dropdown-slide-enter-from[data-v-620c7aa3],.dropdown-slide-leave-to[data-v-620c7aa3]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-620c7aa3],.dropdown-slide-leave-active[data-v-620c7aa3]{transition:opacity .18s ease,transform .18s ease}.image-icon[data-v-e1c5f3df]{position:relative}.image-input-panel[data-v-e1c5f3df]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:320px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20;will-change:opacity,transform}.image-input[data-v-e1c5f3df]{width:100%;padding:8px 10px;box-sizing:border-box;max-width:100%;border:1px solid #e5e7eb;border-radius:8px;outline:none;font-size:14px}.image-actions[data-v-e1c5f3df]{margin-top:8px;display:flex;gap:8px;justify-content:flex-end}.btn[data-v-e1c5f3df]{padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px}.btn[data-v-e1c5f3df]:hover{background:#0000000d}.btn-primary[data-v-e1c5f3df]{border:none;background:#1677ff;color:#fff}.btn-primary[data-v-e1c5f3df]:hover{background:#1677ff;opacity:.92}.img-panel-enter-active[data-v-e1c5f3df],.img-panel-leave-active[data-v-e1c5f3df]{transition:opacity .18s ease,transform .18s ease}.img-panel-enter-from[data-v-e1c5f3df],.img-panel-leave-to[data-v-e1c5f3df]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.img-panel-enter-to[data-v-e1c5f3df],.img-panel-leave-from[data-v-e1c5f3df]{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.video-icon[data-v-35a7027c]{position:relative}.video-input-panel[data-v-35a7027c]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:320px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20;will-change:opacity,transform}.video-input[data-v-35a7027c]{width:100%;padding:8px 10px;box-sizing:border-box;max-width:100%;border:1px solid #e5e7eb;border-radius:8px;outline:none;font-size:14px}.video-actions[data-v-35a7027c]{margin-top:8px;display:flex;gap:8px;justify-content:flex-end}.btn[data-v-35a7027c]{padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px}.btn[data-v-35a7027c]:hover{background:#0000000d}.btn-primary[data-v-35a7027c]{border:none;background:#1677ff;color:#fff}.btn-primary[data-v-35a7027c]:hover{background:#1677ff;opacity:.92}.video-panel-enter-active[data-v-35a7027c],.video-panel-leave-active[data-v-35a7027c]{transition:opacity .18s ease,transform .18s ease}.video-panel-enter-from[data-v-35a7027c],.video-panel-leave-to[data-v-35a7027c]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.video-panel-enter-to[data-v-35a7027c],.video-panel-leave-from[data-v-35a7027c]{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.find-icon[data-v-750ee9bb]{position:relative}.find-input-panel[data-v-750ee9bb]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:320px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20;will-change:opacity,transform}.fr-header[data-v-750ee9bb]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.fr-tab[data-v-750ee9bb]{border:none;background:transparent;padding:6px 8px;cursor:pointer;border-bottom:2px solid transparent}.fr-tab.active[data-v-750ee9bb]{border-color:#1a69f8;font-weight:600}.fr-label[data-v-750ee9bb]{display:block;font-size:12px;color:#666;margin:6px 0 4px}.fr-input-row[data-v-750ee9bb]{display:flex;align-items:center;gap:6px;width:100%}.fr-input[data-v-750ee9bb]{flex:1;padding:8px;border:1px solid #e5e7eb;border-radius:8px}.fr-count[data-v-750ee9bb]{font-size:12px;color:#999}.fr-actions[data-v-750ee9bb]{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.fr-btn[data-v-750ee9bb]{padding:6px 10px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer}.fr-btn.primary[data-v-750ee9bb]{color:#fff;background:#1a69f8;border-color:#1a69f8}.find-panel-enter-active[data-v-750ee9bb],.find-panel-leave-active[data-v-750ee9bb]{transition:opacity .18s ease,transform .18s ease}.find-panel-enter-from[data-v-750ee9bb],.find-panel-leave-to[data-v-750ee9bb]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.find-panel-enter-to[data-v-750ee9bb],.find-panel-leave-from[data-v-750ee9bb]{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.link-icon[data-v-47847dc2]{position:relative}.link-input-panel[data-v-47847dc2]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:320px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20;will-change:opacity,transform}.field[data-v-47847dc2]{margin-bottom:8px}.label[data-v-47847dc2]{font-size:12px;color:#666;margin-bottom:6px}.input[data-v-47847dc2]{width:100%;padding:8px 10px;box-sizing:border-box;max-width:100%;border:1px solid #e5e7eb;border-radius:8px;outline:none;font-size:14px}.actions[data-v-47847dc2]{display:flex;justify-content:flex-end;gap:8px}.btn[data-v-47847dc2]{padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px}.btn-primary[data-v-47847dc2]{border:none;background:#1677ff;color:#fff}.btn-primary[data-v-47847dc2]:hover{background:#1677ff;opacity:.92}.link-panel-enter-active[data-v-47847dc2],.link-panel-leave-active[data-v-47847dc2]{transition:opacity .18s ease,transform .18s ease}.link-panel-enter-from[data-v-47847dc2],.link-panel-leave-to[data-v-47847dc2]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.link-panel-enter-to[data-v-47847dc2],.link-panel-leave-from[data-v-47847dc2]{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.table-icon[data-v-8a3a35f7]{position:relative}.table-panel[data-v-8a3a35f7]{position:absolute;top:32px;right:0;min-width:220px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20}.panel-title[data-v-8a3a35f7]{font-size:12px;color:#666;margin-bottom:6px}.grid[data-v-8a3a35f7]{display:flex;flex-direction:column;gap:4px;padding:8px;background:#f7f8fa;border-radius:8px}.row[data-v-8a3a35f7]{display:flex;gap:4px}.cell[data-v-8a3a35f7]{width:18px;height:18px;background:#fff;border:1px solid #e5e7eb;border-radius:3px;cursor:pointer}.cell.active[data-v-8a3a35f7]{background:#e8f1ff;border-color:#1677ff}.size[data-v-8a3a35f7]{margin-top:6px;font-size:12px;color:#333}.table-tools[data-v-bbf06816]{position:relative}.tools-panel[data-v-bbf06816]{position:absolute;top:32px;right:0;min-width:280px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20}.tools-grid[data-v-bbf06816]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn[data-v-bbf06816]{padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px}.icon[data-v-693f2c14]{cursor:default;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;position:relative}.icon[data-v-693f2c14]:hover{background:#0000000d}.icon[data-v-587fb9a8]{cursor:pointer;width:27px;height:27px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease-in-out;color:#404040;position:relative}.icon[data-v-587fb9a8]:hover{background:#0000000d}.heading-select[data-v-aeb74f7c]{position:relative;margin:0 4px;-webkit-user-select:none;user-select:none;word-break:keep-all}.icon[data-v-aeb74f7c]{cursor:pointer;height:27px;border-radius:4px;display:flex;align-items:center;font-size:12px;transition:all .2s ease-in-out;position:relative;padding:0 6px;min-width:70px;justify-content:space-between;background:#fff}.icon[data-v-aeb74f7c]:hover{background:#0000000d}.label[data-v-aeb74f7c]{font-size:15px;color:#333}.dropdown[data-v-aeb74f7c]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:220px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;z-index:10;-webkit-user-select:none;user-select:none;will-change:opacity,transform}.dropdown-slide-enter-from[data-v-aeb74f7c],.dropdown-slide-leave-to[data-v-aeb74f7c]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-aeb74f7c],.dropdown-slide-leave-active[data-v-aeb74f7c]{transition:opacity .18s ease,transform .18s ease}.dropdown-item[data-v-aeb74f7c]{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:14px}.dropdown-item[data-v-aeb74f7c]:hover{background:#0000000d}.item-label[data-v-aeb74f7c]{flex:1;color:#222}.item-label.paragraph[data-v-aeb74f7c]{font-size:15px}.item-label.level-1[data-v-aeb74f7c]{font-size:22px;font-weight:600}.item-label.level-2[data-v-aeb74f7c]{font-size:20px;font-weight:600}.item-label.level-3[data-v-aeb74f7c]{font-size:18px;font-weight:600}.item-label.level-4[data-v-aeb74f7c]{font-size:16px}.item-label.level-5[data-v-aeb74f7c]{font-size:15px}.item-label.level-6[data-v-aeb74f7c]{font-size:14px}.shortcut[data-v-aeb74f7c]{color:#999;font-size:12px}.align-select[data-v-f2f793f3]{position:relative;margin:0 2px;-webkit-user-select:none;user-select:none;word-break:keep-all}.icon_box[data-v-f2f793f3]{cursor:pointer;height:27px;border-radius:4px;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease-in-out;padding:0 6px;background:#fff;gap:3px}.icon_box[data-v-f2f793f3]:hover{background:#0000000d}.dropdown[data-v-f2f793f3]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:160px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;z-index:10;-webkit-user-select:none;user-select:none;will-change:opacity,transform;padding:6px}.dropdown-slide-enter-from[data-v-f2f793f3],.dropdown-slide-leave-to[data-v-f2f793f3]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-f2f793f3],.dropdown-slide-leave-active[data-v-f2f793f3]{transition:opacity .18s ease,transform .18s ease}.options[data-v-f2f793f3]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.option[data-v-f2f793f3]{cursor:pointer;width:27px;height:27px;border-radius:6px;display:flex;align-items:center;justify-content:center}.option[data-v-f2f793f3]:hover{background:#0000000d}.option.active[data-v-f2f793f3]{background:#0000001a}.header_box[data-v-547a7ef3]{display:flex;align-items:center;gap:3px;padding:8px;border-bottom:1px solid rgba(0,0,0,.1)}.header_box .icon[data-v-547a7ef3]{cursor:pointer;width:27px;height:27px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease-in-out;position:relative}.header_box .icon[data-v-547a7ef3]:hover{background:#0000000d}.header_box .icon.active[data-v-547a7ef3]{background:#0000001a}.header_box .icon[aria-disabled=true][data-v-547a7ef3]{cursor:not-allowed;opacity:.5}.outline-wrapper[data-v-b5f802fc]{position:relative;-webkit-user-select:none;user-select:none}.outline[data-v-b5f802fc]{border-left:1px solid #e5e7eb;padding:8px;font-size:14px;position:sticky;top:0;align-self:start;max-height:100%;background:#fff;display:flex;flex-direction:column;width:0;opacity:0;overflow:hidden;transform:scaleX(0);transform-origin:right center;transition:width .2s ease,transform .2s ease,opacity .2s ease;border-left:none}.outline.isOpen[data-v-b5f802fc]{width:240px;opacity:1;transform:scaleX(1);border-left:1px solid #e5e7eb}.outline__listWrap[data-v-b5f802fc]{overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0}.outline__listWrap[data-v-b5f802fc]::-webkit-scrollbar{width:6px;height:1px}.outline__listWrap[data-v-b5f802fc]::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #1118181a;background:#787878}.outline__listWrap[data-v-b5f802fc]::-webkit-scrollbar-track{border-radius:10px;background:transparent}.outline__header[data-v-b5f802fc]{display:flex;align-items:center;font-weight:600;margin-bottom:8px}.outline__header[data-v-b5f802fc]>*{display:inline-flex;gap:6px}.outline__list[data-v-b5f802fc]{list-style:none;padding:0;margin:0}.outline__item[data-v-b5f802fc]{cursor:pointer;padding:4px 0;color:#333}.outline__caret[data-v-b5f802fc]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:4px;color:#666;transition:transform .12s ease}.outline__caret.collapsed[data-v-b5f802fc]{transform:rotate(0)}.outline__caret.expanded[data-v-b5f802fc]{transform:rotate(90deg)}.outline__item[data-v-b5f802fc]:hover{color:#6366f1}.outline__item.lv-1[data-v-b5f802fc]{padding-left:0}.outline__item.lv-2[data-v-b5f802fc]{padding-left:8px}.outline__item.lv-3[data-v-b5f802fc]{padding-left:16px}.outline__item.lv-4[data-v-b5f802fc]{padding-left:24px}.outline__item.lv-5[data-v-b5f802fc]{padding-left:32px}.outline__item.lv-6[data-v-b5f802fc]{padding-left:40px}.outline__text[data-v-b5f802fc]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outline__close[data-v-b5f802fc]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:#fff;border-radius:50%;box-shadow:0 2px 10px #00000014;color:#666;cursor:pointer}.outline__close[data-v-b5f802fc]:hover{color:#6366f1}.outline__title[data-v-b5f802fc]{display:inline-flex;align-items:center;gap:6px}.outline__pinIcon[data-v-b5f802fc]{display:inline-flex;width:16px;height:16px;color:#666;cursor:pointer}.outline-drawer-mask[data-v-b5f802fc]{display:none}@media (max-width: 900px){.outline[data-v-b5f802fc]{position:absolute;right:0;top:0;bottom:0;width:0;max-width:85vw;box-shadow:-6px 0 24px #00000014;z-index:10}.outline.isOpen[data-v-b5f802fc]{width:min(85vw,280px)}.outline-drawer-mask[data-v-b5f802fc]{display:block;position:absolute;left:0;right:0;top:0;bottom:0;background:#00000029;z-index:10}}.outline-slide-enter-active[data-v-b5f802fc],.outline-slide-leave-active[data-v-b5f802fc]{transition:transform .18s ease,opacity .18s ease}.outline-slide-enter-from[data-v-b5f802fc],.outline-slide-leave-to[data-v-b5f802fc]{opacity:0;transform:translate(16px)}@media (max-width: 900px){.outline-slide-enter-from[data-v-b5f802fc],.outline-slide-leave-to[data-v-b5f802fc]{transform:translate(100%)}}.outline-mask-enter-active[data-v-b5f802fc],.outline-mask-leave-active[data-v-b5f802fc]{transition:opacity .18s ease}.outline-mask-enter-from[data-v-b5f802fc],.outline-mask-leave-to[data-v-b5f802fc]{opacity:0}.simple-editor[data-v-81f1ca5f]{height:var(--editor-height, auto);min-height:var(--editor-min-height, 100px);display:flex;flex-direction:column;border-radius:8px;background:#fff;box-sizing:border-box;border:1px solid #e5e7eb}.simple-editor.fullscreen[data-v-81f1ca5f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;border-radius:0}.editor_wrapper[data-v-81f1ca5f]{position:relative;overflow-y:auto;color:#333;align-items:stretch;flex:1 1 auto;min-height:0}.editor_wrapper[data-v-81f1ca5f]::-webkit-scrollbar{width:6px;height:1px}.editor_wrapper[data-v-81f1ca5f]::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #1118181a;background:#787878}.editor_wrapper[data-v-81f1ca5f]::-webkit-scrollbar-track{border-radius:10px;background:transparent}.editor_main[data-v-81f1ca5f]{display:grid;grid-template-columns:1fr auto;align-items:stretch;flex:1 1 auto;min-height:0;position:relative}.outline-toggle-row[data-v-81f1ca5f]{position:sticky;top:12px;z-index:3;display:flex;justify-content:flex-end;padding-right:12px}.outline-markers[data-v-81f1ca5f]{position:absolute;right:0;top:0;bottom:0;width:18px;z-index:4}.outline-pin[data-v-81f1ca5f]{position:absolute;right:3px;top:8px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:#fff;border-radius:50%;box-shadow:0 2px 10px #00000014;color:#666;cursor:pointer}.outline-marker[data-v-81f1ca5f]{position:absolute;right:3px;width:12px;height:2px;background:#d0d5dd;border-radius:2px}.outline-marker.active[data-v-81f1ca5f]{background:#22c55e}.content[data-v-81f1ca5f]{padding:12px 24px}.content[data-v-81f1ca5f] img{max-width:100%;height:auto;display:inline-block}.content[data-v-81f1ca5f] .ProseMirror{outline:none;caret-color:var(--editor-caret-color)}.content[data-v-81f1ca5f] .drag-hover-target{background:#eef5ff;border-radius:8px}.content[data-v-81f1ca5f] ul[data-type=taskList]{list-style:none;padding-left:0;margin:12px 0}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem]{display:flex;align-items:flex-start;gap:8px;margin:6px 0}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem] .todo-box{width:16px;height:16px;border-radius:4px;border:1px solid #e5e7eb;background:#fff;box-shadow:inset 0 1px 2px #0000000f;margin-top:2px;flex-shrink:0;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;transition:background-color .16s ease,border-color .16s ease}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem] .todo-box:after{content:"✓";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.3);opacity:0;color:#fff;font-size:12px;font-weight:700;transition:transform .18s ease,opacity .18s ease;animation:todo-check-out-81f1ca5f .18s ease both}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem][data-checked=true] .todo-box{background:#22c55e;border-color:#22c55e}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem][data-checked=true] .todo-box:after{transform:translate(-50%,-50%) scale(1);opacity:1;animation:todo-check-in-81f1ca5f .22s cubic-bezier(.2,.7,.3,1.2) both}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem] .todo-box:focus{outline:2px solid #1677ff44}@keyframes todo-check-in-81f1ca5f{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}60%{transform:translate(-50%,-50%) scale(1.15);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes todo-check-out-81f1ca5f{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(.3);opacity:0}}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem]>label,.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem] .task-item__label{display:inline-flex;align-items:center;margin-right:6px}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem] input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;position:static;opacity:1;pointer-events:auto;width:16px;height:16px;border-radius:4px;border:1px solid #e5e7eb;margin-top:2px}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem][data-checked=true] input[type=checkbox]{accent-color:#22c55e}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem] .task-content,.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem] .task-item__content{flex:1;min-width:1px}.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem] .task-content p,.content[data-v-81f1ca5f] ul[data-type=taskList] li[data-type=taskItem] .task-item__content p{margin:0}.content[data-v-81f1ca5f] img.ProseMirror-selectednode{outline:2px solid #6366f1;border-radius:4px}.content[data-v-81f1ca5f] [data-resize-wrapper]{display:inline-block}.content[data-v-81f1ca5f] .tiptap-resize-handle{width:10px;height:10px;background:#1677ffd9;border-radius:2px;box-shadow:0 0 0 1px #fff;cursor:nwse-resize;z-index:4;opacity:0;pointer-events:none;transition:opacity .12s ease}.content[data-v-81f1ca5f] .tiptap-resize-handle[data-resize-handle=top-left],.content[data-v-81f1ca5f] .tiptap-resize-handle[data-resize-handle=bottom-right]{cursor:nwse-resize}.content[data-v-81f1ca5f] .tiptap-resize-handle[data-resize-handle=top-right],.content[data-v-81f1ca5f] .tiptap-resize-handle[data-resize-handle=bottom-left]{cursor:nesw-resize}.content[data-v-81f1ca5f] .tiptap-resize-wrapper:hover .tiptap-resize-handle,.content[data-v-81f1ca5f] .tiptap-resize-container[data-resize-state=true] .tiptap-resize-handle{opacity:1;pointer-events:auto}.content[data-v-81f1ca5f] .tiptap-resize-wrapper:hover>img,.content[data-v-81f1ca5f] .tiptap-resize-wrapper:hover>video{outline:2px solid #6366f1;border-radius:4px}.content[data-v-81f1ca5f] .tiptap-resize-wrapper{position:relative}.content[data-v-81f1ca5f] .tiptap-resize-wrapper[data-uploading=true] .tiptap-upload-mask{pointer-events:auto}.content[data-v-81f1ca5f] .tiptap-upload-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;display:flex;align-items:center;justify-content:center;color:#1677ff;font-size:12px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:2}.content[data-v-81f1ca5f] .tiptap-resize-wrapper[data-uploading=true] .tiptap-upload-mask{opacity:1}.content[data-v-81f1ca5f] .tiptap-upload-progress{width:66%;max-width:360px;height:6px;background:#0003;border-radius:4px;overflow:hidden;position:relative}.content[data-v-81f1ca5f] .tiptap-upload-progress:before{content:"";position:absolute;left:-40%;width:40%;height:100%;background:#1677ff;border-radius:4px;animation:tiptap-upload-indeterminate-81f1ca5f 1.1s ease-in-out infinite}@keyframes tiptap-upload-indeterminate-81f1ca5f{0%{left:-40%}50%{left:60%}to{left:100%}}.content[data-v-81f1ca5f] .tiptap-resize-container.is-resizing .tiptap-resize-handle{background:#1677ff}.content[data-v-81f1ca5f] .ProseMirror table{border-collapse:collapse;margin:12px 0;width:100%}.content[data-v-81f1ca5f] .ProseMirror table th,.content[data-v-81f1ca5f] .ProseMirror table td{border:1px solid #e5e7eb;padding:8px;text-align:left;position:relative}.content[data-v-81f1ca5f] .ProseMirror table thead th{background:#f7f9fc;font-weight:600}.content[data-v-81f1ca5f] .ProseMirror table .selectedCell{background:#1677ff0f;outline:2px solid #1677ff;outline-offset:-2px}.content[data-v-81f1ca5f] .ProseMirror table .column-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:8px;background:transparent;cursor:col-resize;z-index:3;-webkit-user-select:none;user-select:none;pointer-events:auto}.content[data-v-81f1ca5f] .ProseMirror table .column-resize-handle:hover{background:#1677ff40}.content[data-v-81f1ca5f] .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#999;pointer-events:none;float:left;height:0;white-space:pre-line}.content[data-v-81f1ca5f] code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#f2f4f7;padding:2px 4px;border-radius:4px}.content[data-v-81f1ca5f] blockquote{border-left:3px solid #e5e7eb;margin:12px 0;padding:4px 12px;color:#6b7280}.content[data-v-81f1ca5f] pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#f6f8fa;padding:12px;border-radius:6px;border:1px solid #e5e7eb;overflow:auto}.content[data-v-81f1ca5f] p{margin:12px 0}[data-v-81f1ca5f] .md-drag-handle{width:22px;height:22px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #00000014;background:#fff;border:1px solid #e5e7eb;cursor:grab;z-index:5}[data-v-81f1ca5f] .md-drag-handle:before{content:"···";letter-spacing:2px;color:#888;font-weight:700}@media (max-width: 900px){.editor_main[data-v-81f1ca5f]{grid-template-columns:1fr}.outline-markers[data-v-81f1ca5f]{display:none}}.link-modal-backdrop[data-v-81f1ca5f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003}.link-modal[data-v-81f1ca5f]{position:fixed;left:50%;top:20%;transform:translate(-50%);z-index:1000}.link-modal__content[data-v-81f1ca5f]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:360px;padding:12px;box-shadow:0 6px 24px #00000014}.link-modal__title[data-v-81f1ca5f]{font-weight:600;margin-bottom:8px}.link-modal__input[data-v-81f1ca5f]{width:100%;padding:8px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px}.link-modal__actions[data-v-81f1ca5f]{display:flex;gap:8px;justify-content:flex-end}.link-modal__actions button[data-v-81f1ca5f]{padding:6px 10px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer}.tiptap-video[data-v-81f1ca5f]{display:block;width:640px;height:auto}[data-format-brush=true] .ProseMirror{cursor:url("data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1763569611105'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='87406'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='18'%20height='18'%3e%3cpath%20d='M840%20192h-56v-72c0-13.3-10.7-24-24-24H168c-13.3%200-24%2010.7-24%2024v272c0%2013.3%2010.7%2024%2024%2024h592c13.3%200%2024-10.7%2024-24V256h32v200H465c-22.1%200-40%2017.9-40%2040v136h-44c-4.4%200-8%203.6-8%208v228c0%200.6%200.1%201.3%200.2%201.9-0.1%202-0.2%204.1-0.2%206.1%200%2046.4%2037.6%2084%2084%2084s84-37.6%2084-84c0-2.1-0.1-4.1-0.2-6.1%200.1-0.6%200.2-1.2%200.2-1.9V640c0-4.4-3.6-8-8-8h-44V520h351c22.1%200%2040-17.9%2040-40V232c0-22.1-17.9-40-40-40zM720%20352H208V160h512v192zM477%20876c0%2011-9%2020-20%2020s-20-9-20-20V696h40v180z'%20p-id='87407'%3e%3c/path%3e%3c/svg%3e") 0 16,crosshair}[data-format-brush=true] .ProseMirror *{cursor:inherit}`)),document.head.appendChild(a)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
3
|
-
import { inject as ee, createVNode as d, defineComponent as ot, ref as
|
|
2
|
+
(function(){"use strict";try{if(typeof document<"u"){var a=document.createElement("style");a.appendChild(document.createTextNode(`.tooltip-wrapper[data-v-2e4633d5]{position:relative;display:inline-flex;align-items:center;line-height:0}.tooltip[data-v-2e4633d5]{position:fixed;transform:translate(-50%);background:#3c3c3cf2;color:#fff;border-radius:8px;padding:6px 8px;font-size:12px;line-height:1.2;box-shadow:0 6px 20px #0003;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease;pointer-events:none;z-index:1000}.tooltip.visible[data-v-2e4633d5]{opacity:1;visibility:visible}.shortcut[data-v-2e4633d5]{display:inline-block;margin-top:4px;opacity:.9;z-index:1000}.icon[data-v-8ea77a66]{cursor:pointer;width:27px;height:27px;border-radius:4px;display:flex;align-items:center;font-size:12px;transition:all .2s ease-in-out;position:relative;padding:0 6px;min-width:50px;justify-content:space-between;background:#fff}.icon[data-v-8ea77a66]:hover{background:#0000000d}.font-size[data-v-8ea77a66]{position:relative;margin:0 4px;-webkit-user-select:none;user-select:none}.label[data-v-8ea77a66]{font-size:15px;color:#333}.dropdown[data-v-8ea77a66]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:160px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;z-index:10;-webkit-user-select:none;user-select:none;will-change:opacity,transform}.dropdown-slide-enter-from[data-v-8ea77a66],.dropdown-slide-leave-to[data-v-8ea77a66]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-8ea77a66],.dropdown-slide-leave-active[data-v-8ea77a66]{transition:opacity .18s ease,transform .18s ease}.dropdown-item[data-v-8ea77a66]{display:flex;align-items:center;gap:8px;padding:6px 12px;cursor:pointer;font-size:14px}.dropdown-item[data-v-8ea77a66]:hover{background:#0000000d}.text[data-v-8ea77a66]{flex:1}.icon[data-v-0f5572cb]{cursor:default;width:27px;height:27px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease-in-out;position:relative}.icon-dropdown[data-v-0f5572cb]{width:auto;justify-content:space-between;background:#fff}.icon-stack[data-v-0f5572cb]{display:flex;flex-direction:column;align-items:center;line-height:1;border-radius:6px;padding:2px;cursor:pointer}.arrow[data-v-0f5572cb]{display:flex;align-items:center;justify-content:center;width:16px;height:27px;border-radius:4px;cursor:pointer}.hoverable[data-v-0f5572cb]:hover{background:#0000000d}.underline[data-v-0f5572cb]{width:16px;height:2px;border-radius:2px;margin-top:2px;background:#000}.color-select[data-v-0f5572cb]{position:relative;margin:0 4px;-webkit-user-select:none;user-select:none}.dropdown[data-v-0f5572cb]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:280px;max-width:320px;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;padding:8px;z-index:20;will-change:opacity,transform}.dropdown-slide-enter-from[data-v-0f5572cb],.dropdown-slide-leave-to[data-v-0f5572cb]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-0f5572cb],.dropdown-slide-leave-active[data-v-0f5572cb]{transition:opacity .18s ease,transform .18s ease}.section[data-v-0f5572cb]{margin-bottom:8px}.section-title[data-v-0f5572cb]{font-size:12px;color:#666;margin-bottom:6px}.swatches[data-v-0f5572cb]{display:flex;flex-wrap:wrap;gap:6px}.swatches.grid[data-v-0f5572cb]{grid-template-columns:repeat(10,1fr)}.swatch[data-v-0f5572cb]{width:18px;height:18px;border-radius:4px;cursor:pointer;position:relative;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;font-size:12px;justify-content:center}.swatch .check[data-v-0f5572cb]{position:absolute;top:0;right:2px;font-size:12px;color:#000;text-shadow:0 1px 2px rgba(255,255,255,.8)}.inline-actions[data-v-0f5572cb]{display:flex;justify-content:space-between;gap:8px}.btn[data-v-0f5572cb]{padding:4px 8px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:12px}.advanced[data-v-0f5572cb]{display:grid;grid-template-columns:auto 1fr auto;gap:4px;align-items:center;margin-top:8px}.hex[data-v-0f5572cb]{border:1px solid #e5e7eb;border-radius:8px;padding:4px 6px;font-size:12px}.apply[data-v-0f5572cb]{justify-self:end;flex-shrink:1}.svg-icon[data-v-c83ef2e3]{display:inline-block;line-height:0;vertical-align:middle}.svg-icon svg[data-v-c83ef2e3]{width:1em;height:1em;display:block}.icon[data-v-620c7aa3]{cursor:default;width:19px;height:19px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease-in-out;position:relative}.icon-dropdown[data-v-620c7aa3]{width:auto;padding:0 2px;min-width:20px;justify-content:space-between;background:#fff}.icon-stack[data-v-620c7aa3]{display:flex;flex-direction:column;align-items:center;line-height:1;border-radius:6px;padding:2px;cursor:pointer}.arrow[data-v-620c7aa3]{display:flex;align-items:center;justify-content:center;width:16px;height:27px;border-radius:4px;cursor:pointer}.hoverable[data-v-620c7aa3]:hover{background:#0000000d}.underline[data-v-620c7aa3]{width:16px;height:2px;border-radius:2px;margin-top:2px;background:#fff}.bg-color-select[data-v-620c7aa3]{position:relative;-webkit-user-select:none;user-select:none}.dropdown[data-v-620c7aa3]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:280px;max-width:320px;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;padding:8px;z-index:20;will-change:opacity,transform}.section[data-v-620c7aa3]{margin-bottom:8px}.section-title[data-v-620c7aa3]{font-size:12px;color:#666;margin-bottom:6px}.swatches[data-v-620c7aa3]{display:flex;flex-wrap:wrap;gap:6px}.swatches.grid[data-v-620c7aa3]{grid-template-columns:repeat(10,1fr)}.swatch[data-v-620c7aa3]{width:18px;height:18px;border-radius:4px;cursor:pointer;position:relative;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;font-size:12px;justify-content:center}.swatch .check[data-v-620c7aa3]{position:absolute;top:0;right:2px;font-size:12px;color:#000;text-shadow:0 1px 2px rgba(255,255,255,.8)}.inline-actions[data-v-620c7aa3]{display:flex;justify-content:space-between;gap:8px}.btn[data-v-620c7aa3]{padding:4px 8px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:12px}.advanced[data-v-620c7aa3]{display:grid;grid-template-columns:auto 1fr auto;gap:4px;align-items:center;margin-top:8px}.hex[data-v-620c7aa3]{border:1px solid #e5e7eb;border-radius:8px;padding:4px 6px;font-size:12px}.apply[data-v-620c7aa3]{justify-self:end;flex-shrink:1}.dropdown-slide-enter-from[data-v-620c7aa3],.dropdown-slide-leave-to[data-v-620c7aa3]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-620c7aa3],.dropdown-slide-leave-active[data-v-620c7aa3]{transition:opacity .18s ease,transform .18s ease}.image-icon[data-v-e1c5f3df]{position:relative}.image-input-panel[data-v-e1c5f3df]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:320px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20;will-change:opacity,transform}.image-input[data-v-e1c5f3df]{width:100%;padding:8px 10px;box-sizing:border-box;max-width:100%;border:1px solid #e5e7eb;border-radius:8px;outline:none;font-size:14px}.image-actions[data-v-e1c5f3df]{margin-top:8px;display:flex;gap:8px;justify-content:flex-end}.btn[data-v-e1c5f3df]{padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px}.btn[data-v-e1c5f3df]:hover{background:#0000000d}.btn-primary[data-v-e1c5f3df]{border:none;background:#1677ff;color:#fff}.btn-primary[data-v-e1c5f3df]:hover{background:#1677ff;opacity:.92}.img-panel-enter-active[data-v-e1c5f3df],.img-panel-leave-active[data-v-e1c5f3df]{transition:opacity .18s ease,transform .18s ease}.img-panel-enter-from[data-v-e1c5f3df],.img-panel-leave-to[data-v-e1c5f3df]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.img-panel-enter-to[data-v-e1c5f3df],.img-panel-leave-from[data-v-e1c5f3df]{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.video-icon[data-v-35a7027c]{position:relative}.video-input-panel[data-v-35a7027c]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:320px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20;will-change:opacity,transform}.video-input[data-v-35a7027c]{width:100%;padding:8px 10px;box-sizing:border-box;max-width:100%;border:1px solid #e5e7eb;border-radius:8px;outline:none;font-size:14px}.video-actions[data-v-35a7027c]{margin-top:8px;display:flex;gap:8px;justify-content:flex-end}.btn[data-v-35a7027c]{padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px}.btn[data-v-35a7027c]:hover{background:#0000000d}.btn-primary[data-v-35a7027c]{border:none;background:#1677ff;color:#fff}.btn-primary[data-v-35a7027c]:hover{background:#1677ff;opacity:.92}.video-panel-enter-active[data-v-35a7027c],.video-panel-leave-active[data-v-35a7027c]{transition:opacity .18s ease,transform .18s ease}.video-panel-enter-from[data-v-35a7027c],.video-panel-leave-to[data-v-35a7027c]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.video-panel-enter-to[data-v-35a7027c],.video-panel-leave-from[data-v-35a7027c]{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.find-icon[data-v-750ee9bb]{position:relative}.find-input-panel[data-v-750ee9bb]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:320px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20;will-change:opacity,transform}.fr-header[data-v-750ee9bb]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.fr-tab[data-v-750ee9bb]{border:none;background:transparent;padding:6px 8px;cursor:pointer;border-bottom:2px solid transparent}.fr-tab.active[data-v-750ee9bb]{border-color:#1a69f8;font-weight:600}.fr-label[data-v-750ee9bb]{display:block;font-size:12px;color:#666;margin:6px 0 4px}.fr-input-row[data-v-750ee9bb]{display:flex;align-items:center;gap:6px;width:100%}.fr-input[data-v-750ee9bb]{flex:1;padding:8px;border:1px solid #e5e7eb;border-radius:8px}.fr-count[data-v-750ee9bb]{font-size:12px;color:#999}.fr-actions[data-v-750ee9bb]{display:flex;gap:8px;margin-top:10px;justify-content:flex-end}.fr-btn[data-v-750ee9bb]{padding:6px 10px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer}.fr-btn.primary[data-v-750ee9bb]{color:#fff;background:#1a69f8;border-color:#1a69f8}.find-panel-enter-active[data-v-750ee9bb],.find-panel-leave-active[data-v-750ee9bb]{transition:opacity .18s ease,transform .18s ease}.find-panel-enter-from[data-v-750ee9bb],.find-panel-leave-to[data-v-750ee9bb]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.find-panel-enter-to[data-v-750ee9bb],.find-panel-leave-from[data-v-750ee9bb]{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.link-icon[data-v-47847dc2]{position:relative}.link-input-panel[data-v-47847dc2]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:320px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20;will-change:opacity,transform}.field[data-v-47847dc2]{margin-bottom:8px}.label[data-v-47847dc2]{font-size:12px;color:#666;margin-bottom:6px}.input[data-v-47847dc2]{width:100%;padding:8px 10px;box-sizing:border-box;max-width:100%;border:1px solid #e5e7eb;border-radius:8px;outline:none;font-size:14px}.actions[data-v-47847dc2]{display:flex;justify-content:flex-end;gap:8px}.btn[data-v-47847dc2]{padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px}.btn-primary[data-v-47847dc2]{border:none;background:#1677ff;color:#fff}.btn-primary[data-v-47847dc2]:hover{background:#1677ff;opacity:.92}.link-panel-enter-active[data-v-47847dc2],.link-panel-leave-active[data-v-47847dc2]{transition:opacity .18s ease,transform .18s ease}.link-panel-enter-from[data-v-47847dc2],.link-panel-leave-to[data-v-47847dc2]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.link-panel-enter-to[data-v-47847dc2],.link-panel-leave-from[data-v-47847dc2]{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.table-icon[data-v-8a3a35f7]{position:relative}.table-panel[data-v-8a3a35f7]{position:absolute;top:32px;right:0;min-width:220px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20}.panel-title[data-v-8a3a35f7]{font-size:12px;color:#666;margin-bottom:6px}.grid[data-v-8a3a35f7]{display:flex;flex-direction:column;gap:4px;padding:8px;background:#f7f8fa;border-radius:8px}.row[data-v-8a3a35f7]{display:flex;gap:4px}.cell[data-v-8a3a35f7]{width:18px;height:18px;background:#fff;border:1px solid #e5e7eb;border-radius:3px;cursor:pointer}.cell.active[data-v-8a3a35f7]{background:#e8f1ff;border-color:#1677ff}.size[data-v-8a3a35f7]{margin-top:6px;font-size:12px;color:#333}.table-tools[data-v-bbf06816]{position:relative}.tools-panel[data-v-bbf06816]{position:absolute;top:32px;right:0;min-width:280px;padding:10px;border:1px solid rgba(0,0,0,.1);background:#fff;border-radius:8px;box-shadow:0 6px 24px #0000001f;z-index:20}.tools-grid[data-v-bbf06816]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.btn[data-v-bbf06816]{padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;cursor:pointer;font-size:13px}.icon[data-v-693f2c14]{cursor:default;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease-in-out;position:relative}.icon[data-v-693f2c14]:hover{background:#0000000d}.icon[data-v-587fb9a8]{cursor:pointer;width:27px;height:27px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease-in-out;color:#404040;position:relative}.icon[data-v-587fb9a8]:hover{background:#0000000d}.heading-select[data-v-aeb74f7c]{position:relative;margin:0 4px;-webkit-user-select:none;user-select:none;word-break:keep-all}.icon[data-v-aeb74f7c]{cursor:pointer;height:27px;border-radius:4px;display:flex;align-items:center;font-size:12px;transition:all .2s ease-in-out;position:relative;padding:0 6px;min-width:70px;justify-content:space-between;background:#fff}.icon[data-v-aeb74f7c]:hover{background:#0000000d}.label[data-v-aeb74f7c]{font-size:15px;color:#333}.dropdown[data-v-aeb74f7c]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:220px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;z-index:10;-webkit-user-select:none;user-select:none;will-change:opacity,transform}.dropdown-slide-enter-from[data-v-aeb74f7c],.dropdown-slide-leave-to[data-v-aeb74f7c]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-aeb74f7c],.dropdown-slide-leave-active[data-v-aeb74f7c]{transition:opacity .18s ease,transform .18s ease}.dropdown-item[data-v-aeb74f7c]{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;font-size:14px}.dropdown-item[data-v-aeb74f7c]:hover{background:#0000000d}.item-label[data-v-aeb74f7c]{flex:1;color:#222}.item-label.paragraph[data-v-aeb74f7c]{font-size:15px}.item-label.level-1[data-v-aeb74f7c]{font-size:22px;font-weight:600}.item-label.level-2[data-v-aeb74f7c]{font-size:20px;font-weight:600}.item-label.level-3[data-v-aeb74f7c]{font-size:18px;font-weight:600}.item-label.level-4[data-v-aeb74f7c]{font-size:16px}.item-label.level-5[data-v-aeb74f7c]{font-size:15px}.item-label.level-6[data-v-aeb74f7c]{font-size:14px}.shortcut[data-v-aeb74f7c]{color:#999;font-size:12px}.align-select[data-v-f2f793f3]{position:relative;margin:0 2px;-webkit-user-select:none;user-select:none;word-break:keep-all}.icon_box[data-v-f2f793f3]{cursor:pointer;height:27px;border-radius:4px;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease-in-out;padding:0 6px;background:#fff;gap:3px}.icon_box[data-v-f2f793f3]:hover{background:#0000000d}.dropdown[data-v-f2f793f3]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:160px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;box-shadow:0 6px 24px #00000014;z-index:10;-webkit-user-select:none;user-select:none;will-change:opacity,transform;padding:6px}.dropdown-slide-enter-from[data-v-f2f793f3],.dropdown-slide-leave-to[data-v-f2f793f3]{opacity:0;transform:translate(-50%) translateY(-6px) scale(.98)}.dropdown-slide-enter-active[data-v-f2f793f3],.dropdown-slide-leave-active[data-v-f2f793f3]{transition:opacity .18s ease,transform .18s ease}.options[data-v-f2f793f3]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.option[data-v-f2f793f3]{cursor:pointer;width:27px;height:27px;border-radius:6px;display:flex;align-items:center;justify-content:center}.option[data-v-f2f793f3]:hover{background:#0000000d}.option.active[data-v-f2f793f3]{background:#0000001a}.header_box[data-v-40d61df0]{display:flex;align-items:center;gap:3px;padding:8px;border-bottom:1px solid rgba(0,0,0,.1)}.header_box.disabled[data-v-40d61df0]{pointer-events:none;opacity:.5}.header_box .icon[data-v-40d61df0]{cursor:pointer;width:27px;height:27px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all .2s ease-in-out;position:relative}.header_box .icon[data-v-40d61df0]:hover{background:#0000000d}.header_box .icon.active[data-v-40d61df0]{background:#0000001a}.header_box .icon[aria-disabled=true][data-v-40d61df0]{cursor:not-allowed;opacity:.5}.outline-wrapper[data-v-b5f802fc]{position:relative;-webkit-user-select:none;user-select:none}.outline[data-v-b5f802fc]{border-left:1px solid #e5e7eb;padding:8px;font-size:14px;position:sticky;top:0;align-self:start;max-height:100%;background:#fff;display:flex;flex-direction:column;width:0;opacity:0;overflow:hidden;transform:scaleX(0);transform-origin:right center;transition:width .2s ease,transform .2s ease,opacity .2s ease;border-left:none}.outline.isOpen[data-v-b5f802fc]{width:240px;opacity:1;transform:scaleX(1);border-left:1px solid #e5e7eb}.outline__listWrap[data-v-b5f802fc]{overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-height:0}.outline__listWrap[data-v-b5f802fc]::-webkit-scrollbar{width:6px;height:1px}.outline__listWrap[data-v-b5f802fc]::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #1118181a;background:#787878}.outline__listWrap[data-v-b5f802fc]::-webkit-scrollbar-track{border-radius:10px;background:transparent}.outline__header[data-v-b5f802fc]{display:flex;align-items:center;font-weight:600;margin-bottom:8px}.outline__header[data-v-b5f802fc]>*{display:inline-flex;gap:6px}.outline__list[data-v-b5f802fc]{list-style:none;padding:0;margin:0}.outline__item[data-v-b5f802fc]{cursor:pointer;padding:4px 0;color:#333}.outline__caret[data-v-b5f802fc]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:4px;color:#666;transition:transform .12s ease}.outline__caret.collapsed[data-v-b5f802fc]{transform:rotate(0)}.outline__caret.expanded[data-v-b5f802fc]{transform:rotate(90deg)}.outline__item[data-v-b5f802fc]:hover{color:#6366f1}.outline__item.lv-1[data-v-b5f802fc]{padding-left:0}.outline__item.lv-2[data-v-b5f802fc]{padding-left:8px}.outline__item.lv-3[data-v-b5f802fc]{padding-left:16px}.outline__item.lv-4[data-v-b5f802fc]{padding-left:24px}.outline__item.lv-5[data-v-b5f802fc]{padding-left:32px}.outline__item.lv-6[data-v-b5f802fc]{padding-left:40px}.outline__text[data-v-b5f802fc]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.outline__close[data-v-b5f802fc]{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:#fff;border-radius:50%;box-shadow:0 2px 10px #00000014;color:#666;cursor:pointer}.outline__close[data-v-b5f802fc]:hover{color:#6366f1}.outline__title[data-v-b5f802fc]{display:inline-flex;align-items:center;gap:6px}.outline__pinIcon[data-v-b5f802fc]{display:inline-flex;width:16px;height:16px;color:#666;cursor:pointer}.outline-drawer-mask[data-v-b5f802fc]{display:none}@media (max-width: 900px){.outline[data-v-b5f802fc]{position:absolute;right:0;top:0;bottom:0;width:0;max-width:85vw;box-shadow:-6px 0 24px #00000014;z-index:10}.outline.isOpen[data-v-b5f802fc]{width:min(85vw,280px)}.outline-drawer-mask[data-v-b5f802fc]{display:block;position:absolute;left:0;right:0;top:0;bottom:0;background:#00000029;z-index:10}}.outline-slide-enter-active[data-v-b5f802fc],.outline-slide-leave-active[data-v-b5f802fc]{transition:transform .18s ease,opacity .18s ease}.outline-slide-enter-from[data-v-b5f802fc],.outline-slide-leave-to[data-v-b5f802fc]{opacity:0;transform:translate(16px)}@media (max-width: 900px){.outline-slide-enter-from[data-v-b5f802fc],.outline-slide-leave-to[data-v-b5f802fc]{transform:translate(100%)}}.outline-mask-enter-active[data-v-b5f802fc],.outline-mask-leave-active[data-v-b5f802fc]{transition:opacity .18s ease}.outline-mask-enter-from[data-v-b5f802fc],.outline-mask-leave-to[data-v-b5f802fc]{opacity:0}.simple-editor[data-v-c5cc8864]{height:var(--editor-height, auto);min-height:var(--editor-min-height, 100px);display:flex;flex-direction:column;border-radius:8px;background:#fff;box-sizing:border-box;border:1px solid #e5e7eb}.simple-editor.fullscreen[data-v-c5cc8864]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;border-radius:0}.simple-editor.readonly[data-v-c5cc8864] .tiptap-resize-handle,.simple-editor.readonly[data-v-c5cc8864] .tiptap-resize-wrapper{pointer-events:none}.editor_wrapper[data-v-c5cc8864]{position:relative;overflow-y:auto;color:#333;align-items:stretch;flex:1 1 auto;min-height:0}.editor_wrapper[data-v-c5cc8864]::-webkit-scrollbar{width:6px;height:1px}.editor_wrapper[data-v-c5cc8864]::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #1118181a;background:#787878}.editor_wrapper[data-v-c5cc8864]::-webkit-scrollbar-track{border-radius:10px;background:transparent}.editor_main[data-v-c5cc8864]{display:grid;grid-template-columns:1fr auto;align-items:stretch;flex:1 1 auto;min-height:0;position:relative}.outline-toggle-row[data-v-c5cc8864]{position:sticky;top:12px;z-index:3;display:flex;justify-content:flex-end;padding-right:12px}.outline-markers[data-v-c5cc8864]{position:absolute;right:0;top:0;bottom:0;width:18px;z-index:4}.outline-pin[data-v-c5cc8864]{position:absolute;right:3px;top:8px;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;background:#fff;border-radius:50%;box-shadow:0 2px 10px #00000014;color:#666;cursor:pointer}.outline-marker[data-v-c5cc8864]{position:absolute;right:3px;width:12px;height:2px;background:#d0d5dd;border-radius:2px}.outline-marker.active[data-v-c5cc8864]{background:#22c55e}.content[data-v-c5cc8864]{padding:12px 24px}.content[data-v-c5cc8864] img{max-width:100%;height:auto;display:inline-block}.content[data-v-c5cc8864] .ProseMirror{outline:none;caret-color:var(--editor-caret-color)}.content[data-v-c5cc8864] .drag-hover-target{background:#eef5ff;border-radius:8px}.content[data-v-c5cc8864] ul[data-type=taskList]{list-style:none;padding-left:0;margin:12px 0}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem]{display:flex;align-items:flex-start;gap:8px;margin:6px 0}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem] .todo-box{width:16px;height:16px;border-radius:4px;border:1px solid #e5e7eb;background:#fff;box-shadow:inset 0 1px 2px #0000000f;margin-top:2px;flex-shrink:0;cursor:pointer;position:relative;display:inline-flex;align-items:center;justify-content:center;transition:background-color .16s ease,border-color .16s ease}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem] .todo-box:after{content:"✓";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.3);opacity:0;color:#fff;font-size:12px;font-weight:700;transition:transform .18s ease,opacity .18s ease;animation:todo-check-out-c5cc8864 .18s ease both}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem][data-checked=true] .todo-box{background:#22c55e;border-color:#22c55e}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem][data-checked=true] .todo-box:after{transform:translate(-50%,-50%) scale(1);opacity:1;animation:todo-check-in-c5cc8864 .22s cubic-bezier(.2,.7,.3,1.2) both}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem] .todo-box:focus{outline:2px solid #1677ff44}@keyframes todo-check-in-c5cc8864{0%{transform:translate(-50%,-50%) scale(.3);opacity:0}60%{transform:translate(-50%,-50%) scale(1.15);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:1}}@keyframes todo-check-out-c5cc8864{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) scale(.3);opacity:0}}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem]>label,.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem] .task-item__label{display:inline-flex;align-items:center;margin-right:6px}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem] input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;position:static;opacity:1;pointer-events:auto;width:16px;height:16px;border-radius:4px;border:1px solid #e5e7eb;margin-top:2px}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem][data-checked=true] input[type=checkbox]{accent-color:#22c55e}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem] .task-content,.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem] .task-item__content{flex:1;min-width:1px}.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem] .task-content p,.content[data-v-c5cc8864] ul[data-type=taskList] li[data-type=taskItem] .task-item__content p{margin:0}.content[data-v-c5cc8864] img.ProseMirror-selectednode{outline:2px solid #6366f1;border-radius:4px}.content[data-v-c5cc8864] [data-resize-wrapper]{display:inline-block}.content[data-v-c5cc8864] .tiptap-resize-handle{width:10px;height:10px;background:#1677ffd9;border-radius:2px;box-shadow:0 0 0 1px #fff;cursor:nwse-resize;z-index:4;opacity:0;pointer-events:none;transition:opacity .12s ease}.content[data-v-c5cc8864] .tiptap-resize-handle[data-resize-handle=top-left],.content[data-v-c5cc8864] .tiptap-resize-handle[data-resize-handle=bottom-right]{cursor:nwse-resize}.content[data-v-c5cc8864] .tiptap-resize-handle[data-resize-handle=top-right],.content[data-v-c5cc8864] .tiptap-resize-handle[data-resize-handle=bottom-left]{cursor:nesw-resize}.content[data-v-c5cc8864] .tiptap-resize-wrapper:hover .tiptap-resize-handle,.content[data-v-c5cc8864] .tiptap-resize-container[data-resize-state=true] .tiptap-resize-handle{opacity:1;pointer-events:auto}.content[data-v-c5cc8864] .tiptap-resize-wrapper:hover>img,.content[data-v-c5cc8864] .tiptap-resize-wrapper:hover>video{outline:2px solid #6366f1;border-radius:4px}.content[data-v-c5cc8864] .tiptap-resize-wrapper{position:relative}.content[data-v-c5cc8864] .tiptap-resize-wrapper[data-uploading=true] .tiptap-upload-mask{pointer-events:auto}.content[data-v-c5cc8864] .tiptap-upload-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;display:flex;align-items:center;justify-content:center;color:#1677ff;font-size:12px;border-radius:4px;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:2}.content[data-v-c5cc8864] .tiptap-resize-wrapper[data-uploading=true] .tiptap-upload-mask{opacity:1}.content[data-v-c5cc8864] .tiptap-upload-progress{width:66%;max-width:360px;height:6px;background:#0003;border-radius:4px;overflow:hidden;position:relative}.content[data-v-c5cc8864] .tiptap-upload-progress:before{content:"";position:absolute;left:-40%;width:40%;height:100%;background:#1677ff;border-radius:4px;animation:tiptap-upload-indeterminate-c5cc8864 1.1s ease-in-out infinite}@keyframes tiptap-upload-indeterminate-c5cc8864{0%{left:-40%}50%{left:60%}to{left:100%}}.content[data-v-c5cc8864] .tiptap-resize-container.is-resizing .tiptap-resize-handle{background:#1677ff}.content[data-v-c5cc8864] .ProseMirror table{border-collapse:collapse;margin:12px 0;width:100%}.content[data-v-c5cc8864] .ProseMirror table th,.content[data-v-c5cc8864] .ProseMirror table td{border:1px solid #e5e7eb;padding:8px;text-align:left;position:relative}.content[data-v-c5cc8864] .ProseMirror table thead th{background:#f7f9fc;font-weight:600}.content[data-v-c5cc8864] .ProseMirror table .selectedCell{background:#1677ff0f;outline:2px solid #1677ff;outline-offset:-2px}.content[data-v-c5cc8864] .ProseMirror table .column-resize-handle{position:absolute;right:-3px;top:0;bottom:0;width:8px;background:transparent;cursor:col-resize;z-index:3;-webkit-user-select:none;user-select:none;pointer-events:auto}.content[data-v-c5cc8864] .ProseMirror table .column-resize-handle:hover{background:#1677ff40}.content[data-v-c5cc8864] .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#999;pointer-events:none;float:left;height:0;white-space:pre-line}.content[data-v-c5cc8864] code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#f2f4f7;padding:2px 4px;border-radius:4px}.content[data-v-c5cc8864] blockquote{border-left:3px solid #e5e7eb;margin:12px 0;padding:4px 12px;color:#6b7280}.content[data-v-c5cc8864] pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:#f6f8fa;padding:12px;border-radius:6px;border:1px solid #e5e7eb;overflow:auto}.content[data-v-c5cc8864] p{margin:12px 0}[data-v-c5cc8864] .md-drag-handle{width:22px;height:22px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #00000014;background:#fff;border:1px solid #e5e7eb;cursor:grab;z-index:5}[data-v-c5cc8864] .md-drag-handle:before{content:"···";letter-spacing:2px;color:#888;font-weight:700}@media (max-width: 900px){.editor_main[data-v-c5cc8864]{grid-template-columns:1fr}.outline-markers[data-v-c5cc8864]{display:none}}.link-modal-backdrop[data-v-c5cc8864]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0003}.link-modal[data-v-c5cc8864]{position:fixed;left:50%;top:20%;transform:translate(-50%);z-index:1000}.link-modal__content[data-v-c5cc8864]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:360px;padding:12px;box-shadow:0 6px 24px #00000014}.link-modal__title[data-v-c5cc8864]{font-weight:600;margin-bottom:8px}.link-modal__input[data-v-c5cc8864]{width:100%;padding:8px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:10px}.link-modal__actions[data-v-c5cc8864]{display:flex;gap:8px;justify-content:flex-end}.link-modal__actions button[data-v-c5cc8864]{padding:6px 10px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer}.tiptap-video[data-v-c5cc8864]{display:block;width:640px;height:auto}[data-format-brush=true] .ProseMirror{cursor:url("data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1763569611105'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='87406'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='18'%20height='18'%3e%3cpath%20d='M840%20192h-56v-72c0-13.3-10.7-24-24-24H168c-13.3%200-24%2010.7-24%2024v272c0%2013.3%2010.7%2024%2024%2024h592c13.3%200%2024-10.7%2024-24V256h32v200H465c-22.1%200-40%2017.9-40%2040v136h-44c-4.4%200-8%203.6-8%208v228c0%200.6%200.1%201.3%200.2%201.9-0.1%202-0.2%204.1-0.2%206.1%200%2046.4%2037.6%2084%2084%2084s84-37.6%2084-84c0-2.1-0.1-4.1-0.2-6.1%200.1-0.6%200.2-1.2%200.2-1.9V640c0-4.4-3.6-8-8-8h-44V520h351c22.1%200%2040-17.9%2040-40V232c0-22.1-17.9-40-40-40zM720%20352H208V160h512v192zM477%20876c0%2011-9%2020-20%2020s-20-9-20-20V696h40v180z'%20p-id='87407'%3e%3c/path%3e%3c/svg%3e") 0 16,crosshair}[data-format-brush=true] .ProseMirror *{cursor:inherit}`)),document.head.appendChild(a)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
3
|
+
import { inject as ee, createVNode as d, defineComponent as ot, ref as D, onMounted as ut, onUnmounted as oe, watch as kt, nextTick as bt, createElementBlock as F, openBlock as T, renderSlot as ne, createBlock as xt, Teleport as se, createElementVNode as r, normalizeStyle as ct, normalizeClass as J, createCommentVNode as Y, toDisplayString as pt, computed as dt, onBeforeUnmount as ht, unref as L, withCtx as W, withModifiers as E, Transition as yt, Fragment as mt, renderList as gt, withDirectives as _t, vModelText as Lt, useAttrs as ie, resolveDynamicComponent as le } from "vue";
|
|
4
4
|
import { Editor as re, EditorContent as ae } from "@tiptap/vue-3";
|
|
5
5
|
import { StarterKit as ce } from "@tiptap/starter-kit";
|
|
6
6
|
import { Markdown as de } from "@tiptap/markdown";
|
|
@@ -23,41 +23,41 @@ const Ce = ue.extend({
|
|
|
23
23
|
...(t = this.parent) == null ? void 0 : t.call(this),
|
|
24
24
|
uploading: {
|
|
25
25
|
default: null,
|
|
26
|
-
parseHTML: (
|
|
27
|
-
renderHTML: (
|
|
26
|
+
parseHTML: (c) => c.getAttribute("data-uploading") ? !0 : null,
|
|
27
|
+
renderHTML: (c) => c.uploading ? { "data-uploading": "true" } : {}
|
|
28
28
|
},
|
|
29
29
|
width: {
|
|
30
30
|
default: null,
|
|
31
|
-
parseHTML: (
|
|
32
|
-
const s =
|
|
33
|
-
return
|
|
31
|
+
parseHTML: (c) => {
|
|
32
|
+
const s = c.getAttribute("width") || c.style.width || "", e = String(s).match(/^(\d+)(px)?$/);
|
|
33
|
+
return e ? Number(e[1]) : null;
|
|
34
34
|
},
|
|
35
|
-
renderHTML: (
|
|
35
|
+
renderHTML: (c) => c.width ? { width: c.width } : {}
|
|
36
36
|
},
|
|
37
37
|
height: {
|
|
38
38
|
default: null,
|
|
39
|
-
parseHTML: (
|
|
40
|
-
const s =
|
|
41
|
-
return
|
|
39
|
+
parseHTML: (c) => {
|
|
40
|
+
const s = c.getAttribute("height") || c.style.height || "", e = String(s).match(/^(\d+)(px)?$/);
|
|
41
|
+
return e ? Number(e[1]) : null;
|
|
42
42
|
},
|
|
43
|
-
renderHTML: (
|
|
43
|
+
renderHTML: (c) => c.height ? { height: c.height } : {}
|
|
44
44
|
}
|
|
45
45
|
};
|
|
46
46
|
},
|
|
47
47
|
addNodeView() {
|
|
48
|
-
return ({ node: t, getPos:
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
element:
|
|
48
|
+
return ({ node: t, getPos: c, editor: s }) => {
|
|
49
|
+
const e = document.createElement("img"), l = t.attrs;
|
|
50
|
+
e.src = l.src || "", l.alt && (e.alt = l.alt), l.title && (e.title = l.title), typeof l.width == "number" && (e.style.width = `${l.width}px`), typeof l.height == "number" && (e.style.height = `${l.height}px`), e.style.maxWidth = "100%", e.style.height = e.style.height || "auto", e.style.display = "inline-block";
|
|
51
|
+
const a = new Qt({
|
|
52
|
+
element: e,
|
|
53
53
|
node: t,
|
|
54
|
-
getPos:
|
|
54
|
+
getPos: c,
|
|
55
55
|
onResize: (x, z) => {
|
|
56
|
-
|
|
56
|
+
e.style.width = `${x}px`, e.style.height = `${z}px`;
|
|
57
57
|
},
|
|
58
58
|
onCommit: (x, z) => {
|
|
59
59
|
try {
|
|
60
|
-
const p = s, M =
|
|
60
|
+
const p = s, M = c();
|
|
61
61
|
if (M !== void 0) {
|
|
62
62
|
const { state: y } = p, C = y.schema.nodes.image, u = y.doc.nodeAt(M);
|
|
63
63
|
if (C && u) {
|
|
@@ -70,7 +70,7 @@ const Ce = ue.extend({
|
|
|
70
70
|
},
|
|
71
71
|
onUpdate: (x) => {
|
|
72
72
|
const z = x.attrs;
|
|
73
|
-
return typeof z.src == "string" && z.src &&
|
|
73
|
+
return typeof z.src == "string" && z.src && e.src !== z.src && (e.src = z.src), typeof z.width == "number" && (e.style.width = `${z.width}px`), typeof z.height == "number" && (e.style.height = `${z.height}px`), z.uploading ? a.wrapper.setAttribute("data-uploading", "true") : a.wrapper.removeAttribute("data-uploading"), !0;
|
|
74
74
|
},
|
|
75
75
|
options: {
|
|
76
76
|
directions: ["bottom-right", "bottom-left", "top-right", "top-left"],
|
|
@@ -85,13 +85,13 @@ const Ce = ue.extend({
|
|
|
85
85
|
}
|
|
86
86
|
});
|
|
87
87
|
try {
|
|
88
|
-
|
|
88
|
+
a.container.style.display = "inline-block", a.wrapper.style.display = "inline-block";
|
|
89
89
|
} catch {
|
|
90
90
|
}
|
|
91
91
|
const S = document.createElement("div");
|
|
92
92
|
S.className = "tiptap-upload-mask";
|
|
93
93
|
const i = document.createElement("div");
|
|
94
|
-
return i.className = "tiptap-upload-progress", S.appendChild(i),
|
|
94
|
+
return i.className = "tiptap-upload-progress", S.appendChild(i), a.wrapper.appendChild(S), l.uploading && a.wrapper.setAttribute("data-uploading", "true"), a;
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
97
|
}), xe = ge.extend({
|
|
@@ -101,9 +101,9 @@ const Ce = ue.extend({
|
|
|
101
101
|
...(t = this.parent) == null ? void 0 : t.call(this),
|
|
102
102
|
backgroundColor: {
|
|
103
103
|
default: null,
|
|
104
|
-
parseHTML: (
|
|
105
|
-
renderHTML: (
|
|
106
|
-
const s =
|
|
104
|
+
parseHTML: (c) => c.getAttribute("data-background-color"),
|
|
105
|
+
renderHTML: (c) => {
|
|
106
|
+
const s = c.backgroundColor;
|
|
107
107
|
return s ? {
|
|
108
108
|
"data-background-color": s,
|
|
109
109
|
style: `background-color: ${s}`
|
|
@@ -138,7 +138,7 @@ const _e = ((Xt = It == null ? void 0 : It.Node) == null ? void 0 : Xt.create) ?
|
|
|
138
138
|
width: {
|
|
139
139
|
default: null,
|
|
140
140
|
parseHTML: (t) => {
|
|
141
|
-
const
|
|
141
|
+
const c = t.getAttribute("width") || t.style.width || "", s = String(c).match(/^(\d+)(px)?$/);
|
|
142
142
|
return s ? Number(s[1]) : null;
|
|
143
143
|
},
|
|
144
144
|
renderHTML: (t) => t.width ? { width: t.width } : {}
|
|
@@ -146,7 +146,7 @@ const _e = ((Xt = It == null ? void 0 : It.Node) == null ? void 0 : Xt.create) ?
|
|
|
146
146
|
height: {
|
|
147
147
|
default: null,
|
|
148
148
|
parseHTML: (t) => {
|
|
149
|
-
const
|
|
149
|
+
const c = t.getAttribute("height") || t.style.height || "", s = String(c).match(/^(\d+)(px)?$/);
|
|
150
150
|
return s ? Number(s[1]) : null;
|
|
151
151
|
},
|
|
152
152
|
renderHTML: (t) => t.height ? { height: t.height } : {}
|
|
@@ -165,7 +165,7 @@ const _e = ((Xt = It == null ? void 0 : It.Node) == null ? void 0 : Xt.create) ?
|
|
|
165
165
|
return ["video", { "data-tiptap-video": "", ...t }];
|
|
166
166
|
},
|
|
167
167
|
renderMarkdown(t) {
|
|
168
|
-
const
|
|
168
|
+
const c = (t == null ? void 0 : t.attrs) || {}, s = typeof c.src == "string" ? c.src : "";
|
|
169
169
|
return s ? `[video](${s})` : "";
|
|
170
170
|
},
|
|
171
171
|
// Markdown → Node: 支持自定义语法 [video](url)
|
|
@@ -174,30 +174,30 @@ const _e = ((Xt = It == null ? void 0 : It.Node) == null ? void 0 : Xt.create) ?
|
|
|
174
174
|
level: "inline",
|
|
175
175
|
start: (t) => t.indexOf("[video]("),
|
|
176
176
|
tokenize: (t) => {
|
|
177
|
-
const
|
|
178
|
-
if (
|
|
179
|
-
return { type: "video", raw:
|
|
177
|
+
const c = /^\[video\]\(([^)]+)\)/.exec(t);
|
|
178
|
+
if (c)
|
|
179
|
+
return { type: "video", raw: c[0], href: c[1] };
|
|
180
180
|
}
|
|
181
181
|
},
|
|
182
182
|
parseMarkdown(t) {
|
|
183
|
-
const
|
|
184
|
-
return
|
|
183
|
+
const c = (t == null ? void 0 : t.href) || (t == null ? void 0 : t.src) || "";
|
|
184
|
+
return c ? { type: "video", attrs: { src: c, controls: !0 } } : { type: "paragraph" };
|
|
185
185
|
},
|
|
186
186
|
addNodeView() {
|
|
187
|
-
return ({ node: t, getPos:
|
|
187
|
+
return ({ node: t, getPos: c, editor: s }) => {
|
|
188
188
|
var x;
|
|
189
|
-
const
|
|
190
|
-
|
|
191
|
-
const
|
|
192
|
-
element:
|
|
189
|
+
const e = document.createElement("video"), l = t.attrs;
|
|
190
|
+
e.src = l.src || "", e.controls = l.controls !== !1, e.autoplay = !1, e.loop = !!l.loop, e.muted = !!l.muted, l.poster && (e.poster = l.poster), e.setAttribute("playsinline", "true"), l.class && (e.className = String(l.class)), typeof l.width == "number" && (e.style.width = `${l.width}px`), typeof l.height == "number" && (e.style.height = `${l.height}px`), e.style.display = "inline-block";
|
|
191
|
+
const a = new Qt({
|
|
192
|
+
element: e,
|
|
193
193
|
node: t,
|
|
194
|
-
getPos:
|
|
194
|
+
getPos: c,
|
|
195
195
|
onResize: (z, p) => {
|
|
196
|
-
|
|
196
|
+
e.style.width = `${z}px`, e.style.height = `${p}px`;
|
|
197
197
|
},
|
|
198
198
|
onCommit: (z, p) => {
|
|
199
199
|
try {
|
|
200
|
-
const M = s, y =
|
|
200
|
+
const M = s, y = c();
|
|
201
201
|
if (y !== void 0) {
|
|
202
202
|
const { state: C } = M, u = C.schema.nodes.video, f = C.doc.nodeAt(y);
|
|
203
203
|
if (u && f) {
|
|
@@ -210,15 +210,15 @@ const _e = ((Xt = It == null ? void 0 : It.Node) == null ? void 0 : Xt.create) ?
|
|
|
210
210
|
},
|
|
211
211
|
onUpdate: (z) => {
|
|
212
212
|
const p = z.attrs || {};
|
|
213
|
-
if (typeof p.src == "string" && p.src &&
|
|
214
|
-
|
|
213
|
+
if (typeof p.src == "string" && p.src && e.src !== p.src && (e.src = p.src), typeof p.width == "number" && (e.style.width = `${p.width}px`), typeof p.height == "number" && (e.style.height = `${p.height}px`), p.uploading) {
|
|
214
|
+
a.wrapper.setAttribute("data-uploading", "true"), e.controls = !1;
|
|
215
215
|
try {
|
|
216
|
-
|
|
216
|
+
e.pause();
|
|
217
217
|
} catch {
|
|
218
218
|
}
|
|
219
|
-
|
|
219
|
+
e.style.pointerEvents = "none";
|
|
220
220
|
} else
|
|
221
|
-
|
|
221
|
+
a.wrapper.removeAttribute("data-uploading"), e.controls = p.controls !== !1, e.style.pointerEvents = "";
|
|
222
222
|
return !0;
|
|
223
223
|
},
|
|
224
224
|
options: {
|
|
@@ -234,28 +234,28 @@ const _e = ((Xt = It == null ? void 0 : It.Node) == null ? void 0 : Xt.create) ?
|
|
|
234
234
|
}
|
|
235
235
|
});
|
|
236
236
|
try {
|
|
237
|
-
|
|
237
|
+
a.container.style.display = "inline-block", a.wrapper.style.display = "inline-block";
|
|
238
238
|
} catch {
|
|
239
239
|
}
|
|
240
240
|
const S = document.createElement("div");
|
|
241
241
|
S.className = "tiptap-upload-mask";
|
|
242
242
|
const i = document.createElement("div");
|
|
243
|
-
if (i.className = "tiptap-upload-progress", S.appendChild(i),
|
|
244
|
-
|
|
243
|
+
if (i.className = "tiptap-upload-progress", S.appendChild(i), a.wrapper.appendChild(S), (x = t.attrs) != null && x.uploading) {
|
|
244
|
+
a.wrapper.setAttribute("data-uploading", "true"), e.controls = !1;
|
|
245
245
|
try {
|
|
246
|
-
|
|
246
|
+
e.pause();
|
|
247
247
|
} catch {
|
|
248
248
|
}
|
|
249
|
-
|
|
249
|
+
e.style.pointerEvents = "none";
|
|
250
250
|
}
|
|
251
|
-
return
|
|
251
|
+
return a;
|
|
252
252
|
};
|
|
253
253
|
},
|
|
254
254
|
addCommands() {
|
|
255
255
|
return {
|
|
256
|
-
setVideo: (t) => ({ chain:
|
|
257
|
-
const { src: s, HTMLAttributes:
|
|
258
|
-
return
|
|
256
|
+
setVideo: (t) => ({ chain: c }) => {
|
|
257
|
+
const { src: s, HTMLAttributes: e = {} } = t || {};
|
|
258
|
+
return c().insertContent({ type: this.name, attrs: { src: s, ...e } }).run();
|
|
259
259
|
}
|
|
260
260
|
};
|
|
261
261
|
}
|
|
@@ -265,39 +265,39 @@ const _e = ((Xt = It == null ? void 0 : It.Node) == null ? void 0 : Xt.create) ?
|
|
|
265
265
|
return { ...(t = this.parent) == null ? void 0 : t.call(this), nested: !0 };
|
|
266
266
|
},
|
|
267
267
|
addNodeView() {
|
|
268
|
-
return ({ node: t, editor:
|
|
269
|
-
const
|
|
270
|
-
|
|
268
|
+
return ({ node: t, editor: c, getPos: s }) => {
|
|
269
|
+
const e = document.createElement("li");
|
|
270
|
+
e.setAttribute("data-type", "taskItem"), e.setAttribute("data-checked", t.attrs.checked ? "true" : "false");
|
|
271
271
|
const l = document.createElement("span");
|
|
272
272
|
l.className = "todo-box", l.tabIndex = 0, l.setAttribute("role", "checkbox"), l.setAttribute("aria-checked", t.attrs.checked ? "true" : "false"), l.addEventListener("mousedown", (i) => i.preventDefault());
|
|
273
|
-
const
|
|
273
|
+
const a = () => {
|
|
274
274
|
const i = typeof s == "function" ? s() : null;
|
|
275
275
|
if (i == null) return { pos: null, n: null };
|
|
276
|
-
const x =
|
|
276
|
+
const x = c.view.state.doc.nodeAt(i);
|
|
277
277
|
return { pos: i, n: x };
|
|
278
278
|
};
|
|
279
279
|
l.addEventListener("click", () => {
|
|
280
280
|
var C;
|
|
281
|
-
const { pos: i, n: x } =
|
|
281
|
+
const { pos: i, n: x } = a();
|
|
282
282
|
if (i == null || !x) return;
|
|
283
|
-
const z =
|
|
284
|
-
|
|
283
|
+
const z = c.view.state, p = z.schema.nodes.taskItem, M = !!((C = x.attrs) != null && C.checked), y = z.tr.setNodeMarkup(i, p, { ...x.attrs || {}, checked: !M });
|
|
284
|
+
c.view.dispatch(y);
|
|
285
285
|
}), l.addEventListener("keydown", (i) => {
|
|
286
286
|
var x;
|
|
287
287
|
if (i.key === "Enter" || i.key === " ") {
|
|
288
288
|
i.preventDefault();
|
|
289
|
-
const { pos: z, n: p } =
|
|
289
|
+
const { pos: z, n: p } = a();
|
|
290
290
|
if (z == null || !p) return;
|
|
291
|
-
const M =
|
|
292
|
-
|
|
291
|
+
const M = c.view.state, y = M.schema.nodes.taskItem, C = !!((x = p.attrs) != null && x.checked), u = M.tr.setNodeMarkup(z, y, { ...p.attrs || {}, checked: !C });
|
|
292
|
+
c.view.dispatch(u);
|
|
293
293
|
}
|
|
294
294
|
});
|
|
295
295
|
const S = document.createElement("div");
|
|
296
|
-
return S.className = "task-content",
|
|
297
|
-
dom:
|
|
296
|
+
return S.className = "task-content", e.appendChild(l), e.appendChild(S), {
|
|
297
|
+
dom: e,
|
|
298
298
|
contentDOM: S,
|
|
299
299
|
update(i) {
|
|
300
|
-
return i.type !== t.type ? !1 : (
|
|
300
|
+
return i.type !== t.type ? !1 : (e.setAttribute("data-checked", i.attrs.checked ? "true" : "false"), l.setAttribute("aria-checked", i.attrs.checked ? "true" : "false"), !0);
|
|
301
301
|
}
|
|
302
302
|
};
|
|
303
303
|
};
|
|
@@ -335,40 +335,40 @@ var ze = {
|
|
|
335
335
|
function $e() {
|
|
336
336
|
return "icon-" + ((1 + Math.random()) * 4294967296 | 0).toString(16).substring(1);
|
|
337
337
|
}
|
|
338
|
-
function Se(t,
|
|
339
|
-
var
|
|
340
|
-
switch (
|
|
338
|
+
function Se(t, c, s) {
|
|
339
|
+
var e = typeof c.fill == "string" ? [c.fill] : c.fill || [], l = [], a = c.theme || s.theme;
|
|
340
|
+
switch (a) {
|
|
341
341
|
case "outline":
|
|
342
|
-
l.push(typeof
|
|
342
|
+
l.push(typeof e[0] == "string" ? e[0] : "currentColor"), l.push("none"), l.push(typeof e[0] == "string" ? e[0] : "currentColor"), l.push("none");
|
|
343
343
|
break;
|
|
344
344
|
case "filled":
|
|
345
|
-
l.push(typeof
|
|
345
|
+
l.push(typeof e[0] == "string" ? e[0] : "currentColor"), l.push(typeof e[0] == "string" ? e[0] : "currentColor"), l.push("#FFF"), l.push("#FFF");
|
|
346
346
|
break;
|
|
347
347
|
case "two-tone":
|
|
348
|
-
l.push(typeof
|
|
348
|
+
l.push(typeof e[0] == "string" ? e[0] : "currentColor"), l.push(typeof e[1] == "string" ? e[1] : s.colors.twoTone.twoTone), l.push(typeof e[0] == "string" ? e[0] : "currentColor"), l.push(typeof e[1] == "string" ? e[1] : s.colors.twoTone.twoTone);
|
|
349
349
|
break;
|
|
350
350
|
case "multi-color":
|
|
351
|
-
l.push(typeof
|
|
351
|
+
l.push(typeof e[0] == "string" ? e[0] : "currentColor"), l.push(typeof e[1] == "string" ? e[1] : s.colors.multiColor.outFillColor), l.push(typeof e[2] == "string" ? e[2] : s.colors.multiColor.innerStrokeColor), l.push(typeof e[3] == "string" ? e[3] : s.colors.multiColor.innerFillColor);
|
|
352
352
|
break;
|
|
353
353
|
}
|
|
354
354
|
return {
|
|
355
|
-
size:
|
|
356
|
-
strokeWidth:
|
|
357
|
-
strokeLinecap:
|
|
358
|
-
strokeLinejoin:
|
|
355
|
+
size: c.size || s.size,
|
|
356
|
+
strokeWidth: c.strokeWidth || s.strokeWidth,
|
|
357
|
+
strokeLinecap: c.strokeLinecap || s.strokeLinecap,
|
|
358
|
+
strokeLinejoin: c.strokeLinejoin || s.strokeLinejoin,
|
|
359
359
|
colors: l,
|
|
360
360
|
id: t
|
|
361
361
|
};
|
|
362
362
|
}
|
|
363
363
|
var Te = Symbol("icon-context");
|
|
364
|
-
function vt(t,
|
|
365
|
-
var
|
|
364
|
+
function vt(t, c, s) {
|
|
365
|
+
var e = {
|
|
366
366
|
name: "icon-" + t,
|
|
367
367
|
props: ["size", "strokeWidth", "strokeLinecap", "strokeLinejoin", "theme", "fill", "spin"],
|
|
368
|
-
setup: function(
|
|
368
|
+
setup: function(a) {
|
|
369
369
|
var S = $e(), i = ee(Te, ze);
|
|
370
370
|
return function() {
|
|
371
|
-
var x =
|
|
371
|
+
var x = a.size, z = a.strokeWidth, p = a.strokeLinecap, M = a.strokeLinejoin, y = a.theme, C = a.fill, u = a.spin, f = Se(S, {
|
|
372
372
|
size: x,
|
|
373
373
|
strokeWidth: z,
|
|
374
374
|
strokeLinecap: p,
|
|
@@ -376,13 +376,13 @@ function vt(t, a, s) {
|
|
|
376
376
|
theme: y,
|
|
377
377
|
fill: C
|
|
378
378
|
}, i), v = [i.prefix + "-icon"];
|
|
379
|
-
return v.push(i.prefix + "-icon-" + t),
|
|
379
|
+
return v.push(i.prefix + "-icon-" + t), c && i.rtl && v.push(i.prefix + "-icon-rtl"), u && v.push(i.prefix + "-icon-spin"), d("span", {
|
|
380
380
|
class: v.join(" ")
|
|
381
381
|
}, [s(f)]);
|
|
382
382
|
};
|
|
383
383
|
}
|
|
384
384
|
};
|
|
385
|
-
return
|
|
385
|
+
return e;
|
|
386
386
|
}
|
|
387
387
|
const Bt = vt("check", !0, function(t) {
|
|
388
388
|
return d("svg", {
|
|
@@ -410,7 +410,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
410
410
|
"stroke-width": t.strokeWidth,
|
|
411
411
|
"stroke-linejoin": t.strokeLinejoin
|
|
412
412
|
}, null)]);
|
|
413
|
-
}),
|
|
413
|
+
}), De = vt("font-size-two", !0, function(t) {
|
|
414
414
|
return d("svg", {
|
|
415
415
|
width: t.size,
|
|
416
416
|
height: t.size,
|
|
@@ -429,7 +429,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
429
429
|
"stroke-linecap": t.strokeLinecap,
|
|
430
430
|
"stroke-linejoin": t.strokeLinejoin
|
|
431
431
|
}, null)]);
|
|
432
|
-
}),
|
|
432
|
+
}), Ee = vt("full-screen", !1, function(t) {
|
|
433
433
|
return d("svg", {
|
|
434
434
|
width: t.size,
|
|
435
435
|
height: t.size,
|
|
@@ -702,18 +702,18 @@ const Bt = vt("check", !0, function(t) {
|
|
|
702
702
|
offset: { type: Number, default: 6 }
|
|
703
703
|
},
|
|
704
704
|
setup(t) {
|
|
705
|
-
const
|
|
705
|
+
const c = t, s = D(null), e = D(null), l = D(!1), a = D(c.placement), S = D({ top: 0, left: 0 });
|
|
706
706
|
function i() {
|
|
707
|
-
const p = s.value, M =
|
|
707
|
+
const p = s.value, M = e.value;
|
|
708
708
|
if (!p || !M) return;
|
|
709
|
-
let y =
|
|
710
|
-
const C = M.getBoundingClientRect(), u = C.top, f = window.innerHeight - C.bottom, v = p.offsetHeight +
|
|
711
|
-
y === "bottom" ? f < v && u >= v && (y = "top") : u < v && f >= v && (y = "bottom"),
|
|
712
|
-
const g = C.left + C.width / 2, h = y === "bottom" ? C.bottom +
|
|
709
|
+
let y = c.placement;
|
|
710
|
+
const C = M.getBoundingClientRect(), u = C.top, f = window.innerHeight - C.bottom, v = p.offsetHeight + c.offset;
|
|
711
|
+
y === "bottom" ? f < v && u >= v && (y = "top") : u < v && f >= v && (y = "bottom"), a.value = y;
|
|
712
|
+
const g = C.left + C.width / 2, h = y === "bottom" ? C.bottom + c.offset : C.top - c.offset - p.offsetHeight;
|
|
713
713
|
S.value = { top: h, left: g };
|
|
714
714
|
}
|
|
715
715
|
function x() {
|
|
716
|
-
l.value = !0,
|
|
716
|
+
l.value = !0, bt(i);
|
|
717
717
|
}
|
|
718
718
|
function z() {
|
|
719
719
|
l.value = !1;
|
|
@@ -722,12 +722,12 @@ const Bt = vt("check", !0, function(t) {
|
|
|
722
722
|
window.addEventListener("resize", i), window.addEventListener("scroll", i, !0);
|
|
723
723
|
}), oe(() => {
|
|
724
724
|
window.removeEventListener("resize", i), window.removeEventListener("scroll", i, !0);
|
|
725
|
-
}),
|
|
726
|
-
() =>
|
|
727
|
-
() =>
|
|
725
|
+
}), kt(
|
|
726
|
+
() => c.text,
|
|
727
|
+
() => bt(i)
|
|
728
728
|
), (p, M) => (T(), F("div", {
|
|
729
729
|
ref_key: "wrapperRef",
|
|
730
|
-
ref:
|
|
730
|
+
ref: e,
|
|
731
731
|
class: "tooltip-wrapper",
|
|
732
732
|
onMouseenter: x,
|
|
733
733
|
onMouseleave: z,
|
|
@@ -739,7 +739,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
739
739
|
r("div", {
|
|
740
740
|
ref_key: "tipRef",
|
|
741
741
|
ref: s,
|
|
742
|
-
class: J(["tooltip", [
|
|
742
|
+
class: J(["tooltip", [a.value, { visible: l.value }]]),
|
|
743
743
|
style: ct({ top: S.value.top + "px", left: S.value.left + "px" })
|
|
744
744
|
}, [
|
|
745
745
|
r("div", Re, pt(t.text), 1),
|
|
@@ -748,10 +748,10 @@ const Bt = vt("check", !0, function(t) {
|
|
|
748
748
|
]))
|
|
749
749
|
], 544));
|
|
750
750
|
}
|
|
751
|
-
}), nt = (t,
|
|
751
|
+
}), nt = (t, c) => {
|
|
752
752
|
const s = t.__vccOpts || t;
|
|
753
|
-
for (const [
|
|
754
|
-
s[
|
|
753
|
+
for (const [e, l] of c)
|
|
754
|
+
s[e] = l;
|
|
755
755
|
return s;
|
|
756
756
|
}, P = /* @__PURE__ */ nt(Pe, [["__scopeId", "data-v-2e4633d5"]]), Ge = ["aria-expanded"], Ye = { class: "label" }, Ke = {
|
|
757
757
|
key: 0,
|
|
@@ -763,7 +763,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
763
763
|
editor: {}
|
|
764
764
|
},
|
|
765
765
|
setup(t) {
|
|
766
|
-
const
|
|
766
|
+
const c = t, s = [
|
|
767
767
|
"12px",
|
|
768
768
|
"13px",
|
|
769
769
|
"14px",
|
|
@@ -776,11 +776,11 @@ const Bt = vt("check", !0, function(t) {
|
|
|
776
776
|
"32px",
|
|
777
777
|
"40px",
|
|
778
778
|
"48px"
|
|
779
|
-
],
|
|
779
|
+
], e = dt(() => {
|
|
780
780
|
var y, C;
|
|
781
|
-
const M = (C = (y =
|
|
781
|
+
const M = (C = (y = c.editor) == null ? void 0 : y.getAttributes("textStyle")) == null ? void 0 : C.fontSize;
|
|
782
782
|
return typeof M == "string" && M ? M : "15px";
|
|
783
|
-
}), l =
|
|
783
|
+
}), l = D(!1), a = D(null);
|
|
784
784
|
function S() {
|
|
785
785
|
l.value || window.dispatchEvent(new CustomEvent(Ot, { detail: { id: Yt } })), l.value = !l.value;
|
|
786
786
|
}
|
|
@@ -789,10 +789,10 @@ const Bt = vt("check", !0, function(t) {
|
|
|
789
789
|
}
|
|
790
790
|
function x(M) {
|
|
791
791
|
var y;
|
|
792
|
-
(y =
|
|
792
|
+
(y = c.editor) == null || y.chain().focus().setMark("textStyle", { fontSize: M }).run(), i();
|
|
793
793
|
}
|
|
794
794
|
function z(M) {
|
|
795
|
-
const y = M.target, C =
|
|
795
|
+
const y = M.target, C = a.value;
|
|
796
796
|
C && !C.contains(y) && i();
|
|
797
797
|
}
|
|
798
798
|
ut(() => {
|
|
@@ -807,7 +807,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
807
807
|
return (M, y) => (T(), F("div", {
|
|
808
808
|
class: "font-size",
|
|
809
809
|
ref_key: "rootRef",
|
|
810
|
-
ref:
|
|
810
|
+
ref: a
|
|
811
811
|
}, [
|
|
812
812
|
d(L(P), {
|
|
813
813
|
text: "字体大小",
|
|
@@ -816,10 +816,10 @@ const Bt = vt("check", !0, function(t) {
|
|
|
816
816
|
default: W(() => [
|
|
817
817
|
r("div", {
|
|
818
818
|
class: "icon",
|
|
819
|
-
onClick:
|
|
819
|
+
onClick: E(S, ["stop"]),
|
|
820
820
|
"aria-expanded": l.value
|
|
821
821
|
}, [
|
|
822
|
-
r("div", Ye, pt(
|
|
822
|
+
r("div", Ye, pt(e.value), 1),
|
|
823
823
|
d(L(Vt), {
|
|
824
824
|
theme: "filled",
|
|
825
825
|
strokeWidth: 3
|
|
@@ -834,10 +834,10 @@ const Bt = vt("check", !0, function(t) {
|
|
|
834
834
|
(T(), F(mt, null, gt(s, (C) => r("div", {
|
|
835
835
|
key: C,
|
|
836
836
|
class: "dropdown-item",
|
|
837
|
-
"aria-selected": C ===
|
|
838
|
-
onClick:
|
|
837
|
+
"aria-selected": C === e.value,
|
|
838
|
+
onClick: E((u) => x(C), ["stop"])
|
|
839
839
|
}, [
|
|
840
|
-
C ===
|
|
840
|
+
C === e.value ? (T(), xt(L(Bt), {
|
|
841
841
|
key: 0,
|
|
842
842
|
theme: "filled",
|
|
843
843
|
strokeWidth: 3
|
|
@@ -866,7 +866,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
866
866
|
currentColor: {}
|
|
867
867
|
},
|
|
868
868
|
setup(t) {
|
|
869
|
-
const
|
|
869
|
+
const c = t, s = [
|
|
870
870
|
"#000000",
|
|
871
871
|
"#262626",
|
|
872
872
|
"#595959",
|
|
@@ -896,26 +896,26 @@ const Bt = vt("check", !0, function(t) {
|
|
|
896
896
|
"#85A5FF",
|
|
897
897
|
"#B37FEB",
|
|
898
898
|
"#F759AB"
|
|
899
|
-
],
|
|
899
|
+
], e = D(!1), l = D(!1), a = D(null), S = D(c.currentColor || "#000000"), i = D(v()), x = D("#F5222D");
|
|
900
900
|
function z() {
|
|
901
|
-
|
|
901
|
+
e.value || window.dispatchEvent(new CustomEvent(Wt, { detail: { id: Kt } })), e.value = !e.value;
|
|
902
902
|
}
|
|
903
903
|
function p() {
|
|
904
|
-
|
|
904
|
+
e.value = !1;
|
|
905
905
|
}
|
|
906
906
|
function M() {
|
|
907
907
|
l.value = !l.value;
|
|
908
908
|
}
|
|
909
909
|
function y(b) {
|
|
910
910
|
var m;
|
|
911
|
-
(m =
|
|
911
|
+
(m = c.editor) == null || m.chain().focus().setColor(b).run(), x.value = b, g(b), p();
|
|
912
912
|
}
|
|
913
913
|
function C() {
|
|
914
914
|
var b;
|
|
915
|
-
(b =
|
|
915
|
+
(b = c.editor) == null || b.chain().focus().unsetColor().run(), p();
|
|
916
916
|
}
|
|
917
917
|
function u(b) {
|
|
918
|
-
const m = b.target, k =
|
|
918
|
+
const m = b.target, k = a.value;
|
|
919
919
|
k && !k.contains(m) && p();
|
|
920
920
|
}
|
|
921
921
|
function f() {
|
|
@@ -940,7 +940,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
940
940
|
}
|
|
941
941
|
let h = [];
|
|
942
942
|
function $() {
|
|
943
|
-
const b =
|
|
943
|
+
const b = c.editor;
|
|
944
944
|
b && (h = [
|
|
945
945
|
{ event: "selectionUpdate", handler: f },
|
|
946
946
|
{ event: "transaction", handler: f },
|
|
@@ -953,12 +953,12 @@ const Bt = vt("check", !0, function(t) {
|
|
|
953
953
|
document.addEventListener("click", u), window.addEventListener(Wt, j), $();
|
|
954
954
|
}), ht(() => {
|
|
955
955
|
document.removeEventListener("click", u), window.removeEventListener(Wt, j);
|
|
956
|
-
const b =
|
|
956
|
+
const b = c.editor;
|
|
957
957
|
b && h.forEach(({ event: m, handler: k }) => {
|
|
958
958
|
b.off(m, k);
|
|
959
959
|
}), h = [];
|
|
960
|
-
}),
|
|
961
|
-
() =>
|
|
960
|
+
}), kt(
|
|
961
|
+
() => c.editor,
|
|
962
962
|
(b, m) => {
|
|
963
963
|
m && h.forEach(({ event: k, handler: H }) => {
|
|
964
964
|
m.off(k, H);
|
|
@@ -967,16 +967,16 @@ const Bt = vt("check", !0, function(t) {
|
|
|
967
967
|
);
|
|
968
968
|
function j(b) {
|
|
969
969
|
var k;
|
|
970
|
-
((k = b.detail) == null ? void 0 : k.id) !== Kt && (
|
|
970
|
+
((k = b.detail) == null ? void 0 : k.id) !== Kt && (e.value = !1);
|
|
971
971
|
}
|
|
972
972
|
return (b, m) => (T(), F("div", {
|
|
973
973
|
class: "color-select",
|
|
974
974
|
ref_key: "rootRef",
|
|
975
|
-
ref:
|
|
975
|
+
ref: a
|
|
976
976
|
}, [
|
|
977
977
|
r("div", {
|
|
978
978
|
class: "icon icon-dropdown",
|
|
979
|
-
"aria-expanded":
|
|
979
|
+
"aria-expanded": e.value
|
|
980
980
|
}, [
|
|
981
981
|
d(L(P), {
|
|
982
982
|
text: "文字颜色",
|
|
@@ -985,9 +985,9 @@ const Bt = vt("check", !0, function(t) {
|
|
|
985
985
|
default: W(() => [
|
|
986
986
|
r("div", {
|
|
987
987
|
class: "icon-stack hoverable",
|
|
988
|
-
onClick: m[0] || (m[0] =
|
|
988
|
+
onClick: m[0] || (m[0] = E((k) => y(x.value), ["stop"]))
|
|
989
989
|
}, [
|
|
990
|
-
d(L(
|
|
990
|
+
d(L(De), {
|
|
991
991
|
theme: "filled",
|
|
992
992
|
size: "14",
|
|
993
993
|
fill: "#000",
|
|
@@ -1008,7 +1008,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1008
1008
|
default: W(() => [
|
|
1009
1009
|
r("div", {
|
|
1010
1010
|
class: "arrow hoverable",
|
|
1011
|
-
onClick:
|
|
1011
|
+
onClick: E(z, ["stop"])
|
|
1012
1012
|
}, [
|
|
1013
1013
|
d(L(Vt), {
|
|
1014
1014
|
theme: "filled",
|
|
@@ -1022,7 +1022,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1022
1022
|
], 8, Qe),
|
|
1023
1023
|
d(yt, { name: "dropdown-slide" }, {
|
|
1024
1024
|
default: W(() => [
|
|
1025
|
-
|
|
1025
|
+
e.value ? (T(), F("div", to, [
|
|
1026
1026
|
r("div", eo, [
|
|
1027
1027
|
m[4] || (m[4] = r("div", { class: "section-title" }, "默认", -1)),
|
|
1028
1028
|
r("div", oo, [
|
|
@@ -1030,7 +1030,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1030
1030
|
key: k,
|
|
1031
1031
|
class: "swatch",
|
|
1032
1032
|
style: ct({ background: k }),
|
|
1033
|
-
onClick:
|
|
1033
|
+
onClick: E((H) => y(k), ["stop"])
|
|
1034
1034
|
}, [
|
|
1035
1035
|
k === x.value ? (T(), xt(L(Bt), {
|
|
1036
1036
|
key: 0,
|
|
@@ -1047,7 +1047,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1047
1047
|
key: k,
|
|
1048
1048
|
class: "swatch",
|
|
1049
1049
|
style: ct({ background: k }),
|
|
1050
|
-
onClick:
|
|
1050
|
+
onClick: E((H) => y(k), ["stop"])
|
|
1051
1051
|
}, [
|
|
1052
1052
|
k === x.value ? (T(), xt(L(Bt), {
|
|
1053
1053
|
key: 0,
|
|
@@ -1064,18 +1064,18 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1064
1064
|
key: k,
|
|
1065
1065
|
class: "swatch",
|
|
1066
1066
|
style: ct({ background: k }),
|
|
1067
|
-
onClick:
|
|
1067
|
+
onClick: E((H) => y(k), ["stop"])
|
|
1068
1068
|
}, null, 12, co))), 128))
|
|
1069
1069
|
])
|
|
1070
1070
|
])) : Y("", !0),
|
|
1071
1071
|
r("div", uo, [
|
|
1072
1072
|
r("button", {
|
|
1073
1073
|
class: "btn",
|
|
1074
|
-
onClick:
|
|
1074
|
+
onClick: E(C, ["stop"])
|
|
1075
1075
|
}, "暂无"),
|
|
1076
1076
|
r("button", {
|
|
1077
1077
|
class: "btn",
|
|
1078
|
-
onClick:
|
|
1078
|
+
onClick: E(M, ["stop"])
|
|
1079
1079
|
}, "更多颜色")
|
|
1080
1080
|
]),
|
|
1081
1081
|
l.value ? (T(), F("div", vo, [
|
|
@@ -1093,7 +1093,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1093
1093
|
]),
|
|
1094
1094
|
r("button", {
|
|
1095
1095
|
class: "btn apply",
|
|
1096
|
-
onClick: m[3] || (m[3] =
|
|
1096
|
+
onClick: m[3] || (m[3] = E((k) => y(S.value), ["stop"]))
|
|
1097
1097
|
}, "应用")
|
|
1098
1098
|
])) : Y("", !0)
|
|
1099
1099
|
])) : Y("", !0)
|
|
@@ -1102,7 +1102,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1102
1102
|
})
|
|
1103
1103
|
], 512));
|
|
1104
1104
|
}
|
|
1105
|
-
}), po = /* @__PURE__ */ nt(fo, [["__scopeId", "data-v-0f5572cb"]]), ho = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763565315763" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="81778" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M96 128h832v96H96zM96 576h832v96H96zM224 352h576v96H224zM224 800h576v96H224z" p-id="81779"></path></svg>', mo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763565310640" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="81615" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M96 128h832v96H96zM96 576h832v96H96zM96 352h832v96H96zM96 800h832v96H96z" p-id="81616"></path></svg>', go = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763565296828" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="81289" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M96 128h832v96H96zM96 576h832v96H96zM96 352h576v96H96zM96 800h576v96H96z" p-id="81290"></path></svg>', ko = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763565306218" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="81452" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M96 128h832v96H96zM96 576h832v96H96zM352 352h576v96H352zM352 800h576v96H352z" p-id="81453"></path></svg>', wo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763562183158" class="icon" viewBox="0 0 1102 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="79129" xmlns:xlink="http://www.w3.org/1999/xlink" width="19.37109375" height="18"><path d="M93.105231 187.943385a78.769231 78.769231 0 1 1 0-157.538462 78.769231 78.769231 0 0 1 0 157.538462z m0 393.846153a78.769231 78.769231 0 1 1 0-157.538461 78.769231 78.769231 0 0 1 0 157.538461z m0 393.846154a78.769231 78.769231 0 1 1 0-157.538461 78.769231 78.769231 0 0 1 0 157.538461zM276.243692 161.792v-118.153846h787.692308v118.153846h-787.692308z m0.472616 397.233231v-118.153846h788.007384v118.153846H276.716308z m-3.308308 397.154461v-118.153846h789.267692v118.153846H273.329231z" fill="#333333" p-id="79130"></path></svg>', bo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763566846467" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="83576" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M477.098667 709.717333a46.805333 46.805333 0 0 0 69.802666 0l296.021334-340.736c24.32-28.032 3.328-70.314667-34.944-70.314666H216.021333c-38.272 0-59.306667 42.282667-34.944 70.314666l296.021334 340.736z" fill="#000000" p-id="83577"></path></svg>', yo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763568214776" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="84748" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M682.666667 772.266667l332.8-247.466667-324.266667-435.2-409.6 307.2-256 192L260.266667 896h691.2v-85.333333h-324.266667l55.466667-38.4zM674.133333 213.333333l221.866667 294.4-260.266667 196.266667-38.4 25.6-230.4-285.866667L674.133333 213.333333zM145.066667 605.866667l149.333333-110.933334 230.4 285.866667-34.133333 29.866667H298.666667l-153.6-204.8z" fill="#333333" p-id="84749"></path></svg>', Co = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763479929532" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="52528" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M621.568 208.299a38.101 38.101 0 0 0-73.941-18.518L386.773 833.28a38.101 38.101 0 0 0 73.899 18.475l160.853-643.456zM325.632 294.4a38.101 38.101 0 0 1 0 53.888L162.347 511.573 325.632 674.86a38.101 38.101 0 0 1-53.845 53.888L81.493 538.539a38.101 38.101 0 0 1 0-53.931L271.787 294.4a38.101 38.101 0 0 1 53.888 0z m372.736 0a38.101 38.101 0 0 0 0 53.888l163.285 163.285L698.368 674.86a38.101 38.101 0 0 0 53.888 53.888l190.25-190.208a38.101 38.101 0 0 0 0-53.931L752.257 294.4a38.101 38.101 0 0 0-53.888 0z" fill="#333333" p-id="52529"></path></svg>', xo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480012496" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="54461" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M338.986667 59.413333h52.586666a21.333333 21.333333 0 0 1 21.333334 21.333334V115.84a21.333333 21.333333 0 0 1-21.333334 21.333333H356.266667c-36.48 0-53.76 20.16-53.76 62.4v188.16c0 59.52-27.84 99.84-82.56 120 54.72 23.04 82.56 62.4 82.56 120v189.12c0 40.32 17.28 61.44 53.76 61.44h35.306666a21.333333 21.333333 0 0 1 21.333334 21.333334v35.093333a21.333333 21.333333 0 0 1-21.333334 21.333333H338.986667c-42.24 0-74.88-14.4-97.92-41.28-21.12-24.96-31.68-59.52-31.68-101.76v-180.48c0-27.84-5.76-48-17.28-60.48-11.178667-12.778667-29.653333-20.245333-55.466667-23.488a18.901333 18.901333 0 0 1-16.533333-18.773333v-43.221333c0-10.005333 7.381333-18.474667 17.28-19.84 25.408-3.498667 43.648-11.456 54.72-23.317334 11.52-13.44 17.28-33.6 17.28-60.48V203.413333c0-43.2 10.56-77.76 31.68-102.72 23.04-27.84 55.68-41.28 97.92-41.28z m292.48 0h52.586666c42.24 0 74.88 13.44 97.92 41.28 21.12 24.96 31.68 59.52 31.68 102.72v179.52c0 26.88 5.76 48 18.24 61.44 10.24 11.029333 28.224 18.816 53.418667 22.314667 10.112 1.408 17.621333 10.026667 17.621333 20.245333v40.746667a21.333333 21.333333 0 0 1-18.88 21.184c-24.576 3.413333-42.282667 10.794667-53.12 23.189333-11.52 12.48-17.28 32.64-17.28 60.48v180.48c0 42.24-10.56 76.8-31.68 101.76-23.04 26.88-55.68 41.28-97.92 41.28H631.466667a21.333333 21.333333 0 0 1-21.333334-21.333333V899.626667a21.333333 21.333333 0 0 1 21.333334-21.333334h35.306666c35.52 0 53.76-21.12 53.76-61.44v-189.12c0-57.6 26.88-96.96 82.56-120-55.68-20.16-82.56-60.48-82.56-120v-188.16c0-42.24-18.24-62.4-53.76-62.4H631.466667a21.333333 21.333333 0 0 1-21.333334-21.333333V80.746667a21.333333 21.333333 0 0 1 21.333334-21.333334z" fill="#000000" p-id="54462"></path></svg>', _o = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763569611105" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="87406" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M840 192h-56v-72c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h592c13.3 0 24-10.7 24-24V256h32v200H465c-22.1 0-40 17.9-40 40v136h-44c-4.4 0-8 3.6-8 8v228c0 0.6 0.1 1.3 0.2 1.9-0.1 2-0.2 4.1-0.2 6.1 0 46.4 37.6 84 84 84s84-37.6 84-84c0-2.1-0.1-4.1-0.2-6.1 0.1-0.6 0.2-1.2 0.2-1.9V640c0-4.4-3.6-8-8-8h-44V520h351c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40zM720 352H208V160h512v192zM477 876c0 11-9 20-20 20s-20-9-20-20V696h40v180z" p-id="87407"></path></svg>', Lo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763473363174" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28322" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M957.610667 507.434667L603.221333 158.293333a7.893333 7.893333 0 0 0-11.221333 0L353.28 393.386667a8.021333 8.021333 0 0 0-0.085333 11.306666l0.085333 0.128 40.021333 39.381334-117.205333 115.285333a8.021333 8.021333 0 0 0-0.085333 11.306667l0.085333 0.128 39.509333 38.869333-189.098666 187.008H72.106667a8.106667 8.106667 0 0 0-8.106667 8.021333v55.168c0 4.394667 3.584 8.021333 8.021333 8.021334H416.853333c2.133333 0 4.096-0.810667 5.589334-2.304l76.117333-75.605334 40.405333 39.808a7.936 7.936 0 0 0 11.178667 0l117.12-115.626666 40.106667 39.509333a7.893333 7.893333 0 0 0 11.178666 0l238.72-235.178667a7.68 7.68 0 0 0 0.298667-11.221333z m-567.808 288.853333H229.546667l134.4-133.034667 80.128 78.933334-54.314667 54.058666z m154.794666-62.122667l-171.392-168.917333 68.608-67.584 171.392 168.874667-68.608 67.626666z m168.533334-76.117333l-262.826667-258.901333 147.285333-145.066667 262.826667 258.986667-147.328 144.981333z" fill="#999999" p-id="28323"></path></svg>', Mo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480451042" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="58395" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M938.666667 553.92V768c0 64.8-52.533333 117.333333-117.333334 117.333333H202.666667c-64.8 0-117.333333-52.533333-117.333334-117.333333V256c0-64.8 52.533333-117.333333 117.333334-117.333333h618.666666c64.8 0 117.333333 52.533333 117.333334 117.333333v297.92z m-64-74.624V256a53.333333 53.333333 0 0 0-53.333334-53.333333H202.666667a53.333333 53.333333 0 0 0-53.333334 53.333333v344.48A290.090667 290.090667 0 0 1 192 597.333333a286.88 286.88 0 0 1 183.296 65.845334C427.029333 528.384 556.906667 437.333333 704 437.333333c65.706667 0 126.997333 16.778667 170.666667 41.962667z m0 82.24c-5.333333-8.32-21.130667-21.653333-43.648-32.917333C796.768 511.488 753.045333 501.333333 704 501.333333c-121.770667 0-229.130667 76.266667-270.432 188.693334-2.730667 7.445333-7.402667 20.32-13.994667 38.581333-7.68 21.301333-34.453333 28.106667-51.370666 13.056-16.437333-14.634667-28.554667-25.066667-36.138667-31.146667A222.890667 222.890667 0 0 0 192 661.333333c-14.464 0-28.725333 1.365333-42.666667 4.053334V768a53.333333 53.333333 0 0 0 53.333334 53.333333h618.666666a53.333333 53.333333 0 0 0 53.333334-53.333333V561.525333zM320 480a96 96 0 1 1 0-192 96 96 0 0 1 0 192z m0-64a32 32 0 1 0 0-64 32 32 0 0 0 0 64z" fill="#000000" p-id="58396"></path></svg>', zo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480387136" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="57289" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M213.972 214.906l0.934-0.934c27.606-27.606 68.674-30.581 92.168-7.087l225.23 225.23c29.72-40.254 30.733-93.311-0.599-124.643L345.639 121.406c-35.132-35.132-97.076-30.148-138.356 11.132l-74.744 74.744c-41.28 41.28-46.264 103.224-11.132 138.356l186.065 186.065c31.332 31.332 84.389 30.319 124.643 0.599l-225.23-225.23c-23.494-23.492-20.519-64.56 7.087-92.166zM808.745 809.679l0.934-0.934c27.606-27.606 31.18-68.074 7.686-91.568l-225.23-225.23c40.254-29.72 93.311-30.733 124.643 0.599l186.065 186.065c35.132 35.132 29.548 96.477-11.732 137.757l-74.744 74.744c-41.28 41.28-102.625 46.863-137.757 11.732L492.546 716.779c-31.332-31.332-31.909-82.799-0.599-124.643l225.23 225.23c23.494 23.494 63.962 19.92 91.568-7.687z" fill="#666666" p-id="57290"></path><path d="M627.123 628.713c-12.296 12.296-32.232 12.296-44.528 0L394.938 441.057c-12.296-12.296-12.296-32.232 0-44.528s32.232-12.296 44.528 0l187.656 187.656c12.297 12.296 12.297 32.232 0.001 44.528z" fill="#666666" p-id="57291"></path></svg>', $o = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763562537529" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="80294" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M107.5 736c28.6 0 52.2 7.1 70.2 21.4 18.5 15.1 27.9 36 27.9 61.7 0 22.9-8.4 41.3-24.7 54.1 16 12 29.6 32.8 29.6 57.3 0 27-9.7 49.7-28.8 67.2-19.6 17.5-45 26.3-75.6 26.3-29.2 0-53.4-7.8-71.7-23.3C14 983.6 2.4 958.4 0 926.1v-14.5h69.7V925c0.6 12.9 4.2 21.8 10.9 27.8 6.2 5.7 14.4 8.6 25.2 8.6 12.1 0 21.3-3.2 27.6-9.2 5.6-5.6 8.2-11.9 8.2-19.9 0-10-2.7-16.6-7.9-20.8-5.4-4.5-14.5-6.9-27.8-6.9H74.3v-58.9h31.5c11.6 0 19.8-2.2 24.5-6.1 4.1-3.5 6.3-9.2 6.3-17.4 0-8.3-2-13.9-5.3-17-4.6-3.9-12.3-6.1-23.5-6.1-11.5 0-19.3 2.5-24.8 7.4-5.5 4.8-8.9 12.8-10 23.7v13.4H5.1l-0.2-7v-8.2c2.4-29.1 13.4-52.1 32.7-68.2C55.8 744 79.3 736 107.5 736z m916.5 96v128H384V832h640zM106.9 368c28 0 51.7 8.4 70.5 25.1 18.8 17.1 28.2 39.1 28.2 65.8 0 25.4-9.7 48.8-28.8 70-10.4 11.1-27.9 24.8-55.3 43.2-10.1 6.6-18.5 12.9-25.2 18.7h109.3V656l-7.1 0.1-185.2-0.1c-4.5-0.6-7.5-1.6-9.8-3.8-2.4-2.4-3.2-5.6-3.5-10.4 0-29.7 9.6-55.5 28.8-77.1 10.3-11.8 30.6-28.1 61.1-49.1 14.4-10 25.7-19.2 32.4-26.3 8.9-10 13.2-20.3 13.2-30.8 0-9.8-2.3-16.6-6.4-20.4-4.5-4.1-12.2-6.3-23.6-6.3-11.3 0-18.8 3.4-24.1 10.6-5.7 7.3-9.2 19.8-9.9 37.7-0.5 3.9-1.6 6.8-3.8 9-2.1 2-4.8 3-10.4 4l-43-0.1c-4.2-0.8-7.1-1.9-9.2-4-2.2-2.3-3.2-5.3-3.7-10.3 0.4-32.1 9.9-58.3 28.6-78.2 19.6-21.6 45.5-32.5 76.9-32.5z m917.1 80v128H384V448h640zM146.6 0v288H75.1V94.2c-16.7 10.2-35.9 18.3-50.9 20.3l-8.2 1.6V46l4.8-2C39.3 37.3 52.5 31.7 60 27.6 71 20.9 82.1 11.7 96.3 0.1h50.3zM1024 64v128H384V64h640z" fill="#333333" p-id="80295"></path></svg>', So = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480239307" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="56277" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M849.6 231v109.5c-46.4 14.9-84.6 41.5-114.4 81.3-29.9 36.5-44.8 76.3-43.1 116.1 8.3-5 21.6-6.6 41.5-6.6 34.8 0 64.7 11.6 91.2 36.5 23.2 24.9 36.5 56.4 36.5 94.5S848 732 821.5 756.8C795 780 761.8 793.3 722 793.3c-46.4 0-82.9-19.9-112.8-56.4s-43.1-84.6-43.1-141c0-89.6 24.9-165.8 76.3-230.5C692 299 761.7 254.2 849.6 231z m-403 0v109.5c-46.4 14.9-82.9 41.5-112.8 81.3-31.5 36.5-46.4 76.3-44.8 116.1 8.3-5 21.6-6.6 41.5-6.6 34.8 0 64.7 11.6 89.6 36.5 24.9 24.9 38.1 56.4 38.1 94.5s-13.3 69.7-38.1 94.5c-26.5 23.2-61.4 36.5-101.2 36.5-46.4 0-82.9-19.9-111.1-56.4-29.9-36.5-44.8-84.6-44.8-141 0-89.6 24.9-165.8 76.3-230.5C289 299 358.7 254.2 446.6 231z" p-id="56278"></path></svg>', To = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480808376" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="61532" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M959.825 384.002V191.94c0-70.692-57.308-128-128-128H191.94c-70.692 0-128 57.308-128 128v639.885c0 70.692 57.308 128 128 128h639.885c70.692 0 128-57.308 128-128V384.002z m-813.16-237.337a63.738 63.738 0 0 1 45.336-18.785H832a63.962 63.962 0 0 1 63.886 64.121v128.061H127.88v-128.06a63.738 63.738 0 0 1 18.785-45.337z m269.127 461.308v-223.97h192.181v223.97H415.792z m192.181 63.94v223.972H415.792V671.914h192.181z m-256.121-63.94H127.88v-223.97h223.972v223.97zM146.665 877.21a63.467 63.467 0 0 1-18.785-45.21V671.914h223.972v223.97h-159.85a63.626 63.626 0 0 1-45.337-18.675z m749.22-45.21a63.763 63.763 0 0 1-63.886 63.886H671.914V671.914h223.97v160.085z m0-224.026H671.914v-223.97h223.97v223.97z" p-id="61533"></path></svg>', Eo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480994147" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="73821" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M933.529779 1022.701142H87.673207c-48.357498 0-87.523075-39.165577-87.523075-87.523076V1.798419h729.259049c48.357498 0 87.523075 39.165577 87.523076 87.523076v320.818031h204.220509V935.178066c-0.099912 48.357498-39.265489 87.523075-87.622987 87.523076z m-175.046151-904.205289c0-32.171724-26.077081-58.348717-58.348717-58.348717H58.498849v845.856572c0 32.171724 26.077081 58.348717 58.348717 58.348717h583.387257c32.171724 0 58.348717-26.077081 58.348717-58.348717V118.495853zM962.704137 468.588155h-145.871792v495.864182h87.523075c32.171724 0 58.348717-26.077081 58.348717-58.348717V468.588155z m-729.25905 0h379.166748v58.348717H233.445087V468.588155z m0-233.394868h379.166748v58.348717H233.445087v-58.348717z m262.569227 525.03854H233.445087v-58.348716h262.469314v58.348716z m0 0" p-id="73822"></path></svg>', Do = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763477549677" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31202" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M828.6 75C889.572 75 939 124.428 939 185.4v676.2c0 60.972-49.428 110.4-110.4 110.4H152.4C91.428 972 42 922.572 42 861.6V185.4C42 124.428 91.428 75 152.4 75z m0 59.8H152.4c-27.946 0-50.6 22.654-50.6 50.6v676.2c0 27.946 22.654 50.6 50.6 50.6h676.2c27.946 0 50.6-22.654 50.6-50.6V185.4c0-27.946-22.654-50.6-50.6-50.6z m-20.56 167.48c11.48 11.504 11.641 30.022 0.502 41.725l-0.548 0.56L477.473 674.37c-11.251 11.227-29.274 11.663-41.05 1.123l-0.574-0.527L260.695 509.93c-12.018-11.325-12.581-30.248-1.257-42.266 11.145-11.828 29.65-12.56 41.69-1.788l0.577 0.53L455.756 611.56l310-309.325c11.689-11.664 30.62-11.644 42.284 0.045z" fill="#333333" p-id="31203"></path></svg>', Fo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480631673" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="60480" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M960 192h-28.384c-16.8 0-32.928 6.624-44.928 18.432L800 295.936V256a96 96 0 0 0-96-96H96C43.072 160 0 203.04 0 256v512a96 96 0 0 0 96 96h608c52.992 0 96-43.008 96-96v-39.072l86.688 85.504c12 11.808 28.128 18.432 44.928 18.432H960a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64zM96 800c-17.664 0-32-14.368-32-32V256a32 32 0 0 1 32-32h608c17.632 0 32 14.336 32 32v512c0 17.632-14.368 32-32 32H96z m864-31.136h-32l-128-128V640l-32-32v-192l160-160h32v512.864z" fill="#333333" p-id="60481"></path></svg>', Bo = ["innerHTML"], Ao = /* @__PURE__ */ ot({
|
|
1105
|
+
}), po = /* @__PURE__ */ nt(fo, [["__scopeId", "data-v-0f5572cb"]]), ho = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763565315763" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="81778" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M96 128h832v96H96zM96 576h832v96H96zM224 352h576v96H224zM224 800h576v96H224z" p-id="81779"></path></svg>', mo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763565310640" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="81615" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M96 128h832v96H96zM96 576h832v96H96zM96 352h832v96H96zM96 800h832v96H96z" p-id="81616"></path></svg>', go = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763565296828" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="81289" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M96 128h832v96H96zM96 576h832v96H96zM96 352h576v96H96zM96 800h576v96H96z" p-id="81290"></path></svg>', ko = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763565306218" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="81452" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M96 128h832v96H96zM96 576h832v96H96zM352 352h576v96H352zM352 800h576v96H352z" p-id="81453"></path></svg>', wo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763562183158" class="icon" viewBox="0 0 1102 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="79129" xmlns:xlink="http://www.w3.org/1999/xlink" width="19.37109375" height="18"><path d="M93.105231 187.943385a78.769231 78.769231 0 1 1 0-157.538462 78.769231 78.769231 0 0 1 0 157.538462z m0 393.846153a78.769231 78.769231 0 1 1 0-157.538461 78.769231 78.769231 0 0 1 0 157.538461z m0 393.846154a78.769231 78.769231 0 1 1 0-157.538461 78.769231 78.769231 0 0 1 0 157.538461zM276.243692 161.792v-118.153846h787.692308v118.153846h-787.692308z m0.472616 397.233231v-118.153846h788.007384v118.153846H276.716308z m-3.308308 397.154461v-118.153846h789.267692v118.153846H273.329231z" fill="#333333" p-id="79130"></path></svg>', bo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763566846467" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="83576" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M477.098667 709.717333a46.805333 46.805333 0 0 0 69.802666 0l296.021334-340.736c24.32-28.032 3.328-70.314667-34.944-70.314666H216.021333c-38.272 0-59.306667 42.282667-34.944 70.314666l296.021334 340.736z" fill="#000000" p-id="83577"></path></svg>', yo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763568214776" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="84748" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M682.666667 772.266667l332.8-247.466667-324.266667-435.2-409.6 307.2-256 192L260.266667 896h691.2v-85.333333h-324.266667l55.466667-38.4zM674.133333 213.333333l221.866667 294.4-260.266667 196.266667-38.4 25.6-230.4-285.866667L674.133333 213.333333zM145.066667 605.866667l149.333333-110.933334 230.4 285.866667-34.133333 29.866667H298.666667l-153.6-204.8z" fill="#333333" p-id="84749"></path></svg>', Co = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763479929532" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="52528" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M621.568 208.299a38.101 38.101 0 0 0-73.941-18.518L386.773 833.28a38.101 38.101 0 0 0 73.899 18.475l160.853-643.456zM325.632 294.4a38.101 38.101 0 0 1 0 53.888L162.347 511.573 325.632 674.86a38.101 38.101 0 0 1-53.845 53.888L81.493 538.539a38.101 38.101 0 0 1 0-53.931L271.787 294.4a38.101 38.101 0 0 1 53.888 0z m372.736 0a38.101 38.101 0 0 0 0 53.888l163.285 163.285L698.368 674.86a38.101 38.101 0 0 0 53.888 53.888l190.25-190.208a38.101 38.101 0 0 0 0-53.931L752.257 294.4a38.101 38.101 0 0 0-53.888 0z" fill="#333333" p-id="52529"></path></svg>', xo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480012496" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="54461" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M338.986667 59.413333h52.586666a21.333333 21.333333 0 0 1 21.333334 21.333334V115.84a21.333333 21.333333 0 0 1-21.333334 21.333333H356.266667c-36.48 0-53.76 20.16-53.76 62.4v188.16c0 59.52-27.84 99.84-82.56 120 54.72 23.04 82.56 62.4 82.56 120v189.12c0 40.32 17.28 61.44 53.76 61.44h35.306666a21.333333 21.333333 0 0 1 21.333334 21.333334v35.093333a21.333333 21.333333 0 0 1-21.333334 21.333333H338.986667c-42.24 0-74.88-14.4-97.92-41.28-21.12-24.96-31.68-59.52-31.68-101.76v-180.48c0-27.84-5.76-48-17.28-60.48-11.178667-12.778667-29.653333-20.245333-55.466667-23.488a18.901333 18.901333 0 0 1-16.533333-18.773333v-43.221333c0-10.005333 7.381333-18.474667 17.28-19.84 25.408-3.498667 43.648-11.456 54.72-23.317334 11.52-13.44 17.28-33.6 17.28-60.48V203.413333c0-43.2 10.56-77.76 31.68-102.72 23.04-27.84 55.68-41.28 97.92-41.28z m292.48 0h52.586666c42.24 0 74.88 13.44 97.92 41.28 21.12 24.96 31.68 59.52 31.68 102.72v179.52c0 26.88 5.76 48 18.24 61.44 10.24 11.029333 28.224 18.816 53.418667 22.314667 10.112 1.408 17.621333 10.026667 17.621333 20.245333v40.746667a21.333333 21.333333 0 0 1-18.88 21.184c-24.576 3.413333-42.282667 10.794667-53.12 23.189333-11.52 12.48-17.28 32.64-17.28 60.48v180.48c0 42.24-10.56 76.8-31.68 101.76-23.04 26.88-55.68 41.28-97.92 41.28H631.466667a21.333333 21.333333 0 0 1-21.333334-21.333333V899.626667a21.333333 21.333333 0 0 1 21.333334-21.333334h35.306666c35.52 0 53.76-21.12 53.76-61.44v-189.12c0-57.6 26.88-96.96 82.56-120-55.68-20.16-82.56-60.48-82.56-120v-188.16c0-42.24-18.24-62.4-53.76-62.4H631.466667a21.333333 21.333333 0 0 1-21.333334-21.333333V80.746667a21.333333 21.333333 0 0 1 21.333334-21.333334z" fill="#000000" p-id="54462"></path></svg>', _o = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763569611105" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="87406" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M840 192h-56v-72c0-13.3-10.7-24-24-24H168c-13.3 0-24 10.7-24 24v272c0 13.3 10.7 24 24 24h592c13.3 0 24-10.7 24-24V256h32v200H465c-22.1 0-40 17.9-40 40v136h-44c-4.4 0-8 3.6-8 8v228c0 0.6 0.1 1.3 0.2 1.9-0.1 2-0.2 4.1-0.2 6.1 0 46.4 37.6 84 84 84s84-37.6 84-84c0-2.1-0.1-4.1-0.2-6.1 0.1-0.6 0.2-1.2 0.2-1.9V640c0-4.4-3.6-8-8-8h-44V520h351c22.1 0 40-17.9 40-40V232c0-22.1-17.9-40-40-40zM720 352H208V160h512v192zM477 876c0 11-9 20-20 20s-20-9-20-20V696h40v180z" p-id="87407"></path></svg>', Lo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763473363174" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="28322" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M957.610667 507.434667L603.221333 158.293333a7.893333 7.893333 0 0 0-11.221333 0L353.28 393.386667a8.021333 8.021333 0 0 0-0.085333 11.306666l0.085333 0.128 40.021333 39.381334-117.205333 115.285333a8.021333 8.021333 0 0 0-0.085333 11.306667l0.085333 0.128 39.509333 38.869333-189.098666 187.008H72.106667a8.106667 8.106667 0 0 0-8.106667 8.021333v55.168c0 4.394667 3.584 8.021333 8.021333 8.021334H416.853333c2.133333 0 4.096-0.810667 5.589334-2.304l76.117333-75.605334 40.405333 39.808a7.936 7.936 0 0 0 11.178667 0l117.12-115.626666 40.106667 39.509333a7.893333 7.893333 0 0 0 11.178666 0l238.72-235.178667a7.68 7.68 0 0 0 0.298667-11.221333z m-567.808 288.853333H229.546667l134.4-133.034667 80.128 78.933334-54.314667 54.058666z m154.794666-62.122667l-171.392-168.917333 68.608-67.584 171.392 168.874667-68.608 67.626666z m168.533334-76.117333l-262.826667-258.901333 147.285333-145.066667 262.826667 258.986667-147.328 144.981333z" fill="#999999" p-id="28323"></path></svg>', Mo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480451042" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="58395" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M938.666667 553.92V768c0 64.8-52.533333 117.333333-117.333334 117.333333H202.666667c-64.8 0-117.333333-52.533333-117.333334-117.333333V256c0-64.8 52.533333-117.333333 117.333334-117.333333h618.666666c64.8 0 117.333333 52.533333 117.333334 117.333333v297.92z m-64-74.624V256a53.333333 53.333333 0 0 0-53.333334-53.333333H202.666667a53.333333 53.333333 0 0 0-53.333334 53.333333v344.48A290.090667 290.090667 0 0 1 192 597.333333a286.88 286.88 0 0 1 183.296 65.845334C427.029333 528.384 556.906667 437.333333 704 437.333333c65.706667 0 126.997333 16.778667 170.666667 41.962667z m0 82.24c-5.333333-8.32-21.130667-21.653333-43.648-32.917333C796.768 511.488 753.045333 501.333333 704 501.333333c-121.770667 0-229.130667 76.266667-270.432 188.693334-2.730667 7.445333-7.402667 20.32-13.994667 38.581333-7.68 21.301333-34.453333 28.106667-51.370666 13.056-16.437333-14.634667-28.554667-25.066667-36.138667-31.146667A222.890667 222.890667 0 0 0 192 661.333333c-14.464 0-28.725333 1.365333-42.666667 4.053334V768a53.333333 53.333333 0 0 0 53.333334 53.333333h618.666666a53.333333 53.333333 0 0 0 53.333334-53.333333V561.525333zM320 480a96 96 0 1 1 0-192 96 96 0 0 1 0 192z m0-64a32 32 0 1 0 0-64 32 32 0 0 0 0 64z" fill="#000000" p-id="58396"></path></svg>', zo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480387136" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="57289" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M213.972 214.906l0.934-0.934c27.606-27.606 68.674-30.581 92.168-7.087l225.23 225.23c29.72-40.254 30.733-93.311-0.599-124.643L345.639 121.406c-35.132-35.132-97.076-30.148-138.356 11.132l-74.744 74.744c-41.28 41.28-46.264 103.224-11.132 138.356l186.065 186.065c31.332 31.332 84.389 30.319 124.643 0.599l-225.23-225.23c-23.494-23.492-20.519-64.56 7.087-92.166zM808.745 809.679l0.934-0.934c27.606-27.606 31.18-68.074 7.686-91.568l-225.23-225.23c40.254-29.72 93.311-30.733 124.643 0.599l186.065 186.065c35.132 35.132 29.548 96.477-11.732 137.757l-74.744 74.744c-41.28 41.28-102.625 46.863-137.757 11.732L492.546 716.779c-31.332-31.332-31.909-82.799-0.599-124.643l225.23 225.23c23.494 23.494 63.962 19.92 91.568-7.687z" fill="#666666" p-id="57290"></path><path d="M627.123 628.713c-12.296 12.296-32.232 12.296-44.528 0L394.938 441.057c-12.296-12.296-12.296-32.232 0-44.528s32.232-12.296 44.528 0l187.656 187.656c12.297 12.296 12.297 32.232 0.001 44.528z" fill="#666666" p-id="57291"></path></svg>', $o = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763562537529" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="80294" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M107.5 736c28.6 0 52.2 7.1 70.2 21.4 18.5 15.1 27.9 36 27.9 61.7 0 22.9-8.4 41.3-24.7 54.1 16 12 29.6 32.8 29.6 57.3 0 27-9.7 49.7-28.8 67.2-19.6 17.5-45 26.3-75.6 26.3-29.2 0-53.4-7.8-71.7-23.3C14 983.6 2.4 958.4 0 926.1v-14.5h69.7V925c0.6 12.9 4.2 21.8 10.9 27.8 6.2 5.7 14.4 8.6 25.2 8.6 12.1 0 21.3-3.2 27.6-9.2 5.6-5.6 8.2-11.9 8.2-19.9 0-10-2.7-16.6-7.9-20.8-5.4-4.5-14.5-6.9-27.8-6.9H74.3v-58.9h31.5c11.6 0 19.8-2.2 24.5-6.1 4.1-3.5 6.3-9.2 6.3-17.4 0-8.3-2-13.9-5.3-17-4.6-3.9-12.3-6.1-23.5-6.1-11.5 0-19.3 2.5-24.8 7.4-5.5 4.8-8.9 12.8-10 23.7v13.4H5.1l-0.2-7v-8.2c2.4-29.1 13.4-52.1 32.7-68.2C55.8 744 79.3 736 107.5 736z m916.5 96v128H384V832h640zM106.9 368c28 0 51.7 8.4 70.5 25.1 18.8 17.1 28.2 39.1 28.2 65.8 0 25.4-9.7 48.8-28.8 70-10.4 11.1-27.9 24.8-55.3 43.2-10.1 6.6-18.5 12.9-25.2 18.7h109.3V656l-7.1 0.1-185.2-0.1c-4.5-0.6-7.5-1.6-9.8-3.8-2.4-2.4-3.2-5.6-3.5-10.4 0-29.7 9.6-55.5 28.8-77.1 10.3-11.8 30.6-28.1 61.1-49.1 14.4-10 25.7-19.2 32.4-26.3 8.9-10 13.2-20.3 13.2-30.8 0-9.8-2.3-16.6-6.4-20.4-4.5-4.1-12.2-6.3-23.6-6.3-11.3 0-18.8 3.4-24.1 10.6-5.7 7.3-9.2 19.8-9.9 37.7-0.5 3.9-1.6 6.8-3.8 9-2.1 2-4.8 3-10.4 4l-43-0.1c-4.2-0.8-7.1-1.9-9.2-4-2.2-2.3-3.2-5.3-3.7-10.3 0.4-32.1 9.9-58.3 28.6-78.2 19.6-21.6 45.5-32.5 76.9-32.5z m917.1 80v128H384V448h640zM146.6 0v288H75.1V94.2c-16.7 10.2-35.9 18.3-50.9 20.3l-8.2 1.6V46l4.8-2C39.3 37.3 52.5 31.7 60 27.6 71 20.9 82.1 11.7 96.3 0.1h50.3zM1024 64v128H384V64h640z" fill="#333333" p-id="80295"></path></svg>', So = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480239307" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="56277" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M849.6 231v109.5c-46.4 14.9-84.6 41.5-114.4 81.3-29.9 36.5-44.8 76.3-43.1 116.1 8.3-5 21.6-6.6 41.5-6.6 34.8 0 64.7 11.6 91.2 36.5 23.2 24.9 36.5 56.4 36.5 94.5S848 732 821.5 756.8C795 780 761.8 793.3 722 793.3c-46.4 0-82.9-19.9-112.8-56.4s-43.1-84.6-43.1-141c0-89.6 24.9-165.8 76.3-230.5C692 299 761.7 254.2 849.6 231z m-403 0v109.5c-46.4 14.9-82.9 41.5-112.8 81.3-31.5 36.5-46.4 76.3-44.8 116.1 8.3-5 21.6-6.6 41.5-6.6 34.8 0 64.7 11.6 89.6 36.5 24.9 24.9 38.1 56.4 38.1 94.5s-13.3 69.7-38.1 94.5c-26.5 23.2-61.4 36.5-101.2 36.5-46.4 0-82.9-19.9-111.1-56.4-29.9-36.5-44.8-84.6-44.8-141 0-89.6 24.9-165.8 76.3-230.5C289 299 358.7 254.2 446.6 231z" p-id="56278"></path></svg>', To = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480808376" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="61532" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M959.825 384.002V191.94c0-70.692-57.308-128-128-128H191.94c-70.692 0-128 57.308-128 128v639.885c0 70.692 57.308 128 128 128h639.885c70.692 0 128-57.308 128-128V384.002z m-813.16-237.337a63.738 63.738 0 0 1 45.336-18.785H832a63.962 63.962 0 0 1 63.886 64.121v128.061H127.88v-128.06a63.738 63.738 0 0 1 18.785-45.337z m269.127 461.308v-223.97h192.181v223.97H415.792z m192.181 63.94v223.972H415.792V671.914h192.181z m-256.121-63.94H127.88v-223.97h223.972v223.97zM146.665 877.21a63.467 63.467 0 0 1-18.785-45.21V671.914h223.972v223.97h-159.85a63.626 63.626 0 0 1-45.337-18.675z m749.22-45.21a63.763 63.763 0 0 1-63.886 63.886H671.914V671.914h223.97v160.085z m0-224.026H671.914v-223.97h223.97v223.97z" p-id="61533"></path></svg>', Do = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480994147" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="73821" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M933.529779 1022.701142H87.673207c-48.357498 0-87.523075-39.165577-87.523075-87.523076V1.798419h729.259049c48.357498 0 87.523075 39.165577 87.523076 87.523076v320.818031h204.220509V935.178066c-0.099912 48.357498-39.265489 87.523075-87.622987 87.523076z m-175.046151-904.205289c0-32.171724-26.077081-58.348717-58.348717-58.348717H58.498849v845.856572c0 32.171724 26.077081 58.348717 58.348717 58.348717h583.387257c32.171724 0 58.348717-26.077081 58.348717-58.348717V118.495853zM962.704137 468.588155h-145.871792v495.864182h87.523075c32.171724 0 58.348717-26.077081 58.348717-58.348717V468.588155z m-729.25905 0h379.166748v58.348717H233.445087V468.588155z m0-233.394868h379.166748v58.348717H233.445087v-58.348717z m262.569227 525.03854H233.445087v-58.348716h262.469314v58.348716z m0 0" p-id="73822"></path></svg>', Eo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763477549677" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31202" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M828.6 75C889.572 75 939 124.428 939 185.4v676.2c0 60.972-49.428 110.4-110.4 110.4H152.4C91.428 972 42 922.572 42 861.6V185.4C42 124.428 91.428 75 152.4 75z m0 59.8H152.4c-27.946 0-50.6 22.654-50.6 50.6v676.2c0 27.946 22.654 50.6 50.6 50.6h676.2c27.946 0 50.6-22.654 50.6-50.6V185.4c0-27.946-22.654-50.6-50.6-50.6z m-20.56 167.48c11.48 11.504 11.641 30.022 0.502 41.725l-0.548 0.56L477.473 674.37c-11.251 11.227-29.274 11.663-41.05 1.123l-0.574-0.527L260.695 509.93c-12.018-11.325-12.581-30.248-1.257-42.266 11.145-11.828 29.65-12.56 41.69-1.788l0.577 0.53L455.756 611.56l310-309.325c11.689-11.664 30.62-11.644 42.284 0.045z" fill="#333333" p-id="31203"></path></svg>', Fo = '<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763480631673" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="60480" xmlns:xlink="http://www.w3.org/1999/xlink" width="18" height="18"><path d="M960 192h-28.384c-16.8 0-32.928 6.624-44.928 18.432L800 295.936V256a96 96 0 0 0-96-96H96C43.072 160 0 203.04 0 256v512a96 96 0 0 0 96 96h608c52.992 0 96-43.008 96-96v-39.072l86.688 85.504c12 11.808 28.128 18.432 44.928 18.432H960a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64zM96 800c-17.664 0-32-14.368-32-32V256a32 32 0 0 1 32-32h608c17.632 0 32 14.336 32 32v512c0 17.632-14.368 32-32 32H96z m864-31.136h-32l-128-128V640l-32-32v-192l160-160h32v512.864z" fill="#333333" p-id="60481"></path></svg>', Bo = ["innerHTML"], Ao = /* @__PURE__ */ ot({
|
|
1106
1106
|
__name: "SvgIcon",
|
|
1107
1107
|
props: {
|
|
1108
1108
|
name: {},
|
|
@@ -1110,7 +1110,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1110
1110
|
size: {}
|
|
1111
1111
|
},
|
|
1112
1112
|
setup(t) {
|
|
1113
|
-
const
|
|
1113
|
+
const c = t, s = ie(), e = /* @__PURE__ */ Object.assign({
|
|
1114
1114
|
"/src/svg/alignCenter.svg": ho,
|
|
1115
1115
|
"/src/svg/alignJustify.svg": mo,
|
|
1116
1116
|
"/src/svg/alignLeft.svg": go,
|
|
@@ -1127,19 +1127,19 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1127
1127
|
"/src/svg/orderedList.svg": $o,
|
|
1128
1128
|
"/src/svg/quote.svg": So,
|
|
1129
1129
|
"/src/svg/table.svg": To,
|
|
1130
|
-
"/src/svg/tableTools.svg":
|
|
1131
|
-
"/src/svg/task.svg":
|
|
1130
|
+
"/src/svg/tableTools.svg": Do,
|
|
1131
|
+
"/src/svg/task.svg": Eo,
|
|
1132
1132
|
"/src/svg/video.svg": Fo
|
|
1133
1133
|
}), l = (() => {
|
|
1134
1134
|
const p = {};
|
|
1135
|
-
return Object.entries(
|
|
1135
|
+
return Object.entries(e).forEach(([M, y]) => {
|
|
1136
1136
|
const u = (M.split("/src/svg/")[1] || M).replace(/\.svg$/i, "");
|
|
1137
1137
|
p[u] = y;
|
|
1138
1138
|
const f = u.split("/").pop();
|
|
1139
1139
|
f && (p[f] = y);
|
|
1140
1140
|
}), p;
|
|
1141
|
-
})(),
|
|
1142
|
-
const p =
|
|
1141
|
+
})(), a = dt(() => {
|
|
1142
|
+
const p = c.name.replace(/\.svg$/i, "");
|
|
1143
1143
|
return l[p] || "";
|
|
1144
1144
|
});
|
|
1145
1145
|
function S(p) {
|
|
@@ -1147,14 +1147,14 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1147
1147
|
let M = p.replace(/<\?xml[\s\S]*?\?>/gi, "").replace(/<!DOCTYPE[\s\S]*?>/gi, "");
|
|
1148
1148
|
return M = M.replace(/<svg([^>]*)>/i, (y, C) => `<svg${C.replace(/\s(width|height)="[^"]*"/gi, "").replace(/\s(fill|stroke)="[^"]*"/gi, "")} width="1em" height="1em" preserveAspectRatio="xMidYMid meet">`), M = M.replace(/fill="(?!none)[^"]*"/gi, 'fill="currentColor"'), M = M.replace(/stroke="(?!none)[^"]*"/gi, 'stroke="currentColor"'), M;
|
|
1149
1149
|
}
|
|
1150
|
-
const i = dt(() => S(
|
|
1150
|
+
const i = dt(() => S(a.value));
|
|
1151
1151
|
function x(p) {
|
|
1152
1152
|
if (p != null)
|
|
1153
1153
|
return typeof p == "number" ? `${p}px` : p;
|
|
1154
1154
|
}
|
|
1155
1155
|
const z = dt(() => {
|
|
1156
|
-
const p = {}, M = x(
|
|
1157
|
-
M && (p.fontSize = M),
|
|
1156
|
+
const p = {}, M = x(c.size);
|
|
1157
|
+
M && (p.fontSize = M), c.color && (p.color = c.color);
|
|
1158
1158
|
const y = s.style ?? void 0;
|
|
1159
1159
|
return [p, y].filter(Boolean);
|
|
1160
1160
|
});
|
|
@@ -1183,7 +1183,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1183
1183
|
currentBg: {}
|
|
1184
1184
|
},
|
|
1185
1185
|
setup(t) {
|
|
1186
|
-
const
|
|
1186
|
+
const c = t, s = [
|
|
1187
1187
|
"#000000",
|
|
1188
1188
|
"#262626",
|
|
1189
1189
|
"#595959",
|
|
@@ -1213,26 +1213,26 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1213
1213
|
"#85A5FF",
|
|
1214
1214
|
"#B37FEB",
|
|
1215
1215
|
"#F759AB"
|
|
1216
|
-
],
|
|
1216
|
+
], e = D(!1), l = D(!1), a = D(null), S = D(c.currentBg || "#ffffff"), i = D(v()), x = D("#FADB14");
|
|
1217
1217
|
function z() {
|
|
1218
|
-
|
|
1218
|
+
e.value || window.dispatchEvent(new CustomEvent(Rt, { detail: { id: qt } })), e.value = !e.value;
|
|
1219
1219
|
}
|
|
1220
1220
|
function p() {
|
|
1221
|
-
|
|
1221
|
+
e.value = !1;
|
|
1222
1222
|
}
|
|
1223
1223
|
function M() {
|
|
1224
1224
|
l.value = !l.value;
|
|
1225
1225
|
}
|
|
1226
1226
|
function y(b) {
|
|
1227
1227
|
var m;
|
|
1228
|
-
(m =
|
|
1228
|
+
(m = c.editor) == null || m.chain().focus().setMark("textStyle", { backgroundColor: b }).run(), x.value = b, g(b), p();
|
|
1229
1229
|
}
|
|
1230
1230
|
function C() {
|
|
1231
1231
|
var b;
|
|
1232
|
-
(b =
|
|
1232
|
+
(b = c.editor) == null || b.chain().focus().setMark("textStyle", { backgroundColor: null }).removeEmptyTextStyle().run(), p();
|
|
1233
1233
|
}
|
|
1234
1234
|
function u(b) {
|
|
1235
|
-
const m = b.target, k =
|
|
1235
|
+
const m = b.target, k = a.value;
|
|
1236
1236
|
k && !k.contains(m) && p();
|
|
1237
1237
|
}
|
|
1238
1238
|
function f() {
|
|
@@ -1257,7 +1257,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1257
1257
|
}
|
|
1258
1258
|
let h = [];
|
|
1259
1259
|
function $() {
|
|
1260
|
-
const b =
|
|
1260
|
+
const b = c.editor;
|
|
1261
1261
|
b && (h = [
|
|
1262
1262
|
{ event: "selectionUpdate", handler: f },
|
|
1263
1263
|
{ event: "transaction", handler: f },
|
|
@@ -1270,12 +1270,12 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1270
1270
|
document.addEventListener("click", u), window.addEventListener(Rt, j), $();
|
|
1271
1271
|
}), ht(() => {
|
|
1272
1272
|
document.removeEventListener("click", u), window.removeEventListener(Rt, j);
|
|
1273
|
-
const b =
|
|
1273
|
+
const b = c.editor;
|
|
1274
1274
|
b && h.forEach(({ event: m, handler: k }) => {
|
|
1275
1275
|
b.off(m, k);
|
|
1276
1276
|
}), h = [];
|
|
1277
|
-
}),
|
|
1278
|
-
() =>
|
|
1277
|
+
}), kt(
|
|
1278
|
+
() => c.editor,
|
|
1279
1279
|
(b, m) => {
|
|
1280
1280
|
m && h.forEach(({ event: k, handler: H }) => {
|
|
1281
1281
|
m.off(k, H);
|
|
@@ -1284,16 +1284,16 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1284
1284
|
);
|
|
1285
1285
|
function j(b) {
|
|
1286
1286
|
var k;
|
|
1287
|
-
((k = b.detail) == null ? void 0 : k.id) !== qt && (
|
|
1287
|
+
((k = b.detail) == null ? void 0 : k.id) !== qt && (e.value = !1);
|
|
1288
1288
|
}
|
|
1289
1289
|
return (b, m) => (T(), F("div", {
|
|
1290
1290
|
class: "bg-color-select",
|
|
1291
1291
|
ref_key: "rootRef",
|
|
1292
|
-
ref:
|
|
1292
|
+
ref: a
|
|
1293
1293
|
}, [
|
|
1294
1294
|
r("div", {
|
|
1295
1295
|
class: "icon icon-dropdown",
|
|
1296
|
-
"aria-expanded":
|
|
1296
|
+
"aria-expanded": e.value
|
|
1297
1297
|
}, [
|
|
1298
1298
|
d(L(P), {
|
|
1299
1299
|
text: "背景色",
|
|
@@ -1302,7 +1302,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1302
1302
|
default: W(() => [
|
|
1303
1303
|
r("div", {
|
|
1304
1304
|
class: "icon-stack hoverable",
|
|
1305
|
-
onClick: m[0] || (m[0] =
|
|
1305
|
+
onClick: m[0] || (m[0] = E((k) => y(x.value), ["stop"]))
|
|
1306
1306
|
}, [
|
|
1307
1307
|
d(et, {
|
|
1308
1308
|
name: "highBg",
|
|
@@ -1323,7 +1323,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1323
1323
|
default: W(() => [
|
|
1324
1324
|
r("div", {
|
|
1325
1325
|
class: "arrow hoverable",
|
|
1326
|
-
onClick:
|
|
1326
|
+
onClick: E(z, ["stop"])
|
|
1327
1327
|
}, [
|
|
1328
1328
|
d(L(Vt), {
|
|
1329
1329
|
theme: "filled",
|
|
@@ -1337,7 +1337,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1337
1337
|
], 8, Ho),
|
|
1338
1338
|
d(yt, { name: "dropdown-slide" }, {
|
|
1339
1339
|
default: W(() => [
|
|
1340
|
-
|
|
1340
|
+
e.value ? (T(), F("div", Vo, [
|
|
1341
1341
|
r("div", Uo, [
|
|
1342
1342
|
m[4] || (m[4] = r("div", { class: "section-title" }, "无填充色", -1)),
|
|
1343
1343
|
r("div", Io, [
|
|
@@ -1350,7 +1350,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1350
1350
|
transparent 55%,
|
|
1351
1351
|
#fff 55%
|
|
1352
1352
|
)`, border: "1px dashed #ccc" },
|
|
1353
|
-
onClick:
|
|
1353
|
+
onClick: E(C, ["stop"])
|
|
1354
1354
|
})
|
|
1355
1355
|
])
|
|
1356
1356
|
]),
|
|
@@ -1361,7 +1361,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1361
1361
|
key: k,
|
|
1362
1362
|
class: "swatch",
|
|
1363
1363
|
style: ct({ background: k }),
|
|
1364
|
-
onClick:
|
|
1364
|
+
onClick: E((H) => y(k), ["stop"])
|
|
1365
1365
|
}, [
|
|
1366
1366
|
k === x.value ? (T(), F("span", Ro, "✓")) : Y("", !0)
|
|
1367
1367
|
], 12, Wo))), 128))
|
|
@@ -1374,7 +1374,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1374
1374
|
key: k,
|
|
1375
1375
|
class: "swatch",
|
|
1376
1376
|
style: ct({ background: k }),
|
|
1377
|
-
onClick:
|
|
1377
|
+
onClick: E((H) => y(k), ["stop"])
|
|
1378
1378
|
}, [
|
|
1379
1379
|
k === x.value ? (T(), xt(L(Bt), {
|
|
1380
1380
|
key: 0,
|
|
@@ -1391,18 +1391,18 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1391
1391
|
key: k,
|
|
1392
1392
|
class: "swatch",
|
|
1393
1393
|
style: ct({ background: k }),
|
|
1394
|
-
onClick:
|
|
1394
|
+
onClick: E((H) => y(k), ["stop"])
|
|
1395
1395
|
}, null, 12, qo))), 128))
|
|
1396
1396
|
])
|
|
1397
1397
|
])) : Y("", !0),
|
|
1398
1398
|
r("div", Jo, [
|
|
1399
1399
|
r("button", {
|
|
1400
1400
|
class: "btn",
|
|
1401
|
-
onClick:
|
|
1401
|
+
onClick: E(C, ["stop"])
|
|
1402
1402
|
}, "暂无"),
|
|
1403
1403
|
r("button", {
|
|
1404
1404
|
class: "btn",
|
|
1405
|
-
onClick:
|
|
1405
|
+
onClick: E(M, ["stop"])
|
|
1406
1406
|
}, "更多颜色")
|
|
1407
1407
|
]),
|
|
1408
1408
|
l.value ? (T(), F("div", Zo, [
|
|
@@ -1420,7 +1420,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1420
1420
|
]),
|
|
1421
1421
|
r("button", {
|
|
1422
1422
|
class: "btn apply",
|
|
1423
|
-
onClick: m[3] || (m[3] =
|
|
1423
|
+
onClick: m[3] || (m[3] = E((k) => y(S.value), ["stop"]))
|
|
1424
1424
|
}, "应用")
|
|
1425
1425
|
])) : Y("", !0)
|
|
1426
1426
|
])) : Y("", !0)
|
|
@@ -1437,22 +1437,22 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1437
1437
|
uploadSizeLimit: {}
|
|
1438
1438
|
},
|
|
1439
1439
|
setup(t) {
|
|
1440
|
-
const
|
|
1440
|
+
const c = t, s = D(!1), e = D(""), l = D(!1), a = D(null), S = () => {
|
|
1441
1441
|
s.value = !s.value;
|
|
1442
1442
|
}, i = () => {
|
|
1443
1443
|
var u, f, v, g, h, $;
|
|
1444
|
-
const C =
|
|
1445
|
-
C && (($ = (h = ((g = (f = (u =
|
|
1444
|
+
const C = e.value.trim();
|
|
1445
|
+
C && (($ = (h = ((g = (f = (u = c.editor) == null ? void 0 : u.chain) == null ? void 0 : (v = f.call(u)).focus) == null ? void 0 : g.call(v)).setImage({ src: C })).run) == null || $.call(h), s.value = !1, e.value = "");
|
|
1446
1446
|
}, x = (C) => {
|
|
1447
|
-
C.key === "Enter" && i(), C.key === "Escape" && (s.value = !1,
|
|
1447
|
+
C.key === "Enter" && i(), C.key === "Escape" && (s.value = !1, e.value = "");
|
|
1448
1448
|
}, z = () => {
|
|
1449
1449
|
var C;
|
|
1450
|
-
|
|
1450
|
+
c.imageUploader && ((C = a.value) == null || C.click());
|
|
1451
1451
|
}, p = async (C) => {
|
|
1452
1452
|
var g, h, $, j, b, m, k, H;
|
|
1453
1453
|
const u = C.target, f = (g = u.files) == null ? void 0 : g[0];
|
|
1454
|
-
if (u.value = "", !f || !
|
|
1455
|
-
const v = (h =
|
|
1454
|
+
if (u.value = "", !f || !c.imageUploader) return;
|
|
1455
|
+
const v = (h = c.uploadSizeLimit) == null ? void 0 : h.image;
|
|
1456
1456
|
if (typeof v == "number" && v > 0) {
|
|
1457
1457
|
const G = Math.max(1, v) * 1024 * 1024;
|
|
1458
1458
|
if (f.size > G) {
|
|
@@ -1466,10 +1466,10 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1466
1466
|
try {
|
|
1467
1467
|
l.value = !0;
|
|
1468
1468
|
let G = null;
|
|
1469
|
-
G = URL.createObjectURL(f), (H = (k = ((m = (j = ($ =
|
|
1470
|
-
const B = await
|
|
1469
|
+
G = URL.createObjectURL(f), (H = (k = ((m = (j = ($ = c.editor) == null ? void 0 : $.chain) == null ? void 0 : (b = j.call($)).focus) == null ? void 0 : m.call(b)).setImage({ src: G, uploading: !0 })).run) == null || H.call(k);
|
|
1470
|
+
const B = await c.imageUploader(f);
|
|
1471
1471
|
if (typeof B == "string" && B) {
|
|
1472
|
-
const O =
|
|
1472
|
+
const O = c.editor, { state: K } = O, { doc: Z } = K;
|
|
1473
1473
|
let X = null;
|
|
1474
1474
|
if (Z.descendants((Q, rt) => {
|
|
1475
1475
|
var st, at;
|
|
@@ -1481,7 +1481,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1481
1481
|
O.view.dispatch(at);
|
|
1482
1482
|
}
|
|
1483
1483
|
}
|
|
1484
|
-
s.value = !1,
|
|
1484
|
+
s.value = !1, e.value = "";
|
|
1485
1485
|
}
|
|
1486
1486
|
} finally {
|
|
1487
1487
|
l.value = !1;
|
|
@@ -1490,7 +1490,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1490
1490
|
} catch {
|
|
1491
1491
|
}
|
|
1492
1492
|
}
|
|
1493
|
-
}, M =
|
|
1493
|
+
}, M = D(null);
|
|
1494
1494
|
let y = null;
|
|
1495
1495
|
return ut(() => {
|
|
1496
1496
|
y = (C) => {
|
|
@@ -1526,21 +1526,21 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1526
1526
|
s.value ? (T(), F("div", {
|
|
1527
1527
|
key: 0,
|
|
1528
1528
|
class: "image-input-panel",
|
|
1529
|
-
onClick: u[1] || (u[1] =
|
|
1529
|
+
onClick: u[1] || (u[1] = E(() => {
|
|
1530
1530
|
}, ["stop"]))
|
|
1531
1531
|
}, [
|
|
1532
1532
|
_t(r("input", {
|
|
1533
1533
|
class: "image-input",
|
|
1534
1534
|
type: "text",
|
|
1535
1535
|
placeholder: "粘贴图片链接(png/jpg/webp/svg 等)",
|
|
1536
|
-
"onUpdate:modelValue": u[0] || (u[0] = (f) =>
|
|
1536
|
+
"onUpdate:modelValue": u[0] || (u[0] = (f) => e.value = f),
|
|
1537
1537
|
onKeydown: x
|
|
1538
1538
|
}, null, 544), [
|
|
1539
|
-
[Lt,
|
|
1539
|
+
[Lt, e.value]
|
|
1540
1540
|
]),
|
|
1541
1541
|
r("input", {
|
|
1542
1542
|
ref_key: "imageUploadInput",
|
|
1543
|
-
ref:
|
|
1543
|
+
ref: a,
|
|
1544
1544
|
type: "file",
|
|
1545
1545
|
accept: "image/*",
|
|
1546
1546
|
style: { display: "none" },
|
|
@@ -1549,13 +1549,13 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1549
1549
|
r("div", tn, [
|
|
1550
1550
|
r("button", {
|
|
1551
1551
|
class: "btn btn-primary",
|
|
1552
|
-
onClick:
|
|
1552
|
+
onClick: E(i, ["stop"])
|
|
1553
1553
|
}, "插入"),
|
|
1554
1554
|
r("button", {
|
|
1555
1555
|
class: "btn",
|
|
1556
|
-
"aria-disabled": !
|
|
1557
|
-
disabled: !
|
|
1558
|
-
onClick:
|
|
1556
|
+
"aria-disabled": !c.imageUploader || l.value,
|
|
1557
|
+
disabled: !c.imageUploader || l.value,
|
|
1558
|
+
onClick: E(z, ["stop"])
|
|
1559
1559
|
}, pt(l.value ? "上传中…" : "上传文件"), 9, en)
|
|
1560
1560
|
])
|
|
1561
1561
|
])) : Y("", !0)
|
|
@@ -1572,12 +1572,12 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1572
1572
|
uploadSizeLimit: {}
|
|
1573
1573
|
},
|
|
1574
1574
|
setup(t) {
|
|
1575
|
-
const
|
|
1575
|
+
const c = t, s = D(!1), e = D(""), l = D(!1), a = D(null), S = () => {
|
|
1576
1576
|
s.value = !s.value;
|
|
1577
1577
|
}, i = () => {
|
|
1578
|
-
const u =
|
|
1578
|
+
const u = e.value.trim();
|
|
1579
1579
|
if (!u) return;
|
|
1580
|
-
const f =
|
|
1580
|
+
const f = c.editor, v = f == null ? void 0 : f.commands;
|
|
1581
1581
|
if (/youtube\.com|youtu\.be|youtube-nocookie\.com/i.test(u)) {
|
|
1582
1582
|
const h = String(u).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
1583
1583
|
try {
|
|
@@ -1599,17 +1599,17 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1599
1599
|
f.chain().focus().insertContent(h).run();
|
|
1600
1600
|
}
|
|
1601
1601
|
}
|
|
1602
|
-
s.value = !1,
|
|
1602
|
+
s.value = !1, e.value = "";
|
|
1603
1603
|
}, x = (u) => {
|
|
1604
|
-
u.key === "Enter" && i(), u.key === "Escape" && (s.value = !1,
|
|
1604
|
+
u.key === "Enter" && i(), u.key === "Escape" && (s.value = !1, e.value = "");
|
|
1605
1605
|
}, z = () => {
|
|
1606
1606
|
var u;
|
|
1607
|
-
|
|
1607
|
+
c.videoUploader && ((u = a.value) == null || u.click());
|
|
1608
1608
|
}, p = async (u) => {
|
|
1609
1609
|
var $, j;
|
|
1610
1610
|
const f = u.target, v = ($ = f.files) == null ? void 0 : $[0];
|
|
1611
|
-
if (f.value = "", !v || !
|
|
1612
|
-
const g = (j =
|
|
1611
|
+
if (f.value = "", !v || !c.videoUploader) return;
|
|
1612
|
+
const g = (j = c.uploadSizeLimit) == null ? void 0 : j.video;
|
|
1613
1613
|
if (typeof g == "number" && g > 0) {
|
|
1614
1614
|
const b = Math.max(1, g) * 1024 * 1024;
|
|
1615
1615
|
if (v.size > b) {
|
|
@@ -1623,7 +1623,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1623
1623
|
let h = null;
|
|
1624
1624
|
try {
|
|
1625
1625
|
l.value = !0;
|
|
1626
|
-
const b =
|
|
1626
|
+
const b = c.editor, m = b == null ? void 0 : b.commands;
|
|
1627
1627
|
h = URL.createObjectURL(v);
|
|
1628
1628
|
try {
|
|
1629
1629
|
if (typeof (m == null ? void 0 : m.setVideo) == "function")
|
|
@@ -1643,8 +1643,8 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1643
1643
|
}
|
|
1644
1644
|
} catch {
|
|
1645
1645
|
}
|
|
1646
|
-
const k = await
|
|
1647
|
-
h && M(h, k), s.value = !1,
|
|
1646
|
+
const k = await c.videoUploader(v);
|
|
1647
|
+
h && M(h, k), s.value = !1, e.value = "";
|
|
1648
1648
|
} finally {
|
|
1649
1649
|
l.value = !1;
|
|
1650
1650
|
try {
|
|
@@ -1654,7 +1654,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1654
1654
|
}
|
|
1655
1655
|
};
|
|
1656
1656
|
function M(u, f) {
|
|
1657
|
-
const v =
|
|
1657
|
+
const v = c.editor;
|
|
1658
1658
|
if (!v) return;
|
|
1659
1659
|
const { state: g } = v, { doc: h } = g;
|
|
1660
1660
|
let $ = null;
|
|
@@ -1668,7 +1668,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1668
1668
|
v.view.dispatch(k);
|
|
1669
1669
|
}
|
|
1670
1670
|
}
|
|
1671
|
-
const y =
|
|
1671
|
+
const y = D(null);
|
|
1672
1672
|
let C = null;
|
|
1673
1673
|
return ut(() => {
|
|
1674
1674
|
C = (u) => {
|
|
@@ -1704,21 +1704,21 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1704
1704
|
s.value ? (T(), F("div", {
|
|
1705
1705
|
key: 0,
|
|
1706
1706
|
class: "video-input-panel",
|
|
1707
|
-
onClick: f[1] || (f[1] =
|
|
1707
|
+
onClick: f[1] || (f[1] = E(() => {
|
|
1708
1708
|
}, ["stop"]))
|
|
1709
1709
|
}, [
|
|
1710
1710
|
_t(r("input", {
|
|
1711
1711
|
class: "video-input",
|
|
1712
1712
|
type: "text",
|
|
1713
1713
|
placeholder: "粘贴视频链接(mp4/webm/m3u8等)",
|
|
1714
|
-
"onUpdate:modelValue": f[0] || (f[0] = (v) =>
|
|
1714
|
+
"onUpdate:modelValue": f[0] || (f[0] = (v) => e.value = v),
|
|
1715
1715
|
onKeydown: x
|
|
1716
1716
|
}, null, 544), [
|
|
1717
|
-
[Lt,
|
|
1717
|
+
[Lt, e.value]
|
|
1718
1718
|
]),
|
|
1719
1719
|
r("input", {
|
|
1720
1720
|
ref_key: "videoUploadInput",
|
|
1721
|
-
ref:
|
|
1721
|
+
ref: a,
|
|
1722
1722
|
type: "file",
|
|
1723
1723
|
accept: "video/*,application/x-mpegURL",
|
|
1724
1724
|
style: { display: "none" },
|
|
@@ -1727,13 +1727,13 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1727
1727
|
r("div", sn, [
|
|
1728
1728
|
r("button", {
|
|
1729
1729
|
class: "btn btn-primary",
|
|
1730
|
-
onClick:
|
|
1730
|
+
onClick: E(i, ["stop"])
|
|
1731
1731
|
}, "插入"),
|
|
1732
1732
|
r("button", {
|
|
1733
1733
|
class: "btn",
|
|
1734
|
-
"aria-disabled": !
|
|
1735
|
-
disabled: !
|
|
1736
|
-
onClick:
|
|
1734
|
+
"aria-disabled": !c.videoUploader || l.value,
|
|
1735
|
+
disabled: !c.videoUploader || l.value,
|
|
1736
|
+
onClick: E(z, ["stop"])
|
|
1737
1737
|
}, pt(l.value ? "上传中…" : "上传文件"), 9, ln)
|
|
1738
1738
|
])
|
|
1739
1739
|
])) : Y("", !0)
|
|
@@ -1759,17 +1759,17 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1759
1759
|
props: {
|
|
1760
1760
|
editor: {}
|
|
1761
1761
|
},
|
|
1762
|
-
setup(t, { expose:
|
|
1763
|
-
const s = t,
|
|
1762
|
+
setup(t, { expose: c }) {
|
|
1763
|
+
const s = t, e = D(!1), l = D("find"), a = D(""), S = D(""), i = D([]), x = D(0), z = dt(() => {
|
|
1764
1764
|
const B = i.value.length;
|
|
1765
|
-
return !
|
|
1766
|
-
}), p = typeof navigator < "u" && navigator.platform.includes("Mac"), M = dt(() => p ? "⌘ F / ⌥ ⌘ F" : "Ctrl F / Ctrl H"), y = () =>
|
|
1765
|
+
return !a.value || !B ? "0/0" : `${Math.min(Math.max(x.value + 1, 1), B)}/${B}`;
|
|
1766
|
+
}), p = typeof navigator < "u" && navigator.platform.includes("Mac"), M = dt(() => p ? "⌘ F / ⌥ ⌘ F" : "Ctrl F / Ctrl H"), y = () => e.value = !e.value, C = () => e.value = !1;
|
|
1767
1767
|
function u() {
|
|
1768
1768
|
var B;
|
|
1769
1769
|
return ((B = s.editor) == null ? void 0 : B.view) || null;
|
|
1770
1770
|
}
|
|
1771
1771
|
function f() {
|
|
1772
|
-
const B = u(), O =
|
|
1772
|
+
const B = u(), O = a.value;
|
|
1773
1773
|
if (i.value = [], x.value = 0, !B || !O) return;
|
|
1774
1774
|
const K = B.dom, Z = document.createTreeWalker(K, NodeFilter.SHOW_TEXT, null);
|
|
1775
1775
|
let X;
|
|
@@ -1783,7 +1783,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1783
1783
|
typeof Ct == "number" && typeof St == "number" && i.value.push({ from: Ct, to: St }), st = at + O.length;
|
|
1784
1784
|
}
|
|
1785
1785
|
}
|
|
1786
|
-
|
|
1786
|
+
bt(() => {
|
|
1787
1787
|
i.value.length && v(0);
|
|
1788
1788
|
});
|
|
1789
1789
|
}
|
|
@@ -1813,16 +1813,16 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1813
1813
|
B.view.dispatch(K), f();
|
|
1814
1814
|
}
|
|
1815
1815
|
function b(B) {
|
|
1816
|
-
|
|
1816
|
+
a.value = B.target.value, f();
|
|
1817
1817
|
}
|
|
1818
1818
|
function m(B) {
|
|
1819
1819
|
B.key === "Enter" && g(), B.key === "Escape" && C();
|
|
1820
1820
|
}
|
|
1821
|
-
const k =
|
|
1821
|
+
const k = D(null);
|
|
1822
1822
|
let H = null;
|
|
1823
1823
|
ut(() => {
|
|
1824
1824
|
H = (B) => {
|
|
1825
|
-
if (!
|
|
1825
|
+
if (!e.value) return;
|
|
1826
1826
|
const O = k.value, K = B.target;
|
|
1827
1827
|
O && K && !O.contains(K) && C();
|
|
1828
1828
|
}, document.addEventListener("mousedown", H, !0);
|
|
@@ -1830,9 +1830,9 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1830
1830
|
H && (document.removeEventListener("mousedown", H, !0), H = null);
|
|
1831
1831
|
});
|
|
1832
1832
|
function G(B) {
|
|
1833
|
-
B && (l.value = B),
|
|
1833
|
+
B && (l.value = B), e.value = !0, bt(f);
|
|
1834
1834
|
}
|
|
1835
|
-
return
|
|
1835
|
+
return c({ openPanel: G }), (B, O) => (T(), F("div", {
|
|
1836
1836
|
class: "icon find-icon",
|
|
1837
1837
|
ref_key: "rootRef",
|
|
1838
1838
|
ref: k,
|
|
@@ -1856,20 +1856,20 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1856
1856
|
appear: ""
|
|
1857
1857
|
}, {
|
|
1858
1858
|
default: W(() => [
|
|
1859
|
-
|
|
1859
|
+
e.value ? (T(), F("div", {
|
|
1860
1860
|
key: 0,
|
|
1861
1861
|
class: "find-input-panel",
|
|
1862
|
-
onClick: O[3] || (O[3] =
|
|
1862
|
+
onClick: O[3] || (O[3] = E(() => {
|
|
1863
1863
|
}, ["stop"]))
|
|
1864
1864
|
}, [
|
|
1865
1865
|
r("div", cn, [
|
|
1866
1866
|
r("button", {
|
|
1867
1867
|
class: J(["fr-tab", { active: l.value === "find" }]),
|
|
1868
|
-
onClick: O[0] || (O[0] =
|
|
1868
|
+
onClick: O[0] || (O[0] = E((K) => l.value = "find", ["stop"]))
|
|
1869
1869
|
}, " 查找 ", 2),
|
|
1870
1870
|
r("button", {
|
|
1871
1871
|
class: J(["fr-tab", { active: l.value === "replace" }]),
|
|
1872
|
-
onClick: O[1] || (O[1] =
|
|
1872
|
+
onClick: O[1] || (O[1] = E((K) => l.value = "replace", ["stop"]))
|
|
1873
1873
|
}, " 替换 ", 2)
|
|
1874
1874
|
]),
|
|
1875
1875
|
l.value === "find" ? (T(), F("div", dn, [
|
|
@@ -1877,21 +1877,21 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1877
1877
|
r("div", un, [
|
|
1878
1878
|
r("input", {
|
|
1879
1879
|
class: "fr-input",
|
|
1880
|
-
value:
|
|
1880
|
+
value: a.value,
|
|
1881
1881
|
placeholder: "输入关键字",
|
|
1882
1882
|
onInput: b,
|
|
1883
1883
|
onKeydown: m
|
|
1884
1884
|
}, null, 40, vn),
|
|
1885
|
-
|
|
1885
|
+
a.value ? (T(), F("span", fn, pt(z.value), 1)) : Y("", !0)
|
|
1886
1886
|
]),
|
|
1887
1887
|
r("div", pn, [
|
|
1888
1888
|
r("button", {
|
|
1889
1889
|
class: "fr-btn",
|
|
1890
|
-
onClick:
|
|
1890
|
+
onClick: E(h, ["stop"])
|
|
1891
1891
|
}, "上一个"),
|
|
1892
1892
|
r("button", {
|
|
1893
1893
|
class: "fr-btn primary",
|
|
1894
|
-
onClick:
|
|
1894
|
+
onClick: E(g, ["stop"])
|
|
1895
1895
|
}, "下一个")
|
|
1896
1896
|
])
|
|
1897
1897
|
])) : (T(), F("div", hn, [
|
|
@@ -1899,11 +1899,11 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1899
1899
|
r("div", mn, [
|
|
1900
1900
|
r("input", {
|
|
1901
1901
|
class: "fr-input",
|
|
1902
|
-
value:
|
|
1902
|
+
value: a.value,
|
|
1903
1903
|
placeholder: "输入关键字",
|
|
1904
1904
|
onInput: b
|
|
1905
1905
|
}, null, 40, gn),
|
|
1906
|
-
|
|
1906
|
+
a.value ? (T(), F("span", kn, pt(z.value), 1)) : Y("", !0)
|
|
1907
1907
|
]),
|
|
1908
1908
|
O[6] || (O[6] = r("label", { class: "fr-label" }, "替换为", -1)),
|
|
1909
1909
|
_t(r("input", {
|
|
@@ -1917,19 +1917,19 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1917
1917
|
r("div", wn, [
|
|
1918
1918
|
r("button", {
|
|
1919
1919
|
class: "fr-btn",
|
|
1920
|
-
onClick:
|
|
1920
|
+
onClick: E(j, ["stop"])
|
|
1921
1921
|
}, "全部替换"),
|
|
1922
1922
|
r("button", {
|
|
1923
1923
|
class: "fr-btn",
|
|
1924
|
-
onClick:
|
|
1924
|
+
onClick: E($, ["stop"])
|
|
1925
1925
|
}, "替换"),
|
|
1926
1926
|
r("button", {
|
|
1927
1927
|
class: "fr-btn",
|
|
1928
|
-
onClick:
|
|
1928
|
+
onClick: E(h, ["stop"])
|
|
1929
1929
|
}, "上一个"),
|
|
1930
1930
|
r("button", {
|
|
1931
1931
|
class: "fr-btn primary",
|
|
1932
|
-
onClick:
|
|
1932
|
+
onClick: E(g, ["stop"])
|
|
1933
1933
|
}, "下一个")
|
|
1934
1934
|
])
|
|
1935
1935
|
]))
|
|
@@ -1945,15 +1945,15 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1945
1945
|
editor: {}
|
|
1946
1946
|
},
|
|
1947
1947
|
setup(t) {
|
|
1948
|
-
const
|
|
1949
|
-
|
|
1950
|
-
const
|
|
1948
|
+
const c = t, s = D(!1), e = D(""), l = D("");
|
|
1949
|
+
D(!1);
|
|
1950
|
+
const a = D(null);
|
|
1951
1951
|
function S() {
|
|
1952
|
-
const u =
|
|
1952
|
+
const u = c.editor;
|
|
1953
1953
|
if (!s.value && u)
|
|
1954
1954
|
try {
|
|
1955
1955
|
const f = u.state.selection, v = f.from;
|
|
1956
|
-
f.to > v ? x() : (
|
|
1956
|
+
f.to > v ? x() : (e.value = "链接", u.chain().focus().insertContent("链接").setTextSelection({ from: v, to: v + 2 }).run());
|
|
1957
1957
|
} catch {
|
|
1958
1958
|
}
|
|
1959
1959
|
s.value = !s.value, s.value && i();
|
|
@@ -1961,25 +1961,25 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1961
1961
|
function i() {
|
|
1962
1962
|
setTimeout(() => {
|
|
1963
1963
|
var f;
|
|
1964
|
-
const u = (f =
|
|
1964
|
+
const u = (f = a.value) == null ? void 0 : f.querySelector('input[name="link-text"]');
|
|
1965
1965
|
u == null || u.focus(), u == null || u.select();
|
|
1966
1966
|
}, 0);
|
|
1967
1967
|
}
|
|
1968
1968
|
function x() {
|
|
1969
|
-
const u =
|
|
1969
|
+
const u = c.editor;
|
|
1970
1970
|
if (u)
|
|
1971
1971
|
try {
|
|
1972
1972
|
const f = u.state.selection, v = f.from, g = f.to, $ = g > v ? u.state.doc.textBetween(v, g) : "";
|
|
1973
|
-
|
|
1973
|
+
e.value = $ || "";
|
|
1974
1974
|
const j = u.getAttributes("link") || {};
|
|
1975
1975
|
l.value = typeof j.href == "string" ? j.href : "";
|
|
1976
1976
|
} catch {
|
|
1977
1977
|
}
|
|
1978
1978
|
}
|
|
1979
1979
|
function z() {
|
|
1980
|
-
const u =
|
|
1980
|
+
const u = c.editor;
|
|
1981
1981
|
if (!u) return;
|
|
1982
|
-
const f =
|
|
1982
|
+
const f = e.value.trim(), v = l.value.trim();
|
|
1983
1983
|
if (v)
|
|
1984
1984
|
try {
|
|
1985
1985
|
const g = u.state.selection, h = g.from, $ = g.to;
|
|
@@ -1996,7 +1996,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
1996
1996
|
).run();
|
|
1997
1997
|
}
|
|
1998
1998
|
} finally {
|
|
1999
|
-
s.value = !1,
|
|
1999
|
+
s.value = !1, e.value = "", l.value = "";
|
|
2000
2000
|
}
|
|
2001
2001
|
}
|
|
2002
2002
|
function p(u) {
|
|
@@ -2009,26 +2009,26 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2009
2009
|
ut(() => {
|
|
2010
2010
|
y = (u) => {
|
|
2011
2011
|
if (!s.value) return;
|
|
2012
|
-
const f =
|
|
2012
|
+
const f = a.value, v = u.target;
|
|
2013
2013
|
f && v && !f.contains(v) && (s.value = !1);
|
|
2014
2014
|
}, document.addEventListener("mousedown", y, !0);
|
|
2015
2015
|
}), ht(() => {
|
|
2016
2016
|
y && (document.removeEventListener("mousedown", y, !0), y = null);
|
|
2017
2017
|
});
|
|
2018
|
-
const C =
|
|
2019
|
-
return
|
|
2018
|
+
const C = D({});
|
|
2019
|
+
return kt(s, async (u) => {
|
|
2020
2020
|
var v;
|
|
2021
2021
|
if (!u) return;
|
|
2022
|
-
const f =
|
|
2022
|
+
const f = c.editor;
|
|
2023
2023
|
if (f) {
|
|
2024
|
-
await
|
|
2024
|
+
await bt();
|
|
2025
2025
|
try {
|
|
2026
2026
|
const g = f.state.selection, h = g.from, $ = g.to;
|
|
2027
2027
|
if (!($ > h)) {
|
|
2028
2028
|
C.value = {};
|
|
2029
2029
|
return;
|
|
2030
2030
|
}
|
|
2031
|
-
const b = f.view.coordsAtPos(h), m = f.view.coordsAtPos($), k = (b.left + m.right) / 2, H = Math.max(b.bottom, m.bottom) + 8, G = (v =
|
|
2031
|
+
const b = f.view.coordsAtPos(h), m = f.view.coordsAtPos($), k = (b.left + m.right) / 2, H = Math.max(b.bottom, m.bottom) + 8, G = (v = a.value) == null ? void 0 : v.querySelector(".link-input-panel"), B = G ? G.getBoundingClientRect() : { width: 320, height: 120 }, O = window.innerWidth, K = window.innerHeight, Z = 12, X = Math.max(
|
|
2032
2032
|
Z + B.width / 2,
|
|
2033
2033
|
Math.min(O - Z - B.width / 2, k)
|
|
2034
2034
|
), Q = H, rt = Math.min(b.top, m.top) - B.height - 8;
|
|
@@ -2045,7 +2045,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2045
2045
|
class: "icon link-icon",
|
|
2046
2046
|
onClick: S,
|
|
2047
2047
|
ref_key: "rootRef",
|
|
2048
|
-
ref:
|
|
2048
|
+
ref: a
|
|
2049
2049
|
}, [
|
|
2050
2050
|
d(L(P), {
|
|
2051
2051
|
text: "链接",
|
|
@@ -2068,7 +2068,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2068
2068
|
key: 0,
|
|
2069
2069
|
class: "link-input-panel",
|
|
2070
2070
|
style: ct(C.value),
|
|
2071
|
-
onClick: f[2] || (f[2] =
|
|
2071
|
+
onClick: f[2] || (f[2] = E(() => {
|
|
2072
2072
|
}, ["stop"]))
|
|
2073
2073
|
}, [
|
|
2074
2074
|
r("div", Cn, [
|
|
@@ -2077,10 +2077,10 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2077
2077
|
name: "link-text",
|
|
2078
2078
|
class: "input",
|
|
2079
2079
|
type: "text",
|
|
2080
|
-
"onUpdate:modelValue": f[0] || (f[0] = (v) =>
|
|
2080
|
+
"onUpdate:modelValue": f[0] || (f[0] = (v) => e.value = v),
|
|
2081
2081
|
onKeydown: M
|
|
2082
2082
|
}, null, 544), [
|
|
2083
|
-
[Lt,
|
|
2083
|
+
[Lt, e.value]
|
|
2084
2084
|
])
|
|
2085
2085
|
]),
|
|
2086
2086
|
r("div", xn, [
|
|
@@ -2099,7 +2099,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2099
2099
|
r("div", _n, [
|
|
2100
2100
|
r("button", {
|
|
2101
2101
|
class: "btn btn-primary",
|
|
2102
|
-
onClick:
|
|
2102
|
+
onClick: E(z, ["stop"])
|
|
2103
2103
|
}, "确 定")
|
|
2104
2104
|
])
|
|
2105
2105
|
], 4)) : Y("", !0)
|
|
@@ -2108,23 +2108,23 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2108
2108
|
})
|
|
2109
2109
|
], 512));
|
|
2110
2110
|
}
|
|
2111
|
-
}), Mn = /* @__PURE__ */ nt(Ln, [["__scopeId", "data-v-47847dc2"]]), zn = { class: "grid" }, $n = ["onMouseenter"], Sn = { class: "size" }, Tn = 10,
|
|
2111
|
+
}), Mn = /* @__PURE__ */ nt(Ln, [["__scopeId", "data-v-47847dc2"]]), zn = { class: "grid" }, $n = ["onMouseenter"], Sn = { class: "size" }, Tn = 10, Dn = 10, En = /* @__PURE__ */ ot({
|
|
2112
2112
|
__name: "index",
|
|
2113
2113
|
props: {
|
|
2114
2114
|
editor: {}
|
|
2115
2115
|
},
|
|
2116
2116
|
setup(t) {
|
|
2117
|
-
const
|
|
2118
|
-
const z = Math.max(
|
|
2117
|
+
const c = t, s = D(!1), e = D(0), l = D(0), a = dt(() => {
|
|
2118
|
+
const z = Math.max(e.value, 1), p = Math.max(l.value, 1);
|
|
2119
2119
|
return `${z} x ${p}`;
|
|
2120
2120
|
}), S = () => {
|
|
2121
|
-
s.value = !s.value, s.value || (
|
|
2121
|
+
s.value = !s.value, s.value || (e.value = 0, l.value = 0);
|
|
2122
2122
|
}, i = (z, p) => {
|
|
2123
|
-
|
|
2123
|
+
e.value = z, l.value = p;
|
|
2124
2124
|
}, x = () => {
|
|
2125
2125
|
var M, y, C, u, f, v, g, h;
|
|
2126
|
-
const z = Math.max(
|
|
2127
|
-
(h = (v = (u = (y = (M =
|
|
2126
|
+
const z = Math.max(e.value, 1), p = Math.max(l.value, 1);
|
|
2127
|
+
(h = (v = (u = (y = (M = c.editor) == null ? void 0 : M.chain) == null ? void 0 : (C = y.call(M)).focus) == null ? void 0 : (f = u.call(C)).insertTable) == null ? void 0 : (g = v.call(f, { rows: z, cols: p, withHeaderRow: !0 })).run) == null || h.call(g), s.value = !1, e.value = 0, l.value = 0;
|
|
2128
2128
|
};
|
|
2129
2129
|
return (z, p) => (T(), F("div", {
|
|
2130
2130
|
class: "icon table-icon",
|
|
@@ -2145,7 +2145,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2145
2145
|
s.value ? (T(), F("div", {
|
|
2146
2146
|
key: 0,
|
|
2147
2147
|
class: "table-panel",
|
|
2148
|
-
onClick: p[0] || (p[0] =
|
|
2148
|
+
onClick: p[0] || (p[0] = E(() => {
|
|
2149
2149
|
}, ["stop"]))
|
|
2150
2150
|
}, [
|
|
2151
2151
|
p[1] || (p[1] = r("div", { class: "panel-title" }, "表格", -1)),
|
|
@@ -2154,39 +2154,39 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2154
2154
|
key: "r-" + M,
|
|
2155
2155
|
class: "row"
|
|
2156
2156
|
}, [
|
|
2157
|
-
(T(), F(mt, null, gt(
|
|
2157
|
+
(T(), F(mt, null, gt(Dn, (y) => r("span", {
|
|
2158
2158
|
key: "c-" + M + "-" + y,
|
|
2159
|
-
class: J(["cell", { active: M <=
|
|
2159
|
+
class: J(["cell", { active: M <= e.value && y <= l.value }]),
|
|
2160
2160
|
onMouseenter: (C) => i(M, y),
|
|
2161
|
-
onClick:
|
|
2161
|
+
onClick: E(x, ["stop"])
|
|
2162
2162
|
}, null, 42, $n)), 64))
|
|
2163
2163
|
])), 64))
|
|
2164
2164
|
]),
|
|
2165
|
-
r("div", Sn, pt(
|
|
2165
|
+
r("div", Sn, pt(a.value), 1)
|
|
2166
2166
|
])) : Y("", !0)
|
|
2167
2167
|
]));
|
|
2168
2168
|
}
|
|
2169
|
-
}), Fn = /* @__PURE__ */ nt(
|
|
2169
|
+
}), Fn = /* @__PURE__ */ nt(En, [["__scopeId", "data-v-8a3a35f7"]]), Bn = ["aria-disabled"], An = { class: "tools-grid" }, Hn = ["disabled"], Vn = ["disabled"], Un = ["disabled"], In = ["disabled"], jn = ["disabled"], On = ["disabled"], Wn = ["disabled"], Rn = ["disabled"], Nn = ["disabled"], Pn = ["disabled"], Gn = ["disabled"], Yn = ["disabled"], Kn = ["disabled"], qn = ["disabled"], Jn = ["disabled"], Zn = ["disabled"], Xn = ["disabled"], Qn = /* @__PURE__ */ ot({
|
|
2170
2170
|
__name: "index",
|
|
2171
2171
|
props: {
|
|
2172
2172
|
editor: {}
|
|
2173
2173
|
},
|
|
2174
2174
|
setup(t) {
|
|
2175
|
-
const
|
|
2175
|
+
const c = t, s = D(!1), e = () => s.value = !s.value, l = (S, ...i) => {
|
|
2176
2176
|
var z, p, M;
|
|
2177
|
-
const x =
|
|
2177
|
+
const x = c.editor;
|
|
2178
2178
|
return !!((M = (z = x == null ? void 0 : x.can) == null ? void 0 : (p = z.call(x))[S]) != null && M.call(p, ...i));
|
|
2179
|
-
},
|
|
2179
|
+
}, a = (S, ...i) => {
|
|
2180
2180
|
var z, p, M, y, C, u, f;
|
|
2181
|
-
const x =
|
|
2181
|
+
const x = c.editor;
|
|
2182
2182
|
(f = (u = (C = (y = (M = (z = x == null ? void 0 : x.chain) == null ? void 0 : (p = z.call(x)).focus) == null ? void 0 : M.call(p))[S]) == null ? void 0 : C.call(y, ...i)) == null ? void 0 : u.run) == null || f.call(u), s.value = !1;
|
|
2183
2183
|
};
|
|
2184
2184
|
return (S, i) => {
|
|
2185
2185
|
var x, z;
|
|
2186
2186
|
return T(), F("div", {
|
|
2187
2187
|
class: "icon table-tools",
|
|
2188
|
-
onClick:
|
|
2189
|
-
"aria-disabled": !((z = (x =
|
|
2188
|
+
onClick: e,
|
|
2189
|
+
"aria-disabled": !((z = (x = c.editor) == null ? void 0 : x.isActive) != null && z.call(x, "table"))
|
|
2190
2190
|
}, [
|
|
2191
2191
|
d(L(P), {
|
|
2192
2192
|
text: "表格工具",
|
|
@@ -2203,93 +2203,93 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2203
2203
|
s.value ? (T(), F("div", {
|
|
2204
2204
|
key: 0,
|
|
2205
2205
|
class: "tools-panel",
|
|
2206
|
-
onClick: i[17] || (i[17] =
|
|
2206
|
+
onClick: i[17] || (i[17] = E(() => {
|
|
2207
2207
|
}, ["stop"]))
|
|
2208
2208
|
}, [
|
|
2209
2209
|
r("div", An, [
|
|
2210
2210
|
r("button", {
|
|
2211
2211
|
class: "btn",
|
|
2212
|
-
onClick: i[0] || (i[0] =
|
|
2212
|
+
onClick: i[0] || (i[0] = E((p) => a("addColumnBefore"), ["stop"])),
|
|
2213
2213
|
disabled: !l("addColumnBefore")
|
|
2214
2214
|
}, " 前插列 ", 8, Hn),
|
|
2215
2215
|
r("button", {
|
|
2216
2216
|
class: "btn",
|
|
2217
|
-
onClick: i[1] || (i[1] =
|
|
2217
|
+
onClick: i[1] || (i[1] = E((p) => a("addColumnAfter"), ["stop"])),
|
|
2218
2218
|
disabled: !l("addColumnAfter")
|
|
2219
2219
|
}, " 后插列 ", 8, Vn),
|
|
2220
2220
|
r("button", {
|
|
2221
2221
|
class: "btn",
|
|
2222
|
-
onClick: i[2] || (i[2] =
|
|
2222
|
+
onClick: i[2] || (i[2] = E((p) => a("deleteColumn"), ["stop"])),
|
|
2223
2223
|
disabled: !l("deleteColumn")
|
|
2224
2224
|
}, " 删除列 ", 8, Un),
|
|
2225
2225
|
r("button", {
|
|
2226
2226
|
class: "btn",
|
|
2227
|
-
onClick: i[3] || (i[3] =
|
|
2227
|
+
onClick: i[3] || (i[3] = E((p) => a("addRowBefore"), ["stop"])),
|
|
2228
2228
|
disabled: !l("addRowBefore")
|
|
2229
2229
|
}, " 前插行 ", 8, In),
|
|
2230
2230
|
r("button", {
|
|
2231
2231
|
class: "btn",
|
|
2232
|
-
onClick: i[4] || (i[4] =
|
|
2232
|
+
onClick: i[4] || (i[4] = E((p) => a("addRowAfter"), ["stop"])),
|
|
2233
2233
|
disabled: !l("addRowAfter")
|
|
2234
2234
|
}, " 后插行 ", 8, jn),
|
|
2235
2235
|
r("button", {
|
|
2236
2236
|
class: "btn",
|
|
2237
|
-
onClick: i[5] || (i[5] =
|
|
2237
|
+
onClick: i[5] || (i[5] = E((p) => a("deleteRow"), ["stop"])),
|
|
2238
2238
|
disabled: !l("deleteRow")
|
|
2239
2239
|
}, " 删除行 ", 8, On),
|
|
2240
2240
|
r("button", {
|
|
2241
2241
|
class: "btn",
|
|
2242
|
-
onClick: i[6] || (i[6] =
|
|
2242
|
+
onClick: i[6] || (i[6] = E((p) => a("deleteTable"), ["stop"])),
|
|
2243
2243
|
disabled: !l("deleteTable")
|
|
2244
2244
|
}, " 删除表 ", 8, Wn),
|
|
2245
2245
|
r("button", {
|
|
2246
2246
|
class: "btn",
|
|
2247
|
-
onClick: i[7] || (i[7] =
|
|
2247
|
+
onClick: i[7] || (i[7] = E((p) => a("mergeCells"), ["stop"])),
|
|
2248
2248
|
disabled: !l("mergeCells")
|
|
2249
2249
|
}, " 合并单元格 ", 8, Rn),
|
|
2250
2250
|
r("button", {
|
|
2251
2251
|
class: "btn",
|
|
2252
|
-
onClick: i[8] || (i[8] =
|
|
2252
|
+
onClick: i[8] || (i[8] = E((p) => a("splitCell"), ["stop"])),
|
|
2253
2253
|
disabled: !l("splitCell")
|
|
2254
2254
|
}, " 拆分单元格 ", 8, Nn),
|
|
2255
2255
|
r("button", {
|
|
2256
2256
|
class: "btn",
|
|
2257
|
-
onClick: i[9] || (i[9] =
|
|
2257
|
+
onClick: i[9] || (i[9] = E((p) => a("mergeOrSplit"), ["stop"])),
|
|
2258
2258
|
disabled: !l("mergeOrSplit")
|
|
2259
2259
|
}, " 合并/拆分 ", 8, Pn),
|
|
2260
2260
|
r("button", {
|
|
2261
2261
|
class: "btn",
|
|
2262
|
-
onClick: i[10] || (i[10] =
|
|
2262
|
+
onClick: i[10] || (i[10] = E((p) => a("toggleHeaderRow"), ["stop"])),
|
|
2263
2263
|
disabled: !l("toggleHeaderRow")
|
|
2264
2264
|
}, " 切换表头行 ", 8, Gn),
|
|
2265
2265
|
r("button", {
|
|
2266
2266
|
class: "btn",
|
|
2267
|
-
onClick: i[11] || (i[11] =
|
|
2267
|
+
onClick: i[11] || (i[11] = E((p) => a("toggleHeaderColumn"), ["stop"])),
|
|
2268
2268
|
disabled: !l("toggleHeaderColumn")
|
|
2269
2269
|
}, " 切换表头列 ", 8, Yn),
|
|
2270
2270
|
r("button", {
|
|
2271
2271
|
class: "btn",
|
|
2272
|
-
onClick: i[12] || (i[12] =
|
|
2272
|
+
onClick: i[12] || (i[12] = E((p) => a("toggleHeaderCell"), ["stop"])),
|
|
2273
2273
|
disabled: !l("toggleHeaderCell")
|
|
2274
2274
|
}, " 切换表头单元 ", 8, Kn),
|
|
2275
2275
|
r("button", {
|
|
2276
2276
|
class: "btn",
|
|
2277
|
-
onClick: i[13] || (i[13] =
|
|
2277
|
+
onClick: i[13] || (i[13] = E((p) => a("fixTables"), ["stop"])),
|
|
2278
2278
|
disabled: !l("fixTables")
|
|
2279
2279
|
}, " 修复表格 ", 8, qn),
|
|
2280
2280
|
r("button", {
|
|
2281
2281
|
class: "btn",
|
|
2282
|
-
onClick: i[14] || (i[14] =
|
|
2282
|
+
onClick: i[14] || (i[14] = E((p) => a("goToNextCell"), ["stop"])),
|
|
2283
2283
|
disabled: !l("goToNextCell")
|
|
2284
2284
|
}, " 下个单元格 ", 8, Jn),
|
|
2285
2285
|
r("button", {
|
|
2286
2286
|
class: "btn",
|
|
2287
|
-
onClick: i[15] || (i[15] =
|
|
2287
|
+
onClick: i[15] || (i[15] = E((p) => a("goToPreviousCell"), ["stop"])),
|
|
2288
2288
|
disabled: !l("goToPreviousCell")
|
|
2289
2289
|
}, " 上个单元格 ", 8, Zn),
|
|
2290
2290
|
r("button", {
|
|
2291
2291
|
class: "btn",
|
|
2292
|
-
onClick: i[16] || (i[16] =
|
|
2292
|
+
onClick: i[16] || (i[16] = E((p) => a("setCellAttribute", "backgroundColor", "#FAF594"), ["stop"])),
|
|
2293
2293
|
disabled: !l("setCellAttribute", "backgroundColor", "#FAF594")
|
|
2294
2294
|
}, " 单元格着色 ", 8, Xn)
|
|
2295
2295
|
])
|
|
@@ -2303,13 +2303,13 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2303
2303
|
editor: {}
|
|
2304
2304
|
},
|
|
2305
2305
|
setup(t) {
|
|
2306
|
-
const
|
|
2306
|
+
const c = t, e = typeof navigator < "u" && navigator.platform.includes("Mac") ? "⇧ ⌘ 9" : "Ctrl Shift 9";
|
|
2307
2307
|
function l() {
|
|
2308
|
-
const
|
|
2309
|
-
if (
|
|
2310
|
-
|
|
2308
|
+
const a = c.editor;
|
|
2309
|
+
if (a) {
|
|
2310
|
+
a.chain().focus().toggleTaskList().run();
|
|
2311
2311
|
try {
|
|
2312
|
-
const { state: S } =
|
|
2312
|
+
const { state: S } = a, i = S.selection;
|
|
2313
2313
|
let x = null;
|
|
2314
2314
|
S.doc.nodesBetween(
|
|
2315
2315
|
Math.max(0, i.from - 5),
|
|
@@ -2318,18 +2318,18 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2318
2318
|
var M;
|
|
2319
2319
|
return ((M = z == null ? void 0 : z.type) == null ? void 0 : M.name) === "taskItem" && x == null ? (x = p, !1) : !0;
|
|
2320
2320
|
}
|
|
2321
|
-
), x != null &&
|
|
2321
|
+
), x != null && a.commands.setTextSelection(x + 1);
|
|
2322
2322
|
} catch {
|
|
2323
2323
|
}
|
|
2324
2324
|
}
|
|
2325
2325
|
}
|
|
2326
|
-
return (
|
|
2326
|
+
return (a, S) => (T(), F("div", {
|
|
2327
2327
|
class: "icon",
|
|
2328
2328
|
onClick: l
|
|
2329
2329
|
}, [
|
|
2330
2330
|
d(L(P), {
|
|
2331
2331
|
text: "任务列表",
|
|
2332
|
-
shortcut: L(
|
|
2332
|
+
shortcut: L(e),
|
|
2333
2333
|
placement: "bottom"
|
|
2334
2334
|
}, {
|
|
2335
2335
|
default: W(() => [
|
|
@@ -2348,12 +2348,12 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2348
2348
|
editor: {}
|
|
2349
2349
|
},
|
|
2350
2350
|
setup(t) {
|
|
2351
|
-
const
|
|
2351
|
+
const c = t;
|
|
2352
2352
|
function s() {
|
|
2353
|
-
const
|
|
2354
|
-
|
|
2353
|
+
const e = c.editor;
|
|
2354
|
+
e && e.chain().focus().toggleBlockquote().run();
|
|
2355
2355
|
}
|
|
2356
|
-
return (
|
|
2356
|
+
return (e, l) => (T(), F("div", {
|
|
2357
2357
|
class: "icon",
|
|
2358
2358
|
onClick: s
|
|
2359
2359
|
}, [
|
|
@@ -2381,7 +2381,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2381
2381
|
editor: {}
|
|
2382
2382
|
},
|
|
2383
2383
|
setup(t) {
|
|
2384
|
-
const
|
|
2384
|
+
const c = t, s = typeof navigator < "u" && navigator.platform.includes("Mac"), e = {
|
|
2385
2385
|
0: s ? "⌥ ⌘ 0" : "Ctrl Alt 0",
|
|
2386
2386
|
1: s ? "⌥ ⌘ 1" : "Ctrl Alt 1",
|
|
2387
2387
|
2: s ? "⌥ ⌘ 2" : "Ctrl Alt 2",
|
|
@@ -2390,24 +2390,24 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2390
2390
|
5: s ? "⌥ ⌘ 5" : "Ctrl Alt 5",
|
|
2391
2391
|
6: s ? "⌥ ⌘ 6" : "Ctrl Alt 6"
|
|
2392
2392
|
}, l = [
|
|
2393
|
-
{ label: "正文", level: null, shortcut:
|
|
2394
|
-
{ label: "标题1", level: 1, shortcut:
|
|
2395
|
-
{ label: "标题2", level: 2, shortcut:
|
|
2396
|
-
{ label: "标题3", level: 3, shortcut:
|
|
2397
|
-
{ label: "标题4", level: 4, shortcut:
|
|
2398
|
-
{ label: "标题5", level: 5, shortcut:
|
|
2399
|
-
{ label: "标题6", level: 6, shortcut:
|
|
2400
|
-
],
|
|
2393
|
+
{ label: "正文", level: null, shortcut: e[0] },
|
|
2394
|
+
{ label: "标题1", level: 1, shortcut: e[1] },
|
|
2395
|
+
{ label: "标题2", level: 2, shortcut: e[2] },
|
|
2396
|
+
{ label: "标题3", level: 3, shortcut: e[3] },
|
|
2397
|
+
{ label: "标题4", level: 4, shortcut: e[4] },
|
|
2398
|
+
{ label: "标题5", level: 5, shortcut: e[5] },
|
|
2399
|
+
{ label: "标题6", level: 6, shortcut: e[6] }
|
|
2400
|
+
], a = dt(() => {
|
|
2401
2401
|
var f, v;
|
|
2402
|
-
const u =
|
|
2402
|
+
const u = c.editor;
|
|
2403
2403
|
if (!u) return null;
|
|
2404
2404
|
for (let g = 1; g <= 6; g++)
|
|
2405
2405
|
if ((f = u.isActive) != null && f.call(u, "heading", { level: g })) return g;
|
|
2406
2406
|
return (v = u.isActive) != null && v.call(u, "paragraph"), null;
|
|
2407
2407
|
}), S = dt(() => {
|
|
2408
|
-
const u =
|
|
2408
|
+
const u = a.value;
|
|
2409
2409
|
return u ? `标题${u}` : "正文";
|
|
2410
|
-
}), i =
|
|
2410
|
+
}), i = D(!1), x = D(null);
|
|
2411
2411
|
function z() {
|
|
2412
2412
|
i.value || window.dispatchEvent(new CustomEvent(Nt, { detail: { id: Jt } })), i.value = !i.value;
|
|
2413
2413
|
}
|
|
@@ -2416,7 +2416,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2416
2416
|
}
|
|
2417
2417
|
function M(u) {
|
|
2418
2418
|
var v, g, h, $, j, b, m, k, H, G;
|
|
2419
|
-
const f = ($ = (g = (v =
|
|
2419
|
+
const f = ($ = (g = (v = c.editor) == null ? void 0 : v.chain) == null ? void 0 : (h = g.call(v)).focus) == null ? void 0 : $.call(h);
|
|
2420
2420
|
f && (u.level === null ? (m = (j = f.setParagraph) == null ? void 0 : (b = j.call(f)).run) == null || m.call(b) : (G = (H = (k = f.toggleHeading) == null ? void 0 : k.call(f, { level: u.level })) == null ? void 0 : H.run) == null || G.call(H), p());
|
|
2421
2421
|
}
|
|
2422
2422
|
function y(u) {
|
|
@@ -2443,7 +2443,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2443
2443
|
default: W(() => [
|
|
2444
2444
|
r("div", {
|
|
2445
2445
|
class: "icon",
|
|
2446
|
-
onClick:
|
|
2446
|
+
onClick: E(z, ["stop"]),
|
|
2447
2447
|
"aria-expanded": i.value
|
|
2448
2448
|
}, [
|
|
2449
2449
|
r("div", ls, pt(S.value), 1),
|
|
@@ -2461,10 +2461,10 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2461
2461
|
(T(), F(mt, null, gt(l, (v) => r("div", {
|
|
2462
2462
|
key: v.label,
|
|
2463
2463
|
class: "dropdown-item",
|
|
2464
|
-
"aria-selected": v.level ===
|
|
2465
|
-
onClick:
|
|
2464
|
+
"aria-selected": v.level === a.value,
|
|
2465
|
+
onClick: E((g) => M(v), ["stop"])
|
|
2466
2466
|
}, [
|
|
2467
|
-
v.level ===
|
|
2467
|
+
v.level === a.value ? (T(), xt(L(Bt), {
|
|
2468
2468
|
key: 0,
|
|
2469
2469
|
theme: "filled",
|
|
2470
2470
|
strokeWidth: 3
|
|
@@ -2498,11 +2498,11 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2498
2498
|
editor: {}
|
|
2499
2499
|
},
|
|
2500
2500
|
setup(t) {
|
|
2501
|
-
const
|
|
2501
|
+
const c = t, s = dt(() => {
|
|
2502
2502
|
var h, $, j, b;
|
|
2503
|
-
const g =
|
|
2503
|
+
const g = c.editor;
|
|
2504
2504
|
return !g || (h = g.isActive) != null && h.call(g, { textAlign: "left" }) ? "left" : ($ = g.isActive) != null && $.call(g, { textAlign: "center" }) ? "center" : (j = g.isActive) != null && j.call(g, { textAlign: "right" }) ? "right" : (b = g.isActive) != null && b.call(g, { textAlign: "justify" }) ? "justify" : "left";
|
|
2505
|
-
}),
|
|
2505
|
+
}), e = dt(() => ({
|
|
2506
2506
|
left: "alignLeft",
|
|
2507
2507
|
center: "alignCenter",
|
|
2508
2508
|
right: "alignRight",
|
|
@@ -2510,14 +2510,14 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2510
2510
|
})[s.value]);
|
|
2511
2511
|
function l(g) {
|
|
2512
2512
|
var h, $, j, b, m, k, H, G;
|
|
2513
|
-
(G = (k = (b = ($ = (h =
|
|
2513
|
+
(G = (k = (b = ($ = (h = c.editor) == null ? void 0 : h.chain) == null ? void 0 : (j = $.call(h)).focus) == null ? void 0 : (m = b.call(j)).setTextAlign) == null ? void 0 : (H = k.call(m, g)).run) == null || G.call(H);
|
|
2514
2514
|
}
|
|
2515
|
-
const
|
|
2515
|
+
const a = D(!1), S = D(null), i = typeof navigator < "u" && navigator.platform.includes("Mac"), x = i ? "⇧ ⌘ L" : "Ctrl Shift L", z = i ? "⇧ ⌘ E" : "Ctrl Shift E", p = i ? "⇧ ⌘ R" : "Ctrl Shift R", M = i ? "⇧ ⌘ J" : "Ctrl Shift J";
|
|
2516
2516
|
function y() {
|
|
2517
|
-
|
|
2517
|
+
a.value || window.dispatchEvent(new CustomEvent(Pt, { detail: { id: Zt } })), a.value = !a.value;
|
|
2518
2518
|
}
|
|
2519
2519
|
function C() {
|
|
2520
|
-
|
|
2520
|
+
a.value = !1;
|
|
2521
2521
|
}
|
|
2522
2522
|
function u(g) {
|
|
2523
2523
|
l(g), C();
|
|
@@ -2528,7 +2528,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2528
2528
|
}
|
|
2529
2529
|
function v(g) {
|
|
2530
2530
|
var $;
|
|
2531
|
-
(($ = g.detail) == null ? void 0 : $.id) !== Zt && (
|
|
2531
|
+
(($ = g.detail) == null ? void 0 : $.id) !== Zt && (a.value = !1);
|
|
2532
2532
|
}
|
|
2533
2533
|
return ut(() => {
|
|
2534
2534
|
document.addEventListener("click", f), window.addEventListener(Pt, v);
|
|
@@ -2546,11 +2546,11 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2546
2546
|
default: W(() => [
|
|
2547
2547
|
r("div", {
|
|
2548
2548
|
class: "icon_box",
|
|
2549
|
-
onClick:
|
|
2550
|
-
"aria-expanded":
|
|
2549
|
+
onClick: E(y, ["stop"]),
|
|
2550
|
+
"aria-expanded": a.value
|
|
2551
2551
|
}, [
|
|
2552
2552
|
d(et, {
|
|
2553
|
-
name:
|
|
2553
|
+
name: e.value,
|
|
2554
2554
|
size: 18
|
|
2555
2555
|
}, null, 8, ["name"]),
|
|
2556
2556
|
d(et, {
|
|
@@ -2563,12 +2563,12 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2563
2563
|
}),
|
|
2564
2564
|
d(yt, { name: "dropdown-slide" }, {
|
|
2565
2565
|
default: W(() => [
|
|
2566
|
-
|
|
2566
|
+
a.value ? (T(), F("div", fs, [
|
|
2567
2567
|
r("div", ps, [
|
|
2568
2568
|
r("div", {
|
|
2569
2569
|
class: J(["option", { active: s.value === "left" }]),
|
|
2570
2570
|
role: "menuitem",
|
|
2571
|
-
onClick: h[0] || (h[0] =
|
|
2571
|
+
onClick: h[0] || (h[0] = E(($) => u("left"), ["stop"]))
|
|
2572
2572
|
}, [
|
|
2573
2573
|
d(L(P), {
|
|
2574
2574
|
text: "左对齐",
|
|
@@ -2587,7 +2587,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2587
2587
|
r("div", {
|
|
2588
2588
|
class: J(["option", { active: s.value === "center" }]),
|
|
2589
2589
|
role: "menuitem",
|
|
2590
|
-
onClick: h[1] || (h[1] =
|
|
2590
|
+
onClick: h[1] || (h[1] = E(($) => u("center"), ["stop"]))
|
|
2591
2591
|
}, [
|
|
2592
2592
|
d(L(P), {
|
|
2593
2593
|
text: "居中对齐",
|
|
@@ -2606,7 +2606,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2606
2606
|
r("div", {
|
|
2607
2607
|
class: J(["option", { active: s.value === "right" }]),
|
|
2608
2608
|
role: "menuitem",
|
|
2609
|
-
onClick: h[2] || (h[2] =
|
|
2609
|
+
onClick: h[2] || (h[2] = E(($) => u("right"), ["stop"]))
|
|
2610
2610
|
}, [
|
|
2611
2611
|
d(L(P), {
|
|
2612
2612
|
text: "右对齐",
|
|
@@ -2625,7 +2625,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2625
2625
|
r("div", {
|
|
2626
2626
|
class: J(["option", { active: s.value === "justify" }]),
|
|
2627
2627
|
role: "menuitem",
|
|
2628
|
-
onClick: h[3] || (h[3] =
|
|
2628
|
+
onClick: h[3] || (h[3] = E(($) => u("justify"), ["stop"]))
|
|
2629
2629
|
}, [
|
|
2630
2630
|
d(L(P), {
|
|
2631
2631
|
text: "两端对齐",
|
|
@@ -2648,7 +2648,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2648
2648
|
})
|
|
2649
2649
|
], 512));
|
|
2650
2650
|
}
|
|
2651
|
-
}), ms = /* @__PURE__ */ nt(hs, [["__scopeId", "data-v-f2f793f3"]]), gs =
|
|
2651
|
+
}), ms = /* @__PURE__ */ nt(hs, [["__scopeId", "data-v-f2f793f3"]]), gs = ["aria-disabled"], ks = ["aria-disabled"], ws = /* @__PURE__ */ ot({
|
|
2652
2652
|
__name: "index",
|
|
2653
2653
|
props: {
|
|
2654
2654
|
editor: {},
|
|
@@ -2656,48 +2656,49 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2656
2656
|
videoUploader: { type: Function },
|
|
2657
2657
|
imageUploader: { type: Function },
|
|
2658
2658
|
uploadSizeLimit: {},
|
|
2659
|
-
fullscreen: { type: Boolean }
|
|
2659
|
+
fullscreen: { type: Boolean },
|
|
2660
|
+
disabled: { type: Boolean }
|
|
2660
2661
|
},
|
|
2661
2662
|
emits: ["openLinkModal", "toggleFullscreen"],
|
|
2662
|
-
setup(t, { emit:
|
|
2663
|
-
const s = t,
|
|
2663
|
+
setup(t, { emit: c }) {
|
|
2664
|
+
const s = t, e = c, l = (_, o) => {
|
|
2664
2665
|
var n, w;
|
|
2665
|
-
return (w = (n = s.editor) == null ? void 0 : n.isActive) == null ? void 0 : w.call(n, _,
|
|
2666
|
-
},
|
|
2666
|
+
return (w = (n = s.editor) == null ? void 0 : n.isActive) == null ? void 0 : w.call(n, _, o);
|
|
2667
|
+
}, a = (_, o) => {
|
|
2667
2668
|
var A, V, U, I, R, N;
|
|
2668
2669
|
const n = s.editor;
|
|
2669
2670
|
if (!n) return;
|
|
2670
2671
|
const w = (U = (A = n.chain) == null ? void 0 : (V = A.call(n)).focus) == null ? void 0 : U.call(V);
|
|
2671
2672
|
return (N = (R = (I = w == null ? void 0 : w[_]) == null ? void 0 : I.call(w)) == null ? void 0 : R.run) == null ? void 0 : N.call(R);
|
|
2672
2673
|
}, S = () => {
|
|
2673
|
-
var _,
|
|
2674
|
+
var _, o, n, w;
|
|
2674
2675
|
try {
|
|
2675
|
-
return !!((w = (
|
|
2676
|
+
return !!((w = (o = (_ = s.editor) == null ? void 0 : _.can) == null ? void 0 : (n = o.call(_)).undo) != null && w.call(n));
|
|
2676
2677
|
} catch {
|
|
2677
2678
|
return !1;
|
|
2678
2679
|
}
|
|
2679
2680
|
}, i = () => {
|
|
2680
|
-
var _,
|
|
2681
|
+
var _, o, n, w;
|
|
2681
2682
|
try {
|
|
2682
|
-
return !!((w = (
|
|
2683
|
+
return !!((w = (o = (_ = s.editor) == null ? void 0 : _.can) == null ? void 0 : (n = o.call(_)).redo) != null && w.call(n));
|
|
2683
2684
|
} catch {
|
|
2684
2685
|
return !1;
|
|
2685
2686
|
}
|
|
2686
2687
|
}, x = () => {
|
|
2687
|
-
var _,
|
|
2688
|
-
S() && ((n = (
|
|
2688
|
+
var _, o, n;
|
|
2689
|
+
S() && ((n = (o = (_ = s.editor) == null ? void 0 : _.commands) == null ? void 0 : o.undo) == null || n.call(o));
|
|
2689
2690
|
}, z = () => {
|
|
2690
|
-
var _,
|
|
2691
|
-
return (n = (
|
|
2692
|
-
}, p = typeof navigator < "u" && navigator.platform.includes("Mac") ? "⌘ Z" : "Ctrl Z", M = typeof navigator < "u" && navigator.platform.includes("Mac") ? "⇧ ⌘ Z" : "Ctrl Y", y = typeof navigator < "u" && navigator.platform.includes("Mac"), C = y ? "⌘ B" : "Ctrl B", u = y ? "⌘ I" : "Ctrl I", f = y ? "⌘ U" : "Ctrl U", v = y ? "⇧ ⌘ X" : "Ctrl Shift X", g = y ? "⌘ \\" : "Ctrl \\", h = y ? "⇧ ⌘ S" : "Ctrl Shift S", $ = y ? "⇧ ⌘ 8" : "Ctrl Shift 8", j = y ? "⇧ ⌘ 7" : "Ctrl Shift 7", b = y ? "⇧ ⌘ C" : "Ctrl Shift C", m =
|
|
2693
|
-
var
|
|
2691
|
+
var _, o, n;
|
|
2692
|
+
return (n = (o = (_ = s.editor) == null ? void 0 : _.commands) == null ? void 0 : o.redo) == null ? void 0 : n.call(o);
|
|
2693
|
+
}, p = typeof navigator < "u" && navigator.platform.includes("Mac") ? "⌘ Z" : "Ctrl Z", M = typeof navigator < "u" && navigator.platform.includes("Mac") ? "⇧ ⌘ Z" : "Ctrl Y", y = typeof navigator < "u" && navigator.platform.includes("Mac"), C = y ? "⌘ B" : "Ctrl B", u = y ? "⌘ I" : "Ctrl I", f = y ? "⌘ U" : "Ctrl U", v = y ? "⇧ ⌘ X" : "Ctrl Shift X", g = y ? "⌘ \\" : "Ctrl \\", h = y ? "⇧ ⌘ S" : "Ctrl Shift S", $ = y ? "⇧ ⌘ 8" : "Ctrl Shift 8", j = y ? "⇧ ⌘ 7" : "Ctrl Shift 7", b = y ? "⇧ ⌘ C" : "Ctrl Shift C", m = D(null), k = () => {
|
|
2694
|
+
var o, n, w, A, V, U, I;
|
|
2694
2695
|
const _ = s.editor;
|
|
2695
|
-
_ && ((I = (U = (V = (A = (w = (n = (
|
|
2696
|
-
}, H =
|
|
2696
|
+
_ && ((I = (U = (V = (A = (w = (n = (o = _.chain()) == null ? void 0 : o.focus()) == null ? void 0 : n.unsetAllMarks) == null ? void 0 : w.call(n)) == null ? void 0 : A.removeEmptyTextStyle) == null ? void 0 : V.call(A)) == null ? void 0 : U.run) == null || I.call(U));
|
|
2697
|
+
}, H = D(!1), G = D(!1), B = D({}), O = D(null), K = () => {
|
|
2697
2698
|
var n, w, A, V, U, I;
|
|
2698
2699
|
const _ = s.editor;
|
|
2699
2700
|
if (!_) return;
|
|
2700
|
-
const
|
|
2701
|
+
const o = ((n = _.getAttributes) == null ? void 0 : n.call(_, "textStyle")) || {};
|
|
2701
2702
|
B.value = {
|
|
2702
2703
|
bold: !!((w = _.isActive) != null && w.call(_, "bold")),
|
|
2703
2704
|
italic: !!((A = _.isActive) != null && A.call(_, "italic")),
|
|
@@ -2705,41 +2706,42 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2705
2706
|
underline: !!((U = _.isActive) != null && U.call(_, "underline")),
|
|
2706
2707
|
code: !!((I = _.isActive) != null && I.call(_, "code")),
|
|
2707
2708
|
textStyle: {
|
|
2708
|
-
...
|
|
2709
|
-
...
|
|
2710
|
-
...
|
|
2709
|
+
...o != null && o.color ? { color: o.color } : {},
|
|
2710
|
+
...o != null && o.backgroundColor ? { backgroundColor: o.backgroundColor } : {},
|
|
2711
|
+
...o != null && o.fontSize ? { fontSize: o.fontSize } : {}
|
|
2711
2712
|
}
|
|
2712
2713
|
};
|
|
2713
2714
|
}, Z = () => {
|
|
2714
|
-
var V, U, I, R, N, q, lt, ft, zt,
|
|
2715
|
+
var V, U, I, R, N, q, lt, ft, zt, Dt, tt, it;
|
|
2715
2716
|
const _ = s.editor;
|
|
2716
2717
|
if (!_) return;
|
|
2717
|
-
const
|
|
2718
|
+
const o = B.value;
|
|
2718
2719
|
let n = (I = (V = _.chain) == null ? void 0 : (U = V.call(_)).focus) == null ? void 0 : I.call(U);
|
|
2719
|
-
const w =
|
|
2720
|
-
A && A.from === A.to || (n = ((N = n == null ? void 0 : n.unsetAllMarks) == null ? void 0 : N.call(n)) || n, Object.keys(w).length && (n = ((q = n == null ? void 0 : n.setMark) == null ? void 0 : q.call(n, "textStyle", w)) || n),
|
|
2720
|
+
const w = o.textStyle || {}, A = (R = _.state) == null ? void 0 : R.selection;
|
|
2721
|
+
A && A.from === A.to || (n = ((N = n == null ? void 0 : n.unsetAllMarks) == null ? void 0 : N.call(n)) || n, Object.keys(w).length && (n = ((q = n == null ? void 0 : n.setMark) == null ? void 0 : q.call(n, "textStyle", w)) || n), o.bold && (n = ((lt = n == null ? void 0 : n.toggleBold) == null ? void 0 : lt.call(n)) || n), o.italic && (n = ((ft = n == null ? void 0 : n.toggleItalic) == null ? void 0 : ft.call(n)) || n), o.strike && (n = ((zt = n == null ? void 0 : n.toggleStrike) == null ? void 0 : zt.call(n)) || n), o.underline && (n = ((Dt = n == null ? void 0 : n.toggleUnderline) == null ? void 0 : Dt.call(n)) || n), o.code && (n = ((tt = n == null ? void 0 : n.toggleCode) == null ? void 0 : tt.call(n)) || n), (it = n == null ? void 0 : n.run) == null || it.call(n));
|
|
2721
2722
|
}, X = (_) => {
|
|
2722
2723
|
var w;
|
|
2723
|
-
const
|
|
2724
|
-
if (!
|
|
2724
|
+
const o = s.editor;
|
|
2725
|
+
if (!o) return;
|
|
2725
2726
|
K(), H.value = !0, G.value = !!_;
|
|
2726
|
-
const n = (w =
|
|
2727
|
+
const n = (w = o.state) == null ? void 0 : w.selection;
|
|
2727
2728
|
O.value = n ? { from: n.from, to: n.to } : null;
|
|
2728
2729
|
}, Q = () => {
|
|
2729
2730
|
H.value = !1, G.value = !1;
|
|
2730
2731
|
}, rt = () => {
|
|
2731
2732
|
Mt();
|
|
2732
2733
|
}, st = (_) => {
|
|
2733
|
-
!((_.metaKey || _.ctrlKey) && _.shiftKey && (_.key === "s" || _.key === "S")) || !s.editor || (_.preventDefault(), X(!1));
|
|
2734
|
+
s.disabled || !((_.metaKey || _.ctrlKey) && _.shiftKey && (_.key === "s" || _.key === "S")) || !s.editor || (_.preventDefault(), X(!1));
|
|
2734
2735
|
}, at = (_) => {
|
|
2735
2736
|
var I, R, N, q;
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2737
|
+
if (s.disabled) return;
|
|
2738
|
+
const o = _.metaKey || _.ctrlKey, n = _.key === "c" || _.key === "C";
|
|
2739
|
+
if (o && _.shiftKey && n) {
|
|
2740
|
+
_.preventDefault(), a("toggleCodeBlock");
|
|
2739
2741
|
return;
|
|
2740
2742
|
}
|
|
2741
2743
|
const w = _.key === "f" || _.key === "F";
|
|
2742
|
-
if (
|
|
2744
|
+
if (o && w) {
|
|
2743
2745
|
_.preventDefault();
|
|
2744
2746
|
try {
|
|
2745
2747
|
(R = (I = m.value) == null ? void 0 : I.openPanel) == null || R.call(I, "find");
|
|
@@ -2759,23 +2761,23 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2759
2761
|
};
|
|
2760
2762
|
let Ct = !1;
|
|
2761
2763
|
const St = () => {
|
|
2762
|
-
var
|
|
2764
|
+
var o;
|
|
2763
2765
|
const _ = s.editor;
|
|
2764
|
-
!_ || Ct || (Ct = !0, (
|
|
2766
|
+
!_ || Ct || (Ct = !0, (o = _.on) == null || o.call(_, "selectionUpdate", rt), window.addEventListener("keydown", st), window.addEventListener("keydown", at), window.addEventListener("mouseup", At, !0));
|
|
2765
2767
|
}, Tt = () => {
|
|
2766
|
-
var
|
|
2768
|
+
var o;
|
|
2767
2769
|
const _ = s.editor;
|
|
2768
|
-
_ && ((
|
|
2770
|
+
_ && ((o = _.off) == null || o.call(_, "selectionUpdate", rt), window.removeEventListener("keydown", st), window.removeEventListener("keydown", at), window.removeEventListener("mouseup", At, !0), Ct = !1);
|
|
2769
2771
|
};
|
|
2770
2772
|
ut(() => {
|
|
2771
2773
|
St();
|
|
2772
2774
|
}), ht(() => {
|
|
2773
2775
|
Tt();
|
|
2774
|
-
}),
|
|
2776
|
+
}), kt(
|
|
2775
2777
|
() => s.editor,
|
|
2776
|
-
(_,
|
|
2778
|
+
(_, o) => {
|
|
2777
2779
|
var n;
|
|
2778
|
-
|
|
2780
|
+
o && ((n = o.off) == null || n.call(o, "selectionUpdate", rt)), Ct = !1, St();
|
|
2779
2781
|
}
|
|
2780
2782
|
);
|
|
2781
2783
|
const Mt = () => {
|
|
@@ -2784,7 +2786,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2784
2786
|
} catch {
|
|
2785
2787
|
}
|
|
2786
2788
|
};
|
|
2787
|
-
|
|
2789
|
+
kt(H, Mt), ut(Mt), ht(() => {
|
|
2788
2790
|
try {
|
|
2789
2791
|
document.body.removeAttribute("data-format-brush");
|
|
2790
2792
|
} catch {
|
|
@@ -2792,15 +2794,17 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2792
2794
|
});
|
|
2793
2795
|
const At = () => {
|
|
2794
2796
|
var w;
|
|
2795
|
-
if (!H.value) return;
|
|
2797
|
+
if (s.disabled || !H.value) return;
|
|
2796
2798
|
const _ = s.editor;
|
|
2797
2799
|
if (!_) return;
|
|
2798
|
-
const
|
|
2799
|
-
if (!
|
|
2800
|
+
const o = (w = _.state) == null ? void 0 : w.selection;
|
|
2801
|
+
if (!o || o.from === o.to) return;
|
|
2800
2802
|
const n = O.value;
|
|
2801
|
-
n && n.from ===
|
|
2803
|
+
n && n.from === o.from && n.to === o.to || (Z(), O.value = { from: o.from, to: o.to }, G.value || Q());
|
|
2802
2804
|
};
|
|
2803
|
-
return (_,
|
|
2805
|
+
return (_, o) => (T(), F("div", {
|
|
2806
|
+
class: J(["header_box", { disabled: !!s.disabled }])
|
|
2807
|
+
}, [
|
|
2804
2808
|
r("div", {
|
|
2805
2809
|
class: "icon",
|
|
2806
2810
|
"aria-disabled": !S(),
|
|
@@ -2819,7 +2823,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2819
2823
|
]),
|
|
2820
2824
|
_: 1
|
|
2821
2825
|
}, 8, ["shortcut"])
|
|
2822
|
-
], 8,
|
|
2826
|
+
], 8, gs),
|
|
2823
2827
|
r("div", {
|
|
2824
2828
|
class: "icon",
|
|
2825
2829
|
"aria-disabled": !i(),
|
|
@@ -2838,11 +2842,11 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2838
2842
|
]),
|
|
2839
2843
|
_: 1
|
|
2840
2844
|
}, 8, ["shortcut"])
|
|
2841
|
-
], 8,
|
|
2845
|
+
], 8, ks),
|
|
2842
2846
|
r("div", {
|
|
2843
2847
|
class: J(["icon", { active: H.value }]),
|
|
2844
|
-
onClick:
|
|
2845
|
-
onDblclick:
|
|
2848
|
+
onClick: o[0] || (o[0] = (n) => X(!1)),
|
|
2849
|
+
onDblclick: o[1] || (o[1] = (n) => X(!0))
|
|
2846
2850
|
}, [
|
|
2847
2851
|
d(L(P), {
|
|
2848
2852
|
text: "格式刷",
|
|
@@ -2884,7 +2888,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2884
2888
|
}, null, 8, ["editor"]),
|
|
2885
2889
|
r("div", {
|
|
2886
2890
|
class: J(["icon", { active: l("bold") }]),
|
|
2887
|
-
onClick:
|
|
2891
|
+
onClick: o[2] || (o[2] = (n) => a("toggleBold"))
|
|
2888
2892
|
}, [
|
|
2889
2893
|
d(L(P), {
|
|
2890
2894
|
text: "加粗",
|
|
@@ -2902,7 +2906,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2902
2906
|
], 2),
|
|
2903
2907
|
r("div", {
|
|
2904
2908
|
class: J(["icon", { active: l("italic") }]),
|
|
2905
|
-
onClick:
|
|
2909
|
+
onClick: o[3] || (o[3] = (n) => a("toggleItalic"))
|
|
2906
2910
|
}, [
|
|
2907
2911
|
d(L(P), {
|
|
2908
2912
|
text: "斜体",
|
|
@@ -2920,7 +2924,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2920
2924
|
], 2),
|
|
2921
2925
|
r("div", {
|
|
2922
2926
|
class: J(["icon", { active: l("strike") }]),
|
|
2923
|
-
onClick:
|
|
2927
|
+
onClick: o[4] || (o[4] = (n) => a("toggleStrike"))
|
|
2924
2928
|
}, [
|
|
2925
2929
|
d(L(P), {
|
|
2926
2930
|
text: "删除线",
|
|
@@ -2938,7 +2942,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2938
2942
|
], 2),
|
|
2939
2943
|
r("div", {
|
|
2940
2944
|
class: J(["icon", { active: l("underline") }]),
|
|
2941
|
-
onClick:
|
|
2945
|
+
onClick: o[5] || (o[5] = (n) => a("toggleUnderline"))
|
|
2942
2946
|
}, [
|
|
2943
2947
|
d(L(P), {
|
|
2944
2948
|
text: "下划线",
|
|
@@ -2967,7 +2971,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2967
2971
|
}, null, 8, ["editor"]),
|
|
2968
2972
|
r("div", {
|
|
2969
2973
|
class: J(["icon", { active: l("bulletList") }]),
|
|
2970
|
-
onClick:
|
|
2974
|
+
onClick: o[6] || (o[6] = (n) => a("toggleBulletList"))
|
|
2971
2975
|
}, [
|
|
2972
2976
|
d(L(P), {
|
|
2973
2977
|
text: "无序列表",
|
|
@@ -2985,7 +2989,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
2985
2989
|
], 2),
|
|
2986
2990
|
r("div", {
|
|
2987
2991
|
class: J(["icon", { active: l("orderedList") }]),
|
|
2988
|
-
onClick:
|
|
2992
|
+
onClick: o[7] || (o[7] = (n) => a("toggleOrderedList"))
|
|
2989
2993
|
}, [
|
|
2990
2994
|
d(L(P), {
|
|
2991
2995
|
text: "有序列表",
|
|
@@ -3006,7 +3010,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3006
3010
|
}, null, 8, ["editor"]),
|
|
3007
3011
|
r("div", {
|
|
3008
3012
|
class: J(["icon", { active: l("code") }]),
|
|
3009
|
-
onClick:
|
|
3013
|
+
onClick: o[8] || (o[8] = (n) => a("toggleCode"))
|
|
3010
3014
|
}, [
|
|
3011
3015
|
d(L(P), {
|
|
3012
3016
|
text: "行内代码",
|
|
@@ -3023,7 +3027,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3023
3027
|
], 2),
|
|
3024
3028
|
r("div", {
|
|
3025
3029
|
class: J(["icon", { active: l("codeBlock") }]),
|
|
3026
|
-
onClick:
|
|
3030
|
+
onClick: o[9] || (o[9] = (n) => a("toggleCodeBlock"))
|
|
3027
3031
|
}, [
|
|
3028
3032
|
d(L(P), {
|
|
3029
3033
|
text: "代码块",
|
|
@@ -3068,14 +3072,14 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3068
3072
|
}, null, 8, ["editor"]),
|
|
3069
3073
|
r("div", {
|
|
3070
3074
|
class: "icon",
|
|
3071
|
-
onClick:
|
|
3075
|
+
onClick: o[10] || (o[10] = (n) => e("toggleFullscreen"))
|
|
3072
3076
|
}, [
|
|
3073
3077
|
d(L(P), {
|
|
3074
3078
|
text: s.fullscreen ? "退出全屏" : "全屏编辑",
|
|
3075
3079
|
placement: "bottom"
|
|
3076
3080
|
}, {
|
|
3077
3081
|
default: W(() => [
|
|
3078
|
-
(T(), xt(le(s.fullscreen ? L(Be) : L(
|
|
3082
|
+
(T(), xt(le(s.fullscreen ? L(Be) : L(Ee)), {
|
|
3079
3083
|
theme: "outline",
|
|
3080
3084
|
strokeWidth: 3
|
|
3081
3085
|
}))
|
|
@@ -3083,9 +3087,9 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3083
3087
|
_: 1
|
|
3084
3088
|
}, 8, ["text"])
|
|
3085
3089
|
])
|
|
3086
|
-
]));
|
|
3090
|
+
], 2));
|
|
3087
3091
|
}
|
|
3088
|
-
}),
|
|
3092
|
+
}), bs = /* @__PURE__ */ nt(ws, [["__scopeId", "data-v-40d61df0"]]), ys = { class: "outline__header" }, Cs = { style: { cursor: "pointer", "margin-top": "5px" } }, xs = { class: "outline__listWrap" }, _s = { class: "outline__list" }, Ls = ["onClick"], Ms = ["onClick"], zs = /* @__PURE__ */ ot({
|
|
3089
3093
|
__name: "index",
|
|
3090
3094
|
props: {
|
|
3091
3095
|
items: {},
|
|
@@ -3098,16 +3102,16 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3098
3102
|
pinned: { type: Boolean }
|
|
3099
3103
|
},
|
|
3100
3104
|
emits: ["select", "update:open"],
|
|
3101
|
-
setup(t, { emit:
|
|
3102
|
-
const s = t,
|
|
3105
|
+
setup(t, { emit: c }) {
|
|
3106
|
+
const s = t, e = c;
|
|
3103
3107
|
function l(v) {
|
|
3104
|
-
C(v),
|
|
3108
|
+
C(v), e("select", v);
|
|
3105
3109
|
}
|
|
3106
|
-
function
|
|
3107
|
-
|
|
3110
|
+
function a() {
|
|
3111
|
+
e("update:open", !1), e("update:pinned", !1);
|
|
3108
3112
|
}
|
|
3109
3113
|
function S() {
|
|
3110
|
-
s.pinned ||
|
|
3114
|
+
s.pinned || a();
|
|
3111
3115
|
}
|
|
3112
3116
|
function i(v) {
|
|
3113
3117
|
const g = [], h = [];
|
|
@@ -3118,7 +3122,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3118
3122
|
}
|
|
3119
3123
|
return g;
|
|
3120
3124
|
}
|
|
3121
|
-
const x =
|
|
3125
|
+
const x = D(/* @__PURE__ */ new Set());
|
|
3122
3126
|
function z(v) {
|
|
3123
3127
|
return x.value.has(v.pos);
|
|
3124
3128
|
}
|
|
@@ -3166,7 +3170,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3166
3170
|
}
|
|
3167
3171
|
return (v, g) => (T(), F("div", {
|
|
3168
3172
|
class: "outline-wrapper",
|
|
3169
|
-
onClick: g[1] || (g[1] =
|
|
3173
|
+
onClick: g[1] || (g[1] = E(() => {
|
|
3170
3174
|
}, ["stop"]))
|
|
3171
3175
|
}, [
|
|
3172
3176
|
r("aside", {
|
|
@@ -3176,9 +3180,9 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3176
3180
|
}),
|
|
3177
3181
|
onMouseleave: S
|
|
3178
3182
|
}, [
|
|
3179
|
-
r("div",
|
|
3183
|
+
r("div", ys, [
|
|
3180
3184
|
g[2] || (g[2] = r("div", { style: { "margin-right": "6px" } }, "大纲", -1)),
|
|
3181
|
-
r("div",
|
|
3185
|
+
r("div", Cs, [
|
|
3182
3186
|
s.open && !s.pinned ? (T(), xt(L(He), {
|
|
3183
3187
|
key: 0,
|
|
3184
3188
|
onClick: g[0] || (g[0] = (h) => v.$emit("update:pinned", !0)),
|
|
@@ -3188,15 +3192,15 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3188
3192
|
})) : Y("", !0),
|
|
3189
3193
|
s.pinned ? (T(), xt(L(Ae), {
|
|
3190
3194
|
key: 1,
|
|
3191
|
-
onClick:
|
|
3195
|
+
onClick: a,
|
|
3192
3196
|
theme: "outline",
|
|
3193
3197
|
size: "16",
|
|
3194
3198
|
strokeWidth: 3
|
|
3195
3199
|
})) : Y("", !0)
|
|
3196
3200
|
])
|
|
3197
3201
|
]),
|
|
3198
|
-
r("div",
|
|
3199
|
-
r("ul",
|
|
3202
|
+
r("div", xs, [
|
|
3203
|
+
r("ul", _s, [
|
|
3200
3204
|
(T(!0), F(mt, null, gt(y.value, (h, $) => (T(), F("li", {
|
|
3201
3205
|
key: h.node.pos + "-" + $,
|
|
3202
3206
|
class: J(["outline__item", "lv-" + h.level])
|
|
@@ -3204,7 +3208,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3204
3208
|
h.hasChildren ? (T(), F("span", {
|
|
3205
3209
|
key: 0,
|
|
3206
3210
|
class: J(["outline__caret", { collapsed: z(h.node), expanded: !z(h.node) }]),
|
|
3207
|
-
onClick:
|
|
3211
|
+
onClick: E((j) => p(h.node), ["stop"]),
|
|
3208
3212
|
title: "展开/收起"
|
|
3209
3213
|
}, [...g[3] || (g[3] = [
|
|
3210
3214
|
r("svg", {
|
|
@@ -3218,11 +3222,11 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3218
3222
|
fill: "currentColor"
|
|
3219
3223
|
})
|
|
3220
3224
|
], -1)
|
|
3221
|
-
])], 10,
|
|
3225
|
+
])], 10, Ls)) : Y("", !0),
|
|
3222
3226
|
r("span", {
|
|
3223
3227
|
class: "outline__text",
|
|
3224
3228
|
onClick: (j) => l(h.node)
|
|
3225
|
-
}, pt(h.node.text || "(无标题)"), 9,
|
|
3229
|
+
}, pt(h.node.text || "(无标题)"), 9, Ms)
|
|
3226
3230
|
], 2))), 128))
|
|
3227
3231
|
])
|
|
3228
3232
|
])
|
|
@@ -3232,14 +3236,14 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3232
3236
|
s.open ? (T(), F("div", {
|
|
3233
3237
|
key: 0,
|
|
3234
3238
|
class: "outline-drawer-mask",
|
|
3235
|
-
onClick:
|
|
3239
|
+
onClick: a
|
|
3236
3240
|
})) : Y("", !0)
|
|
3237
3241
|
]),
|
|
3238
3242
|
_: 1
|
|
3239
3243
|
})
|
|
3240
3244
|
]));
|
|
3241
3245
|
}
|
|
3242
|
-
}),
|
|
3246
|
+
}), $s = /* @__PURE__ */ nt(zs, [["__scopeId", "data-v-b5f802fc"]]), Ss = ["onClick"], Ts = /* @__PURE__ */ ot({
|
|
3243
3247
|
__name: "index",
|
|
3244
3248
|
props: {
|
|
3245
3249
|
modelValue: {},
|
|
@@ -3249,62 +3253,63 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3249
3253
|
imageUploader: { type: Function },
|
|
3250
3254
|
videoUploader: { type: Function },
|
|
3251
3255
|
caretColor: {},
|
|
3252
|
-
uploadSizeLimit: {}
|
|
3256
|
+
uploadSizeLimit: {},
|
|
3257
|
+
readonly: { type: Boolean }
|
|
3253
3258
|
},
|
|
3254
3259
|
emits: ["update:modelValue", "update:markdown"],
|
|
3255
|
-
setup(t, { expose:
|
|
3256
|
-
const
|
|
3260
|
+
setup(t, { expose: c, emit: s }) {
|
|
3261
|
+
const e = t, l = s, a = D(null);
|
|
3257
3262
|
let S = !1;
|
|
3258
|
-
const i =
|
|
3259
|
-
const
|
|
3260
|
-
f.value =
|
|
3263
|
+
const i = D(!1), x = D(!1), z = D(""), p = D([]), M = D("#000000"), y = D(!0), C = D(!0), u = D(null), f = D(void 0), v = D([]), g = D(null), h = () => {
|
|
3264
|
+
const o = u.value;
|
|
3265
|
+
f.value = o ? o.clientHeight : void 0;
|
|
3261
3266
|
};
|
|
3262
3267
|
let $ = null;
|
|
3263
3268
|
ut(() => {
|
|
3264
|
-
h(), $ = () => h(), window.addEventListener("resize", $),
|
|
3265
|
-
const
|
|
3266
|
-
|
|
3269
|
+
h(), $ = () => h(), window.addEventListener("resize", $), bt(() => {
|
|
3270
|
+
const o = u.value;
|
|
3271
|
+
o && o.addEventListener("scroll", Mt, { passive: !0 });
|
|
3267
3272
|
});
|
|
3268
3273
|
}), ht(() => {
|
|
3269
3274
|
$ && (window.removeEventListener("resize", $), $ = null);
|
|
3270
|
-
const
|
|
3271
|
-
|
|
3272
|
-
}),
|
|
3273
|
-
await
|
|
3274
|
-
}),
|
|
3275
|
+
const o = u.value;
|
|
3276
|
+
o && o.removeEventListener("scroll", Mt);
|
|
3277
|
+
}), kt([() => e.height, y, i], async () => {
|
|
3278
|
+
await bt(), h(), Mt();
|
|
3279
|
+
}), kt(i, (o) => {
|
|
3275
3280
|
try {
|
|
3276
|
-
document.body.style.overflow =
|
|
3281
|
+
document.body.style.overflow = o ? "hidden" : "";
|
|
3277
3282
|
} catch {
|
|
3278
3283
|
}
|
|
3279
3284
|
try {
|
|
3280
|
-
|
|
3285
|
+
o ? window.addEventListener("keydown", j) : window.removeEventListener("keydown", j);
|
|
3281
3286
|
} catch {
|
|
3282
3287
|
}
|
|
3283
3288
|
});
|
|
3284
|
-
function j(
|
|
3285
|
-
|
|
3289
|
+
function j(o) {
|
|
3290
|
+
o.key === "Escape" && i.value && (o.preventDefault(), i.value = !1);
|
|
3286
3291
|
}
|
|
3287
3292
|
const b = dt(() => {
|
|
3288
|
-
const
|
|
3293
|
+
const o = (w) => w == null ? void 0 : typeof w == "number" ? `${w}px` : w, n = i.value ? "100vh" : o(e.height);
|
|
3289
3294
|
return {
|
|
3290
3295
|
height: n,
|
|
3291
3296
|
"--editor-height": n,
|
|
3292
|
-
"--editor-caret-color":
|
|
3297
|
+
"--editor-caret-color": e.caretColor || "#000"
|
|
3293
3298
|
};
|
|
3294
3299
|
}), m = jt.extend({
|
|
3295
3300
|
addAttributes() {
|
|
3296
3301
|
return {
|
|
3297
3302
|
fontSize: {
|
|
3298
3303
|
default: null,
|
|
3299
|
-
parseHTML: (
|
|
3300
|
-
renderHTML: (
|
|
3304
|
+
parseHTML: (o) => o.style.fontSize || null,
|
|
3305
|
+
renderHTML: (o) => o.fontSize ? { style: `font-size: ${o.fontSize}` } : {}
|
|
3301
3306
|
}
|
|
3302
3307
|
};
|
|
3303
3308
|
},
|
|
3304
3309
|
addCommands() {
|
|
3305
3310
|
return {
|
|
3306
|
-
setFontSize: (
|
|
3307
|
-
unsetFontSize: () => ({ chain:
|
|
3311
|
+
setFontSize: (o) => ({ chain: n }) => n().setMark("textStyle", { fontSize: o }).run(),
|
|
3312
|
+
unsetFontSize: () => ({ chain: o }) => o().setMark("textStyle", { fontSize: null }).removeEmptyTextStyle().run()
|
|
3308
3313
|
};
|
|
3309
3314
|
}
|
|
3310
3315
|
}), k = jt.extend({
|
|
@@ -3312,20 +3317,20 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3312
3317
|
return {
|
|
3313
3318
|
backgroundColor: {
|
|
3314
3319
|
default: null,
|
|
3315
|
-
parseHTML: (
|
|
3316
|
-
renderHTML: (
|
|
3320
|
+
parseHTML: (o) => o.style.backgroundColor || null,
|
|
3321
|
+
renderHTML: (o) => o.backgroundColor ? { style: `background-color: ${o.backgroundColor}` } : {}
|
|
3317
3322
|
}
|
|
3318
3323
|
};
|
|
3319
3324
|
},
|
|
3320
3325
|
addCommands() {
|
|
3321
3326
|
return {
|
|
3322
|
-
setBackgroundColor: (
|
|
3323
|
-
unsetBackgroundColor: () => ({ chain:
|
|
3327
|
+
setBackgroundColor: (o) => ({ chain: n }) => n().setMark("textStyle", { backgroundColor: o }).run(),
|
|
3328
|
+
unsetBackgroundColor: () => ({ chain: o }) => o().setMark("textStyle", { backgroundColor: null }).removeEmptyTextStyle().run()
|
|
3324
3329
|
};
|
|
3325
3330
|
}
|
|
3326
3331
|
});
|
|
3327
3332
|
ut(() => {
|
|
3328
|
-
|
|
3333
|
+
a.value = new re({
|
|
3329
3334
|
extensions: [
|
|
3330
3335
|
ce.configure({ dropcursor: !1 }),
|
|
3331
3336
|
we.configure({ color: "#22c55e", width: 2 }),
|
|
@@ -3362,17 +3367,24 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3362
3367
|
pe.configure({
|
|
3363
3368
|
types: ["heading", "paragraph"]
|
|
3364
3369
|
}),
|
|
3365
|
-
ve.configure({ placeholder:
|
|
3370
|
+
ve.configure({ placeholder: e.placeholder ?? "输入 / 以插入块" })
|
|
3366
3371
|
],
|
|
3367
3372
|
// 直接在构造时设置初始内容,避免立即调用 setContent 导致部分插件(如 resizable)在尚未完成挂载时触发 selection 更新报错
|
|
3368
|
-
content:
|
|
3369
|
-
contentType:
|
|
3370
|
-
editable: !
|
|
3371
|
-
autofocus: !
|
|
3373
|
+
content: e.markdown != null ? String(e.markdown || "") : String(e.modelValue || ""),
|
|
3374
|
+
contentType: e.markdown != null ? "markdown" : /<\s*(video|iframe)\b|data-youtube-video|<\w+/i.test(String(e.modelValue || "")) ? "html" : "markdown",
|
|
3375
|
+
editable: !e.readonly,
|
|
3376
|
+
autofocus: !e.readonly,
|
|
3372
3377
|
editorProps: {
|
|
3373
3378
|
// 任务列表等交互由扩展自身处理,无需额外事件
|
|
3374
|
-
handlePaste(
|
|
3375
|
-
var ft, zt,
|
|
3379
|
+
handlePaste(o, n) {
|
|
3380
|
+
var ft, zt, Dt;
|
|
3381
|
+
if (e.readonly) {
|
|
3382
|
+
try {
|
|
3383
|
+
n.preventDefault();
|
|
3384
|
+
} catch {
|
|
3385
|
+
}
|
|
3386
|
+
return !0;
|
|
3387
|
+
}
|
|
3376
3388
|
const w = n.clipboardData;
|
|
3377
3389
|
if (!w) return !1;
|
|
3378
3390
|
const A = w.files && w.files.length ? Array.from(w.files) : [], V = A.find((tt) => {
|
|
@@ -3380,7 +3392,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3380
3392
|
return (it = tt.type) == null ? void 0 : it.startsWith("image/");
|
|
3381
3393
|
});
|
|
3382
3394
|
if (V) {
|
|
3383
|
-
if (n.preventDefault(), !
|
|
3395
|
+
if (n.preventDefault(), !e.imageUploader) {
|
|
3384
3396
|
try {
|
|
3385
3397
|
window.alert("未设置图片上传方法(image-uploader),无法上传图片文件");
|
|
3386
3398
|
} catch {
|
|
@@ -3397,7 +3409,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3397
3409
|
return n.preventDefault(), at(U), !0;
|
|
3398
3410
|
const R = (w.items ? Array.from(w.items) : []).find((tt) => tt.kind === "file"), N = R ? R.getAsFile() : null;
|
|
3399
3411
|
if (N && N.type.startsWith("image/")) {
|
|
3400
|
-
if (n.preventDefault(), !
|
|
3412
|
+
if (n.preventDefault(), !e.imageUploader) {
|
|
3401
3413
|
try {
|
|
3402
3414
|
window.alert("未设置图片上传方法(image-uploader),无法上传图片文件");
|
|
3403
3415
|
} catch {
|
|
@@ -3414,12 +3426,12 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3414
3426
|
if (tt && it && it[1]) {
|
|
3415
3427
|
n.preventDefault();
|
|
3416
3428
|
const Ft = it[1];
|
|
3417
|
-
if (
|
|
3429
|
+
if (e.imageUploader && /^data:image\//i.test(Ft)) {
|
|
3418
3430
|
const Ht = X(Ft, "clipboard.png");
|
|
3419
3431
|
O(Ht);
|
|
3420
3432
|
} else {
|
|
3421
3433
|
if (/^data:image\//i.test(Ft)) {
|
|
3422
|
-
const Ht = X(Ft, "clipboard.png"), Ut = (ft =
|
|
3434
|
+
const Ht = X(Ft, "clipboard.png"), Ut = (ft = e.uploadSizeLimit) == null ? void 0 : ft.image;
|
|
3423
3435
|
if (Ut) {
|
|
3424
3436
|
const te = Math.max(1, Ut) * 1024 * 1024;
|
|
3425
3437
|
if (Ht.size > te) {
|
|
@@ -3437,8 +3449,8 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3437
3449
|
}
|
|
3438
3450
|
return !0;
|
|
3439
3451
|
}
|
|
3440
|
-
const $t = q.match(/<video[^>]+src=["']([^"']+)["']/i),
|
|
3441
|
-
if (Gt &&
|
|
3452
|
+
const $t = q.match(/<video[^>]+src=["']([^"']+)["']/i), wt = q.match(/<source[^>]+src=["']([^"']+)["']/i), Et = q.replace(/\s+/g, "").match(/^<video[^>]*>.*<\/video>$/i), Gt = $t && $t[1] || wt && wt[1];
|
|
3453
|
+
if (Gt && Et)
|
|
3442
3454
|
return n.preventDefault(), B(Gt), !0;
|
|
3443
3455
|
}
|
|
3444
3456
|
const lt = w.getData("text/plain");
|
|
@@ -3446,13 +3458,13 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3446
3458
|
const tt = lt.trim(), it = st(tt);
|
|
3447
3459
|
if (Q(tt) && tt === lt.trim()) {
|
|
3448
3460
|
if (n.preventDefault(), /^data:image\//i.test(tt)) {
|
|
3449
|
-
const $t = X(tt, "clipboard.png"),
|
|
3450
|
-
if (
|
|
3451
|
-
const
|
|
3452
|
-
if ($t.size >
|
|
3461
|
+
const $t = X(tt, "clipboard.png"), wt = (zt = e.uploadSizeLimit) == null ? void 0 : zt.image;
|
|
3462
|
+
if (wt) {
|
|
3463
|
+
const Et = Math.max(1, wt) * 1024 * 1024;
|
|
3464
|
+
if ($t.size > Et) {
|
|
3453
3465
|
try {
|
|
3454
3466
|
window.alert(
|
|
3455
|
-
`图片文件大小超限(${($t.size / 1024 / 1024).toFixed(2)}MB > ${
|
|
3467
|
+
`图片文件大小超限(${($t.size / 1024 / 1024).toFixed(2)}MB > ${wt}MB)`
|
|
3456
3468
|
);
|
|
3457
3469
|
} catch {
|
|
3458
3470
|
}
|
|
@@ -3464,13 +3476,13 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3464
3476
|
}
|
|
3465
3477
|
if (it) {
|
|
3466
3478
|
if (n.preventDefault(), /^data:image\//i.test(it)) {
|
|
3467
|
-
const $t = X(it, "clipboard.png"),
|
|
3468
|
-
if (
|
|
3469
|
-
const
|
|
3470
|
-
if ($t.size >
|
|
3479
|
+
const $t = X(it, "clipboard.png"), wt = (Dt = e.uploadSizeLimit) == null ? void 0 : Dt.image;
|
|
3480
|
+
if (wt) {
|
|
3481
|
+
const Et = Math.max(1, wt) * 1024 * 1024;
|
|
3482
|
+
if ($t.size > Et) {
|
|
3471
3483
|
try {
|
|
3472
3484
|
window.alert(
|
|
3473
|
-
`图片文件大小超限(${($t.size / 1024 / 1024).toFixed(2)}MB > ${
|
|
3485
|
+
`图片文件大小超限(${($t.size / 1024 / 1024).toFixed(2)}MB > ${wt}MB)`
|
|
3474
3486
|
);
|
|
3475
3487
|
} catch {
|
|
3476
3488
|
}
|
|
@@ -3485,7 +3497,14 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3485
3497
|
}
|
|
3486
3498
|
return !1;
|
|
3487
3499
|
},
|
|
3488
|
-
handleDrop(
|
|
3500
|
+
handleDrop(o, n) {
|
|
3501
|
+
if (e.readonly) {
|
|
3502
|
+
try {
|
|
3503
|
+
n.preventDefault();
|
|
3504
|
+
} catch {
|
|
3505
|
+
}
|
|
3506
|
+
return !0;
|
|
3507
|
+
}
|
|
3489
3508
|
const w = n.dataTransfer;
|
|
3490
3509
|
if (!w) return !1;
|
|
3491
3510
|
const V = (w.files ? Array.from(w.files) : []).find((U) => {
|
|
@@ -3493,7 +3512,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3493
3512
|
return (I = U.type) == null ? void 0 : I.startsWith("image/");
|
|
3494
3513
|
});
|
|
3495
3514
|
if (V) {
|
|
3496
|
-
if (n.preventDefault(), !
|
|
3515
|
+
if (n.preventDefault(), !e.imageUploader) {
|
|
3497
3516
|
try {
|
|
3498
3517
|
window.alert("未设置图片上传方法(image-uploader),无法上传图片文件");
|
|
3499
3518
|
} catch {
|
|
@@ -3504,7 +3523,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3504
3523
|
}
|
|
3505
3524
|
return !1;
|
|
3506
3525
|
},
|
|
3507
|
-
handleClick(
|
|
3526
|
+
handleClick(o, n, w) {
|
|
3508
3527
|
const A = w, V = A.target, U = V ? V.closest("a[href]") : null;
|
|
3509
3528
|
if (U && (A.ctrlKey || A.metaKey)) {
|
|
3510
3529
|
const I = U.getAttribute("href") || "";
|
|
@@ -3519,49 +3538,71 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3519
3538
|
}
|
|
3520
3539
|
}
|
|
3521
3540
|
return !1;
|
|
3541
|
+
},
|
|
3542
|
+
handleDOMEvents: {
|
|
3543
|
+
dragstart(o, n) {
|
|
3544
|
+
if (e.readonly) {
|
|
3545
|
+
try {
|
|
3546
|
+
n.preventDefault();
|
|
3547
|
+
} catch {
|
|
3548
|
+
}
|
|
3549
|
+
return !0;
|
|
3550
|
+
}
|
|
3551
|
+
return !1;
|
|
3552
|
+
},
|
|
3553
|
+
dragover(o, n) {
|
|
3554
|
+
if (e.readonly) {
|
|
3555
|
+
try {
|
|
3556
|
+
n.preventDefault();
|
|
3557
|
+
} catch {
|
|
3558
|
+
}
|
|
3559
|
+
return !0;
|
|
3560
|
+
}
|
|
3561
|
+
return !1;
|
|
3562
|
+
}
|
|
3522
3563
|
}
|
|
3523
3564
|
},
|
|
3524
|
-
onSelectionUpdate: (
|
|
3565
|
+
onSelectionUpdate: (o) => {
|
|
3525
3566
|
var A;
|
|
3526
|
-
const w = ((A =
|
|
3567
|
+
const w = ((A = o.editor.getAttributes("textStyle")) == null ? void 0 : A.color) || "#000000";
|
|
3527
3568
|
M.value = typeof w == "string" ? w : "#000000";
|
|
3528
3569
|
},
|
|
3529
3570
|
onUpdate: () => {
|
|
3530
|
-
const
|
|
3531
|
-
S = !0, l("update:modelValue",
|
|
3571
|
+
const o = a.value;
|
|
3572
|
+
S = !0, l("update:modelValue", o.getHTML()), l("update:markdown", o.getMarkdown()), Tt();
|
|
3532
3573
|
},
|
|
3533
3574
|
onTransaction: () => {
|
|
3534
3575
|
Tt();
|
|
3535
3576
|
}
|
|
3536
|
-
}),
|
|
3537
|
-
var
|
|
3577
|
+
}), bt(() => {
|
|
3578
|
+
var o;
|
|
3538
3579
|
Tt();
|
|
3539
3580
|
try {
|
|
3540
|
-
|
|
3581
|
+
e.readonly || (o = a.value) == null || o.chain().focus().run();
|
|
3541
3582
|
} catch {
|
|
3542
3583
|
}
|
|
3543
3584
|
});
|
|
3544
3585
|
}), ht(() => {
|
|
3545
|
-
var
|
|
3546
|
-
(
|
|
3547
|
-
}),
|
|
3548
|
-
() =>
|
|
3549
|
-
(
|
|
3586
|
+
var o;
|
|
3587
|
+
(o = a.value) == null || o.destroy();
|
|
3588
|
+
}), kt(
|
|
3589
|
+
() => e.modelValue,
|
|
3590
|
+
(o) => {
|
|
3550
3591
|
if (S) {
|
|
3551
3592
|
S = !1;
|
|
3552
3593
|
return;
|
|
3553
3594
|
}
|
|
3554
|
-
|
|
3595
|
+
o != null && a.value && bt(() => {
|
|
3555
3596
|
try {
|
|
3556
|
-
const n = /<\s*(video|iframe)\b|data-youtube-video/i.test(
|
|
3597
|
+
const n = /<\s*(video|iframe)\b|data-youtube-video/i.test(o), w = o.match(/\[video\]\(([^)]+)\)/i);
|
|
3557
3598
|
if (!n && w) {
|
|
3558
|
-
const A = w[1], V =
|
|
3599
|
+
const A = w[1], V = o.replace(
|
|
3559
3600
|
/\[video\]\(([^)]+)\)/gi,
|
|
3560
3601
|
(U, I) => `<video data-tiptap-video src="${I}" controls></video>`
|
|
3561
3602
|
);
|
|
3562
|
-
|
|
3603
|
+
a.value.commands.setContent(V, { contentType: "html" });
|
|
3563
3604
|
} else
|
|
3564
|
-
|
|
3605
|
+
a.value.commands.setContent(o, {
|
|
3565
3606
|
contentType: n ? "html" : "markdown"
|
|
3566
3607
|
});
|
|
3567
3608
|
} catch (n) {
|
|
@@ -3569,37 +3610,46 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3569
3610
|
}
|
|
3570
3611
|
});
|
|
3571
3612
|
}
|
|
3572
|
-
),
|
|
3573
|
-
() =>
|
|
3574
|
-
(
|
|
3613
|
+
), kt(
|
|
3614
|
+
() => e.readonly,
|
|
3615
|
+
(o) => {
|
|
3616
|
+
var n, w;
|
|
3617
|
+
try {
|
|
3618
|
+
(w = (n = a.value) == null ? void 0 : n.setEditable) == null || w.call(n, !o);
|
|
3619
|
+
} catch {
|
|
3620
|
+
}
|
|
3621
|
+
}
|
|
3622
|
+
), kt(
|
|
3623
|
+
() => e.markdown,
|
|
3624
|
+
(o) => {
|
|
3575
3625
|
if (S) {
|
|
3576
3626
|
S = !1;
|
|
3577
3627
|
return;
|
|
3578
3628
|
}
|
|
3579
|
-
|
|
3629
|
+
o != null && a.value && bt(() => {
|
|
3580
3630
|
try {
|
|
3581
|
-
|
|
3631
|
+
a.value.commands.setContent(o, { contentType: "markdown" });
|
|
3582
3632
|
} catch (n) {
|
|
3583
3633
|
console.warn("setContent 失败,内容更新被忽略:", n);
|
|
3584
3634
|
}
|
|
3585
3635
|
});
|
|
3586
3636
|
}
|
|
3587
3637
|
);
|
|
3588
|
-
function H(
|
|
3638
|
+
function H(o) {
|
|
3589
3639
|
var n;
|
|
3590
|
-
(n =
|
|
3640
|
+
(n = a.value) == null || n.chain().focus().setImage({ src: o }).run();
|
|
3591
3641
|
}
|
|
3592
|
-
function G(
|
|
3593
|
-
return String(
|
|
3642
|
+
function G(o) {
|
|
3643
|
+
return String(o).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'");
|
|
3594
3644
|
}
|
|
3595
|
-
function B(
|
|
3596
|
-
const n =
|
|
3645
|
+
function B(o) {
|
|
3646
|
+
const n = a.value;
|
|
3597
3647
|
if (!n) return;
|
|
3598
3648
|
if (typeof n.commands.setVideo == "function") {
|
|
3599
|
-
n.chain().focus().setVideo({ src:
|
|
3649
|
+
n.chain().focus().setVideo({ src: o, HTMLAttributes: { controls: !0, autoplay: !1, width: 640 } }).run();
|
|
3600
3650
|
return;
|
|
3601
3651
|
}
|
|
3602
|
-
const A = G(
|
|
3652
|
+
const A = G(o);
|
|
3603
3653
|
try {
|
|
3604
3654
|
n.chain().focus().insertContent(
|
|
3605
3655
|
`<p><a href="${A}" target="_blank" rel="noopener noreferrer">${A}</a></p>`
|
|
@@ -3608,31 +3658,31 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3608
3658
|
n.chain().focus().insertContent(A).run();
|
|
3609
3659
|
}
|
|
3610
3660
|
}
|
|
3611
|
-
async function O(
|
|
3661
|
+
async function O(o) {
|
|
3612
3662
|
var w, A;
|
|
3613
|
-
const n = (w =
|
|
3663
|
+
const n = (w = e.uploadSizeLimit) == null ? void 0 : w.image;
|
|
3614
3664
|
if (n) {
|
|
3615
3665
|
const V = Math.max(1, n) * 1024 * 1024;
|
|
3616
|
-
if (
|
|
3666
|
+
if (o.size > V) {
|
|
3617
3667
|
try {
|
|
3618
|
-
window.alert(`图片文件大小超限(${(
|
|
3668
|
+
window.alert(`图片文件大小超限(${(o.size / 1024 / 1024).toFixed(2)}MB > ${n}MB)`);
|
|
3619
3669
|
} catch {
|
|
3620
3670
|
}
|
|
3621
3671
|
return;
|
|
3622
3672
|
}
|
|
3623
3673
|
}
|
|
3624
|
-
if (
|
|
3625
|
-
const V = URL.createObjectURL(
|
|
3626
|
-
(A =
|
|
3674
|
+
if (e.imageUploader) {
|
|
3675
|
+
const V = URL.createObjectURL(o);
|
|
3676
|
+
(A = a.value) == null || A.chain().focus().setImage({ src: V, uploading: !0 }).run();
|
|
3627
3677
|
try {
|
|
3628
|
-
const U = await
|
|
3678
|
+
const U = await e.imageUploader(o);
|
|
3629
3679
|
if (typeof U == "string" && U) {
|
|
3630
3680
|
K(V, U);
|
|
3631
3681
|
return;
|
|
3632
3682
|
}
|
|
3633
|
-
Z(
|
|
3683
|
+
Z(o, (I) => K(V, I));
|
|
3634
3684
|
} catch (U) {
|
|
3635
|
-
console.warn("图片上传失败,回退为 base64", U), Z(
|
|
3685
|
+
console.warn("图片上传失败,回退为 base64", U), Z(o, (I) => K(V, I));
|
|
3636
3686
|
} finally {
|
|
3637
3687
|
try {
|
|
3638
3688
|
URL.revokeObjectURL(V);
|
|
@@ -3646,15 +3696,15 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3646
3696
|
} catch {
|
|
3647
3697
|
}
|
|
3648
3698
|
}
|
|
3649
|
-
function K(
|
|
3699
|
+
function K(o, n) {
|
|
3650
3700
|
var I, R;
|
|
3651
|
-
const w =
|
|
3701
|
+
const w = a.value;
|
|
3652
3702
|
if (!w) return;
|
|
3653
3703
|
const { state: A } = w, { doc: V } = A;
|
|
3654
3704
|
let U = null;
|
|
3655
3705
|
if (V.descendants((N, q) => {
|
|
3656
3706
|
var lt, ft;
|
|
3657
|
-
return ((lt = N.type) == null ? void 0 : lt.name) === "image" && ((ft = N.attrs) == null ? void 0 : ft.src) ===
|
|
3707
|
+
return ((lt = N.type) == null ? void 0 : lt.name) === "image" && ((ft = N.attrs) == null ? void 0 : ft.src) === o ? (U = q, !1) : !0;
|
|
3658
3708
|
}), U != null) {
|
|
3659
3709
|
const N = V.nodeAt(U), q = A.schema.nodes.image;
|
|
3660
3710
|
if (!N || !q) return;
|
|
@@ -3667,46 +3717,46 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3667
3717
|
} else
|
|
3668
3718
|
H(n);
|
|
3669
3719
|
}
|
|
3670
|
-
function Z(
|
|
3720
|
+
function Z(o, n) {
|
|
3671
3721
|
const w = new FileReader();
|
|
3672
|
-
w.onload = () => n(String(w.result || "")), w.readAsDataURL(
|
|
3722
|
+
w.onload = () => n(String(w.result || "")), w.readAsDataURL(o);
|
|
3673
3723
|
}
|
|
3674
|
-
function X(
|
|
3724
|
+
function X(o, n = "image.png") {
|
|
3675
3725
|
var R;
|
|
3676
|
-
const w =
|
|
3726
|
+
const w = o.split(","), A = ((R = w[0].match(/:(.*?);/)) == null ? void 0 : R[1]) || "image/png", V = atob(w[1]);
|
|
3677
3727
|
let U = V.length;
|
|
3678
3728
|
const I = new Uint8Array(U);
|
|
3679
3729
|
for (; U--; )
|
|
3680
3730
|
I[U] = V.charCodeAt(U);
|
|
3681
3731
|
return new File([I], n, { type: A });
|
|
3682
3732
|
}
|
|
3683
|
-
function Q(
|
|
3684
|
-
return /^data:image\//i.test(
|
|
3733
|
+
function Q(o) {
|
|
3734
|
+
return /^data:image\//i.test(o) || /^https?:\/\//i.test(o) && /\.(png|jpe?g|gif|webp|svg)(\?.*)?$/i.test(o);
|
|
3685
3735
|
}
|
|
3686
|
-
function rt(
|
|
3687
|
-
return /^https?:\/\//i.test(
|
|
3736
|
+
function rt(o) {
|
|
3737
|
+
return /^https?:\/\//i.test(o) && /\.(mp4|webm|m3u8|mov|ogv?)(\?.*)?$/i.test(o);
|
|
3688
3738
|
}
|
|
3689
|
-
function st(
|
|
3690
|
-
const n =
|
|
3739
|
+
function st(o) {
|
|
3740
|
+
const n = o.match(/^!\[[^\]]*\]\(([^)]+)\)\s*$/);
|
|
3691
3741
|
if (!n) return null;
|
|
3692
3742
|
const w = n[1].trim().replace(/^<|>$/g, "");
|
|
3693
3743
|
return Q(w) ? w : null;
|
|
3694
3744
|
}
|
|
3695
|
-
async function at(
|
|
3745
|
+
async function at(o) {
|
|
3696
3746
|
var A;
|
|
3697
|
-
const n = (A =
|
|
3747
|
+
const n = (A = e.uploadSizeLimit) == null ? void 0 : A.video;
|
|
3698
3748
|
if (n) {
|
|
3699
3749
|
const V = Math.max(1, n) * 1024 * 1024;
|
|
3700
|
-
if (
|
|
3750
|
+
if (o.size > V) {
|
|
3701
3751
|
try {
|
|
3702
|
-
window.alert(`视频文件大小超限(${(
|
|
3752
|
+
window.alert(`视频文件大小超限(${(o.size / 1024 / 1024).toFixed(2)}MB > ${n}MB)`);
|
|
3703
3753
|
} catch {
|
|
3704
3754
|
}
|
|
3705
3755
|
return;
|
|
3706
3756
|
}
|
|
3707
3757
|
}
|
|
3708
|
-
if (
|
|
3709
|
-
const V = URL.createObjectURL(
|
|
3758
|
+
if (e.videoUploader) {
|
|
3759
|
+
const V = URL.createObjectURL(o), U = a.value, I = U == null ? void 0 : U.commands;
|
|
3710
3760
|
try {
|
|
3711
3761
|
typeof (I == null ? void 0 : I.setVideo) == "function" ? U == null || U.chain().focus().setVideo({
|
|
3712
3762
|
src: V,
|
|
@@ -3716,7 +3766,7 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3716
3766
|
B(V);
|
|
3717
3767
|
}
|
|
3718
3768
|
try {
|
|
3719
|
-
const R = await
|
|
3769
|
+
const R = await e.videoUploader(o);
|
|
3720
3770
|
Ct(V, R);
|
|
3721
3771
|
} catch (R) {
|
|
3722
3772
|
console.warn("视频上传失败,保留本地对象 URL 作为预览", R);
|
|
@@ -3728,17 +3778,17 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3728
3778
|
}
|
|
3729
3779
|
return;
|
|
3730
3780
|
}
|
|
3731
|
-
const w = URL.createObjectURL(
|
|
3781
|
+
const w = URL.createObjectURL(o);
|
|
3732
3782
|
B(w);
|
|
3733
3783
|
}
|
|
3734
|
-
function Ct(
|
|
3735
|
-
const w =
|
|
3784
|
+
function Ct(o, n) {
|
|
3785
|
+
const w = a.value;
|
|
3736
3786
|
if (!w) return;
|
|
3737
3787
|
const { state: A } = w, { doc: V } = A;
|
|
3738
3788
|
let U = null;
|
|
3739
3789
|
if (V.descendants((I, R) => {
|
|
3740
3790
|
var N, q;
|
|
3741
|
-
return ((N = I.type) == null ? void 0 : N.name) === "video" && ((q = I.attrs) == null ? void 0 : q.src) ===
|
|
3791
|
+
return ((N = I.type) == null ? void 0 : N.name) === "video" && ((q = I.attrs) == null ? void 0 : q.src) === o ? (U = R, !1) : !0;
|
|
3742
3792
|
}), U != null) {
|
|
3743
3793
|
const I = V.nodeAt(U), R = A.schema.nodes.video;
|
|
3744
3794
|
if (!I || !R) return;
|
|
@@ -3747,14 +3797,14 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3747
3797
|
}
|
|
3748
3798
|
}
|
|
3749
3799
|
function St() {
|
|
3750
|
-
var
|
|
3751
|
-
z.value = ((n = (
|
|
3800
|
+
var o, n;
|
|
3801
|
+
z.value = ((n = (o = a.value) == null ? void 0 : o.getAttributes("link")) == null ? void 0 : n.href) || "", x.value = !0;
|
|
3752
3802
|
}
|
|
3753
3803
|
function Tt() {
|
|
3754
|
-
const
|
|
3755
|
-
if (!
|
|
3804
|
+
const o = a.value;
|
|
3805
|
+
if (!o) return;
|
|
3756
3806
|
const n = [];
|
|
3757
|
-
|
|
3807
|
+
o.state.doc.descendants((w, A) => {
|
|
3758
3808
|
if (w.type.name === "heading") {
|
|
3759
3809
|
const V = w.attrs.level || 1, U = w.textContent || "";
|
|
3760
3810
|
n.push({ text: U, level: V, pos: A });
|
|
@@ -3762,13 +3812,13 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3762
3812
|
}), p.value = n, Mt();
|
|
3763
3813
|
}
|
|
3764
3814
|
function Mt() {
|
|
3765
|
-
const
|
|
3766
|
-
if (!
|
|
3815
|
+
const o = a.value, n = u.value, w = p.value;
|
|
3816
|
+
if (!o || !n || !w.length) {
|
|
3767
3817
|
v.value = [], g.value = null;
|
|
3768
3818
|
return;
|
|
3769
3819
|
}
|
|
3770
3820
|
const A = n.getBoundingClientRect(), V = n.scrollHeight || n.clientHeight, U = n.clientHeight || 1, I = w.map((q) => {
|
|
3771
|
-
const ft =
|
|
3821
|
+
const ft = o.view.coordsAtPos(Math.min(q.pos + 1, o.state.doc.content.size)).top - A.top + n.scrollTop, zt = V ? Math.max(0, Math.min(1, ft / V)) : 0;
|
|
3772
3822
|
return Math.round(zt * U);
|
|
3773
3823
|
});
|
|
3774
3824
|
v.value = I;
|
|
@@ -3776,33 +3826,34 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3776
3826
|
let N = null;
|
|
3777
3827
|
for (let q = 0; q < w.length; q++) {
|
|
3778
3828
|
const lt = w[q];
|
|
3779
|
-
if (
|
|
3829
|
+
if (o.view.coordsAtPos(Math.min(lt.pos + 1, o.state.doc.content.size)).top - A.top + n.scrollTop <= R) N = lt.pos;
|
|
3780
3830
|
else break;
|
|
3781
3831
|
}
|
|
3782
3832
|
g.value = N;
|
|
3783
3833
|
}
|
|
3784
|
-
function At(
|
|
3785
|
-
const n =
|
|
3786
|
-
n.closest(".outline") || n.closest(".outline-toggle") ||
|
|
3834
|
+
function At(o) {
|
|
3835
|
+
const n = o.target;
|
|
3836
|
+
n.closest(".outline") || n.closest(".outline-toggle") || a.value && a.value.chain().focus().run();
|
|
3787
3837
|
}
|
|
3788
3838
|
function _() {
|
|
3789
|
-
const
|
|
3790
|
-
return
|
|
3839
|
+
const o = a.value;
|
|
3840
|
+
return o ? o.getMarkdown() : "";
|
|
3791
3841
|
}
|
|
3792
|
-
return
|
|
3793
|
-
class: J(["simple-editor", { fullscreen: i.value }]),
|
|
3842
|
+
return c({ getMarkdown: _ }), (o, n) => (T(), F("div", {
|
|
3843
|
+
class: J(["simple-editor", { fullscreen: i.value, readonly: !!e.readonly }]),
|
|
3794
3844
|
style: ct(b.value)
|
|
3795
3845
|
}, [
|
|
3796
|
-
d(L(
|
|
3797
|
-
editor:
|
|
3846
|
+
d(L(bs), {
|
|
3847
|
+
editor: a.value,
|
|
3798
3848
|
currentColor: M.value,
|
|
3799
3849
|
imageUploader: t.imageUploader,
|
|
3800
3850
|
videoUploader: t.videoUploader,
|
|
3801
|
-
"upload-size-limit":
|
|
3851
|
+
"upload-size-limit": e.uploadSizeLimit,
|
|
3802
3852
|
fullscreen: i.value,
|
|
3853
|
+
disabled: !!e.readonly,
|
|
3803
3854
|
onToggleFullscreen: n[0] || (n[0] = (w) => i.value = !i.value),
|
|
3804
3855
|
onOpenLinkModal: St
|
|
3805
|
-
}, null, 8, ["editor", "currentColor", "imageUploader", "videoUploader", "upload-size-limit", "fullscreen"]),
|
|
3856
|
+
}, null, 8, ["editor", "currentColor", "imageUploader", "videoUploader", "upload-size-limit", "fullscreen", "disabled"]),
|
|
3806
3857
|
r("div", {
|
|
3807
3858
|
class: J(["editor_main", { hasOutline: y.value }])
|
|
3808
3859
|
}, [
|
|
@@ -3813,15 +3864,15 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3813
3864
|
onClick: At
|
|
3814
3865
|
}, [
|
|
3815
3866
|
d(L(ae), {
|
|
3816
|
-
editor:
|
|
3867
|
+
editor: a.value,
|
|
3817
3868
|
class: "content"
|
|
3818
3869
|
}, null, 8, ["editor"])
|
|
3819
3870
|
], 512),
|
|
3820
|
-
d(L(
|
|
3871
|
+
d(L($s), {
|
|
3821
3872
|
open: y.value,
|
|
3822
3873
|
"onUpdate:open": n[1] || (n[1] = (w) => y.value = w),
|
|
3823
3874
|
items: p.value,
|
|
3824
|
-
editor:
|
|
3875
|
+
editor: a.value,
|
|
3825
3876
|
container: u.value,
|
|
3826
3877
|
maxHeight: f.value,
|
|
3827
3878
|
pinned: C.value,
|
|
@@ -3838,22 +3889,22 @@ const Bt = vt("check", !0, function(t) {
|
|
|
3838
3889
|
key: A,
|
|
3839
3890
|
class: J(["outline-marker", { active: ((V = p.value[A]) == null ? void 0 : V.pos) === g.value }]),
|
|
3840
3891
|
style: ct({ top: (w || 0) + "px" }),
|
|
3841
|
-
onClick:
|
|
3892
|
+
onClick: E((U) => {
|
|
3842
3893
|
var I, R;
|
|
3843
|
-
return (R =
|
|
3894
|
+
return (R = a.value) == null ? void 0 : R.chain().focus().setTextSelection((((I = p.value[A]) == null ? void 0 : I.pos) || 1) + 1).run();
|
|
3844
3895
|
}, ["stop"])
|
|
3845
|
-
}, null, 14,
|
|
3896
|
+
}, null, 14, Ss);
|
|
3846
3897
|
}), 128))
|
|
3847
3898
|
], 32))
|
|
3848
3899
|
], 2)
|
|
3849
3900
|
], 6));
|
|
3850
3901
|
}
|
|
3851
|
-
}), Ds = /* @__PURE__ */ nt(
|
|
3902
|
+
}), Ds = /* @__PURE__ */ nt(Ts, [["__scopeId", "data-v-c5cc8864"]]), Ys = {
|
|
3852
3903
|
install(t) {
|
|
3853
3904
|
t.component("Editor", Ds);
|
|
3854
3905
|
}
|
|
3855
3906
|
};
|
|
3856
3907
|
export {
|
|
3857
3908
|
Ds as Editor,
|
|
3858
|
-
|
|
3909
|
+
Ys as default
|
|
3859
3910
|
};
|