@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.
- package/CHANGELOG.md +61 -0
- package/dist/components/DataTable/DataTableCheckbox.vue.d.ts.map +1 -1
- package/dist/components/DataTable/DataTableCheckbox.vue.js +8 -8
- package/dist/style.css +1 -1
- package/dist/v2/blocks/operation-block/helpers/build-request-body.d.ts.map +1 -1
- package/dist/v2/blocks/operation-block/helpers/build-request-body.js +28 -19
- package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.d.ts.map +1 -1
- package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.js +1 -1
- package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue2.js +1 -1
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js +18 -18
- package/dist/v2/blocks/request-block/helpers/get-default-headers.js +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts.map +1 -1
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +2 -2
- package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue2.js +19 -19
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts.map +1 -1
- package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js +26 -26
- package/dist/v2/components/callout/Callout.vue.d.ts +17 -0
- package/dist/v2/components/callout/Callout.vue.d.ts.map +1 -0
- package/dist/v2/components/callout/Callout.vue.js +7 -0
- package/dist/v2/components/callout/Callout.vue2.js +43 -0
- package/dist/v2/components/data-table/DataTableCheckbox.vue.d.ts.map +1 -1
- package/dist/v2/components/data-table/DataTableCheckbox.vue.js +8 -8
- package/dist/v2/components/sidebar/Sidebar.vue.d.ts +2 -2
- package/dist/v2/components/sidebar/Sidebar.vue.d.ts.map +1 -1
- package/dist/v2/components/sidebar/Sidebar.vue.js +40 -41
- package/dist/v2/components/sidebar/SidebarMenu.vue.d.ts +2 -2
- package/dist/v2/components/sidebar/SidebarMenu.vue.d.ts.map +1 -1
- package/dist/v2/components/sidebar/SidebarMenu.vue.js +6 -6
- package/dist/v2/features/app/App.vue.d.ts +6 -3
- package/dist/v2/features/app/App.vue.d.ts.map +1 -1
- package/dist/v2/features/app/App.vue.js +87 -86
- package/dist/v2/features/app/app-events.d.ts +1 -1
- package/dist/v2/features/app/app-events.d.ts.map +1 -1
- package/dist/v2/features/app/app-events.js +10 -10
- package/dist/v2/features/app/app-state.d.ts +77 -96
- package/dist/v2/features/app/app-state.d.ts.map +1 -1
- package/dist/v2/features/app/app-state.js +339 -322
- package/dist/v2/features/app/components/AppSidebar.vue.d.ts +2 -2
- package/dist/v2/features/app/components/AppSidebar.vue.d.ts.map +1 -1
- package/dist/v2/features/app/components/AppSidebar.vue.js +3 -3
- package/dist/v2/features/app/components/DesktopTabs.vue.d.ts.map +1 -1
- package/dist/v2/features/app/components/DesktopTabs.vue.js +1 -1
- package/dist/v2/features/app/helpers/create-api-client-app.d.ts +2 -2
- package/dist/v2/features/app/helpers/create-api-client-app.d.ts.map +1 -1
- package/dist/v2/features/app/helpers/create-api-client-app.js +9 -9
- package/dist/v2/features/app/helpers/filter-workspaces.d.ts +49 -0
- package/dist/v2/features/app/helpers/filter-workspaces.d.ts.map +1 -0
- package/dist/v2/features/app/helpers/filter-workspaces.js +5 -0
- package/dist/v2/features/app/helpers/get-route-param.d.ts +7 -0
- package/dist/v2/features/app/helpers/get-route-param.d.ts.map +1 -0
- package/dist/v2/features/app/helpers/get-route-param.js +9 -0
- package/dist/v2/features/app/helpers/group-workspaces.d.ts +24 -0
- package/dist/v2/features/app/helpers/group-workspaces.d.ts.map +1 -0
- package/dist/v2/features/app/helpers/group-workspaces.js +23 -0
- package/dist/v2/features/app/index.d.ts +1 -1
- package/dist/v2/features/app/index.d.ts.map +1 -1
- package/dist/v2/features/app/index.js +12 -12
- package/dist/v2/features/collection/DocumentCollection.vue.d.ts.map +1 -1
- package/dist/v2/features/collection/DocumentCollection.vue.js +72 -65
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts +29 -2
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +1 -1
- package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +110 -106
- package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts +5 -1
- package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts.map +1 -1
- package/dist/v2/features/command-palette/helpers/load-document-from-source.js +41 -23
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +41 -8
- package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +1 -1
- package/dist/v2/features/command-palette/index.d.ts +1 -2
- package/dist/v2/features/command-palette/index.d.ts.map +1 -1
- package/dist/v2/features/command-palette/index.js +4 -6
- package/dist/v2/features/operation/Operation.vue.js +1 -1
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.d.ts.map +1 -1
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js +2 -2
- package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue2.js +24 -23
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue2.js +1 -1
- package/package.json +10 -10
- package/dist/v2/features/app/components/WebTopNav.vue.d.ts +0 -41
- package/dist/v2/features/app/components/WebTopNav.vue.d.ts.map +0 -1
- package/dist/v2/features/app/components/WebTopNav.vue.js +0 -27
- 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
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
123
|
-
|
|
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
|
|
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
|
|
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":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"app-state.d.ts","sourceRoot":"","sources":["../../../../src/v2/features/app/app-state.ts"],"names":[],"mappings":"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"}
|