@scalar/api-client 2.0.30 → 2.0.32

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 (65) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/components/AddressBar/AddressBarHistory.vue.d.ts.map +1 -1
  3. package/dist/components/CodeInput/CodeInput.vue.d.ts +2 -2
  4. package/dist/components/CodeInput/CodeInput.vue.d.ts.map +1 -1
  5. package/dist/components/CodeInput/CodeInput.vue.js +2 -2
  6. package/dist/components/CodeInput/CodeInput.vue2.js +62 -47
  7. package/dist/components/CodeInput/codeDropdownWidget.d.ts +9 -1
  8. package/dist/components/CodeInput/codeDropdownWidget.d.ts.map +1 -1
  9. package/dist/components/CodeInput/codeDropdownWidget.js +62 -51
  10. package/dist/components/CodeInput/codeVariableWidget.d.ts +10 -1
  11. package/dist/components/CodeInput/codeVariableWidget.d.ts.map +1 -1
  12. package/dist/components/CodeInput/codeVariableWidget.js +63 -56
  13. package/dist/components/CommandPalette/CommandPaletteImport.vue.js +1 -1
  14. package/dist/components/HttpMethod/HttpMethod.vue.d.ts +2 -2
  15. package/dist/components/TopNav/TopNav.vue.d.ts.map +1 -1
  16. package/dist/components/TopNav/TopNav.vue.js +1 -1
  17. package/dist/components/TopNav/TopNav.vue2.js +65 -34
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +8 -8
  21. package/dist/layouts/App/create-api-client-app.d.ts +2966 -0
  22. package/dist/layouts/App/create-api-client-app.d.ts.map +1 -0
  23. package/dist/layouts/App/create-api-client-app.js +18 -0
  24. package/dist/layouts/App/index.d.ts +1 -1
  25. package/dist/layouts/App/index.d.ts.map +1 -1
  26. package/dist/layouts/App/index.js +1 -1
  27. package/dist/layouts/Modal/ApiClientModal.vue.d.ts +1 -17
  28. package/dist/layouts/Modal/ApiClientModal.vue.d.ts.map +1 -1
  29. package/dist/layouts/Modal/ApiClientModal.vue.js +1 -1
  30. package/dist/layouts/Modal/ApiClientModal.vue2.js +20 -24
  31. package/dist/layouts/Modal/api-client-modal.d.ts +5905 -57
  32. package/dist/layouts/Modal/api-client-modal.d.ts.map +1 -1
  33. package/dist/layouts/Modal/api-client-modal.js +27 -129
  34. package/dist/libs/create-client.d.ts +3026 -0
  35. package/dist/libs/create-client.d.ts.map +1 -0
  36. package/dist/libs/create-client.js +147 -0
  37. package/dist/libs/index.d.ts +1 -0
  38. package/dist/libs/index.d.ts.map +1 -1
  39. package/dist/libs/index.js +11 -9
  40. package/dist/router.d.ts +4 -20
  41. package/dist/router.d.ts.map +1 -1
  42. package/dist/router.js +28 -44
  43. package/dist/store/index.d.ts +2 -0
  44. package/dist/store/index.d.ts.map +1 -0
  45. package/dist/store/index.js +5 -0
  46. package/dist/store/workspace.d.ts +3028 -603
  47. package/dist/store/workspace.d.ts.map +1 -1
  48. package/dist/store/workspace.js +454 -432
  49. package/dist/style.css +1 -1
  50. package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts +8 -0
  51. package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts.map +1 -1
  52. package/dist/views/Environment/EnvironmentVariableDropdown.vue.js +32 -31
  53. package/dist/views/Request/RequestSection/RequestTable.vue.d.ts +2 -2
  54. package/dist/views/Request/RequestSidebarItem.vue.d.ts.map +1 -1
  55. package/dist/views/Request/RequestSidebarItem.vue.js +1 -1
  56. package/dist/views/Request/RequestSidebarItem.vue2.js +24 -23
  57. package/dist/views/Request/RequestSidebarItemMenu.vue.d.ts.map +1 -1
  58. package/dist/views/Request/RequestSidebarItemMenu.vue.js +26 -20
  59. package/package.json +8 -4
  60. package/dist/layouts/App/createApiClientApp.d.ts +0 -16
  61. package/dist/layouts/App/createApiClientApp.d.ts.map +0 -1
  62. package/dist/layouts/App/createApiClientApp.js +0 -62
  63. package/dist/store/topNav.d.ts +0 -445
  64. package/dist/store/topNav.d.ts.map +0 -1
  65. package/dist/store/topNav.js +0 -53
