@scalar/api-client 2.24.0 → 2.26.0

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 (81) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/dist/components/DataTable/DataTableCheckbox.vue.d.ts.map +1 -1
  3. package/dist/components/DataTable/DataTableCheckbox.vue.js +8 -8
  4. package/dist/style.css +1 -1
  5. package/dist/v2/blocks/operation-block/helpers/build-request-body.d.ts.map +1 -1
  6. package/dist/v2/blocks/operation-block/helpers/build-request-body.js +28 -19
  7. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.d.ts.map +1 -1
  8. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.js +1 -1
  9. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue2.js +1 -1
  10. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.d.ts.map +1 -1
  11. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js +18 -18
  12. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +1 -1
  13. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts.map +1 -1
  14. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +2 -2
  15. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue2.js +19 -19
  16. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts.map +1 -1
  17. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js +26 -26
  18. package/dist/v2/components/callout/Callout.vue.d.ts +17 -0
  19. package/dist/v2/components/callout/Callout.vue.d.ts.map +1 -0
  20. package/dist/v2/components/callout/Callout.vue.js +7 -0
  21. package/dist/v2/components/callout/Callout.vue2.js +43 -0
  22. package/dist/v2/components/data-table/DataTableCheckbox.vue.d.ts.map +1 -1
  23. package/dist/v2/components/data-table/DataTableCheckbox.vue.js +8 -8
  24. package/dist/v2/components/sidebar/Sidebar.vue.d.ts +2 -2
  25. package/dist/v2/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  26. package/dist/v2/components/sidebar/Sidebar.vue.js +40 -41
  27. package/dist/v2/components/sidebar/SidebarMenu.vue.d.ts +2 -2
  28. package/dist/v2/components/sidebar/SidebarMenu.vue.d.ts.map +1 -1
  29. package/dist/v2/components/sidebar/SidebarMenu.vue.js +6 -6
  30. package/dist/v2/features/app/App.vue.d.ts +6 -3
  31. package/dist/v2/features/app/App.vue.d.ts.map +1 -1
  32. package/dist/v2/features/app/App.vue.js +87 -86
  33. package/dist/v2/features/app/app-events.d.ts +1 -1
  34. package/dist/v2/features/app/app-events.d.ts.map +1 -1
  35. package/dist/v2/features/app/app-events.js +10 -10
  36. package/dist/v2/features/app/app-state.d.ts +77 -96
  37. package/dist/v2/features/app/app-state.d.ts.map +1 -1
  38. package/dist/v2/features/app/app-state.js +339 -322
  39. package/dist/v2/features/app/components/AppSidebar.vue.d.ts +2 -2
  40. package/dist/v2/features/app/components/AppSidebar.vue.d.ts.map +1 -1
  41. package/dist/v2/features/app/components/AppSidebar.vue.js +3 -3
  42. package/dist/v2/features/app/components/DesktopTabs.vue.d.ts.map +1 -1
  43. package/dist/v2/features/app/components/DesktopTabs.vue.js +1 -1
  44. package/dist/v2/features/app/helpers/create-api-client-app.d.ts +2 -2
  45. package/dist/v2/features/app/helpers/create-api-client-app.d.ts.map +1 -1
  46. package/dist/v2/features/app/helpers/create-api-client-app.js +9 -9
  47. package/dist/v2/features/app/helpers/filter-workspaces.d.ts +49 -0
  48. package/dist/v2/features/app/helpers/filter-workspaces.d.ts.map +1 -0
  49. package/dist/v2/features/app/helpers/filter-workspaces.js +5 -0
  50. package/dist/v2/features/app/helpers/get-route-param.d.ts +7 -0
  51. package/dist/v2/features/app/helpers/get-route-param.d.ts.map +1 -0
  52. package/dist/v2/features/app/helpers/get-route-param.js +9 -0
  53. package/dist/v2/features/app/helpers/group-workspaces.d.ts +24 -0
  54. package/dist/v2/features/app/helpers/group-workspaces.d.ts.map +1 -0
  55. package/dist/v2/features/app/helpers/group-workspaces.js +23 -0
  56. package/dist/v2/features/app/index.d.ts +1 -1
  57. package/dist/v2/features/app/index.d.ts.map +1 -1
  58. package/dist/v2/features/app/index.js +12 -12
  59. package/dist/v2/features/collection/DocumentCollection.vue.d.ts.map +1 -1
  60. package/dist/v2/features/collection/DocumentCollection.vue.js +72 -65
  61. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts +29 -2
  62. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +1 -1
  63. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +110 -106
  64. package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts +5 -1
  65. package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts.map +1 -1
  66. package/dist/v2/features/command-palette/helpers/load-document-from-source.js +41 -23
  67. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +41 -8
  68. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +1 -1
  69. package/dist/v2/features/command-palette/index.d.ts +1 -2
  70. package/dist/v2/features/command-palette/index.d.ts.map +1 -1
  71. package/dist/v2/features/command-palette/index.js +4 -6
  72. package/dist/v2/features/operation/Operation.vue.js +1 -1
  73. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.d.ts.map +1 -1
  74. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js +2 -2
  75. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue2.js +24 -23
  76. package/dist/views/Request/ResponseSection/ResponseEmpty.vue2.js +1 -1
  77. package/package.json +10 -10
  78. package/dist/v2/features/app/components/WebTopNav.vue.d.ts +0 -41
  79. package/dist/v2/features/app/components/WebTopNav.vue.d.ts.map +0 -1
  80. package/dist/v2/features/app/components/WebTopNav.vue.js +0 -27
  81. package/dist/v2/features/app/components/WebTopNav.vue2.js +0 -4
