@scalar/api-client 2.22.3 → 2.23.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.
Files changed (121) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/style.css +1 -1
  3. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts +13 -3
  4. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts.map +1 -1
  5. package/dist/v2/blocks/operation-block/OperationBlock.vue.js +68 -68
  6. package/dist/v2/blocks/operation-block/helpers/build-request-security.d.ts +5 -3
  7. package/dist/v2/blocks/operation-block/helpers/build-request-security.d.ts.map +1 -1
  8. package/dist/v2/blocks/operation-block/helpers/build-request-security.js +1 -1
  9. package/dist/v2/blocks/operation-block/helpers/build-request.d.ts +3 -2
  10. package/dist/v2/blocks/operation-block/helpers/build-request.d.ts.map +1 -1
  11. package/dist/v2/blocks/operation-block/index.d.ts +2 -1
  12. package/dist/v2/blocks/operation-block/index.d.ts.map +1 -1
  13. package/dist/v2/blocks/operation-block/index.js +7 -4
  14. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.d.ts +3 -2
  15. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.d.ts.map +1 -1
  16. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.js +2 -2
  17. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.d.ts +3 -2
  18. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.d.ts.map +1 -1
  19. package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.d.ts +2 -2
  20. package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.d.ts.map +1 -1
  21. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts +3 -2
  22. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts.map +1 -1
  23. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.d.ts +2 -2
  24. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.d.ts.map +1 -1
  25. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts +8 -5
  26. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
  27. package/dist/v2/blocks/request-block/RequestBlock.vue.js +2 -2
  28. package/dist/v2/blocks/request-block/RequestBlock.vue2.js +4 -4
  29. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.d.ts.map +1 -1
  30. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js +49 -45
  31. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +1 -1
  32. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts +4 -2
  33. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts.map +1 -1
  34. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts +18 -181
  35. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts.map +1 -1
  36. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js +118 -107
  37. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts +3 -2
  38. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts.map +1 -1
  39. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js +30 -33
  40. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts +11 -178
  41. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts.map +1 -1
  42. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js +107 -110
  43. package/dist/v2/blocks/scalar-auth-selector-block/helpers/auth-options.d.ts.map +1 -1
  44. package/dist/v2/blocks/scalar-auth-selector-block/helpers/auth-options.js +5 -29
  45. package/dist/v2/blocks/scalar-auth-selector-block/helpers/extract-security-scheme-secrets.d.ts +6 -0
  46. package/dist/v2/blocks/scalar-auth-selector-block/helpers/extract-security-scheme-secrets.d.ts.map +1 -0
  47. package/dist/v2/blocks/scalar-auth-selector-block/helpers/extract-security-scheme-secrets.js +85 -0
  48. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-security.d.ts +9 -0
  49. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-security.d.ts.map +1 -0
  50. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-security.js +15 -0
  51. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts +3 -2
  52. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts.map +1 -1
  53. package/dist/v2/blocks/scalar-auth-selector-block/helpers/secret-types.d.ts +23 -0
  54. package/dist/v2/blocks/scalar-auth-selector-block/helpers/secret-types.d.ts.map +1 -0
  55. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts +2 -2
  56. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts.map +1 -1
  57. package/dist/v2/blocks/scalar-auth-selector-block/index.js +4 -6
  58. package/dist/v2/features/app/App.vue.d.ts.map +1 -1
  59. package/dist/v2/features/app/App.vue.js +127 -92
  60. package/dist/v2/features/app/app-state.d.ts +1 -1
  61. package/dist/v2/features/app/app-state.d.ts.map +1 -1
  62. package/dist/v2/features/app/app-state.js +145 -142
  63. package/dist/v2/features/app/helpers/routes.d.ts +1 -1
  64. package/dist/v2/features/app/helpers/routes.d.ts.map +1 -1
  65. package/dist/v2/features/app/helpers/routes.js +31 -25
  66. package/dist/v2/features/collection/components/Authentication.vue.d.ts.map +1 -1
  67. package/dist/v2/features/collection/components/Authentication.vue.js +1 -1
  68. package/dist/v2/features/collection/components/Authentication.vue2.js +14 -11
  69. package/dist/v2/features/import-listener/ImportListener.vue.d.ts +52 -0
  70. package/dist/v2/features/import-listener/ImportListener.vue.d.ts.map +1 -0
  71. package/dist/v2/features/import-listener/ImportListener.vue.js +91 -0
  72. package/dist/v2/features/import-listener/ImportListener.vue2.js +4 -0
  73. package/dist/v2/features/import-listener/components/DropEventListener.vue.d.ts +7 -0
  74. package/dist/v2/features/import-listener/components/DropEventListener.vue.d.ts.map +1 -0
  75. package/dist/v2/features/import-listener/components/DropEventListener.vue.js +81 -0
  76. package/dist/v2/features/import-listener/components/DropEventListener.vue2.js +4 -0
  77. package/dist/v2/features/import-listener/components/ImportModal.vue.d.ts +40 -0
  78. package/dist/v2/features/import-listener/components/ImportModal.vue.d.ts.map +1 -0
  79. package/dist/v2/features/import-listener/components/ImportModal.vue.js +170 -0
  80. package/dist/v2/features/import-listener/components/ImportModal.vue3.js +5 -0
  81. package/dist/v2/features/import-listener/components/WorkspaceSelector.vue.d.ts +29 -0
  82. package/dist/v2/features/import-listener/components/WorkspaceSelector.vue.d.ts.map +1 -0
  83. package/dist/v2/features/import-listener/components/WorkspaceSelector.vue.js +83 -0
  84. package/dist/v2/features/import-listener/components/WorkspaceSelector.vue2.js +4 -0
  85. package/dist/v2/features/import-listener/helpers/generate-unique-slug.d.ts +16 -0
  86. package/dist/v2/features/import-listener/helpers/generate-unique-slug.d.ts.map +1 -0
  87. package/dist/v2/features/import-listener/helpers/generate-unique-slug.js +11 -0
  88. package/dist/v2/features/import-listener/helpers/get-url-query-parameter.d.ts +8 -0
  89. package/dist/v2/features/import-listener/helpers/get-url-query-parameter.d.ts.map +1 -0
  90. package/dist/v2/features/import-listener/helpers/get-url-query-parameter.js +4 -0
  91. package/dist/v2/features/import-listener/helpers/import-document-to-workspace.d.ts +30 -0
  92. package/dist/v2/features/import-listener/helpers/import-document-to-workspace.d.ts.map +1 -0
  93. package/dist/v2/features/import-listener/helpers/import-document-to-workspace.js +33 -0
  94. package/dist/v2/features/import-listener/helpers/load-document-from-source.d.ts +15 -0
  95. package/dist/v2/features/import-listener/helpers/load-document-from-source.d.ts.map +1 -0
  96. package/dist/v2/features/import-listener/helpers/load-document-from-source.js +28 -0
  97. package/dist/v2/features/import-listener/helpers/wait-for-condition.d.ts +15 -0
  98. package/dist/v2/features/import-listener/helpers/wait-for-condition.d.ts.map +1 -0
  99. package/dist/v2/features/import-listener/helpers/wait-for-condition.js +16 -0
  100. package/dist/v2/features/import-listener/index.d.ts +2 -0
  101. package/dist/v2/features/import-listener/index.d.ts.map +1 -0
  102. package/dist/v2/features/import-listener/index.js +4 -0
  103. package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
  104. package/dist/v2/features/modal/Modal.vue.js +1 -1
  105. package/dist/v2/features/modal/Modal.vue2.js +14 -12
  106. package/dist/v2/features/operation/Operation.vue.d.ts.map +1 -1
  107. package/dist/v2/features/operation/Operation.vue.js +44 -35
  108. package/dist/v2/features/operation/helpers/get-selected-security.d.ts +3 -5
  109. package/dist/v2/features/operation/helpers/get-selected-security.d.ts.map +1 -1
  110. package/dist/v2/workspace-events.d.ts.map +1 -1
  111. package/dist/v2/workspace-events.js +116 -109
  112. package/dist/views/Request/ResponseSection/ResponseEmpty.vue2.js +1 -1
  113. package/package.json +19 -14
  114. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.bench.d.ts +0 -2
  115. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.bench.d.ts.map +0 -1
  116. package/dist/v2/blocks/scalar-auth-selector-block/helpers/convert-security-scheme-secrets.d.ts +0 -8
  117. package/dist/v2/blocks/scalar-auth-selector-block/helpers/convert-security-scheme-secrets.d.ts.map +0 -1
  118. package/dist/v2/blocks/scalar-auth-selector-block/helpers/convert-security-scheme-secrets.js +0 -33
  119. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-auth-config.d.ts +0 -7
  120. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-auth-config.d.ts.map +0 -1
  121. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-auth-config.js +0 -13
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Generates a unique slug for an imported document based on its title.
3
+ *
4
+ * This ensures the imported document does not conflict with existing documents
5
+ * by appending a number suffix if necessary (e.g., "my-api", "my-api-1", "my-api-2").
6
+ *
7
+ * The function will retry up to 100 times to find a unique slug. If all attempts fail,
8
+ * it returns null, which should be handled as an import error.
9
+ *
10
+ * @param defaultValue - The original document title to base the slug on
11
+ * @param currentDocuments - Set of existing document slugs to check against
12
+ *
13
+ * @returns Promise resolving to a unique slug, or null if unable to generate one
14
+ */
15
+ export declare const generateUniqueSlug: (defaultValue: string | undefined, currentDocuments: Set<string>) => Promise<string | undefined>;
16
+ //# sourceMappingURL=generate-unique-slug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-unique-slug.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/import-listener/helpers/generate-unique-slug.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,GAAU,cAAc,MAAM,GAAG,SAAS,EAAE,kBAAkB,GAAG,CAAC,MAAM,CAAC,gCAOvG,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { generateUniqueValue as r } from "@scalar/workspace-store/helpers/generate-unique-value";
2
+ import { slugify as i } from "../../../helpers/slugify.js";
3
+ const u = async (e, a) => await r({
4
+ defaultValue: e,
5
+ validation: (t) => !a.has(t),
6
+ maxRetries: 100,
7
+ transformation: i
8
+ });
9
+ export {
10
+ u as generateUniqueSlug
11
+ };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Gets the value of a specific query parameter from the current URL.
3
+ *
4
+ * @param parameterName - The name of the query parameter to retrieve
5
+ * @returns The value of the query parameter, or null if it does not exist
6
+ */
7
+ export declare const getUrlQueryParameter: (parameterName: string) => string | null;
8
+ //# sourceMappingURL=get-url-query-parameter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-url-query-parameter.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/import-listener/helpers/get-url-query-parameter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,eAAe,MAAM,KAAG,MAAM,GAAG,IAGrE,CAAA"}
@@ -0,0 +1,4 @@
1
+ const a = (e) => new URLSearchParams(window.location.search).get(e);
2
+ export {
3
+ a as getUrlQueryParameter
4
+ };
@@ -0,0 +1,30 @@
1
+ import type { WorkspaceStore } from '@scalar/workspace-store/client';
2
+ import type { InMemoryWorkspace } from '@scalar/workspace-store/schemas/inmemory-workspace';
3
+ /**
4
+ * Imports a single document from a workspace state into the current workspace.
5
+ *
6
+ * This function handles the complete import process including slug generation,
7
+ * document loading, and sidebar updates. It ensures the imported document does not
8
+ * conflict with existing documents by generating a unique slug.
9
+ *
10
+ * The meta from the importing workspace is intentionally excluded to preserve
11
+ * the current workspace settings and avoid unintended configuration changes.
12
+ *
13
+ * @param workspaceStore - The active workspace store where the document will be imported
14
+ * @param workspaceState - The in-memory workspace containing the document to import
15
+ * @param name - The original slug/name of the document in the source workspace state
16
+ *
17
+ * @returns Promise that resolves to the slug of the imported document
18
+ */
19
+ export declare const importDocumentToWorkspace: ({ workspaceStore, workspaceState, name, }: {
20
+ workspaceStore: WorkspaceStore | null;
21
+ workspaceState: InMemoryWorkspace;
22
+ name: string;
23
+ }) => Promise<{
24
+ ok: true;
25
+ slug: string;
26
+ } | {
27
+ ok: false;
28
+ error: string;
29
+ }>;
30
+ //# sourceMappingURL=import-document-to-workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-document-to-workspace.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/import-listener/helpers/import-document-to-workspace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oDAAoD,CAAA;AAI3F;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,yBAAyB,GAAU,2CAI7C;IACD,cAAc,EAAE,cAAc,GAAG,IAAI,CAAA;IACrC,cAAc,EAAE,iBAAiB,CAAA;IACjC,IAAI,EAAE,MAAM,CAAA;CACb,KAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAwDpE,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { generateUniqueSlug as u } from "./generate-unique-slug.js";
2
+ const m = async ({
3
+ workspaceStore: t,
4
+ workspaceState: o,
5
+ name: n
6
+ }) => {
7
+ if (!t)
8
+ return { ok: !1, error: "Workspace store is not available" };
9
+ const r = o.documents[n];
10
+ if (!r)
11
+ return { ok: !1, error: "Importing document not found in workspace state" };
12
+ const i = new Set(Object.keys(t.workspace.documents)), e = await u(r.info.title || "default", i);
13
+ return e ? (t.loadWorkspace({
14
+ meta: {},
15
+ documents: {
16
+ [e]: r
17
+ },
18
+ intermediateDocuments: {
19
+ [e]: o.intermediateDocuments[n] ?? {}
20
+ },
21
+ originalDocuments: {
22
+ [e]: o.originalDocuments[n] ?? {}
23
+ },
24
+ overrides: {
25
+ [e]: o.overrides[n] ?? {}
26
+ },
27
+ history: {},
28
+ auth: {}
29
+ }), t.buildSidebar(e), await t.saveDocument(e), { ok: !0, slug: e }) : { ok: !1, error: "Failed to generate a unique slug for the importing document" };
30
+ };
31
+ export {
32
+ m as importDocumentToWorkspace
33
+ };
@@ -0,0 +1,15 @@
1
+ import type { WorkspaceStore } from '@scalar/workspace-store/client';
2
+ /**
3
+ * Loads a document from a given source (URL or raw content) and adds it to the workspace.
4
+ *
5
+ * - If the source is a URL, adds the document from the URL and enables/disables watch mode as requested.
6
+ * - If the source is raw content (like pasted JSON/YAML), normalizes and adds it as a document.
7
+ *
8
+ * @param workspaceStore The workspace store to add the document to
9
+ * @param source The source to load the document from (URL or raw content)
10
+ * @param name The name of the document
11
+ * @param watchMode Whether to enable watch mode for URL sources
12
+ * @returns Promise resolving to true if the document is added successfully, false otherwise
13
+ */
14
+ export declare const loadDocumentFromSource: (workspaceStore: WorkspaceStore, source: string | null, name: string, watchMode: boolean) => Promise<boolean>;
15
+ //# sourceMappingURL=load-document-from-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-document-from-source.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/import-listener/helpers/load-document-from-source.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAIpE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GACjC,gBAAgB,cAAc,EAC9B,QAAQ,MAAM,GAAG,IAAI,EACrB,MAAM,MAAM,EACZ,WAAW,OAAO,KACjB,OAAO,CAAC,OAAO,CAqCjB,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { normalize as m } from "@scalar/openapi-parser";
2
+ import { isUrl as i } from "../../../helpers/is-url.js";
3
+ const f = async (r, t, n, o) => {
4
+ if (!t)
5
+ return !1;
6
+ if (i(t))
7
+ return await r.addDocument({
8
+ name: n,
9
+ url: t,
10
+ meta: {
11
+ "x-scalar-watch-mode": o
12
+ }
13
+ });
14
+ const e = ((a) => {
15
+ try {
16
+ return m(a);
17
+ } catch (l) {
18
+ return console.error(l), null;
19
+ }
20
+ })(t);
21
+ return e === null ? !1 : await r.addDocument({
22
+ name: n,
23
+ document: e
24
+ });
25
+ };
26
+ export {
27
+ f as loadDocumentFromSource
28
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Waits for a condition to be true with a timeout.
3
+ * Checks the condition at a specified interval up to a maximum wait time.
4
+ *
5
+ * @param checkCondition - Function that returns true when the condition is met
6
+ * @param options - Configuration options
7
+ * @param options.checkInterval - Time in milliseconds between checks (default: 100)
8
+ * @param options.maxWaitTime - Maximum time in milliseconds to wait (default: 3000)
9
+ * @returns Promise that resolves to true if the condition is met, false if it timed out
10
+ */
11
+ export declare const waitForCondition: (checkCondition: () => boolean, options?: {
12
+ checkInterval?: number;
13
+ maxWaitTime?: number;
14
+ }) => Promise<boolean>;
15
+ //# sourceMappingURL=wait-for-condition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait-for-condition.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/import-listener/helpers/wait-for-condition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,GAC3B,gBAAgB,MAAM,OAAO,EAC7B,UAAS;IACP,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;CAChB,KACL,OAAO,CAAC,OAAO,CAuBjB,CAAA"}
@@ -0,0 +1,16 @@
1
+ const s = (t, l = {}) => {
2
+ const { checkInterval: r = 100, maxWaitTime: i = 3e3 } = l;
3
+ return new Promise((e) => {
4
+ if (t()) {
5
+ e(!0);
6
+ return;
7
+ }
8
+ let a = 0;
9
+ const n = setInterval(() => {
10
+ a += r, t() ? (clearInterval(n), e(!0)) : a >= i && (clearInterval(n), e(!1));
11
+ }, r);
12
+ });
13
+ };
14
+ export {
15
+ s as waitForCondition
16
+ };
@@ -0,0 +1,2 @@
1
+ export { default as ImportListener } from './ImportListener.vue.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/import-listener/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { default as t } from "./ImportListener.vue.js";
2
+ export {
3
+ t as ImportListener
4
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/modal/Modal.vue"],"names":[],"mappings":"AAkZA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAExE,OAAO,EASL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,KAAK,CAAA;AAIZ,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAIxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKxD,MAAM,MAAM,UAAU,GAAG;IACvB,4DAA4D;IAC5D,cAAc,EAAE,cAAc,CAAA;IAC9B,qDAAqD;IACrD,QAAQ,EAAE,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IAC/C,iDAAiD;IACjD,IAAI,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrC,4CAA4C;IAC5C,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,mDAAmD;IACnD,MAAM,EAAE,WAAW,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;IAC3C,yDAAyD;IACzD,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAC5C,2CAA2C;IAC3C,UAAU,EAAE,UAAU,CAAA;IACtB,0DAA0D;IAC1D,YAAY,EAAE,qBAAqB,CAAA;IACnC,iDAAiD;IACjD,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,wDAAwD;IACxD,OAAO,EAAE,gBAAgB,CACvB,OAAO,CACL,IAAI,CACF,4BAA4B,EAC1B,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,eAAe,GACf,SAAS,CACZ,CACF,CACF,CAAA;CACF,CAAA;AAED;;;;GAIG;;;;;AACH,wBA0WC"}
1
+ {"version":3,"file":"Modal.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/modal/Modal.vue"],"names":[],"mappings":"AAoZA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAA;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAExE,OAAO,EASL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,KAAK,CAAA;AAIZ,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAIxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAKxD,MAAM,MAAM,UAAU,GAAG;IACvB,4DAA4D;IAC5D,cAAc,EAAE,cAAc,CAAA;IAC9B,qDAAqD;IACrD,QAAQ,EAAE,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IAC/C,iDAAiD;IACjD,IAAI,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrC,4CAA4C;IAC5C,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,mDAAmD;IACnD,MAAM,EAAE,WAAW,CAAC,UAAU,GAAG,SAAS,CAAC,CAAA;IAC3C,yDAAyD;IACzD,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IAC5C,2CAA2C;IAC3C,UAAU,EAAE,UAAU,CAAA;IACtB,0DAA0D;IAC1D,YAAY,EAAE,qBAAqB,CAAA;IACnC,iDAAiD;IACjD,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,wDAAwD;IACxD,OAAO,EAAE,gBAAgB,CACvB,OAAO,CACL,IAAI,CACF,4BAA4B,EAC1B,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,eAAe,GACf,SAAS,CACZ,CACF,CACF,CAAA;CACF,CAAA;AAED;;;;GAIG;;;;;AACH,wBA4WC"}
@@ -1,7 +1,7 @@
1
1
  import o from "./Modal.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-b54530a3"]]);
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-dbc80a57"]]);
5
5
  export {
6
6
  p as default
7
7
  };