@@ -1,32 +1,34 @@
1
1
  var u = Object.defineProperty;
2
- var f = (e, n, t) => n in e ? u(e, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[n] = t;
3
- var c = (e, n, t) => f(e, typeof n != "symbol" ? n + "" : n, t);
4
- import { useWorkspace as v } from "../../store/workspace.js";
5
- import { ScalarButton as g, ScalarIcon as b, ScalarTooltip as h } from "@scalar/components";
6
- import { ViewPlugin as x, RangeSetBuilder as w, Decoration as N, EditorView as y, WidgetType as C } from "@scalar/use-codemirror";
7
- import { defineComponent as E, h as s, createApp as k } from "vue";
8
- const { activeParsedEnvironments: D, isReadOnly: S, environments: $ } = v(), A = (e) => "_scalarEnvId" in e ? `bg-${$[e._scalarEnvId].color}` : "bg-grey";
9
- class l extends C {
10
- constructor(t) {
2
+ var h = (n, e, t) => e in n ? u(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
3
+ var r = (n, e, t) => h(n, typeof e != "symbol" ? e + "" : e, t);
4
+ import { ScalarButton as f, ScalarIcon as g, ScalarTooltip as b } from "@scalar/components";
5
+ import { ViewPlugin as x, RangeSetBuilder as w, Decoration as y, EditorView as N, WidgetType as E } from "@scalar/use-codemirror";
6
+ import { defineComponent as C, h as a, createApp as S } from "vue";
7
+ const k = (n, e) => "_scalarEnvId" in n ? `bg-${e[n._scalarEnvId].color}` : "bg-grey";
8
+ class d extends E {
9
+ constructor(t, i, s, o) {
11
10
  super();
12
- c(this, "app");
13
- this.variableName = t;
11
+ r(this, "app");
12
+ r(this, "environments");
13
+ r(this, "activeParsedEnvironments");
14
+ r(this, "isReadOnly");
15
+ this.variableName = t, this.variableName = t, this.environments = i, this.activeParsedEnvironments = s, this.isReadOnly = o;
14
16
  }
15
17
  toDOM() {
16
18
  const t = document.createElement("span");
17
19
  t.className = "cm-pill", t.textContent = `${this.variableName}`;
18
- const a = E({
19
- props: ["variableName"],
20
- render() {
21
- const o = D.value.find(
22
- (i) => i.key === this.variableName
20
+ const i = C({
21
+ props: { variableName: { type: String, default: null } },
22
+ render: () => {
23
+ const s = this.activeParsedEnvironments.value.find(
24
+ (c) => c.key === this.variableName
23
25
  );
24
- o && (t.className += ` ${A(o)}`);
25
- const r = o ? s("div", { class: "p-2" }, o.value) : s("div", { class: "divide-y divide-1/2 grid" }, [
26
- s("span", { class: "p-2" }, "Variable not found"),
27
- !S.value && s("div", { class: "p-1" }, [
28
- s(
29
- g,
26
+ s && (t.className += ` ${k(s, this.environments)}`);
27
+ const o = s ? a("div", { class: "p-2" }, s.value) : a("div", { class: "divide-y divide-1/2 grid" }, [
28
+ a("span", { class: "p-2" }, "Variable not found"),
29
+ !this.isReadOnly && a("div", { class: "p-1" }, [
30
+ a(
31
+ f,
30
32
  {
31
33
  class: "gap-1.5 justify-start font-normal px-1 py-1.5 h-auto transition-colors rounded no-underline text-xxs w-full hover:bg-b-2",
32
34
  variant: "ghost",
@@ -35,14 +37,14 @@ class l extends C {
35
37
  }
36
38
  },
37
39
  [
38
- s(b, { class: "w-2", icon: "Add", size: "xs" }),
40
+ a(g, { class: "w-2", icon: "Add", size: "xs" }),
39
41
  "Add variable"
40
42
  ]
41
43
  )
42
44
  ])
43
45
  ]);
44
- return s(
45
- h,
46
+ return a(
47
+ b,
46
48
  {
47
49
  align: "start",
48
50
  class: "bg-b-1 w-full",
@@ -51,76 +53,81 @@ class l extends C {
51
53
  sideOffset: 6
52
54
  },
53
55
  {
54
- trigger: () => s("span", `${this.variableName}`),
55
- content: () => s(
56
+ trigger: () => a("span", `${this.variableName}`),
57
+ content: () => a(
56
58
  "div",
57
59
  {
58
60
  class: "w-content shadow-lg rounded bg-b-1 text-xxs leading-5 text-c-1"
59
61
  },
60
- r
62
+ o
61
63
  )
62
64
  }
63
65
  );
64
66
  }
65
67
  });
66
- return this.app = k(a, { variableName: this.variableName }), this.app.mount(t), t;
68
+ return this.app = S(i, { variableName: this.variableName }), this.app.mount(t), t;
67
69
  }
68
70
  destroy() {
69
71
  this.app && this.app.unmount();
70
72
  }
71
73
  eq(t) {
72
- return t instanceof l && t.variableName === this.variableName;
74
+ return t instanceof d && t.variableName === this.variableName;
73
75
  }
74
- ignoreEvent(t) {
76
+ ignoreEvent() {
75
77
  return !1;
76
78
  }
77
79
  }
78
- const V = x.fromClass(
80
+ const $ = (n) => x.fromClass(
79
81
  class {
80
82
  constructor(e) {
81
- c(this, "decorations");
83
+ r(this, "decorations");
82
84
  this.decorations = this.buildDecorations(e);
83
85
  }
84
86
  update(e) {
85
87
  (e.docChanged || e.viewportChanged) && (this.decorations = this.buildDecorations(e.view));
86
88
  }
87
89
  buildDecorations(e) {
88
- const n = new w();
89
- for (const { from: t, to: a } of e.visibleRanges) {
90
- const o = e.state.doc.sliceString(t, a), r = /{{(.*?)}}/g;
91
- let i;
92
- for (; (i = r.exec(o)) !== null; ) {
93
- const d = t + i.index, p = d + i[0].length, m = i[1];
94
- n.add(
95
- d,
96
- p,
97
- N.widget({
98
- widget: new l(m),
90
+ const t = new w();
91
+ for (const { from: i, to: s } of e.visibleRanges) {
92
+ const o = e.state.doc.sliceString(i, s), c = /{{(.*?)}}/g;
93
+ let l;
94
+ for (; (l = c.exec(o)) !== null; ) {
95
+ const m = i + l.index, v = m + l[0].length, p = l[1];
96
+ t.add(
97
+ m,
98
+ v,
99
+ y.widget({
100
+ widget: new d(
101
+ p,
102
+ n.environments,
103
+ n.activeParsedEnvironments,
104
+ n.isReadOnly
105
+ ),
99
106
  side: 1
100
107
  })
101
108
  );
102
109
  }
103
110
  }
104
- return n.finish();
111
+ return t.finish();
105
112
  }
106
113
  },
107
114
  {
108
115
  decorations: (e) => e.decorations
109
116
  }
110
- ), T = y.domEventHandlers({
111
- keydown(e, n) {
112
- if (e.key === "Backspace") {
113
- const { state: t } = n, { from: a, to: o } = t.selection.main;
114
- if (a === o && a > 0 && t.doc.sliceString(a - 2, a) === "}}")
115
- return n.dispatch({
116
- changes: { from: a - 2, to: o },
117
- selection: { anchor: a - 2 }
118
- }), e.preventDefault(), !0;
117
+ ), A = N.domEventHandlers({
118
+ keydown(n, e) {
119
+ if (n.key === "Backspace") {
120
+ const { state: t } = e, { from: i, to: s } = t.selection.main;
121
+ if (i === s && i > 0 && t.doc.sliceString(i - 2, i) === "}}")
122
+ return e.dispatch({
123
+ changes: { from: i - 2, to: s },
124
+ selection: { anchor: i - 2 }
125
+ }), n.preventDefault(), !0;
119
126
  }
120
127
  return !1;
121
128
  }
122
129
  });
123
130
  export {
124
- T as backspaceCommand,
125
- V as pillPlugin
131
+ A as backspaceCommand,
132
+ $ as pillPlugin
126
133
  };
@@ -17,7 +17,7 @@ const U = { class: "gap-3 rounded bg-b-2 focus-within:bg-b-1 focus-within:shadow
17
17
  i.onload = async (v) => {
18
18
  var p;
19
19
  const w = (p = v.target) == null ? void 0 : p.result;
20
- _(w, h.value.uid, !1), n(), s("close");
20
+ _(w, h.value.uid), n(), s("close");
21
21
  }, i.readAsText(l);
22
22
  }
23
23
  },
@@ -7,7 +7,7 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
7
7
  isDisable: boolean;
8
8
  isEditable: boolean;
9
9
  }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
- change: (value: "GET" | "HEAD" | "PATCH" | "POST" | "PUT" | "TRACE" | "CONNECT" | "DELETE" | "OPTIONS") => void;
10
+ change: (value: "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT" | "TRACE") => void;
11
11
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<{
12
12
  isSquare?: boolean;
13
13
  method: string;
@@ -17,7 +17,7 @@ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_T
17
17
  isDisable: boolean;
18
18
  isEditable: boolean;
19
19
  }>>> & {
20
- onChange?: ((value: "GET" | "HEAD" | "PATCH" | "POST" | "PUT" | "TRACE" | "CONNECT" | "DELETE" | "OPTIONS") => any) | undefined;
20
+ onChange?: ((value: "CONNECT" | "DELETE" | "GET" | "HEAD" | "OPTIONS" | "PATCH" | "POST" | "PUT" | "TRACE") => any) | undefined;
21
21
  }, {
22
22
  isSquare: boolean;
23
23
  isEditable: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"TopNav.vue.d.ts","sourceRoot":"","sources":["../../../src/components/TopNav/TopNav.vue"],"names":[],"mappings":";AAqPA,wBAKG"}
1
+ {"version":3,"file":"TopNav.vue.d.ts","sourceRoot":"","sources":["../../../src/components/TopNav/TopNav.vue"],"names":[],"mappings":";AAyXA,wBAKG"}
@@ -1,7 +1,7 @@
1
1
  import o from "./TopNav.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-31a24876"]]);
4
+ const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-868c07b1"]]);
5
5
  export {
6
6
  m as default
7
7
  };
@@ -1,46 +1,77 @@
1
- import { defineComponent as k, computed as h, openBlock as c, createElementBlock as s, createElementVNode as l, unref as e, createVNode as p, toDisplayString as I, Fragment as g, renderList as b, createBlock as N, pushScopeId as x, popScopeId as y } from "vue";
2
- import { useTopNav as C } from "../../store/topNav.js";
3
- import { ScalarIcon as m } from "@scalar/components";
4
- import S from "./TopNavItem.vue.js";
5
- const w = (o) => (x("data-v-31a24876"), o = o(), y(), o), B = { class: "flex h-10 t-app__top-nav" }, T = /* @__PURE__ */ w(() => /* @__PURE__ */ l("div", { class: "t-app__top-nav-draggable" }, null, -1)), V = { class: "flex h-10 flex-1 items-center justify-center gap-1.5 text-sm font-medium relative" }, j = {
1
+ import { defineComponent as N, reactive as y, ref as x, watch as S, computed as C, openBlock as r, createElementBlock as u, createElementVNode as i, createVNode as v, unref as d, toDisplayString as w, Fragment as A, renderList as R, createBlock as z, pushScopeId as B, popScopeId as E } from "vue";
2
+ import { ROUTES as T } from "../../constants.js";
3
+ import { ScalarIcon as h } from "@scalar/components";
4
+ import { capitalize as V } from "@scalar/oas-utils/helpers";
5
+ import j from "./TopNavItem.vue.js";
6
+ import { useWorkspace as q } from "../../store/workspace.js";
7
+ const L = (l) => (B("data-v-868c07b1"), l = l(), E(), l), $ = { class: "flex h-10 t-app__top-nav" }, D = /* @__PURE__ */ L(() => /* @__PURE__ */ i("div", { class: "t-app__top-nav-draggable" }, null, -1)), F = { class: "flex h-10 flex-1 items-center justify-center gap-1.5 text-sm font-medium relative" }, M = {
6
8
  key: 0,
7
9
  class: "flex items-center gap-1 w-full justify-center"
8
- }, F = /* @__PURE__ */ k({
10
+ }, K = /* @__PURE__ */ N({
9
11
  __name: "TopNav",
10
- setup(o) {
11
- const {
12
- topNavItems: n,
13
- addNavItem: i,
14
- activeNavItemIdx: v,
15
- setNavItemIdx: d,
16
- removeNavItem: u
17
- } = C(), _ = h(() => v.value);
18
- return (z, r) => (c(), s("nav", B, [
19
- T,
20
- l("div", V, [
21
- e(n).length === 1 ? (c(), s("div", j, [
22
- p(e(m), {
23
- icon: e(n)[0].icon,
12
+ setup(l) {
13
+ const { activeRequest: f, router: n } = q(), t = y([{ label: "", path: "", icon: "Add" }]), a = x(0);
14
+ function p() {
15
+ var s;
16
+ const e = T.find((c) => n.currentRoute.value.name == c.name);
17
+ e && ((e == null ? void 0 : e.name) === "request" ? t[a.value] = {
18
+ label: ((s = f.value) == null ? void 0 : s.summary) || "",
19
+ path: n.currentRoute.value.path,
20
+ icon: e.icon
21
+ } : t[a.value] = {
22
+ label: V(e == null ? void 0 : e.name) || "",
23
+ path: n.currentRoute.value.path,
24
+ icon: e.icon
25
+ });
26
+ }
27
+ function m() {
28
+ n.push(t[a.value].path);
29
+ }
30
+ function _() {
31
+ t.push({ label: "", path: "", icon: "Add" }), a.value = t.length - 1, p();
32
+ }
33
+ function b(e) {
34
+ a.value = e, m();
35
+ }
36
+ S(
37
+ () => n.currentRoute.value.path,
38
+ () => {
39
+ p();
40
+ },
41
+ { immediate: !0 }
42
+ );
43
+ function k(e) {
44
+ t.splice(e, 1), a.value = Math.min(
45
+ a.value,
46
+ t.length - 1
47
+ ), m();
48
+ }
49
+ const g = C(() => a.value);
50
+ return (e, s) => (r(), u("nav", $, [
51
+ D,
52
+ i("div", F, [
53
+ t.length === 1 ? (r(), u("div", M, [
54
+ v(d(h), {
55
+ icon: t[0].icon,
24
56
  size: "xs",
25
57
  thickness: "2.5"
26
58
  }, null, 8, ["icon"]),
27
- l("div", null, I(e(n)[0].label), 1)
28
- ])) : (c(!0), s(g, { key: 1 }, b(e(n), (a, t) => (c(), N(S, {
29
- key: t,
30
- active: t === _.value,
31
- hotkey: (t + 1).toString(),
32
- icon: a.icon,
33
- label: a.label,
34
- onClick: (f) => e(d)(t),
35
- onClose: (f) => e(u)(t)
59
+ i("div", null, w(t[0].label), 1)
60
+ ])) : (r(!0), u(A, { key: 1 }, R(t, (c, o) => (r(), z(j, {
61
+ key: o,
62
+ active: o === g.value,
63
+ hotkey: (o + 1).toString(),
64
+ icon: c.icon,
65
+ label: c.label,
66
+ onClick: (I) => b(o),
67
+ onClose: (I) => k(o)
36
68
  }, null, 8, ["active", "hotkey", "icon", "label", "onClick", "onClose"]))), 128)),
37
- l("button", {
69
+ i("button", {
38
70
  class: "text-c-3 hover:bg-b-2 p-1.5 rounded-lg webkit-app-no-drag",
39
71
  type: "button",
40
- onClick: r[0] || (r[0] = //@ts-ignore
41
- (...a) => e(i) && e(i)(...a))
72
+ onClick: _
42
73
  }, [
43
- p(e(m), {
74
+ v(d(h), {
44
75
  icon: "Add",
45
76
  size: "xs",
46
77
  thickness: "2.5"
@@ -51,5 +82,5 @@ const w = (o) => (x("data-v-31a24876"), o = o(), y(), o), B = { class: "flex h-1
51
82
  }
52
83
  });
53
84
  export {
54
- F as default
85
+ K as default
55
86
  };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './layouts/Modal/index.js';
2
2
  export * from './layouts/App/index.js';
3
3
  export { useWorkspace } from './store/workspace.js';
4
- export { modalRouter, webHashRouter, router } from './router.js';
4
+ export { createModalRouter, webHashRouter, router } from './router.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -1,17 +1,17 @@
1
1
  import { useWorkspace as t } from "./store/workspace.js";
2
- import { modalRouter as a, router as i, webHashRouter as l } from "./router.js";
2
+ import { createModalRouter as a, router as i, webHashRouter as l } from "./router.js";
3
3
  import { default as m } from "./layouts/App/ApiClientApp.vue.js";
4
4
  /* empty css */
5
- import { default as d } from "./layouts/Modal/ApiClientModal.vue.js";
6
- import { createApiClientModal as u, createApiClientModalSync as x } from "./layouts/Modal/api-client-modal.js";
7
- import { createApiClientApp as s } from "./layouts/App/createApiClientApp.js";
5
+ import { default as c } from "./layouts/Modal/ApiClientModal.vue.js";
6
+ import { createApiClientModal as n, createApiClientModalSync as u } from "./layouts/Modal/api-client-modal.js";
7
+ import { createApiClientApp as s } from "./layouts/App/create-api-client-app.js";
8
8
  export {
9
9
  m as ApiClientApp,
10
- d as ApiClientModal,
10
+ c as ApiClientModal,
11
11
  s as createApiClientApp,
12
- u as createApiClientModal,
13
- x as createApiClientModalSync,
14
- a as modalRouter,
12
+ n as createApiClientModal,
13
+ u as createApiClientModalSync,
14
+ a as createModalRouter,
15
15
  i as router,
16
16
  t as useWorkspace,
17
17
  l as webHashRouter