drf-to-mkdoc 0.2.3__py3-none-any.whl → 0.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of drf-to-mkdoc might be problematic. Click here for more details.

Files changed (40) hide show
  1. drf_to_mkdoc/conf/defaults.py +1 -0
  2. drf_to_mkdoc/conf/settings.py +1 -0
  3. drf_to_mkdoc/management/commands/build_model_docs.py +10 -1
  4. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/field-sections-loader.js +29 -0
  5. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/query-parameters-loader.js +16 -0
  6. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/field-extractor.js +200 -0
  7. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/form-manager.js +307 -14
  8. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/main.js +39 -11
  9. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/modal.js +298 -18
  10. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/query-parameters-extractor.js +94 -0
  11. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/request-executor.js +278 -62
  12. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/response-modal.js +173 -0
  13. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/suggestions.js +59 -152
  14. drf_to_mkdoc/static/drf-to-mkdoc/javascripts/try-out/tabs.js +52 -9
  15. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/badges.css +13 -5
  16. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/theme-toggle.css +297 -25
  17. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out/fab.css +204 -0
  18. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out/response.css +323 -0
  19. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/endpoints/try-out/variables.css +139 -0
  20. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/field-sections.css +136 -0
  21. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/form.css +539 -0
  22. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/modal.css +239 -17
  23. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/response.css +503 -43
  24. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/tabs.css +71 -19
  25. drf_to_mkdoc/static/drf-to-mkdoc/stylesheets/try-out/variables.css +71 -15
  26. drf_to_mkdoc/templates/endpoints/detail/request_body.html +2 -0
  27. drf_to_mkdoc/templates/er_diagrams/app.html +26 -0
  28. drf_to_mkdoc/templates/er_diagrams/index.html +14 -0
  29. drf_to_mkdoc/templates/er_diagrams/main.html +22 -0
  30. drf_to_mkdoc/templates/try-out/fab.html +67 -3
  31. drf_to_mkdoc/templates/try-out/form.html +221 -74
  32. drf_to_mkdoc/templates/try-out/modal.html +75 -7
  33. drf_to_mkdoc/templates/try-out/response-modal.html +138 -9
  34. drf_to_mkdoc/utils/endpoint_detail_generator.py +1 -0
  35. drf_to_mkdoc/utils/er_diagram_generator.py +230 -0
  36. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.3.0.dist-info}/METADATA +89 -10
  37. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.3.0.dist-info}/RECORD +40 -27
  38. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.3.0.dist-info}/WHEEL +0 -0
  39. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.3.0.dist-info}/licenses/LICENSE +0 -0
  40. {drf_to_mkdoc-0.2.3.dist-info → drf_to_mkdoc-0.3.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,323 @@
1
+ /* Response Modal Base */
2
+ .response-modal {
3
+ position: fixed;
4
+ top: 0;
5
+ left: 0;
6
+ width: 100%;
7
+ height: 100%;
8
+ z-index: var(--try-out-z-response);
9
+ display: none;
10
+ align-items: center;
11
+ justify-content: center;
12
+ padding: var(--try-out-spacing-lg);
13
+ box-sizing: border-box;
14
+ backdrop-filter: blur(var(--try-out-backdrop-blur));
15
+ background-color: rgba(0, 0, 0, 0.5);
16
+ }
17
+
18
+ /* Modal Content */
19
+ .response-modal .modal-content {
20
+ position: relative;
21
+ width: 100%;
22
+ max-width: 800px;
23
+ max-height: 90vh;
24
+ background-color: var(--try-out-bg);
25
+ border-radius: var(--try-out-border-radius-xl);
26
+ box-shadow: var(--try-out-shadow-xl);
27
+ overflow: hidden;
28
+ z-index: 1;
29
+ display: flex;
30
+ flex-direction: column;
31
+ border: 1px solid var(--try-out-border);
32
+ animation: modal-slide-up 0.3s cubic-bezier(0.4, 0, 0.2, 1);
33
+ }
34
+
35
+ /* Modal Header */
36
+ .response-modal .modal-header {
37
+ background: var(--try-out-gradient-primary);
38
+ padding: var(--try-out-spacing) var(--try-out-spacing-xl);
39
+ color: white;
40
+ }
41
+
42
+ .response-modal .header-content {
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: space-between;
46
+ }
47
+
48
+ .response-modal .header-content h3 {
49
+ margin: 0;
50
+ font-size: var(--try-out-font-lg);
51
+ font-weight: 600;
52
+ }
53
+
54
+ .response-modal .header-actions {
55
+ display: flex;
56
+ gap: var(--try-out-spacing-sm);
57
+ }
58
+
59
+ /* Action Buttons */
60
+ .response-modal .action-btn {
61
+ background: rgba(255, 255, 255, 0.1);
62
+ border: none;
63
+ color: white;
64
+ width: 32px;
65
+ height: 32px;
66
+ border-radius: var(--try-out-border-radius);
67
+ display: flex;
68
+ align-items: center;
69
+ justify-content: center;
70
+ cursor: pointer;
71
+ transition: var(--try-out-transition);
72
+ }
73
+
74
+ .response-modal .action-btn:hover {
75
+ background: rgba(255, 255, 255, 0.2);
76
+ transform: translateY(-1px);
77
+ }
78
+
79
+ /* Response Stats */
80
+ .response-modal .response-stats {
81
+ padding: var(--try-out-spacing);
82
+ background: var(--try-out-surface);
83
+ border-bottom: 1px solid var(--try-out-border);
84
+ }
85
+
86
+ .response-modal .stat-group {
87
+ display: flex;
88
+ gap: var(--try-out-spacing-lg);
89
+ margin-bottom: var(--try-out-spacing);
90
+ }
91
+
92
+ .response-modal .stat-item {
93
+ display: flex;
94
+ align-items: center;
95
+ gap: var(--try-out-spacing-sm);
96
+ }
97
+
98
+ .response-modal .stat-label {
99
+ color: var(--try-out-text-light);
100
+ font-size: var(--try-out-font-sm);
101
+ }
102
+
103
+ .response-modal .stat-value {
104
+ font-weight: 500;
105
+ font-family: var(--try-out-font-mono);
106
+ }
107
+
108
+ /* Status Badges */
109
+ .response-modal .status-badge {
110
+ padding: var(--try-out-spacing-xs) var(--try-out-spacing-sm);
111
+ border-radius: var(--try-out-border-radius);
112
+ font-size: var(--try-out-font-sm);
113
+ font-weight: 600;
114
+ font-family: var(--try-out-font-mono);
115
+ }
116
+
117
+ .response-modal .status-200 {
118
+ background-color: var(--try-out-success);
119
+ color: white;
120
+ }
121
+
122
+ .response-modal .status-300 {
123
+ background-color: var(--try-out-info);
124
+ color: white;
125
+ }
126
+
127
+ .response-modal .status-400 {
128
+ background-color: var(--try-out-warning);
129
+ color: var(--try-out-text);
130
+ }
131
+
132
+ .response-modal .status-500 {
133
+ background-color: var(--try-out-danger);
134
+ color: white;
135
+ }
136
+
137
+ /* Response Tabs */
138
+ .response-modal .response-tabs {
139
+ display: flex;
140
+ gap: var(--try-out-spacing-xs);
141
+ padding: var(--try-out-spacing) var(--try-out-spacing) 0;
142
+ border-bottom: 1px solid var(--try-out-border);
143
+ }
144
+
145
+ .response-modal .tab {
146
+ display: flex;
147
+ align-items: center;
148
+ gap: var(--try-out-spacing-xs);
149
+ padding: var(--try-out-spacing-xs) var(--try-out-spacing);
150
+ border: none;
151
+ background: transparent;
152
+ color: var(--try-out-text-light);
153
+ cursor: pointer;
154
+ transition: var(--try-out-transition);
155
+ border-radius: var(--try-out-border-radius) var(--try-out-border-radius) 0 0;
156
+ }
157
+
158
+ .response-modal .tab.active {
159
+ background: var(--try-out-surface);
160
+ color: var(--try-out-primary);
161
+ border: 1px solid var(--try-out-border);
162
+ border-bottom: none;
163
+ }
164
+
165
+ /* Response Toolbar */
166
+ .response-modal .response-toolbar {
167
+ display: flex;
168
+ justify-content: space-between;
169
+ align-items: center;
170
+ padding: var(--try-out-spacing);
171
+ background: var(--try-out-surface);
172
+ border-bottom: 1px solid var(--try-out-border);
173
+ }
174
+
175
+ .response-modal .toolbar-group {
176
+ display: flex;
177
+ gap: var(--try-out-spacing-sm);
178
+ }
179
+
180
+ .response-modal .tool-btn {
181
+ padding: var(--try-out-spacing-xs) var(--try-out-spacing-sm);
182
+ border: 1px solid var(--try-out-border);
183
+ border-radius: var(--try-out-border-radius);
184
+ background: var(--try-out-bg);
185
+ color: var(--try-out-text);
186
+ cursor: pointer;
187
+ transition: var(--try-out-transition);
188
+ }
189
+
190
+ .response-modal .tool-btn:hover {
191
+ background: var(--try-out-surface);
192
+ border-color: var(--try-out-primary);
193
+ }
194
+
195
+ .response-modal input {
196
+ padding: var(--try-out-spacing-xs) var(--try-out-spacing-sm);
197
+ border: 1px solid var(--try-out-border);
198
+ border-radius: var(--try-out-border-radius);
199
+ font-size: var(--try-out-font-sm);
200
+ width: 200px;
201
+ }
202
+
203
+ .response-modal .search-count {
204
+ position: absolute;
205
+ right: var(--try-out-spacing-sm);
206
+ color: var(--try-out-text-light);
207
+ font-size: var(--try-out-font-sm);
208
+ }
209
+
210
+ /* Response Content */
211
+ .response-modal .response-viewer {
212
+ padding: var(--try-out-spacing);
213
+ background: var(--try-out-surface);
214
+ border-radius: var(--try-out-border-radius);
215
+ overflow: auto;
216
+ max-height: 400px;
217
+ }
218
+
219
+ .response-modal .response-content {
220
+ font-family: var(--try-out-font-mono);
221
+ font-size: var(--try-out-font-sm);
222
+ line-height: 1.5;
223
+ white-space: pre-wrap;
224
+ tab-size: 2;
225
+ }
226
+
227
+ /* Headers List */
228
+ .response-modal .headers-list {
229
+ padding: var(--try-out-spacing);
230
+ }
231
+
232
+ .response-modal .header-item {
233
+ display: flex;
234
+ justify-content: space-between;
235
+ padding: var(--try-out-spacing-sm);
236
+ border-bottom: 1px solid var(--try-out-border);
237
+ }
238
+
239
+ .response-modal .header-name {
240
+ font-weight: 500;
241
+ color: var(--try-out-text);
242
+ }
243
+
244
+ .response-modal .header-value {
245
+ color: var(--try-out-text-light);
246
+ font-family: var(--try-out-font-mono);
247
+ }
248
+
249
+ /* Toast Notifications */
250
+ .toast {
251
+ position: fixed;
252
+ bottom: var(--try-out-spacing-xl);
253
+ left: 50%;
254
+ transform: translateX(-50%);
255
+ background: var(--try-out-glass-bg);
256
+ backdrop-filter: blur(var(--try-out-backdrop-blur));
257
+ border: 1px solid var(--try-out-glass-border);
258
+ padding: var(--try-out-spacing-sm) var(--try-out-spacing);
259
+ border-radius: var(--try-out-border-radius);
260
+ color: var(--try-out-text);
261
+ box-shadow: var(--try-out-shadow-lg);
262
+ z-index: var(--try-out-z-toast);
263
+ animation: toast-slide-up 0.3s cubic-bezier(0.4, 0, 0.2, 1);
264
+ }
265
+
266
+ /* Search Highlighting */
267
+ .response-modal .search-match {
268
+ background: var(--try-out-warning);
269
+ color: var(--try-out-text);
270
+ border-radius: 2px;
271
+ }
272
+
273
+ /* Animations */
274
+ @keyframes modal-slide-up {
275
+ from {
276
+ opacity: 0;
277
+ transform: translateY(20px);
278
+ }
279
+ to {
280
+ opacity: 1;
281
+ transform: translateY(0);
282
+ }
283
+ }
284
+
285
+ @keyframes toast-slide-up {
286
+ from {
287
+ opacity: 0;
288
+ transform: translate(-50%, 20px);
289
+ }
290
+ to {
291
+ opacity: 1;
292
+ transform: translate(-50%, 0);
293
+ }
294
+ }
295
+
296
+ /* Mobile Responsive Design */
297
+ @media screen and (max-width: 768px) {
298
+ .response-modal {
299
+ padding: var(--try-out-spacing-sm);
300
+ }
301
+
302
+ .response-modal .modal-content {
303
+ max-height: 95vh;
304
+ }
305
+
306
+ .response-modal .stat-group {
307
+ flex-direction: column;
308
+ gap: var(--try-out-spacing-sm);
309
+ }
310
+
311
+ .response-modal .response-toolbar {
312
+ flex-direction: column;
313
+ gap: var(--try-out-spacing-sm);
314
+ }
315
+
316
+ .response-modal .response-viewer {
317
+ max-height: 300px;
318
+ }
319
+
320
+ .response-modal .response-content {
321
+ font-size: 12px;
322
+ }
323
+ }
@@ -0,0 +1,139 @@
1
+ :root {
2
+ /* Theme Transition */
3
+ --theme-transition: background-color 0.3s ease,
4
+ color 0.3s ease,
5
+ border-color 0.3s ease,
6
+ box-shadow 0.3s ease;
7
+
8
+ /* Modern Color System - Light Theme */
9
+ --try-out-primary: #2563eb;
10
+ --try-out-primary-rgb: 37, 99, 235;
11
+ --try-out-primary-hover: #1d4ed8;
12
+ --try-out-primary-light: #60a5fa;
13
+ --try-out-success: #10b981;
14
+ --try-out-success-hover: #059669;
15
+ --try-out-danger: #ef4444;
16
+ --try-out-danger-hover: #dc2626;
17
+ --try-out-warning: #f59e0b;
18
+ --try-out-info: #3b82f6;
19
+
20
+ /* Light Theme Colors */
21
+ --try-out-bg: #ffffff;
22
+ --try-out-surface: #f8fafc;
23
+ --try-out-surface-raised: #ffffff;
24
+ --try-out-border: #e2e8f0;
25
+ --try-out-text: #1e293b;
26
+ --try-out-text-light: #475569;
27
+ --try-out-text-lighter: #64748b;
28
+
29
+ /* Glass Morphism Effects - Light */
30
+ --try-out-glass-bg: rgba(255, 255, 255, 0.7);
31
+ --try-out-glass-border: rgba(255, 255, 255, 0.1);
32
+ --try-out-backdrop-blur: 8px;
33
+ --try-out-glass-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
34
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
35
+
36
+ /* Elevation Shadows - Light */
37
+ --try-out-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
38
+ --try-out-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
39
+ 0 2px 4px -1px rgba(0, 0, 0, 0.06);
40
+ --try-out-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
41
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05);
42
+ --try-out-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
43
+ 0 10px 10px -5px rgba(0, 0, 0, 0.04);
44
+
45
+ /* Gradients - Light */
46
+ --try-out-gradient-primary: linear-gradient(135deg, var(--try-out-primary), var(--try-out-primary-light));
47
+ --try-out-gradient-surface: linear-gradient(135deg, var(--try-out-surface), var(--try-out-surface-raised));
48
+
49
+ /* Layout and Spacing */
50
+ --try-out-border-radius-sm: 0.25rem;
51
+ --try-out-border-radius: 0.375rem;
52
+ --try-out-border-radius-lg: 0.5rem;
53
+ --try-out-border-radius-xl: 0.75rem;
54
+ --try-out-border-radius-2xl: 1rem;
55
+
56
+ /* Fluid Spacing System */
57
+ --try-out-spacing-3xs: clamp(0.25rem, 0.5vw, 0.35rem);
58
+ --try-out-spacing-2xs: clamp(0.35rem, 0.75vw, 0.5rem);
59
+ --try-out-spacing-xs: clamp(0.5rem, 1vw, 0.75rem);
60
+ --try-out-spacing-sm: clamp(0.75rem, 1.5vw, 1rem);
61
+ --try-out-spacing: clamp(1rem, 2vw, 1.25rem);
62
+ --try-out-spacing-lg: clamp(1.25rem, 2.5vw, 1.5rem);
63
+ --try-out-spacing-xl: clamp(1.5rem, 3vw, 2rem);
64
+ --try-out-spacing-2xl: clamp(2rem, 4vw, 2.5rem);
65
+
66
+ /* Typography */
67
+ --try-out-font-sm: clamp(0.75rem, 1.5vw, 0.875rem);
68
+ --try-out-font-base: clamp(0.875rem, 1.75vw, 1rem);
69
+ --try-out-font-lg: clamp(1rem, 2vw, 1.125rem);
70
+ --try-out-font-xl: clamp(1.125rem, 2.25vw, 1.25rem);
71
+ --try-out-line-height: 1.5;
72
+ --try-out-line-height-tight: 1.25;
73
+ --try-out-line-height-relaxed: 1.75;
74
+ --try-out-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
75
+
76
+ /* Transitions */
77
+ --try-out-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
78
+ --try-out-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
79
+ --try-out-transition-slow: 300ms cubic-bezier(0.4, 0, 0.2, 1);
80
+
81
+ /* Z-index Stack */
82
+ --try-out-z-negative: -1;
83
+ --try-out-z-elevate: 1;
84
+ --try-out-z-sticky: 100;
85
+ --try-out-z-fab: 200;
86
+ --try-out-z-drawer: 300;
87
+ --try-out-z-modal: 400;
88
+ --try-out-z-popover: 500;
89
+ --try-out-z-toast: 600;
90
+ }
91
+
92
+ /* Dark Theme Overrides */
93
+ [data-md-color-scheme="slate"] {
94
+ /* Dark Theme Colors */
95
+ --try-out-bg: #0f172a;
96
+ --try-out-surface: #1e293b;
97
+ --try-out-surface-raised: #334155;
98
+ --try-out-border: #334155;
99
+ --try-out-text: #f8fafc;
100
+ --try-out-text-light: #cbd5e1;
101
+ --try-out-text-lighter: #94a3b8;
102
+
103
+ /* Dark Theme Accents */
104
+ --try-out-primary: #60a5fa;
105
+ --try-out-primary-rgb: 96, 165, 250;
106
+ --try-out-primary-hover: #3b82f6;
107
+ --try-out-primary-light: #93c5fd;
108
+ --try-out-success: #34d399;
109
+ --try-out-success-hover: #10b981;
110
+ --try-out-danger: #f87171;
111
+ --try-out-danger-hover: #ef4444;
112
+ --try-out-warning: #fbbf24;
113
+ --try-out-info: #60a5fa;
114
+
115
+ /* Dark Theme Glass Morphism */
116
+ --try-out-glass-bg: rgba(15, 23, 42, 0.7);
117
+ --try-out-glass-border: rgba(255, 255, 255, 0.05);
118
+ --try-out-backdrop-blur: 8px;
119
+ --try-out-glass-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2),
120
+ 0 2px 4px -1px rgba(0, 0, 0, 0.1);
121
+
122
+ /* Dark Theme Shadows */
123
+ --try-out-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
124
+ --try-out-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4),
125
+ 0 2px 4px -1px rgba(0, 0, 0, 0.32);
126
+ --try-out-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4),
127
+ 0 4px 6px -2px rgba(0, 0, 0, 0.32);
128
+ --try-out-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.4),
129
+ 0 10px 10px -5px rgba(0, 0, 0, 0.32);
130
+
131
+ /* Dark Theme Gradients */
132
+ --try-out-gradient-primary: linear-gradient(135deg, var(--try-out-primary), var(--try-out-primary-light));
133
+ --try-out-gradient-surface: linear-gradient(135deg, var(--try-out-surface), var(--try-out-surface-raised));
134
+ }
135
+
136
+ /* Apply transitions to theme-sensitive properties */
137
+ *, *::before, *::after {
138
+ transition: var(--theme-transition);
139
+ }
@@ -0,0 +1,136 @@
1
+ /* Styles for API parameter sections */
2
+ .api-parameters-section {
3
+ margin: 1.5rem 0;
4
+ padding: 1.25rem;
5
+ border: 1px solid #e0e0e0;
6
+ border-radius: 6px;
7
+ background-color: #f9f9f9;
8
+ box-shadow: 0 2px 4px rgba(0,0,0,0.05);
9
+ position: relative;
10
+ }
11
+
12
+ .api-parameters-section h3 {
13
+ margin-top: 0;
14
+ margin-bottom: 0.75rem;
15
+ color: #333;
16
+ font-size: 1.25rem;
17
+ border-bottom: 1px solid #e0e0e0;
18
+ padding-bottom: 0.5rem;
19
+ }
20
+
21
+ .api-parameters-section .headerlink {
22
+ opacity: 0.4;
23
+ font-size: 0.8em;
24
+ margin-left: 0.5rem;
25
+ }
26
+
27
+ .api-parameters-section .headerlink:hover {
28
+ opacity: 1;
29
+ }
30
+
31
+ .parameters-description {
32
+ margin-bottom: 1rem;
33
+ color: #666;
34
+ font-style: italic;
35
+ }
36
+
37
+ .parameters-list ul {
38
+ margin: 0;
39
+ padding-left: 1.5rem;
40
+ }
41
+
42
+ .parameters-list li {
43
+ margin-bottom: 0.75rem;
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: space-between;
47
+ }
48
+
49
+ .parameters-list code {
50
+ background-color: #f0f0f0;
51
+ padding: 0.2rem 0.4rem;
52
+ border-radius: 3px;
53
+ font-family: monospace;
54
+ border: 1px solid #e0e0e0;
55
+ font-weight: 500;
56
+ }
57
+
58
+ /* Try parameter buttons */
59
+ .try-param-btn {
60
+ background-color: #f0f0f0;
61
+ border: 1px solid #ddd;
62
+ border-radius: 4px;
63
+ padding: 0.2rem 0.5rem;
64
+ font-size: 0.8rem;
65
+ cursor: pointer;
66
+ color: #555;
67
+ transition: all 0.2s ease;
68
+ margin-left: 0.5rem;
69
+ }
70
+
71
+ .try-param-btn:hover {
72
+ background-color: #e0e0e0;
73
+ color: #333;
74
+ }
75
+
76
+ /* Try all parameters button */
77
+ .try-all-params-btn {
78
+ background-color: #4a90e2;
79
+ color: white;
80
+ border: none;
81
+ border-radius: 4px;
82
+ padding: 0.5rem 1rem;
83
+ margin-top: 1rem;
84
+ cursor: pointer;
85
+ font-weight: 500;
86
+ transition: all 0.2s ease;
87
+ display: block;
88
+ width: 100%;
89
+ }
90
+
91
+ .try-all-params-btn:hover {
92
+ background-color: #3a80d2;
93
+ }
94
+
95
+ /* Dark mode */
96
+ @media (prefers-color-scheme: dark) {
97
+ .api-parameters-section {
98
+ background-color: #222;
99
+ border-color: #444;
100
+ box-shadow: 0 2px 4px rgba(0,0,0,0.2);
101
+ }
102
+
103
+ .api-parameters-section h3 {
104
+ color: #eee;
105
+ border-color: #444;
106
+ }
107
+
108
+ .parameters-description {
109
+ color: #aaa;
110
+ }
111
+
112
+ .parameters-list code {
113
+ background-color: #333;
114
+ border-color: #555;
115
+ color: #eee;
116
+ }
117
+
118
+ .try-param-btn {
119
+ background-color: #333;
120
+ border-color: #555;
121
+ color: #ccc;
122
+ }
123
+
124
+ .try-param-btn:hover {
125
+ background-color: #444;
126
+ color: #fff;
127
+ }
128
+
129
+ .try-all-params-btn {
130
+ background-color: #2a70c2;
131
+ }
132
+
133
+ .try-all-params-btn:hover {
134
+ background-color: #1a60b2;
135
+ }
136
+ }