@scalar/api-client 2.21.1 → 2.22.1

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 (37) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/components/OpenApiClientButton.vue.d.ts.map +1 -1
  3. package/dist/components/OpenApiClientButton.vue.js +2 -2
  4. package/dist/components/OpenApiClientButton.vue2.js +1 -1
  5. package/dist/hooks/useClientConfig.d.ts +9 -0
  6. package/dist/hooks/useClientConfig.d.ts.map +1 -1
  7. package/dist/layouts/App/create-api-client-app.d.ts +2 -2
  8. package/dist/layouts/Web/create-api-client-web.d.ts +2 -2
  9. package/dist/libs/create-client.d.ts +2 -2
  10. package/dist/store/request-example.d.ts +2 -2
  11. package/dist/store/store.d.ts +2 -2
  12. package/dist/style.css +1 -1
  13. package/dist/v2/blocks/operation-block/helpers/get-example.d.ts +2 -2
  14. package/dist/v2/blocks/operation-block/helpers/get-example.d.ts.map +1 -1
  15. package/dist/v2/blocks/operation-block/helpers/get-example.js +29 -22
  16. package/dist/v2/blocks/operation-block/index.d.ts +1 -0
  17. package/dist/v2/blocks/operation-block/index.d.ts.map +1 -1
  18. package/dist/v2/blocks/operation-block/index.js +2 -0
  19. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +1 -1
  20. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js +3 -2
  21. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts.map +1 -1
  22. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js +96 -78
  23. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue3.js +5 -0
  24. package/dist/v2/features/app/App.vue.d.ts +3 -1
  25. package/dist/v2/features/app/App.vue.d.ts.map +1 -1
  26. package/dist/v2/features/app/App.vue.js +46 -43
  27. package/dist/v2/features/app/index.d.ts +3 -0
  28. package/dist/v2/features/app/index.d.ts.map +1 -1
  29. package/dist/v2/features/app/index.js +17 -11
  30. package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
  31. package/dist/v2/features/modal/Modal.vue.js +2 -2
  32. package/dist/v2/features/modal/Modal.vue2.js +17 -15
  33. package/dist/v2/features/operation/Operation.vue.js +1 -1
  34. package/dist/views/Request/RequestSection/RequestTable.vue.d.ts +2 -2
  35. package/dist/views/Request/ResponseSection/ResponseEmpty.vue2.js +1 -1
  36. package/package.json +14 -14
  37. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue2.js +0 -4
