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.
@@ -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 E, onMounted as ut, onUnmounted as oe, watch as bt, nextTick as wt, 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 D, Transition as yt, Fragment as mt, renderList as gt, withDirectives as _t, vModelText as Lt, useAttrs as ie, resolveDynamicComponent as le } from "vue";
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: (a) => a.getAttribute("data-uploading") ? !0 : null,
27
- renderHTML: (a) => a.uploading ? { "data-uploading": "true" } : {}
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: (a) => {
32
- const s = a.getAttribute("width") || a.style.width || "", o = String(s).match(/^(\d+)(px)?$/);
33
- return o ? Number(o[1]) : null;
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: (a) => a.width ? { width: a.width } : {}
35
+ renderHTML: (c) => c.width ? { width: c.width } : {}
36
36
  },
37
37
  height: {
38
38
  default: null,
39
- parseHTML: (a) => {
40
- const s = a.getAttribute("height") || a.style.height || "", o = String(s).match(/^(\d+)(px)?$/);
41
- return o ? Number(o[1]) : null;
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: (a) => a.height ? { height: a.height } : {}
43
+ renderHTML: (c) => c.height ? { height: c.height } : {}
44
44
  }
45
45
  };
46
46
  },
47
47
  addNodeView() {
48
- return ({ node: t, getPos: a, editor: s }) => {
49
- const o = document.createElement("img"), l = t.attrs;
50
- o.src = l.src || "", l.alt && (o.alt = l.alt), l.title && (o.title = l.title), typeof l.width == "number" && (o.style.width = `${l.width}px`), typeof l.height == "number" && (o.style.height = `${l.height}px`), o.style.maxWidth = "100%", o.style.height = o.style.height || "auto", o.style.display = "inline-block";
51
- const c = new Qt({
52
- element: o,
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: a,
54
+ getPos: c,
55
55
  onResize: (x, z) => {
56
- o.style.width = `${x}px`, o.style.height = `${z}px`;
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 = a();
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 && o.src !== z.src && (o.src = z.src), typeof z.width == "number" && (o.style.width = `${z.width}px`), typeof z.height == "number" && (o.style.height = `${z.height}px`), z.uploading ? c.wrapper.setAttribute("data-uploading", "true") : c.wrapper.removeAttribute("data-uploading"), !0;
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
- c.container.style.display = "inline-block", c.wrapper.style.display = "inline-block";
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), c.wrapper.appendChild(S), l.uploading && c.wrapper.setAttribute("data-uploading", "true"), c;
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: (a) => a.getAttribute("data-background-color"),
105
- renderHTML: (a) => {
106
- const s = a.backgroundColor;
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 a = t.getAttribute("width") || t.style.width || "", s = String(a).match(/^(\d+)(px)?$/);
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 a = t.getAttribute("height") || t.style.height || "", s = String(a).match(/^(\d+)(px)?$/);
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 a = (t == null ? void 0 : t.attrs) || {}, s = typeof a.src == "string" ? a.src : "";
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 a = /^\[video\]\(([^)]+)\)/.exec(t);
178
- if (a)
179
- return { type: "video", raw: a[0], href: a[1] };
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 a = (t == null ? void 0 : t.href) || (t == null ? void 0 : t.src) || "";
184
- return a ? { type: "video", attrs: { src: a, controls: !0 } } : { type: "paragraph" };
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: a, editor: s }) => {
187
+ return ({ node: t, getPos: c, editor: s }) => {
188
188
  var x;
189
- const o = document.createElement("video"), l = t.attrs;
190
- o.src = l.src || "", o.controls = l.controls !== !1, o.autoplay = !1, o.loop = !!l.loop, o.muted = !!l.muted, l.poster && (o.poster = l.poster), o.setAttribute("playsinline", "true"), l.class && (o.className = String(l.class)), typeof l.width == "number" && (o.style.width = `${l.width}px`), typeof l.height == "number" && (o.style.height = `${l.height}px`), o.style.display = "inline-block";
191
- const c = new Qt({
192
- element: o,
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: a,
194
+ getPos: c,
195
195
  onResize: (z, p) => {
196
- o.style.width = `${z}px`, o.style.height = `${p}px`;
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 = a();
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 && o.src !== p.src && (o.src = p.src), typeof p.width == "number" && (o.style.width = `${p.width}px`), typeof p.height == "number" && (o.style.height = `${p.height}px`), p.uploading) {
214
- c.wrapper.setAttribute("data-uploading", "true"), o.controls = !1;
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
- o.pause();
216
+ e.pause();
217
217
  } catch {
218
218
  }
219
- o.style.pointerEvents = "none";
219
+ e.style.pointerEvents = "none";
220
220
  } else
221
- c.wrapper.removeAttribute("data-uploading"), o.controls = p.controls !== !1, o.style.pointerEvents = "";
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
- c.container.style.display = "inline-block", c.wrapper.style.display = "inline-block";
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), c.wrapper.appendChild(S), (x = t.attrs) != null && x.uploading) {
244
- c.wrapper.setAttribute("data-uploading", "true"), o.controls = !1;
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
- o.pause();
246
+ e.pause();
247
247
  } catch {
248
248
  }
249
- o.style.pointerEvents = "none";
249
+ e.style.pointerEvents = "none";
250
250
  }
251
- return c;
251
+ return a;
252
252
  };
253
253
  },
