docula 0.41.1 → 0.90.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.
Files changed (56) hide show
  1. package/README.md +228 -4
  2. package/dist/docula.d.ts +240 -16
  3. package/dist/docula.js +1596 -222
  4. package/package.json +11 -9
  5. package/templates/classic/api.hbs +214 -0
  6. package/{template → templates/classic}/changelog-entry.hbs +2 -0
  7. package/{template → templates/classic}/changelog.hbs +2 -0
  8. package/templates/classic/css/api.css +753 -0
  9. package/{template → templates/classic}/css/base.css +10 -0
  10. package/{template → templates/classic}/css/multipage.css +7 -0
  11. package/{template → templates/classic}/docs.hbs +3 -1
  12. package/{template/index.hbs → templates/classic/home.hbs} +9 -1
  13. package/templates/classic/includes/api-try-it.hbs +61 -0
  14. package/templates/classic/includes/multipage/api-reference.hbs +1 -0
  15. package/templates/classic/includes/multipage/documentation.hbs +1 -0
  16. package/{template → templates/classic}/includes/multipage/hero.hbs +1 -2
  17. package/{template → templates/classic}/includes/multipage/home.hbs +3 -3
  18. package/{template → templates/classic}/includes/singlepage/content.hbs +3 -3
  19. package/templates/classic/js/api.js +282 -0
  20. package/templates/modern/api.hbs +215 -0
  21. package/templates/modern/changelog-entry.hbs +36 -0
  22. package/templates/modern/changelog.hbs +38 -0
  23. package/templates/modern/css/api.css +1051 -0
  24. package/templates/modern/css/highlight/highlight.min.js +1433 -0
  25. package/templates/modern/css/highlight/styles/base16/docula.css +123 -0
  26. package/templates/modern/css/home.css +96 -0
  27. package/templates/modern/css/styles.css +711 -0
  28. package/templates/modern/docs.hbs +30 -0
  29. package/templates/modern/home.hbs +53 -0
  30. package/templates/modern/includes/api-reference.hbs +1 -0
  31. package/templates/modern/includes/api-try-it.hbs +61 -0
  32. package/templates/modern/includes/doc.hbs +18 -0
  33. package/templates/modern/includes/documentation.hbs +1 -0
  34. package/templates/modern/includes/footer.hbs +6 -0
  35. package/templates/modern/includes/header-bar.hbs +57 -0
  36. package/templates/modern/includes/header.hbs +15 -0
  37. package/templates/modern/includes/hero.hbs +11 -0
  38. package/templates/modern/includes/home.hbs +46 -0
  39. package/templates/modern/includes/scripts.hbs +164 -0
  40. package/templates/modern/includes/sidebar.hbs +22 -0
  41. package/templates/modern/includes/theme-toggle.hbs +5 -0
  42. package/templates/modern/js/api.js +300 -0
  43. package/template/api.hbs +0 -28
  44. package/template/releases.hbs +0 -86
  45. /package/{template → templates/classic}/css/highlight/highlight.min.js +0 -0
  46. /package/{template → templates/classic}/css/highlight/styles/base16/dracula.min.css +0 -0
  47. /package/{template → templates/classic}/css/landing.css +0 -0
  48. /package/{template → templates/classic}/css/singlepage.css +0 -0
  49. /package/{template → templates/classic}/includes/footer.hbs +0 -0
  50. /package/{template → templates/classic}/includes/header.hbs +0 -0
  51. /package/{template → templates/classic}/includes/multipage/doc.hbs +0 -0
  52. /package/{template → templates/classic}/includes/multipage/header.hbs +0 -0
  53. /package/{template → templates/classic}/includes/multipage/scripts.hbs +0 -0
  54. /package/{template → templates/classic}/includes/multipage/sidebar.hbs +0 -0
  55. /package/{template → templates/classic}/includes/scripts.hbs +0 -0
  56. /package/{template → templates/classic}/includes/singlepage/hero.hbs +0 -0