@@ -1,8 +1,8 @@
1
- import { defineComponent as W, ref as w, useId as D, watch as I, nextTick as N, onBeforeMount as E, onBeforeUnmount as F, computed as d, toValue as U, withDirectives as k, createElementBlock as u, openBlock as m, createElementVNode as s, unref as o, createVNode as l, withCtx as V, vShow as b } from "vue";
2
- import { addScalarClassesToHeadless as A, ScalarTeleportRoot as $ } from "@scalar/components";
1
+ import { defineComponent as W, ref as w, useId as D, watch as I, nextTick as N, onBeforeMount as E, onBeforeUnmount as F, computed as u, toValue as U, withDirectives as k, createElementBlock as d, openBlock as m, createElementVNode as s, unref as o, createVNode as l, withCtx as V, vShow as b } from "vue";
2
+ import { addScalarClassesToHeadless as $, ScalarTeleportRoot as A } from "@scalar/components";
3
3
  import { ScalarToasts as z } from "@scalar/use-toasts";
4
4
  import { useFocusTrap as H } from "@vueuse/integrations/useFocusTrap";
5
- import { mergeAuthConfig as L } from "../../blocks/scalar-auth-selector-block/helpers/merge-auth-config.js";
5
+ import { mergeSecurity as L } from "../../blocks/scalar-auth-selector-block/helpers/merge-security.js";
6
6
  import { initializeModalEvents as M } from "./modal-events.js";