@@ -1,4 +1,4 @@
1
- import type { ExampleObject, ParameterObject, RequestBodyObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
1
+ import type { ExampleObject, MediaTypeObject, ParameterObject, RequestBodyObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document';
2
2
  /**
3
3
  * Resolve an example value for a parameter or requestBody from either `examples` or `content.*.examples`.
4
4
  * Or the [deprecated] `example` field.
@@ -6,5 +6,5 @@ import type { ExampleObject, ParameterObject, RequestBodyObject } from '@scalar/
6
6
  * `example` field.
7
7
  * Used both for send-request and generating code snippets.
8
8
  */
9
- export declare const getExample: (param: ParameterObject | RequestBodyObject, exampleKey: string | undefined, contentType: string | undefined) => ExampleObject | undefined;
9
+ export declare const getExample: (param: ParameterObject | RequestBodyObject | MediaTypeObject, exampleKey: string | undefined, contentType: string | undefined) => ExampleObject | undefined;
10
10
  //# sourceMappingURL=get-example.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-example.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/operation-block/helpers/get-example.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,iBAAiB,EAClB,MAAM,8DAA8D,CAAA;AAIrE;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GACrB,OAAO,eAAe,GAAG,iBAAiB,EAC1C,YAAY,MAAM,GAAG,SAAS,EAC9B,aAAa,MAAM,GAAG,SAAS,KAC9B,aAAa,GAAG,SA6DlB,CAAA"}
1
+ {"version":3,"file":"get-example.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/operation-block/helpers/get-example.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,iBAAiB,EAClB,MAAM,8DAA8D,CAAA;AA6BrE;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GACrB,OAAO,eAAe,GAAG,iBAAiB,GAAG,eAAe,EAC5D,YAAY,MAAM,GAAG,SAAS,EAC9B,aAAa,MAAM,GAAG,SAAS,KAC9B,aAAa,GAAG,SA6ClB,CAAA"}
@@ -1,29 +1,36 @@
1
- import { getResolvedRef as l } from "@scalar/workspace-store/helpers/get-resolved-ref";
2
1
  import { getResolvedRefDeep as s } from "../../operation-code-sample/helpers/get-resolved-ref-deep.js";
3
- const d = (n, c, o) => {
4
- if ("content" in n) {
5
- const t = n.content?.[o ?? Object.keys(n.content)[0] ?? ""], f = t?.examples ?? {}, m = c || Object.keys(f)[0] || "", i = s(f[m]);
6
- return typeof i < "u" ? i : !c && t?.example ? { value: s(t.example) } : void 0;
2
+ const r = (t, n, o) => {
3
+ if (!t && !n)
4
+ return;
5
+ const i = o || Object.keys(t ?? {})[0] || "", e = s(t?.[i]);
6
+ if (e !== void 0)
7
+ return e;
8
+ if (!o && n !== void 0)
9
+ return { value: s(n) };
10
+ }, c = (t, n, o) => {
11
+ if ("content" in t) {
12
+ const e = t.content?.[o ?? Object.keys(t.content)[0] ?? ""], u = r(e?.examples, e?.example, n);
13
+ if (u !== void 0)
14
+ return u;
7
15
  }
8
- if ("examples" in n || "example" in n) {
9
- const t = l(n.examples) ?? {}, f = c || Object.keys(t)[0] || "", m = s(t?.[f]);
10
- if (typeof m < "u")
11
- return m;
12
- if (!c && n.example)
13
- return { value: s(n.example) };
16
+ if ("examples" in t || "example" in t) {
17
+ const e = r(t.examples, t.example, n);
18
+ if (e !== void 0)
19
+ return e;
14
20
  }
15
- const e = s(n);
16
- if ("schema" in e && e.schema) {
17
- if ("default" in e.schema && typeof e.schema.default < "u")
18
- return { value: e.schema.default };
19
- if ("enum" in e.schema && typeof e.schema.enum?.[0] < "u")
20
- return { value: e.schema.enum[0] };
21
- if ("examples" in e.schema && typeof e.schema.examples?.[0] < "u")
22
- return { value: e.schema.examples[0] };
23
- if ("example" in e.schema && typeof e.schema.example < "u")
24
- return { value: e.schema.example };
21
+ const i = s(t);
22
+ if ("schema" in i && i.schema) {
23
+ const e = i.schema;
24
+ if ("default" in e && e.default !== void 0)
25
+ return { value: e.default };
26
+ if ("enum" in e && e.enum?.[0] !== void 0)
27
+ return { value: e.enum[0] };
28
+ if ("examples" in e && e.examples?.[0] !== void 0)
29
+ return { value: e.examples[0] };
30
+ if ("example" in e && e.example !== void 0)
31
+ return { value: e.example };
25
32
  }
26
33
  };
27
34
  export {
28
- d as getExample
35
+ c as getExample
29
36
  };
@@ -1,3 +1,4 @@
1
1
  export { getSecuritySchemes } from './helpers/build-request-security.js';
2
+ export { getExample } from './helpers/get-example.js';
2
3
  export { default as OperationBlock } from './OperationBlock.vue.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/blocks/operation-block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/blocks/operation-block/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1,6 +1,8 @@
1
1
  import { getSecuritySchemes as r } from "./helpers/build-request-security.js";
2
+ import { getExample as m } from "./helpers/get-example.js";
2
3
  import { default as a } from "./OperationBlock.vue.js";
3
4
  export {
4
5
  a as OperationBlock,
6
+ m as getExample,
5
7
  r as getSecuritySchemes
6
8
  };
@@ -1,7 +1,7 @@
1
1
  import { canMethodHaveBody as p } from "@scalar/helpers/http/can-method-have-body";
2
2
  import { getResolvedRef as n } from "@scalar/workspace-store/helpers/get-resolved-ref";
3
3
  import { isElectron as u } from "../../../../libs/electron.js";
4
- const i = "2.21.1", m = "application/json", h = "*/*", c = (r, t, a) => ({
4
+ const i = "2.22.1", m = "application/json", h = "*/*", c = (r, t, a) => ({
5
5
  name: r,
6
6
  defaultValue: t,
7
7
  isOverridden: a.has(r.toLowerCase())
@@ -3,10 +3,11 @@ import { useLoadingState as L, ScalarButton as S } from "@scalar/components";
3
3
  import { pkceOptions as P } from "@scalar/oas-utils/entities/spec";
4
4
  import { useToasts as R } from "@scalar/use-toasts";
5
5
  import F from "./OAuthScopesInput.vue.js";
6
+ /* empty css */
6
7
  import { authorizeOauth2 as O } from "../helpers/oauth.js";
7
8
  import m from "./RequestAuthDataTableInput.vue.js";
8
9
  import u from "../../../../components/DataTable/DataTableRow.vue.js";
9
- const A = { class: "flex h-8 items-center justify-end gap-2 border-t" }, I = { class: "flex h-8 w-full items-center justify-end border-t" }, K = /* @__PURE__ */ b({
10
+ const A = { class: "flex h-8 items-center justify-end gap-2 border-t" }, I = { class: "flex h-8 w-full items-center justify-end border-t" }, X = /* @__PURE__ */ b({
10
11
  __name: "OAuth2",
11
12
  props: {
12
13
  environment: {},
@@ -275,5 +276,5 @@ const A = { class: "flex h-8 items-center justify-end gap-2 border-t" }, I = { c
275
276
  }
276
277
  });
277
278
  export {
278
- K as default
279
+ X as default
279
280
  };
@@ -1 +1 @@
1
- {"version":3,"file":"OAuthScopesInput.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue"],"names":[],"mappings":"AA2KA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EACjB,MAAM,8DAA8D,CAAA;AAWrE,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;IAChC,IAAI,EAAE,SAAS,CAAA;IACf,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AA8XF,wBAOG"}
1
+ {"version":3,"file":"OAuthScopesInput.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue"],"names":[],"mappings":"AAwNA,OAAO,KAAK,EACV,SAAS,EACT,gBAAgB,EACjB,MAAM,8DAA8D,CAAA;AAWrE,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,gBAAgB,CAAA;IAChC,IAAI,EAAE,SAAS,CAAA;IACf,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;AAibF,wBAOG"}
@@ -1,14 +1,14 @@
1
- import { defineComponent as T, computed as y, createBlock as r, openBlock as a, unref as s, withCtx as l, createElementVNode as i, createVNode as c, normalizeClass as j, toDisplayString as u, createCommentVNode as p, withModifiers as m, createTextVNode as f, createElementBlock as b, Fragment as z, renderList as B } from "vue";
2
- import { Disclosure as N, DisclosureButton as M, DisclosurePanel as $ } from "@headlessui/vue";
3
- import { useModal as E, ScalarButton as S, ScalarIcon as I } from "@scalar/components";
4
- import P from "./OAuthScopesAddModal.vue.js";
5
- import C from "../../../../components/DataTable/DataTableCell.vue.js";
6
- import R from "../../../../components/DataTable/DataTableRow.vue.js";
7
- import U from "../../../../components/DataTable/DataTableCheckbox.vue.js";
8
- const F = { class: "flex h-fit w-full" }, L = { class: "flex-1" }, q = { class: "flex items-center gap-1.75" }, G = {
9
- class: "grid auto-rows-auto",
1
+ import { defineComponent as T, ref as z, computed as f, createBlock as u, openBlock as r, unref as s, withCtx as o, createElementVNode as a, createVNode as c, normalizeClass as B, toDisplayString as p, createCommentVNode as m, withModifiers as S, createTextVNode as x, createElementBlock as V, Fragment as N, renderList as M } from "vue";
2
+ import { Disclosure as E, DisclosureButton as I, DisclosurePanel as R } from "@headlessui/vue";
3
+ import { useModal as U, ScalarButton as v, ScalarIcon as P, ScalarSearchInput as F } from "@scalar/components";
4
+ import L from "./OAuthScopesAddModal.vue.js";
5
+ import A from "../../../../components/DataTable/DataTableCell.vue.js";
6
+ import Q from "../../../../components/DataTable/DataTableRow.vue.js";
7
+ import q from "../../../../components/DataTable/DataTableCheckbox.vue.js";
8
+ const G = { class: "flex h-fit w-full" }, H = { class: "flex-1" }, J = { class: "flex items-center gap-1.75" }, W = {
9
+ class: "grid max-h-40 auto-rows-auto overflow-x-hidden overflow-y-scroll",
10
10
  style: { gridTemplateColumns: "1fr auto" }
11
- }, H = { class: "font-code text-xs" }, J = { key: 0 }, ee = /* @__PURE__ */ T({
11
+ }, X = { class: "font-code text-xs" }, Y = { key: 0 }, oe = /* @__PURE__ */ T({
12
12
  __name: "OAuthScopesInput",
13
13
  props: {
14
14
  flowType: {},
@@ -16,111 +16,129 @@ const F = { class: "flex h-fit w-full" }, L = { class: "flex-1" }, q = { class:
16
16
  selectedScopes: {}
17
17
  },
18
18
  emits: ["update:selectedScopes"],
19
- setup(t, { emit: A }) {
20
- const d = A, V = y(
21
- () => Object.entries(t.flow?.scopes ?? {}).map(([n, e]) => ({
19
+ setup(l, { emit: $ }) {
20
+ const i = $, d = z(""), w = f(
21
+ () => Object.entries(l.flow?.scopes ?? {}).map(([n, e]) => ({
22
22
  id: n,
23
23
  label: n,
24
24
  description: e
25
25
  }))
26
- ), x = y(
27
- () => t.selectedScopes.length === Object.keys(t.flow?.scopes ?? {}).length
26
+ ), D = f(() => {
27
+ if (!d.value)
28
+ return w.value;
29
+ const n = new RegExp(
30
+ d.value.split("").map((e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).join(".*"),
31
+ "i"
32
+ );
33
+ return w.value.filter(
34
+ ({ label: e, description: t }) => n.test(`${e} ${t}`)
35
+ );
36
+ }), h = f(
37
+ () => l.selectedScopes.length === Object.keys(l.flow?.scopes ?? {}).length
28
38
  );
29
- function h(n, e) {
39
+ function g(n, e) {
30
40
  if (e)
31
- return d("update:selectedScopes", {
32
- scopes: Array.from(/* @__PURE__ */ new Set([...t.selectedScopes, n]))
41
+ return i("update:selectedScopes", {
42
+ scopes: Array.from(/* @__PURE__ */ new Set([...l.selectedScopes, n]))
33
43
  });
34
- d("update:selectedScopes", {
35
- scopes: t.selectedScopes.filter((o) => o !== n)
44
+ i("update:selectedScopes", {
45
+ scopes: l.selectedScopes.filter((t) => t !== n)
36
46
  });
37
47
  }
38
- const D = () => d("update:selectedScopes", { scopes: Object.keys(t.flow?.scopes ?? {}) }), O = () => d("update:selectedScopes", { scopes: [] }), w = E();
39
- return (n, e) => (a(), r(s(C), { class: "h-auto !max-h-[initial] min-h-8 items-center" }, {
40
- default: l(() => [
41
- i("div", F, [
42
- e[5] || (e[5] = i("div", { class: "text-c-1 h-full items-center" }, null, -1)),
43
- c(s(N), {
48
+ const O = () => i("update:selectedScopes", { scopes: Object.keys(l.flow?.scopes ?? {}) }), j = () => i("update:selectedScopes", { scopes: [] }), y = U();
49
+ return (n, e) => (r(), u(s(A), { class: "h-auto !max-h-[initial] min-h-8 items-center" }, {
50
+ default: o(() => [
51
+ a("div", G, [
52
+ e[7] || (e[7] = a("div", { class: "text-c-1 h-full items-center" }, null, -1)),
53
+ c(s(E), {
44
54
  as: "div",
45
55
  class: "bl flex w-full flex-col"
46
56
  }, {
47
- default: l(() => [
48
- c(s(M), {
49
- class: j([
57
+ default: o(() => [
58
+ c(s(I), {
59
+ class: B([
50
60
  "group/scopes-accordion hover:text-c-1 flex h-auto min-h-8 cursor-pointer items-center gap-1.5 pr-2.25 pl-3 text-left",
51
- (t.selectedScopes.length || 0) > 0 ? "text-c-1" : "text-c-3"
61
+ (l.selectedScopes.length || 0) > 0 ? "text-c-1" : "text-c-3"
52
62
  ])
53
63
  }, {
54
- default: l(({ open: o }) => [
55
- i("div", L, " Scopes Selected " + u(t.selectedScopes.length || 0) + " / " + u(Object.keys(t.flow?.scopes ?? {}).length || 0), 1),
56
- i("div", q, [
57
- c(s(S), {
64
+ default: o(({ open: t }) => [
65
+ a("div", H, " Scopes Selected " + p(l.selectedScopes.length || 0) + " / " + p(Object.keys(l.flow?.scopes ?? {}).length || 0), 1),
66
+ a("div", J, [
67
+ c(s(v), {
58
68
  class: "pr-0.75 pl-1 transition-none",
59
69
  size: "sm",
60
70
  variant: "ghost",
61
- onClick: e[0] || (e[0] = m((v) => s(w).show(), ["stop"]))
71
+ onClick: e[0] || (e[0] = S((k) => s(y).show(), ["stop"]))
62
72
  }, {
63
- default: l(() => [...e[2] || (e[2] = [
64
- f(" Add Scope ", -1)
73
+ default: o(() => [...e[3] || (e[3] = [
74
+ x(" Add Scope ", -1)
65
75
  ])]),
66
76
  _: 1
67
77
  }),
68
- x.value ? (a(), r(s(S), {
78
+ h.value ? (r(), u(s(v), {
69
79
  key: 0,
70
80
  class: "pr-0.75 pl-1 transition-none",
71
81
  size: "sm",
72
82
  variant: "ghost",
73
- onClick: m(O, ["stop"])
83
+ onClick: S(j, ["stop"])
74
84
  }, {
75
- default: l(() => [...e[3] || (e[3] = [
76
- f(" Deselect All ", -1)
85
+ default: o(() => [...e[4] || (e[4] = [
86
+ x(" Deselect All ", -1)
77
87
  ])]),
78
88
  _: 1
79
- })) : p("", !0),
80
- x.value ? p("", !0) : (a(), r(s(S), {
89
+ })) : m("", !0),
90
+ h.value ? m("", !0) : (r(), u(s(v), {
81
91
  key: 1,
82
92
  class: "pr-0.75 pl-1 transition-none",
83
93
  size: "sm",
84
94
  variant: "ghost",
85
- onClick: m(D, ["stop"])
95
+ onClick: S(O, ["stop"])
86
96
  }, {
87
- default: l(() => [...e[4] || (e[4] = [
88
- f(" Select All ", -1)
97
+ default: o(() => [...e[5] || (e[5] = [
98
+ x(" Select All ", -1)
89
99
  ])]),
90
100
  _: 1
91
101
  })),
92
- c(s(I), {
102
+ c(s(P), {
93
103
  class: "text-c-3 group-hover/scopes-accordion:text-c-2",
94
- icon: o ? "ChevronDown" : "ChevronRight",
104
+ icon: t ? "ChevronDown" : "ChevronRight",
95
105
  size: "md"
96
106
  }, null, 8, ["icon"])
97
107
  ])
98
108
  ]),
99
109
  _: 1
100
110
  }, 8, ["class"]),
101
- c(s($), { as: "template" }, {
102
- default: l(() => [
103
- i("table", G, [
104
- (a(!0), b(z, null, B(V.value, ({ id: o, label: v, description: g }) => (a(), r(s(R), {
105
- key: o,
106
- class: "text-c-2",
107
- onClick: (k) => h(o, !t.selectedScopes.includes(o))
108
- }, {
109
- default: l(() => [
110
- c(s(C), { class: "hover:text-c-1 box-border !max-h-[initial] w-full cursor-pointer px-3 py-1.5" }, {
111
- default: l(() => [
112
- i("span", H, u(v), 1),
113
- g ? (a(), b("span", J, "   – " + u(g), 1)) : p("", !0)
114
- ]),
115
- _: 2
116
- }, 1024),
117
- c(s(U), {
118
- modelValue: t.selectedScopes.includes(o),
119
- "onUpdate:modelValue": (k) => h(o, k)
120
- }, null, 8, ["modelValue", "onUpdate:modelValue"])
121
- ]),
122
- _: 2
123
- }, 1032, ["onClick"]))), 128))
111
+ c(s(R), { as: "template" }, {
112
+ default: o(() => [
113
+ a("div", null, [
114
+ c(s(F), {
115
+ modelValue: d.value,
116
+ "onUpdate:modelValue": e[1] || (e[1] = (t) => d.value = t),
117
+ class: "flex items-center text-xs"
118
+ }, null, 8, ["modelValue"]),
119
+ a("table", W, [
120
+ (r(!0), V(N, null, M(D.value, ({ id: t, label: k, description: b }) => (r(), u(s(Q), {
121
+ key: t,
122
+ class: "text-c-2",
123
+ onClick: (C) => g(t, !l.selectedScopes.includes(t))
124
+ }, {
125
+ default: o(() => [
126
+ c(s(A), { class: "no-scrollbar hover:text-c-1 box-border flex !max-h-[initial] w-full cursor-pointer items-center gap-1 overflow-x-scroll px-3 py-1.5 text-nowrap" }, {
127
+ default: o(() => [
128
+ a("span", X, p(k), 1),
129
+ e[6] || (e[6] = a("span", null, "–", -1)),
130
+ b ? (r(), V("span", Y, p(b), 1)) : m("", !0)
131
+ ]),
132
+ _: 2
133
+ }, 1024),
134
+ c(s(q), {
135
+ modelValue: l.selectedScopes.includes(t),
136
+ "onUpdate:modelValue": (C) => g(t, C)
137
+ }, null, 8, ["modelValue", "onUpdate:modelValue"])
138
+ ]),
139
+ _: 2
140
+ }, 1032, ["onClick"]))), 128))
141
+ ])
124
142
  ])
125
143
  ]),
126
144
  _: 1
@@ -129,12 +147,12 @@ const F = { class: "flex h-fit w-full" }, L = { class: "flex-1" }, q = { class:
129
147
  _: 1
130
148
  })
131
149
  ]),
132
- c(P, {
133
- scopes: Object.keys(t.flow.scopes ?? {}),
134
- state: s(w),
135
- onSubmit: e[1] || (e[1] = (o) => d("update:selectedScopes", {
136
- scopes: t.selectedScopes,
137
- newScopePayload: { ...o, flowType: t.flowType }
150
+ c(L, {
151
+ scopes: Object.keys(l.flow.scopes ?? {}),
152
+ state: s(y),
153
+ onSubmit: e[2] || (e[2] = (t) => i("update:selectedScopes", {
154
+ scopes: l.selectedScopes,
155
+ newScopePayload: { ...t, flowType: l.flowType }
138
156
  }))
139
157
  }, null, 8, ["scopes", "state"])
140
158
  ]),
@@ -143,5 +161,5 @@ const F = { class: "flex h-fit w-full" }, L = { class: "flex-1" }, q = { class:
143
161
  }
144
162
  });
145
163
  export {
146
- ee as default
164
+ oe as default
147
165
  };
@@ -0,0 +1,5 @@
1
+ import o from "./OAuthScopesInput.vue.js";
2
+ /* empty css */
3
+ export {
4
+ o as default
5
+ };
@@ -12,7 +12,9 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
12
12
  plugins?: ClientPlugin[];
13
13
  getAppState: () => AppState;
14
14
  getCommandPaletteState: () => CommandPaletteState;
15
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
15
+ }, {
16
+ openCreateWorkspace: () => void;
17
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
16
18
  layout: Exclude<ClientLayout, "modal">;
17
19
  plugins?: ClientPlugin[];
18
20
  getAppState: () => AppState;
@@ -1 +1 @@
1
- {"version":3,"file":"App.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/app/App.vue"],"names":[],"mappings":"AA+NA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAM3C;;;;GAIG;;YAGO,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;cAC5B,YAAY,EAAE;iBACX,MAAM,QAAQ;4BACH,MAAM,mBAAmB;;YAHzC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;cAC5B,YAAY,EAAE;iBACX,MAAM,QAAQ;4BACH,MAAM,mBAAmB;;IAUjD;;;OAGG;4BACqB,EAAE;;AAnB5B,wBA2UC;AAOD,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"App.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/app/App.vue"],"names":[],"mappings":"AAmOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AAGxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AAC7F,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAM3C;;;;GAIG;;YAGO,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;cAC5B,YAAY,EAAE;iBACX,MAAM,QAAQ;4BACH,MAAM,mBAAmB;;;;YAHzC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC;cAC5B,YAAY,EAAE;iBACX,MAAM,QAAQ;4BACH,MAAM,mBAAmB;;IAUjD;;;OAGG;4BACqB,EAAE;;AAnB5B,wBAiVC;AAOD,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,20 +1,20 @@
1
- import { defineComponent as S, computed as p, createElementBlock as f, createBlock as c, unref as t, openBlock as i, Fragment as b, createElementVNode as u, createVNode as s, withCtx as m, renderSlot as h, normalizeProps as y, guardReactiveProps as W } from "vue";
2
- import { useModal as T, ScalarTeleportRoot as g } from "@scalar/components";
1
+ import { defineComponent as f, computed as u, createElementBlock as b, createBlock as c, unref as t, openBlock as l, Fragment as h, createElementVNode as p, createVNode as s, withCtx as m, renderSlot as W, normalizeProps as y, guardReactiveProps as T } from "vue";
2
+ import { useModal as g, ScalarTeleportRoot as C } from "@scalar/components";
3
3
  import { getThemeStyles as B } from "@scalar/themes";
4
- import { ScalarToasts as C } from "@scalar/use-toasts";
4
+ import { ScalarToasts as x } from "@scalar/use-toasts";
5
5
  import { extensions as E } from "@scalar/workspace-store/schemas/extensions";
6
- import { RouterView as x } from "vue-router";
7
- import O from "./components/CreateWorkspaceModal.vue.js";
8
- import I from "./components/SplashScreen.vue.js";
9
- import { useDocumentWatcher as A } from "./hooks/use-document-watcher.js";
10
- import M from "../command-palette/TheCommandPalette.vue.js";
11
- import { useColorMode as U } from "../../hooks/use-color-mode.js";
12
- import { useGlobalHotKeys as _ } from "../../hooks/use-global-hot-keys.js";
13
- import D from "./components/AppSidebar.vue.js";
14
- import N from "./components/DesktopTabs.vue.js";
15
- import $ from "./components/WebTopNav.vue.js";
16
- const L = ["innerHTML"], P = { class: "flex min-h-0 flex-1" }, F = { class: "bg-b-1 flex-1" }, H = {}, se = /* @__PURE__ */ S({
17
- ...H,
6
+ import { RouterView as O } from "vue-router";
7
+ import I from "./components/CreateWorkspaceModal.vue.js";
8
+ import A from "./components/SplashScreen.vue.js";
9
+ import { useDocumentWatcher as M } from "./hooks/use-document-watcher.js";
10
+ import U from "../command-palette/TheCommandPalette.vue.js";
11
+ import { useColorMode as _ } from "../../hooks/use-color-mode.js";
12
+ import { useGlobalHotKeys as D } from "../../hooks/use-global-hot-keys.js";
13
+ import N from "./components/AppSidebar.vue.js";
14
+ import $ from "./components/DesktopTabs.vue.js";
15
+ import L from "./components/WebTopNav.vue.js";
16
+ const P = ["innerHTML"], F = { class: "flex min-h-0 flex-1" }, H = { class: "bg-b-1 flex-1" }, V = {}, re = /* @__PURE__ */ f({
17
+ ...V,
18
18
  __name: "App",
19
19
  props: {
20
20
  layout: {},
@@ -22,24 +22,27 @@ const L = ["innerHTML"], P = { class: "flex min-h-0 flex-1" }, F = { class: "bg-
22
22
  getAppState: { type: Function },
23
23
  getCommandPaletteState: { type: Function }
24
24
  },
25
- setup(o) {
26
- const e = o.getAppState(), d = o.getCommandPaletteState();
27
- typeof window < "u" && (window.dataDumpWorkspace = () => e.store.value, window.dumpAppState = () => e), U({ workspaceStore: e.store }), _(e.eventBus, o.layout), A({
25
+ setup(o, { expose: d }) {
26
+ d({
27
+ openCreateWorkspace: () => n.show()
28
+ });
29
+ const e = o.getAppState(), v = o.getCommandPaletteState();
30
+ typeof window < "u" && (window.dataDumpWorkspace = () => e.store.value, window.dumpAppState = () => e), _({ workspaceStore: e.store }), D(e.eventBus, o.layout), M({
28
31
  documentName: () => e.store.value?.workspace[E.workspace.activeDocument],
29
32
  store: e.store,
30
33
  initialTimeout: 5e3
31
34
  });
32
- const v = p(() => {
35
+ const k = u(() => {
33
36
  if (e.store.value === null)
34
37
  return "";
35
- const n = e.store.value.workspace["x-scalar-theme"];
36
- return n ? `<style>${B(n)}</style>` : "";
37
- }), k = () => e.router.value?.push({
38
+ const i = e.store.value.workspace["x-scalar-theme"];
39
+ return i ? `<style>${B(i)}</style>` : "";
40
+ }), w = () => e.router.value?.push({
38
41
  name: "workspace.environment",
39
42
  params: {
40
43
  workspaceSlug: e.activeEntities.workspaceSlug.value
41
44
  }
42
- }), l = T(), w = p(() => ({
45
+ }), n = g(), S = u(() => ({
43
46
  documentSlug: e.activeEntities.documentSlug.value ?? "",
44
47
  document: e.store.value?.workspace.activeDocument ?? null,
45
48
  environment: e.environment.value,
@@ -53,25 +56,25 @@ const L = ["innerHTML"], P = { class: "flex min-h-0 flex-1" }, F = { class: "bg-
53
56
  plugins: o.plugins,
54
57
  securitySchemes: e.document.value?.components?.securitySchemes ?? {}
55
58
  }));
56
- return (n, a) => t(e).store.value !== null && t(e).workspace.activeWorkspace.value !== null && !t(e).loading.value ? (i(), f(b, { key: 0 }, [
57
- u("div", { innerHTML: v.value }, null, 8, L),
58
- s(t(g), null, {
59
+ return (i, a) => t(e).store.value !== null && t(e).workspace.activeWorkspace.value !== null && !t(e).loading.value ? (l(), b(h, { key: 0 }, [
60
+ p("div", { innerHTML: k.value }, null, 8, P),
61
+ s(t(C), null, {
59
62
  default: m(() => [
60
- s(t(C)),
61
- o.layout === "desktop" ? (i(), c(N, {
63
+ s(t(x)),
64
+ o.layout === "desktop" ? (l(), c($, {
62
65
  key: 0,
63
66
  activeTabIndex: t(e).tabs.activeTabIndex.value,
64
67
  eventBus: t(e).eventBus,
65
68
  tabs: t(e).tabs.state.value
66
- }, null, 8, ["activeTabIndex", "eventBus", "tabs"])) : (i(), c($, {
69
+ }, null, 8, ["activeTabIndex", "eventBus", "tabs"])) : (l(), c(L, {
67
70
  key: 1,
68
71
  activeWorkspace: t(e).workspace.activeWorkspace.value,
69
72
  workspaces: t(e).workspace.workspaceList.value,
70
- "onCreate:workspace": a[0] || (a[0] = (r) => t(l).show()),
73
+ "onCreate:workspace": a[0] || (a[0] = (r) => t(n).show()),
71
74
  "onSelect:workspace": t(e).workspace.setId
72
75
  }, null, 8, ["activeWorkspace", "workspaces", "onSelect:workspace"])),
73
- u("main", P, [
74
- s(D, {
76
+ p("main", F, [
77
+ s(N, {
75
78
  isSidebarOpen: t(e).sidebar.isOpen.value,
76
79
  "onUpdate:isSidebarOpen": a[1] || (a[1] = (r) => t(e).sidebar.isOpen.value = r),
77
80
  activeWorkspace: t(e).workspace.activeWorkspace.value,
@@ -82,36 +85,36 @@ const L = ["innerHTML"], P = { class: "flex min-h-0 flex-1" }, F = { class: "bg-
82
85
  sidebarWidth: t(e).sidebar.width.value,
83
86
  store: t(e).store.value,
84
87
  workspaces: t(e).workspace.workspaceList.value,
85
- "onClick:workspace": k,
86
- "onCreate:workspace": a[2] || (a[2] = (r) => t(l).show()),
88
+ "onClick:workspace": w,
89
+ "onCreate:workspace": a[2] || (a[2] = (r) => t(n).show()),
87
90
  "onSelect:workspace": t(e).workspace.setId,
88
91
  onSelectItem: t(e).sidebar.handleSelectItem,
89
92
  "onUpdate:sidebarWidth": t(e).sidebar.handleSidebarWidthUpdate
90
93
  }, {
91
94
  sidebarMenuActions: m(() => [
92
- h(n.$slots, "sidebar-menu-actions")
95
+ W(i.$slots, "sidebar-menu-actions")
93
96
  ]),
94
97
  _: 3
95
98
  }, 8, ["isSidebarOpen", "activeWorkspace", "eventBus", "isWorkspaceOpen", "layout", "sidebarState", "sidebarWidth", "store", "workspaces", "onSelect:workspace", "onSelectItem", "onUpdate:sidebarWidth"]),
96
- s(O, {
97
- state: t(l),
99
+ s(I, {
100
+ state: t(n),
98
101
  "onCreate:workspace": a[3] || (a[3] = (r) => t(e).workspace.create(r))
99
102
  }, null, 8, ["state"]),
100
- s(M, {
103
+ s(U, {
101
104
  eventBus: t(e).eventBus,
102
- paletteState: t(d),
105
+ paletteState: t(v),
103
106
  workspaceStore: t(e).store.value
104
107
  }, null, 8, ["eventBus", "paletteState", "workspaceStore"]),
105
- u("div", F, [
106
- s(t(x), y(W(w.value)), null, 16)
108
+ p("div", H, [
109
+ s(t(O), y(T(S.value)), null, 16)
107
110
  ])
108
111
  ])
109
112
  ]),
110
113
  _: 3
111
114
  })
112
- ], 64)) : (i(), c(I, { key: 1 }));
115
+ ], 64)) : (l(), c(A, { key: 1 }));
113
116
  }
114
117
  });
115
118
  export {
116
- se as default
119
+ re as default
117
120
  };
@@ -1,4 +1,7 @@
1
1
  export { type AppState, useAppState } from '../../../v2/features/app/app-state.js';
2
+ export { default as CreateWorkspaceModal } from '../../../v2/features/app/components/CreateWorkspaceModal.vue.js';
3
+ export { default as CommandActionForm } from '../../../v2/features/command-palette/components/CommandActionForm.vue.js';
4
+ export { default as CommandActionInput } from '../../../v2/features/command-palette/components/CommandActionInput.vue.js';
2
5
  export type { ClientPlugin } from '../../../v2/helpers/plugins.js';
3
6
  export type { ClientLayout } from '../../../v2/types/layout';
4
7
  export { type CommandPaletteAction, type CommandPaletteRoute, baseClientActions, baseRoutes, useCommandPaletteState, } from '../command-palette/hooks/use-command-palette-state.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACxE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,GACvB,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/app/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,uDAAuD,CAAA;AACvG,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,gEAAgE,CAAA;AAC7G,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,iEAAiE,CAAA;AAC/G,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,GACvB,MAAM,oDAAoD,CAAA;AAC3D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,WAAW,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA"}
@@ -1,14 +1,20 @@
1
- import { useAppState as o } from "./app-state.js";
2
- import { baseClientActions as a, baseRoutes as m, useCommandPaletteState as s } from "../command-palette/hooks/use-command-palette-state.js";
3
- import { default as A } from "./App.vue.js";
1
+ import { useAppState as a } from "./app-state.js";
2
+ import { default as p } from "./components/CreateWorkspaceModal.vue.js";
3
+ import { default as f } from "../command-palette/components/CommandActionForm.vue.js";
4
+ import { default as n } from "../command-palette/components/CommandActionInput.vue.js";
5
+ import { baseClientActions as u, baseRoutes as d, useCommandPaletteState as i } from "../command-palette/hooks/use-command-palette-state.js";
6
+ import { default as x } from "./App.vue.js";
4
7
  /* empty css */
5
- import { createApiClientApp as l, createAppRouter as n } from "./helpers/create-api-client-app.js";
8
+ import { createApiClientApp as c, createAppRouter as b } from "./helpers/create-api-client-app.js";
6
9
  export {
7
- A as ClientApp,
8
- a as baseClientActions,
9
- m as baseRoutes,
10
- l as createApiClientApp,
11
- n as createAppRouter,
12
- o as useAppState,
13
- s as useCommandPaletteState
10
+ x as ClientApp,
11
+ f as CommandActionForm,
12
+ n as CommandActionInput,
13
+ p as CreateWorkspaceModal,
14
+ u as baseClientActions,
15
+ d as baseRoutes,
16
+ c as createApiClientApp,
17
+ b as createAppRouter,
18
+ a as useAppState,
19
+ i as useCommandPaletteState
14
20
  };