@@ -0,0 +1,1051 @@
1
+ /* API Reference - Scalar-like styling */
2
+
3
+ .api-reference {
4
+ display: flex;
5
+ max-width: 1440px;
6
+ margin: 0 auto;
7
+ min-height: calc(100vh - 80px - 4rem);
8
+ }
9
+
10
+ /* Sidebar */
11
+ .api-sidebar {
12
+ width: 280px;
13
+ min-width: 280px;
14
+ padding: 20px 16px;
15
+ border-right: 1px solid var(--border);
16
+ position: sticky;
17
+ top: 81px;
18
+ height: calc(100vh - 81px);
19
+ overflow-y: auto;
20
+ scrollbar-width: thin;
21
+ scrollbar-color: var(--scrollbar) transparent;
22
+ }
23
+
24
+ .api-sidebar::-webkit-scrollbar {
25
+ width: 4px;
26
+ }
27
+
28
+ .api-sidebar::-webkit-scrollbar-thumb {
29
+ background: var(--scrollbar);
30
+ border-radius: 2px;
31
+ }
32
+
33
+ .api-search {
34
+ width: 100%;
35
+ padding: 8px 12px;
36
+ border: 1px solid var(--border);
37
+ border-radius: 6px;
38
+ background: var(--bg);
39
+ color: var(--fg);
40
+ font-size: 13px;
41
+ margin-bottom: 16px;
42
+ outline: none;
43
+ }
44
+
45
+ .api-search:focus {
46
+ border-color: var(--border-hover);
47
+ }
48
+
49
+ .api-search::placeholder {
50
+ color: var(--muted-fg);
51
+ }
52
+
53
+ .api-sidebar__group {
54
+ margin-bottom: 4px;
55
+ }
56
+
57
+ .api-sidebar__group-toggle {
58
+ width: 100%;
59
+ display: flex;
60
+ align-items: center;
61
+ justify-content: space-between;
62
+ padding: 6px 10px;
63
+ font-size: 12px;
64
+ font-weight: 700;
65
+ text-transform: uppercase;
66
+ letter-spacing: 0.4px;
67
+ color: var(--muted);
68
+ border-radius: 4px;
69
+ cursor: pointer;
70
+ }
71
+
72
+ .api-sidebar__group-toggle:hover {
73
+ background: var(--surface-hover);
74
+ }
75
+
76
+ .api-sidebar__group-toggle svg {
77
+ transition: transform 0.15s ease;
78
+ }
79
+
80
+ .api-sidebar__group--collapsed .api-sidebar__group-toggle svg {
81
+ transform: rotate(-90deg);
82
+ }
83
+
84
+ .api-sidebar__group--collapsed .api-sidebar__group-items {
85
+ display: none;
86
+ }
87
+
88
+ .api-sidebar__group-items {
89
+ padding: 2px 0 8px 0;
90
+ }
91
+
92
+ .api-sidebar__item {
93
+ display: flex;
94
+ align-items: center;
95
+ gap: 8px;
96
+ padding: 4px 10px;
97
+ font-size: 13px;
98
+ border-radius: 4px;
99
+ color: var(--fg);
100
+ white-space: nowrap;
101
+ overflow: hidden;
102
+ text-overflow: ellipsis;
103
+ }
104
+
105
+ .api-sidebar__item:hover {
106
+ background: var(--surface-hover);
107
+ }
108
+
109
+ .api-sidebar__item--active {
110
+ background: var(--surface);
111
+ }
112
+
113
+ .api-sidebar__item-path {
114
+ overflow: hidden;
115
+ text-overflow: ellipsis;
116
+ }
117
+
118
+ /* Method Badges */
119
+ .method-badge {
120
+ display: inline-flex;
121
+ align-items: center;
122
+ justify-content: center;
123
+ font-size: 10px;
124
+ font-weight: 700;
125
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
126
+ padding: 2px 6px;
127
+ border-radius: 4px;
128
+ min-width: 42px;
129
+ text-transform: uppercase;
130
+ flex-shrink: 0;
131
+ }
132
+
133
+ .method-badge--get {
134
+ background: rgba(34, 197, 94, 0.15);
135
+ color: #16a34a;
136
+ }
137
+
138
+ .method-badge--post {
139
+ background: rgba(59, 130, 246, 0.15);
140
+ color: #3b82f6;
141
+ }
142
+
143
+ .method-badge--put {
144
+ background: rgba(249, 115, 22, 0.15);
145
+ color: #ea580c;
146
+ }
147
+
148
+ .method-badge--delete {
149
+ background: rgba(239, 68, 68, 0.15);
150
+ color: #ef4444;
151
+ }
152
+
153
+ .method-badge--patch {
154
+ background: rgba(168, 85, 247, 0.15);
155
+ color: #a855f7;
156
+ }
157
+
158
+ .method-badge--head,
159
+ .method-badge--options {
160
+ background: rgba(107, 114, 128, 0.15);
161
+ color: #9ca3af;
162
+ }
163
+
164
+ [data-theme="light"] .method-badge--get {
165
+ background: rgba(34, 197, 94, 0.12);
166
+ color: #15803d;
167
+ }
168
+
169
+ [data-theme="light"] .method-badge--post {
170
+ background: rgba(59, 130, 246, 0.12);
171
+ color: #2563eb;
172
+ }
173
+
174
+ [data-theme="light"] .method-badge--put {
175
+ background: rgba(249, 115, 22, 0.12);
176
+ color: #c2410c;
177
+ }
178
+
179
+ [data-theme="light"] .method-badge--delete {
180
+ background: rgba(239, 68, 68, 0.12);
181
+ color: #dc2626;
182
+ }
183
+
184
+ [data-theme="light"] .method-badge--patch {
185
+ background: rgba(168, 85, 247, 0.12);
186
+ color: #7c3aed;
187
+ }
188
+
189
+ /* Main Content */
190
+ .api-content {
191
+ flex: 1;
192
+ min-width: 0;
193
+ padding: 32px;
194
+ }
195
+
196
+ /* API Info Section */
197
+ .api-info {
198
+ padding-bottom: 32px;
199
+ margin-bottom: 32px;
200
+ border-bottom: 1px solid var(--border);
201
+ }
202
+
203
+ .api-info__title {
204
+ font-size: 1.8em;
205
+ font-weight: 700;
206
+ margin-bottom: 8px;
207
+ }
208
+
209
+ .api-info__version {
210
+ display: inline-block;
211
+ font-size: 12px;
212
+ font-weight: 600;
213
+ padding: 2px 8px;
214
+ border-radius: 4px;
215
+ background: var(--surface);
216
+ color: var(--muted);
217
+ margin-bottom: 16px;
218
+ }
219
+
220
+ .api-info__description {
221
+ font-size: 15px;
222
+ line-height: 1.6;
223
+ color: var(--muted);
224
+ }
225
+
226
+ /* Markdown content inside descriptions */
227
+ .api-info__description a,
228
+ .api-group__description a,
229
+ .api-operation__description a {
230
+ color: var(--accent);
231
+ text-decoration: underline;
232
+ text-decoration-color: rgba(99, 102, 241, 0.4);
233
+ text-underline-offset: 2px;
234
+ }
235
+
236
+ .api-info__description a:hover,
237
+ .api-group__description a:hover,
238
+ .api-operation__description a:hover {
239
+ text-decoration-color: var(--accent);
240
+ }
241
+
242
+ .api-info__description code,
243
+ .api-group__description code,
244
+ .api-operation__description code {
245
+ font-family: monospace;
246
+ font-size: 0.9em;
247
+ padding: 2px 6px;
248
+ border-radius: 4px;
249
+ background: var(--surface);
250
+ }
251
+
252
+ .api-info__description h1,
253
+ .api-info__description h2,
254
+ .api-info__description h3 {
255
+ color: var(--text);
256
+ margin-top: 1.2em;
257
+ margin-bottom: 0.4em;
258
+ }
259
+
260
+ .api-info__description ul,
261
+ .api-info__description ol {
262
+ padding-left: 1.5em;
263
+ margin: 0.5em 0;
264
+ }
265
+
266
+ .api-info__description li {
267
+ margin: 0.25em 0;
268
+ }
269
+
270
+ .api-info__description p {
271
+ margin: 0.5em 0;
272
+ }
273
+
274
+ .api-info__description p:first-child {
275
+ margin-top: 0;
276
+ }
277
+
278
+ .api-info__description p:last-child {
279
+ margin-bottom: 0;
280
+ }
281
+
282
+ .api-info__servers {
283
+ margin-top: 16px;
284
+ }
285
+
286
+ .api-info__server-label {
287
+ font-size: 11px;
288
+ font-weight: 700;
289
+ text-transform: uppercase;
290
+ letter-spacing: 0.4px;
291
+ color: var(--muted);
292
+ margin-bottom: 6px;
293
+ }
294
+
295
+ .api-info__server-url {
296
+ display: inline-block;
297
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
298
+ font-size: 13px;
299
+ padding: 4px 10px;
300
+ border-radius: 4px;
301
+ background: var(--pre-bg);
302
+ color: var(--fg);
303
+ }
304
+
305
+ /* Auth */
306
+ .api-auth {
307
+ margin-top: 1rem;
308
+ display: flex;
309
+ align-items: center;
310
+ gap: 0.75rem;
311
+ flex-wrap: wrap;
312
+ }
313
+
314
+ .api-auth__label {
315
+ font-size: 0.75rem;
316
+ font-weight: 600;
317
+ text-transform: uppercase;
318
+ letter-spacing: 0.05em;
319
+ color: var(--fg-muted, #6b7280);
320
+ min-width: 90px;
321
+ }
322
+
323
+ .api-auth__controls {
324
+ display: flex;
325
+ gap: 0.5rem;
326
+ align-items: center;
327
+ flex-wrap: wrap;
328
+ }
329
+
330
+ .api-auth__type {
331
+ padding: 0.35rem 0.6rem;
332
+ border: 1px solid var(--border);
333
+ border-radius: 6px;
334
+ font-size: 0.85rem;
335
+ background: var(--bg);
336
+ color: var(--fg);
337
+ cursor: pointer;
338
+ }
339
+
340
+ .api-auth__value {
341
+ padding: 0.35rem 0.6rem;
342
+ border: 1px solid var(--border);
343
+ border-radius: 6px;
344
+ font-size: 0.85rem;
345
+ min-width: 220px;
346
+ background: var(--bg);
347
+ color: var(--fg);
348
+ }
349
+
350
+ .api-auth__value--hidden {
351
+ display: none;
352
+ }
353
+
354
+ /* Tag Group */
355
+ .api-group {
356
+ margin-bottom: 40px;
357
+ }
358
+
359
+ .api-group__header {
360
+ margin-bottom: 20px;
361
+ }
362
+
363
+ .api-group__title {
364
+ font-size: 1.3em;
365
+ font-weight: 700;
366
+ margin-bottom: 4px;
367
+ }
368
+
369
+ .api-group__description {
370
+ font-size: 14px;
371
+ color: var(--muted);
372
+ line-height: 1.5;
373
+ }
374
+
375
+ /* Operation */
376
+ .api-operation {
377
+ border: 1px solid var(--border);
378
+ border-radius: 8px;
379
+ margin-bottom: 16px;
380
+ overflow: hidden;
381
+ }
382
+
383
+ .api-operation__header {
384
+ display: flex;
385
+ align-items: center;
386
+ gap: 12px;
387
+ padding: 14px 16px;
388
+ cursor: pointer;
389
+ user-select: none;
390
+ }
391
+
392
+ .api-operation__header:hover {
393
+ background: var(--surface-hover);
394
+ }
395
+
396
+ .api-operation__path {
397
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
398
+ font-size: 14px;
399
+ font-weight: 500;
400
+ }
401
+
402
+ .api-operation__summary {
403
+ font-size: 13px;
404
+ color: var(--muted);
405
+ margin-left: auto;
406
+ white-space: nowrap;
407
+ overflow: hidden;
408
+ text-overflow: ellipsis;
409
+ }
410
+
411
+ .api-operation__toggle-icon {
412
+ flex-shrink: 0;
413
+ transition: transform 0.15s ease;
414
+ color: var(--muted-fg);
415
+ }
416
+
417
+ .api-operation--collapsed .api-operation__toggle-icon {
418
+ transform: rotate(-90deg);
419
+ }
420
+
421
+ .api-operation--collapsed .api-operation__body {
422
+ display: none;
423
+ }
424
+
425
+ .api-operation__body {
426
+ display: flex;
427
+ border-top: 1px solid var(--border);
428
+ padding: 0;
429
+ }
430
+
431
+ .api-operation__docs {
432
+ flex: 1;
433
+ min-width: 0;
434
+ padding: 20px;
435
+ }
436
+
437
+ .api-operation__description {
438
+ font-size: 14px;
439
+ line-height: 1.6;
440
+ margin-bottom: 20px;
441
+ color: var(--muted);
442
+ }
443
+
444
+ /* Parameters */
445
+ .api-section-title {
446
+ font-size: 12px;
447
+ font-weight: 700;
448
+ text-transform: uppercase;
449
+ letter-spacing: 0.4px;
450
+ color: var(--muted);
451
+ margin-bottom: 10px;
452
+ }
453
+
454
+ .api-params-table {
455
+ width: 100%;
456
+ border-collapse: collapse;
457
+ margin-bottom: 20px;
458
+ font-size: 13px;
459
+ }
460
+
461
+ .api-params-table th {
462
+ text-align: left;
463
+ font-weight: 600;
464
+ padding: 8px 12px;
465
+ border-bottom: 1px solid var(--border-strong);
466
+ font-size: 11px;
467
+ text-transform: uppercase;
468
+ letter-spacing: 0.3px;
469
+ color: var(--muted);
470
+ background: none;
471
+ }
472
+
473
+ .api-params-table td {
474
+ padding: 8px 12px;
475
+ border-bottom: 1px solid var(--border);
476
+ vertical-align: top;
477
+ }
478
+
479
+ .api-param-name {
480
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
481
+ font-weight: 600;
482
+ font-size: 13px;
483
+ }
484
+
485
+ .api-param-required {
486
+ color: #ef4444;
487
+ font-size: 11px;
488
+ margin-left: 4px;
489
+ }
490
+
491
+ .api-param-type {
492
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
493
+ font-size: 12px;
494
+ color: var(--muted);
495
+ }
496
+
497
+ .api-param-in {
498
+ font-size: 11px;
499
+ color: var(--muted-fg);
500
+ padding: 1px 6px;
501
+ background: var(--surface);
502
+ border-radius: 3px;
503
+ }
504
+
505
+ .api-param-desc {
506
+ color: var(--muted);
507
+ font-size: 13px;
508
+ }
509
+
510
+ .api-param-enum {
511
+ font-size: 11px;
512
+ color: var(--muted-fg);
513
+ margin-top: 4px;
514
+ }
515
+
516
+ .api-param-enum code {
517
+ font-size: 11px;
518
+ margin: 0 2px;
519
+ }
520
+
521
+ /* Schema Properties */
522
+ .api-schema {
523
+ margin-bottom: 20px;
524
+ }
525
+
526
+ .api-schema-props {
527
+ border: 1px solid var(--border);
528
+ border-radius: 6px;
529
+ overflow: hidden;
530
+ }
531
+
532
+ .api-schema-prop {
533
+ display: flex;
534
+ gap: 12px;
535
+ padding: 8px 12px;
536
+ font-size: 13px;
537
+ border-bottom: 1px solid var(--border);
538
+ align-items: baseline;
539
+ }
540
+
541
+ .api-schema-prop:last-child {
542
+ border-bottom: none;
543
+ }
544
+
545
+ .api-schema-prop-name {
546
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
547
+ font-weight: 600;
548
+ min-width: 120px;
549
+ }
550
+
551
+ .api-schema-prop-type {
552
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
553
+ font-size: 12px;
554
+ color: var(--muted);
555
+ min-width: 80px;
556
+ }
557
+
558
+ .api-schema-prop-desc {
559
+ color: var(--muted);
560
+ flex: 1;
561
+ }
562
+
563
+ /* Code Examples */
564
+ .api-code-examples {
565
+ margin-top: 20px;
566
+ }
567
+
568
+ .api-code-tabs {
569
+ display: flex;
570
+ gap: 0;
571
+ border-bottom: 1px solid var(--border);
572
+ margin-bottom: 0;
573
+ }
574
+
575
+ .api-code-tab {
576
+ padding: 8px 16px;
577
+ font-size: 12px;
578
+ font-weight: 600;
579
+ color: var(--muted);
580
+ border-bottom: 2px solid transparent;
581
+ cursor: pointer;
582
+ background: none;
583
+ border-top: none;
584
+ border-left: none;
585
+ border-right: none;
586
+ }
587
+
588
+ .api-code-tab:hover {
589
+ color: var(--fg);
590
+ }
591
+
592
+ .api-code-tab--active {
593
+ color: var(--fg);
594
+ border-bottom-color: var(--fg);
595
+ }
596
+
597
+ .api-code-panel {
598
+ display: none;
599
+ position: relative;
600
+ }
601
+
602
+ .api-code-panel--active {
603
+ display: block;
604
+ }
605
+
606
+ .api-code-panel pre {
607
+ background: var(--pre-bg);
608
+ border-radius: 0 0 6px 6px;
609
+ padding: 16px;
610
+ margin: 0;
611
+ overflow-x: auto;
612
+ }
613
+
614
+ .api-code-panel pre code {
615
+ background: none;
616
+ padding: 0;
617
+ font-size: 13px;
618
+ line-height: 1.5;
619
+ color: var(--fg);
620
+ }
621
+
622
+ .api-copy-btn {
623
+ position: absolute;
624
+ top: 8px;
625
+ right: 8px;
626
+ padding: 4px 8px;
627
+ font-size: 11px;
628
+ border: 1px solid var(--border);
629
+ border-radius: 4px;
630
+ background: var(--surface);
631
+ color: var(--muted);
632
+ cursor: pointer;
633
+ }
634
+
635
+ .api-copy-btn:hover {
636
+ border-color: var(--border-hover);
637
+ color: var(--fg);
638
+ }
639
+
640
+ /* Response */
641
+ .api-response {
642
+ margin-bottom: 16px;
643
+ }
644
+
645
+ .api-response__status {
646
+ display: inline-flex;
647
+ align-items: center;
648
+ gap: 8px;
649
+ margin-bottom: 8px;
650
+ }
651
+
652
+ .api-status-code {
653
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
654
+ font-size: 13px;
655
+ font-weight: 700;
656
+ padding: 2px 8px;
657
+ border-radius: 4px;
658
+ }
659
+
660
+ .api-status-code--2xx {
661
+ background: rgba(34, 197, 94, 0.15);
662
+ color: #16a34a;
663
+ }
664
+
665
+ .api-status-code--3xx {
666
+ background: rgba(59, 130, 246, 0.15);
667
+ color: #3b82f6;
668
+ }
669
+
670
+ .api-status-code--4xx {
671
+ background: rgba(249, 115, 22, 0.15);
672
+ color: #ea580c;
673
+ }
674
+
675
+ .api-status-code--5xx {
676
+ background: rgba(239, 68, 68, 0.15);
677
+ color: #ef4444;
678
+ }
679
+
680
+ .api-status-code--default {
681
+ background: var(--surface);
682
+ color: var(--muted);
683
+ }
684
+
685
+ .api-response__desc {
686
+ font-size: 13px;
687
+ color: var(--muted);
688
+ }
689
+
690
+ .api-response__example pre {
691
+ background: var(--pre-bg);
692
+ border-radius: 6px;
693
+ padding: 12px 16px;
694
+ margin-top: 8px;
695
+ overflow-x: auto;
696
+ }
697
+
698
+ .api-response__example pre code {
699
+ background: none;
700
+ padding: 0;
701
+ font-size: 12px;
702
+ line-height: 1.5;
703
+ }
704
+
705
+ /* Try It Panel */
706
+ .api-try-it {
707
+ width: 420px;
708
+ min-width: 360px;
709
+ background: var(--pre-bg);
710
+ border-left: 1px solid var(--border);
711
+ padding: 20px;
712
+ display: flex;
713
+ flex-direction: column;
714
+ gap: 12px;
715
+ }
716
+
717
+ .api-try-it__title {
718
+ font-size: 13px;
719
+ font-weight: 700;
720
+ text-transform: uppercase;
721
+ letter-spacing: 0.4px;
722
+ color: var(--muted);
723
+ }
724
+
725
+ .api-try-it__url-bar {
726
+ display: flex;
727
+ align-items: center;
728
+ gap: 8px;
729
+ background: var(--bg);
730
+ border: 1px solid var(--border);
731
+ border-radius: 6px;
732
+ padding: 6px 10px;
733
+ overflow: hidden;
734
+ }
735
+
736
+ .api-try-it__url-display {
737
+ display: flex;
738
+ align-items: center;
739
+ gap: 0;
740
+ flex: 1;
741
+ min-width: 0;
742
+ overflow: hidden;
743
+ }
744
+
745
+ .api-try-it__server-select {
746
+ background: none;
747
+ border: none;
748
+ color: var(--muted);
749
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
750
+ font-size: 12px;
751
+ padding: 2px 0;
752
+ cursor: pointer;
753
+ outline: none;
754
+ max-width: 180px;
755
+ flex-shrink: 1;
756
+ min-width: 0;
757
+ }
758
+
759
+ .api-try-it__server-select option {
760
+ background: var(--bg);
761
+ color: var(--fg);
762
+ }
763
+
764
+ .api-try-it__path-display {
765
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
766
+ font-size: 12px;
767
+ color: var(--fg);
768
+ white-space: nowrap;
769
+ overflow: hidden;
770
+ text-overflow: ellipsis;
771
+ }
772
+
773
+ .api-try-it__section {
774
+ display: flex;
775
+ flex-direction: column;
776
+ gap: 6px;
777
+ }
778
+
779
+ .api-try-it__section-label {
780
+ font-size: 11px;
781
+ font-weight: 700;
782
+ text-transform: uppercase;
783
+ letter-spacing: 0.4px;
784
+ color: var(--muted);
785
+ }
786
+
787
+ .api-try-it__param-row {
788
+ display: flex;
789
+ flex-direction: column;
790
+ gap: 4px;
791
+ }
792
+
793
+ .api-try-it__param-info {
794
+ display: flex;
795
+ align-items: center;
796
+ gap: 6px;
797
+ }
798
+
799
+ .api-try-it__param-name {
800
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
801
+ font-size: 12px;
802
+ font-weight: 600;
803
+ color: var(--fg);
804
+ }
805
+
806
+ .api-try-it__param-in {
807
+ font-size: 10px;
808
+ color: var(--muted-fg);
809
+ padding: 1px 5px;
810
+ background: var(--surface);
811
+ border-radius: 3px;
812
+ }
813
+
814
+ .api-try-it__param-input {
815
+ width: 100%;
816
+ padding: 6px 10px;
817
+ border: 1px solid var(--border);
818
+ border-radius: 4px;
819
+ background: var(--bg);
820
+ color: var(--fg);
821
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
822
+ font-size: 12px;
823
+ outline: none;
824
+ box-sizing: border-box;
825
+ }
826
+
827
+ .api-try-it__param-input:focus {
828
+ border-color: var(--border-hover);
829
+ }
830
+
831
+ .api-try-it__param-input:disabled {
832
+ opacity: 0.5;
833
+ cursor: not-allowed;
834
+ }
835
+
836
+ .api-try-it__param-input::placeholder {
837
+ color: var(--muted-fg);
838
+ }
839
+
840
+ .api-try-it__body-editor {
841
+ width: 100%;
842
+ padding: 10px;
843
+ border: 1px solid var(--border);
844
+ border-radius: 6px;
845
+ background: var(--bg);
846
+ color: var(--fg);
847
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
848
+ font-size: 12px;
849
+ line-height: 1.5;
850
+ resize: vertical;
851
+ outline: none;
852
+ box-sizing: border-box;
853
+ }
854
+
855
+ .api-try-it__body-editor:focus {
856
+ border-color: var(--border-hover);
857
+ }
858
+
859
+ .api-try-it__send-btn {
860
+ width: 100%;
861
+ padding: 8px 16px;
862
+ background: var(--accent, #6366f1);
863
+ color: #fff;
864
+ border: none;
865
+ border-radius: 6px;
866
+ font-size: 13px;
867
+ font-weight: 600;
868
+ cursor: pointer;
869
+ transition: opacity 0.15s ease;
870
+ }
871
+
872
+ .api-try-it__send-btn:hover {
873
+ opacity: 0.9;
874
+ }
875
+
876
+ .api-try-it__send-btn:disabled {
877
+ opacity: 0.6;
878
+ cursor: not-allowed;
879
+ }
880
+
881
+ .api-try-it__response {
882
+ border: 1px solid var(--border);
883
+ border-radius: 6px;
884
+ overflow: hidden;
885
+ background: var(--bg);
886
+ }
887
+
888
+ .api-try-it__response--hidden {
889
+ display: none;
890
+ }
891
+
892
+ .api-try-it__response-meta {
893
+ display: flex;
894
+ align-items: center;
895
+ gap: 10px;
896
+ padding: 10px 12px;
897
+ border-bottom: 1px solid var(--border);
898
+ }
899
+
900
+ .api-try-it__response-status {
901
+ font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
902
+ font-size: 13px;
903
+ font-weight: 700;
904
+ padding: 2px 8px;
905
+ border-radius: 4px;
906
+ }
907
+
908
+ .api-try-it__response-status--2xx {
909
+ background: rgba(34, 197, 94, 0.15);
910
+ color: #16a34a;
911
+ }
912
+
913
+ .api-try-it__response-status--3xx {
914
+ background: rgba(59, 130, 246, 0.15);
915
+ color: #3b82f6;
916
+ }
917
+
918
+ .api-try-it__response-status--4xx {
919
+ background: rgba(249, 115, 22, 0.15);
920
+ color: #ea580c;
921
+ }
922
+
923
+ .api-try-it__response-status--5xx,
924
+ .api-try-it__response-status--error {
925
+ background: rgba(239, 68, 68, 0.15);
926
+ color: #ef4444;
927
+ }
928
+
929
+ .api-try-it__response-time {
930
+ font-size: 12px;
931
+ color: var(--muted);
932
+ margin-left: auto;
933
+ }
934
+
935
+ .api-try-it__response-tabs {
936
+ display: flex;
937
+ border-bottom: 1px solid var(--border);
938
+ }
939
+
940
+ .api-try-it__rtab {
941
+ padding: 6px 14px;
942
+ font-size: 12px;
943
+ font-weight: 600;
944
+ color: var(--muted);
945
+ border: none;
946
+ border-bottom: 2px solid transparent;
947
+ background: none;
948
+ cursor: pointer;
949
+ }
950
+
951
+ .api-try-it__rtab:hover {
952
+ color: var(--fg);
953
+ }
954
+
955
+ .api-try-it__rtab--active {
956
+ color: var(--fg);
957
+ border-bottom-color: var(--fg);
958
+ }
959
+
960
+ .api-try-it__rpanel {
961
+ display: none;
962
+ }
963
+
964
+ .api-try-it__rpanel--active {
965
+ display: block;
966
+ }
967
+
968
+ .api-try-it__rpanel pre {
969
+ margin: 0;
970
+ padding: 12px;
971
+ overflow-x: auto;
972
+ max-height: 400px;
973
+ overflow-y: auto;
974
+ }
975
+
976
+ .api-try-it__rpanel pre code {
977
+ font-size: 12px;
978
+ line-height: 1.5;
979
+ color: var(--fg);
980
+ background: none;
981
+ padding: 0;
982
+ white-space: pre-wrap;
983
+ word-break: break-word;
984
+ }
985
+
986
+ /* Mobile Sidebar for API */
987
+ .api-mobile-toggle {
988
+ display: none;
989
+ padding: 12px 16px;
990
+ border-bottom: 1px solid var(--border);
991
+ }
992
+
993
+ .api-mobile-toggle button {
994
+ width: 100%;
995
+ display: flex;
996
+ align-items: center;
997
+ justify-content: space-between;
998
+ padding: 8px 12px;
999
+ border: 1px solid var(--border);
1000
+ border-radius: 6px;
1001
+ font-size: 14px;
1002
+ background: var(--bg);
1003
+ color: var(--fg);
1004
+ cursor: pointer;
1005
+ }
1006
+
1007
+ /* Responsive */
1008
+ @media (max-width: 1024px) {
1009
+ .api-sidebar {
1010
+ display: none;
1011
+ }
1012
+
1013
+ .api-mobile-toggle {
1014
+ display: block;
1015
+ position: sticky;
1016
+ top: 81px;
1017
+ z-index: 40;
1018
+ background: var(--bg);
1019
+ }
1020
+
1021
+ .api-sidebar--mobile-open {
1022
+ display: block;
1023
+ position: fixed;
1024
+ top: 0;
1025
+ left: 0;
1026
+ width: 280px;
1027
+ height: 100vh;
1028
+ z-index: 100;
1029
+ background: var(--bg);
1030
+ border-right: 1px solid var(--border);
1031
+ }
1032
+
1033
+ .api-content {
1034
+ padding: 20px 16px;
1035
+ }
1036
+
1037
+ .api-operation__summary {
1038
+ display: none;
1039
+ }
1040
+
1041
+ .api-operation__body {
1042
+ flex-direction: column;
1043
+ }
1044
+
1045
+ .api-try-it {
1046
+ width: 100%;
1047
+ min-width: 0;
1048
+ border-left: none;
1049
+ border-top: 1px solid var(--border);
1050
+ }
1051
+ }