254
254
  addCommands() {
255
255
  return {
256
- setVideo: (t) => ({ chain: a }) => {
257
- const { src: s, HTMLAttributes: o = {} } = t || {};
258
- return a().insertContent({ type: this.name, attrs: { src: s, ...o } }).run();
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: a, getPos: s }) => {
269
- const o = document.createElement("li");
270
- o.setAttribute("data-type", "taskItem"), o.setAttribute("data-checked", t.attrs.checked ? "true" : "false");
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 c = () => {
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 = a.view.state.doc.nodeAt(i);
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 } = c();
281
+ const { pos: i, n: x } = a();
282
282
  if (i == null || !x) return;
283
- const z = a.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
- a.view.dispatch(y);
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 } = c();
289
+ const { pos: z, n: p } = a();
290
290
  if (z == null || !p) return;
291
- const M = a.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
- a.view.dispatch(u);
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", o.appendChild(l), o.appendChild(S), {
297
- dom: o,
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 : (o.setAttribute("data-checked", i.attrs.checked ? "true" : "false"), l.setAttribute("aria-checked", i.attrs.checked ? "true" : "false"), !0);
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, a, s) {
339
- var o = typeof a.fill == "string" ? [a.fill] : a.fill || [], l = [], c = a.theme || s.theme;
340
- switch (c) {
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 o[0] == "string" ? o[0] : "currentColor"), l.push("none"), l.push(typeof o[0] == "string" ? o[0] : "currentColor"), l.push("none");
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 o[0] == "string" ? o[0] : "currentColor"), l.push(typeof o[0] == "string" ? o[0] : "currentColor"), l.push("#FFF"), l.push("#FFF");
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 o[0] == "string" ? o[0] : "currentColor"), l.push(typeof o[1] == "string" ? o[1] : s.colors.twoTone.twoTone), l.push(typeof o[0] == "string" ? o[0] : "currentColor"), l.push(typeof o[1] == "string" ? o[1] : s.colors.twoTone.twoTone);
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 o[0] == "string" ? o[0] : "currentColor"), l.push(typeof o[1] == "string" ? o[1] : s.colors.multiColor.outFillColor), l.push(typeof o[2] == "string" ? o[2] : s.colors.multiColor.innerStrokeColor), l.push(typeof o[3] == "string" ? o[3] : s.colors.multiColor.innerFillColor);
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: a.size || s.size,
356
- strokeWidth: a.strokeWidth || s.strokeWidth,
357
- strokeLinecap: a.strokeLinecap || s.strokeLinecap,
358
- strokeLinejoin: a.strokeLinejoin || s.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, a, s) {
365
- var o = {
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(c) {
368
+ setup: function(a) {
369
369
  var S = $e(), i = ee(Te, ze);
370
370
  return function() {
371
- var x = c.size, z = c.strokeWidth, p = c.strokeLinecap, M = c.strokeLinejoin, y = c.theme, C = c.fill, u = c.spin, f = Se(S, {
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), a && i.rtl && v.push(i.prefix + "-icon-rtl"), u && v.push(i.prefix + "-icon-spin"), d("span", {
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 o;
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
- }), Ee = vt("font-size-two", !0, function(t) {
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
- }), De = vt("full-screen", !1, function(t) {
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 a = t, s = E(null), o = E(null), l = E(!1), c = E(a.placement), S = E({ top: 0, left: 0 });
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 = o.value;
707
+ const p = s.value, M = e.value;
708
708
  if (!p || !M) return;
709
- let y = a.placement;
710
- const C = M.getBoundingClientRect(), u = C.top, f = window.innerHeight - C.bottom, v = p.offsetHeight + a.offset;
711
- y === "bottom" ? f < v && u >= v && (y = "top") : u < v && f >= v && (y = "bottom"), c.value = y;
712
- const g = C.left + C.width / 2, h = y === "bottom" ? C.bottom + a.offset : C.top - a.offset - p.offsetHeight;
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, wt(i);
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
- }), bt(
726
- () => a.text,
727
- () => wt(i)
725
+ }), kt(
726
+ () => c.text,
727
+ () => bt(i)
728
728
  ), (p, M) => (T(), F("div", {
729
729
  ref_key: "wrapperRef",
730
- ref: o,
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", [c.value, { visible: l.value }]]),
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, a) => {
751
+ }), nt = (t, c) => {
752
752
  const s = t.__vccOpts || t;
753
- for (const [o, l] of a)
754
- s[o] = l;
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 a = t, s = [
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
- ], o = dt(() => {
779
+ ], e = dt(() => {
780
780
  var y, C;
781
- const M = (C = (y = a.editor) == null ? void 0 : y.getAttributes("textStyle")) == null ? void 0 : C.fontSize;
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 = E(!1), c = E(null);
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 = a.editor) == null || y.chain().focus().setMark("textStyle", { fontSize: M }).run(), i();
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 = c.value;
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: c
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: D(S, ["stop"]),
819
+ onClick: E(S, ["stop"]),
820
820
  "aria-expanded": l.value
821
821
  }, [
822
- r("div", Ye, pt(o.value), 1),
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 === o.value,
838
- onClick: D((u) => x(C), ["stop"])
837
+ "aria-selected": C === e.value,
838
+ onClick: E((u) => x(C), ["stop"])
839
839
  }, [
840
- C === o.value ? (T(), xt(L(Bt), {
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 a = t, s = [
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
- ], o = E(!1), l = E(!1), c = E(null), S = E(a.currentColor || "#000000"), i = E(v()), x = E("#F5222D");
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
- o.value || window.dispatchEvent(new CustomEvent(Wt, { detail: { id: Kt } })), o.value = !o.value;
901
+ e.value || window.dispatchEvent(new CustomEvent(Wt, { detail: { id: Kt } })), e.value = !e.value;
902
902
  }
903
903
  function p() {
904
- o.value = !1;
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 = a.editor) == null || m.chain().focus().setColor(b).run(), x.value = b, g(b), p();
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 = a.editor) == null || b.chain().focus().unsetColor().run(), p();
915
+ (b = c.editor) == null || b.chain().focus().unsetColor().run(), p();
916
916
  }
917
917
  function u(b) {
918
- const m = b.target, k = c.value;
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 = a.editor;
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 = a.editor;
956
+ const b = c.editor;
957
957
  b && h.forEach(({ event: m, handler: k }) => {
958
958
  b.off(m, k);
959
959
  }), h = [];
960
- }), bt(
961
- () => a.editor,
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 && (o.value = !1);
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: c
975
+ ref: a
976
976
  }, [
977
977
  r("div", {
978
978
  class: "icon icon-dropdown",
979
- "aria-expanded": o.value
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] = D((k) => y(x.value), ["stop"]))
988
+ onClick: m[0] || (m[0] = E((k) => y(x.value), ["stop"]))
989
989
  }, [
990
- d(L(Ee), {
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: D(z, ["stop"])
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
- o.value ? (T(), F("div", to, [
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: D((H) => y(k), ["stop"])
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: D((H) => y(k), ["stop"])
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: D((H) => y(k), ["stop"])
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: D(C, ["stop"])
1074
+ onClick: E(C, ["stop"])
1075
1075
  }, "暂无"),
1076
1076
  r("button", {
1077
1077
  class: "btn",
1078
- onClick: D(M, ["stop"])
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] = D((k) => y(S.value), ["stop"]))
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 a = t, s = ie(), o = /* @__PURE__ */ Object.assign({
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": Eo,
1131
- "/src/svg/task.svg": Do,
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(o).forEach(([M, y]) => {
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
- })(), c = dt(() => {
1142
- const p = a.name.replace(/\.svg$/i, "");
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(c.value));
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(a.size);
1157
- M && (p.fontSize = M), a.color && (p.color = a.color);
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 a = t, s = [
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
- ], o = E(!1), l = E(!1), c = E(null), S = E(a.currentBg || "#ffffff"), i = E(v()), x = E("#FADB14");
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
- o.value || window.dispatchEvent(new CustomEvent(Rt, { detail: { id: qt } })), o.value = !o.value;
1218
+ e.value || window.dispatchEvent(new CustomEvent(Rt, { detail: { id: qt } })), e.value = !e.value;
1219
1219
  }
1220
1220
  function p() {
1221
- o.value = !1;
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 = a.editor) == null || m.chain().focus().setMark("textStyle", { backgroundColor: b }).run(), x.value = b, g(b), p();
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 = a.editor) == null || b.chain().focus().setMark("textStyle", { backgroundColor: null }).removeEmptyTextStyle().run(), p();
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 = c.value;
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 = a.editor;
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 = a.editor;
1273
+ const b = c.editor;
1274
1274
  b && h.forEach(({ event: m, handler: k }) => {
1275
1275
  b.off(m, k);
1276
1276
  }), h = [];
1277
- }), bt(
1278
- () => a.editor,
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 && (o.value = !1);
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: c
1292
+ ref: a
1293
1293
  }, [
1294
1294
  r("div", {
1295
1295
  class: "icon icon-dropdown",
1296
- "aria-expanded": o.value
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] = D((k) => y(x.value), ["stop"]))
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: D(z, ["stop"])
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
- o.value ? (T(), F("div", Vo, [
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: D(C, ["stop"])
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: D((H) => y(k), ["stop"])
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: D((H) => y(k), ["stop"])
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: D((H) => y(k), ["stop"])
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: D(C, ["stop"])
1401
+ onClick: E(C, ["stop"])
1402
1402
  }, "暂无"),
1403
1403
  r("button", {
1404
1404
  class: "btn",
1405
- onClick: D(M, ["stop"])
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] = D((k) => y(S.value), ["stop"]))
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 a = t, s = E(!1), o = E(""), l = E(!1), c = E(null), S = () => {
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 = o.value.trim();
1445
- C && (($ = (h = ((g = (f = (u = a.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, o.value = "");
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, o.value = "");
1447
+ C.key === "Enter" && i(), C.key === "Escape" && (s.value = !1, e.value = "");
1448
1448
  }, z = () => {
1449
1449
  var C;
1450
- a.imageUploader && ((C = c.value) == null || C.click());
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 || !a.imageUploader) return;
1455
- const v = (h = a.uploadSizeLimit) == null ? void 0 : h.image;
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 = ($ = a.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 a.imageUploader(f);
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 = a.editor, { state: K } = O, { doc: Z } = K;
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, o.value = "";
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 = E(null);
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] = D(() => {
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) => o.value = f),
1536
+ "onUpdate:modelValue": u[0] || (u[0] = (f) => e.value = f),
1537
1537
  onKeydown: x
1538
1538
  }, null, 544), [
1539
- [Lt, o.value]
1539
+ [Lt, e.value]
1540
1540
  ]),
1541
1541
  r("input", {
1542
1542
  ref_key: "imageUploadInput",
1543
- ref: c,
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: D(i, ["stop"])
1552
+ onClick: E(i, ["stop"])
1553
1553
  }, "插入"),
1554
1554
  r("button", {
1555
1555
  class: "btn",
1556
- "aria-disabled": !a.imageUploader || l.value,
1557
- disabled: !a.imageUploader || l.value,
1558
- onClick: D(z, ["stop"])
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 a = t, s = E(!1), o = E(""), l = E(!1), c = E(null), S = () => {
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 = o.value.trim();
1578
+ const u = e.value.trim();
1579
1579
  if (!u) return;
1580
- const f = a.editor, v = f == null ? void 0 : f.commands;
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, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
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, o.value = "";
1602
+ s.value = !1, e.value = "";
1603
1603
  }, x = (u) => {
1604
- u.key === "Enter" && i(), u.key === "Escape" && (s.value = !1, o.value = "");
1604
+ u.key === "Enter" && i(), u.key === "Escape" && (s.value = !1, e.value = "");
1605
1605
  }, z = () => {
1606
1606
  var u;
1607
- a.videoUploader && ((u = c.value) == null || u.click());
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 || !a.videoUploader) return;
1612
- const g = (j = a.uploadSizeLimit) == null ? void 0 : j.video;
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 = a.editor, m = b == null ? void 0 : b.commands;
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 a.videoUploader(v);
1647
- h && M(h, k), s.value = !1, o.value = "";
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 = a.editor;
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 = E(null);
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] = D(() => {
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) => o.value = v),
1714
+ "onUpdate:modelValue": f[0] || (f[0] = (v) => e.value = v),
1715
1715
  onKeydown: x
1716
1716
  }, null, 544), [
1717
- [Lt, o.value]
1717
+ [Lt, e.value]
1718
1718
  ]),
1719
1719
  r("input", {
1720
1720
  ref_key: "videoUploadInput",
1721
- ref: c,
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: D(i, ["stop"])
1730
+ onClick: E(i, ["stop"])
1731
1731
  }, "插入"),
1732
1732
  r("button", {
1733
1733
  class: "btn",
1734
- "aria-disabled": !a.videoUploader || l.value,
1735
- disabled: !a.videoUploader || l.value,
1736
- onClick: D(z, ["stop"])
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: a }) {
1763
- const s = t, o = E(!1), l = E("find"), c = E(""), S = E(""), i = E([]), x = E(0), z = dt(() => {
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 !c.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 = () => o.value = !o.value, C = () => o.value = !1;
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 = c.value;
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
- wt(() => {
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
- c.value = B.target.value, f();
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 = E(null);
1821
+ const k = D(null);
1822
1822
  let H = null;
1823
1823
  ut(() => {
1824
1824
  H = (B) => {
1825
- if (!o.value) return;
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), o.value = !0, wt(f);
1833
+ B && (l.value = B), e.value = !0, bt(f);
1834
1834
  }
1835
- return a({ openPanel: G }), (B, O) => (T(), F("div", {
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
- o.value ? (T(), F("div", {
1859
+ e.value ? (T(), F("div", {
1860
1860
  key: 0,
1861
1861
  class: "find-input-panel",
1862
- onClick: O[3] || (O[3] = D(() => {
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] = D((K) => l.value = "find", ["stop"]))
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] = D((K) => l.value = "replace", ["stop"]))
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: c.value,
1880
+ value: a.value,
1881
1881
  placeholder: "输入关键字",
1882
1882
  onInput: b,
1883
1883
  onKeydown: m
1884
1884
  }, null, 40, vn),
1885
- c.value ? (T(), F("span", fn, pt(z.value), 1)) : Y("", !0)
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: D(h, ["stop"])
1890
+ onClick: E(h, ["stop"])
1891
1891
  }, "上一个"),
1892
1892
  r("button", {
1893
1893
  class: "fr-btn primary",
1894
- onClick: D(g, ["stop"])
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: c.value,
1902
+ value: a.value,
1903
1903
  placeholder: "输入关键字",
1904
1904
  onInput: b
1905
1905
  }, null, 40, gn),
1906
- c.value ? (T(), F("span", kn, pt(z.value), 1)) : Y("", !0)
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: D(j, ["stop"])
1920
+ onClick: E(j, ["stop"])
1921
1921
  }, "全部替换"),
1922
1922
  r("button", {
1923
1923
  class: "fr-btn",
1924
- onClick: D($, ["stop"])
1924
+ onClick: E($, ["stop"])
1925
1925
  }, "替换"),
1926
1926
  r("button", {
1927
1927
  class: "fr-btn",
1928
- onClick: D(h, ["stop"])
1928
+ onClick: E(h, ["stop"])
1929
1929
  }, "上一个"),
1930
1930
  r("button", {
1931
1931
  class: "fr-btn primary",
1932
- onClick: D(g, ["stop"])
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 a = t, s = E(!1), o = E(""), l = E("");
1949
- E(!1);
1950
- const c = E(null);
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 = a.editor;
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() : (o.value = "链接", u.chain().focus().insertContent("链接").setTextSelection({ from: v, to: v + 2 }).run());
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 = c.value) == null ? void 0 : f.querySelector('input[name="link-text"]');
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 = a.editor;
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
- o.value = $ || "";
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 = a.editor;
1980
+ const u = c.editor;
1981
1981
  if (!u) return;
1982
- const f = o.value.trim(), v = l.value.trim();
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, o.value = "", l.value = "";
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 = c.value, v = u.target;
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 = E({});
2019
- return bt(s, async (u) => {
2018
+ const C = D({});
2019
+ return kt(s, async (u) => {
2020
2020
  var v;
2021
2021
  if (!u) return;
2022
- const f = a.editor;
2022
+ const f = c.editor;
2023
2023
  if (f) {
2024
- await wt();
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 = c.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(
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: c
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] = D(() => {
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) => o.value = v),
2080
+ "onUpdate:modelValue": f[0] || (f[0] = (v) => e.value = v),
2081
2081
  onKeydown: M
2082
2082
  }, null, 544), [
2083
- [Lt, o.value]
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: D(z, ["stop"])
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, En = 10, Dn = /* @__PURE__ */ ot({
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 a = t, s = E(!1), o = E(0), l = E(0), c = dt(() => {
2118
- const z = Math.max(o.value, 1), p = Math.max(l.value, 1);
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 || (o.value = 0, l.value = 0);
2121
+ s.value = !s.value, s.value || (e.value = 0, l.value = 0);
2122
2122
  }, i = (z, p) => {
2123
- o.value = z, l.value = p;
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(o.value, 1), p = Math.max(l.value, 1);
2127
- (h = (v = (u = (y = (M = a.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, o.value = 0, l.value = 0;
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] = D(() => {
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(En, (y) => r("span", {
2157
+ (T(), F(mt, null, gt(Dn, (y) => r("span", {
2158
2158
  key: "c-" + M + "-" + y,
2159
- class: J(["cell", { active: M <= o.value && y <= l.value }]),
2159
+ class: J(["cell", { active: M <= e.value && y <= l.value }]),
2160
2160
  onMouseenter: (C) => i(M, y),
2161
- onClick: D(x, ["stop"])
2161
+ onClick: E(x, ["stop"])
2162
2162
  }, null, 42, $n)), 64))
2163
2163
  ])), 64))
2164
2164
  ]),
2165
- r("div", Sn, pt(c.value), 1)
2165
+ r("div", Sn, pt(a.value), 1)
2166
2166
  ])) : Y("", !0)
2167
2167
  ]));
2168
2168
  }
2169
- }), Fn = /* @__PURE__ */ nt(Dn, [["__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({
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 a = t, s = E(!1), o = () => s.value = !s.value, l = (S, ...i) => {
2175
+ const c = t, s = D(!1), e = () => s.value = !s.value, l = (S, ...i) => {
2176
2176
  var z, p, M;
2177
- const x = a.editor;
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
- }, c = (S, ...i) => {
2179
+ }, a = (S, ...i) => {
2180
2180
  var z, p, M, y, C, u, f;
2181
- const x = a.editor;
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: o,
2189
- "aria-disabled": !((z = (x = a.editor) == null ? void 0 : x.isActive) != null && z.call(x, "table"))
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] = D(() => {
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] = D((p) => c("addColumnBefore"), ["stop"])),
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] = D((p) => c("addColumnAfter"), ["stop"])),
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] = D((p) => c("deleteColumn"), ["stop"])),
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] = D((p) => c("addRowBefore"), ["stop"])),
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] = D((p) => c("addRowAfter"), ["stop"])),
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] = D((p) => c("deleteRow"), ["stop"])),
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] = D((p) => c("deleteTable"), ["stop"])),
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] = D((p) => c("mergeCells"), ["stop"])),
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] = D((p) => c("splitCell"), ["stop"])),
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] = D((p) => c("mergeOrSplit"), ["stop"])),
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] = D((p) => c("toggleHeaderRow"), ["stop"])),
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] = D((p) => c("toggleHeaderColumn"), ["stop"])),
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] = D((p) => c("toggleHeaderCell"), ["stop"])),
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] = D((p) => c("fixTables"), ["stop"])),
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] = D((p) => c("goToNextCell"), ["stop"])),
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] = D((p) => c("goToPreviousCell"), ["stop"])),
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] = D((p) => c("setCellAttribute", "backgroundColor", "#FAF594"), ["stop"])),
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 a = t, o = typeof navigator < "u" && navigator.platform.includes("Mac") ? "⇧ ⌘ 9" : "Ctrl Shift 9";
2306
+ const c = t, e = typeof navigator < "u" && navigator.platform.includes("Mac") ? "⇧ ⌘ 9" : "Ctrl Shift 9";
2307
2307
  function l() {
2308
- const c = a.editor;
2309
- if (c) {
2310
- c.chain().focus().toggleTaskList().run();
2308
+ const a = c.editor;
2309
+ if (a) {
2310
+ a.chain().focus().toggleTaskList().run();
2311
2311
  try {
2312
- const { state: S } = c, i = S.selection;
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 && c.commands.setTextSelection(x + 1);
2321
+ ), x != null && a.commands.setTextSelection(x + 1);
2322
2322
  } catch {
2323
2323
  }
2324
2324
  }
2325
2325
  }
