@scalar/api-client-react 2.0.2 → 2.0.4

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 CHANGED
@@ -1,5 +1,13 @@
1
1
  # @scalar/api-client-react
2
2
 
3
+ ## 2.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#8943](https://github.com/scalar/scalar/pull/8943): feat: added customFetch config to the client
8
+
9
+ ## 2.0.3
10
+
3
11
  ## 2.0.2
4
12
 
5
13
  ### Patch Changes
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/lazy-load.ts","../src/use-api-client.ts"],"sourcesContent":["import type { ApiClientModalOptions } from '@scalar/api-client/modal'\n\n/**\n * Creates a lazy singleton getter: the factory runs at most once, caches the resulting promise,\n * and clears the cache on failure so the next call can retry.\n *\n * Optional args are forwarded to the factory on the first (cache-miss) call only.\n * Subsequent calls return the cached promise regardless of the args passed.\n */\nconst makeLazySingleton = <T, Args extends unknown[] = []>(\n factory: (...args: Args) => Promise<T>,\n): ((...args: Args) => Promise<T>) => {\n let cached: Promise<T> | undefined\n return (...args: Args) => {\n cached ??= factory(...args).catch((error) => {\n cached = undefined\n throw error\n })\n return cached\n }\n}\n\n/** Lazy load the client modal creator */\nexport const getClientModalCreator = makeLazySingleton(() =>\n import('@scalar/api-client/modal').then(({ createApiClientModal }) => createApiClientModal),\n)\n\n/** Module-scoped singleton workspace store (lazy-loaded on first use). */\nexport const getWorkspaceStoreSingleton = makeLazySingleton(() =>\n import('@scalar/workspace-store/client').then(({ createWorkspaceStore }) => createWorkspaceStore()),\n)\n\n/** Module-scoped singleton workspace event bus (lazy-loaded on first use). */\nexport const getWorkspaceEventBusSingleton = makeLazySingleton(() =>\n import('@scalar/workspace-store/events').then(({ createWorkspaceEventBus }) => createWorkspaceEventBus()),\n)\n\n/**\n * Lazily creates the singleton Vue app, mounts it as the last child of document.body,\n * and returns the controller. Subsequent calls return the same promise.\n *\n * Only modal-supported options are accepted here. Document-specific fields\n * (`url`, `content`) must be registered via `workspaceStore.addDocument` after the client\n * is ready — they are not part of the modal constructor.\n */\nexport const getOrCreateApiClient = makeLazySingleton(async (options: ApiClientModalOptions = {}) => {\n const el = document.createElement('div')\n el.className = 'scalar-app'\n document.body.appendChild(el)\n\n try {\n const [createModal, workspaceStore, eventBus] = await Promise.all([\n getClientModalCreator(),\n getWorkspaceStoreSingleton(),\n getWorkspaceEventBusSingleton(),\n ])\n\n const apiClient = createModal({\n el,\n eventBus,\n workspaceStore,\n options,\n // TODO: map plugins from configuration when available\n // plugins: mapConfigPlugins(options),\n })\n\n return { apiClient, workspaceStore }\n } catch (error) {\n el.remove()\n throw error\n }\n})\n","'use client'\n\nimport type { ApiClientModal, ApiClientModalOptions, RoutePayload } from '@scalar/api-client/modal'\nimport { useEffect, useRef, useState } from 'react'\n\nimport './style.css'\n\nimport { isObjectEqual } from '@scalar/helpers/object/is-object-equal'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\n\nimport { getOrCreateApiClient } from './lazy-load'\n\nglobalThis.__VUE_OPTIONS_API__ = true\nglobalThis.__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ = true\nglobalThis.__VUE_PROD_DEVTOOLS__ = false\n\nexport type ApiClientConfigurationReact = ApiClientModalOptions & {\n // content?: Record<string, unknown>\n url: string\n}\n\nexport type UseApiClientModalProps = {\n /** Configuration for the Api Client (url or inline content) */\n configuration: ApiClientConfigurationReact\n}\n\n/** Tracks which documents are/have been loaded so we dont duplicate */\nconst documentSet = new Set<string>()\n\n/**\n * Returns the singleton Api Client\n *\n * On first call the Vue app is lazily created and appended to document.body where it\n * lives for the lifetime of the page — it is never unmounted, so it survives client-side\n * navigation without losing state.\n *\n * Subsequent calls from any component share the same instance of the client but can use the same\n * or different documents\n */\nexport const useApiClient = ({\n configuration,\n}: UseApiClientModalProps): (Omit<ApiClientModal, 'open'> & { open: (payload: RoutePayload) => void }) | undefined => {\n const [client, setClient] = useState<ApiClientModal | undefined>(undefined)\n const [workspaceStore, setWorkspaceStore] = useState<WorkspaceStore | undefined>(undefined)\n const documentSlugRef = useRef('')\n const previousModalOptionsRef = useRef<ApiClientModalOptions | undefined>(undefined)\n\n /** Small wrapper to set the documentSlug */\n const open = (payload: RoutePayload) => client?.open({ documentSlug: documentSlugRef.current, ...payload })\n\n useEffect(() => {\n let cancelled = false\n\n // Strip document-specific fields before passing to the modal constructor.\n const { url, ...modalOptions } = configuration\n\n void getOrCreateApiClient(modalOptions)?.then((_client) => {\n if (cancelled || !_client) {\n return\n }\n\n // Compute the slug here so we can batch all three state updates into one render,\n // preventing a render where `client` is set but `documentSlug` is still ''.\n const slug = url || ''\n\n // React always provides the complete modal option set for this hook instance,\n // so we overwrite to clear options removed by consumers.\n _client.apiClient.updateOptions(modalOptions, true)\n previousModalOptionsRef.current = modalOptions\n\n setClient(_client.apiClient)\n setWorkspaceStore(_client.workspaceStore)\n documentSlugRef.current = slug\n\n if (slug && !documentSet.has(slug)) {\n documentSet.add(slug)\n void _client.workspaceStore.addDocument({ name: slug, url })\n }\n })\n\n return () => {\n cancelled = true\n }\n\n // Only run once per mount\n }, [])\n\n // Register new document when we detect the url has changed\n useEffect(() => {\n if (!client || !workspaceStore) {\n return\n }\n\n const slug = configuration.url || 'default'\n documentSlugRef.current = slug\n\n if (documentSet.has(slug)) {\n return\n }\n documentSet.add(slug)\n\n void workspaceStore.addDocument({ name: slug, url: configuration.url })\n }, [client, configuration.url, workspaceStore])\n\n // Update the modal options when the configuration changes\n useEffect(() => {\n if (!client || !configuration) {\n return\n }\n\n const { url: _, ...modalOptions } = configuration\n if (isObjectEqual(previousModalOptionsRef.current, modalOptions)) {\n return\n }\n\n client.updateOptions(modalOptions, true)\n previousModalOptionsRef.current = modalOptions\n }, [client, configuration])\n\n return client\n ? {\n ...client,\n open,\n }\n : undefined\n}\n"],"mappings":";;;;;;;;;;;AASA,IAAM,qBACJ,YACoC;CACpC,IAAI;AACJ,SAAQ,GAAG,SAAe;AACxB,aAAW,QAAQ,GAAG,KAAK,CAAC,OAAO,UAAU;AAC3C,YAAS,KAAA;AACT,SAAM;IACN;AACF,SAAO;;;;AAKX,IAAa,wBAAwB,wBACnC,OAAO,4BAA4B,MAAM,EAAE,2BAA2B,qBAAqB,CAC5F;;AAGD,IAAa,6BAA6B,wBACxC,OAAO,kCAAkC,MAAM,EAAE,2BAA2B,sBAAsB,CAAC,CACpG;;AAGD,IAAa,gCAAgC,wBAC3C,OAAO,kCAAkC,MAAM,EAAE,8BAA8B,yBAAyB,CAAC,CAC1G;;;;;;;;;AAUD,IAAa,uBAAuB,kBAAkB,OAAO,UAAiC,EAAE,KAAK;CACnG,MAAM,KAAK,SAAS,cAAc,MAAM;AACxC,IAAG,YAAY;AACf,UAAS,KAAK,YAAY,GAAG;AAE7B,KAAI;EACF,MAAM,CAAC,aAAa,gBAAgB,YAAY,MAAM,QAAQ,IAAI;GAChE,uBAAuB;GACvB,4BAA4B;GAC5B,+BAAA;GACD,CAAC;AAWF,SAAO;GAAE,WATS,YAAY;IAC5B;IACA;IACA;IACA;IAGD,CAAC;GAEkB;GAAgB;UAC7B,OAAO;AACd,KAAG,QAAQ;AACX,QAAM;;EAER;;;AC3DF,WAAW,sBAAsB;AACjC,WAAW,0CAA0C;AACrD,WAAW,wBAAwB;;AAanC,IAAM,8BAAc,IAAI,KAAa;;;;;;;;;;;AAYrC,IAAa,gBAAgB,EAC3B,oBACoH;CACpH,MAAM,CAAC,QAAQ,aAAa,SAAqC,KAAA,EAAU;CAC3E,MAAM,CAAC,gBAAgB,qBAAqB,SAAqC,KAAA,EAAU;CAC3F,MAAM,kBAAkB,OAAO,GAAG;CAClC,MAAM,0BAA0B,OAA0C,KAAA,EAAU;;CAGpF,MAAM,QAAQ,YAA0B,QAAQ,KAAK;EAAE,cAAc,gBAAgB;EAAS,GAAG;EAAS,CAAC;AAE3G,iBAAgB;EACd,IAAI,YAAY;EAGhB,MAAM,EAAE,KAAK,GAAG,iBAAiB;AAE5B,uBAAqB,aAAa,EAAE,MAAM,YAAY;AACzD,OAAI,aAAa,CAAC,QAChB;GAKF,MAAM,OAAO,OAAO;AAIpB,WAAQ,UAAU,cAAc,cAAc,KAAK;AACnD,2BAAwB,UAAU;AAElC,aAAU,QAAQ,UAAU;AAC5B,qBAAkB,QAAQ,eAAe;AACzC,mBAAgB,UAAU;AAE1B,OAAI,QAAQ,CAAC,YAAY,IAAI,KAAK,EAAE;AAClC,gBAAY,IAAI,KAAK;AAChB,YAAQ,eAAe,YAAY;KAAE,MAAM;KAAM;KAAK,CAAC;;IAE9D;AAEF,eAAa;AACX,eAAY;;IAIb,EAAE,CAAC;AAGN,iBAAgB;AACd,MAAI,CAAC,UAAU,CAAC,eACd;EAGF,MAAM,OAAO,cAAc,OAAO;AAClC,kBAAgB,UAAU;AAE1B,MAAI,YAAY,IAAI,KAAK,CACvB;AAEF,cAAY,IAAI,KAAK;AAEhB,iBAAe,YAAY;GAAE,MAAM;GAAM,KAAK,cAAc;GAAK,CAAC;IACtE;EAAC;EAAQ,cAAc;EAAK;EAAe,CAAC;AAG/C,iBAAgB;AACd,MAAI,CAAC,UAAU,CAAC,cACd;EAGF,MAAM,EAAE,KAAK,GAAG,GAAG,iBAAiB;AACpC,MAAI,cAAc,wBAAwB,SAAS,aAAa,CAC9D;AAGF,SAAO,cAAc,cAAc,KAAK;AACxC,0BAAwB,UAAU;IACjC,CAAC,QAAQ,cAAc,CAAC;AAE3B,QAAO,SACH;EACE,GAAG;EACH;EACD,GACD,KAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/lazy-load.ts","../src/use-api-client.ts"],"sourcesContent":["import type { ApiClientOptions } from '@scalar/api-client/modal'\n\n/**\n * Creates a lazy singleton getter: the factory runs at most once, caches the resulting promise,\n * and clears the cache on failure so the next call can retry.\n *\n * Optional args are forwarded to the factory on the first (cache-miss) call only.\n * Subsequent calls return the cached promise regardless of the args passed.\n */\nconst makeLazySingleton = <T, Args extends unknown[] = []>(\n factory: (...args: Args) => Promise<T>,\n): ((...args: Args) => Promise<T>) => {\n let cached: Promise<T> | undefined\n return (...args: Args) => {\n cached ??= factory(...args).catch((error) => {\n cached = undefined\n throw error\n })\n return cached\n }\n}\n\n/** Lazy load the client modal creator */\nexport const getClientModalCreator = makeLazySingleton(() =>\n import('@scalar/api-client/modal').then(({ createApiClientModal }) => createApiClientModal),\n)\n\n/** Module-scoped singleton workspace store (lazy-loaded on first use). */\nexport const getWorkspaceStoreSingleton = makeLazySingleton(() =>\n import('@scalar/workspace-store/client').then(({ createWorkspaceStore }) => createWorkspaceStore()),\n)\n\n/** Module-scoped singleton workspace event bus (lazy-loaded on first use). */\nexport const getWorkspaceEventBusSingleton = makeLazySingleton(() =>\n import('@scalar/workspace-store/events').then(({ createWorkspaceEventBus }) => createWorkspaceEventBus()),\n)\n\n/**\n * Lazily creates the singleton Vue app, mounts it as the last child of document.body,\n * and returns the controller. Subsequent calls return the same promise.\n *\n * Only modal-supported options are accepted here. Document-specific fields\n * (`url`, `content`) must be registered via `workspaceStore.addDocument` after the client\n * is ready — they are not part of the modal constructor.\n */\nexport const getOrCreateApiClient = makeLazySingleton(async (options: ApiClientOptions = {}) => {\n const el = document.createElement('div')\n el.className = 'scalar-app'\n document.body.appendChild(el)\n\n try {\n const [createModal, workspaceStore, eventBus] = await Promise.all([\n getClientModalCreator(),\n getWorkspaceStoreSingleton(),\n getWorkspaceEventBusSingleton(),\n ])\n\n const apiClient = createModal({\n el,\n eventBus,\n workspaceStore,\n options,\n // TODO: map plugins from configuration when available\n // plugins: mapConfigPlugins(options),\n })\n\n return { apiClient, workspaceStore }\n } catch (error) {\n el.remove()\n throw error\n }\n})\n","'use client'\n\nimport type { ApiClientModal, ApiClientOptions, RoutePayload } from '@scalar/api-client/modal'\nimport { useEffect, useRef, useState } from 'react'\n\nimport './style.css'\n\nimport { isObjectEqual } from '@scalar/helpers/object/is-object-equal'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\n\nimport { getOrCreateApiClient } from './lazy-load'\n\nglobalThis.__VUE_OPTIONS_API__ = true\nglobalThis.__VUE_PROD_HYDRATION_MISMATCH_DETAILS__ = true\nglobalThis.__VUE_PROD_DEVTOOLS__ = false\n\nexport type ApiClientConfigurationReact = ApiClientOptions & {\n // content?: Record<string, unknown>\n url: string\n}\n\nexport type UseApiClientModalProps = {\n /** Configuration for the Api Client (url or inline content) */\n configuration: ApiClientConfigurationReact\n}\n\n/** Tracks which documents are/have been loaded so we dont duplicate */\nconst documentSet = new Set<string>()\n\n/**\n * Returns the singleton Api Client\n *\n * On first call the Vue app is lazily created and appended to document.body where it\n * lives for the lifetime of the page — it is never unmounted, so it survives client-side\n * navigation without losing state.\n *\n * Subsequent calls from any component share the same instance of the client but can use the same\n * or different documents\n */\nexport const useApiClient = ({\n configuration,\n}: UseApiClientModalProps): (Omit<ApiClientModal, 'open'> & { open: (payload: RoutePayload) => void }) | undefined => {\n const [client, setClient] = useState<ApiClientModal | undefined>(undefined)\n const [workspaceStore, setWorkspaceStore] = useState<WorkspaceStore | undefined>(undefined)\n const documentSlugRef = useRef('')\n const previousModalOptionsRef = useRef<ApiClientOptions | undefined>(undefined)\n\n /** Small wrapper to set the documentSlug */\n const open = (payload: RoutePayload) => client?.open({ documentSlug: documentSlugRef.current, ...payload })\n\n useEffect(() => {\n let cancelled = false\n\n // Strip document-specific fields before passing to the modal constructor.\n const { url, ...modalOptions } = configuration\n\n void getOrCreateApiClient(modalOptions)?.then((_client) => {\n if (cancelled || !_client) {\n return\n }\n\n // Compute the slug here so we can batch all three state updates into one render,\n // preventing a render where `client` is set but `documentSlug` is still ''.\n const slug = url || ''\n\n // React always provides the complete modal option set for this hook instance,\n // so we overwrite to clear options removed by consumers.\n _client.apiClient.updateOptions(modalOptions, true)\n previousModalOptionsRef.current = modalOptions\n\n setClient(_client.apiClient)\n setWorkspaceStore(_client.workspaceStore)\n documentSlugRef.current = slug\n\n if (slug && !documentSet.has(slug)) {\n documentSet.add(slug)\n void _client.workspaceStore.addDocument({ name: slug, url })\n }\n })\n\n return () => {\n cancelled = true\n }\n\n // Only run once per mount\n }, [])\n\n // Register new document when we detect the url has changed\n useEffect(() => {\n if (!client || !workspaceStore) {\n return\n }\n\n const slug = configuration.url || 'default'\n documentSlugRef.current = slug\n\n if (documentSet.has(slug)) {\n return\n }\n documentSet.add(slug)\n\n void workspaceStore.addDocument({ name: slug, url: configuration.url })\n }, [client, configuration.url, workspaceStore])\n\n // Update the modal options when the configuration changes\n useEffect(() => {\n if (!client || !configuration) {\n return\n }\n\n const { url: _, ...modalOptions } = configuration\n if (isObjectEqual(previousModalOptionsRef.current, modalOptions)) {\n return\n }\n\n client.updateOptions(modalOptions, true)\n previousModalOptionsRef.current = modalOptions\n }, [client, configuration])\n\n return client\n ? {\n ...client,\n open,\n }\n : undefined\n}\n"],"mappings":";;;;;;;;;;;AASA,IAAM,qBACJ,YACoC;CACpC,IAAI;AACJ,SAAQ,GAAG,SAAe;AACxB,aAAW,QAAQ,GAAG,KAAK,CAAC,OAAO,UAAU;AAC3C,YAAS,KAAA;AACT,SAAM;IACN;AACF,SAAO;;;;AAKX,IAAa,wBAAwB,wBACnC,OAAO,4BAA4B,MAAM,EAAE,2BAA2B,qBAAqB,CAC5F;;AAGD,IAAa,6BAA6B,wBACxC,OAAO,kCAAkC,MAAM,EAAE,2BAA2B,sBAAsB,CAAC,CACpG;;AAGD,IAAa,gCAAgC,wBAC3C,OAAO,kCAAkC,MAAM,EAAE,8BAA8B,yBAAyB,CAAC,CAC1G;;;;;;;;;AAUD,IAAa,uBAAuB,kBAAkB,OAAO,UAA4B,EAAE,KAAK;CAC9F,MAAM,KAAK,SAAS,cAAc,MAAM;AACxC,IAAG,YAAY;AACf,UAAS,KAAK,YAAY,GAAG;AAE7B,KAAI;EACF,MAAM,CAAC,aAAa,gBAAgB,YAAY,MAAM,QAAQ,IAAI;GAChE,uBAAuB;GACvB,4BAA4B;GAC5B,+BAAA;GACD,CAAC;AAWF,SAAO;GAAE,WATS,YAAY;IAC5B;IACA;IACA;IACA;IAGD,CAAC;GAEkB;GAAgB;UAC7B,OAAO;AACd,KAAG,QAAQ;AACX,QAAM;;EAER;;;AC3DF,WAAW,sBAAsB;AACjC,WAAW,0CAA0C;AACrD,WAAW,wBAAwB;;AAanC,IAAM,8BAAc,IAAI,KAAa;;;;;;;;;;;AAYrC,IAAa,gBAAgB,EAC3B,oBACoH;CACpH,MAAM,CAAC,QAAQ,aAAa,SAAqC,KAAA,EAAU;CAC3E,MAAM,CAAC,gBAAgB,qBAAqB,SAAqC,KAAA,EAAU;CAC3F,MAAM,kBAAkB,OAAO,GAAG;CAClC,MAAM,0BAA0B,OAAqC,KAAA,EAAU;;CAG/E,MAAM,QAAQ,YAA0B,QAAQ,KAAK;EAAE,cAAc,gBAAgB;EAAS,GAAG;EAAS,CAAC;AAE3G,iBAAgB;EACd,IAAI,YAAY;EAGhB,MAAM,EAAE,KAAK,GAAG,iBAAiB;AAE5B,uBAAqB,aAAa,EAAE,MAAM,YAAY;AACzD,OAAI,aAAa,CAAC,QAChB;GAKF,MAAM,OAAO,OAAO;AAIpB,WAAQ,UAAU,cAAc,cAAc,KAAK;AACnD,2BAAwB,UAAU;AAElC,aAAU,QAAQ,UAAU;AAC5B,qBAAkB,QAAQ,eAAe;AACzC,mBAAgB,UAAU;AAE1B,OAAI,QAAQ,CAAC,YAAY,IAAI,KAAK,EAAE;AAClC,gBAAY,IAAI,KAAK;AAChB,YAAQ,eAAe,YAAY;KAAE,MAAM;KAAM;KAAK,CAAC;;IAE9D;AAEF,eAAa;AACX,eAAY;;IAIb,EAAE,CAAC;AAGN,iBAAgB;AACd,MAAI,CAAC,UAAU,CAAC,eACd;EAGF,MAAM,OAAO,cAAc,OAAO;AAClC,kBAAgB,UAAU;AAE1B,MAAI,YAAY,IAAI,KAAK,CACvB;AAEF,cAAY,IAAI,KAAK;AAEhB,iBAAe,YAAY;GAAE,MAAM;GAAM,KAAK,cAAc;GAAK,CAAC;IACtE;EAAC;EAAQ,cAAc;EAAK;EAAe,CAAC;AAG/C,iBAAgB;AACd,MAAI,CAAC,UAAU,CAAC,cACd;EAGF,MAAM,EAAE,KAAK,GAAG,GAAG,iBAAiB;AACpC,MAAI,cAAc,wBAAwB,SAAS,aAAa,CAC9D;AAGF,SAAO,cAAc,cAAc,KAAK;AACxC,0BAAwB,UAAU;IACjC,CAAC,QAAQ,cAAc,CAAC;AAE3B,QAAO,SACH;EACE,GAAG;EACH;EACD,GACD,KAAA"}
@@ -1,4 +1,4 @@
1
- import type { ApiClientModalOptions } from '@scalar/api-client/modal';
1
+ import type { ApiClientOptions } from '@scalar/api-client/modal';
2
2
  /** Lazy load the client modal creator */
3
3
  export declare const getClientModalCreator: () => Promise<({ el, eventBus, mountOnInitialize, plugins, workspaceStore, options, }: {
4
4
  el: HTMLElement | null;
@@ -6,7 +6,7 @@ export declare const getClientModalCreator: () => Promise<({ el, eventBus, mount
6
6
  eventBus?: import("@scalar/workspace-store/events").WorkspaceEventBus;
7
7
  workspaceStore: import("@scalar/workspace-store/client").WorkspaceStore;
8
8
  plugins?: import("@scalar/oas-utils/helpers").ClientPlugin[];
9
- options?: import("vue").MaybeRefOrGetter<ApiClientModalOptions>;
9
+ options?: import("vue").MaybeRefOrGetter<ApiClientOptions>;
10
10
  }) => import("@scalar/api-client/modal").ApiClientModal>;
11
11
  /** Module-scoped singleton workspace store (lazy-loaded on first use). */
12
12
  export declare const getWorkspaceStoreSingleton: () => Promise<import("@scalar/workspace-store/client").WorkspaceStore>;
@@ -20,7 +20,7 @@ export declare const getWorkspaceEventBusSingleton: () => Promise<import("@scala
20
20
  * (`url`, `content`) must be registered via `workspaceStore.addDocument` after the client
21
21
  * is ready — they are not part of the modal constructor.
22
22
  */
23
- export declare const getOrCreateApiClient: (options?: Partial<Pick<import("@scalar/types/api-reference").ApiReferenceConfigurationRaw, "authentication" | "baseServerURL" | "hideClientButton" | "proxyUrl" | "oauth2RedirectUri" | "servers" | "hiddenClients">> | undefined) => Promise<{
23
+ export declare const getOrCreateApiClient: (options?: ApiClientOptions | undefined) => Promise<{
24
24
  apiClient: import("@scalar/api-client/modal").ApiClientModal;
25
25
  workspaceStore: import("@scalar/workspace-store/client").WorkspaceStore;
26
26
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-load.d.ts","sourceRoot":"","sources":["../src/lazy-load.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAsBrE,yCAAyC;AACzC,eAAO,MAAM,qBAAqB;;;;;;;wDAEjC,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,wEAEtC,CAAA;AAED,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,2EAEzC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;EA0B/B,CAAA"}
1
+ {"version":3,"file":"lazy-load.d.ts","sourceRoot":"","sources":["../src/lazy-load.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAsBhE,yCAAyC;AACzC,eAAO,MAAM,qBAAqB;;;;;;;wDAEjC,CAAA;AAED,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,wEAEtC,CAAA;AAED,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,2EAEzC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;EA0B/B,CAAA"}
package/dist/style.css CHANGED
@@ -951,8 +951,8 @@
951
951
  background-color: var(--scalar-sidebar-indent-border-hover, var(--scalar-border-color));
952
952
  }
953
953
 
954
- .scalar-app .group-hover\/button\:text-c-1:is(:where(.group\/button):hover *) {
955
- color: var(--scalar-color-1);
954
+ .scalar-app .group-hover\/button\:text-c-header-1:is(:where(.group\/button):hover *) {
955
+ color: var(--scalar-header-color-1, var(--scalar-color-1));
956
956
  }
957
957
 
958
958
  .scalar-app .hover\:bg-b-2:hover {
@@ -963,10 +963,24 @@
963
963
  background-color: var(--scalar-background-3);
964
964
  }
965
965
 
966
+ .scalar-app .hover\:bg-b-header-2:hover {
967
+ background-color: var(--scalar-header-background-2, var(--scalar-background-2));
968
+ }
969
+
966
970
  .scalar-app .hover\:bg-h-btn:hover {
967
971
  background-color: var(--scalar-button-1-hover);
968
972
  }
969
973
 
974
+ .scalar-app .hover\:bg-h-header-cta:hover {
975
+ background-color: var(--scalar-header-call-to-action-color, var(--scalar-button-1));
976
+ }
977
+
978
+ @supports (color: color-mix(in lab, red, red)) {
979
+ .scalar-app .hover\:bg-h-header-cta:hover {
980
+ background-color: color-mix(in srgb, var(--scalar-header-call-to-action-color, var(--scalar-button-1)), var(--scalar-header-background-1, var(--scalar-background-1)) 15%);
981
+ }
982
+ }
983
+
970
984
  .scalar-app .hover\:bg-sidebar-b-1:hover {
971
985
  background-color: var(--scalar-sidebar-background-1, var(--scalar-background-1));
972
986
  }
@@ -1007,6 +1021,10 @@
1007
1021
  color: var(--scalar-color-1);
1008
1022
  }
1009
1023
 
1024
+ .scalar-app .hover\:text-c-header-1:hover {
1025
+ color: var(--scalar-header-color-1, var(--scalar-color-1));
1026
+ }
1027
+
1010
1028
  .scalar-app .hover\:text-sidebar-c-1:hover {
1011
1029
  color: var(--scalar-sidebar-color-1, var(--scalar-color-1));
1012
1030
  }
@@ -2939,6 +2957,9 @@
2939
2957
  border-style: var(--tw-border-style);
2940
2958
  border-width: 1px;
2941
2959
  }
2960
+ .scalar-app .border-border-header {
2961
+ border-color: var(--scalar-header-border-color, var(--scalar-border-color));
2962
+ }
2942
2963
  .scalar-app .border-c-alert {
2943
2964
  border-color: var(--scalar-color-alert);
2944
2965
  }
@@ -2971,6 +2992,12 @@
2971
2992
  .scalar-app .bg-b-btn {
2972
2993
  background-color: var(--scalar-button-1);
2973
2994
  }
2995
+ .scalar-app .bg-b-header-1 {
2996
+ background-color: var(--scalar-header-background-1, var(--scalar-background-1));
2997
+ }
2998
+ .scalar-app .bg-b-header-cta {
2999
+ background-color: var(--scalar-header-call-to-action-color, var(--scalar-button-1));
3000
+ }
2974
3001
  .scalar-app .bg-b-tooltip {
2975
3002
  background-color: var(--scalar-tooltip-background);
2976
3003
  }
@@ -3118,6 +3145,15 @@
3118
3145
  .scalar-app .break-words, .scalar-app .wrap-break-word {
3119
3146
  overflow-wrap: break-word;
3120
3147
  }
3148
+ .scalar-app .text-c-header-1 {
3149
+ color: var(--scalar-header-color-1, var(--scalar-color-1));
3150
+ }
3151
+ .scalar-app .text-c-header-2 {
3152
+ color: var(--scalar-header-color-2, var(--scalar-color-2));
3153
+ }
3154
+ .scalar-app .text-c-header-cta {
3155
+ color: var(--scalar-button-1-color);
3156
+ }
3121
3157
  .scalar-app .text-c-tooltip {
3122
3158
  color: var(--scalar-tooltip-color);
3123
3159
  }
@@ -3198,8 +3234,8 @@
3198
3234
  :is(.scalar-app .\*\:justify-center > *) {
3199
3235
  justify-content: center;
3200
3236
  }
3201
- :is(.scalar-app .\*\:gap-px > *) {
3202
- gap: 1px;
3237
+ :is(.scalar-app .\*\:gap-1 > *) {
3238
+ gap: 4px;
3203
3239
  }
3204
3240
  :is(.scalar-app .\*\:rounded > *) {
3205
3241
  border-radius: var(--scalar-radius);
@@ -3231,8 +3267,8 @@
3231
3267
  background-color: var(--scalar-sidebar-indent-border-hover, var(--scalar-border-color));
3232
3268
  }
3233
3269
 
3234
- .scalar-app .group-hover\/button\:text-c-1:is(:where(.group\/button):hover *) {
3235
- color: var(--scalar-color-1);
3270
+ .scalar-app .group-hover\/button\:text-c-header-1:is(:where(.group\/button):hover *) {
3271
+ color: var(--scalar-header-color-1, var(--scalar-color-1));
3236
3272
  }
3237
3273
  }
3238
3274
  .scalar-app .group-focus-visible\/toggle\:outline:is(:where(.group\/toggle):focus-visible *) {
@@ -3296,10 +3332,24 @@
3296
3332
  background-color: var(--scalar-background-3);
3297
3333
  }
3298
3334
 
3335
+ .scalar-app .hover\:bg-b-header-2:hover {
3336
+ background-color: var(--scalar-header-background-2, var(--scalar-background-2));
3337
+ }
3338
+
3299
3339
  .scalar-app .hover\:bg-h-btn:hover {
3300
3340
  background-color: var(--scalar-button-1-hover);
3301
3341
  }
3302
3342
 
3343
+ .scalar-app .hover\:bg-h-header-cta:hover {
3344
+ background-color: var(--scalar-header-call-to-action-color, var(--scalar-button-1));
3345
+ }
3346
+
3347
+ @supports (color: color-mix(in lab, red, red)) {
3348
+ .scalar-app .hover\:bg-h-header-cta:hover {
3349
+ background-color: color-mix(in srgb, var(--scalar-header-call-to-action-color, var(--scalar-button-1)), var(--scalar-header-background-1, var(--scalar-background-1)) 15%);
3350
+ }
3351
+ }
3352
+
3303
3353
  .scalar-app .hover\:bg-sidebar-b-1:hover {
3304
3354
  background-color: var(--scalar-sidebar-background-1, var(--scalar-background-1));
3305
3355
  }
@@ -3340,6 +3390,10 @@
3340
3390
  color: var(--scalar-color-1);
3341
3391
  }
3342
3392
 
3393
+ .scalar-app .hover\:text-c-header-1:hover {
3394
+ color: var(--scalar-header-color-1, var(--scalar-color-1));
3395
+ }
3396
+
3343
3397
  .scalar-app .hover\:text-sidebar-c-1:hover {
3344
3398
  color: var(--scalar-sidebar-color-1, var(--scalar-color-1));
3345
3399
  }
@@ -3959,6 +4013,9 @@
3959
4013
  .scalar-app .h-\[68px\] {
3960
4014
  height: 68px;
3961
4015
  }
4016
+ .scalar-app .h-\[300px\] {
4017
+ height: 300px;
4018
+ }
3962
4019
  .scalar-app .h-\[calc\(100\%_-_50px\)\] {
3963
4020
  height: calc(100% - 50px);
3964
4021
  }
@@ -4010,9 +4067,6 @@
4010
4067
  .scalar-app .max-h-\[60svh\] {
4011
4068
  max-height: 60svh;
4012
4069
  }
4013
- .scalar-app .max-h-\[300px\] {
4014
- max-height: 300px;
4015
- }
4016
4070
  .scalar-app .max-h-\[auto\] {
4017
4071
  max-height: auto;
4018
4072
  }
@@ -6244,23 +6298,23 @@
6244
6298
  /*
6245
6299
  Deep styling for customizing Codemirror
6246
6300
  */
6247
- [data-v-167b1bd5] .cm-editor {
6301
+ [data-v-6499ec1f] .cm-editor {
6248
6302
  height: 100%;
6249
6303
  outline: none;
6250
6304
  padding: 0;
6251
6305
  background: transparent;
6252
6306
  }
6253
- [data-v-167b1bd5] .cm-placeholder {
6307
+ [data-v-6499ec1f] .cm-placeholder {
6254
6308
  color: var(--scalar-color-3);
6255
6309
  }
6256
- [data-v-167b1bd5] .cm-content {
6310
+ [data-v-6499ec1f] .cm-content {
6257
6311
  font-family: var(--scalar-font-code);
6258
6312
  font-size: var(--scalar-small);
6259
6313
  max-height: 20px;
6260
6314
  padding: 8px 0;
6261
6315
  }
6262
6316
  /* Tooltip helper */
6263
- [data-v-167b1bd5] .cm-tooltip {
6317
+ [data-v-6499ec1f] .cm-tooltip {
6264
6318
  background: transparent !important;
6265
6319
  filter: brightness(var(--scalar-lifted-brightness));
6266
6320
  border-radius: var(--scalar-radius);
@@ -6269,43 +6323,43 @@
6269
6323
  outline: none !important;
6270
6324
  overflow: hidden !important;
6271
6325
  }
6272
- [data-v-167b1bd5] .cm-tooltip-autocomplete ul li {
6326
+ [data-v-6499ec1f] .cm-tooltip-autocomplete ul li {
6273
6327
  padding: 3px 6px !important;
6274
6328
  }
6275
- [data-v-167b1bd5] .cm-completionIcon-type:after {
6329
+ [data-v-6499ec1f] .cm-completionIcon-type:after {
6276
6330
  color: var(--scalar-color-3) !important;
6277
6331
  }
6278
- [data-v-167b1bd5] .cm-tooltip-autocomplete ul li[aria-selected] {
6332
+ [data-v-6499ec1f] .cm-tooltip-autocomplete ul li[aria-selected] {
6279
6333
  background: var(--scalar-background-2) !important;
6280
6334
  color: var(--scalar-color-1) !important;
6281
6335
  }
6282
- [data-v-167b1bd5] .cm-tooltip-autocomplete ul {
6336
+ [data-v-6499ec1f] .cm-tooltip-autocomplete ul {
6283
6337
  padding: 6px !important;
6284
6338
  position: relative;
6285
6339
  }
6286
- [data-v-167b1bd5] .cm-tooltip-autocomplete ul li:hover {
6340
+ [data-v-6499ec1f] .cm-tooltip-autocomplete ul li:hover {
6287
6341
  border-radius: 3px;
6288
6342
  color: var(--scalar-color-1) !important;
6289
6343
  background: var(--scalar-background-3) !important;
6290
6344
  }
6291
6345
  /* Disable active line highlighting */
6292
- [data-v-167b1bd5] .cm-activeLine,[data-v-167b1bd5] .cm-activeLineGutter {
6346
+ [data-v-6499ec1f] .cm-activeLine,[data-v-6499ec1f] .cm-activeLineGutter {
6293
6347
  background-color: transparent;
6294
6348
  }
6295
6349
  /* Color selection matching */
6296
- [data-v-167b1bd5] .cm-selectionMatch,[data-v-167b1bd5] .cm-matchingBracket {
6350
+ [data-v-6499ec1f] .cm-selectionMatch,[data-v-6499ec1f] .cm-matchingBracket {
6297
6351
  border-radius: var(--scalar-radius);
6298
6352
  background: var(--scalar-background-4) !important;
6299
6353
  }
6300
6354
  /* Color Picker Swatches */
6301
- [data-v-167b1bd5] .cm-css-color-picker-wrapper {
6355
+ [data-v-6499ec1f] .cm-css-color-picker-wrapper {
6302
6356
  display: inline-flex;
6303
6357
  outline: 1px solid var(--scalar-background-3);
6304
6358
  border-radius: 3px;
6305
6359
  overflow: hidden;
6306
6360
  }
6307
6361
  /* Number gutter */
6308
- [data-v-167b1bd5] .cm-gutters {
6362
+ [data-v-6499ec1f] .cm-gutters {
6309
6363
  background-color: transparent;
6310
6364
  border-right: none;
6311
6365
  color: var(--scalar-color-3);
@@ -6313,7 +6367,7 @@
6313
6367
  line-height: 22px;
6314
6368
  border-radius: 0 0 0 3px;
6315
6369
  }
6316
- [data-v-167b1bd5] .cm-gutters:before {
6370
+ [data-v-6499ec1f] .cm-gutters:before {
6317
6371
  content: '';
6318
6372
  position: absolute;
6319
6373
  top: 2px;
@@ -6323,7 +6377,7 @@
6323
6377
  border-radius: var(--scalar-radius) 0 0 var(--scalar-radius);
6324
6378
  background-color: var(--scalar-background-1);
6325
6379
  }
6326
- [data-v-167b1bd5] .cm-gutterElement {
6380
+ [data-v-6499ec1f] .cm-gutterElement {
6327
6381
  font-family: var(--scalar-font-code) !important;
6328
6382
  padding-left: 0px !important;
6329
6383
  padding-right: 6px !important;
@@ -6332,16 +6386,16 @@
6332
6386
  justify-content: flex-end;
6333
6387
  position: relative;
6334
6388
  }
6335
- [data-v-167b1bd5] .cm-lineNumbers .cm-gutterElement {
6389
+ [data-v-6499ec1f] .cm-lineNumbers .cm-gutterElement {
6336
6390
  min-width: fit-content;
6337
6391
  }
6338
- [data-v-167b1bd5] .cm-gutter + .cm-gutter :not(.cm-foldGutter) .cm-gutterElement {
6392
+ [data-v-6499ec1f] .cm-gutter + .cm-gutter :not(.cm-foldGutter) .cm-gutterElement {
6339
6393
  padding-left: 0 !important;
6340
6394
  }
6341
- [data-v-167b1bd5] .cm-scroller {
6395
+ [data-v-6499ec1f] .cm-scroller {
6342
6396
  overflow: auto;
6343
6397
  }
6344
- .line-wrapping[data-v-167b1bd5]:focus-within .cm-content {
6398
+ .line-wrapping[data-v-6499ec1f]:focus-within .cm-content {
6345
6399
  display: inline-table;
6346
6400
  min-height: fit-content;
6347
6401
  padding: 3px 6px;
@@ -6658,7 +6712,7 @@
6658
6712
  var(--scalar-background-2) 20px
6659
6713
  );
6660
6714
  }
6661
- [data-v-e861924b] .cm-content {
6715
+ [data-v-06778e40] .cm-content {
6662
6716
  font-size: var(--scalar-small);
6663
6717
  }
6664
6718
  .form-group[data-v-678c9f4a] {
@@ -6676,10 +6730,10 @@
6676
6730
  -ms-overflow-style: none;
6677
6731
  scrollbar-width: none;
6678
6732
  }
6679
- [data-v-3157c3c7] .cm-editor {
6733
+ [data-v-819cea32] .cm-editor {
6680
6734
  padding: 0;
6681
6735
  }
6682
- [data-v-3157c3c7] .cm-content {
6736
+ [data-v-819cea32] .cm-content {
6683
6737
  align-items: center;
6684
6738
  background-color: transparent;
6685
6739
  display: flex;
@@ -6688,30 +6742,30 @@
6688
6742
  padding: 5px 8px;
6689
6743
  width: 100%;
6690
6744
  }
6691
- [data-v-3157c3c7] .cm-content:has(.cm-pill) {
6745
+ [data-v-819cea32] .cm-content:has(.cm-pill) {
6692
6746
  padding: 5px 8px;
6693
6747
  }
6694
- [data-v-3157c3c7] .cm-content .cm-pill:not(:last-of-type) {
6748
+ [data-v-819cea32] .cm-content .cm-pill:not(:last-of-type) {
6695
6749
  margin-right: 0.5px;
6696
6750
  }
6697
- [data-v-3157c3c7] .cm-content .cm-pill:not(:first-of-type) {
6751
+ [data-v-819cea32] .cm-content .cm-pill:not(:first-of-type) {
6698
6752
  margin-left: 0.5px;
6699
6753
  }
6700
- [data-v-3157c3c7] .cm-line {
6754
+ [data-v-819cea32] .cm-line {
6701
6755
  overflow: hidden;
6702
6756
  padding: 0;
6703
6757
  text-overflow: ellipsis;
6704
6758
  word-break: break-word;
6705
6759
  }
6706
- .required[data-v-3157c3c7]::after {
6760
+ .required[data-v-819cea32]::after {
6707
6761
  content: 'Required';
6708
6762
  }
6709
6763
  /* Tailwind placeholder is busted */
6710
- input[data-v-3157c3c7]::placeholder {
6764
+ input[data-v-819cea32]::placeholder {
6711
6765
  color: var(--scalar-color-3);
6712
6766
  }
6713
6767
  /* we want our inputs to look like a password input but not be one */
6714
- .scalar-password-input[data-v-3157c3c7] {
6768
+ .scalar-password-input[data-v-819cea32] {
6715
6769
  text-security: disc;
6716
6770
  -webkit-text-security: disc;
6717
6771
  -moz-text-security: disc;
@@ -6760,7 +6814,7 @@ input[data-v-3157c3c7]::placeholder {
6760
6814
  overflow: auto;
6761
6815
  min-width: 100%;
6762
6816
  }
6763
- .scalar-code-block[data-v-94c74c13] .hljs * {
6817
+ .scalar-code-block[data-v-30c34ea4] .hljs * {
6764
6818
  font-size: var(--scalar-small);
6765
6819
  }
6766
6820
  .response-body-virtual[data-headlessui-state='open'],
@@ -6828,11 +6882,11 @@ to {
6828
6882
  .v-enter-from[data-v-1f35725e] {
6829
6883
  opacity: 0;
6830
6884
  }
6831
- .animate-response-heading .response-heading[data-v-3d6c8e96] {
6832
- animation: push-response-3d6c8e96 0.2s ease-in-out forwards;
6885
+ .animate-response-heading .response-heading[data-v-82f4df98] {
6886
+ animation: push-response-82f4df98 0.2s ease-in-out forwards;
6833
6887
  opacity: 1;
6834
6888
  }
6835
- @keyframes push-response-3d6c8e96 {
6889
+ @keyframes push-response-82f4df98 {
6836
6890
  from {
6837
6891
  opacity: 1;
6838
6892
  transform: translateY(0);
@@ -6842,11 +6896,11 @@ to {
6842
6896
  transform: translateY(-4px);
6843
6897
  }
6844
6898
  }
6845
- .animate-response-heading .animate-response-children[data-v-3d6c8e96] {
6846
- animation: response-spans-3d6c8e96 0.2s ease-in-out forwards 0.05s;
6899
+ .animate-response-heading .animate-response-children[data-v-82f4df98] {
6900
+ animation: response-spans-82f4df98 0.2s ease-in-out forwards 0.05s;
6847
6901
  opacity: 0;
6848
6902
  }
6849
- @keyframes response-spans-3d6c8e96 {
6903
+ @keyframes response-spans-82f4df98 {
6850
6904
  from {
6851
6905
  opacity: 0;
6852
6906
  transform: translateY(4px);
@@ -6856,33 +6910,33 @@ to {
6856
6910
  transform: translateY(0);
6857
6911
  }
6858
6912
  }
6859
- .request-card[data-v-0e4ddc16] {
6913
+ .request-card[data-v-59da314d] {
6860
6914
  font-size: var(--scalar-font-size-3);
6861
6915
  }
6862
- .request-method[data-v-0e4ddc16] {
6916
+ .request-method[data-v-59da314d] {
6863
6917
  font-family: var(--scalar-font-code);
6864
6918
  text-transform: uppercase;
6865
6919
  margin-right: 6px;
6866
6920
  }
6867
- .request-card-footer[data-v-0e4ddc16] {
6921
+ .request-card-footer[data-v-59da314d] {
6868
6922
  display: flex;
6869
6923
  justify-content: flex-end;
6870
6924
  padding: 6px;
6871
6925
  flex-shrink: 0;
6872
6926
  position: relative;
6873
6927
  }
6874
- .request-card-footer-addon[data-v-0e4ddc16] {
6928
+ .request-card-footer-addon[data-v-59da314d] {
6875
6929
  display: flex;
6876
6930
  align-items: center;
6877
6931
 
6878
6932
  flex: 1;
6879
6933
  min-width: 0;
6880
6934
  }
6881
- .request-editor-section[data-v-0e4ddc16] {
6935
+ .request-editor-section[data-v-59da314d] {
6882
6936
  display: flex;
6883
6937
  flex: 1;
6884
6938
  }
6885
- .request-card-simple[data-v-0e4ddc16] {
6939
+ .request-card-simple[data-v-59da314d] {
6886
6940
  display: flex;
6887
6941
  align-items: center;
6888
6942
  justify-content: space-between;
@@ -6891,7 +6945,7 @@ to {
6891
6945
 
6892
6946
  font-size: var(--scalar-small);
6893
6947
  }
6894
- .code-snippet[data-v-0e4ddc16] {
6948
+ .code-snippet[data-v-59da314d] {
6895
6949
  display: flex;
6896
6950
  flex-direction: column;
6897
6951
  width: 100%;
@@ -7346,15 +7400,15 @@ to {
7346
7400
  .full-size-styles:has(.sync-conflict-modal-root)::after {
7347
7401
  display: none;
7348
7402
  }
7349
- .scalar-collection-auth[data-v-6bba6b78] {
7403
+ .scalar-collection-auth[data-v-d3bc49bd] {
7350
7404
  border: var(--scalar-border-width) solid var(--scalar-border-color);
7351
7405
  border-radius: var(--scalar-radius-lg);
7352
7406
  overflow: hidden;
7353
7407
  }
7354
- [data-v-ddfccc08] .cm-editor {
7408
+ [data-v-2f13118d] .cm-editor {
7355
7409
  padding: 0;
7356
7410
  }
7357
- [data-v-ddfccc08] .cm-content {
7411
+ [data-v-2f13118d] .cm-content {
7358
7412
  align-items: center;
7359
7413
  background-color: transparent;
7360
7414
  display: flex;
@@ -7363,16 +7417,16 @@ to {
7363
7417
  padding: 5px 8px;
7364
7418
  width: 100%;
7365
7419
  }
7366
- [data-v-ddfccc08] .cm-content:has(.cm-pill) {
7420
+ [data-v-2f13118d] .cm-content:has(.cm-pill) {
7367
7421
  padding: 5px 8px;
7368
7422
  }
7369
- [data-v-ddfccc08] .cm-content .cm-pill:not(:last-of-type) {
7423
+ [data-v-2f13118d] .cm-content .cm-pill:not(:last-of-type) {
7370
7424
  margin-right: 0.5px;
7371
7425
  }
7372
- [data-v-ddfccc08] .cm-content .cm-pill:not(:first-of-type) {
7426
+ [data-v-2f13118d] .cm-content .cm-pill:not(:first-of-type) {
7373
7427
  margin-left: 0.5px;
7374
7428
  }
7375
- [data-v-ddfccc08] .cm-line {
7429
+ [data-v-2f13118d] .cm-line {
7376
7430
  overflow: hidden;
7377
7431
  padding: 0;
7378
7432
  text-overflow: ellipsis;
@@ -7445,7 +7499,7 @@ to {
7445
7499
  .scroll-timeline-x[data-v-f4568236]::-webkit-scrollbar {
7446
7500
  display: none;
7447
7501
  }
7448
- .postman-import-path-conflict-callout[data-v-9f13a627] {
7502
+ .postman-import-path-conflict-callout[data-v-cc4f666d] {
7449
7503
  border-color: var(--scalar-color-red);
7450
7504
  background-color: var(--scalar-background-danger);
7451
7505
  color: var(--scalar-color-1);
@@ -1,6 +1,6 @@
1
- import type { ApiClientModal, ApiClientModalOptions, RoutePayload } from '@scalar/api-client/modal';
1
+ import type { ApiClientModal, ApiClientOptions, RoutePayload } from '@scalar/api-client/modal';
2
2
  import './style.css';
3
- export type ApiClientConfigurationReact = ApiClientModalOptions & {
3
+ export type ApiClientConfigurationReact = ApiClientOptions & {
4
4
  url: string;
5
5
  };
6
6
  export type UseApiClientModalProps = {
@@ -1 +1 @@
1
- {"version":3,"file":"use-api-client.d.ts","sourceRoot":"","sources":["../src/use-api-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGnG,OAAO,aAAa,CAAA;AAWpB,MAAM,MAAM,2BAA2B,GAAG,qBAAqB,GAAG;IAEhE,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,+DAA+D;IAC/D,aAAa,EAAE,2BAA2B,CAAA;CAC3C,CAAA;AAKD;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,oBAE1B,sBAAsB,KAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;CAAE,CAAC,GAAG,SAoFxG,CAAA"}
1
+ {"version":3,"file":"use-api-client.d.ts","sourceRoot":"","sources":["../src/use-api-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAG9F,OAAO,aAAa,CAAA;AAWpB,MAAM,MAAM,2BAA2B,GAAG,gBAAgB,GAAG;IAE3D,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,+DAA+D;IAC/D,aAAa,EAAE,2BAA2B,CAAA;CAC3C,CAAA;AAKD;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,GAAI,oBAE1B,sBAAsB,KAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAA;CAAE,CAAC,GAAG,SAoFxG,CAAA"}
package/package.json CHANGED
@@ -19,7 +19,7 @@
19
19
  "testing",
20
20
  "react"
21
21
  ],
22
- "version": "2.0.2",
22
+ "version": "2.0.4",
23
23
  "engines": {
24
24
  "node": ">=22"
25
25
  },
@@ -39,9 +39,9 @@
39
39
  "CHANGELOG.md"
40
40
  ],
41
41
  "dependencies": {
42
- "@scalar/helpers": "0.5.0",
43
- "@scalar/workspace-store": "0.46.0",
44
- "@scalar/api-client": "3.0.0"
42
+ "@scalar/api-client": "3.2.0",
43
+ "@scalar/helpers": "0.5.1",
44
+ "@scalar/workspace-store": "0.46.2"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@testing-library/dom": "^10.4.1",