@crowdedkingdoms/crowdyjs 11.1.0 → 12.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MIGRATION.md +152 -0
- package/README.md +262 -0
- package/dist/crowdy-agent/browser-dispatcher.d.ts +41 -0
- package/dist/crowdy-agent/browser-dispatcher.d.ts.map +1 -0
- package/dist/crowdy-agent/browser-dispatcher.js +264 -0
- package/dist/crowdy-agent/controller.d.ts +144 -0
- package/dist/crowdy-agent/controller.d.ts.map +1 -0
- package/dist/crowdy-agent/controller.js +1239 -0
- package/dist/crowdy-agent/errors.d.ts +37 -0
- package/dist/crowdy-agent/errors.d.ts.map +1 -0
- package/dist/crowdy-agent/errors.js +107 -0
- package/dist/crowdy-agent/graphql-transport.d.ts +154 -0
- package/dist/crowdy-agent/graphql-transport.d.ts.map +1 -0
- package/dist/crowdy-agent/graphql-transport.js +854 -0
- package/dist/crowdy-agent/index.d.ts +16 -0
- package/dist/crowdy-agent/index.d.ts.map +1 -0
- package/dist/crowdy-agent/index.js +15 -0
- package/dist/crowdy-agent/registry.d.ts +29 -0
- package/dist/crowdy-agent/registry.d.ts.map +1 -0
- package/dist/crowdy-agent/registry.js +281 -0
- package/dist/crowdy-agent/schema.d.ts +72 -0
- package/dist/crowdy-agent/schema.d.ts.map +1 -0
- package/dist/crowdy-agent/schema.js +467 -0
- package/dist/crowdy-agent/studio-tools.d.ts +15 -0
- package/dist/crowdy-agent/studio-tools.d.ts.map +1 -0
- package/dist/crowdy-agent/studio-tools.js +280 -0
- package/dist/crowdy-agent/tool-descriptors.d.ts +4 -0
- package/dist/crowdy-agent/tool-descriptors.d.ts.map +1 -0
- package/dist/crowdy-agent/tool-descriptors.js +1049 -0
- package/dist/crowdy-agent/transport.d.ts +152 -0
- package/dist/crowdy-agent/transport.d.ts.map +1 -0
- package/dist/crowdy-agent/transport.js +27 -0
- package/dist/crowdy-agent/types.d.ts +328 -0
- package/dist/crowdy-agent/types.d.ts.map +1 -0
- package/dist/crowdy-agent/types.js +37 -0
- package/dist/crowdy-client.d.ts +3 -0
- package/dist/crowdy-client.d.ts.map +1 -1
- package/dist/crowdy-client.js +6 -0
- package/dist/crowdy-studio/agent-dom-shell.d.ts +68 -0
- package/dist/crowdy-studio/agent-dom-shell.d.ts.map +1 -0
- package/dist/crowdy-studio/agent-dom-shell.js +418 -0
- package/dist/crowdy-studio/controller.d.ts +74 -4
- package/dist/crowdy-studio/controller.d.ts.map +1 -1
- package/dist/crowdy-studio/controller.js +450 -17
- package/dist/crowdy-studio/dom-shell.d.ts +50 -4
- package/dist/crowdy-studio/dom-shell.d.ts.map +1 -1
- package/dist/crowdy-studio/dom-shell.js +554 -123
- package/dist/crowdy-studio/embed/dock.d.ts +56 -0
- package/dist/crowdy-studio/embed/dock.d.ts.map +1 -0
- package/dist/crowdy-studio/embed/dock.js +231 -0
- package/dist/crowdy-studio/embed/embed-styles.d.ts +12 -0
- package/dist/crowdy-studio/embed/embed-styles.d.ts.map +1 -0
- package/dist/crowdy-studio/embed/embed-styles.js +549 -0
- package/dist/crowdy-studio/embed/hud-layer.d.ts +40 -0
- package/dist/crowdy-studio/embed/hud-layer.d.ts.map +1 -0
- package/dist/crowdy-studio/embed/hud-layer.js +100 -0
- package/dist/crowdy-studio/embed/index.d.ts +5 -0
- package/dist/crowdy-studio/embed/index.d.ts.map +1 -0
- package/dist/crowdy-studio/embed/index.js +4 -0
- package/dist/crowdy-studio/embed/panel.d.ts +162 -0
- package/dist/crowdy-studio/embed/panel.d.ts.map +1 -0
- package/dist/crowdy-studio/embed/panel.js +642 -0
- package/dist/crowdy-studio/index.d.ts +9 -3
- package/dist/crowdy-studio/index.d.ts.map +1 -1
- package/dist/crowdy-studio/index.js +6 -0
- package/dist/crowdy-studio/layout.d.ts +50 -0
- package/dist/crowdy-studio/layout.d.ts.map +1 -0
- package/dist/crowdy-studio/layout.js +155 -0
- package/dist/crowdy-studio/models.d.ts +67 -0
- package/dist/crowdy-studio/models.d.ts.map +1 -1
- package/dist/crowdy-studio/mount.d.ts +15 -0
- package/dist/crowdy-studio/mount.d.ts.map +1 -1
- package/dist/crowdy-studio/mount.js +132 -3
- package/dist/crowdy-studio/splitter.d.ts +33 -0
- package/dist/crowdy-studio/splitter.d.ts.map +1 -0
- package/dist/crowdy-studio/splitter.js +133 -0
- package/dist/crowdy-studio/styles.d.ts +1 -1
- package/dist/crowdy-studio/styles.d.ts.map +1 -1
- package/dist/crowdy-studio/styles.js +128 -11
- package/dist/generated/graphql.d.ts +3753 -1
- package/dist/generated/graphql.d.ts.map +1 -1
- package/dist/generated/graphql.js +296 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/kit/npcs.d.ts.map +1 -1
- package/dist/kit/social.d.ts.map +1 -1
- package/dist/player-host/control-banner.d.ts +40 -0
- package/dist/player-host/control-banner.d.ts.map +1 -0
- package/dist/player-host/control-banner.js +252 -0
- package/dist/player-host/control-gate.d.ts +77 -0
- package/dist/player-host/control-gate.d.ts.map +1 -0
- package/dist/player-host/control-gate.js +197 -0
- package/dist/player-host/index.d.ts +7 -0
- package/dist/player-host/index.d.ts.map +1 -0
- package/dist/player-host/index.js +5 -0
- package/dist/player-host/lease-manager.d.ts +66 -0
- package/dist/player-host/lease-manager.d.ts.map +1 -0
- package/dist/player-host/lease-manager.js +428 -0
- package/dist/player-host/schemas.d.ts +9 -0
- package/dist/player-host/schemas.d.ts.map +1 -0
- package/dist/player-host/schemas.js +347 -0
- package/dist/player-host/tools.d.ts +13 -0
- package/dist/player-host/tools.d.ts.map +1 -0
- package/dist/player-host/tools.js +79 -0
- package/dist/player-host/types.d.ts +203 -0
- package/dist/player-host/types.d.ts.map +1 -0
- package/dist/player-host/types.js +1 -0
- package/package.json +17 -2
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reusable accessible pane splitter for Crowdy Studio panes. Pointer drag plus
|
|
3
|
+
* Arrow/Home/End keyboard resizing, mirroring the behavior games already ship
|
|
4
|
+
* for the game/studio dock separator.
|
|
5
|
+
*/
|
|
6
|
+
const KEYBOARD_STEP_PX = 16;
|
|
7
|
+
const KEYBOARD_LARGE_STEP_PX = 48;
|
|
8
|
+
export function createPaneSplitter(options) {
|
|
9
|
+
const element = document.createElement('div');
|
|
10
|
+
element.className = 'ck-crowdy-studio-splitter';
|
|
11
|
+
element.dataset.orientation = options.orientation;
|
|
12
|
+
element.tabIndex = 0;
|
|
13
|
+
element.setAttribute('role', 'separator');
|
|
14
|
+
element.setAttribute('aria-orientation', options.orientation === 'vertical' ? 'vertical' : 'horizontal');
|
|
15
|
+
element.setAttribute('aria-label', options.label);
|
|
16
|
+
element.title =
|
|
17
|
+
options.orientation === 'vertical'
|
|
18
|
+
? `${options.label} (Left/Right arrows, Home/End)`
|
|
19
|
+
: `${options.label} (Up/Down arrows, Home/End)`;
|
|
20
|
+
let draggingPointerId = null;
|
|
21
|
+
let dragStartCoord = 0;
|
|
22
|
+
let dragStartSize = 0;
|
|
23
|
+
const direction = options.pane === 'before' ? 1 : -1;
|
|
24
|
+
const refresh = () => {
|
|
25
|
+
const range = options.range();
|
|
26
|
+
element.setAttribute('aria-valuemin', String(range.min));
|
|
27
|
+
element.setAttribute('aria-valuemax', String(range.max));
|
|
28
|
+
element.setAttribute('aria-valuenow', String(Math.round(options.getSize())));
|
|
29
|
+
};
|
|
30
|
+
const apply = (size, commit) => {
|
|
31
|
+
const range = options.range();
|
|
32
|
+
const next = Math.round(Math.min(range.max, Math.max(range.min, size)));
|
|
33
|
+
options.setSize(next, commit);
|
|
34
|
+
refresh();
|
|
35
|
+
};
|
|
36
|
+
const pointerCoord = (event) => options.orientation === 'vertical' ? event.clientX : event.clientY;
|
|
37
|
+
const pointerDown = (event) => {
|
|
38
|
+
if (event.button !== 0)
|
|
39
|
+
return;
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
event.stopPropagation();
|
|
42
|
+
draggingPointerId = event.pointerId;
|
|
43
|
+
dragStartCoord = pointerCoord(event);
|
|
44
|
+
dragStartSize = options.getSize();
|
|
45
|
+
element.dataset.dragging = 'true';
|
|
46
|
+
try {
|
|
47
|
+
element.setPointerCapture(event.pointerId);
|
|
48
|
+
}
|
|
49
|
+
catch {
|
|
50
|
+
// Synthetic browser tests and older engines may not expose capture.
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const pointerMove = (event) => {
|
|
54
|
+
if (event.pointerId !== draggingPointerId)
|
|
55
|
+
return;
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
event.stopPropagation();
|
|
58
|
+
const delta = pointerCoord(event) - dragStartCoord;
|
|
59
|
+
apply(dragStartSize + direction * delta, false);
|
|
60
|
+
};
|
|
61
|
+
const pointerUp = (event) => {
|
|
62
|
+
if (event.pointerId !== draggingPointerId)
|
|
63
|
+
return;
|
|
64
|
+
event.preventDefault();
|
|
65
|
+
event.stopPropagation();
|
|
66
|
+
const delta = pointerCoord(event) - dragStartCoord;
|
|
67
|
+
apply(dragStartSize + direction * delta, true);
|
|
68
|
+
stopDragging();
|
|
69
|
+
};
|
|
70
|
+
const pointerCancel = (event) => {
|
|
71
|
+
if (event.pointerId !== draggingPointerId)
|
|
72
|
+
return;
|
|
73
|
+
event.stopPropagation();
|
|
74
|
+
apply(options.getSize(), true);
|
|
75
|
+
stopDragging();
|
|
76
|
+
};
|
|
77
|
+
const stopDragging = () => {
|
|
78
|
+
const pointerId = draggingPointerId;
|
|
79
|
+
draggingPointerId = null;
|
|
80
|
+
element.dataset.dragging = 'false';
|
|
81
|
+
if (pointerId === null)
|
|
82
|
+
return;
|
|
83
|
+
try {
|
|
84
|
+
if (element.hasPointerCapture(pointerId)) {
|
|
85
|
+
element.releasePointerCapture(pointerId);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// Capture is an enhancement; sizing does not depend on it.
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
const keyDown = (event) => {
|
|
93
|
+
const range = options.range();
|
|
94
|
+
const step = event.shiftKey ? KEYBOARD_LARGE_STEP_PX : KEYBOARD_STEP_PX;
|
|
95
|
+
const grow = options.orientation === 'vertical' ? 'ArrowRight' : 'ArrowDown';
|
|
96
|
+
const shrink = options.orientation === 'vertical' ? 'ArrowLeft' : 'ArrowUp';
|
|
97
|
+
let next = null;
|
|
98
|
+
if (event.code === grow)
|
|
99
|
+
next = options.getSize() + direction * step;
|
|
100
|
+
else if (event.code === shrink)
|
|
101
|
+
next = options.getSize() - direction * step;
|
|
102
|
+
else if (event.code === 'Home')
|
|
103
|
+
next = range.min;
|
|
104
|
+
else if (event.code === 'End')
|
|
105
|
+
next = range.max;
|
|
106
|
+
if (next === null)
|
|
107
|
+
return;
|
|
108
|
+
event.preventDefault();
|
|
109
|
+
event.stopPropagation();
|
|
110
|
+
apply(next, true);
|
|
111
|
+
};
|
|
112
|
+
element.addEventListener('pointerdown', pointerDown);
|
|
113
|
+
element.addEventListener('pointermove', pointerMove);
|
|
114
|
+
element.addEventListener('pointerup', pointerUp);
|
|
115
|
+
element.addEventListener('pointercancel', pointerCancel);
|
|
116
|
+
element.addEventListener('lostpointercapture', pointerCancel);
|
|
117
|
+
element.addEventListener('keydown', keyDown);
|
|
118
|
+
refresh();
|
|
119
|
+
return {
|
|
120
|
+
element,
|
|
121
|
+
refresh,
|
|
122
|
+
dispose() {
|
|
123
|
+
stopDragging();
|
|
124
|
+
element.removeEventListener('pointerdown', pointerDown);
|
|
125
|
+
element.removeEventListener('pointermove', pointerMove);
|
|
126
|
+
element.removeEventListener('pointerup', pointerUp);
|
|
127
|
+
element.removeEventListener('pointercancel', pointerCancel);
|
|
128
|
+
element.removeEventListener('lostpointercapture', pointerCancel);
|
|
129
|
+
element.removeEventListener('keydown', keyDown);
|
|
130
|
+
element.remove();
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const CROWDY_STUDIO_STYLES = "\n.ck-crowdy-studio{--ck-bg:#111827;--ck-panel:#182235;--ck-line:#334155;--ck-text:#e5e7eb;--ck-muted:#94a3b8;--ck-accent:#38bdf8;container-type:inline-size;display:grid;grid-template-rows:auto auto minmax(240px,1fr) minmax(120px,.36fr);width:100%;height:100%;min-height:0;overflow:hidden;background:var(--ck-bg);color:var(--ck-text);font:13px/1.4 ui-sans-serif,system-ui,sans-serif;border:1px solid var(--ck-line)}\n.ck-crowdy-studio *{box-sizing:border-box}.ck-crowdy-studio button,.ck-crowdy-studio input,.ck-crowdy-studio select,.ck-crowdy-studio textarea{font:inherit}.ck-crowdy-studio button,.ck-crowdy-studio select,.ck-crowdy-studio input{background:#0f172a;color:var(--ck-text);border:1px solid var(--ck-line);border-radius:4px;padding:5px 8px}.ck-crowdy-studio button{cursor:pointer}.ck-crowdy-studio button:hover{border-color:var(--ck-accent)}.ck-crowdy-studio button:disabled{opacity:.5;cursor:not-allowed}\n.ck-crowdy-studio-toolbar,.ck-crowdy-studio-actions,.ck-crowdy-studio-tabs,.ck-crowdy-studio-panel-tabs{display:flex;align-items:center;gap:6px;padding:7px;border-bottom:1px solid var(--ck-line)}.ck-crowdy-studio-toolbar{justify-content:space-between;flex-wrap:wrap}.ck-crowdy-studio-project-tools,.ck-crowdy-studio-runtime-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}\n.ck-crowdy-studio-save[data-state=SAVED]{color:#86efac}.ck-crowdy-studio-save[data-state=SAVING]{color:#fde68a}.ck-crowdy-studio-save[data-state=CONFLICT]{color:#fca5a5}.ck-crowdy-studio-save[data-state=OFFLINE]{color:#fdba74}\n.ck-crowdy-studio-main{display:grid;grid-template-columns:230px minmax(0,1fr) 260px;min-height:0}.ck-crowdy-studio-explorer,.ck-crowdy-studio-settings{background:var(--ck-panel);overflow:auto;padding:8px}.ck-crowdy-studio-explorer{border-right:1px solid var(--ck-line)}.ck-crowdy-studio-settings{border-left:1px solid var(--ck-line)}.ck-crowdy-studio-editor-column{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0}\n.ck-crowdy-studio-editor{min-height:0;position:relative}.ck-crowdy-studio-textarea{width:100%;height:100%;min-height:0;resize:none;background:#0b1020;color:var(--ck-text);border:0;padding:12px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.ck-crowdy-studio-editor-notice{padding:4px 8px;background:#78350f;color:#ffedd5}\n.ck-crowdy-studio-section{margin-bottom:12px}.ck-crowdy-studio-section-header{display:flex;align-items:center;justify-content:space-between;color:var(--ck-muted);font-weight:700;text-transform:uppercase;font-size:11px;margin-bottom:4px}.ck-crowdy-studio-file{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:3px;align-items:center}.ck-crowdy-studio-file>button:first-child{text-align:left;overflow:hidden;text-overflow:ellipsis;border:0;background:transparent}.ck-crowdy-studio-file>button:not(:first-child){padding:1px 4px}\n.ck-crowdy-studio-tabs{padding:4px;overflow:auto}.ck-crowdy-studio-tab[data-active=true],.ck-crowdy-studio-panel-tab[data-active=true]{border-color:var(--ck-accent);color:#bae6fd}.ck-crowdy-studio-tab{white-space:nowrap}.ck-crowdy-studio-tab span{margin-left:7px;color:var(--ck-muted)}\n.ck-crowdy-studio-settings label{display:grid;gap:3px;margin-bottom:9px;color:var(--ck-muted)}.ck-crowdy-studio-settings input,.ck-crowdy-studio-settings select{width:100%}.ck-crowdy-studio-new{display:none;gap:6px;align-items:center;width:100%;padding:7px;border-bottom:1px solid var(--ck-line)}.ck-crowdy-studio-new[data-open=true]{display:flex}.ck-crowdy-studio-new input{flex:1}\n.ck-crowdy-studio-bottom{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;border-top:1px solid var(--ck-line)}.ck-crowdy-studio-panel{display:none;overflow:auto;padding:8px}.ck-crowdy-studio-panel[data-active=true]{display:block}.ck-crowdy-studio-panel pre{white-space:pre-wrap;margin:0;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.ck-crowdy-studio-problem{display:grid;grid-template-columns:auto auto 1fr;gap:8px;padding:3px;border-bottom:1px solid #243247}.ck-crowdy-studio-problem[data-source=rustc]{color:#fecaca}.ck-crowdy-studio-problem[data-source=local-advisory]{color:#fde68a}\n.ck-crowdy-studio-status{color:var(--ck-muted)}.ck-crowdy-studio-invoke{display:grid;grid-template-columns:180px 1fr auto;gap:6px}.ck-crowdy-studio-invoke textarea{min-height:70px;background:#0f172a;color:var(--ck-text);border:1px solid var(--ck-line)}.ck-crowdy-studio-empty{color:var(--ck-muted);padding:8px}\n@container(max-width:900px){.ck-crowdy-studio-main{grid-template-columns:180px minmax(0,1fr)}.ck-crowdy-studio-settings{display:none}}@container(max-width:620px){.ck-crowdy-studio-main{grid-template-columns:1fr}.ck-crowdy-studio-explorer{display:none}}\n";
|
|
1
|
+
export declare const CROWDY_STUDIO_STYLES = "\n.ck-crowdy-studio{--ck-bg:#111827;--ck-panel:#182235;--ck-line:#334155;--ck-text:#e5e7eb;--ck-muted:#94a3b8;--ck-accent:#38bdf8;container-type:inline-size;display:flex;flex-direction:column;position:relative;isolation:isolate;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--ck-bg);color:var(--ck-text);font:13px/1.4 ui-sans-serif,system-ui,sans-serif;border:1px solid var(--ck-line)}\n.ck-crowdy-studio *{box-sizing:border-box}.ck-crowdy-studio button,.ck-crowdy-studio input,.ck-crowdy-studio select,.ck-crowdy-studio textarea{font:inherit}.ck-crowdy-studio button,.ck-crowdy-studio select,.ck-crowdy-studio input{background:#0f172a;color:var(--ck-text);border:1px solid var(--ck-line);border-radius:4px;padding:5px 8px}.ck-crowdy-studio button{cursor:pointer}.ck-crowdy-studio button:hover{border-color:var(--ck-accent)}.ck-crowdy-studio button:disabled{opacity:.5;cursor:not-allowed}\n.ck-crowdy-studio [hidden]{display:none!important}\n\n/* Top bar */\n.ck-crowdy-studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;border-bottom:1px solid var(--ck-line);position:relative;z-index:30}\n.ck-crowdy-studio-project-tools,.ck-crowdy-studio-runtime-tools{display:flex;align-items:center;gap:6px;min-width:0}\n.ck-crowdy-studio-primary{border-color:var(--ck-accent);color:#bae6fd}\n.ck-crowdy-studio-save{color:var(--ck-muted)}\n.ck-crowdy-studio-save[data-state=SAVED]{color:#86efac}.ck-crowdy-studio-save[data-state=SAVING]{color:#fde68a}.ck-crowdy-studio-save[data-state=CONFLICT]{color:#fca5a5;border-color:#f87171}.ck-crowdy-studio-save[data-state=OFFLINE]{color:#fdba74;border-color:#fb923c}\n.ck-crowdy-studio-save-message{margin:0;padding:4px 6px;color:var(--ck-muted);max-width:280px}\n.ck-crowdy-studio-save-actions{display:flex;gap:6px;padding:4px 6px}\n\n/* Menus */\n.ck-crowdy-studio-menu-wrap{position:relative;display:inline-flex;min-width:0}\n.ck-crowdy-studio-menu-button{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.ck-crowdy-studio-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:180px;max-width:320px;max-height:60vh;overflow:auto;display:flex;flex-direction:column;background:var(--ck-panel);border:1px solid var(--ck-line);border-radius:6px;padding:4px;box-shadow:0 8px 24px rgba(2,6,23,.55)}\n.ck-crowdy-studio-runtime-tools .ck-crowdy-studio-menu{left:auto;right:0}\n.ck-crowdy-studio-menu-item{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:4px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.ck-crowdy-studio-menu-item:hover{background:#0f172a;border:0}\n.ck-crowdy-studio-menu-item[data-active=true]{color:#bae6fd}\n.ck-crowdy-studio-menu-divider{border-top:1px solid var(--ck-line);margin:4px 2px}\n\n/* New-project popover */\n.ck-crowdy-studio-new{display:none;position:absolute;top:100%;left:8px;z-index:35;gap:6px;align-items:center;padding:8px;background:var(--ck-panel);border:1px solid var(--ck-line);border-radius:6px;box-shadow:0 8px 24px rgba(2,6,23,.55)}\n.ck-crowdy-studio-new[data-open=true]{display:flex}\n.ck-crowdy-studio-new input{flex:1;min-width:160px}\n\n/* Workspace: rail + panes + editor */\n.ck-crowdy-studio-workspace{display:flex;flex:1;min-height:0;min-width:0;position:relative}\n.ck-crowdy-studio-rail{display:flex;flex-direction:column;gap:4px;padding:6px 3px;border-right:1px solid var(--ck-line);background:#0b1220}\n.ck-crowdy-studio-rail-button{writing-mode:vertical-rl;padding:8px 4px;background:transparent;border:1px solid transparent;color:var(--ck-muted);border-radius:4px}\n.ck-crowdy-studio-rail-button:hover{color:var(--ck-text)}\n.ck-crowdy-studio-rail-button[aria-pressed=true]{color:#bae6fd;border-color:var(--ck-line);background:#0f172a}\n.ck-crowdy-studio-explorer,.ck-crowdy-studio-settings{flex:none;background:var(--ck-panel);overflow:auto;padding:8px;min-width:0}\n.ck-crowdy-studio-settings{border-left:1px solid var(--ck-line)}\n.ck-crowdy-studio-settings h3{margin:0 0 8px}\n.ck-crowdy-studio-editor-column{display:flex;flex-direction:column;flex:1;min-width:240px;min-height:0}\n.ck-crowdy-studio-editor{flex:1;min-height:80px;position:relative}\n.ck-crowdy-studio-textarea{width:100%;height:100%;min-height:0;resize:none;background:#0b1020;color:var(--ck-text);border:0;padding:12px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}\n.ck-crowdy-studio-editor-notice{padding:4px 8px;background:#78350f;color:#ffedd5}\n\n/* Splitters */\n.ck-crowdy-studio-splitter{flex:none;background:transparent;position:relative;z-index:5}\n.ck-crowdy-studio-splitter[data-orientation=vertical]{width:6px;cursor:col-resize}\n.ck-crowdy-studio-splitter[data-orientation=horizontal]{height:6px;cursor:row-resize}\n.ck-crowdy-studio-splitter:hover,.ck-crowdy-studio-splitter[data-dragging=true]{background:var(--ck-accent);opacity:.5}\n\n/* Explorer */\n.ck-crowdy-studio-section{margin-bottom:12px}\n.ck-crowdy-studio-section-header{display:flex;align-items:center;justify-content:space-between;color:var(--ck-muted);font-weight:700;text-transform:uppercase;font-size:11px;margin-bottom:4px}\n.ck-crowdy-studio-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;align-items:center}\n.ck-crowdy-studio-file>button:first-child{text-align:left;overflow:hidden;text-overflow:ellipsis;border:0;background:transparent}\n.ck-crowdy-studio-file-action{padding:1px 6px}\n.ck-crowdy-studio-file .ck-crowdy-studio-menu{left:auto;right:0;min-width:130px}\n.ck-crowdy-studio-inline-form{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0;padding:6px;border:1px solid var(--ck-line);border-radius:4px;background:#0f172a}\n.ck-crowdy-studio-inline-form input{flex:1 1 100%;min-width:0}\n.ck-crowdy-studio-file-form-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:4px 0;padding:6px;border:1px solid #f59e0b66;border-radius:4px}\n\n/* Editor tabs */\n.ck-crowdy-studio-tabs{display:flex;align-items:center;gap:6px;padding:4px;border-bottom:1px solid var(--ck-line);overflow:auto}\n.ck-crowdy-studio-tab{white-space:nowrap}\n.ck-crowdy-studio-tab[data-active=true],.ck-crowdy-studio-panel-tab[data-active=true]{border-color:var(--ck-accent);color:#bae6fd}\n.ck-crowdy-studio-tab span{margin-left:7px;color:var(--ck-muted)}\n\n/* Settings */\n.ck-crowdy-studio-settings label{display:grid;gap:3px;margin-bottom:9px;color:var(--ck-muted)}\n.ck-crowdy-studio-settings input,.ck-crowdy-studio-settings select{width:100%}\n\n/* Bottom panel */\n.ck-crowdy-studio-bottom{flex:none;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--ck-line)}\n.ck-crowdy-studio-panel-tabs{display:flex;align-items:center;gap:6px;padding:5px 7px;border-bottom:1px solid var(--ck-line)}\n.ck-crowdy-studio-panel-hide{margin-left:auto;padding:1px 7px;color:var(--ck-muted)}\n.ck-crowdy-studio-panel-body{flex:1;min-height:0;display:flex;flex-direction:column}\n.ck-crowdy-studio-panel{display:none;flex:1;overflow:auto;padding:8px}\n.ck-crowdy-studio-panel[data-active=true]{display:block}\n.ck-crowdy-studio-panel pre{white-space:pre-wrap;margin:0;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}\n.ck-crowdy-studio-problem{display:grid;grid-template-columns:auto auto 1fr;gap:8px;padding:3px;border-bottom:1px solid #243247;width:100%;text-align:left;background:transparent;border-left:0;border-right:0;border-top:0;border-radius:0}\n.ck-crowdy-studio-problem[data-source=rustc]{color:#fecaca}\n.ck-crowdy-studio-problem[data-source=local-advisory]{color:#fde68a}\n.ck-crowdy-studio-invoke{display:grid;grid-template-columns:180px 1fr auto;gap:6px}\n.ck-crowdy-studio-invoke textarea{min-height:70px;background:#0f172a;color:var(--ck-text);border:1px solid var(--ck-line)}\n.ck-crowdy-studio-empty{color:var(--ck-muted);padding:8px}\n\n/* Status bar */\n.ck-crowdy-studio-statusbar{display:flex;align-items:center;gap:14px;padding:3px 10px;border-top:1px solid var(--ck-line);background:#0b1220;font-size:12px;min-height:24px}\n.ck-crowdy-studio-status{color:var(--ck-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.ck-crowdy-studio-statusbar-runtime{background:transparent;border:0;padding:1px 4px;border-radius:3px}\n.ck-crowdy-studio-statusbar-runtime:hover{color:var(--ck-text)}\n.ck-crowdy-studio-statusbar-runtime[data-phase=RUNNING]{color:#86efac}\n.ck-crowdy-studio-statusbar-runtime[data-phase=COMPILING],.ck-crowdy-studio-statusbar-runtime[data-phase=TESTING_DRAFT],.ck-crowdy-studio-statusbar-runtime[data-phase=DEPLOYING_LIVE],.ck-crowdy-studio-statusbar-runtime[data-phase=ENABLING]{color:#fde68a}\n.ck-crowdy-studio-statusbar-runtime[data-phase=COMPILE_FAILED],.ck-crowdy-studio-statusbar-runtime[data-phase=ERROR],.ck-crowdy-studio-statusbar-runtime[data-phase=PARTIAL_FAILURE]{color:#fca5a5}\n\n/* Agent dock */\n.ck-crowdy-studio-agent-dock{flex:none;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;padding:10px;border-left:1px solid var(--ck-line);background:#0b1220;overflow:auto}\n.ck-crowdy-studio-agent-dock header{display:flex;align-items:center;justify-content:space-between;gap:8px}\n.ck-crowdy-studio-agent-dock h2,.ck-crowdy-studio-agent-dock h3{margin:0;font-size:13px}\n.ck-crowdy-studio-agent-status,.ck-crowdy-studio-agent-budget,.ck-crowdy-studio-agent-lease{color:var(--ck-muted);font-size:12px}\n.ck-crowdy-studio-agent-lease[data-active=true]{color:#fde68a;border:1px solid #f59e0b;border-radius:5px;padding:6px}\n.ck-crowdy-studio-agent-controls-row{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}\n.ck-crowdy-studio-agent-modes,.ck-crowdy-studio-agent-controls{display:flex;gap:5px;flex-wrap:wrap}\n.ck-crowdy-studio-agent-modes button[data-active=true]{border-color:var(--ck-accent);color:#bae6fd}\n.ck-crowdy-studio-agent-stop{border-color:#ef4444!important;color:#fecaca!important}\n.ck-crowdy-studio-agent-disclosure{border:1px solid var(--ck-line);border-radius:5px;padding:0}\n.ck-crowdy-studio-agent-disclosure>summary{cursor:pointer;padding:6px 8px;color:var(--ck-muted)}\n.ck-crowdy-studio-agent-disclosure[open]>summary{border-bottom:1px solid var(--ck-line);color:var(--ck-text)}\n.ck-crowdy-studio-agent-disclosure>:not(summary){padding:6px 8px}\n.ck-crowdy-studio-agent-lease-controls{display:flex;gap:6px;flex-wrap:wrap;margin:0;padding:7px;border:1px solid var(--ck-line)}\n.ck-crowdy-studio-agent-lease-controls legend{color:var(--ck-muted)}\n.ck-crowdy-studio-agent-lease-controls label{display:flex;gap:3px;align-items:center}\n.ck-crowdy-studio-agent-messages{display:flex;flex-direction:column;gap:6px;flex:1;min-height:120px;overflow:auto}\n.ck-crowdy-studio-agent-message,.ck-crowdy-studio-agent-stream,.ck-crowdy-studio-agent-approval,.ck-crowdy-studio-agent-diff,.ck-crowdy-studio-agent-checkpoint{padding:7px;border:1px solid var(--ck-line);border-radius:5px;background:var(--ck-panel)}\n.ck-crowdy-studio-agent-message[data-role=USER]{border-color:#155e75}\n.ck-crowdy-studio-agent-message p,.ck-crowdy-studio-agent-approval p,.ck-crowdy-studio-agent-diff p,.ck-crowdy-studio-agent-checkpoint p{margin:3px 0;white-space:pre-wrap;overflow-wrap:anywhere}\n.ck-crowdy-studio-agent-timeline{display:grid;gap:5px;margin:0;padding-left:22px;max-height:190px;overflow:auto}\n.ck-crowdy-studio-agent-timeline li{padding:4px;border-bottom:1px solid #243247}\n.ck-crowdy-studio-agent-timeline li>span{margin-left:6px;color:var(--ck-muted)}\n.ck-crowdy-studio-agent-approvals,.ck-crowdy-studio-agent-checkpoints{display:grid;gap:7px}\n.ck-crowdy-studio-agent-approval{border-color:#f59e0b}\n.ck-crowdy-studio-agent-approval code{display:block;overflow-wrap:anywhere;color:#fde68a}\n.ck-crowdy-studio-agent-approval>div{display:flex;gap:6px}\n.ck-crowdy-studio-agent-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}\n.ck-crowdy-studio-agent-composer textarea{min-height:62px;resize:vertical;background:#0f172a;color:var(--ck-text);border:1px solid var(--ck-line);padding:7px}\n.ck-crowdy-studio :focus-visible{outline:2px solid var(--ck-accent);outline-offset:2px}\n\n/* Narrow widths: side panes become overlays so the editor keeps priority. */\n@container(max-width:900px){.ck-crowdy-studio-settings{position:absolute;right:0;top:0;bottom:0;z-index:20;max-width:85%;border-left:1px solid var(--ck-line);box-shadow:-8px 0 24px rgba(2,6,23,.55)}.ck-crowdy-studio-splitter[data-orientation=vertical]{display:none}}\n@container(max-width:760px){.ck-crowdy-studio-agent-dock{position:absolute;right:0;top:0;bottom:0;z-index:22;max-width:92%;box-shadow:-8px 0 24px rgba(2,6,23,.55)}}\n@container(max-width:620px){.ck-crowdy-studio-explorer{position:absolute;left:34px;top:0;bottom:0;z-index:21;max-width:85%;border-right:1px solid var(--ck-line);box-shadow:8px 0 24px rgba(2,6,23,.55)}}\n";
|
|
2
2
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/crowdy-studio/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,2iZAkIhC,CAAC"}
|
|
@@ -1,14 +1,131 @@
|
|
|
1
1
|
export const CROWDY_STUDIO_STYLES = `
|
|
2
|
-
.ck-crowdy-studio{--ck-bg:#111827;--ck-panel:#182235;--ck-line:#334155;--ck-text:#e5e7eb;--ck-muted:#94a3b8;--ck-accent:#38bdf8;container-type:inline-size;display:
|
|
2
|
+
.ck-crowdy-studio{--ck-bg:#111827;--ck-panel:#182235;--ck-line:#334155;--ck-text:#e5e7eb;--ck-muted:#94a3b8;--ck-accent:#38bdf8;container-type:inline-size;display:flex;flex-direction:column;position:relative;isolation:isolate;width:100%;height:100%;min-height:0;overflow:hidden;background:var(--ck-bg);color:var(--ck-text);font:13px/1.4 ui-sans-serif,system-ui,sans-serif;border:1px solid var(--ck-line)}
|
|
3
3
|
.ck-crowdy-studio *{box-sizing:border-box}.ck-crowdy-studio button,.ck-crowdy-studio input,.ck-crowdy-studio select,.ck-crowdy-studio textarea{font:inherit}.ck-crowdy-studio button,.ck-crowdy-studio select,.ck-crowdy-studio input{background:#0f172a;color:var(--ck-text);border:1px solid var(--ck-line);border-radius:4px;padding:5px 8px}.ck-crowdy-studio button{cursor:pointer}.ck-crowdy-studio button:hover{border-color:var(--ck-accent)}.ck-crowdy-studio button:disabled{opacity:.5;cursor:not-allowed}
|
|
4
|
-
.ck-crowdy-studio
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
.ck-crowdy-studio-
|
|
8
|
-
.ck-crowdy-studio-
|
|
9
|
-
.ck-crowdy-studio-
|
|
10
|
-
.ck-crowdy-studio-
|
|
11
|
-
.ck-crowdy-studio-
|
|
12
|
-
.ck-crowdy-studio-
|
|
13
|
-
|
|
4
|
+
.ck-crowdy-studio [hidden]{display:none!important}
|
|
5
|
+
|
|
6
|
+
/* Top bar */
|
|
7
|
+
.ck-crowdy-studio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px;border-bottom:1px solid var(--ck-line);position:relative;z-index:30}
|
|
8
|
+
.ck-crowdy-studio-project-tools,.ck-crowdy-studio-runtime-tools{display:flex;align-items:center;gap:6px;min-width:0}
|
|
9
|
+
.ck-crowdy-studio-primary{border-color:var(--ck-accent);color:#bae6fd}
|
|
10
|
+
.ck-crowdy-studio-save{color:var(--ck-muted)}
|
|
11
|
+
.ck-crowdy-studio-save[data-state=SAVED]{color:#86efac}.ck-crowdy-studio-save[data-state=SAVING]{color:#fde68a}.ck-crowdy-studio-save[data-state=CONFLICT]{color:#fca5a5;border-color:#f87171}.ck-crowdy-studio-save[data-state=OFFLINE]{color:#fdba74;border-color:#fb923c}
|
|
12
|
+
.ck-crowdy-studio-save-message{margin:0;padding:4px 6px;color:var(--ck-muted);max-width:280px}
|
|
13
|
+
.ck-crowdy-studio-save-actions{display:flex;gap:6px;padding:4px 6px}
|
|
14
|
+
|
|
15
|
+
/* Menus */
|
|
16
|
+
.ck-crowdy-studio-menu-wrap{position:relative;display:inline-flex;min-width:0}
|
|
17
|
+
.ck-crowdy-studio-menu-button{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
18
|
+
.ck-crowdy-studio-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;min-width:180px;max-width:320px;max-height:60vh;overflow:auto;display:flex;flex-direction:column;background:var(--ck-panel);border:1px solid var(--ck-line);border-radius:6px;padding:4px;box-shadow:0 8px 24px rgba(2,6,23,.55)}
|
|
19
|
+
.ck-crowdy-studio-runtime-tools .ck-crowdy-studio-menu{left:auto;right:0}
|
|
20
|
+
.ck-crowdy-studio-menu-item{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:4px;padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
|
|
21
|
+
.ck-crowdy-studio-menu-item:hover{background:#0f172a;border:0}
|
|
22
|
+
.ck-crowdy-studio-menu-item[data-active=true]{color:#bae6fd}
|
|
23
|
+
.ck-crowdy-studio-menu-divider{border-top:1px solid var(--ck-line);margin:4px 2px}
|
|
24
|
+
|
|
25
|
+
/* New-project popover */
|
|
26
|
+
.ck-crowdy-studio-new{display:none;position:absolute;top:100%;left:8px;z-index:35;gap:6px;align-items:center;padding:8px;background:var(--ck-panel);border:1px solid var(--ck-line);border-radius:6px;box-shadow:0 8px 24px rgba(2,6,23,.55)}
|
|
27
|
+
.ck-crowdy-studio-new[data-open=true]{display:flex}
|
|
28
|
+
.ck-crowdy-studio-new input{flex:1;min-width:160px}
|
|
29
|
+
|
|
30
|
+
/* Workspace: rail + panes + editor */
|
|
31
|
+
.ck-crowdy-studio-workspace{display:flex;flex:1;min-height:0;min-width:0;position:relative}
|
|
32
|
+
.ck-crowdy-studio-rail{display:flex;flex-direction:column;gap:4px;padding:6px 3px;border-right:1px solid var(--ck-line);background:#0b1220}
|
|
33
|
+
.ck-crowdy-studio-rail-button{writing-mode:vertical-rl;padding:8px 4px;background:transparent;border:1px solid transparent;color:var(--ck-muted);border-radius:4px}
|
|
34
|
+
.ck-crowdy-studio-rail-button:hover{color:var(--ck-text)}
|
|
35
|
+
.ck-crowdy-studio-rail-button[aria-pressed=true]{color:#bae6fd;border-color:var(--ck-line);background:#0f172a}
|
|
36
|
+
.ck-crowdy-studio-explorer,.ck-crowdy-studio-settings{flex:none;background:var(--ck-panel);overflow:auto;padding:8px;min-width:0}
|
|
37
|
+
.ck-crowdy-studio-settings{border-left:1px solid var(--ck-line)}
|
|
38
|
+
.ck-crowdy-studio-settings h3{margin:0 0 8px}
|
|
39
|
+
.ck-crowdy-studio-editor-column{display:flex;flex-direction:column;flex:1;min-width:240px;min-height:0}
|
|
40
|
+
.ck-crowdy-studio-editor{flex:1;min-height:80px;position:relative}
|
|
41
|
+
.ck-crowdy-studio-textarea{width:100%;height:100%;min-height:0;resize:none;background:#0b1020;color:var(--ck-text);border:0;padding:12px;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
|
|
42
|
+
.ck-crowdy-studio-editor-notice{padding:4px 8px;background:#78350f;color:#ffedd5}
|
|
43
|
+
|
|
44
|
+
/* Splitters */
|
|
45
|
+
.ck-crowdy-studio-splitter{flex:none;background:transparent;position:relative;z-index:5}
|
|
46
|
+
.ck-crowdy-studio-splitter[data-orientation=vertical]{width:6px;cursor:col-resize}
|
|
47
|
+
.ck-crowdy-studio-splitter[data-orientation=horizontal]{height:6px;cursor:row-resize}
|
|
48
|
+
.ck-crowdy-studio-splitter:hover,.ck-crowdy-studio-splitter[data-dragging=true]{background:var(--ck-accent);opacity:.5}
|
|
49
|
+
|
|
50
|
+
/* Explorer */
|
|
51
|
+
.ck-crowdy-studio-section{margin-bottom:12px}
|
|
52
|
+
.ck-crowdy-studio-section-header{display:flex;align-items:center;justify-content:space-between;color:var(--ck-muted);font-weight:700;text-transform:uppercase;font-size:11px;margin-bottom:4px}
|
|
53
|
+
.ck-crowdy-studio-file{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px;align-items:center}
|
|
54
|
+
.ck-crowdy-studio-file>button:first-child{text-align:left;overflow:hidden;text-overflow:ellipsis;border:0;background:transparent}
|
|
55
|
+
.ck-crowdy-studio-file-action{padding:1px 6px}
|
|
56
|
+
.ck-crowdy-studio-file .ck-crowdy-studio-menu{left:auto;right:0;min-width:130px}
|
|
57
|
+
.ck-crowdy-studio-inline-form{display:flex;flex-wrap:wrap;gap:4px;margin:4px 0;padding:6px;border:1px solid var(--ck-line);border-radius:4px;background:#0f172a}
|
|
58
|
+
.ck-crowdy-studio-inline-form input{flex:1 1 100%;min-width:0}
|
|
59
|
+
.ck-crowdy-studio-file-form-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:4px 0;padding:6px;border:1px solid #f59e0b66;border-radius:4px}
|
|
60
|
+
|
|
61
|
+
/* Editor tabs */
|
|
62
|
+
.ck-crowdy-studio-tabs{display:flex;align-items:center;gap:6px;padding:4px;border-bottom:1px solid var(--ck-line);overflow:auto}
|
|
63
|
+
.ck-crowdy-studio-tab{white-space:nowrap}
|
|
64
|
+
.ck-crowdy-studio-tab[data-active=true],.ck-crowdy-studio-panel-tab[data-active=true]{border-color:var(--ck-accent);color:#bae6fd}
|
|
65
|
+
.ck-crowdy-studio-tab span{margin-left:7px;color:var(--ck-muted)}
|
|
66
|
+
|
|
67
|
+
/* Settings */
|
|
68
|
+
.ck-crowdy-studio-settings label{display:grid;gap:3px;margin-bottom:9px;color:var(--ck-muted)}
|
|
69
|
+
.ck-crowdy-studio-settings input,.ck-crowdy-studio-settings select{width:100%}
|
|
70
|
+
|
|
71
|
+
/* Bottom panel */
|
|
72
|
+
.ck-crowdy-studio-bottom{flex:none;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--ck-line)}
|
|
73
|
+
.ck-crowdy-studio-panel-tabs{display:flex;align-items:center;gap:6px;padding:5px 7px;border-bottom:1px solid var(--ck-line)}
|
|
74
|
+
.ck-crowdy-studio-panel-hide{margin-left:auto;padding:1px 7px;color:var(--ck-muted)}
|
|
75
|
+
.ck-crowdy-studio-panel-body{flex:1;min-height:0;display:flex;flex-direction:column}
|
|
76
|
+
.ck-crowdy-studio-panel{display:none;flex:1;overflow:auto;padding:8px}
|
|
77
|
+
.ck-crowdy-studio-panel[data-active=true]{display:block}
|
|
78
|
+
.ck-crowdy-studio-panel pre{white-space:pre-wrap;margin:0;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
|
|
79
|
+
.ck-crowdy-studio-problem{display:grid;grid-template-columns:auto auto 1fr;gap:8px;padding:3px;border-bottom:1px solid #243247;width:100%;text-align:left;background:transparent;border-left:0;border-right:0;border-top:0;border-radius:0}
|
|
80
|
+
.ck-crowdy-studio-problem[data-source=rustc]{color:#fecaca}
|
|
81
|
+
.ck-crowdy-studio-problem[data-source=local-advisory]{color:#fde68a}
|
|
82
|
+
.ck-crowdy-studio-invoke{display:grid;grid-template-columns:180px 1fr auto;gap:6px}
|
|
83
|
+
.ck-crowdy-studio-invoke textarea{min-height:70px;background:#0f172a;color:var(--ck-text);border:1px solid var(--ck-line)}
|
|
84
|
+
.ck-crowdy-studio-empty{color:var(--ck-muted);padding:8px}
|
|
85
|
+
|
|
86
|
+
/* Status bar */
|
|
87
|
+
.ck-crowdy-studio-statusbar{display:flex;align-items:center;gap:14px;padding:3px 10px;border-top:1px solid var(--ck-line);background:#0b1220;font-size:12px;min-height:24px}
|
|
88
|
+
.ck-crowdy-studio-status{color:var(--ck-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
89
|
+
.ck-crowdy-studio-statusbar-runtime{background:transparent;border:0;padding:1px 4px;border-radius:3px}
|
|
90
|
+
.ck-crowdy-studio-statusbar-runtime:hover{color:var(--ck-text)}
|
|
91
|
+
.ck-crowdy-studio-statusbar-runtime[data-phase=RUNNING]{color:#86efac}
|
|
92
|
+
.ck-crowdy-studio-statusbar-runtime[data-phase=COMPILING],.ck-crowdy-studio-statusbar-runtime[data-phase=TESTING_DRAFT],.ck-crowdy-studio-statusbar-runtime[data-phase=DEPLOYING_LIVE],.ck-crowdy-studio-statusbar-runtime[data-phase=ENABLING]{color:#fde68a}
|
|
93
|
+
.ck-crowdy-studio-statusbar-runtime[data-phase=COMPILE_FAILED],.ck-crowdy-studio-statusbar-runtime[data-phase=ERROR],.ck-crowdy-studio-statusbar-runtime[data-phase=PARTIAL_FAILURE]{color:#fca5a5}
|
|
94
|
+
|
|
95
|
+
/* Agent dock */
|
|
96
|
+
.ck-crowdy-studio-agent-dock{flex:none;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;padding:10px;border-left:1px solid var(--ck-line);background:#0b1220;overflow:auto}
|
|
97
|
+
.ck-crowdy-studio-agent-dock header{display:flex;align-items:center;justify-content:space-between;gap:8px}
|
|
98
|
+
.ck-crowdy-studio-agent-dock h2,.ck-crowdy-studio-agent-dock h3{margin:0;font-size:13px}
|
|
99
|
+
.ck-crowdy-studio-agent-status,.ck-crowdy-studio-agent-budget,.ck-crowdy-studio-agent-lease{color:var(--ck-muted);font-size:12px}
|
|
100
|
+
.ck-crowdy-studio-agent-lease[data-active=true]{color:#fde68a;border:1px solid #f59e0b;border-radius:5px;padding:6px}
|
|
101
|
+
.ck-crowdy-studio-agent-controls-row{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}
|
|
102
|
+
.ck-crowdy-studio-agent-modes,.ck-crowdy-studio-agent-controls{display:flex;gap:5px;flex-wrap:wrap}
|
|
103
|
+
.ck-crowdy-studio-agent-modes button[data-active=true]{border-color:var(--ck-accent);color:#bae6fd}
|
|
104
|
+
.ck-crowdy-studio-agent-stop{border-color:#ef4444!important;color:#fecaca!important}
|
|
105
|
+
.ck-crowdy-studio-agent-disclosure{border:1px solid var(--ck-line);border-radius:5px;padding:0}
|
|
106
|
+
.ck-crowdy-studio-agent-disclosure>summary{cursor:pointer;padding:6px 8px;color:var(--ck-muted)}
|
|
107
|
+
.ck-crowdy-studio-agent-disclosure[open]>summary{border-bottom:1px solid var(--ck-line);color:var(--ck-text)}
|
|
108
|
+
.ck-crowdy-studio-agent-disclosure>:not(summary){padding:6px 8px}
|
|
109
|
+
.ck-crowdy-studio-agent-lease-controls{display:flex;gap:6px;flex-wrap:wrap;margin:0;padding:7px;border:1px solid var(--ck-line)}
|
|
110
|
+
.ck-crowdy-studio-agent-lease-controls legend{color:var(--ck-muted)}
|
|
111
|
+
.ck-crowdy-studio-agent-lease-controls label{display:flex;gap:3px;align-items:center}
|
|
112
|
+
.ck-crowdy-studio-agent-messages{display:flex;flex-direction:column;gap:6px;flex:1;min-height:120px;overflow:auto}
|
|
113
|
+
.ck-crowdy-studio-agent-message,.ck-crowdy-studio-agent-stream,.ck-crowdy-studio-agent-approval,.ck-crowdy-studio-agent-diff,.ck-crowdy-studio-agent-checkpoint{padding:7px;border:1px solid var(--ck-line);border-radius:5px;background:var(--ck-panel)}
|
|
114
|
+
.ck-crowdy-studio-agent-message[data-role=USER]{border-color:#155e75}
|
|
115
|
+
.ck-crowdy-studio-agent-message p,.ck-crowdy-studio-agent-approval p,.ck-crowdy-studio-agent-diff p,.ck-crowdy-studio-agent-checkpoint p{margin:3px 0;white-space:pre-wrap;overflow-wrap:anywhere}
|
|
116
|
+
.ck-crowdy-studio-agent-timeline{display:grid;gap:5px;margin:0;padding-left:22px;max-height:190px;overflow:auto}
|
|
117
|
+
.ck-crowdy-studio-agent-timeline li{padding:4px;border-bottom:1px solid #243247}
|
|
118
|
+
.ck-crowdy-studio-agent-timeline li>span{margin-left:6px;color:var(--ck-muted)}
|
|
119
|
+
.ck-crowdy-studio-agent-approvals,.ck-crowdy-studio-agent-checkpoints{display:grid;gap:7px}
|
|
120
|
+
.ck-crowdy-studio-agent-approval{border-color:#f59e0b}
|
|
121
|
+
.ck-crowdy-studio-agent-approval code{display:block;overflow-wrap:anywhere;color:#fde68a}
|
|
122
|
+
.ck-crowdy-studio-agent-approval>div{display:flex;gap:6px}
|
|
123
|
+
.ck-crowdy-studio-agent-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}
|
|
124
|
+
.ck-crowdy-studio-agent-composer textarea{min-height:62px;resize:vertical;background:#0f172a;color:var(--ck-text);border:1px solid var(--ck-line);padding:7px}
|
|
125
|
+
.ck-crowdy-studio :focus-visible{outline:2px solid var(--ck-accent);outline-offset:2px}
|
|
126
|
+
|
|
127
|
+
/* Narrow widths: side panes become overlays so the editor keeps priority. */
|
|
128
|
+
@container(max-width:900px){.ck-crowdy-studio-settings{position:absolute;right:0;top:0;bottom:0;z-index:20;max-width:85%;border-left:1px solid var(--ck-line);box-shadow:-8px 0 24px rgba(2,6,23,.55)}.ck-crowdy-studio-splitter[data-orientation=vertical]{display:none}}
|
|
129
|
+
@container(max-width:760px){.ck-crowdy-studio-agent-dock{position:absolute;right:0;top:0;bottom:0;z-index:22;max-width:92%;box-shadow:-8px 0 24px rgba(2,6,23,.55)}}
|
|
130
|
+
@container(max-width:620px){.ck-crowdy-studio-explorer{position:absolute;left:34px;top:0;bottom:0;z-index:21;max-width:85%;border-right:1px solid var(--ck-line);box-shadow:8px 0 24px rgba(2,6,23,.55)}}
|
|
14
131
|
`;
|