auto-coder-web 0.1.7__py3-none-any.whl → 0.1.8__py3-none-any.whl
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.
- auto_coder_web/auto_coder_runner.py +51 -6
- auto_coder_web/proxy.py +71 -1
- auto_coder_web/version.py +1 -1
- auto_coder_web/web/asset-manifest.json +6 -6
- auto_coder_web/web/index.html +1 -1
- auto_coder_web/web/static/css/main.7f8664fc.css +6 -0
- auto_coder_web/web/static/css/main.7f8664fc.css.map +1 -0
- auto_coder_web/web/static/js/main.5b5d887a.js +3 -0
- auto_coder_web/web/static/js/main.5b5d887a.js.LICENSE.txt +121 -0
- auto_coder_web/web/static/js/main.5b5d887a.js.map +1 -0
- {auto_coder_web-0.1.7.dist-info → auto_coder_web-0.1.8.dist-info}/METADATA +2 -2
- {auto_coder_web-0.1.7.dist-info → auto_coder_web-0.1.8.dist-info}/RECORD +15 -10
- {auto_coder_web-0.1.7.dist-info → auto_coder_web-0.1.8.dist-info}/WHEEL +0 -0
- {auto_coder_web-0.1.7.dist-info → auto_coder_web-0.1.8.dist-info}/entry_points.txt +0 -0
- {auto_coder_web-0.1.7.dist-info → auto_coder_web-0.1.8.dist-info}/top_level.txt +0 -0
@@ -100,7 +100,8 @@ class AutoCoderRunner:
|
|
100
100
|
if group_name not in self.memory["current_files"]["groups"]:
|
101
101
|
return None
|
102
102
|
del self.memory["current_files"]["groups"][group_name]
|
103
|
-
|
103
|
+
if group_name in self.memory["current_files"]["groups_info"]:
|
104
|
+
del self.memory["current_files"]["groups_info"][group_name]
|
104
105
|
self.save_memory()
|
105
106
|
return {"message": f"Removed group: {group_name}"}
|
106
107
|
|
@@ -186,7 +187,7 @@ class AutoCoderRunner:
|
|
186
187
|
matched_files.append(abs_path)
|
187
188
|
else:
|
188
189
|
is_added = False
|
189
|
-
for root, dirs, files in os.walk(project_root):
|
190
|
+
for root, dirs, files in os.walk(project_root, followlinks=True):
|
190
191
|
dirs[:] = [d for d in dirs if d not in final_exclude_dirs]
|
191
192
|
if pattern in files:
|
192
193
|
matched_files.append(os.path.join(root, pattern))
|
@@ -351,6 +352,9 @@ class AutoCoderRunner:
|
|
351
352
|
self.memory["conversation"].append({"role": "user", "content": query})
|
352
353
|
conf = self.memory.get("conf", {})
|
353
354
|
current_files = self.memory["current_files"]["files"]
|
355
|
+
current_groups = self.memory["current_files"].get("current_groups", [])
|
356
|
+
groups = self.memory["current_files"].get("groups", {})
|
357
|
+
groups_info = self.memory["current_files"].get("groups_info", {})
|
354
358
|
request_id = str(uuid.uuid4())
|
355
359
|
|
356
360
|
def process():
|
@@ -377,6 +381,19 @@ class AutoCoderRunner:
|
|
377
381
|
converted_value = self.convert_config_value(key, value)
|
378
382
|
if converted_value is not None:
|
379
383
|
yaml_config[key] = converted_value
|
384
|
+
|
385
|
+
if current_groups:
|
386
|
+
active_groups_context = "下面是对上面文件按分组给到的一些描述,当用户的需求正好匹配描述的时候,参考描述来做修改:\n"
|
387
|
+
for group in current_groups:
|
388
|
+
group_files = groups.get(group, [])
|
389
|
+
query_prefix = groups_info.get(group, {}).get("query_prefix", "")
|
390
|
+
active_groups_context += f"组名: {group}\n"
|
391
|
+
active_groups_context += f"文件列表:\n"
|
392
|
+
for file in group_files:
|
393
|
+
active_groups_context += f"- {file}\n"
|
394
|
+
active_groups_context += f"组描述: {query_prefix}\n\n"
|
395
|
+
|
396
|
+
yaml_config["context"] = active_groups_context + "\n"
|
380
397
|
|
381
398
|
yaml_content = self.convert_yaml_config_to_str(yaml_config)
|
382
399
|
execute_file = os.path.join("actions", latest_yaml_file)
|
@@ -502,7 +519,7 @@ class AutoCoderRunner:
|
|
502
519
|
|
503
520
|
def execute_ask():
|
504
521
|
cmd = ["agent", "chat", "--file",
|
505
|
-
execute_file, "--request_id", request_id]
|
522
|
+
execute_file, "--request_id", request_id, "--skip_events"]
|
506
523
|
if is_new:
|
507
524
|
cmd.append("--new_session")
|
508
525
|
auto_coder_main(cmd)
|
@@ -571,11 +588,11 @@ class AutoCoderRunner:
|
|
571
588
|
|
572
589
|
if "Successfully reverted changes" in result:
|
573
590
|
os.remove(file_path)
|
574
|
-
return {"message": "Reverted the last chat action successfully"}
|
591
|
+
return {"message": "Reverted the last chat action successfully", "status": True}
|
575
592
|
else:
|
576
|
-
return {"message": result}
|
593
|
+
return {"message": result, "status": False}
|
577
594
|
else:
|
578
|
-
return {"message": "No previous chat action found to revert."}
|
595
|
+
return {"message": "No previous chat action found to revert.", "status": False}
|
579
596
|
|
580
597
|
async def index_build(self) -> Dict[str, str]:
|
581
598
|
request_id = str(uuid.uuid4())
|
@@ -702,3 +719,31 @@ query: |
|
|
702
719
|
docs.append(f.read())
|
703
720
|
|
704
721
|
return docs
|
722
|
+
|
723
|
+
def get_last_yaml_info(self) -> Dict[str, Any]:
|
724
|
+
last_yaml_file = get_last_yaml_file("actions")
|
725
|
+
if last_yaml_file:
|
726
|
+
file_path = os.path.join("actions", last_yaml_file)
|
727
|
+
try:
|
728
|
+
with open(file_path, 'r') as f:
|
729
|
+
yaml_content = yaml.safe_load(f)
|
730
|
+
return {
|
731
|
+
"status": True,
|
732
|
+
"file_name": last_yaml_file,
|
733
|
+
"content": yaml_content
|
734
|
+
}
|
735
|
+
except yaml.YAMLError as e:
|
736
|
+
return {
|
737
|
+
"status": False,
|
738
|
+
"message": f"Error parsing YAML file: {str(e)}"
|
739
|
+
}
|
740
|
+
except Exception as e:
|
741
|
+
return {
|
742
|
+
"status": False,
|
743
|
+
"message": f"Error reading YAML file: {str(e)}"
|
744
|
+
}
|
745
|
+
else:
|
746
|
+
return {
|
747
|
+
"status": False,
|
748
|
+
"message": "No previous chat action found."
|
749
|
+
}
|
auto_coder_web/proxy.py
CHANGED
@@ -25,7 +25,7 @@ from autocoder.utils.log_capture import LogCapture
|
|
25
25
|
from typing import Optional, Dict, List, Any
|
26
26
|
from .terminal import terminal_manager
|
27
27
|
from autocoder.common import AutoCoderArgs
|
28
|
-
|
28
|
+
import json
|
29
29
|
|
30
30
|
class EventGetRequest(BaseModel):
|
31
31
|
request_id: str
|
@@ -48,6 +48,11 @@ class CompletionResponse(BaseModel):
|
|
48
48
|
completions: List[CompletionItem]
|
49
49
|
|
50
50
|
|
51
|
+
class ChatList(BaseModel):
|
52
|
+
name: str
|
53
|
+
messages: List[Dict[str, Any]]
|
54
|
+
|
55
|
+
|
51
56
|
def check_environment():
|
52
57
|
"""Check and initialize the required environment"""
|
53
58
|
console = Console()
|
@@ -539,6 +544,71 @@ class ProxyServer:
|
|
539
544
|
async def get_terminal_logs(request_id: str):
|
540
545
|
return self.auto_coder_runner.get_logs(request_id)
|
541
546
|
|
547
|
+
@self.app.get("/api/last-yaml")
|
548
|
+
async def get_last_yaml():
|
549
|
+
"""Get information about the last YAML file"""
|
550
|
+
return JSONResponse(content=self.auto_coder_runner.get_last_yaml_info())
|
551
|
+
|
552
|
+
@self.app.post("/api/chat-lists/save")
|
553
|
+
async def save_chat_list(chat_list: ChatList):
|
554
|
+
try:
|
555
|
+
chat_lists_dir = os.path.join(".auto-coder","auto-coder.web", "chat-lists")
|
556
|
+
os.makedirs(chat_lists_dir, exist_ok=True)
|
557
|
+
|
558
|
+
file_path = os.path.join(chat_lists_dir, f"{chat_list.name}.json")
|
559
|
+
async with aiofiles.open(file_path, 'w') as f:
|
560
|
+
await f.write(json.dumps({"messages": chat_list.messages}, indent=2))
|
561
|
+
return {"status": "success", "message": f"Chat list {chat_list.name} saved successfully"}
|
562
|
+
except Exception as e:
|
563
|
+
raise HTTPException(status_code=500, detail=str(e))
|
564
|
+
|
565
|
+
@self.app.get("/api/chat-lists")
|
566
|
+
async def get_chat_lists():
|
567
|
+
try:
|
568
|
+
chat_lists_dir = os.path.join(".auto-coder","auto-coder.web", "chat-lists")
|
569
|
+
os.makedirs(chat_lists_dir, exist_ok=True)
|
570
|
+
|
571
|
+
# Get files with their modification times
|
572
|
+
chat_lists = []
|
573
|
+
for file in os.listdir(chat_lists_dir):
|
574
|
+
if file.endswith('.json'):
|
575
|
+
file_path = os.path.join(chat_lists_dir, file)
|
576
|
+
mod_time = os.path.getmtime(file_path)
|
577
|
+
chat_lists.append((file[:-5], mod_time)) # Store tuple of (name, mod_time)
|
578
|
+
|
579
|
+
# Sort by modification time (newest first)
|
580
|
+
chat_lists.sort(key=lambda x: x[1], reverse=True)
|
581
|
+
|
582
|
+
# Return only the chat list names
|
583
|
+
return {"chat_lists": [name for name, _ in chat_lists]}
|
584
|
+
except Exception as e:
|
585
|
+
raise HTTPException(status_code=500, detail=str(e))
|
586
|
+
|
587
|
+
@self.app.get("/api/chat-lists/{name}")
|
588
|
+
async def get_chat_list(name: str):
|
589
|
+
try:
|
590
|
+
file_path = os.path.join(".auto-coder","auto-coder.web", "chat-lists", f"{name}.json")
|
591
|
+
if not os.path.exists(file_path):
|
592
|
+
raise HTTPException(status_code=404, detail=f"Chat list {name} not found")
|
593
|
+
|
594
|
+
async with aiofiles.open(file_path, 'r') as f:
|
595
|
+
content = await f.read()
|
596
|
+
return json.loads(content)
|
597
|
+
except Exception as e:
|
598
|
+
raise HTTPException(status_code=500, detail=str(e))
|
599
|
+
|
600
|
+
@self.app.delete("/api/chat-lists/{name}")
|
601
|
+
async def delete_chat_list(name: str):
|
602
|
+
try:
|
603
|
+
file_path = os.path.join(".auto-coder","auto-coder.web", "chat-lists", f"{name}.json")
|
604
|
+
if not os.path.exists(file_path):
|
605
|
+
raise HTTPException(status_code=404, detail=f"Chat list {name} not found")
|
606
|
+
|
607
|
+
os.remove(file_path)
|
608
|
+
return {"status": "success", "message": f"Chat list {name} deleted successfully"}
|
609
|
+
except Exception as e:
|
610
|
+
raise HTTPException(status_code=500, detail=str(e))
|
611
|
+
|
542
612
|
|
543
613
|
def main():
|
544
614
|
parser = argparse.ArgumentParser(description="Proxy Server")
|
auto_coder_web/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "0.1.
|
1
|
+
__version__ = "0.1.8"
|
@@ -1,15 +1,15 @@
|
|
1
1
|
{
|
2
2
|
"files": {
|
3
|
-
"main.css": "/static/css/main.
|
4
|
-
"main.js": "/static/js/main.
|
3
|
+
"main.css": "/static/css/main.7f8664fc.css",
|
4
|
+
"main.js": "/static/js/main.5b5d887a.js",
|
5
5
|
"static/js/453.8ab44547.chunk.js": "/static/js/453.8ab44547.chunk.js",
|
6
6
|
"index.html": "/index.html",
|
7
|
-
"main.
|
8
|
-
"main.
|
7
|
+
"main.7f8664fc.css.map": "/static/css/main.7f8664fc.css.map",
|
8
|
+
"main.5b5d887a.js.map": "/static/js/main.5b5d887a.js.map",
|
9
9
|
"453.8ab44547.chunk.js.map": "/static/js/453.8ab44547.chunk.js.map"
|
10
10
|
},
|
11
11
|
"entrypoints": [
|
12
|
-
"static/css/main.
|
13
|
-
"static/js/main.
|
12
|
+
"static/css/main.7f8664fc.css",
|
13
|
+
"static/js/main.5b5d887a.js"
|
14
14
|
]
|
15
15
|
}
|
auto_coder_web/web/index.html
CHANGED
@@ -1 +1 @@
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>React App</title><script defer="defer" src="/static/js/main.5b5d887a.js"></script><link href="/static/css/main.7f8664fc.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*
|
2
|
+
! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com
|
3
|
+
*/body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{border:0;height:0;left:-9999em;margin:0;opacity:0;overflow:hidden;padding:0;position:absolute;resize:none;top:0;white-space:nowrap;width:0;z-index:-5}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;bottom:0;cursor:default;left:0;overflow-y:scroll;position:absolute;right:0;top:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{left:0;position:absolute;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;left:-9999em;line-height:normal;position:absolute;top:0;visibility:hidden}.xterm.enable-mouse-events{cursor:default}.xterm .xterm-cursor-pointer,.xterm.xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{bottom:0;color:#0000;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:10}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{height:1px;left:-9999px;overflow:hidden;position:absolute;width:1px}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{position:absolute;z-index:6}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{pointer-events:none;position:absolute;right:0;top:0;z-index:8}.xterm-decoration-top{position:relative;z-index:2}.split-container{display:flex;height:100%;width:100%}.gutter{position:relative}.gutter.gutter-horizontal{cursor:col-resize}.gutter:after{background-color:#9ca3af;border-radius:2px;content:"";height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:4px}.gutter:hover:after{background-color:#f3f4f6}.split-container>div{height:100%;min-width:0;overflow:hidden}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
|
4
|
+
! tailwindcss v3.4.14 | MIT License | https://tailwindcss.com
|
5
|
+
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-right-4{right:-1rem}.left-2{left:.5rem}.top-1\/2{top:50%}.top-2{top:.5rem}.z-10{z-index:10}.z-50{z-index:50}.my-3{margin-bottom:.75rem;margin-top:.75rem}.-ml-1{margin-left:-.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.hidden{display:none}.h-2{height:.5rem}.h-4{height:1rem}.h-48{height:12rem}.h-\[1px\]{height:1px}.h-full{height:100%}.h-screen{height:100vh}.min-h-\[180px\]{min-height:180px}.w-2{width:.5rem}.w-4{width:1rem}.w-48{width:12rem}.w-60{width:15rem}.w-64{width:16rem}.w-80{width:20rem}.w-96{width:24rem}.w-\[50px\]{width:50px}.w-full{width:100%}.max-w-\[80\%\]{max-width:80%}.flex-1{flex:1 1}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity))}.bg-\[\#1e1e1e\]{--tw-bg-opacity:1;background-color:rgb(30 30 30/var(--tw-bg-opacity))}.bg-\[\#1f1f1f\]{--tw-bg-opacity:1;background-color:rgb(31 31 31/var(--tw-bg-opacity))}.bg-\[\#2d2d2d\]{--tw-bg-opacity:1;background-color:rgb(45 45 45/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-gray-700\/50{background-color:#37415180}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.bg-gray-800\/60{background-color:#1f293799}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity:1;background-color:rgb(79 70 229/var(--tw-bg-opacity))}.bg-transparent{background-color:initial}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.pl-4{padding-left:1rem}.pt-2{padding-top:.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xs{font-size:.625rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-blue-500\/20{--tw-shadow-color:#3b82f633;--tw-shadow:var(--tw-shadow-colored)}.shadow-gray-500\/20{--tw-shadow-color:#6b728033;--tw-shadow:var(--tw-shadow-colored)}.shadow-indigo-500\/20{--tw-shadow-color:#6366f133;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.duration-300{transition-duration:.3s}body,html{background-color:#1a1a1a;margin:0}#root,body,html{height:100%}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#2d2d2d}::-webkit-scrollbar-thumb{background:#888;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}.custom-select .ant-select-selector{background-color:#374151!important;border-color:#4b5563!important;color:#fff!important}.custom-select .ant-select-selection-placeholder{color:#9ca3af!important}.custom-select .ant-select-selection-item{background-color:#4b5563!important;border-color:#6b7280!important;color:#fff!important}.custom-select .ant-select-dropdown{background-color:#374151!important;border:1px solid #4b5563!important}.custom-select .ant-select-item{color:#fff!important}.custom-select .ant-select-item-option-active{background-color:#4b5563!important}.custom-select .ant-select-item-option-selected{background-color:#6b7280!important}.custom-select .ant-select-selection-search input{color:#fff!important}.custom-select .ant-select-clear{background-color:initial!important;color:#9ca3af!important}.custom-select .ant-select-arrow{color:#9ca3af!important}.split{display:flex;flex-direction:row}.gutter{background-color:#4b5563;cursor:col-resize}.gutter:hover{background-color:#6b7280}.custom-input{background-color:#1f2937!important;border-color:#4b5563!important;color:#e5e7eb!important}.custom-input:focus,.custom-input:hover{border-color:#6366f1!important;box-shadow:0 0 0 2px #6366f133!important}.custom-input input{background-color:initial!important;color:#e5e7eb!important}.custom-input .anticon{color:#9ca3af!important}.dark-mode-table,.dark-mode-table .ant-table{background-color:initial!important}.dark-mode-table .ant-table-thead>tr>th{background-color:#374151!important}.dark-mode-table .ant-table-tbody>tr>td,.dark-mode-table .ant-table-thead>tr>th{border-bottom:1px solid #4b5563!important;color:#fff!important}.dark-mode-table .ant-table-tbody>tr:hover>td{background-color:#4b5563!important}.dark-mode-table .ant-table-row-expand-icon{background-color:#4b5563!important;border-color:#6b7280!important;color:#fff!important}.dark-mode-table .nested-table{margin:0!important;padding:0!important}.dark-mode-table .nested-table .ant-table-tbody>tr>td{background-color:#1f2937!important}.dark-mode-table .nested-table .ant-table-tbody>tr:hover>td{background-color:#374151!important}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.hover\:bg-gray-700\/80:hover{background-color:#374151cc}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgb(67 56 202/var(--tw-bg-opacity))}.hover\:from-blue-600:hover{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-indigo-700:hover{--tw-gradient-to:#4338ca var(--tw-gradient-to-position)}.hover\:text-red-500:hover{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-sm:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.hover\:shadow-blue-500\/30:hover{--tw-shadow-color:#3b82f64d;--tw-shadow:var(--tw-shadow-colored)}.focus\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity))}.focus\:ring-gray-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(107 114 128/var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus\:ring-offset-gray-900:focus{--tw-ring-offset-color:#111827}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:visible{visibility:visible}
|
6
|
+
/*# sourceMappingURL=main.7f8664fc.css.map*/
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"static/css/main.7f8664fc.css","mappings":"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","sources":["index.css","../node_modules/@xterm/xterm/css/xterm.css","components/MainContent/PreviewPanel.css","App.css"],"sourcesContent":["@import 'tailwindcss/base';\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n@import 'tailwindcss/components';\n@import 'tailwindcss/utilities';\n","/**\n * Copyright (c) 2014 The xterm.js authors. All rights reserved.\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\n * https://github.com/chjj/term.js\n * @license MIT\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *\n * Originally forked from (with the author's permission):\n * Fabrice Bellard's javascript vt100 for jslinux:\n * http://bellard.org/jslinux/\n * Copyright (c) 2011 Fabrice Bellard\n * The original design remains. The terminal itself\n * has been extended to include xterm CSI codes, among\n * other features.\n */\n\n/**\n * Default styles for xterm.js\n */\n\n.xterm {\n cursor: text;\n position: relative;\n user-select: none;\n -ms-user-select: none;\n -webkit-user-select: none;\n}\n\n.xterm.focus,\n.xterm:focus {\n outline: none;\n}\n\n.xterm .xterm-helpers {\n position: absolute;\n top: 0;\n /**\n * The z-index of the helpers must be higher than the canvases in order for\n * IMEs to appear on top.\n */\n z-index: 5;\n}\n\n.xterm .xterm-helper-textarea {\n padding: 0;\n border: 0;\n margin: 0;\n /* Move textarea out of the screen to the far left, so that the cursor is not visible */\n position: absolute;\n opacity: 0;\n left: -9999em;\n top: 0;\n width: 0;\n height: 0;\n z-index: -5;\n /** Prevent wrapping so the IME appears against the textarea at the correct position */\n white-space: nowrap;\n overflow: hidden;\n resize: none;\n}\n\n.xterm .composition-view {\n /* TODO: Composition position got messed up somewhere */\n background: #000;\n color: #FFF;\n display: none;\n position: absolute;\n white-space: nowrap;\n z-index: 1;\n}\n\n.xterm .composition-view.active {\n display: block;\n}\n\n.xterm .xterm-viewport {\n /* On OS X this is required in order for the scroll bar to appear fully opaque */\n background-color: #000;\n overflow-y: scroll;\n cursor: default;\n position: absolute;\n right: 0;\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n.xterm .xterm-screen {\n position: relative;\n}\n\n.xterm .xterm-screen canvas {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.xterm .xterm-scroll-area {\n visibility: hidden;\n}\n\n.xterm-char-measure-element {\n display: inline-block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: -9999em;\n line-height: normal;\n}\n\n.xterm.enable-mouse-events {\n /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */\n cursor: default;\n}\n\n.xterm.xterm-cursor-pointer,\n.xterm .xterm-cursor-pointer {\n cursor: pointer;\n}\n\n.xterm.column-select.focus {\n /* Column selection mode */\n cursor: crosshair;\n}\n\n.xterm .xterm-accessibility:not(.debug),\n.xterm .xterm-message {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 10;\n color: transparent;\n pointer-events: none;\n}\n\n.xterm .xterm-accessibility-tree:not(.debug) *::selection {\n color: transparent;\n}\n\n.xterm .xterm-accessibility-tree {\n user-select: text;\n white-space: pre;\n}\n\n.xterm .live-region {\n position: absolute;\n left: -9999px;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.xterm-dim {\n /* Dim should not apply to background, so the opacity of the foreground color is applied\n * explicitly in the generated class and reset to 1 here */\n opacity: 1 !important;\n}\n\n.xterm-underline-1 { text-decoration: underline; }\n.xterm-underline-2 { text-decoration: double underline; }\n.xterm-underline-3 { text-decoration: wavy underline; }\n.xterm-underline-4 { text-decoration: dotted underline; }\n.xterm-underline-5 { text-decoration: dashed underline; }\n\n.xterm-overline {\n text-decoration: overline;\n}\n\n.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }\n.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }\n.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }\n.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }\n.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }\n\n.xterm-strikethrough {\n text-decoration: line-through;\n}\n\n.xterm-screen .xterm-decoration-container .xterm-decoration {\n\tz-index: 6;\n\tposition: absolute;\n}\n\n.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {\n\tz-index: 7;\n}\n\n.xterm-decoration-overview-ruler {\n z-index: 8;\n position: absolute;\n top: 0;\n right: 0;\n pointer-events: none;\n}\n\n.xterm-decoration-top {\n z-index: 2;\n position: relative;\n}\n",".split-container {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n.gutter {\n background-color: #4B5563;\n position: relative;\n}\n\n.gutter:hover {\n background-color: #6B7280;\n}\n\n.gutter.gutter-horizontal {\n cursor: col-resize;\n}\n\n.gutter::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 4px;\n height: 20px;\n background-color: #9CA3AF;\n border-radius: 2px;\n}\n\n.gutter:hover::after {\n background-color: #F3F4F6;\n}\n\n/* Make sure panels take full height */\n.split-container > div {\n height: 100%;\n min-width: 0; /* Prevent flex items from growing beyond their container */\n overflow: hidden;\n}","@tailwind base;\n@tailwind components;\n@tailwind utilities;\n\nhtml, body {\n @apply h-full m-0;\n background-color: #1a1a1a;\n}\n\n#root {\n @apply h-full;\n}\n\n/* 滚动条样式 */\n::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n}\n\n::-webkit-scrollbar-track {\n background: #2d2d2d;\n}\n\n::-webkit-scrollbar-thumb {\n background: #888;\n border-radius: 4px;\n}\n\n::-webkit-scrollbar-thumb:hover {\n background: #555;\n}\n\n/* Select custom styles */\n.custom-select .ant-select-selector {\n background-color: #374151 !important;\n border-color: #4B5563 !important;\n color: white !important;\n}\n\n.custom-select .ant-select-selection-placeholder {\n color: #9CA3AF !important;\n}\n\n.custom-select .ant-select-selection-item {\n background-color: #4B5563 !important;\n border-color: #6B7280 !important;\n color: white !important;\n}\n\n.custom-select .ant-select-dropdown {\n background-color: #374151 !important;\n border: 1px solid #4B5563 !important;\n}\n\n.custom-select .ant-select-item {\n color: white !important;\n}\n\n.custom-select .ant-select-item-option-active {\n background-color: #4B5563 !important;\n}\n\n.custom-select .ant-select-item-option-selected {\n background-color: #6B7280 !important;\n}\n\n.custom-select .ant-select-selection-search input {\n color: white !important;\n}\n\n.custom-select .ant-select-clear {\n background-color: transparent !important;\n color: #9CA3AF !important;\n}\n\n.custom-select .ant-select-arrow {\n color: #9CA3AF !important;\n}\n\n/* Split pane styles */\n.split {\n display: flex;\n flex-direction: row;\n}\n\n.gutter {\n background-color: #4B5563;\n cursor: col-resize;\n}\n\n.gutter:hover {\n background-color: #6B7280;\n}\n\n/* Custom input styles for dark mode */\n.custom-input {\n background-color: #1F2937 !important;\n border-color: #4B5563 !important;\n color: #E5E7EB !important;\n}\n\n.custom-input:hover,\n.custom-input:focus {\n border-color: #6366F1 !important;\n box-shadow: 0 0 0 2px rgba(99, 102, 241, 0.2) !important;\n}\n\n.custom-input input {\n background-color: transparent !important;\n color: #E5E7EB !important;\n}\n\n.custom-input .anticon {\n color: #9CA3AF !important;\n}\n\n/* Dark mode table styles */\n.dark-mode-table {\n background-color: transparent !important;\n}\n\n.dark-mode-table .ant-table {\n background-color: transparent !important;\n}\n\n.dark-mode-table .ant-table-thead > tr > th {\n background-color: #374151 !important;\n color: #ffffff !important;\n border-bottom: 1px solid #4B5563 !important;\n}\n\n.dark-mode-table .ant-table-tbody > tr > td {\n border-bottom: 1px solid #4B5563 !important;\n color: #ffffff !important;\n}\n\n.dark-mode-table .ant-table-tbody > tr:hover > td {\n background-color: #4B5563 !important;\n}\n\n.dark-mode-table .ant-table-row-expand-icon {\n background-color: #4B5563 !important;\n border-color: #6B7280 !important;\n color: #ffffff !important;\n}\n\n.dark-mode-table .nested-table {\n margin: 0 !important;\n padding: 0 !important;\n}\n\n.dark-mode-table .nested-table .ant-table-tbody > tr > td {\n background-color: #1F2937 !important;\n}\n\n.dark-mode-table .nested-table .ant-table-tbody > tr:hover > td {\n background-color: #374151 !important;\n}\n"],"names":[],"sourceRoot":""}
|