raffel 1.1.80 → 1.1.82
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/dist/docs/ui/assets/raffel-docs.css +223 -167
- package/dist/docs/ui/assets/raffel-docs.js +11 -16
- package/dist/docs/ui/runtime/index.js +11 -16
- package/dist/docs/ui/runtime/index.js.map +1 -1
- package/dist/docs/ui/style-sections/content.d.ts +1 -1
- package/dist/docs/ui/style-sections/content.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/content.js +53 -52
- package/dist/docs/ui/style-sections/content.js.map +1 -1
- package/dist/docs/ui/style-sections/layout-navigation.d.ts +1 -1
- package/dist/docs/ui/style-sections/layout-navigation.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/layout-navigation.js +26 -26
- package/dist/docs/ui/style-sections/schema-code.d.ts +1 -1
- package/dist/docs/ui/style-sections/schema-code.d.ts.map +1 -1
- package/dist/docs/ui/style-sections/schema-code.js +122 -67
- package/dist/docs/ui/style-sections/schema-code.js.map +1 -1
- package/dist/docs/ui/style-sections/shell.js +22 -22
- package/dist/ui/docs/ui/style-sections/content.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/content.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/layout-navigation.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/layout-navigation.d.ts.map +1 -1
- package/dist/ui/docs/ui/style-sections/schema-code.d.ts +1 -1
- package/dist/ui/docs/ui/style-sections/schema-code.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -23,7 +23,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
23
23
|
|
|
24
24
|
.app-container {
|
|
25
25
|
display: grid;
|
|
26
|
-
grid-template-columns:
|
|
26
|
+
grid-template-columns: 280px 1fr;
|
|
27
27
|
min-height: calc(100vh - 300px);
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -53,7 +53,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
53
53
|
.sidebar {
|
|
54
54
|
background: var(--sidebar-bg);
|
|
55
55
|
border-right: 1px solid var(--border-color);
|
|
56
|
-
padding:
|
|
56
|
+
padding: 18px 0;
|
|
57
57
|
overflow-y: auto;
|
|
58
58
|
position: sticky;
|
|
59
59
|
top: 0;
|
|
@@ -65,9 +65,9 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
.sidebar-header {
|
|
68
|
-
padding: 0
|
|
68
|
+
padding: 0 14px 14px;
|
|
69
69
|
border-bottom: 1px solid var(--border-color);
|
|
70
|
-
margin-bottom:
|
|
70
|
+
margin-bottom: 12px;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
.sidebar-logo {
|
|
@@ -86,10 +86,10 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
86
86
|
|
|
87
87
|
.sidebar-search input {
|
|
88
88
|
width: 100%;
|
|
89
|
-
padding: 10px
|
|
89
|
+
padding: 8px 10px 8px 32px;
|
|
90
90
|
border: 1px solid var(--border-color);
|
|
91
91
|
border-radius: 8px;
|
|
92
|
-
font-size:
|
|
92
|
+
font-size: var(--font-size-small);
|
|
93
93
|
background: var(--bg-color);
|
|
94
94
|
color: var(--text-color);
|
|
95
95
|
outline: none;
|
|
@@ -103,24 +103,24 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
103
103
|
.sidebar-search::before {
|
|
104
104
|
content: '🔍';
|
|
105
105
|
position: absolute;
|
|
106
|
-
left:
|
|
106
|
+
left: 10px;
|
|
107
107
|
top: 50%;
|
|
108
108
|
transform: translateY(-50%);
|
|
109
|
-
font-size:
|
|
109
|
+
font-size: var(--font-size-small);
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
.protocol-tabs {
|
|
113
113
|
display: flex;
|
|
114
114
|
flex-wrap: wrap;
|
|
115
|
-
gap:
|
|
116
|
-
padding: 0
|
|
117
|
-
margin-bottom:
|
|
115
|
+
gap: 5px;
|
|
116
|
+
padding: 0 14px;
|
|
117
|
+
margin-bottom: 14px;
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
.protocol-tab {
|
|
121
|
-
padding:
|
|
121
|
+
padding: 5px 10px;
|
|
122
122
|
border-radius: 20px;
|
|
123
|
-
font-size:
|
|
123
|
+
font-size: 11px;
|
|
124
124
|
font-weight: 500;
|
|
125
125
|
cursor: pointer;
|
|
126
126
|
background: var(--code-bg);
|
|
@@ -158,7 +158,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
158
158
|
|
|
159
159
|
/* ========== TAG GROUPS ========== */
|
|
160
160
|
.sidebar-nav {
|
|
161
|
-
padding: 0
|
|
161
|
+
padding: 0 10px;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
164
|
.tag-group {
|
|
@@ -168,11 +168,11 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
168
168
|
.tag-group-header {
|
|
169
169
|
display: flex;
|
|
170
170
|
align-items: center;
|
|
171
|
-
gap:
|
|
172
|
-
padding: 10px
|
|
171
|
+
gap: 6px;
|
|
172
|
+
padding: 8px 10px;
|
|
173
173
|
border-radius: 8px;
|
|
174
174
|
cursor: pointer;
|
|
175
|
-
font-size:
|
|
175
|
+
font-size: 13px;
|
|
176
176
|
font-weight: 600;
|
|
177
177
|
color: var(--text-secondary);
|
|
178
178
|
transition: all 0.2s;
|
|
@@ -216,8 +216,8 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
216
216
|
.nav-item {
|
|
217
217
|
display: flex;
|
|
218
218
|
align-items: center;
|
|
219
|
-
gap:
|
|
220
|
-
padding:
|
|
219
|
+
gap: 8px;
|
|
220
|
+
padding: 4px 10px 4px 12px;
|
|
221
221
|
border-left: 2px solid transparent;
|
|
222
222
|
border-radius: 0;
|
|
223
223
|
text-decoration: none;
|
|
@@ -252,9 +252,9 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
252
252
|
color: var(--text-muted);
|
|
253
253
|
cursor: pointer;
|
|
254
254
|
font: inherit;
|
|
255
|
-
font-size:
|
|
255
|
+
font-size: 11px;
|
|
256
256
|
line-height: 1.35;
|
|
257
|
-
padding:
|
|
257
|
+
padding: 4px 7px;
|
|
258
258
|
text-align: left;
|
|
259
259
|
border-radius: 5px;
|
|
260
260
|
overflow: hidden;
|
|
@@ -287,8 +287,8 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
287
287
|
.docs-sidebar-depth-6 { margin-left: 16px; }
|
|
288
288
|
|
|
289
289
|
.nav-item-intro {
|
|
290
|
-
margin-bottom:
|
|
291
|
-
padding: 10px
|
|
290
|
+
margin-bottom: 12px;
|
|
291
|
+
padding: 8px 10px;
|
|
292
292
|
background: var(--surface-color);
|
|
293
293
|
border: 1px solid var(--border-color);
|
|
294
294
|
font-weight: 500;
|
|
@@ -304,11 +304,11 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
304
304
|
}
|
|
305
305
|
|
|
306
306
|
.nav-item-intro .nav-item-text {
|
|
307
|
-
font-size:
|
|
307
|
+
font-size: 13px;
|
|
308
308
|
}
|
|
309
309
|
|
|
310
310
|
.nav-item-method {
|
|
311
|
-
font-size:
|
|
311
|
+
font-size: 9px;
|
|
312
312
|
font-weight: 600;
|
|
313
313
|
padding: 1px 4px;
|
|
314
314
|
border: 1px solid var(--border-color);
|
|
@@ -344,7 +344,7 @@ export const layoutNavigationStyles = ` /* ========== LAYOUT ========== */
|
|
|
344
344
|
|
|
345
345
|
.nav-item-path {
|
|
346
346
|
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
347
|
-
font-size:
|
|
347
|
+
font-size: 12px;
|
|
348
348
|
flex: 1;
|
|
349
349
|
overflow: hidden;
|
|
350
350
|
text-overflow: ellipsis;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const schemaCodeStyles = " /* ========== RESPONSE SAMPLES (Right Panel) ========== */\n .response-samples {\n margin-top: 20px;\n }\n\n .response-samples-header {\n font-size: 14px;\n font-weight: 600;\n color: var(--code-panel-text);\n margin-bottom: 12px;\n }\n\n .sample-tabs {\n display: flex;\n gap: 8px;\n margin-bottom: 16px;\n }\n\n .sample-tab {\n padding: 6px 14px;\n border-radius: 4px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n background: transparent;\n border: 1px solid rgba(255,255,255,0.2);\n color: var(--code-panel-text);\n transition: all 0.15s;\n }\n\n .sample-tab:hover {\n background: rgba(255,255,255,0.1);\n }\n\n .sample-tab.active {\n background: rgba(255,255,255,0.15);\n border-color: rgba(255,255,255,0.3);\n }\n\n .sample-tab.status-2xx { color: #10b981; border-color: #10b981; }\n .sample-tab.status-4xx { color: #f59e0b; border-color: #f59e0b; }\n .sample-tab.status-5xx { color: #ef4444; border-color: #ef4444; }\n\n .sample-content {\n display: none;\n }\n\n .sample-content.active {\n display: block;\n }\n\n .sample-content-type {\n font-size: 12px;\n color: #90a4ae;\n margin-bottom: 8px;\n }\n\n .sample-actions {\n display: flex;\n gap: 16px;\n margin-bottom: 12px;\n }\n\n .sample-action {\n font-size: 12px;\n color: #90a4ae;\n cursor: pointer;\n background: none;\n border: none;\n padding: 0;\n transition: color 0.15s;\n }\n\n .sample-action:hover {\n color: white;\n }\n\n .sample-json {\n background: rgba(0,0,0,0.3);\n border-radius: 6px;\n padding: 14px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n line-height: 1.5;\n color: #e2e8f0;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .sample-json .json-key { color: #f8b500; }\n .sample-json .json-string { color: #a5d6a7; }\n .sample-json .json-number { color: #82aaff; }\n .sample-json .json-boolean { color: #f78c6c; }\n .sample-json .json-null { color: #89ddff; }\n\n /* Right panel sections */\n .right-panel-content {\n display: flex;\n flex-direction: column;\n gap: 24px;\n }\n\n .right-section {\n margin-bottom: 0;\n }\n\n .right-section-header {\n font-size: 13px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 16px;\n padding-bottom: 8px;\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .sample-contents {\n margin-top: 0;\n }\n\n .tab-status {\n font-weight: 600;\n }\n\n .tab-status.status-2xx { color: #10b981; }\n .tab-status.status-4xx { color: #f59e0b; }\n .tab-status.status-5xx { color: #ef4444; }\n\n .no-example {\n color: #90a4ae;\n font-style: italic;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n .response-desc-only {\n color: #90a4ae;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n /* ========== CODE EXAMPLES ========== */\n .code-example {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .code-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n background: var(--code-panel-header);\n font-size: 12px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .code-example pre {\n margin: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n color: #e2e8f0;\n padding: 14px;\n }\n\n .code-example code {\n color: #e2e8f0;\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 12px;\n }\n\n /* Code language tabs */\n .code-tabs {\n display: flex;\n gap: 2px;\n padding: 8px 14px;\n background: var(--code-panel-header);\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .code-tab {\n padding: 6px 12px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #90a4ae;\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .code-tab:hover {\n background: rgba(255,255,255,0.1);\n color: var(--code-panel-text);\n }\n\n .code-tab.active {\n background: rgba(255,255,255,0.15);\n color: var(--code-panel-text);\n }\n\n .code-contents {\n padding: 0;\n }\n\n .code-content {\n display: none;\n }\n\n .code-content.active {\n display: block;\n }\n\n pre {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 8px;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 13px;\n line-height: 1.5;\n border: 1px solid var(--border-color);\n }\n\n /* ========== SCHEMA VISUALIZATION (Redoc-style) ========== */\n .schema-container {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .schema-row {\n display: flex;\n align-items: flex-start;\n padding: 12px 16px;\n border-bottom: 1px solid var(--border-color);\n transition: background 0.15s;\n }\n\n .schema-row:last-child { border-bottom: none; }\n .schema-row:hover { background: var(--hover-bg); }\n\n .schema-row.nested {\n padding-left: 32px;\n background: rgba(0,0,0,0.02);\n }\n\n .schema-row.nested-2 { padding-left: 48px; }\n .schema-row.nested-3 { padding-left: 64px; }\n .schema-row.nested-4 { padding-left: 80px; }\n\n .schema-property {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 200px;\n flex-shrink: 0;\n }\n\n .schema-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 13px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .schema-required {\n color: #ef4444;\n font-weight: 700;\n font-size: 14px;\n }\n\n .schema-type {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 2px 8px;\n border-radius: 4px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n font-weight: 500;\n }\n\n .type-string { background: #dbeafe; color: #1d4ed8; }\n .type-number, .type-integer { background: #fef3c7; color: #b45309; }\n .type-boolean { background: #fce7f3; color: #be185d; }\n .type-object { background: #e0e7ff; color: #4338ca; }\n .type-array { background: #d1fae5; color: #047857; }\n .type-null { background: #f3f4f6; color: #6b7280; }\n .type-ref { background: #fef3c7; color: #92400e; font-style: italic; }\n\n [data-theme=\"dark\"] .type-string { background: #1e3a5f; color: #93c5fd; }\n [data-theme=\"dark\"] .type-number, [data-theme=\"dark\"] .type-integer { background: #451a03; color: #fcd34d; }\n [data-theme=\"dark\"] .type-boolean { background: #4a0519; color: #f9a8d4; }\n [data-theme=\"dark\"] .type-object { background: #312e81; color: #c7d2fe; }\n [data-theme=\"dark\"] .type-array { background: #064e3b; color: #6ee7b7; }\n [data-theme=\"dark\"] .type-null { background: #374151; color: #9ca3af; }\n [data-theme=\"dark\"] .type-ref { background: #451a03; color: #fbbf24; }\n\n .schema-details {\n flex: 1;\n padding-left: 16px;\n }\n\n .schema-desc {\n color: var(--text-muted);\n font-size: 13px;\n margin-bottom: 4px;\n }\n\n .schema-constraints {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n }\n\n .schema-constraint {\n font-size: 11px;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-enum {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n }\n\n .schema-enum-value {\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: #fef3c7;\n color: #92400e;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n [data-theme=\"dark\"] .schema-enum-value {\n background: #451a03;\n color: #fbbf24;\n }\n\n .schema-default {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 4px;\n }\n\n .schema-default code {\n background: var(--code-bg);\n padding: 1px 4px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-toggle {\n cursor: pointer;\n user-select: none;\n color: var(--primary-color);\n font-size: 12px;\n margin-left: 8px;\n }\n\n .schema-toggle:hover { text-decoration: underline; }\n\n .schema-nested-container {\n overflow: hidden;\n transition: max-height 0.3s ease;\n }\n\n .schema-nested-container.collapsed {\n max-height: 0 !important;\n }\n\n .schema-example {\n margin-top: 16px;\n background: var(--code-bg);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .schema-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n background: rgba(0,0,0,0.05);\n border-bottom: 1px solid var(--border-color);\n font-size: 12px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n }\n\n .schema-example-body {\n padding: 12px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n /* Response tabs */\n .response-tabs {\n display: flex;\n gap: 2px;\n margin-bottom: 12px;\n border-bottom: 2px solid var(--border-color);\n }\n\n .response-tab {\n padding: 8px 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n border: none;\n background: none;\n color: var(--text-muted);\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n transition: all 0.15s;\n }\n\n .response-tab:hover { color: var(--text-color); }\n\n .response-tab.active {\n color: var(--primary-color);\n border-bottom-color: var(--primary-color);\n }\n\n .response-tab.status-2xx { color: #10b981; }\n .response-tab.status-2xx.active { border-bottom-color: #10b981; }\n .response-tab.status-4xx { color: #f59e0b; }\n .response-tab.status-4xx.active { border-bottom-color: #f59e0b; }\n .response-tab.status-5xx { color: #ef4444; }\n .response-tab.status-5xx.active { border-bottom-color: #ef4444; }\n\n .response-content { display: none; }\n .response-content.active { display: block; }\n\n /* Parameters table */\n .params-table {\n width: 100%;\n border-collapse: collapse;\n margin-bottom: 16px;\n }\n\n .params-table th {\n text-align: left;\n padding: 8px 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--text-muted);\n background: var(--code-bg);\n border-bottom: 1px solid var(--border-color);\n }\n\n .params-table td {\n padding: 10px 12px;\n border-bottom: 1px solid var(--border-color);\n font-size: 13px;\n }\n\n .params-table tr:last-child td { border-bottom: none; }\n\n .param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .param-in {\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n background: var(--code-bg);\n color: var(--text-muted);\n text-transform: uppercase;\n margin-left: 8px;\n }\n\n /* ========== CHANNEL TYPES ========== */\n .channel-type-public { background: #10b981; color: white; }\n .channel-type-private { background: #f59e0b; color: white; }\n .channel-type-presence { background: #8b5cf6; color: white; }\n\n /* ========== INFO GRID ========== */\n .info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n gap: 12px;\n margin-bottom: 24px;\n }\n\n .info-card {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 10px;\n border: 1px solid var(--border-color);\n }\n\n .info-card-title {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .info-card-value {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n /* ========== RESPONSIVE ========== */\n @media (max-width: 900px) {\n .app-container { grid-template-columns: 1fr; }\n .sidebar {\n display: none;\n position: fixed;\n left: 0;\n top: 0;\n width: 300px;\n z-index: 100;\n }\n .sidebar.mobile-open { display: block; }\n .hero { padding: 40px 24px; min-height: 100vh; }\n .hero-logo { height: 80px; margin-bottom: 24px; }\n .hero-title { font-size: 36px; }\n .hero-version { font-size: 12px; margin-left: 8px; }\n .hero-tagline { font-size: 17px; margin-bottom: 20px; }\n .hero-features { flex-direction: column; align-items: center; gap: 12px; }\n .hero-features li { font-size: 15px; }\n .hero-btn { padding: 12px 24px; font-size: 15px; }\n .github-corner svg { width: 60px; height: 60px; }\n .main { padding: 24px; }\n }\n\n /* ========== ANIMATIONS ========== */\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .endpoint-section {\n animation: fadeIn 0.3s ease-out;\n }\n\n /* ========== HTTP ENDPOINT (ReDoc-style) ========== */\n .http-param-group {\n margin-bottom: 20px;\n }\n\n .http-param-group-title {\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin-bottom: 8px;\n }\n\n .http-params {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .http-param {\n padding: 12px 16px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .http-param:last-child { border-bottom: none; }\n\n .http-param-head {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .http-param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 13px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .http-param-required {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #ef4444;\n }\n\n .http-param-deprecated {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #f59e0b;\n }\n\n .http-param-desc {\n color: var(--text-muted);\n font-size: 13px;\n margin-top: 6px;\n line-height: 1.5;\n }\n\n /* Validation constraint chips (reuses .schema-constraint look) */\n .constraint-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 8px;\n }\n\n .constraint-chip {\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n border: 1px solid var(--border-color);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .constraint-chip.constraint-enum {\n background: #fef3c7;\n color: #92400e;\n border-color: transparent;\n }\n\n [data-theme=\"dark\"] .constraint-chip.constraint-enum {\n background: #451a03;\n color: #fbbf24;\n }\n\n /* Response accordions */\n .response-accordion {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n margin-bottom: 10px;\n overflow: hidden;\n }\n\n .response-accordion-header {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 12px 14px;\n background: var(--code-bg);\n border: none;\n cursor: pointer;\n text-align: left;\n font-size: 13px;\n color: var(--text-color);\n transition: background 0.15s;\n }\n\n .response-accordion-header:hover { background: var(--hover-bg); }\n\n .response-accordion-caret {\n flex-shrink: 0;\n font-size: 10px;\n color: var(--text-muted);\n transition: transform 0.2s ease;\n }\n\n .response-accordion.open .response-accordion-caret {\n transform: rotate(90deg);\n }\n\n .response-status-dot {\n width: 9px;\n height: 9px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .response-status-dot.status-2xx { background: #10b981; }\n .response-status-dot.status-3xx { background: #3b82f6; }\n .response-status-dot.status-4xx { background: #f59e0b; }\n .response-status-dot.status-5xx { background: #ef4444; }\n\n .response-status-code {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .response-status-desc {\n color: var(--text-muted);\n }\n\n .response-accordion-body {\n padding: 14px;\n border-top: 1px solid var(--border-color);\n display: none;\n }\n\n .response-accordion.open .response-accordion-body { display: block; }\n\n .response-subhead {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 8px;\n }\n\n .response-block + .response-block { margin-top: 16px; }\n\n /* Multi-language code samples */\n .http-code-samples {\n margin-top: 8px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n background: var(--code-bg);\n }\n\n .http-code-samples .code-tabs {\n flex-wrap: wrap;\n background: rgba(0,0,0,0.04);\n }\n\n [data-theme=\"dark\"] .http-code-samples .code-tabs {\n background: rgba(255,255,255,0.03);\n }\n\n .http-code-sample-pre {\n margin: 0;\n padding: 14px;\n background: transparent;\n border: none;\n border-radius: 0;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 12px;\n line-height: 1.55;\n color: var(--text-color);\n white-space: pre;\n }\n\n .http-code-copy,\n .sample-code-copy {\n margin-left: auto;\n padding: 4px 10px;\n background: transparent;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n color: var(--text-muted);\n font-size: 11px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .http-code-copy:hover,\n .sample-code-copy:hover {\n color: #fff;\n border-color: #90a4ae;\n }\n\n /* Right panel (third column): keep request/response samples dark & legible\n regardless of the active theme, matching ReDoc's sample column. */\n .endpoint-right .endpoint-right-section + .endpoint-right-section {\n margin-top: 24px;\n }\n\n .endpoint-right .http-code-samples {\n background: rgba(0,0,0,0.25);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-samples .code-tabs {\n background: rgba(0,0,0,0.2);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-sample-pre {\n color: var(--code-panel-text);\n }\n\n .response-example-toolbar {\n display: flex;\n align-items: center;\n gap: 12px;\n min-height: 28px;\n margin: 4px 0 8px;\n }\n\n .response-example-toolbar .response-example-name {\n margin: 0;\n }\n\n .endpoint-right .sample-code {\n margin: 0;\n padding: 14px;\n overflow-x: auto;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n background: rgba(0,0,0,0.25);\n color: var(--code-panel-text);\n white-space: pre;\n word-break: normal;\n }\n\n .endpoint-right .sample-code code {\n color: inherit;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 12px;\n line-height: 1.55;\n white-space: inherit;\n }\n\n .endpoint-right .token.comment,\n .endpoint-right .token.prolog,\n .endpoint-right .token.doctype,\n .endpoint-right .token.cdata {\n color: #90a4ae;\n }\n\n .endpoint-right .token.punctuation { color: #cfd8dc; }\n\n .endpoint-right .token.property,\n .endpoint-right .token.tag,\n .endpoint-right .token.boolean,\n .endpoint-right .token.number,\n .endpoint-right .token.constant,\n .endpoint-right .token.symbol {\n color: #f8b500;\n }\n\n .endpoint-right .token.selector,\n .endpoint-right .token.attr-name,\n .endpoint-right .token.string,\n .endpoint-right .token.char,\n .endpoint-right .token.builtin {\n color: #a5d6a7;\n }\n\n .endpoint-right .token.operator,\n .endpoint-right .token.entity,\n .endpoint-right .token.url,\n .endpoint-right .token.variable {\n color: #89ddff;\n }\n\n .endpoint-right .token.atrule,\n .endpoint-right .token.attr-value,\n .endpoint-right .token.function,\n .endpoint-right .token.class-name {\n color: #82aaff;\n }\n\n .endpoint-right .token.keyword { color: #c792ea; }\n\n .endpoint-right .code-tab {\n color: #90a4ae;\n }\n\n .endpoint-right .code-tab.active {\n background: rgba(255,255,255,0.12);\n color: #fff;\n }\n\n .endpoint-right .response-subhead {\n color: #90a4ae;\n }\n\n /* ========== AUTHENTICATION ========== */\n .authentication-section {\n margin: 28px 36px 36px;\n padding: 24px;\n border: 1px solid var(--border-color);\n border-radius: 10px;\n background: var(--surface-color);\n }\n\n .authentication-header h2 {\n margin: 4px 0 6px;\n font-size: var(--font-size-h2);\n color: var(--text-primary);\n }\n\n .authentication-header p,\n .auth-scheme-description,\n .auth-scheme-meta {\n color: var(--text-muted);\n font-size: var(--font-size-small);\n }\n\n .auth-environment {\n display: grid;\n gap: 6px;\n margin: 18px 0;\n }\n\n .auth-environment-select,\n .auth-input,\n .auth-operation-body {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--bg-primary);\n color: var(--text-primary);\n font: inherit;\n font-size: var(--font-size-small);\n }\n\n .auth-operation-body {\n min-height: 112px;\n resize: vertical;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: var(--font-size-code);\n }\n\n .auth-schemes {\n display: grid;\n gap: 12px;\n }\n\n .auth-scheme {\n padding: 16px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-primary);\n }\n\n .auth-scheme-title {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n color: var(--text-primary);\n }\n\n .auth-scheme-title span,\n .auth-field-label,\n .auth-status {\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .auth-form,\n .auth-field {\n display: grid;\n gap: 6px;\n }\n\n .auth-form { gap: 10px; }\n\n .auth-oauth-flow {\n display: grid;\n gap: 10px;\n margin: 6px 0;\n padding: 14px;\n border: 1px solid var(--border-color);\n border-radius: 7px;\n }\n\n .auth-oauth-flow legend {\n padding: 0 6px;\n font-weight: 600;\n font-size: var(--font-size-small);\n }\n\n .auth-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 10px;\n }\n\n .auth-save,\n .auth-request-token,\n .auth-oauth-token,\n .auth-oauth-authorize,\n .auth-oidc-authorize {\n padding: 7px 12px;\n border: 1px solid var(--primary-color);\n border-radius: 6px;\n background: transparent;\n color: var(--primary-color);\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .auth-status-error { color: #dc2626; }\n\n @media (max-width: 760px) {\n .authentication-section { margin: 20px 16px 28px; padding: 18px; }\n }\n\n .docs-overview-server-variables {\n width: 100%;\n margin-top: 8px;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .docs-overview-server-variables ul {\n display: grid;\n gap: 5px;\n margin-top: 5px;\n list-style: none;\n }\n\n .docs-overview-server-variables li {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .endpoint-deprecated,\n .http-param-deprecated {\n padding: 2px 6px;\n border: 1px solid #d97706;\n border-radius: 4px;\n color: #b45309;\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .response-media-sample + .response-media-sample,\n .request-example + .request-example {\n margin-top: 14px;\n padding-top: 14px;\n border-top: 1px solid rgba(255,255,255,0.12);\n }\n\n .response-example-name {\n margin: 6px 0;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .sample-code-error { color: #fca5a5; }\n\n .response-link {\n display: grid;\n gap: 4px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n font-size: var(--font-size-small);\n }\n\n .response-link-parameters { white-space: pre-wrap; }\n\n .http-try {\n display: grid;\n gap: 10px;\n margin-top: 12px;\n }\n\n .http-try-run {\n justify-self: start;\n padding: 7px 12px;\n border: 1px solid #8bc34a;\n border-radius: 6px;\n background: transparent;\n color: #c5e1a5;\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .http-try-run:disabled { cursor: wait; opacity: 0.6; }\n\n .http-try-result {\n max-height: 280px;\n overflow: auto;\n padding: 12px;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n color: var(--code-panel-text);\n white-space: pre-wrap;\n }\n\n .async-contracts {\n margin: 28px 36px;\n padding: 22px;\n border: 1px solid var(--border-color);\n border-radius: 9px;\n background: var(--surface-color);\n }\n\n .endpoint-left > .async-contracts { margin: 16px 0 0; }\n\n .async-contracts h2 { font-size: var(--font-size-h3); }\n .async-contracts h3 { margin-top: 14px; font-size: var(--font-size-h5); }\n .async-contract-note { margin: 5px 0 12px; color: var(--text-muted); font-size: var(--font-size-small); }\n\n .async-contract {\n display: grid;\n gap: 7px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n }\n\n .async-contract-operation {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n font-size: var(--font-size-small);\n }\n\n @media (max-width: 760px) {\n .async-contracts { margin: 20px 16px; padding: 18px; }\n }\n\n";
|
|
1
|
+
export declare const schemaCodeStyles = " /* ========== RESPONSE SAMPLES (Right Panel) ========== */\n .response-samples {\n margin-top: 16px;\n }\n\n .response-samples-header {\n font-size: 12px;\n font-weight: 600;\n color: var(--code-panel-text);\n margin-bottom: 12px;\n }\n\n .sample-tabs {\n display: flex;\n gap: 6px;\n margin-bottom: 12px;\n }\n\n .sample-tab {\n padding: 4px 10px;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n background: transparent;\n border: 1px solid rgba(255,255,255,0.2);\n color: var(--code-panel-text);\n transition: all 0.15s;\n }\n\n .sample-tab:hover {\n background: rgba(255,255,255,0.1);\n }\n\n .sample-tab.active {\n background: rgba(255,255,255,0.15);\n border-color: rgba(255,255,255,0.3);\n }\n\n .sample-tab.status-2xx { color: #10b981; border-color: #10b981; }\n .sample-tab.status-4xx { color: #f59e0b; border-color: #f59e0b; }\n .sample-tab.status-5xx { color: #ef4444; border-color: #ef4444; }\n\n .sample-content {\n display: none;\n }\n\n .sample-content.active {\n display: block;\n }\n\n .sample-content-type {\n font-size: 11px;\n color: #90a4ae;\n margin-bottom: 8px;\n }\n\n .sample-actions {\n display: flex;\n gap: 12px;\n margin-bottom: 8px;\n }\n\n .sample-action {\n font-size: 11px;\n color: #90a4ae;\n cursor: pointer;\n background: none;\n border: none;\n padding: 0;\n transition: color 0.15s;\n }\n\n .sample-action:hover {\n color: white;\n }\n\n .sample-json {\n background: rgba(0,0,0,0.3);\n border-radius: 6px;\n padding: 10px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.4;\n color: #e2e8f0;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n .sample-json .json-key { color: #f8b500; }\n .sample-json .json-string { color: #a5d6a7; }\n .sample-json .json-number { color: #82aaff; }\n .sample-json .json-boolean { color: #f78c6c; }\n .sample-json .json-null { color: #89ddff; }\n\n /* Right panel sections */\n .right-panel-content {\n display: flex;\n flex-direction: column;\n gap: 18px;\n }\n\n .right-section {\n margin-bottom: 0;\n }\n\n .right-section-header {\n font-size: 11px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 12px;\n padding-bottom: 6px;\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .sample-contents {\n margin-top: 0;\n }\n\n .tab-status {\n font-weight: 600;\n }\n\n .tab-status.status-2xx { color: #10b981; }\n .tab-status.status-4xx { color: #f59e0b; }\n .tab-status.status-5xx { color: #ef4444; }\n\n .no-example {\n color: #90a4ae;\n font-style: italic;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n .response-desc-only {\n color: #90a4ae;\n font-size: 13px;\n padding: 12px;\n background: rgba(0,0,0,0.2);\n border-radius: 6px;\n }\n\n /* ========== CODE EXAMPLES ========== */\n .code-example {\n background: rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .code-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 10px;\n background: var(--code-panel-header);\n font-size: 11px;\n font-weight: 600;\n color: #90a4ae;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n }\n\n .code-example pre {\n margin: 0;\n background: transparent;\n border: none;\n border-radius: 0;\n color: #e2e8f0;\n padding: 10px;\n }\n\n .code-example code {\n color: #e2e8f0;\n white-space: pre-wrap;\n word-break: break-word;\n font-size: 11px;\n line-height: 1.4;\n }\n\n /* Code language tabs */\n .code-tabs {\n display: flex;\n gap: 2px;\n padding: 6px 10px;\n background: var(--code-panel-header);\n border-bottom: 1px solid rgba(255,255,255,0.1);\n }\n\n .code-tab {\n padding: 4px 9px;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #90a4ae;\n font-size: 11px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .code-tab:hover {\n background: rgba(255,255,255,0.1);\n color: var(--code-panel-text);\n }\n\n .code-tab.active {\n background: rgba(255,255,255,0.15);\n color: var(--code-panel-text);\n }\n\n .code-contents {\n padding: 0;\n }\n\n .code-content {\n display: none;\n }\n\n .code-content.active {\n display: block;\n }\n\n pre {\n background: var(--code-bg);\n padding: 12px;\n border-radius: 8px;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.45;\n border: 1px solid var(--border-color);\n }\n\n /* ========== SCHEMA VISUALIZATION (Redoc-style) ========== */\n .schema-container {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n margin-bottom: 16px;\n }\n\n .schema-row {\n display: flex;\n align-items: flex-start;\n padding: 8px 12px;\n border-bottom: 1px solid var(--border-color);\n transition: background 0.15s;\n }\n\n .schema-row:last-child { border-bottom: none; }\n .schema-row:hover { background: var(--hover-bg); }\n\n .schema-row.nested {\n padding-left: 32px;\n background: rgba(0,0,0,0.02);\n }\n\n .schema-row.nested-2 { padding-left: 48px; }\n .schema-row.nested-3 { padding-left: 64px; }\n .schema-row.nested-4 { padding-left: 80px; }\n\n .schema-property {\n display: flex;\n align-items: center;\n gap: 8px;\n min-width: 200px;\n flex-shrink: 0;\n }\n\n .schema-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .schema-required {\n color: #ef4444;\n font-weight: 700;\n font-size: 12px;\n }\n\n .schema-type {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 1px 6px;\n border-radius: 4px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 10px;\n font-weight: 500;\n }\n\n .type-string { background: #dbeafe; color: #1d4ed8; }\n .type-number, .type-integer { background: #fef3c7; color: #b45309; }\n .type-boolean { background: #fce7f3; color: #be185d; }\n .type-object { background: #e0e7ff; color: #4338ca; }\n .type-array { background: #d1fae5; color: #047857; }\n .type-null { background: #f3f4f6; color: #6b7280; }\n .type-ref { background: #fef3c7; color: #92400e; font-style: italic; }\n\n [data-theme=\"dark\"] .type-string { background: #1e3a5f; color: #93c5fd; }\n [data-theme=\"dark\"] .type-number, [data-theme=\"dark\"] .type-integer { background: #451a03; color: #fcd34d; }\n [data-theme=\"dark\"] .type-boolean { background: #4a0519; color: #f9a8d4; }\n [data-theme=\"dark\"] .type-object { background: #312e81; color: #c7d2fe; }\n [data-theme=\"dark\"] .type-array { background: #064e3b; color: #6ee7b7; }\n [data-theme=\"dark\"] .type-null { background: #374151; color: #9ca3af; }\n [data-theme=\"dark\"] .type-ref { background: #451a03; color: #fbbf24; }\n\n .schema-details {\n flex: 1;\n padding-left: 16px;\n }\n\n .schema-desc {\n color: var(--text-muted);\n font-size: 12px;\n margin-bottom: 4px;\n }\n\n /* Compact response-body tree. Nested wrappers use a fixed step so\n indentation grows predictably instead of compounding by depth. */\n .schema-tree-root {\n margin-top: 6px;\n }\n\n .schema-tree-nested {\n padding-left: 10px;\n }\n\n .schema-tree-row {\n padding: 4px 0;\n font-size: 12px;\n line-height: 1.35;\n }\n\n .schema-tree-root > .schema-tree-row {\n padding-left: 6px;\n border-left: 1px solid var(--border-color);\n }\n\n .schema-tree-property {\n display: flex;\n align-items: center;\n gap: 5px;\n color: var(--text-primary);\n font-weight: 500;\n }\n\n .schema-tree-required {\n color: #ef4444;\n }\n\n .schema-tree-description {\n margin-top: 2px;\n color: var(--text-muted);\n font-size: 11px;\n line-height: 1.4;\n }\n\n .schema-tree-label {\n color: var(--text-primary);\n font-weight: 500;\n }\n\n .schema-tree-meta {\n color: var(--text-secondary);\n }\n\n .schema-tree-unresolved {\n color: var(--text-muted);\n font-style: italic;\n }\n\n .schema-constraints {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin-top: 6px;\n }\n\n .schema-constraint {\n font-size: 11px;\n padding: 2px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-enum {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 6px;\n }\n\n .schema-enum-value {\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: #fef3c7;\n color: #92400e;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n [data-theme=\"dark\"] .schema-enum-value {\n background: #451a03;\n color: #fbbf24;\n }\n\n .schema-default {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 4px;\n }\n\n .schema-default code {\n background: var(--code-bg);\n padding: 1px 4px;\n border-radius: 3px;\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .schema-toggle {\n cursor: pointer;\n user-select: none;\n color: var(--primary-color);\n font-size: 12px;\n margin-left: 8px;\n }\n\n .schema-toggle:hover { text-decoration: underline; }\n\n .schema-nested-container {\n overflow: hidden;\n transition: max-height 0.3s ease;\n }\n\n .schema-nested-container.collapsed {\n max-height: 0 !important;\n }\n\n .schema-example {\n margin-top: 16px;\n background: var(--code-bg);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .schema-example-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n background: rgba(0,0,0,0.05);\n border-bottom: 1px solid var(--border-color);\n font-size: 12px;\n font-weight: 600;\n color: var(--text-muted);\n text-transform: uppercase;\n }\n\n .schema-example-body {\n padding: 12px;\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n white-space: pre-wrap;\n word-break: break-word;\n }\n\n /* Response tabs */\n .response-tabs {\n display: flex;\n gap: 2px;\n margin-bottom: 12px;\n border-bottom: 2px solid var(--border-color);\n }\n\n .response-tab {\n padding: 8px 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n border: none;\n background: none;\n color: var(--text-muted);\n border-bottom: 2px solid transparent;\n margin-bottom: -2px;\n transition: all 0.15s;\n }\n\n .response-tab:hover { color: var(--text-color); }\n\n .response-tab.active {\n color: var(--primary-color);\n border-bottom-color: var(--primary-color);\n }\n\n .response-tab.status-2xx { color: #10b981; }\n .response-tab.status-2xx.active { border-bottom-color: #10b981; }\n .response-tab.status-4xx { color: #f59e0b; }\n .response-tab.status-4xx.active { border-bottom-color: #f59e0b; }\n .response-tab.status-5xx { color: #ef4444; }\n .response-tab.status-5xx.active { border-bottom-color: #ef4444; }\n\n .response-content { display: none; }\n .response-content.active { display: block; }\n\n /* Parameters table */\n .params-table {\n width: 100%;\n border-collapse: collapse;\n margin-bottom: 16px;\n }\n\n .params-table th {\n text-align: left;\n padding: 8px 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--text-muted);\n background: var(--code-bg);\n border-bottom: 1px solid var(--border-color);\n }\n\n .params-table td {\n padding: 10px 12px;\n border-bottom: 1px solid var(--border-color);\n font-size: 13px;\n }\n\n .params-table tr:last-child td { border-bottom: none; }\n\n .param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .param-in {\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n background: var(--code-bg);\n color: var(--text-muted);\n text-transform: uppercase;\n margin-left: 8px;\n }\n\n /* ========== CHANNEL TYPES ========== */\n .channel-type-public { background: #10b981; color: white; }\n .channel-type-private { background: #f59e0b; color: white; }\n .channel-type-presence { background: #8b5cf6; color: white; }\n\n /* ========== INFO GRID ========== */\n .info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n gap: 12px;\n margin-bottom: 24px;\n }\n\n .info-card {\n background: var(--code-bg);\n padding: 16px;\n border-radius: 10px;\n border: 1px solid var(--border-color);\n }\n\n .info-card-title {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n }\n\n .info-card-value {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n /* ========== RESPONSIVE ========== */\n @media (max-width: 900px) {\n .app-container { grid-template-columns: 1fr; }\n .sidebar {\n display: none;\n position: fixed;\n left: 0;\n top: 0;\n width: 300px;\n z-index: 100;\n }\n .sidebar.mobile-open { display: block; }\n .hero { padding: 40px 24px; min-height: 100vh; }\n .hero-logo { height: 80px; margin-bottom: 24px; }\n .hero-title { font-size: 36px; }\n .hero-version { font-size: 12px; margin-left: 8px; }\n .hero-tagline { font-size: 17px; margin-bottom: 20px; }\n .hero-features { flex-direction: column; align-items: center; gap: 12px; }\n .hero-features li { font-size: 15px; }\n .hero-btn { padding: 12px 24px; font-size: 15px; }\n .github-corner svg { width: 60px; height: 60px; }\n .main { padding: 24px; }\n }\n\n /* ========== ANIMATIONS ========== */\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n .endpoint-section {\n animation: fadeIn 0.3s ease-out;\n }\n\n /* ========== HTTP ENDPOINT (ReDoc-style) ========== */\n .http-param-group {\n margin-bottom: 14px;\n }\n\n .http-param-group-title {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin-bottom: 8px;\n }\n\n .http-params {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n }\n\n .http-param {\n padding: 8px 12px;\n border-bottom: 1px solid var(--border-color);\n }\n\n .http-param:last-child { border-bottom: none; }\n\n .http-param-head {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n }\n\n .http-param-name {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-color);\n }\n\n .http-param-required {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #ef4444;\n }\n\n .http-param-deprecated {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.4px;\n color: #f59e0b;\n }\n\n .http-param-desc {\n color: var(--text-muted);\n font-size: 12px;\n margin-top: 4px;\n line-height: 1.4;\n }\n\n /* Validation constraint chips (reuses .schema-constraint look) */\n .constraint-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 5px;\n }\n\n .constraint-chip {\n font-size: 10px;\n padding: 1px 6px;\n border-radius: 4px;\n background: var(--code-bg);\n color: var(--text-muted);\n border: 1px solid var(--border-color);\n font-family: 'SF Mono', 'Monaco', monospace;\n }\n\n .constraint-chip.constraint-enum {\n background: #fef3c7;\n color: #92400e;\n border-color: transparent;\n }\n\n [data-theme=\"dark\"] .constraint-chip.constraint-enum {\n background: #451a03;\n color: #fbbf24;\n }\n\n /* Response accordions */\n .response-accordion {\n border: 1px solid var(--border-color);\n border-radius: 8px;\n margin-bottom: 8px;\n overflow: hidden;\n }\n\n .response-accordion-header {\n display: flex;\n align-items: center;\n gap: 8px;\n width: 100%;\n padding: 9px 12px;\n background: var(--code-bg);\n border: none;\n cursor: pointer;\n text-align: left;\n font-size: 12px;\n color: var(--text-color);\n transition: background 0.15s;\n }\n\n .response-accordion-header:hover { background: var(--hover-bg); }\n\n .response-accordion-caret {\n flex-shrink: 0;\n font-size: 10px;\n color: var(--text-muted);\n transition: transform 0.2s ease;\n }\n\n .response-accordion.open .response-accordion-caret {\n transform: rotate(90deg);\n }\n\n .response-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n }\n\n .response-status-dot.status-2xx { background: #10b981; }\n .response-status-dot.status-3xx { background: #3b82f6; }\n .response-status-dot.status-4xx { background: #f59e0b; }\n .response-status-dot.status-5xx { background: #ef4444; }\n\n .response-status-code {\n font-family: 'SF Mono', 'Monaco', monospace;\n font-weight: 600;\n }\n\n .response-status-desc {\n color: var(--text-muted);\n }\n\n .response-accordion-body {\n padding: 10px 12px;\n border-top: 1px solid var(--border-color);\n display: none;\n }\n\n .response-accordion.open .response-accordion-body { display: block; }\n\n .response-subhead {\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 6px;\n }\n\n .response-block + .response-block { margin-top: 12px; }\n\n /* Multi-language code samples */\n .http-code-samples {\n margin-top: 8px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n overflow: hidden;\n background: var(--code-bg);\n }\n\n .http-code-samples .code-tabs {\n flex-wrap: wrap;\n background: rgba(0,0,0,0.04);\n }\n\n [data-theme=\"dark\"] .http-code-samples .code-tabs {\n background: rgba(255,255,255,0.03);\n }\n\n .http-code-sample-pre {\n margin: 0;\n padding: 10px;\n background: transparent;\n border: none;\n border-radius: 0;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.4;\n color: var(--text-color);\n white-space: pre;\n }\n\n .http-code-copy,\n .sample-code-copy {\n margin-left: auto;\n padding: 3px 8px;\n background: transparent;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n color: var(--text-muted);\n font-size: 10px;\n cursor: pointer;\n transition: all 0.15s;\n }\n\n .http-code-copy:hover,\n .sample-code-copy:hover {\n color: #fff;\n border-color: #90a4ae;\n }\n\n /* Right panel (third column): keep request/response samples dark & legible\n regardless of the active theme, matching ReDoc's sample column. */\n .endpoint-right .endpoint-right-section + .endpoint-right-section {\n margin-top: 18px;\n }\n\n .endpoint-right .http-code-samples {\n background: rgba(0,0,0,0.25);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-samples .code-tabs {\n background: rgba(0,0,0,0.2);\n border-color: rgba(255,255,255,0.1);\n }\n\n .endpoint-right .http-code-sample-pre {\n color: var(--code-panel-text);\n }\n\n .response-example-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n min-height: 24px;\n margin: 2px 0 6px;\n }\n\n .response-example-toolbar .response-example-name {\n margin: 0;\n }\n\n .endpoint-right .sample-code {\n margin: 0;\n padding: 10px;\n overflow-x: auto;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n background: rgba(0,0,0,0.25);\n color: var(--code-panel-text);\n white-space: pre;\n word-break: normal;\n }\n\n .endpoint-right .sample-code code {\n color: inherit;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', monospace;\n font-size: 11px;\n line-height: 1.4;\n white-space: inherit;\n }\n\n .endpoint-right .token.comment,\n .endpoint-right .token.prolog,\n .endpoint-right .token.doctype,\n .endpoint-right .token.cdata {\n color: #90a4ae;\n }\n\n .endpoint-right .token.punctuation { color: #cfd8dc; }\n\n .endpoint-right .token.property,\n .endpoint-right .token.tag,\n .endpoint-right .token.boolean,\n .endpoint-right .token.number,\n .endpoint-right .token.constant,\n .endpoint-right .token.symbol {\n color: #f8b500;\n }\n\n .endpoint-right .token.selector,\n .endpoint-right .token.attr-name,\n .endpoint-right .token.string,\n .endpoint-right .token.char,\n .endpoint-right .token.builtin {\n color: #a5d6a7;\n }\n\n .endpoint-right .token.operator,\n .endpoint-right .token.entity,\n .endpoint-right .token.url,\n .endpoint-right .token.variable {\n color: #89ddff;\n }\n\n .endpoint-right .token.atrule,\n .endpoint-right .token.attr-value,\n .endpoint-right .token.function,\n .endpoint-right .token.class-name {\n color: #82aaff;\n }\n\n .endpoint-right .token.keyword { color: #c792ea; }\n\n .endpoint-right .code-tab {\n color: #90a4ae;\n }\n\n .endpoint-right .code-tab.active {\n background: rgba(255,255,255,0.12);\n color: #fff;\n }\n\n .endpoint-right .response-subhead {\n color: #90a4ae;\n }\n\n /* ========== AUTHENTICATION ========== */\n .authentication-section {\n margin: 28px 36px 36px;\n padding: 24px;\n border: 1px solid var(--border-color);\n border-radius: 10px;\n background: var(--surface-color);\n }\n\n .authentication-header h2 {\n margin: 4px 0 6px;\n font-size: var(--font-size-h2);\n color: var(--text-primary);\n }\n\n .authentication-header p,\n .auth-scheme-description,\n .auth-scheme-meta {\n color: var(--text-muted);\n font-size: var(--font-size-small);\n }\n\n .auth-environment {\n display: grid;\n gap: 6px;\n margin: 18px 0;\n }\n\n .auth-environment-select,\n .auth-input,\n .auth-operation-body {\n width: 100%;\n padding: 8px 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n background: var(--bg-primary);\n color: var(--text-primary);\n font: inherit;\n font-size: var(--font-size-small);\n }\n\n .auth-operation-body {\n min-height: 112px;\n resize: vertical;\n font-family: ui-monospace, SFMono-Regular, Menlo, monospace;\n font-size: var(--font-size-code);\n }\n\n .auth-schemes {\n display: grid;\n gap: 12px;\n }\n\n .auth-scheme {\n padding: 16px;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n background: var(--bg-primary);\n }\n\n .auth-scheme-title {\n display: flex;\n align-items: baseline;\n gap: 10px;\n margin-bottom: 10px;\n color: var(--text-primary);\n }\n\n .auth-scheme-title span,\n .auth-field-label,\n .auth-status {\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .auth-form,\n .auth-field {\n display: grid;\n gap: 6px;\n }\n\n .auth-form { gap: 10px; }\n\n .auth-oauth-flow {\n display: grid;\n gap: 10px;\n margin: 6px 0;\n padding: 14px;\n border: 1px solid var(--border-color);\n border-radius: 7px;\n }\n\n .auth-oauth-flow legend {\n padding: 0 6px;\n font-weight: 600;\n font-size: var(--font-size-small);\n }\n\n .auth-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 10px;\n }\n\n .auth-save,\n .auth-request-token,\n .auth-oauth-token,\n .auth-oauth-authorize,\n .auth-oidc-authorize {\n padding: 7px 12px;\n border: 1px solid var(--primary-color);\n border-radius: 6px;\n background: transparent;\n color: var(--primary-color);\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .auth-status-error { color: #dc2626; }\n\n @media (max-width: 760px) {\n .authentication-section { margin: 20px 16px 28px; padding: 18px; }\n }\n\n .docs-overview-server-variables {\n width: 100%;\n margin-top: 8px;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n }\n\n .docs-overview-server-variables ul {\n display: grid;\n gap: 5px;\n margin-top: 5px;\n list-style: none;\n }\n\n .docs-overview-server-variables li {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n }\n\n .endpoint-deprecated,\n .http-param-deprecated {\n padding: 2px 6px;\n border: 1px solid #d97706;\n border-radius: 4px;\n color: #b45309;\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .response-media-sample + .response-media-sample,\n .request-example + .request-example {\n margin-top: 14px;\n padding-top: 14px;\n border-top: 1px solid rgba(255,255,255,0.12);\n }\n\n .response-example-name {\n margin: 6px 0;\n color: var(--text-muted);\n font-size: var(--font-size-xs);\n font-weight: 600;\n }\n\n .sample-code-error { color: #fca5a5; }\n\n .response-link {\n display: grid;\n gap: 4px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n font-size: var(--font-size-small);\n }\n\n .response-link-parameters { white-space: pre-wrap; }\n\n .http-try {\n display: grid;\n gap: 10px;\n margin-top: 12px;\n }\n\n .http-try-run {\n justify-self: start;\n padding: 7px 12px;\n border: 1px solid #8bc34a;\n border-radius: 6px;\n background: transparent;\n color: #c5e1a5;\n cursor: pointer;\n font-size: var(--font-size-small);\n font-weight: 600;\n }\n\n .http-try-run:disabled { cursor: wait; opacity: 0.6; }\n\n .http-try-result {\n max-height: 280px;\n overflow: auto;\n padding: 12px;\n border: 1px solid rgba(255,255,255,0.1);\n border-radius: 6px;\n color: var(--code-panel-text);\n white-space: pre-wrap;\n }\n\n .async-contracts {\n margin: 28px 36px;\n padding: 22px;\n border: 1px solid var(--border-color);\n border-radius: 9px;\n background: var(--surface-color);\n }\n\n .endpoint-left > .async-contracts { margin: 16px 0 0; }\n\n .async-contracts h2 { font-size: var(--font-size-h3); }\n .async-contracts h3 { margin-top: 14px; font-size: var(--font-size-h5); }\n .async-contract-note { margin: 5px 0 12px; color: var(--text-muted); font-size: var(--font-size-small); }\n\n .async-contract {\n display: grid;\n gap: 7px;\n margin-top: 8px;\n padding: 10px;\n border: 1px solid var(--border-color);\n border-radius: 6px;\n }\n\n .async-contract-operation {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n font-size: var(--font-size-small);\n }\n\n @media (max-width: 760px) {\n .async-contracts { margin: 20px 16px; padding: 18px; }\n }\n\n";
|
|
2
2
|
//# sourceMappingURL=schema-code.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-code.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"schema-code.d.ts","sourceRoot":"","sources":["../../../../src/docs/ui/style-sections/schema-code.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,w25BAgrC5B,CAAA"}
|