@scalar/api-reference 1.26.2 → 1.28.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 +71 -0
- package/README.md +2 -6
- package/dist/browser/standalone.js +11517 -11467
- package/dist/browser/webpack-stats.json +1 -1
- package/dist/components/Content/ClientLibraries/ClientLibraries.vue.d.ts.map +1 -1
- package/dist/components/Content/ClientLibraries/ClientLibraries.vue.js +2 -2
- package/dist/components/Content/ClientLibraries/ClientLibraries.vue2.js +48 -40
- package/dist/components/Content/ClientLibraries/ClientSelector.vue.d.ts.map +1 -1
- package/dist/components/Content/ClientLibraries/ClientSelector.vue.js +2 -2
- package/dist/components/Content/ClientLibraries/ClientSelector.vue2.js +6 -7
- package/dist/components/Content/Schema/SchemaPropertyHeading.vue.d.ts.map +1 -1
- package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js +1 -1
- package/dist/components/Content/Schema/SchemaPropertyHeading.vue2.js +77 -77
- package/dist/components/Content/Tag/OperationsListItem.vue.js +2 -2
- package/dist/components/Content/Tag/OperationsListItem.vue2.js +1 -1
- package/dist/components/Layouts/ModernLayout.vue.js +2 -2
- package/dist/components/Layouts/ModernLayout.vue2.js +9 -12
- package/dist/components/Section/CompactSection.vue.d.ts.map +1 -1
- package/dist/components/Section/CompactSection.vue.js +1 -1
- package/dist/components/Sidebar/SidebarElement.vue.d.ts.map +1 -1
- package/dist/components/Sidebar/SidebarElement.vue.js +2 -2
- package/dist/components/Sidebar/SidebarElement.vue2.js +41 -40
- package/dist/components/SingleApiReference.vue.d.ts.map +1 -1
- package/dist/components/SingleApiReference.vue.js +6 -6
- package/dist/esm.d.ts +5 -1
- package/dist/esm.d.ts.map +1 -1
- package/dist/esm.js +12 -9
- package/dist/features/DownloadLink/DownloadLink.vue.js +1 -1
- package/dist/features/DownloadLink/DownloadLink.vue2.js +16 -16
- package/dist/features/Operation/components/ContentTypeSelect.vue.d.ts +1 -1
- package/dist/features/Operation/components/ContentTypeSelect.vue.d.ts.map +1 -1
- package/dist/features/Operation/components/ContentTypeSelect.vue.js +80 -5
- package/dist/features/Operation/components/ContentTypeSelect.vue2.js +2 -43
- package/dist/features/Operation/components/ParameterListItem.vue.d.ts.map +1 -1
- package/dist/features/Operation/components/ParameterListItem.vue.js +1 -1
- package/dist/features/Operation/components/ParameterListItem.vue2.js +37 -34
- package/dist/features/Operation/components/RequestBody.vue.d.ts.map +1 -1
- package/dist/features/Operation/components/RequestBody.vue.js +2 -2
- package/dist/features/Operation/components/RequestBody.vue2.js +15 -15
- package/dist/features/Operation/layouts/ModernLayout.vue.d.ts.map +1 -1
- package/dist/features/Operation/layouts/ModernLayout.vue.js +1 -1
- package/dist/features/Operation/layouts/ModernLayout.vue2.js +9 -8
- package/dist/helpers/scrollToId.d.ts +3 -1
- package/dist/helpers/scrollToId.d.ts.map +1 -1
- package/dist/helpers/scrollToId.js +4 -4
- package/dist/hooks/useMultipleDocuments.d.ts +9 -5
- package/dist/hooks/useMultipleDocuments.d.ts.map +1 -1
- package/dist/hooks/useMultipleDocuments.js +38 -38
- package/dist/hooks/useSidebar.d.ts +2 -2
- package/dist/hooks/useSidebar.d.ts.map +1 -1
- package/dist/hooks/useSidebar.js +84 -84
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +74 -72
- package/dist/standalone/lib/html-api.d.ts +30 -1
- package/dist/standalone/lib/html-api.d.ts.map +1 -1
- package/dist/standalone/lib/html-api.js +54 -0
- package/dist/standalone/lib/register-globals.d.ts +11 -0
- package/dist/standalone/lib/register-globals.d.ts.map +1 -0
- package/dist/style.css +1 -1
- package/package.json +11 -10
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as p, computed as v, ref as f, openBlock as d, createElementBlock as c, createElementVNode as q, renderSlot as B, createVNode as i, unref as h, createCommentVNode as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
const
|
|
1
|
+
import { defineComponent as p, computed as v, ref as f, openBlock as d, createElementBlock as c, createElementVNode as q, renderSlot as B, createVNode as i, unref as h, createCommentVNode as m } from "vue";
|
|
2
|
+
import b from "./ContentTypeSelect.vue.js";
|
|
3
|
+
import k from "../../../components/Content/Schema/Schema.vue.js";
|
|
4
|
+
const C = { key: 0 }, V = { class: "request-body-title" }, _ = {
|
|
5
5
|
key: 0,
|
|
6
6
|
class: "request-body-schema"
|
|
7
7
|
}, j = /* @__PURE__ */ p({
|
|
@@ -10,32 +10,32 @@ const k = { key: 0 }, V = { class: "request-body-title" }, S = {
|
|
|
10
10
|
requestBody: {}
|
|
11
11
|
},
|
|
12
12
|
setup(o) {
|
|
13
|
-
var
|
|
13
|
+
var s;
|
|
14
14
|
const n = v(
|
|
15
15
|
() => {
|
|
16
16
|
var e;
|
|
17
17
|
return Object.keys(((e = o.requestBody) == null ? void 0 : e.content) ?? {});
|
|
18
18
|
}
|
|
19
19
|
), t = f("application/json");
|
|
20
|
-
return (
|
|
21
|
-
var u,
|
|
22
|
-
return e.requestBody ? (d(), c("div",
|
|
20
|
+
return (s = o.requestBody) != null && s.content && n.value.length > 0 && (t.value = n.value[0]), (e, l) => {
|
|
21
|
+
var u, a, r;
|
|
22
|
+
return e.requestBody ? (d(), c("div", C, [
|
|
23
23
|
q("div", V, [
|
|
24
24
|
B(e.$slots, "title", {}, void 0, !0),
|
|
25
|
-
i(
|
|
25
|
+
i(b, {
|
|
26
26
|
defaultValue: t.value,
|
|
27
27
|
requestBody: e.requestBody,
|
|
28
|
-
onSelectContentType:
|
|
28
|
+
onSelectContentType: l[0] || (l[0] = ({ contentType: y }) => t.value = y)
|
|
29
29
|
}, null, 8, ["defaultValue", "requestBody"])
|
|
30
30
|
]),
|
|
31
|
-
(u = e.requestBody.content) != null && u[t.value] ? (d(), c("div",
|
|
32
|
-
i(h(
|
|
31
|
+
(u = e.requestBody.content) != null && u[t.value] ? (d(), c("div", _, [
|
|
32
|
+
i(h(k), {
|
|
33
33
|
compact: "",
|
|
34
34
|
noncollapsible: "",
|
|
35
|
-
value: (
|
|
35
|
+
value: (r = (a = e.requestBody.content) == null ? void 0 : a[t.value]) == null ? void 0 : r.schema
|
|
36
36
|
}, null, 8, ["value"])
|
|
37
|
-
])) :
|
|
38
|
-
])) :
|
|
37
|
+
])) : m("", !0)
|
|
38
|
+
])) : m("", !0);
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModernLayout.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/layouts/ModernLayout.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModernLayout.vue.d.ts","sourceRoot":"","sources":["../../../../src/features/Operation/layouts/ModernLayout.vue"],"names":[],"mappings":"AAqIA,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,MAAM,EACP,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AA4BhE,KAAK,WAAW,GAAG;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,0CAA0C;IAC1C,oBAAoB,EAAE,oBAAoB,CAAA;CAC3C,CAAC;;AAyOF,wBAOG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./ModernLayout.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import t from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-
|
|
4
|
+
const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-73a18189"]]);
|
|
5
5
|
export {
|
|
6
6
|
p as default
|
|
7
7
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as
|
|
1
|
+
import { defineComponent as b, useId as O, computed as S, openBlock as d, createBlock as m, unref as e, withCtx as t, createVNode as r, normalizeClass as s, createTextVNode as f, toDisplayString as u, createCommentVNode as y, createElementVNode as a } from "vue";
|
|
2
2
|
import { ScalarMarkdown as C, ScalarErrorBoundary as c } from "@scalar/components";
|
|
3
3
|
import g from "../../../components/OperationPath.vue.js";
|
|
4
4
|
import { getOperationStability as h, getOperationStabilityColor as _, isOperationDeprecated as k } from "../../../libs/operation.js";
|
|
@@ -15,7 +15,7 @@ import v from "../../../components/Section/SectionColumn.vue.js";
|
|
|
15
15
|
import D from "../../ExampleRequest/ExampleRequest.vue.js";
|
|
16
16
|
import H from "../../TestRequestButton/TestRequestButton.vue.js";
|
|
17
17
|
import M from "../../ExampleResponses/ExampleResponses.vue.js";
|
|
18
|
-
const $ = { class: "operation-details" }, z = { class: "examples" }, te = /* @__PURE__ */
|
|
18
|
+
const $ = { class: "operation-details" }, z = { class: "examples" }, te = /* @__PURE__ */ b({
|
|
19
19
|
__name: "ModernLayout",
|
|
20
20
|
props: {
|
|
21
21
|
id: {},
|
|
@@ -25,18 +25,19 @@ const $ = { class: "operation-details" }, z = { class: "examples" }, te = /* @__
|
|
|
25
25
|
transformedOperation: {}
|
|
26
26
|
},
|
|
27
27
|
setup(n) {
|
|
28
|
-
const i =
|
|
29
|
-
return (o, A) => (
|
|
28
|
+
const i = O(), l = S(() => n.operation.summary || n.operation.path);
|
|
29
|
+
return (o, A) => (d(), m(e(N), {
|
|
30
30
|
id: o.id,
|
|
31
31
|
"aria-labelledby": e(i),
|
|
32
|
-
label: l.value
|
|
32
|
+
label: l.value,
|
|
33
|
+
tabindex: "-1"
|
|
33
34
|
}, {
|
|
34
35
|
default: t(() => [
|
|
35
36
|
r(e(V), null, {
|
|
36
37
|
default: t(() => [
|
|
37
|
-
e(h)(o.operation) ? (
|
|
38
|
+
e(h)(o.operation) ? (d(), m(e(w), {
|
|
38
39
|
key: 0,
|
|
39
|
-
class:
|
|
40
|
+
class: s(e(_)(o.operation))
|
|
40
41
|
}, {
|
|
41
42
|
default: t(() => [
|
|
42
43
|
f(u(e(h)(o.operation)), 1)
|
|
@@ -44,7 +45,7 @@ const $ = { class: "operation-details" }, z = { class: "examples" }, te = /* @__
|
|
|
44
45
|
_: 1
|
|
45
46
|
}, 8, ["class"])) : y("", !0),
|
|
46
47
|
a("div", {
|
|
47
|
-
class:
|
|
48
|
+
class: s(e(k)(o.operation) ? "deprecated" : "")
|
|
48
49
|
}, [
|
|
49
50
|
r(e(I), null, {
|
|
50
51
|
default: t(() => [
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Tiny wrapper around the scrollIntoView API
|
|
3
|
+
*
|
|
4
|
+
* Also focuses the element if the focus flag is true
|
|
3
5
|
*/
|
|
4
|
-
export declare const scrollToId: (id: string) => Promise<void>;
|
|
6
|
+
export declare const scrollToId: (id: string, focus?: boolean) => Promise<void>;
|
|
5
7
|
//# sourceMappingURL=scrollToId.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollToId.d.ts","sourceRoot":"","sources":["../../src/helpers/scrollToId.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scrollToId.d.ts","sourceRoot":"","sources":["../../src/helpers/scrollToId.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,UAAU,OAAc,MAAM,UAAU,OAAO,kBAK3D,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
const
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
const c = async (e, t) => {
|
|
2
|
+
const o = document.getElementById(e);
|
|
3
|
+
o && (o.scrollIntoView(), t && o.focus());
|
|
4
4
|
};
|
|
5
5
|
export {
|
|
6
|
-
|
|
6
|
+
c as scrollToId
|
|
7
7
|
};
|
|
@@ -22,17 +22,21 @@ export declare const useMultipleDocuments: ({ configuration, initialIndex }: Use
|
|
|
22
22
|
hideSearch: boolean;
|
|
23
23
|
hideDarkModeToggle: boolean;
|
|
24
24
|
withDefaultFonts: boolean;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
servers?: any[] | undefined;
|
|
25
|
+
url?: string | undefined;
|
|
26
|
+
content?: string | Record<string, any> | ((...args: unknown[]) => Record<string, any>) | null | undefined;
|
|
27
|
+
title?: string | undefined;
|
|
28
|
+
slug?: string | undefined;
|
|
30
29
|
spec?: {
|
|
31
30
|
url?: string | undefined;
|
|
32
31
|
content?: string | Record<string, any> | ((...args: unknown[]) => Record<string, any>) | null | undefined;
|
|
33
32
|
title?: string | undefined;
|
|
34
33
|
slug?: string | undefined;
|
|
35
34
|
} | undefined;
|
|
35
|
+
authentication?: any;
|
|
36
|
+
baseServerURL?: string | undefined;
|
|
37
|
+
proxyUrl?: string | undefined;
|
|
38
|
+
searchHotKey?: "c" | "r" | "o" | "n" | "a" | "b" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "p" | "q" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" | undefined;
|
|
39
|
+
servers?: any[] | undefined;
|
|
36
40
|
_integration?: "go" | "elysiajs" | "fastify" | "adonisjs" | "docusaurus" | "dotnet" | "express" | "fastapi" | "hono" | "html" | "laravel" | "litestar" | "nestjs" | "nextjs" | "nitro" | "nuxt" | "platformatic" | "react" | "rust" | "vue" | null | undefined;
|
|
37
41
|
proxy?: string | undefined;
|
|
38
42
|
darkMode?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMultipleDocuments.d.ts","sourceRoot":"","sources":["../../src/hooks/useMultipleDocuments.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,oCAAoC,EAI1C,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EAAE,KAAK,GAAG,EAAwB,MAAM,KAAK,CAAA;AAKpD,KAAK,yBAAyB,GAAG;IAC/B;;;OAGG;IACH,aAAa,EAAE,GAAG,CACd,OAAO,CAAC,yBAAyB,CAAC,GAClC,OAAO,CAAC,yBAAyB,CAAC,EAAE,GACpC,OAAO,CAAC,oCAAoC,CAAC,GAC7C,SAAS,CACZ,CAAA;IACD,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAsCD,eAAO,MAAM,oBAAoB,oCAAqC,yBAAyB
|
|
1
|
+
{"version":3,"file":"useMultipleDocuments.d.ts","sourceRoot":"","sources":["../../src/hooks/useMultipleDocuments.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,oCAAoC,EAI1C,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EAAE,KAAK,GAAG,EAAwB,MAAM,KAAK,CAAA;AAKpD,KAAK,yBAAyB,GAAG;IAC/B;;;OAGG;IACH,aAAa,EAAE,GAAG,CACd,OAAO,CAAC,yBAAyB,CAAC,GAClC,OAAO,CAAC,yBAAyB,CAAC,EAAE,GACpC,OAAO,CAAC,oCAAoC,CAAC,GAC7C,SAAS,CACZ,CAAA;IACD,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAsCD,eAAO,MAAM,oBAAoB,oCAAqC,yBAAyB;;;;;;;;;;;;;;mDAqGu8yB,GAAG;;;;eAAoJ,CAAC;mBAAqC,CAAC,mCAAmC,GAAG;iBAA0E,CAAC;gBAAkC,CAAC;;;;;;;;;;;;;;;;;;;yCAAwsC,GAAI;2CAA6E,GAAI;;;;;gBAA0J,CAAC;WAA4B,GAAI;;gBAAyF,CAAC;WAA4B,GAAI;;gBAAuF,CAAC;WAA4B,GAAI;;;;uBAAkJ,CAAC;mBAAqC,CAAC;WAA4B,GAAI;;;kBAAmH,CAAC;WAA4B,GAAI;qBAA0D,GAAG;qCAAuE,GAAI;;2DAAgK,GAAI;4EAAgH,GAAI;;;;mDAhGv04B,GAAG;;;;;CA+FV,CAAA"}
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import { isDefined as
|
|
2
|
-
import { isConfigurationWithSources as
|
|
3
|
-
import
|
|
4
|
-
import { computed as m, ref as
|
|
5
|
-
const
|
|
6
|
-
if (!(!(
|
|
7
|
-
return f.reset(),
|
|
8
|
-
...
|
|
9
|
-
slug:
|
|
10
|
-
title:
|
|
11
|
-
} :
|
|
12
|
-
...
|
|
13
|
-
title:
|
|
1
|
+
import { isDefined as c } from "@scalar/oas-utils/helpers";
|
|
2
|
+
import { isConfigurationWithSources as i, apiReferenceConfigurationSchema as o } from "@scalar/types/api-reference";
|
|
3
|
+
import h from "github-slugger";
|
|
4
|
+
import { computed as m, ref as w, watch as S } from "vue";
|
|
5
|
+
const p = "api", f = new h(), I = (t, a = 0) => {
|
|
6
|
+
if (!(!(t != null && t.url) && !(t != null && t.content)))
|
|
7
|
+
return f.reset(), t.title ? {
|
|
8
|
+
...t,
|
|
9
|
+
slug: t.slug || f.slug(t.title),
|
|
10
|
+
title: t.title
|
|
11
|
+
} : t.slug ? {
|
|
12
|
+
...t,
|
|
13
|
+
title: t.slug
|
|
14
14
|
} : {
|
|
15
|
-
...
|
|
16
|
-
slug: `api-${
|
|
17
|
-
title: `API #${
|
|
15
|
+
...t,
|
|
16
|
+
slug: `api-${a + 1}`,
|
|
17
|
+
title: `API #${a + 1}`
|
|
18
18
|
};
|
|
19
|
-
}, U = ({ configuration:
|
|
20
|
-
const
|
|
21
|
-
var
|
|
22
|
-
return
|
|
23
|
-
}), v = (
|
|
24
|
-
if (
|
|
19
|
+
}, U = ({ configuration: t, initialIndex: a }) => {
|
|
20
|
+
const s = m(() => {
|
|
21
|
+
var e;
|
|
22
|
+
return t.value ? (i(t.value) ? ((e = t.value) == null ? void 0 : e.sources) ?? [] : [t.value].flat().map((l) => l)).map((l, r) => l && I(l, r)).filter(c) : [];
|
|
23
|
+
}), v = (n) => {
|
|
24
|
+
if (s.value.length === 1)
|
|
25
25
|
return;
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
const
|
|
30
|
-
if (
|
|
31
|
-
return
|
|
32
|
-
const
|
|
33
|
-
return !isNaN(
|
|
26
|
+
const e = new URL(window.location.href), l = s.value[n], r = (l == null ? void 0 : l.slug) ?? n.toString();
|
|
27
|
+
e.searchParams.set(p, r), e.hash = "", window.scrollTo({ top: 0, behavior: "instant" }), window.history.replaceState({}, "", e.toString());
|
|
28
|
+
}, u = w((() => {
|
|
29
|
+
const e = new URL(window.location.href).searchParams.get(p) || "0", l = s.value.findIndex((d) => d.slug === e);
|
|
30
|
+
if (l !== -1)
|
|
31
|
+
return l;
|
|
32
|
+
const r = Number.parseInt(e, 10);
|
|
33
|
+
return !isNaN(r) && r >= 0 && r < s.value.length ? r : typeof a == "number" ? a : 0;
|
|
34
34
|
})()), g = m(() => {
|
|
35
|
-
var
|
|
36
|
-
return
|
|
37
|
-
...
|
|
38
|
-
|
|
39
|
-
}) :
|
|
35
|
+
var n, e;
|
|
36
|
+
return t.value && i(t.value) ? o.parse({
|
|
37
|
+
...t.value,
|
|
38
|
+
...(e = (n = t.value) == null ? void 0 : n.sources) == null ? void 0 : e[u.value]
|
|
39
|
+
}) : o.parse([t.value].flat()[u.value] ?? {});
|
|
40
40
|
});
|
|
41
|
-
return
|
|
41
|
+
return S(u, v, { flush: "sync" }), {
|
|
42
42
|
selectedConfiguration: g,
|
|
43
|
-
availableDocuments:
|
|
44
|
-
selectedDocumentIndex:
|
|
43
|
+
availableDocuments: s,
|
|
44
|
+
selectedDocumentIndex: u
|
|
45
45
|
};
|
|
46
46
|
};
|
|
47
47
|
export {
|
|
@@ -29,7 +29,7 @@ export type SorterOption = {
|
|
|
29
29
|
* it uses the lazyBus to ensure the section is open before scrolling to it
|
|
30
30
|
*
|
|
31
31
|
*/
|
|
32
|
-
export declare const scrollToOperation: (operationId: string) => void;
|
|
32
|
+
export declare const scrollToOperation: (operationId: string, focus?: boolean) => void;
|
|
33
33
|
/**
|
|
34
34
|
* Provides the sidebar state and methods to control it.
|
|
35
35
|
*/
|
|
@@ -46,7 +46,7 @@ export declare function useSidebar(options?: ParsedSpecOption & SorterOption): {
|
|
|
46
46
|
hideModels: import("vue").Ref<boolean, boolean>;
|
|
47
47
|
setParsedSpec: typeof setParsedSpec;
|
|
48
48
|
defaultOpenAllTags: import("vue").Ref<boolean, boolean>;
|
|
49
|
-
scrollToOperation: (operationId: string) => void;
|
|
49
|
+
scrollToOperation: (operationId: string, focus?: boolean) => void;
|
|
50
50
|
};
|
|
51
51
|
export {};
|
|
52
52
|
//# sourceMappingURL=useSidebar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSidebar.d.ts","sourceRoot":"","sources":["../../src/hooks/useSidebar.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAa3E,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAcD,uDAAuD;AACvD,iBAAS,aAAa,CAAC,IAAI,EAAE,IAAI,QA0ChC;AAMD,KAAK,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAIpD,iBAAS,0BAA0B,CAAC,GAAG,EAAE,MAAM,QAE9C;AAED,iBAAS,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,QAE3D;AAgOD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,IAAI,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,CAAA;IACnD,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,KAAK,MAAM,CAAC,CAAA;CACvG,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,gBAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"useSidebar.d.ts","sourceRoot":"","sources":["../../src/hooks/useSidebar.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAa3E,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAcD,uDAAuD;AACvD,iBAAS,aAAa,CAAC,IAAI,EAAE,IAAI,QA0ChC;AAMD,KAAK,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAIpD,iBAAS,0BAA0B,CAAC,GAAG,EAAE,MAAM,QAE9C;AAED,iBAAS,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,QAE3D;AAgOD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,IAAI,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,CAAA;IACnD,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,KAAK,MAAM,CAAC,CAAA;CACvG,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,gBAAiB,MAAM,UAAU,OAAO,SAerE,CAAA;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,YAAY;;;;;;;;;;;;;qCApBrB,MAAM,UAAU,OAAO;EA2ErE"}
|
package/dist/hooks/useSidebar.js
CHANGED
|
@@ -9,75 +9,75 @@ import { getModels as P } from "../helpers/getModels.js";
|
|
|
9
9
|
import { hasWebhooks as te } from "../helpers/hasWebhooks.js";
|
|
10
10
|
import { scrollToId as R } from "../helpers/scrollToId.js";
|
|
11
11
|
import { getHeadingsFromMarkdown as se } from "../helpers/getHeadingsFromMarkdown.js";
|
|
12
|
-
const y = S(null),
|
|
12
|
+
const y = S(null), u = S(void 0), v = q({});
|
|
13
13
|
function _(t) {
|
|
14
|
-
var p,
|
|
15
|
-
v.tagsSorter === "alpha" ? t.tags = (p = t.tags) == null ? void 0 : p.sort((s,
|
|
16
|
-
const
|
|
17
|
-
const x = s.name ?? s.path, g =
|
|
14
|
+
var p, r, i;
|
|
15
|
+
v.tagsSorter === "alpha" ? t.tags = (p = t.tags) == null ? void 0 : p.sort((s, d) => s.name.localeCompare(d.name)) : typeof v.tagsSorter == "function" && (t.tags = (r = t.tags) == null ? void 0 : r.sort(v.tagsSorter));
|
|
16
|
+
const a = (s, d) => {
|
|
17
|
+
const x = s.name ?? s.path, g = d.name ?? d.path;
|
|
18
18
|
return x.localeCompare(g);
|
|
19
|
-
},
|
|
20
|
-
let
|
|
21
|
-
return v.operationsSorter === "alpha" ?
|
|
22
|
-
var
|
|
23
|
-
s.operations = (
|
|
24
|
-
})),
|
|
19
|
+
}, l = (s, d) => s.httpVerb.localeCompare(d.httpVerb);
|
|
20
|
+
let c;
|
|
21
|
+
return v.operationsSorter === "alpha" ? c = a : v.operationsSorter === "method" ? c = l : typeof v.operationsSorter == "function" && (c = v.operationsSorter), c && ((i = t.tags) == null || i.forEach((s) => {
|
|
22
|
+
var d;
|
|
23
|
+
s.operations = (d = s.operations) == null ? void 0 : d.sort(c);
|
|
24
|
+
})), u.value = t;
|
|
25
25
|
}
|
|
26
26
|
const N = S(!1), Q = S(!1), T = q(Y["useSidebarContent-collapsedSidebarItems"] ?? {});
|
|
27
27
|
function re(t) {
|
|
28
28
|
T[t] = !T[t];
|
|
29
29
|
}
|
|
30
|
-
function w(t,
|
|
31
|
-
T[t] =
|
|
30
|
+
function w(t, a) {
|
|
31
|
+
T[t] = a;
|
|
32
32
|
}
|
|
33
33
|
const k = S([]);
|
|
34
34
|
function oe(t) {
|
|
35
|
-
const
|
|
36
|
-
return
|
|
35
|
+
const a = se(t), l = K(a);
|
|
36
|
+
return a.filter((c) => (
|
|
37
37
|
// highest level, eg. # Introduction
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
c.depth === l || // second highest level, eg. ## Authentication
|
|
39
|
+
c.depth === l + 1
|
|
40
40
|
));
|
|
41
41
|
}
|
|
42
42
|
const U = J(() => {
|
|
43
43
|
var C, H, B, E, j, V, D, G, L, W;
|
|
44
44
|
if (!y.value) return { entries: [], titles: {} };
|
|
45
|
-
const { getHeadingId: t, getModelId:
|
|
45
|
+
const { getHeadingId: t, getModelId: a, getOperationId: l, getTagId: c, getWebhookId: p } = y.value, r = {}, i = [];
|
|
46
46
|
let s = null;
|
|
47
47
|
k.value.forEach((e) => {
|
|
48
|
-
var
|
|
48
|
+
var o;
|
|
49
49
|
e.depth === K(k.value) ? (s = {
|
|
50
50
|
id: t(e),
|
|
51
51
|
title: e.value,
|
|
52
52
|
show: !0,
|
|
53
53
|
children: []
|
|
54
|
-
},
|
|
54
|
+
}, i.push(s)) : s && ((o = s.children) == null || o.push({
|
|
55
55
|
id: t(e),
|
|
56
56
|
title: e.value,
|
|
57
57
|
show: !0
|
|
58
58
|
}));
|
|
59
59
|
});
|
|
60
|
-
const
|
|
61
|
-
var
|
|
62
|
-
return ((
|
|
60
|
+
const d = (H = (C = u.value) == null ? void 0 : C.tags) == null ? void 0 : H[0], g = d && ((e) => (e == null ? void 0 : e.length) !== 1 || e[0].name !== "default" || e[0].description !== "")((B = u.value) == null ? void 0 : B.tags) ? (j = (E = u.value) == null ? void 0 : E.tags) == null ? void 0 : j.filter((e) => {
|
|
61
|
+
var o;
|
|
62
|
+
return ((o = e.operations) == null ? void 0 : o.length) > 0;
|
|
63
63
|
}).map((e) => {
|
|
64
|
-
var
|
|
64
|
+
var o;
|
|
65
65
|
return {
|
|
66
|
-
id:
|
|
66
|
+
id: c(e),
|
|
67
67
|
title: e.name,
|
|
68
68
|
displayTitle: e["x-displayName"] ?? e.name,
|
|
69
69
|
show: !0,
|
|
70
|
-
children: (
|
|
70
|
+
children: (o = e.operations) == null ? void 0 : o.map((n) => {
|
|
71
71
|
var m, b;
|
|
72
|
-
const h =
|
|
73
|
-
return
|
|
72
|
+
const h = l(n, e), f = n.name ?? n.path;
|
|
73
|
+
return r[h] = f, {
|
|
74
74
|
id: h,
|
|
75
75
|
title: f,
|
|
76
|
-
httpVerb:
|
|
76
|
+
httpVerb: n.httpVerb,
|
|
77
77
|
// TODO: Workaround until we’re using the store directly
|
|
78
|
-
deprecated:
|
|
79
|
-
deprecated: (m =
|
|
80
|
-
"x-scalar-stability": (b =
|
|
78
|
+
deprecated: n.information ? F({
|
|
79
|
+
deprecated: (m = n.information) == null ? void 0 : m.deprecated,
|
|
80
|
+
"x-scalar-stability": (b = n.information) == null ? void 0 : b["x-scalar-stability"]
|
|
81
81
|
}) : !1,
|
|
82
82
|
show: !0,
|
|
83
83
|
select: () => {
|
|
@@ -85,12 +85,12 @@ const U = J(() => {
|
|
|
85
85
|
};
|
|
86
86
|
})
|
|
87
87
|
};
|
|
88
|
-
}) : (V =
|
|
88
|
+
}) : (V = d == null ? void 0 : d.operations) == null ? void 0 : V.map((e) => {
|
|
89
89
|
var h, f;
|
|
90
|
-
const
|
|
91
|
-
return
|
|
92
|
-
id:
|
|
93
|
-
title:
|
|
90
|
+
const o = l(e, d), n = e.name ?? e.path;
|
|
91
|
+
return r[o] = n, {
|
|
92
|
+
id: o,
|
|
93
|
+
title: n,
|
|
94
94
|
httpVerb: e.httpVerb,
|
|
95
95
|
// TODO: Workaround until we’re using the store directly
|
|
96
96
|
deprecated: e.information ? F({
|
|
@@ -102,35 +102,35 @@ const U = J(() => {
|
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
});
|
|
105
|
-
let I = ee(
|
|
105
|
+
let I = ee(u.value) && !N.value ? [
|
|
106
106
|
{
|
|
107
|
-
id:
|
|
107
|
+
id: a(),
|
|
108
108
|
title: "Models",
|
|
109
109
|
show: !0,
|
|
110
|
-
children: Object.keys(P(
|
|
111
|
-
var
|
|
112
|
-
const
|
|
113
|
-
return
|
|
114
|
-
id:
|
|
115
|
-
title: ((
|
|
110
|
+
children: Object.keys(P(u.value) ?? {}).map((e) => {
|
|
111
|
+
var n;
|
|
112
|
+
const o = a({ name: e });
|
|
113
|
+
return r[o] = e, {
|
|
114
|
+
id: o,
|
|
115
|
+
title: ((n = P(u.value)) == null ? void 0 : n[e]).title ?? e,
|
|
116
116
|
show: !0
|
|
117
117
|
};
|
|
118
118
|
})
|
|
119
119
|
}
|
|
120
|
-
] : [], O = te(
|
|
120
|
+
] : [], O = te(u.value) ? [
|
|
121
121
|
{
|
|
122
122
|
id: p(),
|
|
123
123
|
title: "Webhooks",
|
|
124
124
|
show: !0,
|
|
125
|
-
children: Object.keys(((D =
|
|
126
|
-
var
|
|
127
|
-
const
|
|
128
|
-
return
|
|
125
|
+
children: Object.keys(((D = u.value) == null ? void 0 : D.webhooks) ?? {}).flatMap((e) => {
|
|
126
|
+
var n, h;
|
|
127
|
+
const o = p({ name: e });
|
|
128
|
+
return r[o] = e, Object.keys(((h = (n = u.value) == null ? void 0 : n.webhooks) == null ? void 0 : h[e]) ?? {}).map(
|
|
129
129
|
(f) => {
|
|
130
130
|
var m, b, A;
|
|
131
131
|
return {
|
|
132
132
|
id: p({ name: e, method: f }),
|
|
133
|
-
title: (A = (b = (m =
|
|
133
|
+
title: (A = (b = (m = u.value) == null ? void 0 : m.webhooks) == null ? void 0 : b[e][f]) == null ? void 0 : A.name,
|
|
134
134
|
httpVerb: f,
|
|
135
135
|
show: !0
|
|
136
136
|
};
|
|
@@ -139,27 +139,27 @@ const U = J(() => {
|
|
|
139
139
|
})
|
|
140
140
|
}
|
|
141
141
|
] : [];
|
|
142
|
-
const X = (G =
|
|
142
|
+
const X = (G = u.value) != null && G["x-tagGroups"] ? (W = (L = u.value) == null ? void 0 : L["x-tagGroups"]) == null ? void 0 : W.map((e) => {
|
|
143
143
|
var h;
|
|
144
|
-
const
|
|
144
|
+
const o = [];
|
|
145
145
|
return (h = e.tags) == null || h.map((f) => {
|
|
146
146
|
if (f === "models" && I.length > 0)
|
|
147
|
-
|
|
147
|
+
o.push(I[0]), I = [];
|
|
148
148
|
else if (f === "webhooks" && O.length > 0)
|
|
149
|
-
|
|
149
|
+
o.push(O[0]), O = [];
|
|
150
150
|
else {
|
|
151
151
|
const m = g == null ? void 0 : g.find((b) => b.title === f);
|
|
152
|
-
m &&
|
|
152
|
+
m && o.push(m);
|
|
153
153
|
}
|
|
154
154
|
}), {
|
|
155
155
|
id: e.name,
|
|
156
156
|
title: e.name,
|
|
157
|
-
children:
|
|
157
|
+
children: o,
|
|
158
158
|
show: !0,
|
|
159
159
|
isGroup: !0
|
|
160
160
|
};
|
|
161
161
|
}) : void 0, M = [
|
|
162
|
-
...
|
|
162
|
+
...i,
|
|
163
163
|
...X ?? g ?? [],
|
|
164
164
|
...O,
|
|
165
165
|
...I
|
|
@@ -168,53 +168,53 @@ const U = J(() => {
|
|
|
168
168
|
w(e.id, !0), e.show = !0;
|
|
169
169
|
}), {
|
|
170
170
|
entries: M,
|
|
171
|
-
titles:
|
|
171
|
+
titles: r
|
|
172
172
|
};
|
|
173
173
|
}), ae = S(!1), le = J(() => {
|
|
174
|
-
var t,
|
|
175
|
-
return ((
|
|
176
|
-
}), ie = (t) => {
|
|
177
|
-
var
|
|
178
|
-
const
|
|
179
|
-
if (
|
|
180
|
-
if (T[
|
|
181
|
-
R(t);
|
|
174
|
+
var t, a, l;
|
|
175
|
+
return ((l = (t = U.value) == null ? void 0 : t.titles) == null ? void 0 : l[((a = y.value) == null ? void 0 : a.hash) ?? ""]) ?? "";
|
|
176
|
+
}), ie = (t, a) => {
|
|
177
|
+
var c;
|
|
178
|
+
const l = (c = y.value) == null ? void 0 : c.getSectionId(t);
|
|
179
|
+
if (l && l !== t)
|
|
180
|
+
if (T[l])
|
|
181
|
+
R(t, a);
|
|
182
182
|
else {
|
|
183
|
-
const
|
|
184
|
-
|
|
183
|
+
const p = Z.on((r) => {
|
|
184
|
+
r.id === t && (R(t, a), p());
|
|
185
185
|
});
|
|
186
|
-
w(
|
|
186
|
+
w(l, !0);
|
|
187
187
|
}
|
|
188
188
|
};
|
|
189
189
|
function Se(t) {
|
|
190
190
|
Object.assign(v, t);
|
|
191
|
-
const
|
|
192
|
-
y.value =
|
|
193
|
-
const { hash:
|
|
191
|
+
const a = $();
|
|
192
|
+
y.value = a;
|
|
193
|
+
const { hash: l, getSectionId: c, getTagId: p } = a;
|
|
194
194
|
return t != null && t.parsedSpec && (_(t.parsedSpec), z(
|
|
195
195
|
() => {
|
|
196
|
-
var
|
|
197
|
-
return (
|
|
196
|
+
var r, i;
|
|
197
|
+
return (i = (r = u.value) == null ? void 0 : r.tags) == null ? void 0 : i.length;
|
|
198
198
|
},
|
|
199
199
|
() => {
|
|
200
|
-
var
|
|
201
|
-
if (
|
|
202
|
-
const s =
|
|
200
|
+
var r, i;
|
|
201
|
+
if (l.value) {
|
|
202
|
+
const s = c(l.value);
|
|
203
203
|
s && w(s, !0);
|
|
204
204
|
} else {
|
|
205
|
-
const s = (
|
|
205
|
+
const s = (i = (r = u.value) == null ? void 0 : r.tags) == null ? void 0 : i[0];
|
|
206
206
|
s && w(p(s), !0);
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
209
|
), z(
|
|
210
210
|
() => {
|
|
211
|
-
var
|
|
212
|
-
return (
|
|
211
|
+
var r, i;
|
|
212
|
+
return (i = (r = u.value) == null ? void 0 : r.info) == null ? void 0 : i.description;
|
|
213
213
|
},
|
|
214
214
|
() => {
|
|
215
|
-
var
|
|
216
|
-
const
|
|
217
|
-
return
|
|
215
|
+
var i, s;
|
|
216
|
+
const r = (s = (i = u.value) == null ? void 0 : i.info) == null ? void 0 : s.description;
|
|
217
|
+
return r ? k.value = oe(r) : k.value = [];
|
|
218
218
|
},
|
|
219
219
|
{
|
|
220
220
|
immediate: !0
|
package/dist/index.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
export { default as ApiReference } from './components/ApiReference.vue.js';
|
|
2
2
|
export { default as ApiReferenceLayout } from './components/ApiReferenceLayout.vue.js';
|
|
3
3
|
export { default as ModernLayout } from './components/Layouts/ModernLayout.vue.js';
|
|
4
|
-
export
|
|
4
|
+
export { SearchButton, SearchModal } from './features/Search';
|
|
5
5
|
export { default as GettingStarted } from './components/GettingStarted.vue.js';
|
|
6
|
-
export { createScalarReferences } from './esm.js';
|
|
7
6
|
export { useReactiveSpec } from './hooks/useReactiveSpec.js';
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
7
|
+
export { createApiReference } from './standalone/lib/html-api.js';
|
|
8
|
+
export { Sidebar } from './components/Sidebar';
|
|
9
|
+
export { Card, CardHeader, CardContent, CardFooter, CardTabHeader, CardTab } from './components/Card';
|
|
10
|
+
export { Layouts } from './components/Layouts';
|
|
11
11
|
export * from './stores';
|
|
12
12
|
export * from './helpers';
|
|
13
13
|
export * from './types';
|
|
14
14
|
export * from './hooks';
|
|
15
|
+
export { createScalarReferences } from './esm.js';
|
|
15
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uCAAuC,CAAA;AAC/E,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAE3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AACrG,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAE9C,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AAGvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,OAAO,CAAA"}
|