@@ -2248,6 +2248,155 @@ body.react-chat-window-dragging {
22482248 }
22492249}
22502250
2251+ /* ===== 截图标注工具栏 ===== */
2252+ .crop-toolbar {
2253+ position : absolute;
2254+ z-index : 6 ;
2255+ display : flex;
2256+ flex-wrap : wrap;
2257+ align-items : center;
2258+ gap : 4px ;
2259+ max-width : calc (100vw - 24px );
2260+ padding : 6px 8px ;
2261+ border-radius : 12px ;
2262+ background : rgba (8 , 11 , 18 , 0.85 );
2263+ border : 1px solid rgba (255 , 255 , 255 , 0.12 );
2264+ box-shadow : 0 12px 36px rgba (0 , 0 , 0 , 0.4 );
2265+ backdrop-filter : blur (18px );
2266+ -webkit-backdrop-filter : blur (18px );
2267+ pointer-events : auto;
2268+ user-select : none;
2269+ animation : crop-fade-in 0.15s ease;
2270+ }
2271+
2272+ .crop-tool-group {
2273+ display : flex;
2274+ align-items : center;
2275+ gap : 2px ;
2276+ }
2277+
2278+ .crop-tool-divider {
2279+ width : 1px ;
2280+ align-self : stretch;
2281+ margin : 4px ;
2282+ background : rgba (255 , 255 , 255 , 0.14 );
2283+ }
2284+
2285+ /* 按钮观感对齐 react 输入框的 .composer-tool-btn */
2286+ .crop-tool-btn {
2287+ display : inline-flex;
2288+ align-items : center;
2289+ justify-content : center;
2290+ width : 32px ;
2291+ height : 32px ;
2292+ padding : 0 ;
2293+ border : 0 ;
2294+ border-radius : 6px ;
2295+ background : transparent;
2296+ color : rgba (255 , 255 , 255 , 0.82 );
2297+ cursor : pointer;
2298+ transition : background 0.15s ease, color 0.15s ease;
2299+ }
2300+
2301+ .crop-tool-btn : hover {
2302+ background : rgba (68 , 183 , 254 , 0.12 );
2303+ color : # 8bd8ff ;
2304+ }
2305+
2306+ .crop-tool-btn .is-active {
2307+ background : rgba (68 , 183 , 254 , 0.18 );
2308+ color : # 44b7fe ;
2309+ }
2310+
2311+ .crop-tool-btn : disabled {
2312+ opacity : 0.4 ;
2313+ cursor : not-allowed;
2314+ }
2315+
2316+ .crop-tool-btn svg {
2317+ display : block;
2318+ pointer-events : none;
2319+ }
2320+
2321+ .crop-tool-btn : focus-visible ,
2322+ .crop-color-swatch : focus-visible ,
2323+ .crop-width-btn : focus-visible {
2324+ outline : 2px solid rgba (68 , 183 , 254 , 0.85 );
2325+ outline-offset : 1px ;
2326+ }
2327+
2328+ .crop-tool-confirm { color : # 34c759 ; }
2329+ .crop-tool-confirm : hover { background : rgba (52 , 199 , 89 , 0.16 ); color : # 4cd964 ; }
2330+ .crop-tool-confirm .is-active { background : rgba (52 , 199 , 89 , 0.16 ); color : # 34c759 ; }
2331+
2332+ .crop-tool-cancel { color : # ff6b7a ; }
2333+ .crop-tool-cancel : hover { background : rgba (220 , 53 , 69 , 0.18 ); color : # ff8a97 ; }
2334+
2335+ /* 调色板 */
2336+ .crop-color-swatch {
2337+ width : 18px ;
2338+ height : 18px ;
2339+ margin : 0 1px ;
2340+ padding : 0 ;
2341+ border-radius : 50% ;
2342+ border : 2px solid rgba (255 , 255 , 255 , 0.25 );
2343+ cursor : pointer;
2344+ transition : transform 0.12s ease, border-color 0.15s ease, box-shadow 0.15s ease;
2345+ }
2346+
2347+ .crop-color-swatch : hover { transform : scale (1.12 ); }
2348+
2349+ .crop-color-swatch .is-active {
2350+ border-color : # fff ;
2351+ box-shadow : 0 0 0 2px rgba (68 , 183 , 254 , 0.7 );
2352+ }
2353+
2354+ /* 线宽 S / M / L */
2355+ .crop-width-btn {
2356+ min-width : 26px ;
2357+ height : 28px ;
2358+ padding : 0 6px ;
2359+ border : 0 ;
2360+ border-radius : 6px ;
2361+ background : transparent;
2362+ color : rgba (255 , 255 , 255 , 0.7 );
2363+ font-size : 0.8rem ;
2364+ font-weight : 600 ;
2365+ cursor : pointer;
2366+ transition : background 0.15s ease, color 0.15s ease;
2367+ }
2368+
2369+ .crop-width-btn : hover { background : rgba (68 , 183 , 254 , 0.12 ); color : # 8bd8ff ; }
2370+ .crop-width-btn .is-active { background : rgba (68 , 183 , 254 , 0.18 ); color : # 44b7fe ; }
2371+
2372+ /* 文字工具的浮层 textarea */
2373+ .crop-text-editor {
2374+ position : absolute;
2375+ z-index : 7 ;
2376+ margin : 0 ;
2377+ padding : 1px 2px ;
2378+ min-width : 40px ;
2379+ border : 1px dashed rgba (68 , 183 , 254 , 0.9 );
2380+ border-radius : 3px ;
2381+ background : rgba (0 , 0 , 0 , 0.18 );
2382+ color : # fff ;
2383+ font-family : -apple-system, BlinkMacSystemFont, "Segoe UI" , "Microsoft YaHei" , sans-serif;
2384+ font-weight : 600 ;
2385+ line-height : 1.28 ;
2386+ white-space : pre;
2387+ overflow : hidden;
2388+ outline : none;
2389+ resize : none;
2390+ pointer-events : auto;
2391+ caret-color : currentColor;
2392+ }
2393+
2394+ /* 绘图工具激活时隐藏选区手柄与网格线,避免误触 */
2395+ .crop-selection-box .crop-selection-box--drawing .crop-selection-handle ,
2396+ .crop-selection-box .crop-selection-box--drawing .crop-selection-grid-line {
2397+ display : none;
2398+ }
2399+
22512400# text-input-row {
22522401 display : flex;
22532402 gap : 8px ;
0 commit comments