7
7
  import O from "../operation/Operation.vue.js";
8
8
  import { getActiveEnvironment as R } from "../../helpers/get-active-environment.js";
@@ -57,21 +57,23 @@ const P = { class: "scalar scalar-app" }, J = { class: "scalar-container" }, Q =
57
57
  (a) => {
58
58
  g.value = a, a ? y({ checkCanFocusTrap: () => N() }) : S();
59
59
  }
60
- ), E(() => A()), F(() => S());
61
- const p = 288, c = d(
60
+ ), E(() => $()), F(() => S());
61
+ const p = 288, c = u(
62
62
  () => e.workspaceStore?.workspace?.["x-scalar-sidebar-width"] ?? p
63
- ), T = (a) => e.workspaceStore?.update("x-scalar-sidebar-width", a), h = d(
63
+ ), T = (a) => e.workspaceStore?.update("x-scalar-sidebar-width", a), h = u(
64
64
  () => R(e.workspaceStore, e.document.value)
65
- ), C = d(
65
+ ), C = u(
66
66
  () => L(
67
67
  e.document.value?.components?.securitySchemes,
68
- U(e.options)?.authentication?.securitySchemes
68
+ U(e.options)?.authentication?.securitySchemes,
69
+ e.workspaceStore.auth,
70
+ e.document.value?.["x-scalar-navigation"]?.name ?? ""
69
71
  )
70
72
  );
