@scalar/api-client 3.21.1 → 3.21.2
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/CHANGELOG.md +46 -0
- package/dist/components/SectionFilter.vue.d.ts +0 -2
- package/dist/components/SectionFilter.vue.d.ts.map +1 -1
- package/dist/components/SectionFilter.vue.js +1 -1
- package/dist/components/SectionFilter.vue.js.map +1 -1
- package/dist/components/SectionFilter.vue.script.js +2 -8
- package/dist/components/SectionFilter.vue.script.js.map +1 -1
- package/dist/components/SectionFilterButton.vue.d.ts +0 -1
- package/dist/components/SectionFilterButton.vue.d.ts.map +1 -1
- package/dist/components/SectionFilterButton.vue.js.map +1 -1
- package/dist/components/SectionFilterButton.vue.script.js +2 -10
- package/dist/components/SectionFilterButton.vue.script.js.map +1 -1
- package/dist/style.css +146 -81
- package/dist/v2/blocks/operation-block/components/Header.vue.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.js +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.js.map +1 -1
- package/dist/v2/blocks/operation-block/components/Header.vue.script.js +2 -0
- package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.js +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +17 -6
- package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js +2 -0
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js.map +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.js +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.js.map +1 -1
- package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +0 -2
- package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +23 -43
- package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts +7 -0
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js +6 -0
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +5 -5
- package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js +11 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js.map +1 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.d.ts.map +1 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.js +1 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.js.map +1 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.script.js +13 -1
- package/dist/v2/components/code-input/CodeInputLite.vue.script.js.map +1 -1
- package/dist/v2/components/data-table/DataTableInput.vue.d.ts.map +1 -1
- package/dist/v2/components/data-table/DataTableInput.vue.js +1 -1
- package/dist/v2/components/data-table/DataTableInput.vue.js.map +1 -1
- package/dist/v2/components/data-table/DataTableInput.vue.script.js +7 -2
- package/dist/v2/components/data-table/DataTableInput.vue.script.js.map +1 -1
- package/dist/v2/components/layout/CollapsibleSection.vue.d.ts +20 -0
- package/dist/v2/components/layout/CollapsibleSection.vue.d.ts.map +1 -1
- package/dist/v2/components/layout/CollapsibleSection.vue.js.map +1 -1
- package/dist/v2/components/layout/CollapsibleSection.vue.script.js +36 -16
- package/dist/v2/components/layout/CollapsibleSection.vue.script.js.map +1 -1
- package/dist/v2/components/layout/collapsible-section-heading-level.d.ts +13 -0
- package/dist/v2/components/layout/collapsible-section-heading-level.d.ts.map +1 -0
- package/dist/v2/components/layout/collapsible-section-heading-level.js +14 -0
- package/dist/v2/components/layout/collapsible-section-heading-level.js.map +1 -0
- package/dist/v2/components/layout/index.d.ts +1 -0
- package/dist/v2/components/layout/index.d.ts.map +1 -1
- package/dist/v2/components/layout/index.js +2 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.d.ts.map +1 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.js +1 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.js.map +1 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.script.js +10 -1
- package/dist/v2/components/modals/ModalClientContainer.vue.script.js.map +1 -1
- package/dist/v2/components/sidebar/SidebarToggle.vue.d.ts +15 -2
- package/dist/v2/components/sidebar/SidebarToggle.vue.d.ts.map +1 -1
- package/dist/v2/components/sidebar/SidebarToggle.vue.js +3 -1
- package/dist/v2/components/sidebar/SidebarToggle.vue.js.map +1 -1
- package/dist/v2/components/sidebar/SidebarToggle.vue.script.js +5 -5
- package/dist/v2/components/sidebar/SidebarToggle.vue.script.js.map +1 -1
- package/dist/v2/constants.js +1 -1
- package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
- package/dist/v2/features/modal/Modal.vue.js.map +1 -1
- package/dist/v2/features/modal/Modal.vue.script.js +2 -1
- package/dist/v2/features/modal/Modal.vue.script.js.map +1 -1
- package/dist/vue-styles.css +114 -73
- package/package.json +12 -12
package/dist/style.css
CHANGED
|
@@ -215,7 +215,7 @@
|
|
|
215
215
|
--scalar-background-3: #e7e7e7;
|
|
216
216
|
--scalar-background-accent: #8ab4f81f;
|
|
217
217
|
--scalar-color-1: #1b1b1b;
|
|
218
|
-
--scalar-color-2: #
|
|
218
|
+
--scalar-color-2: #707070;
|
|
219
219
|
--scalar-color-3: #8e8e8e;
|
|
220
220
|
--scalar-color-accent: #09f;
|
|
221
221
|
--scalar-border-color: #dfdfdf;
|
|
@@ -263,7 +263,7 @@
|
|
|
263
263
|
--scalar-color-green: #069061;
|
|
264
264
|
--scalar-color-red: #ef0006;
|
|
265
265
|
--scalar-color-yellow: #edbe20;
|
|
266
|
-
--scalar-color-blue: #
|
|
266
|
+
--scalar-color-blue: #0072bd;
|
|
267
267
|
--scalar-color-orange: #ff5800;
|
|
268
268
|
--scalar-color-purple: #5203d1;
|
|
269
269
|
--scalar-color-query: #007b80;
|
|
@@ -381,7 +381,7 @@
|
|
|
381
381
|
--scalar-color-green: color(display-p3 .023529 .564706 .380392);
|
|
382
382
|
--scalar-color-red: color(display-p3 .937255 0 .023529);
|
|
383
383
|
--scalar-color-yellow: color(display-p3 .929412 .745098 .12549);
|
|
384
|
-
--scalar-color-blue: color(display-p3 0 .
|
|
384
|
+
--scalar-color-blue: color(display-p3 0 .447059 .741176);
|
|
385
385
|
--scalar-color-orange: color(display-p3 1 .4 .02);
|
|
386
386
|
--scalar-color-purple: color(display-p3 .321569 .011765 .819608);
|
|
387
387
|
}
|
|
@@ -415,9 +415,19 @@
|
|
|
415
415
|
:where(.scalar-app) {
|
|
416
416
|
font-family: var(--scalar-font);
|
|
417
417
|
color: var(--scalar-color-1);
|
|
418
|
+
--scalar-focus-color: var(--scalar-color-accent);
|
|
419
|
+
line-height: 1.15;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
423
|
+
:where(.scalar-app) {
|
|
424
|
+
--scalar-focus-color: color-mix(in srgb, var(--scalar-color-accent), var(--scalar-color-1) 20%);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
:where(.scalar-app) {
|
|
418
429
|
-webkit-text-size-adjust: 100%;
|
|
419
430
|
tab-size: 4;
|
|
420
|
-
line-height: 1.15;
|
|
421
431
|
}
|
|
422
432
|
|
|
423
433
|
:where(.scalar-app) *, :where(.scalar-app) :before, :where(.scalar-app) :after {
|
|
@@ -508,6 +518,10 @@
|
|
|
508
518
|
outline-offset: -1px;
|
|
509
519
|
}
|
|
510
520
|
|
|
521
|
+
:where(.scalar-app) a:focus-visible, :where(.scalar-app) button:focus-visible, :where(.scalar-app) [role="button"]:focus-visible {
|
|
522
|
+
outline-color: var(--scalar-focus-color);
|
|
523
|
+
}
|
|
524
|
+
|
|
511
525
|
:where(.scalar-app) button, :where(.scalar-app) [role="button"] {
|
|
512
526
|
cursor: pointer;
|
|
513
527
|
}
|
|
@@ -5371,15 +5385,25 @@
|
|
|
5371
5385
|
}
|
|
5372
5386
|
}
|
|
5373
5387
|
|
|
5388
|
+
@media not all and (min-width: 1000px) {
|
|
5389
|
+
.scalar-app .max-lg\:fixed {
|
|
5390
|
+
position: fixed;
|
|
5391
|
+
}
|
|
5392
|
+
|
|
5393
|
+
.scalar-app .max-lg\:top-2 {
|
|
5394
|
+
top: 8px;
|
|
5395
|
+
}
|
|
5396
|
+
|
|
5397
|
+
.scalar-app .max-lg\:left-2 {
|
|
5398
|
+
left: 8px;
|
|
5399
|
+
}
|
|
5400
|
+
}
|
|
5401
|
+
|
|
5374
5402
|
@media not all and (min-width: 800px) {
|
|
5375
5403
|
.scalar-app .max-md\:absolute\! {
|
|
5376
5404
|
position: absolute !important;
|
|
5377
5405
|
}
|
|
5378
5406
|
|
|
5379
|
-
.scalar-app .max-md\:top-4 {
|
|
5380
|
-
top: 16px;
|
|
5381
|
-
}
|
|
5382
|
-
|
|
5383
5407
|
.scalar-app .max-md\:z-5 {
|
|
5384
5408
|
z-index: 5;
|
|
5385
5409
|
}
|
|
@@ -6115,21 +6139,21 @@ to {
|
|
|
6115
6139
|
);
|
|
6116
6140
|
}
|
|
6117
6141
|
|
|
6118
|
-
.fade-request-section-content[data-v-
|
|
6142
|
+
.fade-request-section-content[data-v-50fd0a3c] {
|
|
6119
6143
|
background: linear-gradient(
|
|
6120
6144
|
to left,
|
|
6121
6145
|
var(--scalar-background-1) 64%,
|
|
6122
6146
|
transparent
|
|
6123
6147
|
);
|
|
6124
6148
|
}
|
|
6125
|
-
.fade-request-section-content[data-v-
|
|
6149
|
+
.fade-request-section-content[data-v-50fd0a3c]:dir(rtl) {
|
|
6126
6150
|
background: linear-gradient(
|
|
6127
6151
|
to right,
|
|
6128
6152
|
var(--scalar-background-1) 64%,
|
|
6129
6153
|
transparent
|
|
6130
6154
|
);
|
|
6131
6155
|
}
|
|
6132
|
-
.filter-hover[data-v-
|
|
6156
|
+
.filter-hover[data-v-50fd0a3c] {
|
|
6133
6157
|
height: 100%;
|
|
6134
6158
|
padding-inline-end: 39px;
|
|
6135
6159
|
padding-inline-start: 24px;
|
|
@@ -6138,12 +6162,12 @@ to {
|
|
|
6138
6162
|
transition: width 0s ease-in-out 0.2s;
|
|
6139
6163
|
overflow: hidden;
|
|
6140
6164
|
}
|
|
6141
|
-
.filter-hover[data-v-
|
|
6142
|
-
.filter-hover[data-v-
|
|
6165
|
+
.filter-hover[data-v-50fd0a3c]:hover,
|
|
6166
|
+
.filter-hover[data-v-50fd0a3c]:has(:focus-visible) {
|
|
6143
6167
|
width: 100%;
|
|
6144
6168
|
z-index: 10;
|
|
6145
6169
|
}
|
|
6146
|
-
.filter-hover[data-v-
|
|
6170
|
+
.filter-hover[data-v-50fd0a3c]:before {
|
|
6147
6171
|
content: '';
|
|
6148
6172
|
position: absolute;
|
|
6149
6173
|
top: 0;
|
|
@@ -6155,59 +6179,59 @@ to {
|
|
|
6155
6179
|
transition: all 0.3s ease-in-out;
|
|
6156
6180
|
pointer-events: none;
|
|
6157
6181
|
}
|
|
6158
|
-
.filter-hover-item[data-v-
|
|
6182
|
+
.filter-hover-item[data-v-50fd0a3c] {
|
|
6159
6183
|
opacity: 0;
|
|
6160
6184
|
}
|
|
6161
|
-
.filter-hover-item[data-v-
|
|
6185
|
+
.filter-hover-item[data-v-50fd0a3c]:not(:last-of-type) {
|
|
6162
6186
|
transform: translate3d(0, 3px, 0);
|
|
6163
6187
|
}
|
|
6164
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
6188
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c] {
|
|
6165
6189
|
transition:
|
|
6166
6190
|
opacity 0.2s ease-in-out,
|
|
6167
6191
|
transform 0.2s ease-in-out;
|
|
6168
6192
|
}
|
|
6169
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
6193
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(1) {
|
|
6170
6194
|
transition-delay: 0.05s;
|
|
6171
6195
|
}
|
|
6172
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
6196
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(2) {
|
|
6173
6197
|
transition-delay: 0.1s;
|
|
6174
6198
|
}
|
|
6175
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
6199
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(3) {
|
|
6176
6200
|
transition-delay: 0.15s;
|
|
6177
6201
|
}
|
|
6178
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
6202
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(4) {
|
|
6179
6203
|
transition-delay: 0.2s;
|
|
6180
6204
|
}
|
|
6181
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
6205
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(5) {
|
|
6182
6206
|
transition-delay: 0.25s;
|
|
6183
6207
|
}
|
|
6184
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
6208
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(6) {
|
|
6185
6209
|
transition-delay: 0.3s;
|
|
6186
6210
|
}
|
|
6187
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
6211
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c]:nth-last-of-type(7) {
|
|
6188
6212
|
transition-delay: 0.35s;
|
|
6189
6213
|
}
|
|
6190
|
-
.filter-hover:hover .filter-hover-item[data-v-
|
|
6191
|
-
.filter-hover:has(:focus-visible) .filter-hover-item[data-v-
|
|
6214
|
+
.filter-hover:hover .filter-hover-item[data-v-50fd0a3c],
|
|
6215
|
+
.filter-hover:has(:focus-visible) .filter-hover-item[data-v-50fd0a3c] {
|
|
6192
6216
|
opacity: 1;
|
|
6193
6217
|
transform: translate3d(0, 0, 0);
|
|
6194
6218
|
}
|
|
6195
|
-
.filter-hover[data-v-
|
|
6196
|
-
.filter-hover[data-v-
|
|
6219
|
+
.filter-hover[data-v-50fd0a3c]:hover:before,
|
|
6220
|
+
.filter-hover[data-v-50fd0a3c]:has(:focus-visible):before {
|
|
6197
6221
|
opacity: 0.9;
|
|
6198
6222
|
backdrop-filter: blur(10px);
|
|
6199
6223
|
}
|
|
6200
|
-
.filter-button[data-v-
|
|
6224
|
+
.filter-button[data-v-50fd0a3c] {
|
|
6201
6225
|
top: 50%;
|
|
6202
6226
|
transform: translateY(-50%);
|
|
6203
6227
|
}
|
|
6204
|
-
.context-bar-group:hover .context-bar-group-hover\:text-c-1[data-v-
|
|
6205
|
-
.context-bar-group:has(:focus-visible) .context-bar-group-hover\:text-c-1[data-v-
|
|
6228
|
+
.context-bar-group:hover .context-bar-group-hover\:text-c-1[data-v-50fd0a3c],
|
|
6229
|
+
.context-bar-group:has(:focus-visible) .context-bar-group-hover\:text-c-1[data-v-50fd0a3c] {
|
|
6206
6230
|
--tw-text-opacity: 1;
|
|
6207
6231
|
color: rgb(var(--scalar-color-1) / var(--tw-text-opacity));
|
|
6208
6232
|
}
|
|
6209
|
-
.context-bar-group:hover .context-bar-group-hover\:hidden[data-v-
|
|
6210
|
-
.context-bar-group:has(:focus-visible) .context-bar-group-hover\:hidden[data-v-
|
|
6233
|
+
.context-bar-group:hover .context-bar-group-hover\:hidden[data-v-50fd0a3c],
|
|
6234
|
+
.context-bar-group:has(:focus-visible) .context-bar-group-hover\:hidden[data-v-50fd0a3c] {
|
|
6211
6235
|
display: none;
|
|
6212
6236
|
}
|
|
6213
6237
|
|
|
@@ -6383,13 +6407,13 @@ to {
|
|
|
6383
6407
|
color: var(--scalar-color-1);
|
|
6384
6408
|
}
|
|
6385
6409
|
|
|
6386
|
-
.code-input-lite[data-v-
|
|
6410
|
+
.code-input-lite[data-v-360ebc3c] {
|
|
6387
6411
|
/* Flex so the editor centres vertically in whatever height the cell gives us.
|
|
6388
6412
|
Font properties inherit so we adopt the surrounding typography. */
|
|
6389
6413
|
display: flex;
|
|
6390
6414
|
align-items: center;
|
|
6391
6415
|
}
|
|
6392
|
-
.code-input-lite__editor[data-v-
|
|
6416
|
+
.code-input-lite__editor[data-v-360ebc3c] {
|
|
6393
6417
|
/* Everything font-related inherits from the surrounding context. */
|
|
6394
6418
|
font: inherit;
|
|
6395
6419
|
letter-spacing: inherit;
|
|
@@ -6411,7 +6435,7 @@ to {
|
|
|
6411
6435
|
/* Positioning context for the absolutely positioned placeholder. */
|
|
6412
6436
|
position: relative;
|
|
6413
6437
|
}
|
|
6414
|
-
.code-input-lite__editor[data-v-
|
|
6438
|
+
.code-input-lite__editor[data-v-360ebc3c]::-webkit-scrollbar {
|
|
6415
6439
|
display: none;
|
|
6416
6440
|
}
|
|
6417
6441
|
|
|
@@ -6419,7 +6443,7 @@ to {
|
|
|
6419
6443
|
contenteditable; otherwise the caret would land after it on focus.
|
|
6420
6444
|
`pointer-events: none` lets clicks fall through to focus the editor.
|
|
6421
6445
|
Hidden on focus so it never renders on top of the text caret. */
|
|
6422
|
-
.code-input-lite--empty .code-input-lite__editor[data-v-
|
|
6446
|
+
.code-input-lite--empty .code-input-lite__editor[data-v-360ebc3c]:not(:focus)::before {
|
|
6423
6447
|
content: attr(data-placeholder);
|
|
6424
6448
|
color: var(--scalar-color-3);
|
|
6425
6449
|
pointer-events: none;
|
|
@@ -6430,7 +6454,7 @@ to {
|
|
|
6430
6454
|
display: flex;
|
|
6431
6455
|
align-items: center;
|
|
6432
6456
|
}
|
|
6433
|
-
.code-input-lite--error .code-input-lite__editor[data-v-
|
|
6457
|
+
.code-input-lite--error .code-input-lite__editor[data-v-360ebc3c] {
|
|
6434
6458
|
outline: 1px solid var(--scalar-color-red);
|
|
6435
6459
|
}
|
|
6436
6460
|
|
|
@@ -6491,24 +6515,24 @@ to {
|
|
|
6491
6515
|
font-size: var(--scalar-small);
|
|
6492
6516
|
}
|
|
6493
6517
|
|
|
6494
|
-
[data-v-
|
|
6518
|
+
[data-v-8e7de9be] .code-input-lite__editor {
|
|
6495
6519
|
background-color: transparent;
|
|
6496
6520
|
font-family: var(--scalar-font);
|
|
6497
6521
|
font-size: var(--scalar-small);
|
|
6498
6522
|
padding: 5px 8px;
|
|
6499
6523
|
}
|
|
6500
|
-
[data-v-
|
|
6524
|
+
[data-v-8e7de9be] .scalar-pill:not(:last-of-type) {
|
|
6501
6525
|
margin-right: 0.15em;
|
|
6502
6526
|
}
|
|
6503
|
-
[data-v-
|
|
6527
|
+
[data-v-8e7de9be] .scalar-pill:not(:first-of-type) {
|
|
6504
6528
|
margin-left: 0.5px;
|
|
6505
6529
|
}
|
|
6506
6530
|
/* Tailwind placeholder is busted */
|
|
6507
|
-
input[data-v-
|
|
6531
|
+
input[data-v-8e7de9be]::placeholder {
|
|
6508
6532
|
color: var(--scalar-color-3);
|
|
6509
6533
|
}
|
|
6510
6534
|
/* we want our inputs to look like a password input but not be one */
|
|
6511
|
-
.scalar-password-input[data-v-
|
|
6535
|
+
.scalar-password-input[data-v-8e7de9be] {
|
|
6512
6536
|
text-security: disc;
|
|
6513
6537
|
-webkit-text-security: disc;
|
|
6514
6538
|
-moz-text-security: disc;
|
|
@@ -6536,20 +6560,20 @@ input[data-v-135d11b9]::placeholder {
|
|
|
6536
6560
|
scrollbar-width: none;
|
|
6537
6561
|
}
|
|
6538
6562
|
|
|
6539
|
-
.request-section-content[data-v-
|
|
6563
|
+
.request-section-content[data-v-5bf07c90] {
|
|
6540
6564
|
--scalar-border-width: 0.5px;
|
|
6541
6565
|
}
|
|
6542
|
-
.request-section-content-filter[data-v-
|
|
6566
|
+
.request-section-content-filter[data-v-5bf07c90] {
|
|
6543
6567
|
box-shadow: 0 -10px 0 10px var(--scalar-background-1);
|
|
6544
6568
|
}
|
|
6545
|
-
.request-item:focus-within .request-meta-buttons[data-v-
|
|
6569
|
+
.request-item:focus-within .request-meta-buttons[data-v-5bf07c90] {
|
|
6546
6570
|
opacity: 1;
|
|
6547
6571
|
}
|
|
6548
|
-
.group-hover-input[data-v-
|
|
6572
|
+
.group-hover-input[data-v-5bf07c90] {
|
|
6549
6573
|
border-width: var(--scalar-border-width);
|
|
6550
6574
|
border-color: transparent;
|
|
6551
6575
|
}
|
|
6552
|
-
.group:hover .group-hover-input[data-v-
|
|
6576
|
+
.group:hover .group-hover-input[data-v-5bf07c90] {
|
|
6553
6577
|
background: color-mix(
|
|
6554
6578
|
in srgb,
|
|
6555
6579
|
var(--scalar-background-1),
|
|
@@ -6557,7 +6581,7 @@ input[data-v-135d11b9]::placeholder {
|
|
|
6557
6581
|
);
|
|
6558
6582
|
border-color: var(--scalar-border-color);
|
|
6559
6583
|
}
|
|
6560
|
-
.group-hover-input[data-v-
|
|
6584
|
+
.group-hover-input[data-v-5bf07c90]:focus {
|
|
6561
6585
|
background: transparent !important;
|
|
6562
6586
|
border-color: var(--scalar-border-color) !important;
|
|
6563
6587
|
}
|
|
@@ -6637,11 +6661,11 @@ input[data-v-135d11b9]::placeholder {
|
|
|
6637
6661
|
opacity: 0;
|
|
6638
6662
|
}
|
|
6639
6663
|
|
|
6640
|
-
.animate-response-heading .response-heading[data-v-
|
|
6641
|
-
animation: push-response-
|
|
6664
|
+
.animate-response-heading .response-heading[data-v-29000e66] {
|
|
6665
|
+
animation: push-response-29000e66 0.2s ease-in-out forwards;
|
|
6642
6666
|
opacity: 1;
|
|
6643
6667
|
}
|
|
6644
|
-
@keyframes push-response-
|
|
6668
|
+
@keyframes push-response-29000e66 {
|
|
6645
6669
|
from {
|
|
6646
6670
|
opacity: 1;
|
|
6647
6671
|
transform: translateY(0);
|
|
@@ -6651,11 +6675,11 @@ to {
|
|
|
6651
6675
|
transform: translateY(-4px);
|
|
6652
6676
|
}
|
|
6653
6677
|
}
|
|
6654
|
-
.animate-response-heading .animate-response-children[data-v-
|
|
6655
|
-
animation: response-spans-
|
|
6678
|
+
.animate-response-heading .animate-response-children[data-v-29000e66] {
|
|
6679
|
+
animation: response-spans-29000e66 0.2s ease-in-out forwards 0.05s;
|
|
6656
6680
|
opacity: 0;
|
|
6657
6681
|
}
|
|
6658
|
-
@keyframes response-spans-
|
|
6682
|
+
@keyframes response-spans-29000e66 {
|
|
6659
6683
|
from {
|
|
6660
6684
|
opacity: 0;
|
|
6661
6685
|
transform: translateY(4px);
|
|
@@ -6683,21 +6707,21 @@ to {
|
|
|
6683
6707
|
background: var(--scalar-background-2);
|
|
6684
6708
|
}
|
|
6685
6709
|
|
|
6686
|
-
[data-v-
|
|
6710
|
+
[data-v-6edfa5a3] .cm-editor {
|
|
6687
6711
|
height: 100%;
|
|
6688
6712
|
outline: none;
|
|
6689
6713
|
width: 100%;
|
|
6690
6714
|
}
|
|
6691
|
-
[data-v-
|
|
6715
|
+
[data-v-6edfa5a3] .cm-line {
|
|
6692
6716
|
padding: 0;
|
|
6693
6717
|
}
|
|
6694
|
-
[data-v-
|
|
6718
|
+
[data-v-6edfa5a3] .cm-content {
|
|
6695
6719
|
padding: 0;
|
|
6696
6720
|
display: flex;
|
|
6697
6721
|
align-items: center;
|
|
6698
6722
|
font-size: var(--scalar-small);
|
|
6699
6723
|
}
|
|
6700
|
-
.scroll-timeline-x[data-v-
|
|
6724
|
+
.scroll-timeline-x[data-v-6edfa5a3] {
|
|
6701
6725
|
-ms-overflow-style: none;
|
|
6702
6726
|
/* Fade the URL at the viewport edges. Mask lives on the scrollport (this
|
|
6703
6727
|
element) rather than on `.cm-scroller`, whose width follows the URL's
|
|
@@ -6710,31 +6734,31 @@ to {
|
|
|
6710
6734
|
transparent 100%
|
|
6711
6735
|
);
|
|
6712
6736
|
}
|
|
6713
|
-
.scroll-timeline-x-hidden[data-v-
|
|
6737
|
+
.scroll-timeline-x-hidden[data-v-6edfa5a3] {
|
|
6714
6738
|
overflow-x: auto;
|
|
6715
6739
|
}
|
|
6716
|
-
.scroll-timeline-x-hidden[data-v-
|
|
6740
|
+
.scroll-timeline-x-hidden[data-v-6edfa5a3] .cm-scroller {
|
|
6717
6741
|
scrollbar-width: none;
|
|
6718
6742
|
-ms-overflow-style: none;
|
|
6719
6743
|
padding-right: 20px;
|
|
6720
6744
|
overflow: auto;
|
|
6721
6745
|
}
|
|
6722
|
-
.scroll-timeline-x-hidden[data-v-
|
|
6746
|
+
.scroll-timeline-x-hidden[data-v-6edfa5a3]::-webkit-scrollbar {
|
|
6723
6747
|
width: 0;
|
|
6724
6748
|
height: 0;
|
|
6725
6749
|
display: none;
|
|
6726
6750
|
}
|
|
6727
|
-
.scroll-timeline-x-hidden[data-v-
|
|
6751
|
+
.scroll-timeline-x-hidden[data-v-6edfa5a3] .cm-scroller::-webkit-scrollbar {
|
|
6728
6752
|
width: 0;
|
|
6729
6753
|
height: 0;
|
|
6730
6754
|
display: none;
|
|
6731
6755
|
}
|
|
6732
|
-
.scroll-timeline-x-address[data-v-
|
|
6756
|
+
.scroll-timeline-x-address[data-v-6edfa5a3] {
|
|
6733
6757
|
line-height: 27px;
|
|
6734
6758
|
scrollbar-width: none; /* Firefox */
|
|
6735
6759
|
}
|
|
6736
6760
|
/* make clickable are to left of send button */
|
|
6737
|
-
.scroll-timeline-x-address[data-v-
|
|
6761
|
+
.scroll-timeline-x-address[data-v-6edfa5a3]:after {
|
|
6738
6762
|
content: '';
|
|
6739
6763
|
position: absolute;
|
|
6740
6764
|
height: 100%;
|
|
@@ -6742,7 +6766,7 @@ to {
|
|
|
6742
6766
|
right: 0;
|
|
6743
6767
|
cursor: text;
|
|
6744
6768
|
}
|
|
6745
|
-
.address-bar-bg-states[data-v-
|
|
6769
|
+
.address-bar-bg-states[data-v-6edfa5a3] {
|
|
6746
6770
|
--scalar-address-bar-bg: color-mix(
|
|
6747
6771
|
in srgb,
|
|
6748
6772
|
var(--scalar-background-1),
|
|
@@ -6750,22 +6774,22 @@ to {
|
|
|
6750
6774
|
);
|
|
6751
6775
|
background: var(--scalar-address-bar-bg);
|
|
6752
6776
|
}
|
|
6753
|
-
.address-bar-bg-states[data-v-
|
|
6777
|
+
.address-bar-bg-states[data-v-6edfa5a3]:has(.cm-focused) {
|
|
6754
6778
|
--scalar-address-bar-bg: var(--scalar-background-1);
|
|
6755
6779
|
border-color: var(--scalar-border-color);
|
|
6756
6780
|
outline-width: 1px;
|
|
6757
6781
|
outline-style: solid;
|
|
6758
6782
|
}
|
|
6759
|
-
.address-bar-bg-states:has(.cm-focused) .fade-left[data-v-
|
|
6760
|
-
.address-bar-bg-states:has(.cm-focused) .fade-right[data-v-
|
|
6783
|
+
.address-bar-bg-states:has(.cm-focused) .fade-left[data-v-6edfa5a3],
|
|
6784
|
+
.address-bar-bg-states:has(.cm-focused) .fade-right[data-v-6edfa5a3] {
|
|
6761
6785
|
--scalar-address-bar-bg: var(--scalar-background-1);
|
|
6762
6786
|
}
|
|
6763
6787
|
|
|
6764
|
-
.app-exit-button[data-v-
|
|
6788
|
+
.app-exit-button[data-v-6e1ebfa0] {
|
|
6765
6789
|
color: white;
|
|
6766
6790
|
background: rgba(0, 0, 0, 0.1);
|
|
6767
6791
|
}
|
|
6768
|
-
.app-exit-button[data-v-
|
|
6792
|
+
.app-exit-button[data-v-6e1ebfa0]:hover {
|
|
6769
6793
|
background: rgba(255, 255, 255, 0.1);
|
|
6770
6794
|
}
|
|
6771
6795
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
@@ -6802,6 +6826,47 @@ to {
|
|
|
6802
6826
|
bottom: 0;
|
|
6803
6827
|
}
|
|
6804
6828
|
|
|
6829
|
+
/**
|
|
6830
|
+
* The wide state is the default variant written out in plain CSS. Spelling it
|
|
6831
|
+
* out here rather than reusing the utility classes keeps the narrow state below
|
|
6832
|
+
* from having to outrank a utility of the same specificity.
|
|
6833
|
+
*/
|
|
6834
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a] {
|
|
6835
|
+
color: var(--scalar-color-3);
|
|
6836
|
+
border-radius: var(--scalar-radius-md);
|
|
6837
|
+
padding: 8px;
|
|
6838
|
+
}
|
|
6839
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a]:hover {
|
|
6840
|
+
background: var(--scalar-background-2);
|
|
6841
|
+
}
|
|
6842
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a]:active {
|
|
6843
|
+
color: var(--scalar-color-1);
|
|
6844
|
+
}
|
|
6845
|
+
|
|
6846
|
+
/**
|
|
6847
|
+
* Below the `lg` breakpoint (1000px) the toggle moves onto the dimmed backdrop
|
|
6848
|
+
* and matches the close button in the opposite corner: white on a translucent
|
|
6849
|
+
* fill, in a 36px circle. The padding is literal rather than a utility class so
|
|
6850
|
+
* that circle matches that button even when this component is consumed from a
|
|
6851
|
+
* build that generates its own utilities.
|
|
6852
|
+
*
|
|
6853
|
+
* The breakpoint is where the address bar stops being able to centre itself.
|
|
6854
|
+
* The bar caps at 768px, so once the panel is narrower than roughly 870px the
|
|
6855
|
+
* bar's left edge slides under a toggle sitting inside the panel and clips the
|
|
6856
|
+
* method chip. `lg` clears that crossover with room to spare.
|
|
6857
|
+
*/
|
|
6858
|
+
@media (width < 1000px) {
|
|
6859
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a] {
|
|
6860
|
+
color: white;
|
|
6861
|
+
background: rgba(0, 0, 0, 0.1);
|
|
6862
|
+
border-radius: var(--scalar-radius-full);
|
|
6863
|
+
padding: 10px;
|
|
6864
|
+
}
|
|
6865
|
+
.scalar-sidebar-toggle--overlay[data-v-4a35414a]:hover {
|
|
6866
|
+
background: rgba(255, 255, 255, 0.1);
|
|
6867
|
+
}
|
|
6868
|
+
}
|
|
6869
|
+
|
|
6805
6870
|
[data-v-4b7f675d] .code-input-lite__editor {
|
|
6806
6871
|
background-color: transparent;
|
|
6807
6872
|
font-family: var(--scalar-font);
|
|
@@ -6815,7 +6880,7 @@ to {
|
|
|
6815
6880
|
margin-left: 0.5px;
|
|
6816
6881
|
}
|
|
6817
6882
|
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
6818
|
-
.scalar .scalar-app-layout[data-v-
|
|
6883
|
+
.scalar .scalar-app-layout[data-v-44c68ca5] {
|
|
6819
6884
|
background: var(--scalar-background-1);
|
|
6820
6885
|
border: var(--scalar-border-width) solid var(--scalar-border-color);
|
|
6821
6886
|
border-radius: 8px;
|
|
@@ -6827,12 +6892,12 @@ to {
|
|
|
6827
6892
|
overflow: hidden;
|
|
6828
6893
|
}
|
|
6829
6894
|
@media (max-width: 720px) and (max-height: 480px) {
|
|
6830
|
-
.scalar .scalar-app-layout[data-v-
|
|
6895
|
+
.scalar .scalar-app-layout[data-v-44c68ca5] {
|
|
6831
6896
|
height: 100%;
|
|
6832
6897
|
max-height: 90svh;
|
|
6833
6898
|
}
|
|
6834
6899
|
}
|
|
6835
|
-
.scalar .scalar-app-exit[data-v-
|
|
6900
|
+
.scalar .scalar-app-exit[data-v-44c68ca5] {
|
|
6836
6901
|
cursor: pointer;
|
|
6837
6902
|
z-index: -1;
|
|
6838
6903
|
background: #00000038;
|
|
@@ -6842,10 +6907,10 @@ to {
|
|
|
6842
6907
|
top: 0;
|
|
6843
6908
|
left: 0;
|
|
6844
6909
|
}
|
|
6845
|
-
.dark-mode .scalar .scalar-app-exit[data-v-
|
|
6910
|
+
.dark-mode .scalar .scalar-app-exit[data-v-44c68ca5] {
|
|
6846
6911
|
background: #00000073;
|
|
6847
6912
|
}
|
|
6848
|
-
.scalar .scalar-app-exit[data-v-
|
|
6913
|
+
.scalar .scalar-app-exit[data-v-44c68ca5]:before {
|
|
6849
6914
|
text-align: center;
|
|
6850
6915
|
color: #fff;
|
|
6851
6916
|
opacity: .6;
|
|
@@ -6857,10 +6922,10 @@ to {
|
|
|
6857
6922
|
top: 0;
|
|
6858
6923
|
right: 12px;
|
|
6859
6924
|
}
|
|
6860
|
-
.scalar .scalar-app-exit[data-v-
|
|
6925
|
+
.scalar .scalar-app-exit[data-v-44c68ca5]:hover:before {
|
|
6861
6926
|
opacity: 1;
|
|
6862
6927
|
}
|
|
6863
|
-
.scalar-container[data-v-
|
|
6928
|
+
.scalar-container[data-v-44c68ca5] {
|
|
6864
6929
|
visibility: hidden;
|
|
6865
6930
|
opacity: 0;
|
|
6866
6931
|
pointer-events: none;
|
|
@@ -6877,16 +6942,16 @@ to {
|
|
|
6877
6942
|
left: 0;
|
|
6878
6943
|
overflow: hidden;
|
|
6879
6944
|
}
|
|
6880
|
-
.scalar-container.scalar-client--open[data-v-
|
|
6945
|
+
.scalar-container.scalar-client--open[data-v-44c68ca5] {
|
|
6881
6946
|
opacity: 1;
|
|
6882
6947
|
visibility: visible;
|
|
6883
6948
|
pointer-events: auto;
|
|
6884
6949
|
transition: opacity .35s;
|
|
6885
6950
|
}
|
|
6886
|
-
.scalar .url-form-input[data-v-
|
|
6951
|
+
.scalar .url-form-input[data-v-44c68ca5] {
|
|
6887
6952
|
min-height: auto !important;
|
|
6888
6953
|
}
|
|
6889
|
-
.scalar .scalar-container[data-v-
|
|
6954
|
+
.scalar .scalar-container[data-v-44c68ca5] {
|
|
6890
6955
|
line-height: normal;
|
|
6891
6956
|
}
|
|
6892
6957
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/operation-block/components/Header.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Header.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/operation-block/components/Header.vue"],"names":[],"mappings":"AA+NA,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAEhG,OAAO,EAAc,KAAK,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAG/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAKrD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oBAAoB;IACpB,MAAM,EAAE,YAAY,CAAA;IACpB,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB;IACpB,MAAM,CAAC,EAAE,SAAS,GAAG,eAAe,CAAA;IACpC,gCAAgC;IAChC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,mDAAmD;IACnD,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,8BAA8B;IAC9B,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,gBAAgB;IAChB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,4BAA4B;IAC5B,WAAW,EAAE,kBAAkB,CAAA;IAC/B,sCAAsC;IACtC,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;wBACoB,OAAO,YAAY;AAAxC,wBAAyC;AACzC,QAAA,MAAM,YAAY;;eAc6B,MAAM;;;;;;;;eAAN,MAAM;;;;;;kFAkUjD,CAAC"}
|
|
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_
|
|
|
2
2
|
import Header_vue_vue_type_script_setup_true_lang_default from "./Header.vue.script.js";
|
|
3
3
|
/* empty css */
|
|
4
4
|
//#region src/v2/blocks/operation-block/components/Header.vue
|
|
5
|
-
var Header_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Header_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
5
|
+
var Header_default = /*#__PURE__*/ _plugin_vue_export_helper_default(Header_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6e1ebfa0"]]);
|
|
6
6
|
//#endregion
|
|
7
7
|
export { Header_default as default };
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.vue.js","names":[],"sources":["../../../../../src/v2/blocks/operation-block/components/Header.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n Operation block header: address bar, environment selector, and modal controls.\n\n Renders the top bar for the API client operation view: URL/method (AddressBar),\n optional environment selector, optional \"Open API Client\" button in modal layout,\n and close button for modal. Layout and visibility depend on `layout` and `source` props.\n */\nexport type HeaderProps = {\n /** An external example must finish loading before sending. */\n executionDisabled?: boolean\n /** Current request path */\n path: string\n /** Current request method */\n method: string\n /** Whether this request comes from an OpenAPI webhook. */\n isWebhook?: boolean\n /** Client layout */\n layout: ClientLayout\n /** Hides the client button on the header */\n hideClientButton?: boolean\n /** Client integration */\n integration?: string | null\n /** Openapi document slug */\n documentSlug: string\n /** Currently selected example key for the current operation */\n exampleKey: string\n /** Openapi document url for `modal` mode to open the client app */\n documentUrl?: string\n /** Client source */\n source?: 'gitbook' | 'api-reference'\n /** Currently selected server */\n server: ServerObject | null\n /** Server list available for operation/document */\n servers: ServerObject[]\n /** List of request history */\n history: History[]\n /** Event bus */\n eventBus: WorkspaceEventBus\n /** Environment list */\n environments?: string[]\n /** Currently selected environment */\n activeEnvironment?: string\n /** Environment variables */\n environment: XScalarEnvironment\n /** Meta information for the server */\n serverMeta: ServerMeta\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ScalarIcon } from '@scalar/components/icon'\nimport { ScalarIconButton } from '@scalar/components/icon-button'\nimport { ScalarIconGearSix } from '@scalar/icons'\nimport type {\n ServerMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\n\nimport { AddressBar, type History } from '@/v2/blocks/scalar-address-bar-block'\nimport EnvironmentSelector from '@/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue'\nimport { useLocalization } from '@/v2/features/localization'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport OpenApiClientButton from './OpenApiClientButton.vue'\n\nconst {\n hideClientButton = false,\n eventBus,\n exampleKey,\n documentSlug,\n} = defineProps<HeaderProps>()\n\nconst emit = defineEmits<{\n /** Execute the current operation example */\n (e: 'execute'): void\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n /** Add a new environment */\n (e: 'add:environment'): void\n /** Navigate to the settings page for the current entity */\n (e: 'navigate:settings'): void\n /** Update the full destination URL used to deliver a webhook. */\n (e: 'update:webhook-url', url: string): void\n}>()\n\nconst { translate } = useLocalization()\n\nconst handleSelectEnvironment = (environmentName: string) => {\n eventBus.emit('workspace:update:active-environment', environmentName)\n}\n\nconst handleAddEnvironment = () => {\n eventBus.emit('ui:navigate', { page: 'document', path: 'environment' })\n}\n</script>\n\n<template>\n <!--\n `@container` declares an unnamed container so the AddressBar can\n adapt to the right column's actual width (which shrinks when the\n sidebar opens) instead of the viewport. The query is declared here\n on the parent rather than on the AddressBar itself so the bar's\n `w-full` mobile state cannot feed back into its own breakpoint.\n -->\n <div\n class=\"lg:min-h-header t-app__top-container @container flex w-full flex-wrap items-center justify-center p-2\">\n <!-- Left spacer to center bar -->\n <div class=\"flex flex-1\"></div>\n <AddressBar\n :activeEnvironment\n :documentSlug\n :environment\n :environments\n :eventBus\n :exampleKey\n :executionDisabled\n :history\n :isWebhook\n :layout\n :method\n :path\n :server\n :serverMeta\n :servers\n @add:environment=\"emit('add:environment')\"\n @execute=\"emit('execute')\"\n @select:history:item=\"(payload) => emit('select:history:item', payload)\"\n @update:webhook-url=\"(value) => emit('update:webhook-url', value)\" />\n\n <div class=\"mb-2 flex flex-1 items-center justify-end gap-2 @3xl:mb-0\">\n <!--\n Environment Selector\n Hidden for `modal` layout\n -->\n <EnvironmentSelector\n v-if=\"layout !== 'modal'\"\n :activeEnvironment=\"activeEnvironment\"\n :environments=\"environments\"\n @add:environment=\"handleAddEnvironment\"\n @select:environment=\"handleSelectEnvironment\" />\n <!-- Operation settings -->\n <ScalarIconButton\n v-if=\"layout !== 'modal' && !isWebhook\"\n :icon=\"ScalarIconGearSix\"\n :label=\"translate('apiClient.header.operationSettings')\"\n size=\"sm\"\n weight=\"bold\"\n @click=\"emit('navigate:settings')\" />\n <!--\n Open API Client Button\n\n Only shown in `modal` layout\n -->\n <OpenApiClientButton\n v-if=\"layout === 'modal' && documentUrl && !hideClientButton\"\n buttonSource=\"modal\"\n class=\"!w-fit lg:-mr-1\"\n :integration=\"integration ?? null\"\n :operationMethod=\"method\"\n :operationPath=\"path\"\n :source=\"source ?? 'api-reference'\"\n :url=\"documentUrl\" />\n\n <!--\n Close Button\n\n Only shown in `modal` layout and hidden for GitBook Integration\n -->\n <button\n v-if=\"layout === 'modal' && source !== 'gitbook'\"\n class=\"app-exit-button zoomed:static zoomed:p-1 fixed top-2 right-2 rounded-full p-2\"\n type=\"button\"\n @click=\"eventBus.emit('ui:close:client-modal')\">\n <ScalarIcon\n icon=\"Close\"\n size=\"lg\"\n thickness=\"2\" />\n <span class=\"sr-only\">{{\n translate('apiClient.header.closeClient')\n }}</span>\n </button>\n\n <!--\n Close Button for GitBook Integration\n\n Hidden by default and visible for GitBook Integration in `modal` layout\n -->\n <button\n v-if=\"layout === 'modal' && source === 'gitbook'\"\n class=\"text-c-1 hover:bg-b-2 active:text-c-1 -mr-1.5 rounded p-2\"\n type=\"button\"\n @click=\"eventBus.emit('ui:close:client-modal')\">\n <ScalarIcon\n icon=\"Close\"\n size=\"md\"\n thickness=\"1.75\" />\n <span class=\"sr-only\">{{\n translate('apiClient.header.closeClient')\n }}</span>\n </button>\n </div>\n </div>\n</template>\n<style scoped>\n.app-exit-button {\n color: white;\n background: rgba(0, 0, 0, 0.1);\n}\n.app-exit-button:hover {\n background: rgba(255, 255, 255, 0.1);\n}\n</style>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Header.vue.js","names":[],"sources":["../../../../../src/v2/blocks/operation-block/components/Header.vue"],"sourcesContent":["<script lang=\"ts\">\n/**\n Operation block header: address bar, environment selector, and modal controls.\n\n Renders the top bar for the API client operation view: URL/method (AddressBar),\n optional environment selector, optional \"Open API Client\" button in modal layout,\n and close button for modal. Layout and visibility depend on `layout` and `source` props.\n */\nexport type HeaderProps = {\n /** An external example must finish loading before sending. */\n executionDisabled?: boolean\n /** Current request path */\n path: string\n /** Current request method */\n method: string\n /** Whether this request comes from an OpenAPI webhook. */\n isWebhook?: boolean\n /** Client layout */\n layout: ClientLayout\n /** Hides the client button on the header */\n hideClientButton?: boolean\n /** Client integration */\n integration?: string | null\n /** Openapi document slug */\n documentSlug: string\n /** Currently selected example key for the current operation */\n exampleKey: string\n /** Openapi document url for `modal` mode to open the client app */\n documentUrl?: string\n /** Client source */\n source?: 'gitbook' | 'api-reference'\n /** Currently selected server */\n server: ServerObject | null\n /** Server list available for operation/document */\n servers: ServerObject[]\n /** List of request history */\n history: History[]\n /** Event bus */\n eventBus: WorkspaceEventBus\n /** Environment list */\n environments?: string[]\n /** Currently selected environment */\n activeEnvironment?: string\n /** Environment variables */\n environment: XScalarEnvironment\n /** Meta information for the server */\n serverMeta: ServerMeta\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { ScalarIcon } from '@scalar/components/icon'\nimport { ScalarIconButton } from '@scalar/components/icon-button'\nimport { ScalarIconGearSix } from '@scalar/icons'\nimport type {\n ServerMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\n\nimport { AddressBar, type History } from '@/v2/blocks/scalar-address-bar-block'\nimport EnvironmentSelector from '@/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue'\nimport { useLocalization } from '@/v2/features/localization'\nimport type { ClientLayout } from '@/v2/types/layout'\n\nimport OpenApiClientButton from './OpenApiClientButton.vue'\n\nconst {\n hideClientButton = false,\n eventBus,\n exampleKey,\n documentSlug,\n} = defineProps<HeaderProps>()\n\nconst emit = defineEmits<{\n /** Execute the current operation example */\n (e: 'execute'): void\n /** Select a request history item by index */\n (e: 'select:history:item', payload: { index: number }): void\n /** Add a new environment */\n (e: 'add:environment'): void\n /** Navigate to the settings page for the current entity */\n (e: 'navigate:settings'): void\n /** Update the full destination URL used to deliver a webhook. */\n (e: 'update:webhook-url', url: string): void\n}>()\n\nconst { translate } = useLocalization()\n\nconst handleSelectEnvironment = (environmentName: string) => {\n eventBus.emit('workspace:update:active-environment', environmentName)\n}\n\nconst handleAddEnvironment = () => {\n eventBus.emit('ui:navigate', { page: 'document', path: 'environment' })\n}\n</script>\n\n<template>\n <!--\n `@container` declares an unnamed container so the AddressBar can\n adapt to the right column's actual width (which shrinks when the\n sidebar opens) instead of the viewport. The query is declared here\n on the parent rather than on the AddressBar itself so the bar's\n `w-full` mobile state cannot feed back into its own breakpoint.\n -->\n <div\n class=\"lg:min-h-header t-app__top-container @container flex w-full flex-wrap items-center justify-center p-2\">\n <!-- Left spacer to center bar -->\n <div class=\"flex flex-1\"></div>\n <AddressBar\n :activeEnvironment\n :documentSlug\n :environment\n :environments\n :eventBus\n :exampleKey\n :executionDisabled\n :history\n :isWebhook\n :layout\n :method\n :path\n :server\n :serverMeta\n :servers\n @add:environment=\"emit('add:environment')\"\n @execute=\"emit('execute')\"\n @select:history:item=\"(payload) => emit('select:history:item', payload)\"\n @update:webhook-url=\"(value) => emit('update:webhook-url', value)\" />\n\n <div class=\"mb-2 flex flex-1 items-center justify-end gap-2 @3xl:mb-0\">\n <!--\n Environment Selector\n Hidden for `modal` layout\n -->\n <EnvironmentSelector\n v-if=\"layout !== 'modal'\"\n :activeEnvironment=\"activeEnvironment\"\n :environments=\"environments\"\n @add:environment=\"handleAddEnvironment\"\n @select:environment=\"handleSelectEnvironment\" />\n <!-- Operation settings -->\n <ScalarIconButton\n v-if=\"layout !== 'modal' && !isWebhook\"\n :icon=\"ScalarIconGearSix\"\n :label=\"translate('apiClient.header.operationSettings')\"\n size=\"sm\"\n weight=\"bold\"\n @click=\"emit('navigate:settings')\" />\n <!--\n Open API Client Button\n\n Only shown in `modal` layout\n -->\n <OpenApiClientButton\n v-if=\"layout === 'modal' && documentUrl && !hideClientButton\"\n buttonSource=\"modal\"\n class=\"!w-fit lg:-mr-1\"\n :integration=\"integration ?? null\"\n :operationMethod=\"method\"\n :operationPath=\"path\"\n :source=\"source ?? 'api-reference'\"\n :url=\"documentUrl\" />\n\n <!--\n Close Button\n\n Only shown in `modal` layout and hidden for GitBook Integration\n -->\n <button\n v-if=\"layout === 'modal' && source !== 'gitbook'\"\n class=\"app-exit-button zoomed:static zoomed:p-1 fixed top-2 right-2 rounded-full p-2\"\n data-modal-initial-focus\n type=\"button\"\n @click=\"eventBus.emit('ui:close:client-modal')\">\n <ScalarIcon\n icon=\"Close\"\n size=\"lg\"\n thickness=\"2\" />\n <span class=\"sr-only\">{{\n translate('apiClient.header.closeClient')\n }}</span>\n </button>\n\n <!--\n Close Button for GitBook Integration\n\n Hidden by default and visible for GitBook Integration in `modal` layout\n -->\n <button\n v-if=\"layout === 'modal' && source === 'gitbook'\"\n class=\"text-c-1 hover:bg-b-2 active:text-c-1 -mr-1.5 rounded p-2\"\n data-modal-initial-focus\n type=\"button\"\n @click=\"eventBus.emit('ui:close:client-modal')\">\n <ScalarIcon\n icon=\"Close\"\n size=\"md\"\n thickness=\"1.75\" />\n <span class=\"sr-only\">{{\n translate('apiClient.header.closeClient')\n }}</span>\n </button>\n </div>\n </div>\n</template>\n<style scoped>\n.app-exit-button {\n color: white;\n background: rgba(0, 0, 0, 0.1);\n}\n.app-exit-button:hover {\n background: rgba(255, 255, 255, 0.1);\n}\n</style>\n"],"mappings":""}
|
|
@@ -131,6 +131,7 @@ var Header_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
131
131
|
__props.layout === "modal" && __props.source !== "gitbook" ? (openBlock(), createElementBlock("button", {
|
|
132
132
|
key: 3,
|
|
133
133
|
class: "app-exit-button zoomed:static zoomed:p-1 fixed top-2 right-2 rounded-full p-2",
|
|
134
|
+
"data-modal-initial-focus": "",
|
|
134
135
|
type: "button",
|
|
135
136
|
onClick: _cache[5] || (_cache[5] = ($event) => __props.eventBus.emit("ui:close:client-modal"))
|
|
136
137
|
}, [createVNode(unref(ScalarIcon), {
|
|
@@ -141,6 +142,7 @@ var Header_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
|
|
|
141
142
|
__props.layout === "modal" && __props.source === "gitbook" ? (openBlock(), createElementBlock("button", {
|
|
142
143
|
key: 4,
|
|
143
144
|
class: "text-c-1 hover:bg-b-2 active:text-c-1 -mr-1.5 rounded p-2",
|
|
145
|
+
"data-modal-initial-focus": "",
|
|
144
146
|
type: "button",
|
|
145
147
|
onClick: _cache[6] || (_cache[6] = ($event) => __props.eventBus.emit("ui:close:client-modal"))
|
|
146
148
|
}, [createVNode(unref(ScalarIcon), {
|