@scalar/api-client 2.5.16 → 2.5.18
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 +35 -0
- package/dist/components/AddressBar/AddressBarHistory.vue2.js +9 -8
- package/dist/components/CommandPalette/CommandPaletteImport.vue.js +15 -13
- package/dist/components/CommandPalette/CommandPaletteServer.vue.js +10 -9
- package/dist/components/CommandPalette/TheCommandPalette.vue2.js +28 -26
- package/dist/components/DataTable/DataTableInput.vue.d.ts.map +1 -1
- package/dist/components/DataTable/DataTableInputSelect.vue.js +9 -8
- package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js +9 -7
- package/dist/components/ImportCollection/ImportNowButton.vue.js +6 -4
- package/dist/components/ImportCollection/WorkspaceSelector.vue.js +4 -2
- package/dist/components/Server/ServerSelector.vue.js +2 -1
- package/dist/components/SideNav/SideHelp.vue.js +16 -10
- package/dist/components/SideNav/SideNav.vue.js +2 -1
- package/dist/components/Sidebar/Actions/SidebarListElementForm.vue2.js +2 -1
- package/dist/components/TopNav/TopNav.vue.js +9 -7
- package/dist/components/TopNav/TopNavItem.vue2.js +8 -4
- package/dist/layouts/App/create-api-client-app.d.ts +42 -2
- package/dist/layouts/App/create-api-client-app.d.ts.map +1 -1
- package/dist/layouts/Modal/create-api-client-modal.d.ts +84 -4
- package/dist/layouts/Modal/create-api-client-modal.d.ts.map +1 -1
- package/dist/layouts/Web/create-api-client-web.d.ts +42 -2
- package/dist/layouts/Web/create-api-client-web.d.ts.map +1 -1
- package/dist/libs/create-client.d.ts +42 -2
- package/dist/libs/create-client.d.ts.map +1 -1
- package/dist/store/security-schemes.d.ts +42 -2
- package/dist/store/security-schemes.d.ts.map +1 -1
- package/dist/store/store.d.ts +42 -2
- package/dist/store/store.d.ts.map +1 -1
- package/dist/style.css +1 -1
- package/dist/views/Collection/CollectionEnvironment.vue2.js +8 -7
- package/dist/views/Collection/CollectionServers.vue2.js +2 -1
- package/dist/views/Collection/CollectionSettings.vue2.js +2 -1
- package/dist/views/Collection/components/EnvironmentForm.vue2.js +4 -2
- package/dist/views/Collection/components/MarkdownInput.vue2.js +4 -2
- package/dist/views/Environment/Environment.vue2.js +2 -1
- package/dist/views/Environment/EnvironmentModal.vue.js +10 -9
- package/dist/views/Environment/EnvironmentVariableDropdown.vue.js +2 -1
- package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js +5 -4
- package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js +22 -11
- package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js +9 -8
- package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue2.js +34 -29
- package/dist/views/Request/RequestSection/RequestBody.vue2.js +4 -2
- package/dist/views/Request/RequestSection/RequestParams.vue.js +2 -1
- package/dist/views/Request/RequestSection/RequestTable.vue2.js +12 -10
- package/dist/views/Request/RequestSidebar.vue2.js +2 -1
- package/dist/views/Request/RequestSidebarItem.vue.d.ts.map +1 -1
- package/dist/views/Request/RequestSidebarItem.vue2.js +2 -1
- package/dist/views/Request/RequestSidebarItemMenu.vue2.js +6 -3
- package/dist/views/Request/ResponseSection/RequestHeaders.vue.js +4 -2
- package/dist/views/Request/ResponseSection/ResponseBody.vue2.js +2 -1
- package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue2.js +2 -1
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue2.js +1 -1
- package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js +4 -2
- package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue2.js +5 -4
- package/dist/views/Request/components/WorkspaceDropdown.vue.js +13 -10
- package/dist/views/Request/libs/oauth2.d.ts.map +1 -1
- package/dist/views/Request/libs/oauth2.js +46 -44
- package/dist/views/Settings/SettingsGeneral.vue.js +19 -17
- package/dist/views/Settings/components/SettingsAppearance.vue.js +8 -5
- package/package.json +16 -16
|
@@ -29,14 +29,14 @@ const O = { class: "text-c-2 filemask flex w-full max-w-[100%] items-end justify
|
|
|
29
29
|
},
|
|
30
30
|
emits: ["updateRow", "toggleRow", "addRow", "deleteRow", "inputFocus", "inputBlur", "uploadFile", "removeFile"],
|
|
31
31
|
setup(x, { emit: F }) {
|
|
32
|
-
const m = x, t = F,
|
|
32
|
+
const m = x, t = F, _ = ["", "", "36px"], w = (e, o, l) => {
|
|
33
33
|
t("updateRow", e, o, l);
|
|
34
|
-
},
|
|
34
|
+
}, U = (e) => {
|
|
35
35
|
t("uploadFile", e);
|
|
36
|
-
},
|
|
36
|
+
}, S = (e) => Array.isArray(e.default) && e.default.length === 1 ? e.default[0] : e.default, T = (e) => !!(e.key || e.value);
|
|
37
37
|
return (e, o) => (u(), i(N, {
|
|
38
38
|
class: "group/table flex-1",
|
|
39
|
-
columns:
|
|
39
|
+
columns: _
|
|
40
40
|
}, {
|
|
41
41
|
default: n(() => [
|
|
42
42
|
r($, { class: "sr-only !block" }, {
|
|
@@ -93,7 +93,8 @@ const O = { class: "text-c-2 filemask flex w-full max-w-[100%] items-end justify
|
|
|
93
93
|
_: 1
|
|
94
94
|
})
|
|
95
95
|
]),
|
|
96
|
-
_: 2
|
|
96
|
+
_: 2,
|
|
97
|
+
__: [4]
|
|
97
98
|
}, 1032, ["to"])) : (u(), i(P, {
|
|
98
99
|
key: 1,
|
|
99
100
|
class: "!border-r",
|
|
@@ -154,7 +155,7 @@ const O = { class: "text-c-2 filemask flex w-full max-w-[100%] items-end justify
|
|
|
154
155
|
"onUpdate:modelValue": (a) => t("updateRow", d, "value", a)
|
|
155
156
|
}, {
|
|
156
157
|
icon: n(() => [
|
|
157
|
-
|
|
158
|
+
T(l) && !l.required ? (u(), i(s(R), {
|
|
158
159
|
key: 0,
|
|
159
160
|
class: v([{
|
|
160
161
|
"-mr-0.5": s(h)(l)
|
|
@@ -170,7 +171,7 @@ const O = { class: "text-c-2 filemask flex w-full max-w-[100%] items-end justify
|
|
|
170
171
|
}, 1032, ["class", "onClick"])) : k("", !0),
|
|
171
172
|
s(h)(l) ? (u(), i(K, {
|
|
172
173
|
key: 1,
|
|
173
|
-
item: { ...l, default:
|
|
174
|
+
item: { ...l, default: S(l) }
|
|
174
175
|
}, null, 8, ["item"])) : k("", !0)
|
|
175
176
|
]),
|
|
176
177
|
_: 2
|
|
@@ -192,14 +193,14 @@ const O = { class: "text-c-2 filemask flex w-full max-w-[100%] items-end justify
|
|
|
192
193
|
p("button", {
|
|
193
194
|
class: "bg-b-2 centered-x centered-y absolute hidden w-[calc(100%_-_8px)] rounded p-0.5 text-center text-xs font-medium group-hover/upload:block",
|
|
194
195
|
type: "button",
|
|
195
|
-
onClick: (
|
|
196
|
+
onClick: (I) => t("removeFile", d)
|
|
196
197
|
}, " Delete ", 8, A)
|
|
197
198
|
], 64)) : (u(), b("div", L, [
|
|
198
199
|
r(s(R), {
|
|
199
200
|
class: "bg-b-2 hover:bg-b-3 text-c-2 h-fit border-0 py-px shadow-none",
|
|
200
201
|
size: "sm",
|
|
201
202
|
variant: "outlined",
|
|
202
|
-
onClick: (
|
|
203
|
+
onClick: (I) => U(d)
|
|
203
204
|
}, {
|
|
204
205
|
default: n(() => [
|
|
205
206
|
o[5] || (o[5] = p("span", null, "Upload File", -1)),
|
|
@@ -210,7 +211,8 @@ const O = { class: "text-c-2 filemask flex w-full max-w-[100%] items-end justify
|
|
|
210
211
|
thickness: "2.5"
|
|
211
212
|
})
|
|
212
213
|
]),
|
|
213
|
-
_: 2
|
|
214
|
+
_: 2,
|
|
215
|
+
__: [5]
|
|
214
216
|
}, 1032, ["onClick"])
|
|
215
217
|
]))
|
|
216
218
|
];
|
|
@@ -330,7 +330,8 @@ const Xe = { class: "bg-b-1 sticky top-0 z-20 flex h-12 items-center px-3" }, Ye
|
|
|
330
330
|
default: d(() => e[12] || (e[12] = [
|
|
331
331
|
q(" Import Collection ")
|
|
332
332
|
])),
|
|
333
|
-
_: 1
|
|
333
|
+
_: 1,
|
|
334
|
+
__: [12]
|
|
334
335
|
}, 8, ["class"])) : m("", !0),
|
|
335
336
|
t(n) !== "modal" ? (r(), u(ze, {
|
|
336
337
|
key: 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestSidebarItem.vue.d.ts","sourceRoot":"","sources":["../../../src/views/Request/RequestSidebarItem.vue"],"names":[],"mappings":"AA+rBA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAY,QAAQ,EAAO,MAAM,KAAK,CAAA;AAU7C,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAIzE,KAAK,WAAW,GAAG;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAA;IAC3C,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAA;IACX,2CAA2C;IAC3C,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAAC;AA4VF,iBAAS,cAAc;WA+tBT,OAAO,IAA6B;;oBAziCpC,IAAI;;oBAAJ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAjElB,KA5oBmB;;;;;;;oCA4oBnB,KAxoBO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"RequestSidebarItem.vue.d.ts","sourceRoot":"","sources":["../../../src/views/Request/RequestSidebarItem.vue"],"names":[],"mappings":"AA+rBA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAY,QAAQ,EAAO,MAAM,KAAK,CAAA;AAU7C,OAAO,KAAK,EAAe,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAIzE,KAAK,WAAW,GAAG;IACjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAA;IAC3C,oEAAoE;IACpE,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,0DAA0D;IAC1D,GAAG,EAAE,MAAM,CAAA;IACX,2CAA2C;IAC3C,QAAQ,EAAE,eAAe,CAAA;CAC1B,CAAC;AA4VF,iBAAS,cAAc;WA+tBT,OAAO,IAA6B;;oBAziCpC,IAAI;;oBAAJ,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAjElB,KA5oBmB;;;;;;;oCA4oBnB,KAxoBO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAuyBU,GACjB,8CACqB,GAAG,yBAAyB,GAAG,6DAIlD,GAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA08BD;AAqCD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;kFAOnB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAUpG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -111,7 +111,8 @@ const ge = /* @__PURE__ */ H({
|
|
|
111
111
|
}),
|
|
112
112
|
t[8] || (t[8] = g("span", null, "Add Example", -1))
|
|
113
113
|
]),
|
|
114
|
-
_: 1
|
|
114
|
+
_: 1,
|
|
115
|
+
__: [8]
|
|
115
116
|
})) : c("", !0),
|
|
116
117
|
E.value ? c("", !0) : (s(), d(n(y), {
|
|
117
118
|
key: 1,
|
|
@@ -175,7 +176,8 @@ const ge = /* @__PURE__ */ H({
|
|
|
175
176
|
}),
|
|
176
177
|
t[9] || (t[9] = g("span", null, "Delete", -1))
|
|
177
178
|
]),
|
|
178
|
-
_: 1
|
|
179
|
+
_: 1,
|
|
180
|
+
__: [9]
|
|
179
181
|
})),
|
|
180
182
|
E.value ? (s(), d(n(y), {
|
|
181
183
|
key: 4,
|
|
@@ -191,7 +193,8 @@ const ge = /* @__PURE__ */ H({
|
|
|
191
193
|
}),
|
|
192
194
|
t[10] || (t[10] = g("span", null, "Clear Drafts", -1))
|
|
193
195
|
]),
|
|
194
|
-
_: 1
|
|
196
|
+
_: 1,
|
|
197
|
+
__: [10]
|
|
195
198
|
})) : c("", !0)
|
|
196
199
|
];
|
|
197
200
|
}),
|
|
@@ -42,13 +42,15 @@ const H = {
|
|
|
42
42
|
default: e(() => t[1] || (t[1] = [
|
|
43
43
|
n("Header Key")
|
|
44
44
|
])),
|
|
45
|
-
_: 1
|
|
45
|
+
_: 1,
|
|
46
|
+
__: [1]
|
|
46
47
|
}),
|
|
47
48
|
a(d(x), null, {
|
|
48
49
|
default: e(() => t[2] || (t[2] = [
|
|
49
50
|
n("Header Value")
|
|
50
51
|
])),
|
|
51
|
-
_: 1
|
|
52
|
+
_: 1,
|
|
53
|
+
__: [2]
|
|
52
54
|
})
|
|
53
55
|
]),
|
|
54
56
|
_: 1
|
|
@@ -34,7 +34,7 @@ const W = { class: "flex-center relative flex flex-1 flex-col gap-6 p-2 capitali
|
|
|
34
34
|
}));
|
|
35
35
|
}, k = (o) => {
|
|
36
36
|
o != null && o.createNew && g.name === "request" && f();
|
|
37
|
-
}, w = "2.5.
|
|
37
|
+
}, w = "2.5.18";
|
|
38
38
|
return R(() => a.hotKeys.on(k)), v(() => a.hotKeys.off(k)), (o, e) => (u(), i("div", W, [
|
|
39
39
|
s("div", {
|
|
40
40
|
class: y(["flex h-[calc(100%_-_50px)] flex-col items-center justify-center", {
|
|
@@ -42,13 +42,15 @@ const H = {
|
|
|
42
42
|
default: e(() => r[1] || (r[1] = [
|
|
43
43
|
n("Header Key")
|
|
44
44
|
])),
|
|
45
|
-
_: 1
|
|
45
|
+
_: 1,
|
|
46
|
+
__: [1]
|
|
46
47
|
}),
|
|
47
48
|
a(u(x), null, {
|
|
48
49
|
default: e(() => r[2] || (r[2] = [
|
|
49
50
|
n("Header Value")
|
|
50
51
|
])),
|
|
51
|
-
_: 1
|
|
52
|
+
_: 1,
|
|
53
|
+
__: [2]
|
|
52
54
|
})
|
|
53
55
|
]),
|
|
54
56
|
_: 1
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as u, ref as c, createBlock as d, openBlock as l, Transition as m, withCtx as r, createElementBlock as f, createCommentVNode as p, unref as e, createVNode as i, createTextVNode as g } from "vue";
|
|
2
|
-
import { useLoadingState as v, ScalarLoading as
|
|
2
|
+
import { useLoadingState as v, ScalarLoading as _, ScalarButton as x } from "@scalar/components";
|
|
3
3
|
import { useWorkspace as k } from "../../../store/store.js";
|
|
4
4
|
const L = {
|
|
5
5
|
key: 0,
|
|
@@ -13,19 +13,20 @@ const L = {
|
|
|
13
13
|
}), (s, o) => (l(), d(m, null, {
|
|
14
14
|
default: r(() => [
|
|
15
15
|
e(t).isLoading ? (l(), f("div", L, [
|
|
16
|
-
i(e(
|
|
16
|
+
i(e(_), {
|
|
17
17
|
class: "text-c-3",
|
|
18
18
|
loadingState: e(t),
|
|
19
19
|
size: "3xl"
|
|
20
20
|
}, null, 8, ["loadingState"]),
|
|
21
|
-
i(e(
|
|
21
|
+
i(e(x), {
|
|
22
22
|
variant: "ghost",
|
|
23
23
|
onClick: o[0] || (o[0] = (C) => e(n).cancelRequest.emit())
|
|
24
24
|
}, {
|
|
25
25
|
default: r(() => o[1] || (o[1] = [
|
|
26
26
|
g(" Cancel ")
|
|
27
27
|
])),
|
|
28
|
-
_: 1
|
|
28
|
+
_: 1,
|
|
29
|
+
__: [1]
|
|
29
30
|
})
|
|
30
31
|
])) : p("", !0)
|
|
31
32
|
]),
|
|
@@ -8,7 +8,7 @@ import { useWorkspace as J } from "../../../store/store.js";
|
|
|
8
8
|
const K = { class: "flex w-[inherit] items-center text-base" }, Q = { class: "m-0 flex items-center gap-1.5 font-bold" }, X = { class: "line-clamp-1 text-left" }, Z = { class: "overflow-hidden text-ellipsis" }, ee = { class: "flex h-4 w-4 items-center justify-center" }, ce = /* @__PURE__ */ L({
|
|
9
9
|
__name: "WorkspaceDropdown",
|
|
10
10
|
setup(te) {
|
|
11
|
-
const { activeWorkspace: c } = H(), { workspaces: r, workspaceMutators:
|
|
11
|
+
const { activeWorkspace: c } = H(), { workspaces: r, workspaceMutators: x, events: T } = J(), { push: g } = P(), j = (o) => {
|
|
12
12
|
var t;
|
|
13
13
|
o !== ((t = c.value) == null ? void 0 : t.uid) && g({
|
|
14
14
|
name: "workspace",
|
|
@@ -20,7 +20,7 @@ const K = { class: "flex w-[inherit] items-center text-base" }, Q = { class: "m-
|
|
|
20
20
|
const t = r[o];
|
|
21
21
|
t && (d.value = t.name, i.value = o, u.show());
|
|
22
22
|
}, R = (o) => {
|
|
23
|
-
o.trim() && (
|
|
23
|
+
o.trim() && (x.edit(i.value, "name", o.trim()), u.hide());
|
|
24
24
|
}, M = (o) => {
|
|
25
25
|
const t = r[o];
|
|
26
26
|
t && (d.value = t.name, i.value = o, p.show());
|
|
@@ -28,7 +28,7 @@ const K = { class: "flex w-[inherit] items-center text-base" }, Q = { class: "m-
|
|
|
28
28
|
var o;
|
|
29
29
|
if (!b.value) {
|
|
30
30
|
const t = ((o = c.value) == null ? void 0 : o.uid) === i.value, n = { ...r };
|
|
31
|
-
if (delete n[i.value],
|
|
31
|
+
if (delete n[i.value], x.delete(i.value), t) {
|
|
32
32
|
const m = Object.keys(n)[0];
|
|
33
33
|
await g({
|
|
34
34
|
name: "workspace",
|
|
@@ -63,8 +63,8 @@ const K = { class: "flex w-[inherit] items-center text-base" }, Q = { class: "m-
|
|
|
63
63
|
items: a(() => [
|
|
64
64
|
s(e(h), {
|
|
65
65
|
class: "flex gap-2",
|
|
66
|
-
onMousedown: (
|
|
67
|
-
onTouchend: v((
|
|
66
|
+
onMousedown: (_) => W(n.uid),
|
|
67
|
+
onTouchend: v((_) => W(n.uid), ["prevent"])
|
|
68
68
|
}, {
|
|
69
69
|
default: a(() => [
|
|
70
70
|
s(e(k), {
|
|
@@ -75,13 +75,14 @@ const K = { class: "flex w-[inherit] items-center text-base" }, Q = { class: "m-
|
|
|
75
75
|
}),
|
|
76
76
|
t[2] || (t[2] = l("span", null, "Rename", -1))
|
|
77
77
|
]),
|
|
78
|
-
_: 2
|
|
78
|
+
_: 2,
|
|
79
|
+
__: [2]
|
|
79
80
|
}, 1032, ["onMousedown", "onTouchend"]),
|
|
80
81
|
b.value ? U("", !0) : (f(), S(e(h), {
|
|
81
82
|
key: 0,
|
|
82
83
|
class: "flex gap-2",
|
|
83
|
-
onMousedown: v((
|
|
84
|
-
onTouchend: v((
|
|
84
|
+
onMousedown: v((_) => M(n.uid), ["prevent"]),
|
|
85
|
+
onTouchend: v((_) => M(n.uid), ["prevent"])
|
|
85
86
|
}, {
|
|
86
87
|
default: a(() => [
|
|
87
88
|
s(e(k), {
|
|
@@ -92,7 +93,8 @@ const K = { class: "flex w-[inherit] items-center text-base" }, Q = { class: "m-
|
|
|
92
93
|
}),
|
|
93
94
|
t[3] || (t[3] = l("span", null, "Delete", -1))
|
|
94
95
|
]),
|
|
95
|
-
_: 2
|
|
96
|
+
_: 2,
|
|
97
|
+
__: [3]
|
|
96
98
|
}, 1032, ["onMousedown", "onTouchend"]))
|
|
97
99
|
]),
|
|
98
100
|
default: a(() => [
|
|
@@ -131,7 +133,8 @@ const K = { class: "flex w-[inherit] items-center text-base" }, Q = { class: "m-
|
|
|
131
133
|
]),
|
|
132
134
|
t[4] || (t[4] = l("span", null, "Create Workspace", -1))
|
|
133
135
|
]),
|
|
134
|
-
_: 1
|
|
136
|
+
_: 1,
|
|
137
|
+
__: [4]
|
|
135
138
|
})
|
|
136
139
|
]),
|
|
137
140
|
default: a(() => [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2.d.ts","sourceRoot":"","sources":["../../../../src/views/Request/libs/oauth2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAGzE,qDAAqD;AACrD,KAAK,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAAA;AAEhE,KAAK,SAAS,GAAG;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAmBD;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAoB,MAAM,YAAY,SAAS,GAAG,OAAO,KAAG,OAAO,CAAC,MAAM,CAe3G,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,SACpB,UAAU,gBAEF,MAAM,aAET,MAAM,KAChB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CA8J/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,SACrB,eAAe,UACb,MAAM,8BAKX;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,KACA,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"oauth2.d.ts","sourceRoot":"","sources":["../../../../src/views/Request/libs/oauth2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAA;AAGzE,qDAAqD;AACrD,KAAK,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,CAAA;AAEhE,KAAK,SAAS,GAAG;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAmBD;;GAEG;AACH,eAAO,MAAM,qBAAqB,aAAoB,MAAM,YAAY,SAAS,GAAG,OAAO,KAAG,OAAO,CAAC,MAAM,CAe3G,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,SACpB,UAAU,gBAEF,MAAM,aAET,MAAM,KAChB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CA8J/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,SACrB,eAAe,UACb,MAAM,8BAKX;IACD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B,KACA,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAiF/B,CAAA"}
|
|
@@ -1,88 +1,90 @@
|
|
|
1
|
-
import { shouldUseProxy as
|
|
2
|
-
const
|
|
1
|
+
import { shouldUseProxy as S } from "@scalar/oas-utils/helpers";
|
|
2
|
+
const k = () => {
|
|
3
3
|
const e = new Uint8Array(32);
|
|
4
4
|
return crypto.getRandomValues(e), btoa(String.fromCharCode(...e)).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
5
|
-
},
|
|
6
|
-
if (
|
|
5
|
+
}, w = async (e, d) => {
|
|
6
|
+
if (d === "plain")
|
|
7
7
|
return e;
|
|
8
|
-
const
|
|
8
|
+
const s = new TextEncoder().encode(e), c = await crypto.subtle.digest("SHA-256", s);
|
|
9
9
|
return btoa(String.fromCharCode(...new Uint8Array(c))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
10
|
-
}, U = async (e,
|
|
10
|
+
}, U = async (e, d, u) => {
|
|
11
11
|
try {
|
|
12
12
|
if (!e)
|
|
13
13
|
return [new Error("Flow not found"), null];
|
|
14
|
-
const
|
|
14
|
+
const s = e.selectedScopes.join(" ");
|
|
15
15
|
if (e.type === "clientCredentials" || e.type === "password")
|
|
16
|
-
return
|
|
17
|
-
proxyUrl:
|
|
16
|
+
return x(e, s, {
|
|
17
|
+
proxyUrl: u
|
|
18
18
|
});
|
|
19
19
|
const c = (Math.random() + 1).toString(36).substring(2, 10), t = new URL(e.authorizationUrl);
|
|
20
|
-
let
|
|
20
|
+
let i = null;
|
|
21
21
|
if (e.type === "implicit")
|
|
22
22
|
t.searchParams.set("response_type", "token");
|
|
23
23
|
else if (e.type === "authorizationCode" && (t.searchParams.set("response_type", "code"), e["x-usePkce"] !== "no")) {
|
|
24
|
-
const r =
|
|
25
|
-
|
|
24
|
+
const r = k(), a = await w(r, e["x-usePkce"]);
|
|
25
|
+
i = {
|
|
26
26
|
codeVerifier: r,
|
|
27
27
|
codeChallenge: a,
|
|
28
28
|
codeChallengeMethod: e["x-usePkce"] === "SHA-256" ? "S256" : "plain"
|
|
29
|
-
}, t.searchParams.set("code_challenge", a), t.searchParams.set("code_challenge_method",
|
|
29
|
+
}, t.searchParams.set("code_challenge", a), t.searchParams.set("code_challenge_method", i.codeChallengeMethod);
|
|
30
30
|
}
|
|
31
31
|
if (e["x-scalar-redirect-uri"].startsWith("/")) {
|
|
32
|
-
const r =
|
|
32
|
+
const r = d.url || window.location.origin + window.location.pathname, a = new URL(e["x-scalar-redirect-uri"], r).toString();
|
|
33
33
|
t.searchParams.set("redirect_uri", a);
|
|
34
34
|
} else
|
|
35
35
|
t.searchParams.set("redirect_uri", e["x-scalar-redirect-uri"]);
|
|
36
36
|
e["x-scalar-security-query"] && Object.keys(e["x-scalar-security-query"]).forEach((r) => {
|
|
37
|
-
var
|
|
38
|
-
const a = (
|
|
37
|
+
var n;
|
|
38
|
+
const a = (n = e["x-scalar-security-query"]) == null ? void 0 : n[r];
|
|
39
39
|
a && t.searchParams.set(r, a);
|
|
40
|
-
}), t.searchParams.set("client_id", e["x-scalar-client-id"]), t.searchParams.set("state", c),
|
|
41
|
-
const
|
|
42
|
-
return
|
|
40
|
+
}), t.searchParams.set("client_id", e["x-scalar-client-id"]), t.searchParams.set("state", c), s && t.searchParams.set("scope", s);
|
|
41
|
+
const o = window.open(t, "openAuth2Window", "left=100,top=100,width=800,height=600");
|
|
42
|
+
return o ? new Promise((r) => {
|
|
43
43
|
const a = setInterval(() => {
|
|
44
44
|
var _;
|
|
45
|
-
let
|
|
45
|
+
let n = null, p = null, m = null, g = null;
|
|
46
46
|
try {
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
47
|
+
const l = new URL(o.location.href).searchParams, P = e["x-tokenName"] || "access_token";
|
|
48
|
+
n = l.get(P), p = l.get("code"), m = l.get("error"), g = l.get("error_description");
|
|
49
|
+
const y = new URLSearchParams(o.location.href.split("#")[1]);
|
|
50
|
+
n || (n = y.get(P)), p || (p = y.get("code")), m || (m = y.get("error")), g || (g = y.get("error_description"));
|
|
51
51
|
} catch {
|
|
52
52
|
}
|
|
53
|
-
if (
|
|
54
|
-
if (clearInterval(a),
|
|
55
|
-
r([new Error(`OAuth error: ${
|
|
56
|
-
else if (
|
|
57
|
-
const
|
|
58
|
-
r(
|
|
59
|
-
} else
|
|
60
|
-
code:
|
|
61
|
-
pkce:
|
|
62
|
-
proxyUrl:
|
|
53
|
+
if (o.closed || n || p || m)
|
|
54
|
+
if (clearInterval(a), o.close(), m)
|
|
55
|
+
r([new Error(`OAuth error: ${m}${g ? ` (${g})` : ""}`), null]);
|
|
56
|
+
else if (n) {
|
|
57
|
+
const l = (_ = o.location.href.match(/state=([^&]*)/)) == null ? void 0 : _[1];
|
|
58
|
+
r(l === c ? [null, n] : [new Error("State mismatch"), null]);
|
|
59
|
+
} else p ? new URL(o.location.href).searchParams.get("state") === c ? x(e, s, {
|
|
60
|
+
code: p,
|
|
61
|
+
pkce: i,
|
|
62
|
+
proxyUrl: u
|
|
63
63
|
}).then(r) : r([new Error("State mismatch"), null]) : (clearInterval(a), r([new Error("Window was closed without granting authorization"), null]));
|
|
64
64
|
}, 200);
|
|
65
65
|
}) : [new Error("Failed to open auth window"), null];
|
|
66
66
|
} catch {
|
|
67
67
|
return [new Error("Failed to authorize oauth2 flow"), null];
|
|
68
68
|
}
|
|
69
|
-
},
|
|
70
|
-
code:
|
|
71
|
-
pkce:
|
|
69
|
+
}, x = async (e, d, {
|
|
70
|
+
code: u,
|
|
71
|
+
pkce: s,
|
|
72
72
|
proxyUrl: c
|
|
73
73
|
} = {}) => {
|
|
74
74
|
if (!e)
|
|
75
75
|
return [new Error("OAuth2 flow was not defined"), null];
|
|
76
76
|
const t = new URLSearchParams();
|
|
77
|
-
t.set("client_id", e["x-scalar-client-id"]),
|
|
77
|
+
t.set("client_id", e["x-scalar-client-id"]), d && (e.type === "clientCredentials" || e.type === "password") && t.set("scope", d), e.clientSecret && t.set("client_secret", e.clientSecret), "x-scalar-redirect-uri" in e && e["x-scalar-redirect-uri"] && t.set("redirect_uri", e["x-scalar-redirect-uri"]), u ? (t.set("code", u), t.set("grant_type", "authorization_code"), s && t.set("code_verifier", s.codeVerifier)) : e.type === "password" ? (t.set("grant_type", "password"), t.set("username", e.username), t.set("password", e.password)) : t.set("grant_type", "client_credentials"), e["x-scalar-security-body"] && Object.entries(e["x-scalar-security-body"]).forEach(([i, h]) => {
|
|
78
|
+
h && t.set(i, h);
|
|
79
|
+
});
|
|
78
80
|
try {
|
|
79
|
-
const
|
|
81
|
+
const i = {
|
|
80
82
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
81
83
|
};
|
|
82
|
-
e.clientSecret && (
|
|
83
|
-
const
|
|
84
|
+
e.clientSecret && (i.Authorization = `Basic ${btoa(`${e["x-scalar-client-id"]}:${e.clientSecret}`)}`);
|
|
85
|
+
const h = S(c, e.tokenUrl) ? `${c}?${new URLSearchParams([["scalar_url", e.tokenUrl]]).toString()}` : e.tokenUrl, r = await (await fetch(h, {
|
|
84
86
|
method: "POST",
|
|
85
|
-
headers:
|
|
87
|
+
headers: i,
|
|
86
88
|
body: t
|
|
87
89
|
})).json(), a = e["x-tokenName"] || "access_token";
|
|
88
90
|
return [null, r[a]];
|
|
@@ -92,6 +94,6 @@ const w = () => {
|
|
|
92
94
|
};
|
|
93
95
|
export {
|
|
94
96
|
U as authorizeOauth2,
|
|
95
|
-
|
|
96
|
-
|
|
97
|
+
x as authorizeServers,
|
|
98
|
+
w as generateCodeChallenge
|
|
97
99
|
};
|
|
@@ -4,9 +4,9 @@ import { themeLabels as E } from "@scalar/themes";
|
|
|
4
4
|
import V from "../../components/ImportCollection/IntegrationLogo.vue.js";
|
|
5
5
|
import { useActiveEntities as W } from "../../store/active-entities.js";
|
|
6
6
|
import F from "./components/SettingsAppearance.vue.js";
|
|
7
|
-
import
|
|
7
|
+
import w from "./components/SettingsSection.vue.js";
|
|
8
8
|
import { useWorkspace as O } from "../../store/store.js";
|
|
9
|
-
const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto ml-auto w-full max-w-[720px] px-5 py-5" }, q = { class: "flex flex-col gap-8" }, H = { class: "flex flex-col gap-2" }, M = { class: "flex flex-col gap-2" }, X = { class: "grid grid-cols-2 gap-2" }, Y = { class: "flex items-center gap-2" }, J = { class: "flex items-center gap-1" }, K = { class: "grid grid-cols-2 gap-2" }, Q = { class: "flex items-center gap-2" }, Z = { class: "flex items-center gap-1" }, I = { class: "size-7 rounded-xl" },
|
|
9
|
+
const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto ml-auto w-full max-w-[720px] px-5 py-5" }, q = { class: "flex flex-col gap-8" }, H = { class: "flex flex-col gap-2" }, M = { class: "flex flex-col gap-2" }, X = { class: "grid grid-cols-2 gap-2" }, Y = { class: "flex items-center gap-2" }, J = { class: "flex items-center gap-1" }, K = { class: "grid grid-cols-2 gap-2" }, Q = { class: "flex items-center gap-2" }, Z = { class: "flex items-center gap-1" }, I = { class: "size-7 rounded-xl" }, _ = "https://proxy.scalar.com", ce = /* @__PURE__ */ P({
|
|
10
10
|
__name: "SettingsGeneral",
|
|
11
11
|
setup(ee) {
|
|
12
12
|
const { activeWorkspace: o } = W(), { proxyUrl: k, workspaceMutators: j } = O(), L = [
|
|
@@ -21,7 +21,7 @@ const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto
|
|
|
21
21
|
// 'mars',
|
|
22
22
|
// 'deepSpace',
|
|
23
23
|
// 'laserwave',
|
|
24
|
-
], N = ["elysiajs", "fastify"],
|
|
24
|
+
], N = ["elysiajs", "fastify"], C = (x) => ({
|
|
25
25
|
default: { light: "#fff", dark: "#0f0f0f", accent: "#0099ff" },
|
|
26
26
|
alternate: { light: "#f9f9f9", dark: "#131313", accent: "#e7e7e7" },
|
|
27
27
|
moon: { light: "#ccc9b3", dark: "#313332", accent: "#645b0f" },
|
|
@@ -55,7 +55,7 @@ const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto
|
|
|
55
55
|
t[13] || (t[13] = r("div", null, [
|
|
56
56
|
r("h2", { class: "mt-10 text-xl font-bold" }, "Settings")
|
|
57
57
|
], -1)),
|
|
58
|
-
c(
|
|
58
|
+
c(w, null, {
|
|
59
59
|
title: n(() => t[3] || (t[3] = [
|
|
60
60
|
a(" CORS Proxy ")
|
|
61
61
|
])),
|
|
@@ -82,21 +82,21 @@ const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto
|
|
|
82
82
|
class: f(
|
|
83
83
|
e(v)(
|
|
84
84
|
e(g)({
|
|
85
|
-
active: ((s = e(o)) == null ? void 0 : s.proxyUrl) ===
|
|
85
|
+
active: ((s = e(o)) == null ? void 0 : s.proxyUrl) === _
|
|
86
86
|
})
|
|
87
87
|
)
|
|
88
88
|
),
|
|
89
|
-
onClick: t[0] || (t[0] = (l) => U(
|
|
89
|
+
onClick: t[0] || (t[0] = (l) => U(_))
|
|
90
90
|
}, {
|
|
91
91
|
default: n(() => {
|
|
92
92
|
var l, p;
|
|
93
93
|
return [
|
|
94
94
|
r("div", {
|
|
95
95
|
class: f(["flex h-5 w-5 items-center justify-center rounded-full border-[1.5px] p-1", {
|
|
96
|
-
"bg-c-accent text-b-1 border-transparent": ((l = e(o)) == null ? void 0 : l.proxyUrl) ===
|
|
96
|
+
"bg-c-accent text-b-1 border-transparent": ((l = e(o)) == null ? void 0 : l.proxyUrl) === _
|
|
97
97
|
}])
|
|
98
98
|
}, [
|
|
99
|
-
((p = e(o)) == null ? void 0 : p.proxyUrl) ===
|
|
99
|
+
((p = e(o)) == null ? void 0 : p.proxyUrl) === _ ? (d(), m(e(h), {
|
|
100
100
|
key: 0,
|
|
101
101
|
icon: "Checkmark",
|
|
102
102
|
size: "xs",
|
|
@@ -106,9 +106,10 @@ const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto
|
|
|
106
106
|
t[5] || (t[5] = a(" Use proxy.scalar.com (default) "))
|
|
107
107
|
];
|
|
108
108
|
}),
|
|
109
|
-
_: 1
|
|
109
|
+
_: 1,
|
|
110
|
+
__: [5]
|
|
110
111
|
}, 8, ["class"]),
|
|
111
|
-
e(k) && e(k) !==
|
|
112
|
+
e(k) && e(k) !== _ ? (d(), m(e(y), {
|
|
112
113
|
key: 0,
|
|
113
114
|
class: f(
|
|
114
115
|
e(v)(
|
|
@@ -162,14 +163,15 @@ const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto
|
|
|
162
163
|
t[6] || (t[6] = a(" Skip the proxy "))
|
|
163
164
|
];
|
|
164
165
|
}),
|
|
165
|
-
_: 1
|
|
166
|
+
_: 1,
|
|
167
|
+
__: [6]
|
|
166
168
|
}, 8, ["class"])
|
|
167
169
|
])
|
|
168
170
|
];
|
|
169
171
|
}),
|
|
170
172
|
_: 1
|
|
171
173
|
}),
|
|
172
|
-
c(
|
|
174
|
+
c(w, null, {
|
|
173
175
|
title: n(() => t[7] || (t[7] = [
|
|
174
176
|
a(" Themes ")
|
|
175
177
|
])),
|
|
@@ -214,19 +216,19 @@ const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto
|
|
|
214
216
|
r("span", {
|
|
215
217
|
class: "border-c-3 -mr-3 inline-block h-5 w-5 rounded-full",
|
|
216
218
|
style: $({
|
|
217
|
-
backgroundColor:
|
|
219
|
+
backgroundColor: C(s).light
|
|
218
220
|
})
|
|
219
221
|
}, null, 4),
|
|
220
222
|
r("span", {
|
|
221
223
|
class: "border-c-3 -mr-3 inline-block h-5 w-5 rounded-full",
|
|
222
224
|
style: $({
|
|
223
|
-
backgroundColor:
|
|
225
|
+
backgroundColor: C(s).dark
|
|
224
226
|
})
|
|
225
227
|
}, null, 4),
|
|
226
228
|
r("span", {
|
|
227
229
|
class: "border-c-3 inline-block h-5 w-5 rounded-full",
|
|
228
230
|
style: $({
|
|
229
|
-
backgroundColor:
|
|
231
|
+
backgroundColor: C(s).accent
|
|
230
232
|
})
|
|
231
233
|
}, null, 4)
|
|
232
234
|
])
|
|
@@ -240,7 +242,7 @@ const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto
|
|
|
240
242
|
]),
|
|
241
243
|
_: 1
|
|
242
244
|
}),
|
|
243
|
-
c(
|
|
245
|
+
c(w, null, {
|
|
244
246
|
title: n(() => t[9] || (t[9] = [
|
|
245
247
|
a(" Framework Themes ")
|
|
246
248
|
])),
|
|
@@ -294,7 +296,7 @@ const D = { class: "bg-b-1 h-full w-full overflow-auto" }, G = { class: "mr-auto
|
|
|
294
296
|
]),
|
|
295
297
|
_: 1
|
|
296
298
|
}),
|
|
297
|
-
c(
|
|
299
|
+
c(w, null, {
|
|
298
300
|
title: n(() => t[11] || (t[11] = [
|
|
299
301
|
a(" Appearance ")
|
|
300
302
|
])),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as x, createElementBlock as y, openBlock as o, createVNode as l, unref as e, normalizeClass as s, withCtx as c, createElementVNode as i, createTextVNode as d, createBlock as u, createCommentVNode as f } from "vue";
|
|
2
2
|
import { cva as g, ScalarButton as m, cx as p, ScalarIcon as k } from "@scalar/components";
|
|
3
3
|
import { useColorMode as v } from "@scalar/use-hooks/useColorMode";
|
|
4
|
-
const C = { class: "flex flex-col gap-2" },
|
|
4
|
+
const C = { class: "flex flex-col gap-2" }, j = /* @__PURE__ */ x({
|
|
5
5
|
__name: "SettingsAppearance",
|
|
6
6
|
setup(h) {
|
|
7
7
|
const { colorMode: r, setColorMode: n } = v(), a = g({
|
|
@@ -33,7 +33,8 @@ const C = { class: "flex flex-col gap-2" }, z = /* @__PURE__ */ x({
|
|
|
33
33
|
], 2),
|
|
34
34
|
t[3] || (t[3] = d(" System Preference (default) "))
|
|
35
35
|
]),
|
|
36
|
-
_: 1
|
|
36
|
+
_: 1,
|
|
37
|
+
__: [3]
|
|
37
38
|
}, 8, ["class"]),
|
|
38
39
|
l(e(m), {
|
|
39
40
|
class: s(e(p)(e(a)({ active: e(r) === "light" }))),
|
|
@@ -54,7 +55,8 @@ const C = { class: "flex flex-col gap-2" }, z = /* @__PURE__ */ x({
|
|
|
54
55
|
], 2),
|
|
55
56
|
t[4] || (t[4] = d(" Light Mode Always "))
|
|
56
57
|
]),
|
|
57
|
-
_: 1
|
|
58
|
+
_: 1,
|
|
59
|
+
__: [4]
|
|
58
60
|
}, 8, ["class"]),
|
|
59
61
|
l(e(m), {
|
|
60
62
|
class: s(e(p)(e(a)({ active: e(r) === "dark" }))),
|
|
@@ -75,11 +77,12 @@ const C = { class: "flex flex-col gap-2" }, z = /* @__PURE__ */ x({
|
|
|
75
77
|
], 2),
|
|
76
78
|
t[5] || (t[5] = d(" Dark Mode Always "))
|
|
77
79
|
]),
|
|
78
|
-
_: 1
|
|
80
|
+
_: 1,
|
|
81
|
+
__: [5]
|
|
79
82
|
}, 8, ["class"])
|
|
80
83
|
]));
|
|
81
84
|
}
|
|
82
85
|
});
|
|
83
86
|
export {
|
|
84
|
-
|
|
87
|
+
j as default
|
|
85
88
|
};
|