2326
- return (c, S) => (T(), F("div", {
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(o),
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 a = t;
2351
+ const c = t;
2352
2352
  function s() {
2353
- const o = a.editor;
2354
- o && o.chain().focus().toggleBlockquote().run();
2353
+ const e = c.editor;
2354
+ e && e.chain().focus().toggleBlockquote().run();
2355
2355
  }
2356
- return (o, l) => (T(), F("div", {
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 a = t, s = typeof navigator < "u" && navigator.platform.includes("Mac"), o = {
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: o[0] },
2394
- { label: "标题1", level: 1, shortcut: o[1] },
2395
- { label: "标题2", level: 2, shortcut: o[2] },
2396
- { label: "标题3", level: 3, shortcut: o[3] },
2397
- { label: "标题4", level: 4, shortcut: o[4] },
2398
- { label: "标题5", level: 5, shortcut: o[5] },
2399
- { label: "标题6", level: 6, shortcut: o[6] }
2400
- ], c = dt(() => {
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 = a.editor;
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 = c.value;
2408
+ const u = a.value;
2409
2409
  return u ? `标题${u}` : "正文";
2410
- }), i = E(!1), x = E(null);
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 = a.editor) == null ? void 0 : v.chain) == null ? void 0 : (h = g.call(v)).focus) == null ? void 0 : $.call(h);
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: D(z, ["stop"]),
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 === c.value,
2465
- onClick: D((g) => M(v), ["stop"])
2464
+ "aria-selected": v.level === a.value,
2465
+ onClick: E((g) => M(v), ["stop"])
2466
2466
  }, [
2467
- v.level === c.value ? (T(), xt(L(Bt), {
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 a = t, s = dt(() => {
2501
+ const c = t, s = dt(() => {
2502
2502
  var h, $, j, b;
2503
- const g = a.editor;
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
- }), o = dt(() => ({
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 = a.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);
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 c = E(!1), S = E(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";
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
- c.value || window.dispatchEvent(new CustomEvent(Pt, { detail: { id: Zt } })), c.value = !c.value;
2517
+ a.value || window.dispatchEvent(new CustomEvent(Pt, { detail: { id: Zt } })), a.value = !a.value;
2518
2518
  }
2519
2519
  function C() {
2520
- c.value = !1;
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 && (c.value = !1);
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: D(y, ["stop"]),
2550
- "aria-expanded": c.value
2549
+ onClick: E(y, ["stop"]),
2550
+ "aria-expanded": a.value
2551
2551
  }, [
2552
2552
  d(et, {
2553
- name: o.value,
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
- c.value ? (T(), F("div", fs, [
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] = D(($) => u("left"), ["stop"]))
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] = D(($) => u("center"), ["stop"]))
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] = D(($) => u("right"), ["stop"]))
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] = D(($) => u("justify"), ["stop"]))
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 = { class: "header_box" }, ks = ["aria-disabled"], ws = ["aria-disabled"], bs = /* @__PURE__ */ ot({
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: a }) {
2663
- const s = t, o = a, l = (_, e) => {
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, _, e);
2666
- }, c = (_, e) => {
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 _, e, n, w;
2674
+ var _, o, n, w;
2674
2675
  try {
2675
- return !!((w = (e = (_ = s.editor) == null ? void 0 : _.can) == null ? void 0 : (n = e.call(_)).undo) != null && w.call(n));
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 _, e, n, w;
2681
+ var _, o, n, w;
2681
2682
  try {
2682
- return !!((w = (e = (_ = s.editor) == null ? void 0 : _.can) == null ? void 0 : (n = e.call(_)).redo) != null && w.call(n));
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 _, e, n;
2688
- S() && ((n = (e = (_ = s.editor) == null ? void 0 : _.commands) == null ? void 0 : e.undo) == null || n.call(e));
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 _, e, n;
2691
- return (n = (e = (_ = s.editor) == null ? void 0 : _.commands) == null ? void 0 : e.redo) == null ? void 0 : n.call(e);
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 = E(null), k = () => {
2693
- var e, n, w, A, V, U, I;
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 = (e = _.chain()) == null ? void 0 : e.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));
2696
- }, H = E(!1), G = E(!1), B = E({}), O = E(null), K = () => {
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 e = ((n = _.getAttributes) == null ? void 0 : n.call(_, "textStyle")) || {};
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
- ...e != null && e.color ? { color: e.color } : {},
2709
- ...e != null && e.backgroundColor ? { backgroundColor: e.backgroundColor } : {},
2710
- ...e != null && e.fontSize ? { fontSize: e.fontSize } : {}
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, Et, tt, it;
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 e = B.value;
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 = e.textStyle || {}, A = (R = _.state) == null ? void 0 : R.selection;
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), e.bold && (n = ((lt = n == null ? void 0 : n.toggleBold) == null ? void 0 : lt.call(n)) || n), e.italic && (n = ((ft = n == null ? void 0 : n.toggleItalic) == null ? void 0 : ft.call(n)) || n), e.strike && (n = ((zt = n == null ? void 0 : n.toggleStrike) == null ? void 0 : zt.call(n)) || n), e.underline && (n = ((Et = n == null ? void 0 : n.toggleUnderline) == null ? void 0 : Et.call(n)) || n), e.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));
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 e = s.editor;
2724
- if (!e) return;
2724
+ const o = s.editor;
2725
+ if (!o) return;
2725
2726
  K(), H.value = !0, G.value = !!_;
2726
- const n = (w = e.state) == null ? void 0 : w.selection;
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
- const e = _.metaKey || _.ctrlKey, n = _.key === "c" || _.key === "C";
2737
- if (e && _.shiftKey && n) {
2738
- _.preventDefault(), c("toggleCodeBlock");
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 (e && w) {
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 e;
2764
+ var o;
2763
2765
  const _ = s.editor;
2764
- !_ || Ct || (Ct = !0, (e = _.on) == null || e.call(_, "selectionUpdate", rt), window.addEventListener("keydown", st), window.addEventListener("keydown", at), window.addEventListener("mouseup", At, !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 e;
2768
+ var o;
2767
2769
  const _ = s.editor;
2768
- _ && ((e = _.off) == null || e.call(_, "selectionUpdate", rt), window.removeEventListener("keydown", st), window.removeEventListener("keydown", at), window.removeEventListener("mouseup", At, !0), Ct = !1);
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
- }), bt(
2776
+ }), kt(
2775
2777
  () => s.editor,
2776
- (_, e) => {
2778
+ (_, o) => {
2777
2779
  var n;
2778
- e && ((n = e.off) == null || n.call(e, "selectionUpdate", rt)), Ct = !1, St();
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
- bt(H, Mt), ut(Mt), ht(() => {
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 e = (w = _.state) == null ? void 0 : w.selection;
2799
- if (!e || e.from === e.to) return;
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 === e.from && n.to === e.to || (Z(), O.value = { from: e.from, to: e.to }, G.value || Q());
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 (_, e) => (T(), F("div", gs, [
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, ks),
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, ws),
2845
+ ], 8, ks),
2842
2846
  r("div", {
2843
2847
  class: J(["icon", { active: H.value }]),
2844
- onClick: e[0] || (e[0] = (n) => X(!1)),
2845
- onDblclick: e[1] || (e[1] = (n) => X(!0))
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: e[2] || (e[2] = (n) => c("toggleBold"))
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: e[3] || (e[3] = (n) => c("toggleItalic"))
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: e[4] || (e[4] = (n) => c("toggleStrike"))
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: e[5] || (e[5] = (n) => c("toggleUnderline"))
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: e[6] || (e[6] = (n) => c("toggleBulletList"))
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: e[7] || (e[7] = (n) => c("toggleOrderedList"))
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: e[8] || (e[8] = (n) => c("toggleCode"))
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: e[9] || (e[9] = (n) => c("toggleCodeBlock"))
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: e[10] || (e[10] = (n) => o("toggleFullscreen"))
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(De)), {
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
- }), ys = /* @__PURE__ */ nt(bs, [["__scopeId", "data-v-547a7ef3"]]), Cs = { class: "outline__header" }, xs = { style: { cursor: "pointer", "margin-top": "5px" } }, _s = { class: "outline__listWrap" }, Ls = { class: "outline__list" }, Ms = ["onClick"], zs = ["onClick"], $s = /* @__PURE__ */ ot({
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: a }) {
3102
- const s = t, o = a;
3105
+ setup(t, { emit: c }) {
3106
+ const s = t, e = c;
3103
3107
  function l(v) {
3104
- C(v), o("select", v);
3108
+ C(v), e("select", v);
3105
3109
  }
3106
- function c() {
3107
- o("update:open", !1), o("update:pinned", !1);
3110
+ function a() {
3111
+ e("update:open", !1), e("update:pinned", !1);
3108
3112
  }
3109
3113
  function S() {
3110
- s.pinned || c();
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 = E(/* @__PURE__ */ new Set());
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] = D(() => {
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", Cs, [
3183
+ r("div", ys, [
3180
3184
  g[2] || (g[2] = r("div", { style: { "margin-right": "6px" } }, "大纲", -1)),
3181
- r("div", xs, [
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: c,
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", _s, [
3199
- r("ul", Ls, [
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: D((j) => p(h.node), ["stop"]),
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, Ms)) : Y("", !0),
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, zs)
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: c
3239
+ onClick: a
3236
3240
  })) : Y("", !0)
3237
3241
  ]),
3238
3242
  _: 1
3239
3243
  })
3240
3244
  ]));
3241
3245
  }
3242
- }), Ss = /* @__PURE__ */ nt($s, [["__scopeId", "data-v-b5f802fc"]]), Ts = ["onClick"], Es = /* @__PURE__ */ ot({
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: a, emit: s }) {
3256
- const o = t, l = s, c = E(null);
3260
+ setup(t, { expose: c, emit: s }) {
3261
+ const e = t, l = s, a = D(null);
3257
3262
  let S = !1;
3258
- const i = E(!1), x = E(!1), z = E(""), p = E([]), M = E("#000000"), y = E(!0), C = E(!0), u = E(null), f = E(void 0), v = E([]), g = E(null), h = () => {
3259
- const e = u.value;
3260
- f.value = e ? e.clientHeight : void 0;
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", $), wt(() => {
3265
- const e = u.value;
3266
- e && e.addEventListener("scroll", Mt, { passive: !0 });
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 e = u.value;
3271
- e && e.removeEventListener("scroll", Mt);
3272
- }), bt([() => o.height, y, i], async () => {
3273
- await wt(), h(), Mt();
3274
- }), bt(i, (e) => {
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 = e ? "hidden" : "";
3281
+ document.body.style.overflow = o ? "hidden" : "";
3277
3282
  } catch {
3278
3283
  }
3279
3284
  try {
3280
- e ? window.addEventListener("keydown", j) : window.removeEventListener("keydown", j);
3285
+ o ? window.addEventListener("keydown", j) : window.removeEventListener("keydown", j);
3281
3286
  } catch {
3282
3287
  }
3283
3288
  });
3284
- function j(e) {
3285
- e.key === "Escape" && i.value && (e.preventDefault(), i.value = !1);
3289
+ function j(o) {
3290
+ o.key === "Escape" && i.value && (o.preventDefault(), i.value = !1);
3286
3291
  }
3287
3292
  const b = dt(() => {
3288
- const e = (w) => w == null ? void 0 : typeof w == "number" ? `${w}px` : w, n = i.value ? "100vh" : e(o.height);
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": o.caretColor || "#000"
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: (e) => e.style.fontSize || null,
3300
- renderHTML: (e) => e.fontSize ? { style: `font-size: ${e.fontSize}` } : {}
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: (e) => ({ chain: n }) => n().setMark("textStyle", { fontSize: e }).run(),
3307
- unsetFontSize: () => ({ chain: e }) => e().setMark("textStyle", { fontSize: null }).removeEmptyTextStyle().run()
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: (e) => e.style.backgroundColor || null,
3316
- renderHTML: (e) => e.backgroundColor ? { style: `background-color: ${e.backgroundColor}` } : {}
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: (e) => ({ chain: n }) => n().setMark("textStyle", { backgroundColor: e }).run(),
3323
- unsetBackgroundColor: () => ({ chain: e }) => e().setMark("textStyle", { backgroundColor: null }).removeEmptyTextStyle().run()
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
- c.value = new re({
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: o.placeholder ?? "输入 / 以插入块" })
3370
+ ve.configure({ placeholder: e.placeholder ?? "输入 / 以插入块" })
3366
3371
  ],
3367
3372
  // 直接在构造时设置初始内容,避免立即调用 setContent 导致部分插件(如 resizable)在尚未完成挂载时触发 selection 更新报错
3368
- content: o.markdown != null ? String(o.markdown || "") : String(o.modelValue || ""),
3369
- contentType: o.markdown != null ? "markdown" : /<\s*(video|iframe)\b|data-youtube-video|<\w+/i.test(String(o.modelValue || "")) ? "html" : "markdown",
3370
- editable: !0,
3371
- autofocus: !0,
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(e, n) {
3375
- var ft, zt, Et;
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(), !o.imageUploader) {
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(), !o.imageUploader) {
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 (o.imageUploader && /^data:image\//i.test(Ft)) {
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 = o.uploadSizeLimit) == null ? void 0 : ft.image;
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), kt = q.match(/<source[^>]+src=["']([^"']+)["']/i), Dt = q.replace(/\s+/g, "").match(/^<video[^>]*>.*<\/video>$/i), Gt = $t && $t[1] || kt && kt[1];
3441
- if (Gt && Dt)
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"), kt = (zt = o.uploadSizeLimit) == null ? void 0 : zt.image;
3450
- if (kt) {
3451
- const Dt = Math.max(1, kt) * 1024 * 1024;
3452
- if ($t.size > Dt) {
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 > ${kt}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"), kt = (Et = o.uploadSizeLimit) == null ? void 0 : Et.image;
3468
- if (kt) {
3469
- const Dt = Math.max(1, kt) * 1024 * 1024;
3470
- if ($t.size > Dt) {
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 > ${kt}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(e, n) {
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(), !o.imageUploader) {
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(e, n, w) {
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: (e) => {
3565
+ onSelectionUpdate: (o) => {
3525
3566
  var A;
3526
- const w = ((A = e.editor.getAttributes("textStyle")) == null ? void 0 : A.color) || "#000000";
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 e = c.value;
3531
- S = !0, l("update:modelValue", e.getHTML()), l("update:markdown", e.getMarkdown()), Tt();
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
- }), wt(() => {
3537
- var e;
3577
+ }), bt(() => {
3578
+ var o;
3538
3579
  Tt();
3539
3580
  try {
3540
- (e = c.value) == null || e.chain().focus().run();
3581
+ e.readonly || (o = a.value) == null || o.chain().focus().run();
3541
3582
  } catch {
3542
3583
  }
3543
3584
  });
3544
3585
  }), ht(() => {
3545
- var e;
3546
- (e = c.value) == null || e.destroy();
3547
- }), bt(
3548
- () => o.modelValue,
3549
- (e) => {
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
- e != null && c.value && wt(() => {
3595
+ o != null && a.value && bt(() => {
3555
3596
  try {
3556
- const n = /<\s*(video|iframe)\b|data-youtube-video/i.test(e), w = e.match(/\[video\]\(([^)]+)\)/i);
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 = e.replace(
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
- c.value.commands.setContent(V, { contentType: "html" });
3603
+ a.value.commands.setContent(V, { contentType: "html" });
3563
3604
  } else
3564
- c.value.commands.setContent(e, {
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
- ), bt(
3573
- () => o.markdown,
3574
- (e) => {
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
- e != null && c.value && wt(() => {
3629
+ o != null && a.value && bt(() => {
3580
3630
  try {
3581
- c.value.commands.setContent(e, { contentType: "markdown" });
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(e) {
3638
+ function H(o) {
3589
3639
  var n;
3590
- (n = c.value) == null || n.chain().focus().setImage({ src: e }).run();
3640
+ (n = a.value) == null || n.chain().focus().setImage({ src: o }).run();
3591
3641
  }
3592
- function G(e) {
3593
- return String(e).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
3642
+ function G(o) {
3643
+ return String(o).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
3594
3644
  }
3595
- function B(e) {
3596
- const n = c.value;
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: e, HTMLAttributes: { controls: !0, autoplay: !1, width: 640 } }).run();
3649
+ n.chain().focus().setVideo({ src: o, HTMLAttributes: { controls: !0, autoplay: !1, width: 640 } }).run();
3600
3650
  return;
3601
3651
  }
3602
- const A = G(e);
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(e) {
3661
+ async function O(o) {
3612
3662
  var w, A;
3613
- const n = (w = o.uploadSizeLimit) == null ? void 0 : w.image;
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 (e.size > V) {
3666
+ if (o.size > V) {
3617
3667
  try {
3618
- window.alert(`图片文件大小超限(${(e.size / 1024 / 1024).toFixed(2)}MB > ${n}MB)`);
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 (o.imageUploader) {
3625
- const V = URL.createObjectURL(e);
3626
- (A = c.value) == null || A.chain().focus().setImage({ src: V, uploading: !0 }).run();
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 o.imageUploader(e);
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(e, (I) => K(V, I));
3683
+ Z(o, (I) => K(V, I));
3634
3684
  } catch (U) {
3635
- console.warn("图片上传失败,回退为 base64", U), Z(e, (I) => K(V, I));
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(e, n) {
3699
+ function K(o, n) {
3650
3700
  var I, R;
3651
- const w = c.value;
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) === e ? (U = q, !1) : !0;
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(e, n) {
3720
+ function Z(o, n) {
3671
3721
  const w = new FileReader();
3672
- w.onload = () => n(String(w.result || "")), w.readAsDataURL(e);
3722
+ w.onload = () => n(String(w.result || "")), w.readAsDataURL(o);
3673
3723
  }
3674
- function X(e, n = "image.png") {
3724
+ function X(o, n = "image.png") {
3675
3725
  var R;
3676
- const w = e.split(","), A = ((R = w[0].match(/:(.*?);/)) == null ? void 0 : R[1]) || "image/png", V = atob(w[1]);
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(e) {
3684
- return /^data:image\//i.test(e) || /^https?:\/\//i.test(e) && /\.(png|jpe?g|gif|webp|svg)(\?.*)?$/i.test(e);
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(e) {
3687
- return /^https?:\/\//i.test(e) && /\.(mp4|webm|m3u8|mov|ogv?)(\?.*)?$/i.test(e);
3736
+ function rt(o) {
3737
+ return /^https?:\/\//i.test(o) && /\.(mp4|webm|m3u8|mov|ogv?)(\?.*)?$/i.test(o);
3688
3738
  }
3689
- function st(e) {
3690
- const n = e.match(/^!\[[^\]]*\]\(([^)]+)\)\s*$/);
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(e) {
3745
+ async function at(o) {
3696
3746
  var A;
3697
- const n = (A = o.uploadSizeLimit) == null ? void 0 : A.video;
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 (e.size > V) {
3750
+ if (o.size > V) {
3701
3751
  try {
3702
- window.alert(`视频文件大小超限(${(e.size / 1024 / 1024).toFixed(2)}MB > ${n}MB)`);
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 (o.videoUploader) {
3709
- const V = URL.createObjectURL(e), U = c.value, I = U == null ? void 0 : U.commands;
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 o.videoUploader(e);
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(e);
3781
+ const w = URL.createObjectURL(o);
3732
3782
  B(w);
3733
3783
  }
3734
- function Ct(e, n) {
3735
- const w = c.value;
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) === e ? (U = R, !1) : !0;
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 e, n;
3751
- z.value = ((n = (e = c.value) == null ? void 0 : e.getAttributes("link")) == null ? void 0 : n.href) || "", x.value = !0;
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 e = c.value;
3755
- if (!e) return;
3804
+ const o = a.value;
3805
+ if (!o) return;
3756
3806
  const n = [];
3757
- e.state.doc.descendants((w, A) => {
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 e = c.value, n = u.value, w = p.value;
3766
- if (!e || !n || !w.length) {
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 = e.view.coordsAtPos(Math.min(q.pos + 1, e.state.doc.content.size)).top - A.top + n.scrollTop, zt = V ? Math.max(0, Math.min(1, ft / V)) : 0;
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 (e.view.coordsAtPos(Math.min(lt.pos + 1, e.state.doc.content.size)).top - A.top + n.scrollTop <= R) N = lt.pos;
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(e) {
3785
- const n = e.target;
3786
- n.closest(".outline") || n.closest(".outline-toggle") || c.value && c.value.chain().focus().run();
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 e = c.value;
3790
- return e ? e.getMarkdown() : "";
3839
+ const o = a.value;
3840
+ return o ? o.getMarkdown() : "";
3791
3841
  }
3792
- return a({ getMarkdown: _ }), (e, n) => (T(), F("div", {
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(ys), {
3797
- editor: c.value,
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": o.uploadSizeLimit,
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: c.value,
3867
+ editor: a.value,
3817
3868
  class: "content"
3818
3869
  }, null, 8, ["editor"])
3819
3870
  ], 512),
3820
- d(L(Ss), {
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: c.value,
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: D((U) => {
3892
+ onClick: E((U) => {
3842
3893
  var I, R;
3843
- return (R = c.value) == null ? void 0 : R.chain().focus().setTextSelection((((I = p.value[A]) == null ? void 0 : I.pos) || 1) + 1).run();
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, Ts);
3896
+ }, null, 14, Ss);
3846
3897
  }), 128))
3847
3898
  ], 32))
3848
3899
  ], 2)
3849
3900
  ], 6));
3850
3901
  }
3851
- }), Ds = /* @__PURE__ */ nt(Es, [["__scopeId", "data-v-81f1ca5f"]]), Ks = {
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
- Ks as default
3909
+ Ys as default
3859
3910
  };