mind-map/packages/dsh-plugin/bundle/web/assets/index-CACgBf2I.css
oliver 4c9bd5b86f feat: add PNG/SVG export and expandable card property tips
Toolbar exports PNG (fit+raster) and SVG; card click expands full fields, hover shows property tooltips, double-click opens the editor.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-17 10:43:33 +08:00

1 line
18 KiB
CSS

.ns-editor{--ns-bg: color-mix( in srgb, #2d3444 88%, var(--dsw-alias-bg-layer-1, #1b1e28) );--ns-border: rgba(255, 255, 255, .2);--ns-label: var(--dsw-alias-label-secondary, #a5adb8);--ns-text: var(--dsw-alias-label-primary, #f4f5f7);--ns-brand: var(--dsw-alias-brand-primary, #5e6ad2);--ns-input: rgba(255, 255, 255, .06);--ns-font: "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;display:flex;flex-direction:column;gap:0;background:var(--ns-bg);border:1px solid var(--ns-border);border-radius:16px;overflow:visible;backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 10px 28px #00000073,0 22px 56px #00000061;color:var(--ns-text);font-family:var(--ns-font);font-size:12.5px;line-height:1.45;min-width:248px;max-width:320px}.ns-editor--panel{box-shadow:none;max-width:none;width:100%;background:transparent;border:none;border-radius:0;backdrop-filter:none;-webkit-backdrop-filter:none}.ns-editor__header{display:flex;align-items:center;gap:10px;padding:12px 14px 8px;background:transparent;border-bottom:none;border-radius:16px 16px 0 0;cursor:grab;-webkit-user-select:none;user-select:none;overflow:hidden}.ns-editor--panel .ns-editor__header{border-radius:0;background:transparent}.ns-editor__header:active{cursor:grabbing}.ns-editor__dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;background:var(--ns-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--ns-brand) 28%,transparent)}.ns-editor__title{flex:1;min-width:0;border:none;background:transparent;color:var(--ns-text);font-family:inherit;font-weight:600;font-size:13.5px;letter-spacing:.01em;padding:2px 0;outline:none}.ns-editor__title:focus{box-shadow:inset 0 -1.5px 0 var(--ns-brand)}.ns-editor__body{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px}.ns-meta-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 4px 10px}.ns-chip{display:inline-flex;align-items:baseline;gap:6px;max-width:100%;padding:4px 8px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);font-size:11px;line-height:1.3}.ns-chip__k{color:var(--ns-label);font-weight:500;flex-shrink:0}.ns-chip__v{color:var(--ns-text);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ns-chip__v.is-expanded,.ns-editor--expanded .ns-chip__v{white-space:normal;overflow:visible;text-overflow:unset;word-break:break-word}.ns-kv{margin:4px 2px 6px;padding:4px 2px 6px;border-radius:0;background:transparent;border:none}.ns-kv__title{font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--ns-label);margin:0 2px 8px}.ns-kv__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.ns-kv__row{display:grid;grid-template-columns:minmax(64px,.34fr) 1fr auto;gap:6px;align-items:center;padding:2px 0;border-top:none}.ns-kv__row:first-child{border-top:none;padding-top:0}.ns-kv__key,.ns-kv__val{width:100%;min-width:0;border:1px solid transparent;background:var(--ns-input);color:var(--ns-text);font-family:inherit;font-size:12px;border-radius:8px;padding:6px 8px;outline:none}.ns-kv__key{color:var(--ns-label);font-weight:500}.ns-kv__key:focus,.ns-kv__val:focus{border-color:color-mix(in srgb,var(--ns-brand) 70%,transparent);background:#ffffff0e}.ns-kv__del{border:none;background:transparent;color:var(--ns-label);padding:4px 6px;border-radius:6px;cursor:pointer;opacity:.7}.ns-kv__del:hover{opacity:1;color:var(--ns-text);background:#ffffff0f}.ns-kv__add,.ns-kv__reveal{width:100%;margin-top:8px;border:1px dashed rgba(255,255,255,.14);background:transparent;color:var(--ns-label);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:11.5px;cursor:pointer}.ns-kv__reveal{margin:6px 2px}.ns-kv__add:hover,.ns-kv__reveal:hover{border-color:var(--ns-brand);color:var(--ns-text)}.ns-advanced{margin:6px 2px 2px;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0000001f;overflow:hidden}.ns-advanced>summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 10px;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--ns-label)}.ns-advanced>summary::-webkit-details-marker{display:none}.ns-advanced>summary:before{content:"▸";display:inline-block;margin-right:6px;transition:transform .12s ease}.ns-advanced[open]>summary:before{transform:rotate(90deg)}.ns-advanced[open]>summary{color:var(--ns-text);border-bottom:1px solid rgba(255,255,255,.06)}.ns-advanced__body{padding:4px 6px 8px}.ns-advanced__add{width:100%;border:1px dashed rgba(255,255,255,.12);background:transparent;color:var(--ns-label);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:11.5px;cursor:pointer}.ns-advanced__add:hover{border-color:var(--ns-brand);color:var(--ns-text)}.ns-row{display:grid;grid-template-columns:1fr;gap:4px;align-items:start;padding:8px 6px;border-radius:8px}.ns-row:hover{background:#ffffff09}.ns-row__label{color:var(--ns-label);font-size:11px;font-weight:500;letter-spacing:.02em;line-height:1.2;-webkit-user-select:none;user-select:none}.ns-row__ctrl{min-width:0;display:flex;gap:6px;align-items:flex-start}.ns-row__ctrl input,.ns-row__ctrl textarea,.ns-row__ctrl select{flex:1;width:100%;border:1px solid transparent;background:var(--ns-input);color:var(--ns-text);font-family:inherit;font-size:12.5px;border-radius:8px;padding:7px 10px;outline:none;resize:vertical;transition:border-color .12s ease,background .12s ease;color-scheme:dark}.ns-row__ctrl select option{color:#f4f5f7;background:#1b1e28}.ns-row__ctrl input:focus,.ns-row__ctrl textarea:focus,.ns-row__ctrl select:focus{border-color:color-mix(in srgb,var(--ns-brand) 70%,transparent);background:#ffffff0e}.ns-row__clear{border:none;background:transparent;color:var(--ns-label);padding:6px;font-size:11px;line-height:1;opacity:.65;border-radius:6px;flex-shrink:0}.ns-row__clear:hover{opacity:1;color:var(--ns-text);background:#ffffff0f}.ns-thumb{width:100%;max-height:140px;height:auto;object-fit:contain;object-position:center;border-radius:8px;background:#00000038;display:block;margin-bottom:6px}.ns-row__ctrl--image{flex-direction:column;align-items:stretch;gap:6px}.ns-image-actions{display:flex;gap:6px;align-items:center;width:100%}.ns-image-pick{flex-shrink:0;border:1px solid var(--ns-border);background:#ffffff0f;color:var(--ns-text);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:12px;cursor:pointer}.ns-image-pick:hover:not(:disabled){border-color:var(--ns-brand)}.ns-image-pick:disabled{opacity:.6;cursor:wait}.ns-image-url{flex:1;min-width:0}.ns-image-hint{font-size:10.5px;color:var(--ns-label);line-height:1.3}.ns-image-err{font-size:11px;color:#f87171}.ns-add{margin:2px 10px 10px;position:relative;z-index:6}.ns-add__btn{width:100%;border:1px dashed color-mix(in srgb,var(--ns-border) 80%,transparent);background:transparent;color:var(--ns-label);border-radius:10px;padding:8px 10px;font-family:inherit;font-size:11.5px;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.ns-add__btn:hover{border-color:var(--ns-brand);color:var(--ns-text);background:#ffffff08}.ns-add__menu{position:absolute;left:0;right:0;top:calc(100% + 6px);bottom:auto;background:color-mix(in srgb,var(--dsw-alias-bg-layer-1, #1b1e28) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--ns-border);border-radius:10px;padding:4px;z-index:20;box-shadow:0 12px 28px #00000073;max-height:220px;overflow:auto;pointer-events:auto}.ns-add__item{display:block;width:100%;text-align:left;border:none;background:transparent;color:var(--ns-text);font-family:inherit;padding:8px 10px;border-radius:8px;font-size:12px}.ns-add__item:hover{background:#ffffff12}.ns-overlay{position:absolute;z-index:8;pointer-events:none;transform-origin:center center}.ns-editor{pointer-events:none}.ns-editor--panel,.ns-editor__title,.ns-editor__body,.ns-add{pointer-events:auto}:root{color:var(--dsw-alias-label-primary, #f4f5f7);background:var(--dsw-alias-bg-base, #101014);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.45}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;overflow:hidden}button,input{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .08));background:var(--dsw-specific-selector, rgba(255, 255, 255, .08));border-radius:8px;padding:6px 10px}button:hover{background:var(--dsw-alias-interactive-bg-hover, rgba(94, 106, 210, .16))}button.primary{background:var(--dsw-alias-brand-primary, #5e6ad2);color:var(--dsw-alias-brand-text, #fff);border-color:transparent}input{background:var(--dsw-specific-input-major, rgba(255, 255, 255, .08));border:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .08));border-radius:8px;padding:6px 8px;outline:none}.app-shell{display:grid;grid-template-rows:48px 1fr;height:100%}.app-shell.embed{grid-template-rows:1fr}.embed-main{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:1fr;min-height:0;height:100%}.topbar{display:flex;align-items:center;gap:8px;padding:0 12px;border-bottom:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .08));background:var(--dsw-alias-bg-layer-1, #1b1e28)}.topbar .brand{font-weight:650;letter-spacing:.02em;margin-right:8px}.topbar .spacer{flex:1}.main{display:grid;grid-template-columns:var(--left, 240px) 1fr;min-height:0}.main.left-collapsed{grid-template-columns:1fr}.panel{min-width:0;min-height:0;border-right:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .08));background:var(--dsw-specific-sidebar-fill, rgba(16, 16, 20, .92));display:flex;flex-direction:column}.panel-header{padding:10px 12px;font-weight:600;color:var(--dsw-alias-label-secondary, #a5adb8);border-bottom:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .08))}.panel-body{flex:1;overflow:auto;padding:8px}.canvas-host{position:relative;min-width:0;min-height:0;background:var(--dsw-alias-bg-base, #101014)}.canvas-host canvas{width:100%;height:100%;display:block;touch-action:none}.canvas-list-item,.outline-item{padding:8px 10px;border-radius:8px;margin-bottom:4px;cursor:pointer;color:var(--dsw-alias-label-primary, #f4f5f7)}.canvas-list-item:hover,.outline-item:hover{background:var(--dsw-specific-sidebar-nav-item-hover, rgba(255, 255, 255, .05))}.canvas-list-item.active,.outline-item.active{background:var(--dsw-specific-sidebar-nav-item-active, rgba(255, 255, 255, .09))}.muted{color:var(--dsw-alias-label-tertiary, #7b838f)}.skin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.skin-swatch{height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer}.skin-swatch.active{border-color:var(--dsw-alias-brand-primary, #5e6ad2)}.proposal-box{padding:8px 10px;border-top:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .08));max-height:180px;overflow:auto}.proposal-item{padding:8px;border-radius:8px;margin-bottom:6px;background:var(--dsw-specific-selector, rgba(255, 255, 255, .06))}.canvas-hint{position:absolute;left:56px;bottom:10px;font-size:12px;pointer-events:none;opacity:.75;max-width:calc(100% - 240px);z-index:1}.canvas-controls{position:absolute;left:12px;bottom:12px;z-index:4;display:flex;flex-direction:column;overflow:hidden;border-radius:8px;border:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .12));background:color-mix(in srgb,var(--dsw-alias-bg-layer1, #1a1d27) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 4px 18px #00000047}.canvas-controls__btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:0;border-bottom:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .1));border-radius:0;background:transparent;color:var(--dsw-alias-label-secondary, #a5adb8);cursor:pointer}.canvas-controls__btn:last-child{border-bottom:0}.canvas-controls__btn:hover{background:var(--dsw-specific-sidebar-nav-item-hover, rgba(255, 255, 255, .06));color:var(--dsw-alias-label-primary, #f4f5f7)}.canvas-controls__btn.is-active{color:var(--dsw-alias-state-warning, #d4a017);background:#d4a0171f}.canvas-controls__btn svg{display:block}.canvas-toolbar{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:10px;background:color-mix(in srgb,var(--dsw-alias-bg-layer1, #1a1d27) 92%,transparent);border:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .1));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4;box-shadow:0 4px 18px #00000038;max-width:calc(100% - 24px)}.canvas-toolbar__group{display:flex;align-items:center;gap:2px}.canvas-toolbar__sep{width:1px;height:18px;background:var(--dsw-alias-border-l1, rgba(255, 255, 255, .12));margin:0 2px}.canvas-toolbar__zoom{font-size:11px;color:var(--dsw-alias-label-tertiary, #7b838f);min-width:36px;text-align:right;padding-left:4px}.canvas-tool-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--dsw-alias-label-secondary, #a5adb8);font-size:12px;line-height:1;padding:6px 9px;border-radius:7px;cursor:pointer;white-space:nowrap}.canvas-tool-btn:disabled{opacity:.35;cursor:default}.canvas-tool-btn:hover{background:var(--dsw-specific-sidebar-nav-item-hover, rgba(255, 255, 255, .06));color:var(--dsw-alias-label-primary, #f4f5f7)}.canvas-tool-btn.is-active{background:var(--dsw-specific-sidebar-nav-item-active, rgba(255, 255, 255, .1));color:var(--dsw-alias-brand-primary, #5e6ad2)}.canvas-style-menu{position:relative}.canvas-style-menu__trigger:disabled{opacity:.45}.canvas-style-menu__panel{position:absolute;left:0;top:calc(100% + 6px);z-index:40;min-width:112px;padding:4px;border-radius:8px;border:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .12));background:var(--dsw-alias-bg-layer-1, #1b1e28);box-shadow:0 10px 28px #00000073;display:flex;flex-direction:column;gap:2px}.canvas-style-menu__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--dsw-alias-label-secondary, #a5adb8);font-size:12px;text-align:left;padding:7px 10px;border-radius:6px;cursor:pointer}.canvas-style-menu__item:hover{background:#ffffff14;color:var(--dsw-alias-label-primary, #f4f5f7)}.canvas-style-menu__item.is-active{background:var(--dsw-specific-sidebar-nav-item-active, rgba(255, 255, 255, .1));color:var(--dsw-alias-brand-primary, #5e6ad2)}.canvas-host.is-locked .canvas-tool-btn.is-active{color:var(--dsw-alias-state-warning, #d4a017)}.canvas-minimap{position:absolute;right:12px;bottom:12px;width:168px;height:118px;border-radius:10px;overflow:hidden;border:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .14));background:color-mix(in srgb,var(--dsw-alias-bg-layer1, #1a1d27) 88%,transparent);box-shadow:0 6px 20px #00000047;cursor:crosshair;z-index:3}.canvas-minimap canvas{display:block;width:100%;height:100%}.trash-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:8px;margin-bottom:4px;background:var(--dsw-specific-selector, rgba(255, 255, 255, .06))}.trash-item button{padding:4px 8px;font-size:12px}.node-handles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4}.node-handle{position:absolute;pointer-events:auto;width:20px;height:20px;border-radius:999px;border:1px solid var(--dsw-alias-brand-primary, #5e6ad2);background:var(--dsw-alias-bg-layer-1, #1b1e28);color:var(--dsw-alias-brand-primary, #5e6ad2);font-size:14px;line-height:1;padding:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000059}.node-handle:hover{background:var(--dsw-alias-brand-primary, #5e6ad2);color:var(--dsw-alias-brand-text, #fff)}.hover-card{position:absolute;z-index:5;max-width:280px;min-width:180px;padding:12px 14px;border-radius:14px;border:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .12));background:color-mix(in srgb,var(--dsw-alias-bg-layer-1, #1b1e28) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 1px #ffffff0d inset,0 12px 36px #0000006b;pointer-events:none;font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif}.hover-card__title{font-weight:600;font-size:13.5px;letter-spacing:.01em;line-height:1.35;margin-bottom:6px;color:var(--dsw-alias-label-primary, #f4f5f7)}.hover-card__note{font-size:12px;line-height:1.45;color:var(--dsw-alias-label-secondary, #a5adb8);margin-bottom:8px}.hover-card__tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px}.hover-card__tag{font-size:11px;font-weight:500;padding:2px 8px;border-radius:999px;background:#ffffff12;border:1px solid rgba(255,255,255,.06);color:var(--dsw-alias-label-secondary, #a5adb8)}.hover-card__meta{font-size:11px;color:var(--dsw-alias-label-tertiary, #7b838f);line-height:1.35}.prop-tooltip{position:absolute;z-index:8;max-width:320px;min-width:140px;padding:10px 12px;border-radius:12px;border:1px solid var(--dsw-alias-border-l1, rgba(255, 255, 255, .14));background:color-mix(in srgb,var(--dsw-alias-bg-layer-1, #1b1e28) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px #ffffff0f inset,0 14px 40px #0000007a;pointer-events:none;font-family:Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,system-ui,sans-serif}.prop-tooltip__label{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--dsw-alias-label-secondary, #a5adb8);margin-bottom:4px}.prop-tooltip__value{font-size:12.5px;font-weight:500;line-height:1.45;color:var(--dsw-alias-label-primary, #f4f5f7);white-space:pre-wrap;word-break:break-word}.edit-overlay{position:absolute;z-index:6;min-width:140px;padding:6px 10px;border-radius:10px;border:1px solid var(--dsw-alias-brand-primary, #5e6ad2);background:var(--dsw-alias-bg-layer-1, #1b1e28);color:var(--dsw-alias-label-primary, #f4f5f7);font:600 13px Segoe UI,PingFang SC,Microsoft YaHei,system-ui,sans-serif;box-shadow:0 8px 24px #0006;outline:none}.inspector{display:flex;flex-direction:column;gap:10px;padding:4px 0 12px}.inspector__title{font-weight:600;font-size:13px}.inspector__field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--dsw-alias-label-secondary, #a5adb8)}.inspector__field input,.inspector__field textarea,.inspector__field select{width:100%;color:var(--dsw-alias-label-primary, #f4f5f7)}.inspector__field textarea{resize:vertical;min-height:56px}.inspector__row{display:flex;gap:8px;flex-wrap:wrap}