71
73
  return x({
72
74
  sidebarWidth: c,
73
75
  environment: h
74
- }), (a, t) => k((m(), u("div", P, [
76
+ }), (a, t) => k((m(), d("div", P, [
75
77
  s("div", J, [
76
78
  s("div", {
77
79
  id: o(f),
@@ -83,10 +85,10 @@ const P = { class: "scalar scalar-app" }, J = { class: "scalar-container" }, Q =
83
85
  role: "dialog",
84
86
  tabindex: "-1"
85
87
  }, [
86
- l(o($), null, {
88
+ l(o(A), null, {
87
89
  default: V(() => [
88
90
  l(o(z)),
89
- e.document.value && e.path?.value && e.method?.value ? (m(), u("main", X, [
91
+ e.document.value && e.path?.value && e.method?.value ? (m(), d("main", X, [
90
92
  l(o(G), {
91
93
  modelValue: n.value,
92
94
  "onUpdate:modelValue": t[0] || (t[0] = (i) => n.value = i),
@@ -126,7 +128,7 @@ const P = { class: "scalar scalar-app" }, J = { class: "scalar-container" }, Q =
126
128
  securitySchemes: C.value,
127
129
  workspaceStore: e.workspaceStore
128
130
  }, null, 8, ["document", "documentSlug", "environment", "eventBus", "exampleName", "method", "options", "path", "plugins", "securitySchemes", "workspaceStore"])
129
- ])) : (m(), u("div", Y, [...t[3] || (t[3] = [
131
+ ])) : (m(), d("div", Y, [...t[3] || (t[3] = [
130
132
  s("span", { class: "text-c-3" }, "No document selected", -1)
131
133
  ])]))
132
134
  ]),
@@ -1 +1 @@
1
- {"version":3,"file":"Operation.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/operation/Operation.vue"],"names":[],"mappings":"AAiMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAM/D;;;;;;;GAOG;;IAGC,6CAA6C;cACnC,UAAU,CAAC,SAAS,CAAC;;IAD/B,6CAA6C;cACnC,UAAU,CAAC,SAAS,CAAC;;AAHnC,wBAwPC"}
1
+ {"version":3,"file":"Operation.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/operation/Operation.vue"],"names":[],"mappings":"AA8MA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAElE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAM/D;;;;;;;GAOG;;IAGC,6CAA6C;cACnC,UAAU,CAAC,SAAS,CAAC;;IAD/B,6CAA6C;cACnC,UAAU,CAAC,SAAS,CAAC;;AAHnC,wBAkRC"}
@@ -1,15 +1,15 @@
1
- import { defineComponent as y, computed as n, toValue as o, onMounted as S, createBlock as x, createElementBlock as k, openBlock as c, unref as i, createElementVNode as g } from "vue";
2
- import { getResolvedRef as s } from "@scalar/workspace-store/helpers/get-resolved-ref";
1
+ import { defineComponent as y, computed as n, toValue as r, onMounted as f, createBlock as g, createElementBlock as k, openBlock as l, unref as i, createElementVNode as x } from "vue";
2
+ import { getResolvedRef as m } from "@scalar/workspace-store/helpers/get-resolved-ref";
3
3
  import { mapHiddenClientsConfig as C } from "../modal/helpers/map-hidden-clients-config.js";
4
- import { combineParams as B } from "./helpers/combine-params.js";
5
- import { getSelectedServer as w } from "./helpers/get-selected-server.js";
4
+ import { combineParams as w } from "./helpers/combine-params.js";
5
+ import { getSelectedServer as B } from "./helpers/get-selected-server.js";
6
6
  import { getServers as U } from "../../helpers/get-servers.js";
7
- import p from "../../blocks/operation-block/OperationBlock.vue.js";
7
+ import N from "../../blocks/operation-block/OperationBlock.vue.js";
8
8
  const b = {
9
9
  key: 1,
10
10
  class: "flex h-full w-full items-center justify-center"
11
- }, N = {}, $ = /* @__PURE__ */ y({
12
- ...N,
11
+ }, V = {}, K = /* @__PURE__ */ y({
12
+ ...V,
13
13
  __name: "Operation",
14
14
  props: {
15
15
  documentSlug: {},
@@ -27,20 +27,20 @@ const b = {
27
27
  options: {}
28
28
  },
29
29
  setup(e) {
30
- const u = n(() => e.path ? s(e.document?.paths?.[e.path]) : null), l = n(() => {
30
+ const u = n(() => e.path ? m(e.document?.paths?.[e.path]) : null), c = n(() => {
31
31
  if (!e.path || !e.method)
32
32
  return null;
33
- const t = s(e.document?.paths?.[e.path]?.[e.method]);
33
+ const t = m(e.document?.paths?.[e.path]?.[e.method]);
34
34
  if (!t)
35
35
  return null;
36
36
  if (!u.value)
37
37
  return t;
38
- const a = B(
38
+ const a = w(
39
39
  u.value.parameters,
40
40
  t.parameters
41
41
  );
42
42
  return { ...t, parameters: a };
43
- }), m = n(() => [
43
+ }), s = n(() => [
44
44
  ...(e.workspaceStore.workspace?.["x-scalar-cookies"] ?? []).map((t) => ({
45
45
  ...t,
46
46
  location: "workspace"
@@ -49,58 +49,67 @@ const b = {
49
49
  ...t,
50
50
  location: "document"
51
51
  }))
52
- ]), r = n(() => {
53
- const t = o(e.options)?.servers ?? l.value?.servers ?? u.value?.servers ?? e.document?.servers;
52
+ ]), o = n(() => {
53
+ const t = r(e.options)?.servers ?? c.value?.servers ?? u.value?.servers ?? e.document?.servers;
54
54
  return U(t, {
55
- baseServerUrl: o(e.options)?.baseServerURL,
55
+ baseServerUrl: r(e.options)?.baseServerURL,
56
56
  documentUrl: e.document?.["x-scalar-original-source-url"]
57
57
  });
58
58
  }), d = n(
59
- () => w(e.document, r.value)
59
+ () => B(e.document, o.value)
60
60
  );
61
- S(() => {
62
- typeof e.document?.["x-scalar-selected-server"] > "u" && r.value?.[0]?.url && e.eventBus.emit("server:update:selected", { url: r.value[0].url });
61
+ f(() => {
62
+ typeof e.document?.["x-scalar-selected-server"] > "u" && o.value?.[0]?.url && e.eventBus.emit("server:update:selected", { url: o.value[0].url });
63
63
  });
64
- const v = n(() => e.document?.["x-scalar-set-operation-security"] ? {
64
+ const h = n(() => e.document?.["x-scalar-set-operation-security"] ? {
65
65
  type: "operation",
66
66
  path: e.path ?? "",
67
67
  method: e.method ?? "get"
68
68
  } : {
69
69
  type: "document"
70
- }), h = n(
71
- () => C(o(e.options)?.hiddenClients)
72
- ), f = "2.22.3";
73
- return (t, a) => e.path && e.method && e.exampleName && l.value ? (c(), x(i(p), {
70
+ }), v = n(
71
+ () => C(r(e.options)?.hiddenClients)
72
+ ), S = "2.23.2";
73
+ return (t, a) => e.path && e.method && e.exampleName && c.value ? (l(), g(i(N), {
74
74
  key: 0,
75
- appVersion: i(f),
76
- authMeta: v.value,
75
+ appVersion: i(S),
76
+ authMeta: h.value,
77
77
  documentSecurity: e.document?.security ?? [],
78
- documentSelectedSecurity: e.document?.["x-scalar-selected-security"],
78
+ documentSelectedSecurity: e.workspaceStore.auth.getAuthSelectedSchemas({
79
+ type: "document",
80
+ documentName: e.documentSlug
81
+ }),
79
82
  documentUrl: e.document?.["x-scalar-original-source-url"],
80
83
  environment: e.environment,
81
84
  eventBus: e.eventBus,
82
85
  exampleKey: e.exampleName,
83
- globalCookies: m.value,
84
- hideClientButton: o(e.options)?.hideClientButton ?? !1,
85
- history: [],
86
- httpClients: h.value,
86
+ globalCookies: s.value,
87
+ hideClientButton: r(e.options)?.hideClientButton ?? !1,
88
+ history: e.workspaceStore.history.getHistory(e.documentSlug, e.path, e.method),
89
+ httpClients: v.value,
87
90
  layout: e.layout,
88
91
  method: e.method,
89
- operation: l.value,
92
+ operation: c.value,
93
+ operationSelectedSecurity: e.workspaceStore.auth.getAuthSelectedSchemas({
94
+ type: "operation",
95
+ documentName: e.documentSlug,
96
+ path: e.path,
97
+ method: e.method
98
+ }),
90
99
  path: e.path,
91
100
  plugins: e.plugins,
92
101
  proxyUrl: e.workspaceStore.workspace["x-scalar-active-proxy"] ?? "",
93
102
  securitySchemes: e.securitySchemes,
94
103
  selectedClient: e.workspaceStore.workspace["x-scalar-default-client"],
95
104
  server: d.value,
96
- servers: r.value,
105
+ servers: o.value,
97
106
  setOperationSecurity: e.document?.["x-scalar-set-operation-security"] ?? !1,
98
- "onUpdate:servers": a[0] || (a[0] = (V) => e.eventBus.emit("ui:route:page", { name: "document.servers" }))
99
- }, null, 8, ["appVersion", "authMeta", "documentSecurity", "documentSelectedSecurity", "documentUrl", "environment", "eventBus", "exampleKey", "globalCookies", "hideClientButton", "httpClients", "layout", "method", "operation", "path", "plugins", "proxyUrl", "securitySchemes", "selectedClient", "server", "servers", "setOperationSecurity"])) : (c(), k("div", b, [...a[1] || (a[1] = [
100
- g("span", { class: "text-c-3" }, "Select an operation to view details", -1)
107
+ "onUpdate:servers": a[0] || (a[0] = (M) => e.eventBus.emit("ui:route:page", { name: "document.servers" }))
108
+ }, null, 8, ["appVersion", "authMeta", "documentSecurity", "documentSelectedSecurity", "documentUrl", "environment", "eventBus", "exampleKey", "globalCookies", "hideClientButton", "history", "httpClients", "layout", "method", "operation", "operationSelectedSecurity", "path", "plugins", "proxyUrl", "securitySchemes", "selectedClient", "server", "servers", "setOperationSecurity"])) : (l(), k("div", b, [...a[1] || (a[1] = [
109
+ x("span", { class: "text-c-3" }, "Select an operation to view details", -1)
101
110
  ])]));
102
111
  }
103
112
  });
104
113
  export {
105
- $ as default
114
+ K as default
106
115
  };
@@ -1,10 +1,8 @@
1
- import type { OpenApiDocument, OperationObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
1
+ import type { SelectedSecurity } from '@scalar/workspace-store/entities/auth';
2
+ import type { OpenApiDocument } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
2
3
  /**
3
4
  * Get the selected security for an operation or document,
4
5
  * Defaults to the first requirement if no selection is made and you pass in requirements
5
6
  */
6
- export declare const getSelectedSecurity: (documentSelectedSecurity: OpenApiDocument["x-scalar-selected-security"], operationSelectedSecurity: OperationObject["x-scalar-selected-security"], securityRequirements?: NonNullable<OpenApiDocument["security"]>, setOperationSecurity?: boolean) => {
7
- selectedIndex: number;
8
- selectedSchemes: import("@scalar/workspace-store/schemas/v3.1/strict/security-requirement").SecurityRequirementObject[];
9
- };
7
+ export declare const getSelectedSecurity: (documentSelectedSecurity: SelectedSecurity | undefined, operationSelectedSecurity: SelectedSecurity | undefined, securityRequirements?: NonNullable<OpenApiDocument["security"]>, setOperationSecurity?: boolean) => SelectedSecurity;
10
8
  //# sourceMappingURL=get-selected-security.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-selected-security.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/operation/helpers/get-selected-security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAIpH;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,0BAA0B,eAAe,CAAC,4BAA4B,CAAC,EACvE,2BAA2B,eAAe,CAAC,4BAA4B,CAAC,EACxE,uBAAsB,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAM,EACnE,8BAA4B;;;CA6B7B,CAAA"}
1
+ {"version":3,"file":"get-selected-security.d.ts","sourceRoot":"","sources":["../../../../../src/v2/features/operation/helpers/get-selected-security.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAA;AAInG;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,0BAA0B,gBAAgB,GAAG,SAAS,EACtD,2BAA2B,gBAAgB,GAAG,SAAS,EACvD,uBAAsB,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAM,EACnE,8BAA4B,KAC3B,gBA4BF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-events.d.ts","sourceRoot":"","sources":["../../src/v2/workspace-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAkB,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAE3G,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,KAAK,CAAA;AAExC,KAAK,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAI,OAAO,CAAC;IACtD,eAAe,EAAE,CACf,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAC3B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;IAClF,cAAc,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzE,CAAC,CAAA;AAEF,KAAK,KAAK,GAAG;KACV,GAAG,IAAI,MAAM,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC;CAC9C,CAAA;AA6BD;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,EAC/C,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,KAAK,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IACjC,KAAK,EAAE,KAAK,CAAA;CACb,QAyPA"}
1
+ {"version":3,"file":"workspace-events.d.ts","sourceRoot":"","sources":["../../src/v2/workspace-events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAkB,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAE3G,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,KAAK,CAAA;AAExC,KAAK,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,IAAI,OAAO,CAAC;IACtD,eAAe,EAAE,CACf,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAC3B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;IAClF,cAAc,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACzE,CAAC,CAAA;AAEF,KAAK,KAAK,GAAG;KACV,GAAG,IAAI,MAAM,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC;CAC9C,CAAA;AA6BD;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,EAC/C,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,KAAK,EAAE,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IACjC,KAAK,EAAE,KAAK,CAAA;CACb,QAgQA"}