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