@braydenyang/fdoc 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/favicon.svg +13 -0
- package/dist/lib/fdoc +3513 -0
- package/dist/lib/sample.openapi.json +335 -0
- package/dist/lib/style.css +1 -0
- package/package.json +52 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
{
|
|
2
|
+
"components": {
|
|
3
|
+
"schemas": {
|
|
4
|
+
"CreatePetRequest": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"name",
|
|
8
|
+
"status"
|
|
9
|
+
],
|
|
10
|
+
"properties": {
|
|
11
|
+
"name": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"status": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"tags": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"items": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"ErrorResponse": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"properties": {
|
|
28
|
+
"code": {
|
|
29
|
+
"type": "integer",
|
|
30
|
+
"format": "int32"
|
|
31
|
+
},
|
|
32
|
+
"message": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"Pet": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"required": [
|
|
40
|
+
"name"
|
|
41
|
+
],
|
|
42
|
+
"properties": {
|
|
43
|
+
"id": {
|
|
44
|
+
"type": "integer",
|
|
45
|
+
"format": "int64"
|
|
46
|
+
},
|
|
47
|
+
"name": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
},
|
|
50
|
+
"status": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"tags": {
|
|
54
|
+
"type": "array",
|
|
55
|
+
"items": {
|
|
56
|
+
"type": "string"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"securitySchemes": {
|
|
63
|
+
"ApiKeyAuth": {
|
|
64
|
+
"type": "apiKey",
|
|
65
|
+
"name": "X-API-Key",
|
|
66
|
+
"in": "header"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"info": {
|
|
71
|
+
"title": "Pet Store API",
|
|
72
|
+
"description": "A sample Pet Store API demonstrating swag3 annotation support.",
|
|
73
|
+
"version": "1.0.0"
|
|
74
|
+
},
|
|
75
|
+
"openapi": "3.0.3",
|
|
76
|
+
"servers": [
|
|
77
|
+
{
|
|
78
|
+
"url": "https://localhost:8080/api/v1"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"paths": {
|
|
82
|
+
"/pets": {
|
|
83
|
+
"get": {
|
|
84
|
+
"tags": [
|
|
85
|
+
"pets"
|
|
86
|
+
],
|
|
87
|
+
"summary": "List all pets",
|
|
88
|
+
"description": "ListPets returns a list of pets, optionally filtered by status.",
|
|
89
|
+
"operationId": "listPets",
|
|
90
|
+
"parameters": [
|
|
91
|
+
{
|
|
92
|
+
"name": "status",
|
|
93
|
+
"in": "query",
|
|
94
|
+
"description": "filter by status (available, pending, sold)",
|
|
95
|
+
"schema": {
|
|
96
|
+
"type": "string"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "limit",
|
|
101
|
+
"in": "query",
|
|
102
|
+
"description": "maximum number of results to return",
|
|
103
|
+
"schema": {
|
|
104
|
+
"type": "integer",
|
|
105
|
+
"format": "int64"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"responses": {
|
|
110
|
+
"200": {
|
|
111
|
+
"description": "list of pets",
|
|
112
|
+
"content": {
|
|
113
|
+
"application/json": {
|
|
114
|
+
"schema": {
|
|
115
|
+
"type": "array",
|
|
116
|
+
"items": {
|
|
117
|
+
"$ref": "#/components/schemas/Pet"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"500": {
|
|
124
|
+
"description": "internal server error",
|
|
125
|
+
"content": {
|
|
126
|
+
"application/json": {
|
|
127
|
+
"schema": {
|
|
128
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"post": {
|
|
136
|
+
"tags": [
|
|
137
|
+
"pets"
|
|
138
|
+
],
|
|
139
|
+
"summary": "Create a new pet",
|
|
140
|
+
"description": "CreatePet adds a new pet to the store.",
|
|
141
|
+
"operationId": "createPet",
|
|
142
|
+
"requestBody": {
|
|
143
|
+
"description": "pet to create",
|
|
144
|
+
"content": {
|
|
145
|
+
"application/json": {
|
|
146
|
+
"schema": {
|
|
147
|
+
"$ref": "#/components/schemas/CreatePetRequest"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"required": true
|
|
152
|
+
},
|
|
153
|
+
"responses": {
|
|
154
|
+
"201": {
|
|
155
|
+
"description": "created pet",
|
|
156
|
+
"content": {
|
|
157
|
+
"application/json": {
|
|
158
|
+
"schema": {
|
|
159
|
+
"$ref": "#/components/schemas/Pet"
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"400": {
|
|
165
|
+
"description": "invalid request",
|
|
166
|
+
"content": {
|
|
167
|
+
"application/json": {
|
|
168
|
+
"schema": {
|
|
169
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"security": [
|
|
176
|
+
{
|
|
177
|
+
"ApiKeyAuth": []
|
|
178
|
+
}
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"/pets/{id}": {
|
|
183
|
+
"get": {
|
|
184
|
+
"tags": [
|
|
185
|
+
"pets"
|
|
186
|
+
],
|
|
187
|
+
"summary": "Get a pet by ID",
|
|
188
|
+
"description": "GetPet returns a single pet by ID.",
|
|
189
|
+
"operationId": "getPet",
|
|
190
|
+
"parameters": [
|
|
191
|
+
{
|
|
192
|
+
"name": "id",
|
|
193
|
+
"in": "path",
|
|
194
|
+
"description": "pet ID",
|
|
195
|
+
"required": true,
|
|
196
|
+
"schema": {
|
|
197
|
+
"type": "integer",
|
|
198
|
+
"format": "int64"
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
],
|
|
202
|
+
"responses": {
|
|
203
|
+
"200": {
|
|
204
|
+
"description": "the requested pet",
|
|
205
|
+
"content": {
|
|
206
|
+
"application/json": {
|
|
207
|
+
"schema": {
|
|
208
|
+
"$ref": "#/components/schemas/Pet"
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"404": {
|
|
214
|
+
"description": "pet not found",
|
|
215
|
+
"content": {
|
|
216
|
+
"application/json": {
|
|
217
|
+
"schema": {
|
|
218
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"put": {
|
|
226
|
+
"tags": [
|
|
227
|
+
"pets"
|
|
228
|
+
],
|
|
229
|
+
"summary": "Update an existing pet",
|
|
230
|
+
"description": "UpdatePet replaces an existing pet record.",
|
|
231
|
+
"operationId": "updatePet",
|
|
232
|
+
"parameters": [
|
|
233
|
+
{
|
|
234
|
+
"name": "id",
|
|
235
|
+
"in": "path",
|
|
236
|
+
"description": "pet ID",
|
|
237
|
+
"required": true,
|
|
238
|
+
"schema": {
|
|
239
|
+
"type": "integer",
|
|
240
|
+
"format": "int64"
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
],
|
|
244
|
+
"requestBody": {
|
|
245
|
+
"description": "updated pet data",
|
|
246
|
+
"content": {
|
|
247
|
+
"application/json": {
|
|
248
|
+
"schema": {
|
|
249
|
+
"$ref": "#/components/schemas/CreatePetRequest"
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
},
|
|
253
|
+
"required": true
|
|
254
|
+
},
|
|
255
|
+
"responses": {
|
|
256
|
+
"200": {
|
|
257
|
+
"description": "updated pet",
|
|
258
|
+
"content": {
|
|
259
|
+
"application/json": {
|
|
260
|
+
"schema": {
|
|
261
|
+
"$ref": "#/components/schemas/Pet"
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"404": {
|
|
267
|
+
"description": "pet not found",
|
|
268
|
+
"content": {
|
|
269
|
+
"application/json": {
|
|
270
|
+
"schema": {
|
|
271
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
"security": [
|
|
278
|
+
{
|
|
279
|
+
"ApiKeyAuth": []
|
|
280
|
+
}
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
"delete": {
|
|
284
|
+
"tags": [
|
|
285
|
+
"pets"
|
|
286
|
+
],
|
|
287
|
+
"summary": "Delete a pet",
|
|
288
|
+
"description": "DeletePet removes a pet from the store.",
|
|
289
|
+
"operationId": "deletePet",
|
|
290
|
+
"parameters": [
|
|
291
|
+
{
|
|
292
|
+
"name": "id",
|
|
293
|
+
"in": "path",
|
|
294
|
+
"description": "pet ID",
|
|
295
|
+
"required": true,
|
|
296
|
+
"schema": {
|
|
297
|
+
"type": "integer",
|
|
298
|
+
"format": "int64"
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
],
|
|
302
|
+
"responses": {
|
|
303
|
+
"204": {
|
|
304
|
+
"description": "pet deleted"
|
|
305
|
+
},
|
|
306
|
+
"404": {
|
|
307
|
+
"description": "pet not found",
|
|
308
|
+
"content": {
|
|
309
|
+
"application/json": {
|
|
310
|
+
"schema": {
|
|
311
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
"security": [
|
|
318
|
+
{
|
|
319
|
+
"ApiKeyAuth": []
|
|
320
|
+
}
|
|
321
|
+
]
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
"tags": [
|
|
326
|
+
{
|
|
327
|
+
"name": "pets",
|
|
328
|
+
"description": "Operations about pets"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"name": "store",
|
|
332
|
+
"description": "Store orders"
|
|
333
|
+
}
|
|
334
|
+
]
|
|
335
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.auth-editor[data-v-e4396512]{display:flex;flex-direction:column;gap:10px;padding:8px 0}.auth-row[data-v-e4396512]{display:flex;align-items:center;gap:12px}.auth-label[data-v-e4396512]{flex-shrink:0;width:72px;font-size:12px;color:var(--color-text-muted);text-align:right}.auth-input[data-v-e4396512]{flex:1;max-width:360px;font-family:var(--font-mono);font-size:12.5px}.app-header[data-v-b038409d]{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 16px;border-bottom:1px solid var(--color-border);background-color:var(--color-bg);flex-shrink:0}.header-left[data-v-b038409d]{display:flex;align-items:center;gap:12px}.logo[data-v-b038409d]{font-size:15px;font-weight:600;color:var(--color-text);letter-spacing:-.01em}.spec-title[data-v-b038409d]{font-size:13px;color:var(--color-text-muted);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-right[data-v-b038409d]{display:flex;align-items:center;gap:12px}.server-wrap[data-v-b038409d]{display:flex;flex-direction:column;gap:8px;padding:4px;width:380px}.section-title[data-v-b038409d]{font-size:13px;font-weight:600;color:var(--color-text)}.section-desc[data-v-b038409d]{font-size:11px;color:var(--color-text-muted);margin-bottom:4px}.server-item[data-v-b038409d]{display:flex;flex-direction:column;gap:2px;padding:6px 0;border-top:1px solid var(--color-border)}.server-url[data-v-b038409d]{font-family:var(--font-mono);font-size:12px;color:var(--color-text);word-break:break-all}.server-desc[data-v-b038409d]{font-size:11px;color:var(--color-text-muted)}.global-auth-wrap[data-v-b038409d]{display:flex;flex-direction:column;gap:4px;padding:4px;width:360px}.sidebar[data-v-e40b2528]{width:var(--sidebar-width);flex-shrink:0;border-right:1px solid var(--color-border);background-color:var(--color-bg);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:width .2s ease}.sidebar--collapsed[data-v-e40b2528]{width:40px}.sidebar-search[data-v-e40b2528]{padding:10px 12px;border-bottom:1px solid var(--color-border);flex-shrink:0}.sidebar-scroll[data-v-e40b2528]{flex:1}.sidebar-empty[data-v-e40b2528]{padding:40px 16px;color:var(--color-text-muted);font-size:12px;text-align:center}.menu-wrap[data-v-e40b2528]{width:100%}.sidebar-toggle[data-v-e40b2528]{position:absolute;bottom:12px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;transition:color .12s,background-color .12s;z-index:1}.sidebar-toggle[data-v-e40b2528]:hover{color:var(--color-text);background:var(--color-bg-subtle)}.sidebar--collapsed .sidebar-toggle[data-v-e40b2528]{right:auto;left:50%;transform:translate(-50%)}.ep-info-panel[data-v-e40b2528]{position:fixed;left:calc(var(--sidebar-width) + 6px);z-index:9999;min-width:220px;max-width:320px;padding:10px 14px;border-radius:6px;border:1px solid var(--color-border);background:var(--color-bg);box-shadow:0 4px 16px #0000001a;pointer-events:auto}[data-theme=dark] .ep-info-panel[data-v-e40b2528]{box-shadow:0 4px 20px #0006}.info-path-row[data-v-e40b2528]{display:flex;align-items:baseline;gap:6px;margin-bottom:8px}.info-method[data-v-e40b2528]{font-family:var(--font-mono);font-size:11px;font-weight:700;flex-shrink:0}.info-path[data-v-e40b2528]{font-family:var(--font-mono);font-size:12px;color:var(--color-text);word-break:break-all}.info-divider[data-v-e40b2528]{height:1px;background:var(--color-border);margin-bottom:8px}.info-field[data-v-e40b2528]{display:flex;gap:8px;font-size:12px;line-height:1.6;align-items:flex-start}.info-label[data-v-e40b2528]{flex-shrink:0;min-width:70px;font-size:11px;color:var(--color-text-muted)}.info-value[data-v-e40b2528]{color:var(--color-text);word-break:break-word}.info-fade-enter-active[data-v-e40b2528],.info-fade-leave-active[data-v-e40b2528]{transition:opacity .1s,transform .1s}.info-fade-enter-from[data-v-e40b2528],.info-fade-leave-to[data-v-e40b2528]{opacity:0;transform:translate(-4px)}.sidebar .n-submenu>.n-menu-item .n-menu-item-content__icon{display:none}.sidebar .n-submenu>.n-menu-item .n-menu-item-content-header{font-size:11px!important;font-weight:700!important;letter-spacing:.07em!important;text-transform:uppercase!important}.mi-root{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;width:100%}.mi-row{display:flex;align-items:baseline;gap:6px;min-width:0}.mi-method{font-family:var(--font-mono);font-size:10px;font-weight:700;flex-shrink:0;letter-spacing:.03em;line-height:1}.mi-primary{font-size:12px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.mi-secondary{font-family:var(--font-mono);font-size:11px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.55}.method-badge[data-v-6bc10dbf]{display:inline-block;width:52px;text-align:center;font-family:var(--font-mono);font-size:11px;font-weight:600;flex-shrink:0}.method-get[data-v-6bc10dbf]{color:var(--color-get)}.method-post[data-v-6bc10dbf]{color:var(--color-post)}.method-put[data-v-6bc10dbf]{color:var(--color-put)}.method-patch[data-v-6bc10dbf]{color:var(--color-patch)}.method-delete[data-v-6bc10dbf]{color:var(--color-delete)}.method-head[data-v-6bc10dbf],.method-options[data-v-6bc10dbf]{color:var(--color-head)}.copy-btn[data-v-9dc8e820]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color .15s,background-color .15s;flex-shrink:0}.copy-btn[data-v-9dc8e820]:hover{color:var(--color-text);background:var(--color-bg-subtle)}.copy-btn--ok[data-v-9dc8e820],.copy-btn--ok[data-v-9dc8e820]:hover{color:#10b981}.schema-viewer[data-v-bb66e54d]{width:100%}.circular-hint[data-v-bb66e54d],.empty-hint[data-v-bb66e54d]{padding:8px 0;font-size:12px;color:var(--color-text-muted)}.circular-hint[data-v-bb66e54d]{color:#ef4444}.combiner-hint[data-v-bb66e54d]{display:flex;align-items:center;gap:6px;padding:8px 0;font-size:12px}.combiner-label[data-v-bb66e54d]{font-family:var(--font-mono);font-size:12px;font-weight:600;color:#64748b;background:#64748b18;padding:1px 6px;border-radius:4px}.combiner-count[data-v-bb66e54d]{color:var(--color-text-muted)}[data-v-bb66e54d] tr.row-depth-1 td{background-color:#6366f10f!important}[data-v-bb66e54d] tr.row-depth-2 td{background-color:#10b9810f!important}[data-v-bb66e54d] tr.row-depth-3 td{background-color:#f59e0b0f!important}[data-v-bb66e54d] tr.row-depth-4 td{background-color:#0ea5e90f!important}[data-v-bb66e54d] td:has(.n-data-table-expand-trigger),[data-v-bb66e54d] td:has(.n-data-table-expand-placeholder){display:flex!important;align-items:center!important}.pe[data-v-b1f9e80e]{border:1px solid var(--color-border);border-radius:6px;overflow:hidden;font-size:13px}.pe-header[data-v-b1f9e80e]{display:flex;align-items:center;height:32px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);font-size:12px;color:var(--color-text-muted);font-weight:500}.pe-hcell[data-v-b1f9e80e]{display:flex;align-items:center;padding:0 8px}.pe-hcell--check[data-v-b1f9e80e]{width:36px;flex-shrink:0}.pe-hcell--key[data-v-b1f9e80e]{flex:0 0 180px}.pe-hcell--eq[data-v-b1f9e80e]{width:24px;flex-shrink:0;justify-content:center;color:transparent}.pe-hcell--val[data-v-b1f9e80e]{flex:1;min-width:0}.pe-hcell--act[data-v-b1f9e80e]{width:36px;flex-shrink:0}.pe-row[data-v-b1f9e80e]{display:flex;align-items:center;min-height:36px;border-bottom:1px solid var(--color-border);transition:background-color .12s}.pe-row[data-v-b1f9e80e]:last-of-type{border-bottom:1px solid var(--color-border)}.pe-row[data-v-b1f9e80e]:hover{background:var(--color-bg-subtle)}.pe-row--disabled[data-v-b1f9e80e]{opacity:.45}.pe-cell[data-v-b1f9e80e]{display:flex;align-items:center;padding:0 8px;min-height:36px}.pe-cell--check[data-v-b1f9e80e]{width:36px;flex-shrink:0;justify-content:center}.pe-cell--key[data-v-b1f9e80e]{flex:0 0 180px;border-right:1px solid var(--color-border)}.pe-cell--eq[data-v-b1f9e80e]{width:24px;flex-shrink:0;justify-content:center;font-family:var(--font-mono);font-size:12px;color:var(--color-text-muted)}.pe-cell--val[data-v-b1f9e80e]{flex:1;min-width:0}.pe-cell--act[data-v-b1f9e80e]{width:36px;flex-shrink:0;justify-content:center}.pe-input[data-v-b1f9e80e],.pe-autocomplete[data-v-b1f9e80e] .n-input{font-family:var(--font-mono);font-size:12.5px}.pe-autocomplete[data-v-b1f9e80e] .n-input .n-input__border,.pe-autocomplete[data-v-b1f9e80e] .n-input .n-input__state-border{border:none!important;box-shadow:none!important}.pe-del[data-v-b1f9e80e]{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:2px;border-radius:4px;cursor:pointer;color:#e5484d;opacity:0;transition:opacity .12s,background-color .12s}.pe-del[data-v-b1f9e80e]:disabled{color:#d1d5db;cursor:not-allowed}.pe-del[data-v-b1f9e80e]:not(:disabled):hover{background-color:#fee2e2}.pe-row:hover .pe-del[data-v-b1f9e80e]{opacity:1}.pe-add[data-v-b1f9e80e]{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;font-size:12px;color:var(--color-text-muted);cursor:pointer;transition:color .12s,background-color .12s}.pe-add[data-v-b1f9e80e]:hover{color:var(--color-primary, #2080f0);background:var(--color-bg-subtle)}.pe-add-icon[data-v-b1f9e80e]{width:14px;height:14px;flex-shrink:0}.jbe[data-v-4eb0272b]{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.jbe-toolbar[data-v-4eb0272b]{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.jbe-hint[data-v-4eb0272b]{font-size:11px;color:var(--color-text-muted)}.jbe-hint--err[data-v-4eb0272b]{color:#ef4444}.jbe-wrap[data-v-4eb0272b]{padding:2px}.jbe-textarea[data-v-4eb0272b]{font-family:var(--font-mono);font-size:12.5px}.mp[data-v-dac4ff7c]{border:1px solid var(--color-border);border-radius:6px;overflow:hidden;font-size:13px}.mp-header[data-v-dac4ff7c]{display:flex;align-items:center;height:32px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border);font-size:12px;color:var(--color-text-muted);font-weight:500}.mp-hcell[data-v-dac4ff7c]{display:flex;align-items:center;padding:0 8px}.mp-hcell--check[data-v-dac4ff7c]{width:36px;flex-shrink:0}.mp-hcell--key[data-v-dac4ff7c]{flex:0 0 160px}.mp-hcell--type[data-v-dac4ff7c]{width:80px;flex-shrink:0}.mp-hcell--val[data-v-dac4ff7c]{flex:1;min-width:0}.mp-hcell--act[data-v-dac4ff7c]{width:36px;flex-shrink:0}.mp-row[data-v-dac4ff7c]{display:flex;align-items:center;min-height:36px;border-bottom:1px solid var(--color-border);transition:background-color .12s}.mp-row[data-v-dac4ff7c]:hover{background:var(--color-bg-subtle)}.mp-row--disabled[data-v-dac4ff7c]{opacity:.45}.mp-cell[data-v-dac4ff7c]{display:flex;align-items:center;padding:0 8px;min-height:36px}.mp-cell--check[data-v-dac4ff7c]{width:36px;flex-shrink:0;justify-content:center}.mp-cell--key[data-v-dac4ff7c]{flex:0 0 160px;border-right:1px solid var(--color-border)}.mp-cell--type[data-v-dac4ff7c]{width:80px;flex-shrink:0;border-right:1px solid var(--color-border)}.mp-cell--val[data-v-dac4ff7c]{flex:1;min-width:0}.mp-cell--act[data-v-dac4ff7c]{width:36px;flex-shrink:0;justify-content:center}.mp-input[data-v-dac4ff7c]{font-family:var(--font-mono);font-size:12.5px}.mp-file-row[data-v-dac4ff7c]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.mp-file-btn[data-v-dac4ff7c]{font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-file-size[data-v-dac4ff7c]{font-size:10px;color:var(--color-text-muted);flex-shrink:0}.mp-del[data-v-dac4ff7c]{display:flex;align-items:center;justify-content:center;background:none;border:none;padding:2px;border-radius:4px;cursor:pointer;color:#e5484d;opacity:0;transition:opacity .12s,background-color .12s}.mp-del[data-v-dac4ff7c]:hover{background-color:#fee2e2}.mp-row:hover .mp-del[data-v-dac4ff7c]{opacity:1}.mp-footer[data-v-dac4ff7c]{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 12px}.mp-add-btns[data-v-dac4ff7c]{display:flex;align-items:center;gap:0}.mp-add[data-v-dac4ff7c]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-muted);cursor:pointer;padding:2px 8px;border-radius:4px;transition:color .12s,background-color .12s}.mp-add[data-v-dac4ff7c]:hover{color:var(--color-primary, #2080f0);background:var(--color-bg-subtle)}.mp-add-icon[data-v-dac4ff7c]{width:14px;height:14px;flex-shrink:0}.mp-divider[data-v-dac4ff7c]{width:1px;height:14px;background:var(--color-border);margin:0 4px}.mp-stats[data-v-dac4ff7c]{font-size:11px;color:var(--color-text-muted)}.xbe[data-v-893f3881]{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.xbe-toolbar[data-v-893f3881]{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.xbe-hint[data-v-893f3881]{font-size:11px;color:var(--color-text-muted)}.xbe-hint--err[data-v-893f3881]{color:#ef4444}.xbe-wrap[data-v-893f3881]{padding:2px}.xbe-textarea[data-v-893f3881]{font-family:var(--font-mono);font-size:12.5px}.bbe[data-v-eed78a60]{display:flex;flex-direction:column;gap:10px;padding:4px 0}.bbe-file[data-v-eed78a60]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:6px;font-size:12px;color:var(--color-text)}.bbe-name[data-v-eed78a60]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.bbe-size[data-v-eed78a60]{color:var(--color-text-muted);flex-shrink:0}.bbe-clear[data-v-eed78a60]{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:0;font-size:11px;line-height:1}.bbe-clear[data-v-eed78a60]:hover{color:#ef4444}.body-editor[data-v-aa464c78]{display:flex;flex-direction:column;gap:10px}.type-pills[data-v-aa464c78]{display:flex;align-items:center;gap:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background:var(--color-bg-subtle)}.pill[data-v-aa464c78]{flex:none;padding:5px 14px;font-size:12px;font-weight:500;line-height:1;color:var(--color-text-muted);background:transparent;border:none;border-right:1px solid var(--color-border);cursor:pointer;transition:color .12s,background-color .12s;white-space:nowrap}.pill[data-v-aa464c78]:last-child{border-right:none}.pill[data-v-aa464c78]:hover{color:var(--color-text);background:var(--color-bg)}.pill--active[data-v-aa464c78],.pill--active[data-v-aa464c78]:hover{color:#fff;background:var(--color-primary, #2080f0)}.editor-wrap[data-v-aa464c78]{padding-top:2px}.body-none[data-v-aa464c78]{padding:16px 0;font-size:12px;color:var(--color-text-muted)}.request-form[data-v-ce7ed1a9]{display:flex;flex-direction:column;gap:12px}.url-bar[data-v-ce7ed1a9]{display:flex;gap:0;align-items:stretch;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;height:36px}.method-badge[data-v-ce7ed1a9]{display:flex;align-items:center;justify-content:center;min-width:64px;padding:0 12px;font-family:var(--font-mono);font-size:12px;font-weight:700;background:var(--color-bg-subtle);border-right:1px solid var(--color-border);flex-shrink:0;-webkit-user-select:none;user-select:none}.url-input[data-v-ce7ed1a9]{flex:1;font-family:var(--font-mono);font-size:13px}.url-input[data-v-ce7ed1a9] .n-input__border,.url-input[data-v-ce7ed1a9] .n-input__state-border{border:none!important;box-shadow:none!important}.send-btn[data-v-ce7ed1a9]{flex-shrink:0;border-radius:0;height:100%;min-width:64px;border:none;border-left:1px solid var(--color-border)}.req-toolbar[data-v-ce7ed1a9]{display:flex;align-items:center}.sub-tabs[data-v-ce7ed1a9]{margin-top:0}.tab-placeholder[data-v-ce7ed1a9]{padding:16px 0;font-size:12px;color:var(--color-text-muted)}.auth-hint[data-v-ce7ed1a9]{font-size:11px;color:var(--color-text-muted);margin-bottom:4px}.curl-wrap[data-v-ce7ed1a9]{position:relative}.curl-code[data-v-ce7ed1a9]{margin:0;padding:12px;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:6px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-all;color:var(--color-text);max-height:400px;overflow:auto}.curl-actions[data-v-ce7ed1a9]{position:absolute;top:8px;right:8px}.tab-with-badge{display:inline-flex;align-items:center;gap:5px}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;line-height:1;border-radius:8px;color:#10b981;background:#10b98118}.json-highlight[data-v-aec27471]{position:relative;border-radius:6px;overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg)}.toolbar[data-v-aec27471]{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle)}.lang-label[data-v-aec27471]{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted)}.copy-btn[data-v-aec27471]{font-size:12px;opacity:0;transition:opacity .12s}.json-highlight:hover .copy-btn[data-v-aec27471]{opacity:1}.code-wrap[data-v-aec27471]{overflow:auto;position:relative}.code-wrap.collapsed[data-v-aec27471]{max-height:480px;overflow:hidden}pre.hljs[data-v-aec27471]{margin:0;padding:12px 14px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;background:transparent!important;overflow:visible}.fade-mask[data-v-aec27471]{position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(transparent,var(--color-bg));display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px}.collapse-btn-row[data-v-aec27471]{display:flex;justify-content:center;padding:6px;border-top:1px solid var(--color-border)}.image-view[data-v-b9fd1d77]{display:flex;flex-direction:column;gap:10px;padding:8px}.preview-img[data-v-b9fd1d77]{max-width:100%;max-height:400px;object-fit:contain;border-radius:4px;border:1px solid var(--color-border)}.meta[data-v-b9fd1d77]{font-size:12px}.download-link[data-v-b9fd1d77]{color:var(--color-primary);text-decoration:none}.download-link[data-v-b9fd1d77]:hover{text-decoration:underline}.raw-view[data-v-30120298]{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.toolbar[data-v-30120298]{display:flex;justify-content:space-between;align-items:center;padding:4px 10px;border-bottom:1px solid var(--color-border);background:var(--color-bg-subtle);font-size:11px}.hint[data-v-30120298]{font-family:var(--font-mono);color:var(--color-text-muted)}.raw-body[data-v-30120298]{margin:0;padding:12px 14px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-all;overflow-x:auto;background:var(--color-bg);color:var(--color-text)}.response-viewer[data-v-9c1034fa]{display:flex;flex-direction:column;gap:10px;min-height:120px}.state-center[data-v-9c1034fa]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px 0}.state-hint[data-v-9c1034fa]{font-size:12px;color:var(--color-text-muted)}.status-bar[data-v-9c1034fa]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.body-wrap[data-v-9c1034fa]{padding-top:8px}.headers-pre[data-v-9c1034fa]{margin:0;padding:12px;font-family:var(--font-mono);font-size:12px;line-height:1.6;background:var(--color-bg-subtle);border-radius:6px;white-space:pre-wrap;color:var(--color-text-muted)}.history-list[data-v-3eb2aa31]{border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.list-header[data-v-3eb2aa31]{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.list-title[data-v-3eb2aa31]{font-size:12px;font-weight:600;color:var(--color-text-muted)}.search-bar[data-v-3eb2aa31]{padding:6px 10px;border-bottom:1px solid var(--color-border)}.empty-state[data-v-3eb2aa31]{padding:20px 0;display:flex;justify-content:center}.history-item[data-v-3eb2aa31]{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:6px 8px 6px 10px;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background-color .1s}.history-item[data-v-3eb2aa31]:hover,.history-item--expanded[data-v-3eb2aa31]{background-color:var(--color-bg-subtle)}.item-left[data-v-3eb2aa31]{display:flex;align-items:center;gap:4px;min-width:0;flex:1}.item-path[data-v-3eb2aa31]{font-family:var(--font-mono);font-size:12px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-right[data-v-3eb2aa31]{display:flex;align-items:center;gap:4px;flex-shrink:0}.item-status[data-v-3eb2aa31]{font-family:var(--font-mono);font-size:11px;font-weight:600}.item-duration[data-v-3eb2aa31]{font-size:11px;color:var(--color-text-muted);font-family:var(--font-mono)}.item-time[data-v-3eb2aa31]{font-size:10px;color:var(--color-text-muted);letter-spacing:-.02em}.action-btn[data-v-3eb2aa31]{opacity:0;transition:opacity .1s;color:var(--color-text-muted)}.del-btn[data-v-3eb2aa31]:hover{color:#ef4444!important}.history-item:hover .action-btn[data-v-3eb2aa31]{opacity:1}.history-detail[data-v-3eb2aa31]{border-bottom:1px solid var(--color-border);background:var(--color-bg)}.detail-section[data-v-3eb2aa31]{padding:8px 12px}.detail-section--response[data-v-3eb2aa31]{border-top:1px solid var(--color-border)}.detail-section-header[data-v-3eb2aa31]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.detail-section-title[data-v-3eb2aa31]{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.detail-status-text[data-v-3eb2aa31]{font-family:var(--font-mono);font-size:11px;font-weight:600}.detail-duration[data-v-3eb2aa31]{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);margin-left:auto}.detail-url[data-v-3eb2aa31]{display:flex;align-items:center;gap:4px;margin-bottom:6px;padding:4px 8px;background:var(--color-bg-subtle);border-radius:4px;border:1px solid var(--color-border)}.detail-url-text[data-v-3eb2aa31]{font-family:var(--font-mono);font-size:11px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.detail-block[data-v-3eb2aa31]{margin-bottom:6px}.detail-block[data-v-3eb2aa31]:last-child{margin-bottom:0}.detail-block-header[data-v-3eb2aa31]{display:flex;align-items:center;justify-content:space-between;padding:2px 0;margin-bottom:2px}.detail-label[data-v-3eb2aa31]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.detail-pre[data-v-3eb2aa31]{margin:0;padding:6px 8px;font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--color-text);background:var(--color-code-bg);border:1px solid var(--color-border);border-radius:4px;white-space:pre-wrap;word-break:break-all;max-height:140px;overflow-y:auto}.debug-panel[data-v-06806249]{display:flex;flex-direction:column}.empty-state[data-v-06806249]{padding:32px 0;display:flex;justify-content:center}.panel-section[data-v-06806249]{padding:16px 0}.divider[data-v-06806249]{height:1px;background:var(--color-border)}.response-row[data-v-06806249]{display:flex;flex-direction:row;align-items:flex-start;gap:0;padding:16px 0}.response-main[data-v-06806249]{flex:1;min-width:0}.history-side[data-v-06806249]{display:flex;flex-direction:row;flex-shrink:0;border-left:1px solid var(--color-border);margin-left:12px;align-self:stretch}.history-toggle[data-v-06806249]{width:24px;height:100%;min-height:60px;border:none;background:var(--color-bg-subtle);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:8px 0;color:var(--color-text-muted);transition:background-color .12s,color .12s}.history-toggle[data-v-06806249]:hover{background:var(--color-bg);color:var(--color-text)}.toggle-icon[data-v-06806249]{flex-shrink:0;transition:transform .2s ease}.toggle-icon--open[data-v-06806249]{transform:rotate(180deg)}.toggle-label[data-v-06806249]{writing-mode:vertical-rl;font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.history-body[data-v-06806249]{width:280px;padding-left:12px}.endpoint-detail[data-v-7c521787]{flex:1;height:100%}.detail-inner[data-v-7c521787]{padding:24px;min-height:100%;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;margin:16px}.endpoint-header[data-v-7c521787]{margin-bottom:20px}.endpoint-title-row[data-v-7c521787]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.endpoint-path[data-v-7c521787]{font-family:var(--font-mono);font-size:15px;color:var(--color-text);word-break:break-all}.endpoint-summary[data-v-7c521787]{font-size:14px;font-weight:500;color:var(--color-text);margin-bottom:4px}.endpoint-description[data-v-7c521787]{font-size:13px;color:var(--color-text-muted);line-height:1.6;white-space:pre-wrap}.detail-tabs[data-v-7c521787]{margin-top:4px}.tab-empty[data-v-7c521787]{padding:32px 0;display:flex;justify-content:center}.media-type-selector[data-v-7c521787]{display:flex;align-items:center;gap:10px;padding:12px 0}.schema-section[data-v-7c521787]{padding-top:8px}.param-group[data-v-7c521787]{margin-bottom:16px;border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.param-group[data-v-7c521787]:last-child{margin-bottom:0}.param-group-header[data-v-7c521787]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.param-group-header--clickable[data-v-7c521787]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .12s}.param-group-header--clickable[data-v-7c521787]:hover{background:var(--color-bg-subtle-hover, var(--color-border))}.collapse-arrow[data-v-7c521787]{flex-shrink:0;color:var(--color-text-muted);transition:transform .2s}.collapse-arrow--collapsed[data-v-7c521787]{transform:rotate(-90deg)}.param-group-dot[data-v-7c521787]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.param-group-label[data-v-7c521787]{font-size:13px;font-weight:600;color:var(--color-text)}.param-group-count[data-v-7c521787]{font-size:11px;color:var(--color-text-muted);background:var(--color-bg);padding:0 6px;border-radius:8px;line-height:18px}.param-group[data-v-7c521787] .n-data-table{border-radius:0}.param-group[data-v-7c521787] .n-data-table .n-data-table-wrapper{border:none}.resp-media-tag[data-v-7c521787]{font-size:11px;font-family:var(--font-mono);color:#64748b;background:#64748b18;padding:1px 6px;border-radius:4px}.resp-desc-text[data-v-7c521787]{font-size:12px;color:var(--color-text-muted);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.resp-no-schema[data-v-7c521787]{font-size:12px;color:var(--color-text-muted);padding:12px 16px}.param-group .example-block[data-v-7c521787]{margin-top:0;border-left:none;border-right:none;border-bottom:none;border-radius:0}.example-block[data-v-7c521787]{margin-top:16px;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.example-header[data-v-7c521787]{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--color-bg-subtle);border-bottom:1px solid var(--color-border)}.example-title[data-v-7c521787]{font-size:12px;font-weight:500;color:var(--color-text-muted)}.example-status[data-v-7c521787]{font-family:var(--font-mono);font-size:11px;color:#10b981;background:#10b98118;padding:1px 5px;border-radius:3px;margin-left:6px}.example-code[data-v-7c521787]{padding:12px;margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.6;color:var(--color-text);background:var(--color-code-bg);overflow-x:auto;white-space:pre;max-height:400px}[data-v-7c521787] tr.row-depth-1 td{background-color:#6366f10f!important}[data-v-7c521787] tr.row-depth-2 td{background-color:#10b9810f!important}[data-v-7c521787] tr.row-depth-3 td{background-color:#f59e0b0f!important}[data-v-7c521787] tr.row-depth-4 td{background-color:#0ea5e90f!important}[data-v-7c521787] .n-data-table-td .n-ellipsis{max-width:calc(100% - var(--indent-offset, -1.2) * 20px - 24px)!important}.main-content[data-v-c1db5596]{flex:1;overflow-y:auto;background-color:var(--color-bg-subtle)}.state-center[data-v-c1db5596]{height:100%;display:flex;align-items:center;justify-content:center}.welcome-inner[data-v-c1db5596]{text-align:center}.welcome-title[data-v-c1db5596]{font-size:28px;font-weight:600;color:var(--color-text);margin-bottom:8px}.welcome-desc[data-v-c1db5596]{font-size:15px;color:var(--color-text-muted);margin-bottom:24px}.muted-hint[data-v-c1db5596]{font-size:13px;color:var(--color-text-muted)}.error-box[data-v-c1db5596]{text-align:center;max-width:480px}.drop-zone[data-v-a2ec0b82]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:200px;border:1.5px dashed var(--color-border);border-radius:8px;cursor:pointer;transition:border-color .15s,background-color .15s;position:relative;background-color:var(--color-bg-subtle)}.drop-zone[data-v-a2ec0b82]:hover,.drop-zone.dragging[data-v-a2ec0b82]{border-color:var(--color-primary);background-color:var(--color-primary-soft)}.drop-zone.dragging .drop-icon[data-v-a2ec0b82]{color:var(--color-primary)}.file-input[data-v-a2ec0b82]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.drop-icon[data-v-a2ec0b82]{color:var(--color-text-muted);transition:color .15s}.drop-zone:hover .drop-icon[data-v-a2ec0b82]{color:var(--color-primary)}.drop-text[data-v-a2ec0b82]{font-size:13px;color:var(--color-text);font-weight:500}.drop-hint[data-v-a2ec0b82]{font-size:12px;color:var(--color-text-muted)}.url-tab[data-v-a2ec0b82]{display:flex;flex-direction:column;gap:8px;padding:4px 0}.url-actions[data-v-a2ec0b82]{display:flex;justify-content:flex-end;padding-top:6px}.app-root[data-v-5f3a51f0]{display:flex;flex-direction:column;height:100vh;overflow:hidden;background-color:var(--color-bg);color:var(--color-text)}.app-body[data-v-5f3a51f0]{display:flex;flex:1;overflow:hidden}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;width:100%}body{font-family:var(--font-sans);font-size:13px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--font-sans: "Inter", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--color-primary: #3b82f6;--color-primary-soft: #eff6ff;--color-bg: #ffffff;--color-bg-subtle: #f8fafc;--color-border: #e2e8f0;--color-text: #0f172a;--color-text-muted: #64748b;--color-code-bg: #f1f5f9;--color-success: #10b981;--color-success-soft: #ecfdf5;--color-warning: #f59e0b;--color-warning-soft: #fffbeb;--color-danger: #ef4444;--color-danger-soft: #fef2f2;--color-get: #10b981;--color-post: #3b82f6;--color-put: #f59e0b;--color-patch: #8b5cf6;--color-delete: #ef4444;--color-head: #94a3b8;--color-options: #94a3b8;--sidebar-width: 440px;--header-height: 44px}[data-theme=dark]{--color-primary: #60a5fa;--color-primary-soft: #1e3a5f;--color-bg: #0f1117;--color-bg-subtle: #161b27;--color-border: #1e2433;--color-text: #f1f5f9;--color-text-muted: #64748b;--color-code-bg: #161b27;--color-success: #34d399;--color-success-soft: #022c22;--color-warning: #fbbf24;--color-warning-soft: #1c1400;--color-danger: #f87171;--color-danger-soft: #2d0a0a;--color-get: #34d399;--color-post: #60a5fa;--color-put: #fbbf24;--color-patch: #a78bfa;--color-delete: #f87171}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.font-mono{font-family:var(--font-mono)}.text-muted{color:var(--color-text-muted)}:root .n-popover{--n-color: #ffffff !important;--n-text-color: #0f172a !important;--n-border-radius: 6px !important;--n-box-shadow: 0 4px 16px rgba(0, 0, 0, .08) !important}[data-theme=dark] .n-popover{--n-color: #1e2433 !important;--n-text-color: #e2e8f0 !important;--n-border-radius: 6px !important;--n-box-shadow: 0 4px 16px rgba(0, 0, 0, .4) !important}.fade-enter-active,.fade-leave-active{transition:opacity .1s ease-out}.fade-enter-from,.fade-leave-to{opacity:0}
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@braydenyang/fdoc",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Embeddable OpenAPI 3.x documentation & debug UI",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"openapi",
|
|
8
|
+
"swagger",
|
|
9
|
+
"docs",
|
|
10
|
+
"vue"
|
|
11
|
+
],
|
|
12
|
+
"type": "module",
|
|
13
|
+
"files": [
|
|
14
|
+
"dist/lib"
|
|
15
|
+
],
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"highlight.js": "^11.10.0",
|
|
18
|
+
"naive-ui": "^2.40.3",
|
|
19
|
+
"pinia": "^2.2.6",
|
|
20
|
+
"vue": "^3.5.13",
|
|
21
|
+
"vue-router": "^4.5.0"
|
|
22
|
+
},
|
|
23
|
+
"devDependencies": {
|
|
24
|
+
"@types/node": "^25.5.0",
|
|
25
|
+
"@vitejs/plugin-vue": "^5.2.1",
|
|
26
|
+
"eslint": "^9.17.0",
|
|
27
|
+
"eslint-config-prettier": "^9.1.0",
|
|
28
|
+
"eslint-plugin-vue": "^9.32.0",
|
|
29
|
+
"prettier": "^3.4.2",
|
|
30
|
+
"typescript": "^5.7.2",
|
|
31
|
+
"typescript-eslint": "^8.19.1",
|
|
32
|
+
"unplugin-auto-import": "^0.18.6",
|
|
33
|
+
"unplugin-vue-components": "^0.27.5",
|
|
34
|
+
"vite": "^5.4.11",
|
|
35
|
+
"vite-plugin-html": "^3.2.2",
|
|
36
|
+
"vite-plugin-singlefile": "^2.3.0",
|
|
37
|
+
"vue-tsc": "^2.1.10"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"dev": "vite",
|
|
41
|
+
"build": "vue-tsc --noEmit && vite build",
|
|
42
|
+
"build:cdn": "vue-tsc --noEmit && vite build --mode cdn",
|
|
43
|
+
"build:lib": "vue-tsc --noEmit && vite build --mode lib",
|
|
44
|
+
"preview": "vite preview",
|
|
45
|
+
"preview:cdn": "open dist/index.html",
|
|
46
|
+
"format": "prettier --write \"src/**/*.{ts,vue,css,json}\"",
|
|
47
|
+
"lint": "eslint src --ext .ts,.vue",
|
|
48
|
+
"lint:fix": "eslint src --ext .ts,.vue --fix",
|
|
49
|
+
"type-check": "vue-tsc --noEmit",
|
|
50
|
+
"release": "pnpm publish --access public --no-git-checks"
|
|
51
|
+
}
|
|
52
|
+
}
|