@@ -1,5 +1,7 @@
1
- import type { ScalarListboxOption } from '@scalar/components';
1
+ import type { ScalarListboxOption, WorkspaceGroup } from '@scalar/components';
2
2
  import type { HttpMethod } from '@scalar/helpers/http/http-methods';
3
+ import type { LoaderPlugin } from '@scalar/json-magic/bundle';
4
+ import { createSidebarState } from '@scalar/sidebar';
3
5
  import { type WorkspaceStore } from '@scalar/workspace-store/client';
4
6
  import { type WorkspaceEventBus } from '@scalar/workspace-store/events';
5
7
  import type { WorkspaceDocument } from '@scalar/workspace-store/schemas';
@@ -8,75 +10,6 @@ import type { Tab } from '@scalar/workspace-store/schemas/extensions/workspace/x
8
10
  import type { TraversedEntry } from '@scalar/workspace-store/schemas/navigation';
9
11
  import { type ComputedRef, type Ref, type ShallowRef } from 'vue';
10
12
  import type { RouteLocationNormalizedGeneric, Router } from 'vue-router';
11
- type WorkspaceOption = ScalarListboxOption & {
12
- teamUid: string;
13
- namespace: string;
14
- slug: string;
15
- };
16
- /**
17
- * Navigates to the overview page of the specified workspace.
18
- * Updates the route based on the given namespace and slug.
19
- *
20
- * @param namespace - The workspace namespace.
21
- * @param slug - The unique workspace slug (identifier).
22
- */
23
- declare const navigateToWorkspace: (namespace?: string, slug?: string) => Promise<void>;
24
- /**
25
- * Creates a new workspace with the provided name.
26
- * - Generates a unique slug for the workspace (uses the provided slug if it is unique, otherwise generates a unique slug).
27
- * - Adds a default blank document ("drafts") to the workspace.
28
- * - Persists the workspace and navigates to it.
29
- *
30
- * Example usage:
31
- * await createWorkspace({ name: 'My Awesome API' })
32
- * // -> Navigates to /workspace/my-awesome-api (if available)
33
- */
34
- declare const createWorkspace: ({ teamUid, namespace, slug, name, }: {
35
- teamUid?: string;
36
- namespace?: string;
37
- slug?: string;
38
- name: string;
39
- }) => Promise<{
40
- name: string;
41
- namespace: string;
42
- slug: string;
43
- teamUid: string;
44
- } | undefined>;
45
- declare const sidebarState: {
46
- items: ComputedRef<TraversedEntry[]>;
47
- index: ComputedRef<Map<string, TraversedEntry & {
48
- parent?: TraversedEntry | undefined;
49
- }>>;
50
- selectedItems: import("vue").Ref<Record<string, boolean>, Record<string, boolean>>;
51
- expandedItems: import("vue").Ref<Record<string, boolean>, Record<string, boolean>>;
52
- selectedItem: import("vue").Ref<string | null, string | null>;
53
- setSelected: (id: string | null) => void;
54
- setExpanded: (id: string, value: boolean) => void;
55
- isExpanded: (id: string) => boolean;
56
- isSelected: (id: string) => boolean;
57
- getEntryById: (id: string) => (TraversedEntry & {
58
- parent?: TraversedEntry | undefined;
59
- }) | undefined;
60
- reset: () => void;
61
- };
62
- /**
63
- * Looks up a sidebar entry by its unique API location.
64
- * - First tries to find an entry matching all provided properties (including example).
65
- * - If not found, falls back to matching only the operation (ignores example field).
66
- * This allows resolving either examples, operations, or documents as appropriate.
67
- *
68
- * @param location - Object specifying the document name, path, method, and optional example name.
69
- * @returns The matching sidebar entry, or undefined if none found.
70
- *
71
- * Example:
72
- * const entry = getEntryByLocation({
73
- * document: 'pets',
74
- * path: '/pets',
75
- * method: 'get',
76
- * example: 'default',
77
- * })
78
- */
79
- declare const getEntryByLocation: GetEntryByLocation;
80
13
  export type GetEntryByLocation = (location: {
81
14
  document: string;
82
15
  path?: string;
@@ -85,59 +18,107 @@ export type GetEntryByLocation = (location: {
85
18
  }) => (TraversedEntry & {
86
19
  parent?: TraversedEntry | undefined;
87
20
  }) | undefined;
88
- /**
89
- * Handles item selection from the sidebar and routes navigation accordingly.
90
- *
91
- * Example:
92
- * handleSelectItem('id-of-entry')
93
- */
94
- declare const handleSelectItem: (id: string) => Promise<void | import("vue-router").NavigationFailure | undefined> | undefined;
95
- /** Handler for sidebar width changes. */
96
- declare const handleSidebarWidthUpdate: (width: number) => void | undefined;
97
- /**
98
- * Copies the URL of the tab at the given index to the clipboard.
99
- * Constructs the full URL using the current origin and the tab path.
100
- *
101
- * @throws Will silently fail if clipboard API is unavailable or the tab does not exist.
102
- */
103
- declare const copyTabUrl: (index: number) => Promise<void>;
21
+ type WorkspaceOption = ScalarListboxOption & {
22
+ teamUid: string;
23
+ namespace: string;
24
+ slug: string;
25
+ };
26
+ /** Defines the overall application state structure and its main feature modules */
104
27
  export type AppState = {
28
+ /** The workspace store */
105
29
  store: ShallowRef<WorkspaceStore | null>;
30
+ /** The sidebar management */
106
31
  sidebar: {
107
- state: typeof sidebarState;
32
+ /** The sidebar state */
33
+ state: ReturnType<typeof createSidebarState<TraversedEntry>>;
34
+ /** The width of the sidebar */
108
35
  width: ComputedRef<number>;
36
+ /** Whether the sidebar is open */
109
37
  isOpen: Ref<boolean>;
110
- handleSelectItem: typeof handleSelectItem;
111
- handleSidebarWidthUpdate: typeof handleSidebarWidthUpdate;
112
- getEntryByLocation: typeof getEntryByLocation;
38
+ /** Handles the selection of an item in the sidebar */
39
+ handleSelectItem: (id: string) => void;
40
+ /** Handles the width update of the sidebar */
41
+ handleSidebarWidthUpdate: (width: number) => void;
42
+ /** Gets the entry by location */
43
+ getEntryByLocation: GetEntryByLocation;
113
44
  };
45
+ /** The tabs management */
114
46
  tabs: {
47
+ /** The tabs state */
115
48
  state: Ref<Tab[]>;
49
+ /** The active tab index */
116
50
  activeTabIndex: Ref<number>;
117
- copyTabUrl: typeof copyTabUrl;
51
+ /** Copies the URL of the tab at the given index to the clipboard */
52
+ copyTabUrl: (index: number) => Promise<void>;
118
53
  };
54
+ /** The workspace management */
119
55
  workspace: {
120
- create: typeof createWorkspace;
56
+ /** Creates a new workspace and navigates to it */
57
+ create: (payload: {
58
+ teamUid?: string;
59
+ namespace?: string;
60
+ slug?: string;
61
+ name: string;
62
+ }) => Promise<{
63
+ name: string;
64
+ namespace: string;
65
+ slug: string;
66
+ teamUid: string;
67
+ } | undefined>;
68
+ /** All workspace list */
121
69
  workspaceList: Ref<WorkspaceOption[]>;
122
- activeWorkspace: ShallowRef<ScalarListboxOption | null>;
123
- navigateToWorkspace: typeof navigateToWorkspace;
70
+ /** Filtered workspace list, based on the current teamUid */
71
+ filteredWorkspaceList: ComputedRef<WorkspaceOption[]>;
72
+ /**
73
+ * Groups workspaces into team and local categories for display in the workspace picker.
74
+ * Team workspaces are shown first (when not on local team), followed by local workspaces.
75
+ */
76
+ workspaceGroups: ComputedRef<WorkspaceGroup[]>;
77
+ /** The currently active workspace */
78
+ activeWorkspace: ShallowRef<{
79
+ id: string;
80
+ label: string;
81
+ } | null>;
82
+ /** Navigates to the specified workspace */
83
+ navigateToWorkspace: (namespace?: string, slug?: string) => Promise<void>;
84
+ /** Whether the workspace page is open */
124
85
  isOpen: ComputedRef<boolean>;
125
86
  };
87
+ /** The workspace event bus for handling workspace-level events */
126
88
  eventBus: WorkspaceEventBus;
127
- router: ShallowRef<Router | null>;
89
+ /** The router instance */
90
+ router: Router;
91
+ /** The current route derived from the router */
128
92
  currentRoute: Ref<RouteLocationNormalizedGeneric | null>;
93
+ /** Whether the workspace is currently syncing */
129
94
  loading: Ref<boolean>;
95
+ /** The currently active entities */
130
96
  activeEntities: {
97
+ /** The namespace of the current entity, e.g. "default" or a custom namespace */
131
98
  namespace: Ref<string | undefined>;
99
+ /** The slug identifying the current workspace */
132
100
  workspaceSlug: Ref<string | undefined>;
101
+ /** The slug of the currently selected document in the workspace */
133
102
  documentSlug: Ref<string | undefined>;
103
+ /** The API path currently selected (e.g. "/users/{id}") */
134
104
  path: Ref<string | undefined>;
105
+ /** The HTTP method for the currently selected API path (e.g. GET, POST) */
135
106
  method: Ref<HttpMethod | undefined>;
107
+ /** The name of the currently selected example (for examples within an endpoint) */
136
108
  exampleName: Ref<string | undefined>;
109
+ /** The unique identifier for the selected team context */
110
+ teamUid: Ref<string>;
137
111
  };
112
+ /** The currently active environment */
138
113
  environment: ComputedRef<XScalarEnvironment>;
114
+ /** The currently active document */
139
115
  document: ComputedRef<WorkspaceDocument | null>;
116
+ /** Whether the current color mode is dark */
117
+ isDarkMode: ComputedRef<boolean>;
140
118
  };
141
- export declare function useAppState(_router: Router): AppState;
119
+ export declare const createAppState: ({ router, fileLoader, }: {
120
+ router: Router;
121
+ fileLoader?: LoaderPlugin;
122
+ }) => Promise<AppState>;
142
123
  export {};
143
124
  //# sourceMappingURL=app-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-state.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/app/app-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-state.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/app/app-state.ts"],"names":[],"mappings":"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"}