ai-word-editor 0.0.76 → 0.0.77
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/ai-word-editor.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.ProseMirror span.comment-mark,.umo-editor span.comment-mark{border-bottom:2px solid #fbbf24;background-color:transparent;border-radius:0;cursor:text;transition:border-bottom-color .15s}.ProseMirror span.comment-mark:hover,.umo-editor span.comment-mark:hover{border-bottom-color:#facc15}.ProseMirror span.comment-mark--active,.umo-editor span.comment-mark--active{background-color:transparent;border-bottom-color:#f59e0b}.comment-panel[data-v-7d1d2127]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:100%;border-left:1px solid #e5e7eb;background:#fafafa;display:flex;flex-direction:column;overflow:hidden}.comment-panel__header[data-v-7d1d2127]{padding:14px 16px 10px;border-bottom:1px solid #e5e7eb;background:#fff}.comment-panel__title[data-v-7d1d2127]{margin:0;font-size:14px;font-weight:600;color:#374151;display:flex;align-items:center;gap:6px}.comment-panel__badge[data-v-7d1d2127]{background:#f59e0b;color:#fff;border-radius:10px;font-size:11px;padding:1px 6px;font-weight:500}.comment-panel__empty[data-v-7d1d2127]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af;gap:4px;padding:24px;text-align:center}.comment-panel__empty p[data-v-7d1d2127]{margin:0;font-size:13px}.comment-panel__empty-icon[data-v-7d1d2127]{font-size:32px;margin-bottom:8px;opacity:.5}.comment-panel__empty-hint[data-v-7d1d2127]{font-size:12px!important;color:#d1d5db}.comment-panel__list[data-v-7d1d2127]{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:8px}.comment-item[data-v-7d1d2127]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.comment-item[data-v-7d1d2127]:hover{border-color:#fbbf24;box-shadow:0 1px 4px #fbbf2426}.comment-item--active[data-v-7d1d2127]{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.comment-item--resolved[data-v-7d1d2127]{opacity:.55}.comment-item--resolved .comment-item__note[data-v-7d1d2127]{text-decoration:line-through;color:#9ca3af}.comment-item__quote[data-v-7d1d2127]{font-size:12px;color:#6b7280;background:#fef9c3;border-left:3px solid #fbbf24;padding:4px 8px;border-radius:0 4px 4px 0;margin-bottom:6px;line-height:1.4}.comment-item__quote-icon[data-v-7d1d2127]{color:#fbbf24;margin-right:2px}.comment-item--c0 .comment-item__quote[data-v-7d1d2127]{background:#fef3c7cc;border-left-color:#f97316}.comment-item--c0 .comment-item__quote-icon[data-v-7d1d2127]{color:#f97316}.comment-item--c1 .comment-item__quote[data-v-7d1d2127]{background:#d1fae5d9;border-left-color:#22c55e}.comment-item--c1 .comment-item__quote-icon[data-v-7d1d2127]{color:#22c55e}.comment-item--c2 .comment-item__quote[data-v-7d1d2127]{background:#dbeafed9;border-left-color:#3b82f6}.comment-item--c2 .comment-item__quote-icon[data-v-7d1d2127]{color:#3b82f6}.comment-item--c3 .comment-item__quote[data-v-7d1d2127]{background:#ede9fee6;border-left-color:#a855f7}.comment-item--c3 .comment-item__quote-icon[data-v-7d1d2127]{color:#a855f7}.comment-item--c4 .comment-item__quote[data-v-7d1d2127]{background:#fce7f3e6;border-left-color:#ec4899}.comment-item--c4 .comment-item__quote-icon[data-v-7d1d2127]{color:#ec4899}.comment-item--c5 .comment-item__quote[data-v-7d1d2127]{background:#ccfbf1d9;border-left-color:#14b8a6}.comment-item--c5 .comment-item__quote-icon[data-v-7d1d2127]{color:#14b8a6}.comment-item--c6 .comment-item__quote[data-v-7d1d2127]{background:#fef9c3e6;border-left-color:#eab308}.comment-item--c6 .comment-item__quote-icon[data-v-7d1d2127]{color:#eab308}.comment-item--c7 .comment-item__quote[data-v-7d1d2127]{background:#ffe4e6e6;border-left-color:#f43f5e}.comment-item--c7 .comment-item__quote-icon[data-v-7d1d2127]{color:#f43f5e}.comment-item--c8 .comment-item__quote[data-v-7d1d2127]{background:#e0e7ffe6;border-left-color:#6366f1}.comment-item--c8 .comment-item__quote-icon[data-v-7d1d2127]{color:#6366f1}.comment-item--c9 .comment-item__quote[data-v-7d1d2127]{background:#ecfdc8e6;border-left-color:#84cc16}.comment-item--c9 .comment-item__quote-icon[data-v-7d1d2127]{color:#84cc16}.comment-item--c10 .comment-item__quote[data-v-7d1d2127]{background:#cffafee6;border-left-color:#06b6d4}.comment-item--c10 .comment-item__quote-icon[data-v-7d1d2127]{color:#06b6d4}.comment-item--c11 .comment-item__quote[data-v-7d1d2127]{background:#d1fae5d9;border-left-color:#10b981}.comment-item--c11 .comment-item__quote-icon[data-v-7d1d2127]{color:#10b981}.comment-item--c12 .comment-item__quote[data-v-7d1d2127]{background:#ede9fee6;border-left-color:#8b5cf6}.comment-item--c12 .comment-item__quote-icon[data-v-7d1d2127]{color:#8b5cf6}.comment-item--c13 .comment-item__quote[data-v-7d1d2127]{background:#faf0ffe6;border-left-color:#d946ef}.comment-item--c13 .comment-item__quote-icon[data-v-7d1d2127]{color:#d946ef}.comment-item--c14 .comment-item__quote[data-v-7d1d2127]{background:#e0f2fee6;border-left-color:#0ea5e9}.comment-item--c14 .comment-item__quote-icon[data-v-7d1d2127]{color:#0ea5e9}.comment-item--c15 .comment-item__quote[data-v-7d1d2127]{background:#ffedd5e6;border-left-color:#ea580c}.comment-item--c15 .comment-item__quote-icon[data-v-7d1d2127]{color:#ea580c}.comment-item--c16 .comment-item__quote[data-v-7d1d2127]{background:#fefce8e6;border-left-color:#ca8a04}.comment-item--c16 .comment-item__quote-icon[data-v-7d1d2127]{color:#ca8a04}.comment-item--c17 .comment-item__quote[data-v-7d1d2127]{background:#fee2e2e6;border-left-color:#dc2626}.comment-item--c17 .comment-item__quote-icon[data-v-7d1d2127]{color:#dc2626}.comment-item--c18 .comment-item__quote[data-v-7d1d2127]{background:#ccfbf1d9;border-left-color:#0d9488}.comment-item--c18 .comment-item__quote-icon[data-v-7d1d2127]{color:#0d9488}.comment-item--c19 .comment-item__quote[data-v-7d1d2127]{background:#f1f5f9e6;border-left-color:#64748b}.comment-item--c19 .comment-item__quote-icon[data-v-7d1d2127]{color:#64748b}.comment-item__note[data-v-7d1d2127]{font-size:13px;color:#374151;line-height:1.5;margin-bottom:6px;word-break:break-word}.comment-item__meta[data-v-7d1d2127]{display:flex;justify-content:space-between;font-size:11px;color:#9ca3af;margin-bottom:8px}.comment-item__author[data-v-7d1d2127]{font-weight:500}.comment-item__actions[data-v-7d1d2127]{display:flex;gap:6px;justify-content:flex-end}.comment-btn[data-v-7d1d2127]{border:none;border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer;transition:background .15s}.comment-btn--resolve[data-v-7d1d2127]{background:#ecfdf5;color:#059669}.comment-btn--resolve[data-v-7d1d2127]:hover{background:#d1fae5}.comment-btn--delete[data-v-7d1d2127]{background:#fef2f2;color:#dc2626}.comment-btn--delete[data-v-7d1d2127]:hover{background:#fee2e2}.dialog-backdrop[data-v-8cbc8293]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.dialog[data-v-8cbc8293]{background:#fff;border-radius:10px;box-shadow:0 20px 60px #00000026,0 4px 12px #00000014;width:460px;max-width:calc(100vw - 32px);overflow:hidden}.dialog__header[data-v-8cbc8293]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #e5e7eb}.dialog__title[data-v-8cbc8293]{margin:0;font-size:15px;font-weight:600;color:#111827}.dialog__close[data-v-8cbc8293]{border:none;background:none;font-size:14px;color:#9ca3af;cursor:pointer;padding:4px 6px;border-radius:4px;line-height:1}.dialog__close[data-v-8cbc8293]:hover{background:#f3f4f6;color:#374151}.dialog__quote[data-v-8cbc8293]{padding:12px 20px 0}.dialog__quote-label[data-v-8cbc8293]{font-size:11px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.dialog__quote-text[data-v-8cbc8293]{margin:4px 0 0;padding:8px 12px;background:#fef9c3;border-left:3px solid #fbbf24;border-radius:0 4px 4px 0;font-size:13px;color:#374151;line-height:1.5}.dialog__body[data-v-8cbc8293]{padding:16px 20px 0}.dialog__label[data-v-8cbc8293]{display:block;font-size:12px;font-weight:500;color:#374151;margin-bottom:6px}.dialog__textarea[data-v-8cbc8293]{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;outline:none;color:#111827;line-height:1.5}.dialog__textarea[data-v-8cbc8293]:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.dialog__hint[data-v-8cbc8293]{margin:6px 0 0;font-size:11px;color:#9ca3af}.dialog__footer[data-v-8cbc8293]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px}.dialog__btn[data-v-8cbc8293]{border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.dialog__btn--cancel[data-v-8cbc8293]{background:#f3f4f6;color:#374151}.dialog__btn--cancel[data-v-8cbc8293]:hover{background:#e5e7eb}.dialog__btn--confirm[data-v-8cbc8293]{background:#f59e0b;color:#fff}.dialog__btn--confirm[data-v-8cbc8293]:hover:not(:disabled){background:#d97706}.dialog__btn--confirm[data-v-8cbc8293]:disabled{opacity:.45;cursor:not-allowed}.comment-gutter[data-v-ac6164bd]{position:absolute;top:12px;right:-300px;width:280px;pointer-events:none;display:flex;flex-direction:column}.gutter-item-wrapper[data-v-ac6164bd]{pointer-events:auto}.gutter-item[data-v-ac6164bd]{position:relative;width:100%;background:#fff;border:1px solid #e5e7eb;border-left-width:4px;border-radius:8px;padding:8px 10px;box-shadow:0 8px 18px #0000000f;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition:transform .12s,box-shadow .12s,border-color .12s}.gutter-item[data-v-ac6164bd]:hover{transform:translateY(-1px);box-shadow:0 10px 22px #00000014}.gutter-item--active[data-v-ac6164bd]{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b38,0 10px 22px #00000014}.gutter-item--resolved[data-v-ac6164bd]{opacity:.6}.gutter-item__quote[data-v-ac6164bd]{font-size:12px;color:#6b7280;margin-bottom:4px}.gutter-item__note[data-v-ac6164bd]{font-size:13px;color:#374151;line-height:1.35;margin-bottom:6px;word-break:break-word}.gutter-item__meta[data-v-ac6164bd]{display:flex;justify-content:space-between;font-size:11px;color:#9ca3af}.gutter-item--c0[data-v-ac6164bd]{border-left-color:#f97316}.gutter-item--c1[data-v-ac6164bd]{border-left-color:#22c55e}.gutter-item--c2[data-v-ac6164bd]{border-left-color:#3b82f6}.gutter-item--c3[data-v-ac6164bd]{border-left-color:#a855f7}.gutter-item--c4[data-v-ac6164bd]{border-left-color:#ec4899}.gutter-item--c5[data-v-ac6164bd]{border-left-color:#14b8a6}.gutter-item--c6[data-v-ac6164bd]{border-left-color:#eab308}.gutter-item--c7[data-v-ac6164bd]{border-left-color:#f43f5e}.gutter-item--c8[data-v-ac6164bd]{border-left-color:#6366f1}.gutter-item--c9[data-v-ac6164bd]{border-left-color:#84cc16}.gutter-item--c10[data-v-ac6164bd]{border-left-color:#06b6d4}.gutter-item--c11[data-v-ac6164bd]{border-left-color:#10b981}.gutter-item--c12[data-v-ac6164bd]{border-left-color:#8b5cf6}.gutter-item--c13[data-v-ac6164bd]{border-left-color:#d946ef}.gutter-item--c14[data-v-ac6164bd]{border-left-color:#0ea5e9}.gutter-item--c15[data-v-ac6164bd]{border-left-color:#ea580c}.gutter-item--c16[data-v-ac6164bd]{border-left-color:#ca8a04}.gutter-item--c17[data-v-ac6164bd]{border-left-color:#dc2626}.gutter-item--c18[data-v-ac6164bd]{border-left-color:#0d9488}.gutter-item--c19[data-v-ac6164bd]{border-left-color:#64748b}.umo-editor-content .tableWrapper{max-width:100%;box-sizing:border-box}.umo-editor-content table{width:100%!important;max-width:100%;box-sizing:border-box}.umo-editor-content table td,.umo-editor-content table th{box-sizing:border-box}.umo-editor-content table:has(colgroup[data-word-col-layout]) td,.umo-editor-content table:has(colgroup[data-word-col-layout]) th,.umo-editor-content table:has(colgroup[data-word-col-layout]){border:none!important;outline:none!important}.umo-editor-content table:has(colgroup col:nth-child(2)){table-layout:fixed}.umo-editor-content ul[type=disc] li>p:before,.umo-editor-content ul[type=circle] li>p:before,.umo-editor-content ul[type=square] li>p:before{content:none}.auth-page[data-v-9f2d36df]{min-height:100%;display:flex;align-items:center;justify-content:center;background:#f3f4f6}.auth-card[data-v-9f2d36df]{background:#fff;border-radius:12px;padding:40px 36px;width:340px;box-shadow:0 4px 24px #0000001a}.auth-title[data-v-9f2d36df]{font-size:20px;font-weight:700;color:#111827;text-align:center;margin:0 0 24px}.auth-tabs[data-v-9f2d36df]{display:flex;gap:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:20px}.auth-tab[data-v-9f2d36df]{flex:1;padding:8px;border:none;background:transparent;cursor:pointer;font-size:14px;color:#6b7280;transition:background .15s,color .15s}.auth-tab--active[data-v-9f2d36df]{background:#3b82f6;color:#fff}.auth-form[data-v-9f2d36df]{display:flex;flex-direction:column;gap:12px}.auth-input[data-v-9f2d36df]{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .15s}.auth-input[data-v-9f2d36df]:focus{border-color:#3b82f6}.auth-submit[data-v-9f2d36df]{padding:10px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.auth-submit[data-v-9f2d36df]:hover:not(:disabled){background:#2563eb}.auth-submit[data-v-9f2d36df]:disabled{opacity:.6;cursor:not-allowed}.auth-error[data-v-9f2d36df]{color:#ef4444;font-size:13px;margin:0}.app-layout[data-v-9f2d36df]{display:flex;width:100%;height:100%;overflow:hidden}.editor-wrapper[data-v-9f2d36df]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.app-layout__comment-aside[data-v-9f2d36df]{flex:0 1 clamp(280px,36vw,720px);min-width:0;max-width:100%;display:flex;flex-direction:column;overflow:hidden}.comment-toolbar[data-v-9f2d36df]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e7eb;z-index:10;flex-shrink:0}.toolbar-docname[data-v-9f2d36df]{flex:1;min-width:0}.toolbar-docname__input[data-v-9f2d36df]{width:100%;border:1px solid transparent;border-radius:4px;padding:3px 6px;font-size:14px;font-weight:600;color:#111827;background:transparent;outline:none;transition:border-color .15s,background .15s}.toolbar-docname__input[data-v-9f2d36df]:hover,.toolbar-docname__input[data-v-9f2d36df]:focus{border-color:#d1d5db;background:#f9fafb}.toolbar-docname--empty[data-v-9f2d36df]{font-size:13px;color:#9ca3af}.toolbar-actions[data-v-9f2d36df]{display:flex;gap:8px;flex-shrink:0}.toolbar-btn[data-v-9f2d36df]{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.toolbar-btn[data-v-9f2d36df]:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn__icon[data-v-9f2d36df]{font-size:15px}.toolbar-btn--save[data-v-9f2d36df]{background:#d1fae5;color:#065f46}.toolbar-btn--save[data-v-9f2d36df]:hover:not(:disabled){background:#a7f3d0}.toolbar-btn--primary[data-v-9f2d36df]{background:#fef3c7;color:#92400e}.toolbar-btn--primary[data-v-9f2d36df]:hover:not(:disabled){background:#fde68a}.toolbar-btn--ai[data-v-9f2d36df]{background:#ede9fe;color:#5b21b6}.toolbar-btn--ai[data-v-9f2d36df]:hover:not(:disabled){background:#ddd6fe}.umo-editor-instance[data-v-9f2d36df]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.umo-editor-stage[data-v-9f2d36df]{position:relative;flex:1;min-height:0;overflow:hidden}.umo-editor-stage.comment-hidden[data-v-9f2d36df] .comment-mark[data-comment-source=doc-origin]{background-color:transparent!important;border-bottom-color:transparent!important;border-bottom-width:0!important}.umo-editor-stage[data-v-9f2d36df]:fullscreen{width:100vw;height:100vh;background:#fff}.editor-placeholder[data-v-9f2d36df]{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px}.umo-custom-huge-btn[data-v-9f2d36df]{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:auto;height:56px;padding:0 5px;margin:0;border:none;border-radius:var(--umo-radius, 3px);background:transparent;cursor:pointer;transition:background .2s;white-space:nowrap}.umo-custom-huge-btn[data-v-9f2d36df]:hover:not(:disabled){background:var(--umo-button-hover-background, rgba(0, 0, 0, .06))}.umo-custom-huge-btn[data-v-9f2d36df]:disabled{opacity:.5;cursor:not-allowed}.umo-custom-huge-btn__icon[data-v-9f2d36df]{display:flex;align-items:center;justify-content:center;color:var(--umo-text-color, #3d3d3d);margin-top:3px}.umo-custom-huge-btn__icon svg[data-v-9f2d36df]{width:24px;height:24px}.umo-custom-huge-btn__text[data-v-9f2d36df]{display:block;font-size:12px;color:var(--umo-text-color, #3d3d3d);margin-top:2px;line-height:1.2}.html-dialog-mask[data-v-9f2d36df]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.html-dialog[data-v-9f2d36df]{background:#1e1e2e;border-radius:10px;width:min(860px,92vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0006}.html-dialog__header[data-v-9f2d36df]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #313244;flex-shrink:0}.html-dialog__title[data-v-9f2d36df]{font-size:14px;font-weight:600;color:#cdd6f4}.html-dialog__close[data-v-9f2d36df]{background:none;border:none;color:#6c7086;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.html-dialog__close[data-v-9f2d36df]:hover{color:#cdd6f4;background:#313244}.html-dialog__toolbar[data-v-9f2d36df]{display:flex;justify-content:flex-end;padding:8px 16px;border-bottom:1px solid #313244;flex-shrink:0}.html-dialog__copy-btn[data-v-9f2d36df]{font-size:12px;padding:4px 14px;border-radius:5px;border:1px solid #45475a;background:#313244;color:#cdd6f4;cursor:pointer;transition:background .15s,border-color .15s}.html-dialog__copy-btn[data-v-9f2d36df]:hover{background:#45475a;border-color:#89b4fa;color:#89b4fa}.html-dialog__content[data-v-9f2d36df]{flex:1;overflow:auto;margin:0;padding:16px 20px;font-family:Fira Code,Consolas,Courier New,monospace;font-size:12.5px;line-height:1.7;color:#a6e3a1;white-space:pre-wrap;word-break:break-all}[data-v-9f2d36df] table:has(colgroup[data-word-col-layout]) td,[data-v-9f2d36df] table:has(colgroup[data-word-col-layout]) th,[data-v-9f2d36df] table:has(colgroup[data-word-col-layout]){border:none!important;outline:none!important}.complex-comment-panel[data-v-448ac300]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:100%;border-left:1px solid #e5e7eb;background:#f3f4f6;display:flex;flex-direction:column;overflow:hidden}.complex-comment-panel__header[data-v-448ac300]{padding:12px 14px 10px;background:#fff;border-bottom:1px solid #e5e7eb}.complex-comment-panel__title[data-v-448ac300]{margin:0 0 10px;font-size:16px;font-weight:600;color:#111827}.complex-comment-panel__title-row[data-v-448ac300]{display:flex;align-items:center;gap:10px}.review-streaming-banner[data-v-448ac300]{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:6px 10px;border-radius:999px;border:1px solid rgba(22,119,255,.2);background:#1677ff14;color:#1677ff;font-size:12px;line-height:1;width:fit-content;box-shadow:inset 0 1px #ffffffbf,0 6px 18px #1677ff33}.review-streaming-dot[data-v-448ac300]{width:7px;height:7px;border-radius:50%;background:#1677ff;box-shadow:0 0 0 4px #1677ff29;animation:review-streaming-pulse-448ac300 1.1s ease-in-out infinite}@keyframes review-streaming-pulse-448ac300{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.complex-comment-panel__toolbar[data-v-448ac300]{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.complex-comment-panel__download[data-v-448ac300]{border:none;border-radius:4px;padding:5px 14px;font-size:13px;font-weight:500;cursor:pointer;background:#2563eb;color:#fff}.complex-comment-panel__download[data-v-448ac300]:hover{background:#1d4ed8}.complex-comment-panel__risk-toggle[data-v-448ac300]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#4b5563;cursor:pointer;-webkit-user-select:none;user-select:none}.complex-comment-panel__risk-toggle input[data-v-448ac300]{width:14px;height:14px;cursor:pointer}.complex-comment-panel__empty[data-v-448ac300]{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px}.complex-comment-panel__tabs[data-v-448ac300]{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:#fff;border-bottom:1px solid #e5e7eb}.complex-comment-panel__tab[data-v-448ac300]{border:1px solid #e5e7eb;background:#fff;border-radius:4px;padding:4px 10px;font-size:12px;color:#6b7280;cursor:pointer}.complex-comment-panel__tab[data-v-448ac300]:hover{border-color:#93c5fd;color:#2563eb}.complex-comment-panel__tab--active[data-v-448ac300]{border-color:#2563eb;color:#2563eb;background:#eff6ff;font-weight:500}.complex-comment-panel__body[data-v-448ac300]{flex:1;overflow-y:auto;padding:10px 12px 16px;display:flex;flex-direction:column;gap:14px}.complex-comment-panel__section-head[data-v-448ac300]{margin-bottom:8px}.complex-comment-panel__section-title[data-v-448ac300]{font-size:14px;font-weight:600;color:#111827}.complex-comment-panel__cards[data-v-448ac300]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.audit-card[data-v-448ac300]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.audit-card[data-v-448ac300]:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000f}.audit-card--active[data-v-448ac300],.audit-card--active[data-v-448ac300]:hover{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.audit-card__head[data-v-448ac300]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.audit-card__point[data-v-448ac300]{font-size:14px;font-weight:600;color:#111827;line-height:1.4;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-card__badge[data-v-448ac300]{flex-shrink:0;font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;white-space:nowrap}.audit-card__badge--risk[data-v-448ac300]{background:#fee2e2;color:#dc2626}.audit-card__badge--ok[data-v-448ac300]{background:#22c55e;color:#fff}.audit-card__badge--muted[data-v-448ac300]{background:#f3f4f6;color:#6b7280}.audit-card__block[data-v-448ac300]{margin-bottom:4px}.audit-card__label[data-v-448ac300]{font-size:12px;color:#9ca3af;margin-bottom:6px}.audit-card__label--strong[data-v-448ac300]{color:#111827;font-weight:500}.audit-card__quote[data-v-448ac300]{font-size:13px;color:#6b7280;line-height:1.5;padding:8px 10px 8px 12px;border-left:3px solid #d1d5db;background:#f9fafb;border-radius:0 4px 4px 0;word-break:break-word}.audit-card__locate[data-v-448ac300]{margin-top:8px;border:none;background:none;padding:0;font-size:12px;color:#2563eb;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.audit-card__locate[data-v-448ac300]:hover{text-decoration:underline}.audit-card__locate-icon[data-v-448ac300]{font-size:14px;line-height:1;opacity:.85}.audit-card__divider[data-v-448ac300]{height:1px;background:#e5e7eb;margin:12px 0}.audit-card__block--desc[data-v-448ac300]{margin-bottom:0}.audit-card__desc[data-v-448ac300]{margin:0;font-size:13px;color:#374151;line-height:1.55;word-break:break-word}
|
|
1
|
+
.ProseMirror span.comment-mark,.umo-editor span.comment-mark{border-bottom:2px solid #fbbf24;background-color:transparent;border-radius:0;cursor:text;transition:border-bottom-color .15s}.ProseMirror span.comment-mark:hover,.umo-editor span.comment-mark:hover{border-bottom-color:#facc15}.ProseMirror span.comment-mark--active,.umo-editor span.comment-mark--active{background-color:transparent;border-bottom-color:#f59e0b}.comment-panel[data-v-7d1d2127]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:100%;border-left:1px solid #e5e7eb;background:#fafafa;display:flex;flex-direction:column;overflow:hidden}.comment-panel__header[data-v-7d1d2127]{padding:14px 16px 10px;border-bottom:1px solid #e5e7eb;background:#fff}.comment-panel__title[data-v-7d1d2127]{margin:0;font-size:14px;font-weight:600;color:#374151;display:flex;align-items:center;gap:6px}.comment-panel__badge[data-v-7d1d2127]{background:#f59e0b;color:#fff;border-radius:10px;font-size:11px;padding:1px 6px;font-weight:500}.comment-panel__empty[data-v-7d1d2127]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9ca3af;gap:4px;padding:24px;text-align:center}.comment-panel__empty p[data-v-7d1d2127]{margin:0;font-size:13px}.comment-panel__empty-icon[data-v-7d1d2127]{font-size:32px;margin-bottom:8px;opacity:.5}.comment-panel__empty-hint[data-v-7d1d2127]{font-size:12px!important;color:#d1d5db}.comment-panel__list[data-v-7d1d2127]{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:8px}.comment-item[data-v-7d1d2127]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.comment-item[data-v-7d1d2127]:hover{border-color:#fbbf24;box-shadow:0 1px 4px #fbbf2426}.comment-item--active[data-v-7d1d2127]{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.comment-item--resolved[data-v-7d1d2127]{opacity:.55}.comment-item--resolved .comment-item__note[data-v-7d1d2127]{text-decoration:line-through;color:#9ca3af}.comment-item__quote[data-v-7d1d2127]{font-size:12px;color:#6b7280;background:#fef9c3;border-left:3px solid #fbbf24;padding:4px 8px;border-radius:0 4px 4px 0;margin-bottom:6px;line-height:1.4}.comment-item__quote-icon[data-v-7d1d2127]{color:#fbbf24;margin-right:2px}.comment-item--c0 .comment-item__quote[data-v-7d1d2127]{background:#fef3c7cc;border-left-color:#f97316}.comment-item--c0 .comment-item__quote-icon[data-v-7d1d2127]{color:#f97316}.comment-item--c1 .comment-item__quote[data-v-7d1d2127]{background:#d1fae5d9;border-left-color:#22c55e}.comment-item--c1 .comment-item__quote-icon[data-v-7d1d2127]{color:#22c55e}.comment-item--c2 .comment-item__quote[data-v-7d1d2127]{background:#dbeafed9;border-left-color:#3b82f6}.comment-item--c2 .comment-item__quote-icon[data-v-7d1d2127]{color:#3b82f6}.comment-item--c3 .comment-item__quote[data-v-7d1d2127]{background:#ede9fee6;border-left-color:#a855f7}.comment-item--c3 .comment-item__quote-icon[data-v-7d1d2127]{color:#a855f7}.comment-item--c4 .comment-item__quote[data-v-7d1d2127]{background:#fce7f3e6;border-left-color:#ec4899}.comment-item--c4 .comment-item__quote-icon[data-v-7d1d2127]{color:#ec4899}.comment-item--c5 .comment-item__quote[data-v-7d1d2127]{background:#ccfbf1d9;border-left-color:#14b8a6}.comment-item--c5 .comment-item__quote-icon[data-v-7d1d2127]{color:#14b8a6}.comment-item--c6 .comment-item__quote[data-v-7d1d2127]{background:#fef9c3e6;border-left-color:#eab308}.comment-item--c6 .comment-item__quote-icon[data-v-7d1d2127]{color:#eab308}.comment-item--c7 .comment-item__quote[data-v-7d1d2127]{background:#ffe4e6e6;border-left-color:#f43f5e}.comment-item--c7 .comment-item__quote-icon[data-v-7d1d2127]{color:#f43f5e}.comment-item--c8 .comment-item__quote[data-v-7d1d2127]{background:#e0e7ffe6;border-left-color:#6366f1}.comment-item--c8 .comment-item__quote-icon[data-v-7d1d2127]{color:#6366f1}.comment-item--c9 .comment-item__quote[data-v-7d1d2127]{background:#ecfdc8e6;border-left-color:#84cc16}.comment-item--c9 .comment-item__quote-icon[data-v-7d1d2127]{color:#84cc16}.comment-item--c10 .comment-item__quote[data-v-7d1d2127]{background:#cffafee6;border-left-color:#06b6d4}.comment-item--c10 .comment-item__quote-icon[data-v-7d1d2127]{color:#06b6d4}.comment-item--c11 .comment-item__quote[data-v-7d1d2127]{background:#d1fae5d9;border-left-color:#10b981}.comment-item--c11 .comment-item__quote-icon[data-v-7d1d2127]{color:#10b981}.comment-item--c12 .comment-item__quote[data-v-7d1d2127]{background:#ede9fee6;border-left-color:#8b5cf6}.comment-item--c12 .comment-item__quote-icon[data-v-7d1d2127]{color:#8b5cf6}.comment-item--c13 .comment-item__quote[data-v-7d1d2127]{background:#faf0ffe6;border-left-color:#d946ef}.comment-item--c13 .comment-item__quote-icon[data-v-7d1d2127]{color:#d946ef}.comment-item--c14 .comment-item__quote[data-v-7d1d2127]{background:#e0f2fee6;border-left-color:#0ea5e9}.comment-item--c14 .comment-item__quote-icon[data-v-7d1d2127]{color:#0ea5e9}.comment-item--c15 .comment-item__quote[data-v-7d1d2127]{background:#ffedd5e6;border-left-color:#ea580c}.comment-item--c15 .comment-item__quote-icon[data-v-7d1d2127]{color:#ea580c}.comment-item--c16 .comment-item__quote[data-v-7d1d2127]{background:#fefce8e6;border-left-color:#ca8a04}.comment-item--c16 .comment-item__quote-icon[data-v-7d1d2127]{color:#ca8a04}.comment-item--c17 .comment-item__quote[data-v-7d1d2127]{background:#fee2e2e6;border-left-color:#dc2626}.comment-item--c17 .comment-item__quote-icon[data-v-7d1d2127]{color:#dc2626}.comment-item--c18 .comment-item__quote[data-v-7d1d2127]{background:#ccfbf1d9;border-left-color:#0d9488}.comment-item--c18 .comment-item__quote-icon[data-v-7d1d2127]{color:#0d9488}.comment-item--c19 .comment-item__quote[data-v-7d1d2127]{background:#f1f5f9e6;border-left-color:#64748b}.comment-item--c19 .comment-item__quote-icon[data-v-7d1d2127]{color:#64748b}.comment-item__note[data-v-7d1d2127]{font-size:13px;color:#374151;line-height:1.5;margin-bottom:6px;word-break:break-word}.comment-item__meta[data-v-7d1d2127]{display:flex;justify-content:space-between;font-size:11px;color:#9ca3af;margin-bottom:8px}.comment-item__author[data-v-7d1d2127]{font-weight:500}.comment-item__actions[data-v-7d1d2127]{display:flex;gap:6px;justify-content:flex-end}.comment-btn[data-v-7d1d2127]{border:none;border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer;transition:background .15s}.comment-btn--resolve[data-v-7d1d2127]{background:#ecfdf5;color:#059669}.comment-btn--resolve[data-v-7d1d2127]:hover{background:#d1fae5}.comment-btn--delete[data-v-7d1d2127]{background:#fef2f2;color:#dc2626}.comment-btn--delete[data-v-7d1d2127]:hover{background:#fee2e2}.dialog-backdrop[data-v-8cbc8293]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.dialog[data-v-8cbc8293]{background:#fff;border-radius:10px;box-shadow:0 20px 60px #00000026,0 4px 12px #00000014;width:460px;max-width:calc(100vw - 32px);overflow:hidden}.dialog__header[data-v-8cbc8293]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #e5e7eb}.dialog__title[data-v-8cbc8293]{margin:0;font-size:15px;font-weight:600;color:#111827}.dialog__close[data-v-8cbc8293]{border:none;background:none;font-size:14px;color:#9ca3af;cursor:pointer;padding:4px 6px;border-radius:4px;line-height:1}.dialog__close[data-v-8cbc8293]:hover{background:#f3f4f6;color:#374151}.dialog__quote[data-v-8cbc8293]{padding:12px 20px 0}.dialog__quote-label[data-v-8cbc8293]{font-size:11px;font-weight:500;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em}.dialog__quote-text[data-v-8cbc8293]{margin:4px 0 0;padding:8px 12px;background:#fef9c3;border-left:3px solid #fbbf24;border-radius:0 4px 4px 0;font-size:13px;color:#374151;line-height:1.5}.dialog__body[data-v-8cbc8293]{padding:16px 20px 0}.dialog__label[data-v-8cbc8293]{display:block;font-size:12px;font-weight:500;color:#374151;margin-bottom:6px}.dialog__textarea[data-v-8cbc8293]{width:100%;border:1px solid #d1d5db;border-radius:6px;padding:10px 12px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box;transition:border-color .15s,box-shadow .15s;outline:none;color:#111827;line-height:1.5}.dialog__textarea[data-v-8cbc8293]:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.dialog__hint[data-v-8cbc8293]{margin:6px 0 0;font-size:11px;color:#9ca3af}.dialog__footer[data-v-8cbc8293]{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px}.dialog__btn[data-v-8cbc8293]{border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.dialog__btn--cancel[data-v-8cbc8293]{background:#f3f4f6;color:#374151}.dialog__btn--cancel[data-v-8cbc8293]:hover{background:#e5e7eb}.dialog__btn--confirm[data-v-8cbc8293]{background:#f59e0b;color:#fff}.dialog__btn--confirm[data-v-8cbc8293]:hover:not(:disabled){background:#d97706}.dialog__btn--confirm[data-v-8cbc8293]:disabled{opacity:.45;cursor:not-allowed}.comment-gutter[data-v-ac6164bd]{position:absolute;top:12px;right:-300px;width:280px;pointer-events:none;display:flex;flex-direction:column}.gutter-item-wrapper[data-v-ac6164bd]{pointer-events:auto}.gutter-item[data-v-ac6164bd]{position:relative;width:100%;background:#fff;border:1px solid #e5e7eb;border-left-width:4px;border-radius:8px;padding:8px 10px;box-shadow:0 8px 18px #0000000f;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition:transform .12s,box-shadow .12s,border-color .12s}.gutter-item[data-v-ac6164bd]:hover{transform:translateY(-1px);box-shadow:0 10px 22px #00000014}.gutter-item--active[data-v-ac6164bd]{border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b38,0 10px 22px #00000014}.gutter-item--resolved[data-v-ac6164bd]{opacity:.6}.gutter-item__quote[data-v-ac6164bd]{font-size:12px;color:#6b7280;margin-bottom:4px}.gutter-item__note[data-v-ac6164bd]{font-size:13px;color:#374151;line-height:1.35;margin-bottom:6px;word-break:break-word}.gutter-item__meta[data-v-ac6164bd]{display:flex;justify-content:space-between;font-size:11px;color:#9ca3af}.gutter-item--c0[data-v-ac6164bd]{border-left-color:#f97316}.gutter-item--c1[data-v-ac6164bd]{border-left-color:#22c55e}.gutter-item--c2[data-v-ac6164bd]{border-left-color:#3b82f6}.gutter-item--c3[data-v-ac6164bd]{border-left-color:#a855f7}.gutter-item--c4[data-v-ac6164bd]{border-left-color:#ec4899}.gutter-item--c5[data-v-ac6164bd]{border-left-color:#14b8a6}.gutter-item--c6[data-v-ac6164bd]{border-left-color:#eab308}.gutter-item--c7[data-v-ac6164bd]{border-left-color:#f43f5e}.gutter-item--c8[data-v-ac6164bd]{border-left-color:#6366f1}.gutter-item--c9[data-v-ac6164bd]{border-left-color:#84cc16}.gutter-item--c10[data-v-ac6164bd]{border-left-color:#06b6d4}.gutter-item--c11[data-v-ac6164bd]{border-left-color:#10b981}.gutter-item--c12[data-v-ac6164bd]{border-left-color:#8b5cf6}.gutter-item--c13[data-v-ac6164bd]{border-left-color:#d946ef}.gutter-item--c14[data-v-ac6164bd]{border-left-color:#0ea5e9}.gutter-item--c15[data-v-ac6164bd]{border-left-color:#ea580c}.gutter-item--c16[data-v-ac6164bd]{border-left-color:#ca8a04}.gutter-item--c17[data-v-ac6164bd]{border-left-color:#dc2626}.gutter-item--c18[data-v-ac6164bd]{border-left-color:#0d9488}.gutter-item--c19[data-v-ac6164bd]{border-left-color:#64748b}.umo-editor-content .tableWrapper{max-width:100%;box-sizing:border-box}.umo-editor-content table{width:100%!important;max-width:100%;box-sizing:border-box}.umo-editor-content table td,.umo-editor-content table th{box-sizing:border-box}.umo-editor-content table:has(colgroup[data-word-col-layout]) td,.umo-editor-content table:has(colgroup[data-word-col-layout]) th,.umo-editor-content table:has(colgroup[data-word-col-layout]){border:none!important;outline:none!important}.umo-editor-content table:has(colgroup col:nth-child(2)){table-layout:fixed}.umo-editor-content ul[type=disc] li>p:before,.umo-editor-content ul[type=circle] li>p:before,.umo-editor-content ul[type=square] li>p:before{content:none}.auth-page[data-v-9f2d36df]{min-height:100%;display:flex;align-items:center;justify-content:center;background:#f3f4f6}.auth-card[data-v-9f2d36df]{background:#fff;border-radius:12px;padding:40px 36px;width:340px;box-shadow:0 4px 24px #0000001a}.auth-title[data-v-9f2d36df]{font-size:20px;font-weight:700;color:#111827;text-align:center;margin:0 0 24px}.auth-tabs[data-v-9f2d36df]{display:flex;gap:0;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;margin-bottom:20px}.auth-tab[data-v-9f2d36df]{flex:1;padding:8px;border:none;background:transparent;cursor:pointer;font-size:14px;color:#6b7280;transition:background .15s,color .15s}.auth-tab--active[data-v-9f2d36df]{background:#3b82f6;color:#fff}.auth-form[data-v-9f2d36df]{display:flex;flex-direction:column;gap:12px}.auth-input[data-v-9f2d36df]{padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;outline:none;transition:border-color .15s}.auth-input[data-v-9f2d36df]:focus{border-color:#3b82f6}.auth-submit[data-v-9f2d36df]{padding:10px;border:none;border-radius:8px;background:#3b82f6;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.auth-submit[data-v-9f2d36df]:hover:not(:disabled){background:#2563eb}.auth-submit[data-v-9f2d36df]:disabled{opacity:.6;cursor:not-allowed}.auth-error[data-v-9f2d36df]{color:#ef4444;font-size:13px;margin:0}.app-layout[data-v-9f2d36df]{display:flex;width:100%;height:100%;overflow:hidden}.editor-wrapper[data-v-9f2d36df]{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.app-layout__comment-aside[data-v-9f2d36df]{flex:0 1 clamp(280px,36vw,720px);min-width:0;max-width:100%;display:flex;flex-direction:column;overflow:hidden}.comment-toolbar[data-v-9f2d36df]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e7eb;z-index:10;flex-shrink:0}.toolbar-docname[data-v-9f2d36df]{flex:1;min-width:0}.toolbar-docname__input[data-v-9f2d36df]{width:100%;border:1px solid transparent;border-radius:4px;padding:3px 6px;font-size:14px;font-weight:600;color:#111827;background:transparent;outline:none;transition:border-color .15s,background .15s}.toolbar-docname__input[data-v-9f2d36df]:hover,.toolbar-docname__input[data-v-9f2d36df]:focus{border-color:#d1d5db;background:#f9fafb}.toolbar-docname--empty[data-v-9f2d36df]{font-size:13px;color:#9ca3af}.toolbar-actions[data-v-9f2d36df]{display:flex;gap:8px;flex-shrink:0}.toolbar-btn[data-v-9f2d36df]{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,opacity .15s}.toolbar-btn[data-v-9f2d36df]:disabled{opacity:.5;cursor:not-allowed}.toolbar-btn__icon[data-v-9f2d36df]{font-size:15px}.toolbar-btn--save[data-v-9f2d36df]{background:#d1fae5;color:#065f46}.toolbar-btn--save[data-v-9f2d36df]:hover:not(:disabled){background:#a7f3d0}.toolbar-btn--primary[data-v-9f2d36df]{background:#fef3c7;color:#92400e}.toolbar-btn--primary[data-v-9f2d36df]:hover:not(:disabled){background:#fde68a}.toolbar-btn--ai[data-v-9f2d36df]{background:#ede9fe;color:#5b21b6}.toolbar-btn--ai[data-v-9f2d36df]:hover:not(:disabled){background:#ddd6fe}.umo-editor-instance[data-v-9f2d36df]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.umo-editor-stage[data-v-9f2d36df]{position:relative;flex:1;min-height:0;overflow:hidden}.umo-editor-stage.comment-hidden[data-v-9f2d36df] .comment-mark[data-comment-source=doc-origin]{background-color:transparent!important;border-bottom-color:transparent!important;border-bottom-width:0!important}.umo-editor-stage[data-v-9f2d36df]:fullscreen{width:100vw;height:100vh;background:#fff}.editor-placeholder[data-v-9f2d36df]{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px}.umo-custom-huge-btn[data-v-9f2d36df]{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;width:auto;height:56px;padding:0 5px;margin:0;border:none;border-radius:var(--umo-radius, 3px);background:transparent;cursor:pointer;transition:background .2s;white-space:nowrap}.umo-custom-huge-btn[data-v-9f2d36df]:hover:not(:disabled){background:var(--umo-button-hover-background, rgba(0, 0, 0, .06))}.umo-custom-huge-btn[data-v-9f2d36df]:disabled{opacity:.5;cursor:not-allowed}.umo-custom-huge-btn__icon[data-v-9f2d36df]{display:flex;align-items:center;justify-content:center;color:var(--umo-text-color, #3d3d3d);margin-top:3px}.umo-custom-huge-btn__icon svg[data-v-9f2d36df]{width:24px;height:24px}.umo-custom-huge-btn__text[data-v-9f2d36df]{display:block;font-size:12px;color:var(--umo-text-color, #3d3d3d);margin-top:2px;line-height:1.2}.html-dialog-mask[data-v-9f2d36df]{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.html-dialog[data-v-9f2d36df]{background:#1e1e2e;border-radius:10px;width:min(860px,92vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0006}.html-dialog__header[data-v-9f2d36df]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #313244;flex-shrink:0}.html-dialog__title[data-v-9f2d36df]{font-size:14px;font-weight:600;color:#cdd6f4}.html-dialog__close[data-v-9f2d36df]{background:none;border:none;color:#6c7086;font-size:16px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;transition:color .15s,background .15s}.html-dialog__close[data-v-9f2d36df]:hover{color:#cdd6f4;background:#313244}.html-dialog__toolbar[data-v-9f2d36df]{display:flex;justify-content:flex-end;padding:8px 16px;border-bottom:1px solid #313244;flex-shrink:0}.html-dialog__copy-btn[data-v-9f2d36df]{font-size:12px;padding:4px 14px;border-radius:5px;border:1px solid #45475a;background:#313244;color:#cdd6f4;cursor:pointer;transition:background .15s,border-color .15s}.html-dialog__copy-btn[data-v-9f2d36df]:hover{background:#45475a;border-color:#89b4fa;color:#89b4fa}.html-dialog__content[data-v-9f2d36df]{flex:1;overflow:auto;margin:0;padding:16px 20px;font-family:Fira Code,Consolas,Courier New,monospace;font-size:12.5px;line-height:1.7;color:#a6e3a1;white-space:pre-wrap;word-break:break-all}[data-v-9f2d36df] table:has(colgroup[data-word-col-layout]) td,[data-v-9f2d36df] table:has(colgroup[data-word-col-layout]) th,[data-v-9f2d36df] table:has(colgroup[data-word-col-layout]){border:none!important;outline:none!important}.complex-comment-panel[data-v-d1af65ab]{box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:100%;border-left:1px solid #e5e7eb;background:#f3f4f6;display:flex;flex-direction:column;overflow:hidden}.complex-comment-panel__header[data-v-d1af65ab]{padding:12px 14px 10px;background:#fff;border-bottom:1px solid #e5e7eb}.complex-comment-panel__title[data-v-d1af65ab]{margin:0 0 10px;font-size:16px;font-weight:600;color:#111827}.complex-comment-panel__title-row[data-v-d1af65ab]{display:flex;align-items:center;gap:10px}.review-streaming-banner[data-v-d1af65ab]{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;padding:6px 10px;border-radius:999px;border:1px solid rgba(22,119,255,.2);background:#1677ff14;color:#1677ff;font-size:12px;line-height:1;width:fit-content;box-shadow:inset 0 1px #ffffffbf,0 6px 18px #1677ff33}.review-streaming-dot[data-v-d1af65ab]{width:7px;height:7px;border-radius:50%;background:#1677ff;box-shadow:0 0 0 4px #1677ff29;animation:review-streaming-pulse-d1af65ab 1.1s ease-in-out infinite}@keyframes review-streaming-pulse-d1af65ab{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.complex-comment-panel__toolbar[data-v-d1af65ab]{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.complex-comment-panel__download[data-v-d1af65ab]{border:none;border-radius:4px;padding:5px 14px;font-size:13px;font-weight:500;cursor:pointer;background:#2563eb;color:#fff}.complex-comment-panel__download[data-v-d1af65ab]:hover{background:#1d4ed8}.complex-comment-panel__risk-toggle[data-v-d1af65ab]{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#4b5563;cursor:pointer;-webkit-user-select:none;user-select:none}.complex-comment-panel__risk-toggle input[data-v-d1af65ab]{width:14px;height:14px;cursor:pointer}.complex-comment-panel__empty[data-v-d1af65ab]{flex:1;display:flex;align-items:center;justify-content:center;color:#9ca3af;font-size:14px}.complex-comment-panel__tabs[data-v-d1af65ab]{display:flex;flex-wrap:wrap;gap:6px;padding:10px 12px;background:#fff;border-bottom:1px solid #e5e7eb}.complex-comment-panel__tab[data-v-d1af65ab]{border:1px solid #e5e7eb;background:#fff;border-radius:4px;padding:4px 10px;font-size:12px;color:#6b7280;cursor:pointer}.complex-comment-panel__tab[data-v-d1af65ab]:hover{border-color:#93c5fd;color:#2563eb}.complex-comment-panel__tab--active[data-v-d1af65ab]{border-color:#2563eb;color:#2563eb;background:#eff6ff;font-weight:500}.complex-comment-panel__body[data-v-d1af65ab]{flex:1;overflow-y:auto;padding:10px 12px 16px;display:flex;flex-direction:column;gap:14px}.complex-comment-panel__section-head[data-v-d1af65ab]{margin-bottom:8px}.complex-comment-panel__section-title[data-v-d1af65ab]{font-size:14px;font-weight:600;color:#111827}.complex-comment-panel__cards[data-v-d1af65ab]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.audit-card[data-v-d1af65ab]{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s}.audit-card[data-v-d1af65ab]:hover{border-color:#d1d5db;box-shadow:0 1px 3px #0000000f}.audit-card--active[data-v-d1af65ab],.audit-card--active[data-v-d1af65ab]:hover{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb33}.audit-card__head[data-v-d1af65ab]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}.audit-card__point[data-v-d1af65ab]{font-size:14px;font-weight:600;color:#111827;line-height:1.4;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-card__badge[data-v-d1af65ab]{flex-shrink:0;font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;white-space:nowrap}.audit-card__badge--risk[data-v-d1af65ab]{background:#fee2e2;color:#dc2626}.audit-card__badge--ok[data-v-d1af65ab]{background:#22c55e;color:#fff}.audit-card__badge--muted[data-v-d1af65ab]{background:#f3f4f6;color:#6b7280}.audit-card__block[data-v-d1af65ab]{margin-bottom:4px}.audit-card__label[data-v-d1af65ab]{font-size:12px;color:#9ca3af;margin-bottom:6px}.audit-card__label--strong[data-v-d1af65ab]{color:#111827;font-weight:500}.audit-card__quote[data-v-d1af65ab]{font-size:13px;color:#6b7280;line-height:1.5;padding:8px 10px 8px 12px;border-left:3px solid #d1d5db;background:#f9fafb;border-radius:0 4px 4px 0;word-break:break-word}.audit-card__locate[data-v-d1af65ab]{margin-top:8px;border:none;background:none;padding:0;font-size:12px;color:#2563eb;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.audit-card__locate[data-v-d1af65ab]:hover{text-decoration:underline}.audit-card__locate-icon[data-v-d1af65ab]{font-size:14px;line-height:1;opacity:.85}.audit-card__divider[data-v-d1af65ab]{height:1px;background:#e5e7eb;margin:12px 0}.audit-card__block--desc[data-v-d1af65ab]{margin-bottom:0}.audit-card__desc[data-v-d1af65ab]{margin:0;font-size:13px;color:#374151;line-height:1.55;word-break:break-word}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useUmoEditor as Vn } from "@umoteam/editor";
|
|
2
2
|
import { computed as X, ref as I, watch as ct, nextTick as Ie, openBlock as T, createElementBlock as A, createElementVNode as l, createTextVNode as Ce, toDisplayString as N, createCommentVNode as ft, Fragment as St, renderList as Jt, normalizeClass as Tt, withModifiers as ht, onMounted as Se, createBlock as Rt, Teleport as Te, withDirectives as mn, withKeys as Ee, vModelText as Kn, normalizeStyle as jn, defineComponent as Yn, onUnmounted as Ke, useAttrs as Xn, resolveComponent as Qn, createVNode as Zn, mergeProps as to, withCtx as je, renderSlot as eo, unref as xt, createApp as no, h as oo, vModelCheckbox as ro } from "vue";
|
|
3
|
-
import { E as dn, p as fn, m as so, g as Ye, u as io, e as lo, a as Xe, b as ao, c as Qe, s as Ze, C as co, d as dt } from "./wordDocxExport-
|
|
3
|
+
import { E as dn, p as fn, m as so, g as Ye, u as io, e as lo, a as Xe, b as ao, c as Qe, s as Ze, C as co, d as dt } from "./wordDocxExport-DyFbvZqL.js";
|
|
4
4
|
import { parseDocxToJson as uo, parseDocxToHtml as mo, parseDocxComments as fo } from "./wordDocxImport.js";
|
|
5
5
|
const Pt = (s, t) => {
|
|
6
6
|
const e = s.__vccOpts || s;
|
|
@@ -3041,7 +3041,7 @@ const ur = { class: "app-layout" }, mr = { class: "editor-wrapper" }, dr = { cla
|
|
|
3041
3041
|
() => e.activeCommentId,
|
|
3042
3042
|
async (_) => {
|
|
3043
3043
|
if (!_) return;
|
|
3044
|
-
await Ie(), await new Promise((x) => requestAnimationFrame(x)), await new Promise((x) => requestAnimationFrame(x)), await new Promise((x) => setTimeout(x,
|
|
3044
|
+
await Ie(), await new Promise((x) => requestAnimationFrame(x)), await new Promise((x) => requestAnimationFrame(x)), await new Promise((x) => setTimeout(x, 10));
|
|
3045
3045
|
const y = u.value;
|
|
3046
3046
|
if (!(y instanceof HTMLElement)) return;
|
|
3047
3047
|
const M = y.querySelector(`[data-comment-id="${_}"]`);
|
|
@@ -3140,7 +3140,7 @@ const ur = { class: "app-layout" }, mr = { class: "editor-wrapper" }, dr = { cla
|
|
|
3140
3140
|
], 64))
|
|
3141
3141
|
], 512));
|
|
3142
3142
|
}
|
|
3143
|
-
}, ds = /* @__PURE__ */ Pt(rs, [["__scopeId", "data-v-
|
|
3143
|
+
}, ds = /* @__PURE__ */ Pt(rs, [["__scopeId", "data-v-d1af65ab"]]);
|
|
3144
3144
|
function fs() {
|
|
3145
3145
|
}
|
|
3146
3146
|
const hs = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComplexCommentPanel.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ComplexCommentPanel.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ComplexCommentPanel.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ComplexCommentPanel.vue"],"names":[],"mappings":"wBAu8BqB,OAAO,YAAY;;AAzBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAwBG"}
|
|
@@ -891,7 +891,7 @@ class Ot {
|
|
|
891
891
|
return t.blockRange(this);
|
|
892
892
|
for (let n = this.depth - (this.parent.inlineContent || this.pos == t.pos ? 1 : 0); n >= 0; n--)
|
|
893
893
|
if (t.pos <= this.end(n) && (!e || e(this.node(n))))
|
|
894
|
-
return new
|
|
894
|
+
return new Xt(this, t, n);
|
|
895
895
|
return null;
|
|
896
896
|
}
|
|
897
897
|
/**
|
|
@@ -940,7 +940,7 @@ class Ot {
|
|
|
940
940
|
@internal
|
|
941
941
|
*/
|
|
942
942
|
static resolveCached(t, e) {
|
|
943
|
-
let n =
|
|
943
|
+
let n = _e.get(t);
|
|
944
944
|
if (n)
|
|
945
945
|
for (let i = 0; i < n.elts.length; i++) {
|
|
946
946
|
let s = n.elts[i];
|
|
@@ -948,7 +948,7 @@ class Ot {
|
|
|
948
948
|
return s;
|
|
949
949
|
}
|
|
950
950
|
else
|
|
951
|
-
|
|
951
|
+
_e.set(t, n = new Br());
|
|
952
952
|
let o = n.elts[n.i] = Ot.resolve(t, e);
|
|
953
953
|
return n.i = (n.i + 1) % Dr, o;
|
|
954
954
|
}
|
|
@@ -958,8 +958,8 @@ class Br {
|
|
|
958
958
|
this.elts = [], this.i = 0;
|
|
959
959
|
}
|
|
960
960
|
}
|
|
961
|
-
const Dr = 12,
|
|
962
|
-
class
|
|
961
|
+
const Dr = 12, _e = /* @__PURE__ */ new WeakMap();
|
|
962
|
+
class Xt {
|
|
963
963
|
/**
|
|
964
964
|
Construct a node range. `$from` and `$to` should point into the
|
|
965
965
|
same node until at least the given `depth`, since a node range
|
|
@@ -1370,7 +1370,7 @@ class K {
|
|
|
1370
1370
|
}
|
|
1371
1371
|
}
|
|
1372
1372
|
K.prototype.text = void 0;
|
|
1373
|
-
class
|
|
1373
|
+
class _t extends K {
|
|
1374
1374
|
/**
|
|
1375
1375
|
@internal
|
|
1376
1376
|
*/
|
|
@@ -1392,10 +1392,10 @@ class Xt extends K {
|
|
|
1392
1392
|
return this.text.length;
|
|
1393
1393
|
}
|
|
1394
1394
|
mark(t) {
|
|
1395
|
-
return t == this.marks ? this : new
|
|
1395
|
+
return t == this.marks ? this : new _t(this.type, this.attrs, this.text, t);
|
|
1396
1396
|
}
|
|
1397
1397
|
withText(t) {
|
|
1398
|
-
return t == this.text ? this : new
|
|
1398
|
+
return t == this.text ? this : new _t(this.type, this.attrs, t, this.marks);
|
|
1399
1399
|
}
|
|
1400
1400
|
cut(t = 0, e = this.text.length) {
|
|
1401
1401
|
return t == 0 && e == this.text.length ? this : this.withText(this.text.slice(t, e));
|
|
@@ -1430,7 +1430,7 @@ class pt {
|
|
|
1430
1430
|
let o = Pn(n);
|
|
1431
1431
|
n.next && n.err("Unexpected trailing text");
|
|
1432
1432
|
let i = Gr(Ur(o));
|
|
1433
|
-
return
|
|
1433
|
+
return Xr(i, n), i;
|
|
1434
1434
|
}
|
|
1435
1435
|
/**
|
|
1436
1436
|
Match a node type, returning a match after that node if
|
|
@@ -1746,7 +1746,7 @@ function Gr(r) {
|
|
|
1746
1746
|
return i;
|
|
1747
1747
|
}
|
|
1748
1748
|
}
|
|
1749
|
-
function
|
|
1749
|
+
function Xr(r, t) {
|
|
1750
1750
|
for (let e = 0, n = [r]; e < n.length; e++) {
|
|
1751
1751
|
let o = n[e], i = !o.validEnd, s = [];
|
|
1752
1752
|
for (let l = 0; l < o.next.length; l++) {
|
|
@@ -1976,7 +1976,7 @@ class Kt {
|
|
|
1976
1976
|
return n;
|
|
1977
1977
|
}
|
|
1978
1978
|
}
|
|
1979
|
-
function
|
|
1979
|
+
function _r(r, t, e) {
|
|
1980
1980
|
let n = e.split("|");
|
|
1981
1981
|
return (o) => {
|
|
1982
1982
|
let i = o === null ? "null" : typeof o;
|
|
@@ -1986,7 +1986,7 @@ function Xr(r, t, e) {
|
|
|
1986
1986
|
}
|
|
1987
1987
|
class Kr {
|
|
1988
1988
|
constructor(t, e, n) {
|
|
1989
|
-
this.hasDefault = Object.prototype.hasOwnProperty.call(n, "default"), this.default = n.default, this.validate = typeof n.validate == "string" ?
|
|
1989
|
+
this.hasDefault = Object.prototype.hasOwnProperty.call(n, "default"), this.default = n.default, this.validate = typeof n.validate == "string" ? _r(t, e, n.validate) : n.validate;
|
|
1990
1990
|
}
|
|
1991
1991
|
get isRequired() {
|
|
1992
1992
|
return !this.hasDefault;
|
|
@@ -2098,7 +2098,7 @@ class Zr {
|
|
|
2098
2098
|
*/
|
|
2099
2099
|
text(t, e) {
|
|
2100
2100
|
let n = this.nodes.text;
|
|
2101
|
-
return new
|
|
2101
|
+
return new _t(n, n.defaultAttrs, t, O.setFrom(e));
|
|
2102
2102
|
}
|
|
2103
2103
|
/**
|
|
2104
2104
|
Create a mark with the given type and attributes.
|
|
@@ -3936,10 +3936,10 @@ new Dt("doc", {
|
|
|
3936
3936
|
return r.scrolledIntoView ? t + 1 : t;
|
|
3937
3937
|
}
|
|
3938
3938
|
});
|
|
3939
|
-
function
|
|
3939
|
+
function Xn(r, t, e) {
|
|
3940
3940
|
for (let n in r) {
|
|
3941
3941
|
let o = r[n];
|
|
3942
|
-
o instanceof Function ? o = o.bind(t) : n == "handleDOMEvents" && (o =
|
|
3942
|
+
o instanceof Function ? o = o.bind(t) : n == "handleDOMEvents" && (o = Xn(o, t, {})), e[n] = o;
|
|
3943
3943
|
}
|
|
3944
3944
|
return e;
|
|
3945
3945
|
}
|
|
@@ -3948,7 +3948,7 @@ class wt {
|
|
|
3948
3948
|
Create a plugin.
|
|
3949
3949
|
*/
|
|
3950
3950
|
constructor(t) {
|
|
3951
|
-
this.spec = t, this.props = {}, t.props &&
|
|
3951
|
+
this.spec = t, this.props = {}, t.props && Xn(t.props, this, this.props), this.key = t.key ? t.key.key : _n("plugin");
|
|
3952
3952
|
}
|
|
3953
3953
|
/**
|
|
3954
3954
|
Extract the plugin's state field from an editor state.
|
|
@@ -3958,7 +3958,7 @@ class wt {
|
|
|
3958
3958
|
}
|
|
3959
3959
|
}
|
|
3960
3960
|
const me = /* @__PURE__ */ Object.create(null);
|
|
3961
|
-
function
|
|
3961
|
+
function _n(r) {
|
|
3962
3962
|
return r in me ? r + "$" + ++me[r] : (me[r] = 0, r + "$");
|
|
3963
3963
|
}
|
|
3964
3964
|
class gt {
|
|
@@ -3966,7 +3966,7 @@ class gt {
|
|
|
3966
3966
|
Create a plugin key.
|
|
3967
3967
|
*/
|
|
3968
3968
|
constructor(t = "key") {
|
|
3969
|
-
this.key =
|
|
3969
|
+
this.key = _n(t);
|
|
3970
3970
|
}
|
|
3971
3971
|
/**
|
|
3972
3972
|
Get the active plugin with this key, if any, from an editor
|
|
@@ -4358,7 +4358,7 @@ function Eo(r, t, e, n = null) {
|
|
|
4358
4358
|
if (t.$from.index(t.depth - 1) == 0)
|
|
4359
4359
|
return !1;
|
|
4360
4360
|
let a = s.resolve(t.start - 2);
|
|
4361
|
-
i = new
|
|
4361
|
+
i = new Xt(a, a, t.depth), t.endIndex < t.parent.childCount && (t = new Xt(t.$from, s.resolve(t.$to.end(t.depth)), t.depth)), o = !0;
|
|
4362
4362
|
}
|
|
4363
4363
|
let l = Hn(i, e, n, t);
|
|
4364
4364
|
return l ? (r && Oo(r, t, l, o, e), !0) : !1;
|
|
@@ -4384,7 +4384,7 @@ function Io(r) {
|
|
|
4384
4384
|
}
|
|
4385
4385
|
function Po(r, t, e, n) {
|
|
4386
4386
|
let o = r.tr, i = n.end, s = n.$to.end(n.depth);
|
|
4387
|
-
i < s && (o.step(new j(i - 1, s, i, s, new C(y.from(e.create(null, n.parent.copy())), 1, 0), 1, !0)), n = new
|
|
4387
|
+
i < s && (o.step(new j(i - 1, s, i, s, new C(y.from(e.create(null, n.parent.copy())), 1, 0), 1, !0)), n = new Xt(o.doc.resolve(n.$from.pos), o.doc.resolve(s), n.depth));
|
|
4388
4388
|
const l = St(n);
|
|
4389
4389
|
if (l == null)
|
|
4390
4390
|
return !1;
|
|
@@ -4704,7 +4704,7 @@ const Wo = () => ({ editor: r, view: t }) => (requestAnimationFrame(() => {
|
|
|
4704
4704
|
n.deleteRange(r.from, r.to);
|
|
4705
4705
|
const s = n.mapping.map(t);
|
|
4706
4706
|
return n.insert(s, i.content), n.setSelection(new E(n.doc.resolve(s - 1))), !0;
|
|
4707
|
-
},
|
|
4707
|
+
}, Xo = () => ({ tr: r, dispatch: t }) => {
|
|
4708
4708
|
const { selection: e } = r, n = e.$anchor.node();
|
|
4709
4709
|
if (n.content.size > 0)
|
|
4710
4710
|
return !1;
|
|
@@ -4718,7 +4718,7 @@ const Wo = () => ({ editor: r, view: t }) => (requestAnimationFrame(() => {
|
|
|
4718
4718
|
return !0;
|
|
4719
4719
|
}
|
|
4720
4720
|
return !1;
|
|
4721
|
-
},
|
|
4721
|
+
}, _o = (r) => ({ tr: t, state: e, dispatch: n }) => {
|
|
4722
4722
|
const o = B(r, e.schema), i = t.selection.$anchor;
|
|
4723
4723
|
for (let s = i.depth; s > 0; s -= 1)
|
|
4724
4724
|
if (i.node(s).type === o) {
|
|
@@ -5363,10 +5363,10 @@ const Hi = ({ keepMarks: r = !0 } = {}) => ({ tr: t, state: e, dispatch: n, edit
|
|
|
5363
5363
|
const b = f().wrapInList(h, n), A = k.filter((T) => p.includes(T.type.name));
|
|
5364
5364
|
return i.ensureMarks(A), b ? !0 : c.clearNodes();
|
|
5365
5365
|
}).wrapInList(h, n).command(() => we(i, h)).command(() => ge(i, h)).run();
|
|
5366
|
-
},
|
|
5366
|
+
}, Xi = (r, t = {}, e = {}) => ({ state: n, commands: o }) => {
|
|
5367
5367
|
const { extendEmptyMarkRange: i = !1 } = e, s = it(r, n.schema);
|
|
5368
5368
|
return Bi(n, s, t) ? o.unsetMark(s, { extendEmptyMarkRange: i }) : o.setMark(s, t);
|
|
5369
|
-
},
|
|
5369
|
+
}, _i = (r, t, e = {}) => ({ state: n, commands: o }) => {
|
|
5370
5370
|
const i = B(r, n.schema), s = B(t, n.schema), l = Re(n, i, e);
|
|
5371
5371
|
let a;
|
|
5372
5372
|
return n.selection.$anchor.sameParent(n.selection.$head) && (a = n.selection.$anchor.parent.attrs), l ? o.setNode(s, a) : o.setNode(i, { ...a, ...e });
|
|
@@ -5458,8 +5458,8 @@ var rs = /* @__PURE__ */ Object.freeze({
|
|
|
5458
5458
|
command: Ho,
|
|
5459
5459
|
createParagraphNear: Uo,
|
|
5460
5460
|
cut: Go,
|
|
5461
|
-
deleteCurrentNode:
|
|
5462
|
-
deleteNode:
|
|
5461
|
+
deleteCurrentNode: Xo,
|
|
5462
|
+
deleteNode: _o,
|
|
5463
5463
|
deleteRange: Ko,
|
|
5464
5464
|
deleteSelection: Zo,
|
|
5465
5465
|
enter: Yo,
|
|
@@ -5501,8 +5501,8 @@ var rs = /* @__PURE__ */ Object.freeze({
|
|
|
5501
5501
|
splitBlock: Hi,
|
|
5502
5502
|
splitListItem: Ui,
|
|
5503
5503
|
toggleList: Gi,
|
|
5504
|
-
toggleMark:
|
|
5505
|
-
toggleNode:
|
|
5504
|
+
toggleMark: Xi,
|
|
5505
|
+
toggleNode: _i,
|
|
5506
5506
|
toggleWrap: Ki,
|
|
5507
5507
|
undoInputRule: Zi,
|
|
5508
5508
|
unsetAllMarks: Yi,
|
|
@@ -5688,19 +5688,19 @@ G.create({
|
|
|
5688
5688
|
];
|
|
5689
5689
|
}
|
|
5690
5690
|
});
|
|
5691
|
-
const ht = 20, Q = Sn([]), Jt = Sn(null), V = /* @__PURE__ */ new Map(), U = /* @__PURE__ */ new Map(),
|
|
5691
|
+
const ht = 20, Q = Sn([]), Jt = Sn(null), V = /* @__PURE__ */ new Map(), U = /* @__PURE__ */ new Map(), _ = /* @__PURE__ */ new Set();
|
|
5692
5692
|
function is(r, t) {
|
|
5693
5693
|
const e = Number.parseInt(r, 10);
|
|
5694
5694
|
return ((Number.isNaN(e) ? t : e) % ht + ht) % ht;
|
|
5695
5695
|
}
|
|
5696
5696
|
function ss(r) {
|
|
5697
|
-
if (
|
|
5697
|
+
if (_.delete(r.id), V.set(r.id, { ...r }), U.has(r.id)) {
|
|
5698
5698
|
const t = U.get(r.id);
|
|
5699
5699
|
U.delete(r.id), V.set(r.id, { ...V.get(r.id), ...t });
|
|
5700
5700
|
}
|
|
5701
5701
|
}
|
|
5702
5702
|
function ls(r, t) {
|
|
5703
|
-
if (
|
|
5703
|
+
if (_.has(r)) return;
|
|
5704
5704
|
if (V.has(r)) {
|
|
5705
5705
|
V.set(r, { ...V.get(r), ...t });
|
|
5706
5706
|
return;
|
|
@@ -5710,19 +5710,19 @@ function ls(r, t) {
|
|
|
5710
5710
|
}
|
|
5711
5711
|
function wn(r) {
|
|
5712
5712
|
if (V.has(r)) {
|
|
5713
|
-
V.delete(r), U.delete(r),
|
|
5713
|
+
V.delete(r), U.delete(r), _.delete(r);
|
|
5714
5714
|
return;
|
|
5715
5715
|
}
|
|
5716
|
-
U.delete(r),
|
|
5716
|
+
U.delete(r), _.add(r);
|
|
5717
5717
|
}
|
|
5718
5718
|
function as(r) {
|
|
5719
|
-
|
|
5719
|
+
_.delete(r);
|
|
5720
5720
|
}
|
|
5721
5721
|
function cs() {
|
|
5722
|
-
V.clear(), U.clear(),
|
|
5722
|
+
V.clear(), U.clear(), _.clear();
|
|
5723
5723
|
}
|
|
5724
5724
|
async function fs() {
|
|
5725
|
-
if (V.size === 0 && U.size === 0 &&
|
|
5725
|
+
if (V.size === 0 && U.size === 0 && _.size === 0) return null;
|
|
5726
5726
|
const r = Array.from(V.values()).map((n) => ({
|
|
5727
5727
|
id: n.id,
|
|
5728
5728
|
selectedText: n.selectedText,
|
|
@@ -5730,10 +5730,10 @@ async function fs() {
|
|
|
5730
5730
|
author: n.author,
|
|
5731
5731
|
colorIndex: n.colorIndex,
|
|
5732
5732
|
resolved: n.resolved
|
|
5733
|
-
})), t = Array.from(U.entries()).filter(([n]) => !
|
|
5733
|
+
})), t = Array.from(U.entries()).filter(([n]) => !_.has(n)).map(([n, o]) => ({ id: n, patch: o })), e = Array.from(_.values());
|
|
5734
5734
|
for (const n of r) V.delete(n.id);
|
|
5735
5735
|
for (const { id: n } of t) U.delete(n);
|
|
5736
|
-
for (const n of e)
|
|
5736
|
+
for (const n of e) _.delete(n);
|
|
5737
5737
|
return { creates: r, updates: t, deletes: e };
|
|
5738
5738
|
}
|
|
5739
5739
|
function Vs() {
|
|
@@ -5993,10 +5993,6 @@ const Hs = Yt.create({
|
|
|
5993
5993
|
return n && n(t), !0;
|
|
5994
5994
|
},
|
|
5995
5995
|
focusComment: (r) => ({ state: t, view: e }) => {
|
|
5996
|
-
try {
|
|
5997
|
-
if (globalThis && globalThis.__UMO_DEBUG_COMMENT_BLINK__) debugger;
|
|
5998
|
-
} catch {
|
|
5999
|
-
}
|
|
6000
5996
|
if (r == null || String(r).trim() === "") return !1;
|
|
6001
5997
|
const n = String(r).trim();
|
|
6002
5998
|
let o = null;
|
|
@@ -6264,7 +6260,7 @@ async function bs(r, t = [], e = "文档") {
|
|
|
6264
6260
|
async function Gs(r, t = "文档") {
|
|
6265
6261
|
return xs(r, [], t);
|
|
6266
6262
|
}
|
|
6267
|
-
async function
|
|
6263
|
+
async function Xs(r, t = "文档") {
|
|
6268
6264
|
const n = new DOMParser().parseFromString(r, "text/html"), o = Le(!1);
|
|
6269
6265
|
await je(o, Sr(n.body));
|
|
6270
6266
|
const i = Er(n.body, /* @__PURE__ */ new Map(), o), s = new ve();
|
|
@@ -6441,7 +6437,7 @@ function oe(r, t, e, n, o = []) {
|
|
|
6441
6437
|
const i = r, s = i.tagName.toLowerCase();
|
|
6442
6438
|
if (Nr.has(s)) return "";
|
|
6443
6439
|
if (Tr.has(s)) {
|
|
6444
|
-
const a = Es(s, i), c =
|
|
6440
|
+
const a = Es(s, i), c = X(i, t, {}, e, n, o);
|
|
6445
6441
|
return s === "p" ? `<w:p>${a}${c || "<w:r><w:t></w:t></w:r>"}</w:p>` : c ? `<w:p>${a}${c}</w:p>` : "";
|
|
6446
6442
|
}
|
|
6447
6443
|
if (s === "table") {
|
|
@@ -6458,7 +6454,7 @@ function oe(r, t, e, n, o = []) {
|
|
|
6458
6454
|
const a = i.getAttribute("data-type") || "signle", f = (i.getAttribute("data-color") || "#000000").replace(/^#/, ""), u = ks[a] || { val: "single", sz: "6" };
|
|
6459
6455
|
return `<w:p><w:pPr><w:pBdr><w:bottom w:val="${u.val}" w:color="${f}" w:sz="${u.sz}" w:space="1"/></w:pBdr></w:pPr></w:p>`;
|
|
6460
6456
|
}
|
|
6461
|
-
const l =
|
|
6457
|
+
const l = X(i, t, {}, e, n, o);
|
|
6462
6458
|
return l ? `<w:p>${l}</w:p>` : "";
|
|
6463
6459
|
}
|
|
6464
6460
|
function As(r, t, e, n) {
|
|
@@ -6525,8 +6521,8 @@ function As(r, t, e, n) {
|
|
|
6525
6521
|
const { el: I, colspan: P, rowspan: z } = R, ot = P > 1, Z = z > 1, L = (I.getAttribute("style") || "").match(/vertical-align\s*:\s*(top|middle|bottom)/i), le = L ? L[1].toLowerCase() : "middle", Ge = { top: "top", middle: "center", bottom: "bottom" };
|
|
6526
6522
|
let ae = 0;
|
|
6527
6523
|
for (let Y = 0; Y < P; Y++) {
|
|
6528
|
-
const
|
|
6529
|
-
ae += Number.isFinite(
|
|
6524
|
+
const Xe = p[T + Y];
|
|
6525
|
+
ae += Number.isFinite(Xe) ? Xe : Math.round(f / c);
|
|
6530
6526
|
}
|
|
6531
6527
|
const vt = [];
|
|
6532
6528
|
if (ot && vt.push(`<w:gridSpan w:val="${P}"/>`), le && Ge[le] && vt.push(`<w:vAlign w:val="${Ge[le]}"/>`), Z) {
|
|
@@ -6587,7 +6583,7 @@ function Ts(r, t, e, n) {
|
|
|
6587
6583
|
<w:pgMar w:top="1800" w:right="1800" w:bottom="1800" w:left="1800" w:header="851" w:footer="992" w:gutter="0"/>
|
|
6588
6584
|
</w:sectPr></w:pPr></w:p>`, h;
|
|
6589
6585
|
}
|
|
6590
|
-
function
|
|
6586
|
+
function X(r, t, e, n, o, i = []) {
|
|
6591
6587
|
let s = "";
|
|
6592
6588
|
for (const l of r.childNodes)
|
|
6593
6589
|
s += Ns(l, t, e, n, o, i);
|
|
@@ -6606,15 +6602,15 @@ function Ns(r, t, e, n, o, i = []) {
|
|
|
6606
6602
|
);
|
|
6607
6603
|
if (a.length) {
|
|
6608
6604
|
const c = xr(i, a);
|
|
6609
|
-
return
|
|
6605
|
+
return X(s, t, e, n, o, c);
|
|
6610
6606
|
}
|
|
6611
|
-
return
|
|
6607
|
+
return X(s, t, e, n, o, i);
|
|
6612
6608
|
}
|
|
6613
6609
|
if (l === "span") {
|
|
6614
6610
|
const a = Ms(s, e);
|
|
6615
|
-
return
|
|
6611
|
+
return X(s, t, a, n, o, i);
|
|
6616
6612
|
}
|
|
6617
|
-
return l === "strong" || l === "b" ?
|
|
6613
|
+
return l === "strong" || l === "b" ? X(s, t, { ...e, bold: !0 }, n, o, i) : l === "em" || l === "i" ? X(s, t, { ...e, italic: !0 }, n, o, i) : l === "u" ? X(s, t, { ...e, underline: !0 }, n, o, i) : l === "s" || l === "del" || l === "strike" ? X(s, t, { ...e, strike: !0 }, n, o, i) : l === "br" ? "<w:r><w:br/></w:r>" : l === "inline-img" || l === "img" ? ys(s, n) : X(s, t, e, n, o, i);
|
|
6618
6614
|
}
|
|
6619
6615
|
function Ms(r, t) {
|
|
6620
6616
|
const e = r.getAttribute("style") || "", n = e.match(/font-family\s*:\s*([^;]+)/i), o = n ? n[1].trim().replace(/["']/g, "") : null, i = e.match(/font-size\s*:\s*([\d.]+)(px|pt)/i);
|
|
@@ -7211,7 +7207,7 @@ export {
|
|
|
7211
7207
|
G as E,
|
|
7212
7208
|
xs as a,
|
|
7213
7209
|
bs as b,
|
|
7214
|
-
|
|
7210
|
+
Xs as c,
|
|
7215
7211
|
ht as d,
|
|
7216
7212
|
Us as e,
|
|
7217
7213
|
Gs as f,
|
package/dist/wordDocxExport.js
CHANGED