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.
@@ -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-BcDXFm-b.js";
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, 0));
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-448ac300"]]);
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":"wBAy8BqB,OAAO,YAAY;;AAzBxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAwBG"}
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 _t(this, t, n);
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 = Xe.get(t);
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
- Xe.set(t, n = new Br());
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, Xe = /* @__PURE__ */ new WeakMap();
962
- class _t {
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 Xt extends K {
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 Xt(this.type, this.attrs, this.text, t);
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 Xt(this.type, this.attrs, t, this.marks);
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 _r(i, n), i;
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 _r(r, t) {
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 Xr(r, t, e) {
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" ? Xr(t, e, n.validate) : n.validate;
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 Xt(n, n.defaultAttrs, t, O.setFrom(e));
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 _n(r, t, e) {
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 = _n(o, t, {})), e[n] = 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 && _n(t.props, this, this.props), this.key = t.key ? t.key.key : Xn("plugin");
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 Xn(r) {
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 = Xn(t);
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 _t(a, a, t.depth), t.endIndex < t.parent.childCount && (t = new _t(t.$from, s.resolve(t.$to.end(t.depth)), t.depth)), o = !0;
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 _t(o.doc.resolve(n.$from.pos), o.doc.resolve(s), 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 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
- }, _o = () => ({ tr: r, dispatch: t }) => {
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
- }, Xo = (r) => ({ tr: t, state: e, dispatch: n }) => {
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
- }, _i = (r, t = {}, e = {}) => ({ state: n, commands: o }) => {
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
- }, Xi = (r, t, e = {}) => ({ state: n, commands: o }) => {
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: _o,
5462
- deleteNode: Xo,
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: _i,
5505
- toggleNode: Xi,
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(), X = /* @__PURE__ */ new Set();
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 (X.delete(r.id), V.set(r.id, { ...r }), U.has(r.id)) {
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 (X.has(r)) return;
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), X.delete(r);
5713
+ V.delete(r), U.delete(r), _.delete(r);
5714
5714
  return;
5715
5715
  }
5716
- U.delete(r), X.add(r);
5716
+ U.delete(r), _.add(r);
5717
5717
  }
5718
5718
  function as(r) {
5719
- X.delete(r);
5719
+ _.delete(r);
5720
5720
  }
5721
5721
  function cs() {
5722
- V.clear(), U.clear(), X.clear();
5722
+ V.clear(), U.clear(), _.clear();
5723
5723
  }
5724
5724
  async function fs() {
5725
- if (V.size === 0 && U.size === 0 && X.size === 0) return null;
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]) => !X.has(n)).map(([n, o]) => ({ id: n, patch: o })), e = Array.from(X.values());
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) X.delete(n);
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 _s(r, t = "文档") {
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 = _(i, t, {}, e, n, o);
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 = _(i, t, {}, e, n, o);
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 _e = p[T + Y];
6529
- ae += Number.isFinite(_e) ? _e : Math.round(f / c);
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 _(r, t, e, n, o, i = []) {
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 _(s, t, e, n, o, c);
6605
+ return X(s, t, e, n, o, c);
6610
6606
  }
6611
- return _(s, t, e, n, o, i);
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 _(s, t, a, n, o, i);
6611
+ return X(s, t, a, n, o, i);
6616
6612
  }
6617
- return l === "strong" || l === "b" ? _(s, t, { ...e, bold: !0 }, n, o, i) : l === "em" || l === "i" ? _(s, t, { ...e, italic: !0 }, n, o, i) : l === "u" ? _(s, t, { ...e, underline: !0 }, n, o, i) : l === "s" || l === "del" || l === "strike" ? _(s, t, { ...e, strike: !0 }, n, o, i) : l === "br" ? "<w:r><w:br/></w:r>" : l === "inline-img" || l === "img" ? ys(s, n) : _(s, t, e, n, o, i);
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
- _s as c,
7210
+ Xs as c,
7215
7211
  ht as d,
7216
7212
  Us as e,
7217
7213
  Gs as f,
@@ -1,5 +1,5 @@
1
1
  import "./jszip.min-DBnuU6az.js";
2
- import { f as r, c as e, e as p, b as s, a } from "./wordDocxExport-BcDXFm-b.js";
2
+ import { f as r, c as e, e as p, b as s, a } from "./wordDocxExport-DyFbvZqL.js";
3
3
  export {
4
4
  r as exportHtmlToDocx,
5
5
  e as exportHtmlToDocxBlob,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ai-word-editor",
3
3
  "private": false,
4
- "version": "0.0.76",
4
+ "version": "0.0.77",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",