zudoku 0.23.3 → 0.23.5
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/dist/config/validators/common.d.ts +82 -48
- package/dist/config/validators/common.js +6 -2
- package/dist/config/validators/common.js.map +1 -1
- package/dist/config/validators/validate.d.ts +33 -19
- package/dist/lib/authentication/providers/openid.d.ts +7 -0
- package/dist/lib/authentication/providers/openid.js +1 -0
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/plugins/api-catalog/Catalog.d.ts +2 -6
- package/dist/lib/plugins/api-catalog/Catalog.js +22 -15
- package/dist/lib/plugins/api-catalog/Catalog.js.map +1 -1
- package/dist/lib/plugins/api-catalog/index.d.ts +8 -1
- package/dist/lib/plugins/api-catalog/index.js +2 -2
- package/dist/lib/plugins/api-catalog/index.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +7 -33
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/Route.d.ts +4 -2
- package/dist/lib/plugins/openapi/Route.js +25 -2
- package/dist/lib/plugins/openapi/Route.js.map +1 -1
- package/dist/lib/plugins/openapi/context.d.ts +3 -3
- package/dist/lib/plugins/openapi/index.js +12 -12
- package/dist/lib/plugins/openapi/index.js.map +1 -1
- package/dist/lib/plugins/openapi/interfaces.d.ts +19 -0
- package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.d.ts +1 -0
- package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js +27 -0
- package/dist/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.js.map +1 -0
- package/dist/lib/plugins/search-inkeep/index.js +21 -7
- package/dist/lib/plugins/search-inkeep/index.js.map +1 -1
- package/dist/vite/config.js +2 -1
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/plugin-api.js +45 -19
- package/dist/vite/plugin-api.js.map +1 -1
- package/lib/{AuthenticationPlugin-DQy635W9.js → AuthenticationPlugin-fB7viE7A.js} +2 -2
- package/lib/{AuthenticationPlugin-DQy635W9.js.map → AuthenticationPlugin-fB7viE7A.js.map} +1 -1
- package/lib/{MdxPage-CBa4X6L5.js → MdxPage-CPBw4_lf.js} +18 -18
- package/lib/{MdxPage-CBa4X6L5.js.map → MdxPage-CPBw4_lf.js.map} +1 -1
- package/lib/OperationList-wvY-BrxS.js +5030 -0
- package/lib/OperationList-wvY-BrxS.js.map +1 -0
- package/lib/Route-C8nwd9A2.js +37 -0
- package/lib/Route-C8nwd9A2.js.map +1 -0
- package/lib/{Select-Bb_Hqc70.js → Select-D3XuKKuH.js} +3 -3
- package/lib/{Select-Bb_Hqc70.js.map → Select-D3XuKKuH.js.map} +1 -1
- package/lib/assets/{worker-BmEAZjUP.js → worker-D2kRl-cG.js} +1487 -1436
- package/lib/assets/worker-D2kRl-cG.js.map +1 -0
- package/lib/cn-qaFjX9_3.js.map +1 -1
- package/lib/context-h_UkBLvr.js.map +1 -1
- package/lib/{createServer-BVFp6Bl3.js → createServer-69sLlmQA.js} +1968 -1917
- package/lib/createServer-69sLlmQA.js.map +1 -0
- package/lib/{hook-DMHiUaIV.js → hook-DgGeo5iL.js} +2 -2
- package/lib/{hook-DMHiUaIV.js.map → hook-DgGeo5iL.js.map} +1 -1
- package/lib/{index-B6rTMjdI.js → index-C_ul-2fb.js} +444 -439
- package/lib/{index-B6rTMjdI.js.map → index-C_ul-2fb.js.map} +1 -1
- package/lib/{utils-R0j3Raw1.js → utils-B4O1uet5.js} +8 -8
- package/lib/{utils-R0j3Raw1.js.map → utils-B4O1uet5.js.map} +1 -1
- package/lib/zudoku.auth-clerk.js +1 -1
- package/lib/zudoku.auth-openid.js +70 -69
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +2 -2
- package/lib/zudoku.openapi-worker.js +1 -1
- package/lib/zudoku.plugin-api-catalog.js +80 -78
- package/lib/zudoku.plugin-api-catalog.js.map +1 -1
- package/lib/zudoku.plugin-api-keys.js +3 -3
- package/lib/zudoku.plugin-markdown.js +1 -1
- package/lib/zudoku.plugin-openapi.js +3 -3
- package/lib/zudoku.plugin-search-inkeep.js +34 -26
- package/lib/zudoku.plugin-search-inkeep.js.map +1 -1
- package/package.json +5 -5
- package/src/lib/authentication/providers/openid.tsx +5 -3
- package/src/lib/plugins/api-catalog/Catalog.tsx +59 -60
- package/src/lib/plugins/api-catalog/index.tsx +14 -0
- package/src/lib/plugins/openapi/OperationList.tsx +42 -50
- package/src/lib/plugins/openapi/Route.tsx +45 -9
- package/src/lib/plugins/openapi/context.tsx +2 -2
- package/src/lib/plugins/openapi/index.tsx +35 -28
- package/src/lib/plugins/openapi/interfaces.ts +22 -1
- package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -0
- package/src/lib/plugins/search-inkeep/index.tsx +27 -8
- package/lib/OperationList-Bj-6EKhp.js +0 -4889
- package/lib/OperationList-Bj-6EKhp.js.map +0 -1
- package/lib/Route-C9cYcP-j.js +0 -11
- package/lib/Route-C9cYcP-j.js.map +0 -1
- package/lib/assets/worker-BmEAZjUP.js.map +0 -1
- package/lib/createServer-BVFp6Bl3.js.map +0 -1
|
@@ -597,7 +597,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
597
597
|
}[] | undefined;
|
|
598
598
|
}>, z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
|
|
599
599
|
type: z.ZodLiteral<"file">;
|
|
600
|
-
input: z.ZodString
|
|
600
|
+
input: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
|
|
601
601
|
}, {
|
|
602
602
|
id: z.ZodOptional<z.ZodString>;
|
|
603
603
|
server: z.ZodOptional<z.ZodString>;
|
|
@@ -616,7 +616,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
616
616
|
postProcessors: z.ZodOptional<z.ZodArray<z.ZodFunction<z.ZodTuple<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>], z.ZodUnknown>, z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodPromise<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>]>>, "many">>;
|
|
617
617
|
}>, "strip", z.ZodTypeAny, {
|
|
618
618
|
type: "file";
|
|
619
|
-
input: string;
|
|
619
|
+
input: string | string[];
|
|
620
620
|
server?: string | undefined;
|
|
621
621
|
id?: string | undefined;
|
|
622
622
|
navigationId?: string | undefined;
|
|
@@ -627,7 +627,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
627
627
|
postProcessors?: ((args_0: z.objectInputType<{}, z.ZodTypeAny, "passthrough">, ...args: unknown[]) => z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | Promise<z.objectOutputType<{}, z.ZodTypeAny, "passthrough">>)[] | undefined;
|
|
628
628
|
}, {
|
|
629
629
|
type: "file";
|
|
630
|
-
input: string;
|
|
630
|
+
input: string | string[];
|
|
631
631
|
server?: string | undefined;
|
|
632
632
|
id?: string | undefined;
|
|
633
633
|
navigationId?: string | undefined;
|
|
@@ -712,7 +712,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
712
712
|
}[] | undefined;
|
|
713
713
|
}>, z.ZodObject<z.objectUtil.extendShape<z.objectUtil.extendShape<{
|
|
714
714
|
type: z.ZodLiteral<"file">;
|
|
715
|
-
input: z.ZodString
|
|
715
|
+
input: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
|
|
716
716
|
}, {
|
|
717
717
|
id: z.ZodOptional<z.ZodString>;
|
|
718
718
|
server: z.ZodOptional<z.ZodString>;
|
|
@@ -731,7 +731,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
731
731
|
postProcessors: z.ZodOptional<z.ZodArray<z.ZodFunction<z.ZodTuple<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>], z.ZodUnknown>, z.ZodUnion<[z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>, z.ZodPromise<z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>>]>>, "many">>;
|
|
732
732
|
}>, "strip", z.ZodTypeAny, {
|
|
733
733
|
type: "file";
|
|
734
|
-
input: string;
|
|
734
|
+
input: string | string[];
|
|
735
735
|
server?: string | undefined;
|
|
736
736
|
id?: string | undefined;
|
|
737
737
|
navigationId?: string | undefined;
|
|
@@ -742,7 +742,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
742
742
|
postProcessors?: ((args_0: z.objectInputType<{}, z.ZodTypeAny, "passthrough">, ...args: unknown[]) => z.objectOutputType<{}, z.ZodTypeAny, "passthrough"> | Promise<z.objectOutputType<{}, z.ZodTypeAny, "passthrough">>)[] | undefined;
|
|
743
743
|
}, {
|
|
744
744
|
type: "file";
|
|
745
|
-
input: string;
|
|
745
|
+
input: string | string[];
|
|
746
746
|
server?: string | undefined;
|
|
747
747
|
id?: string | undefined;
|
|
748
748
|
navigationId?: string | undefined;
|
|
@@ -789,29 +789,35 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
789
789
|
label: string;
|
|
790
790
|
}[] | undefined;
|
|
791
791
|
}>]>, "many">]>>;
|
|
792
|
-
|
|
792
|
+
catalogs: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
|
793
793
|
navigationId: z.ZodString;
|
|
794
794
|
label: z.ZodString;
|
|
795
795
|
items: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
796
|
+
filterItems: z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodAny>;
|
|
796
797
|
}, "strip", z.ZodTypeAny, {
|
|
797
798
|
label: string;
|
|
798
799
|
navigationId: string;
|
|
800
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
799
801
|
items?: string[] | undefined;
|
|
800
802
|
}, {
|
|
801
803
|
label: string;
|
|
802
804
|
navigationId: string;
|
|
805
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
803
806
|
items?: string[] | undefined;
|
|
804
807
|
}>, z.ZodArray<z.ZodObject<{
|
|
805
808
|
navigationId: z.ZodString;
|
|
806
809
|
label: z.ZodString;
|
|
807
810
|
items: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
811
|
+
filterItems: z.ZodFunction<z.ZodTuple<[z.ZodAny], z.ZodUnknown>, z.ZodAny>;
|
|
808
812
|
}, "strip", z.ZodTypeAny, {
|
|
809
813
|
label: string;
|
|
810
814
|
navigationId: string;
|
|
815
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
811
816
|
items?: string[] | undefined;
|
|
812
817
|
}, {
|
|
813
818
|
label: string;
|
|
814
819
|
navigationId: string;
|
|
820
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
815
821
|
items?: string[] | undefined;
|
|
816
822
|
}>, "many">]>>;
|
|
817
823
|
apiKeys: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
|
@@ -1100,7 +1106,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1100
1106
|
}[] | undefined;
|
|
1101
1107
|
} | {
|
|
1102
1108
|
type: "file";
|
|
1103
|
-
input: string;
|
|
1109
|
+
input: string | string[];
|
|
1104
1110
|
server?: string | undefined;
|
|
1105
1111
|
id?: string | undefined;
|
|
1106
1112
|
navigationId?: string | undefined;
|
|
@@ -1131,7 +1137,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1131
1137
|
}[] | undefined;
|
|
1132
1138
|
} | {
|
|
1133
1139
|
type: "file";
|
|
1134
|
-
input: string;
|
|
1140
|
+
input: string | string[];
|
|
1135
1141
|
server?: string | undefined;
|
|
1136
1142
|
id?: string | undefined;
|
|
1137
1143
|
navigationId?: string | undefined;
|
|
@@ -1151,13 +1157,15 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1151
1157
|
label: string;
|
|
1152
1158
|
}[] | undefined;
|
|
1153
1159
|
})[] | undefined;
|
|
1154
|
-
|
|
1160
|
+
catalogs?: {
|
|
1155
1161
|
label: string;
|
|
1156
1162
|
navigationId: string;
|
|
1163
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
1157
1164
|
items?: string[] | undefined;
|
|
1158
1165
|
} | {
|
|
1159
1166
|
label: string;
|
|
1160
1167
|
navigationId: string;
|
|
1168
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
1161
1169
|
items?: string[] | undefined;
|
|
1162
1170
|
}[] | undefined;
|
|
1163
1171
|
apiKeys?: {
|
|
@@ -1356,7 +1364,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1356
1364
|
}[] | undefined;
|
|
1357
1365
|
} | {
|
|
1358
1366
|
type: "file";
|
|
1359
|
-
input: string;
|
|
1367
|
+
input: string | string[];
|
|
1360
1368
|
server?: string | undefined;
|
|
1361
1369
|
id?: string | undefined;
|
|
1362
1370
|
navigationId?: string | undefined;
|
|
@@ -1387,7 +1395,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1387
1395
|
}[] | undefined;
|
|
1388
1396
|
} | {
|
|
1389
1397
|
type: "file";
|
|
1390
|
-
input: string;
|
|
1398
|
+
input: string | string[];
|
|
1391
1399
|
server?: string | undefined;
|
|
1392
1400
|
id?: string | undefined;
|
|
1393
1401
|
navigationId?: string | undefined;
|
|
@@ -1407,13 +1415,15 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1407
1415
|
label: string;
|
|
1408
1416
|
}[] | undefined;
|
|
1409
1417
|
})[] | undefined;
|
|
1410
|
-
|
|
1418
|
+
catalogs?: {
|
|
1411
1419
|
label: string;
|
|
1412
1420
|
navigationId: string;
|
|
1421
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
1413
1422
|
items?: string[] | undefined;
|
|
1414
1423
|
} | {
|
|
1415
1424
|
label: string;
|
|
1416
1425
|
navigationId: string;
|
|
1426
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
1417
1427
|
items?: string[] | undefined;
|
|
1418
1428
|
}[] | undefined;
|
|
1419
1429
|
apiKeys?: {
|
|
@@ -1612,7 +1622,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1612
1622
|
}[] | undefined;
|
|
1613
1623
|
} | {
|
|
1614
1624
|
type: "file";
|
|
1615
|
-
input: string;
|
|
1625
|
+
input: string | string[];
|
|
1616
1626
|
server?: string | undefined;
|
|
1617
1627
|
id?: string | undefined;
|
|
1618
1628
|
navigationId?: string | undefined;
|
|
@@ -1643,7 +1653,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1643
1653
|
}[] | undefined;
|
|
1644
1654
|
} | {
|
|
1645
1655
|
type: "file";
|
|
1646
|
-
input: string;
|
|
1656
|
+
input: string | string[];
|
|
1647
1657
|
server?: string | undefined;
|
|
1648
1658
|
id?: string | undefined;
|
|
1649
1659
|
navigationId?: string | undefined;
|
|
@@ -1663,13 +1673,15 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1663
1673
|
label: string;
|
|
1664
1674
|
}[] | undefined;
|
|
1665
1675
|
})[] | undefined;
|
|
1666
|
-
|
|
1676
|
+
catalogs?: {
|
|
1667
1677
|
label: string;
|
|
1668
1678
|
navigationId: string;
|
|
1679
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
1669
1680
|
items?: string[] | undefined;
|
|
1670
1681
|
} | {
|
|
1671
1682
|
label: string;
|
|
1672
1683
|
navigationId: string;
|
|
1684
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
1673
1685
|
items?: string[] | undefined;
|
|
1674
1686
|
}[] | undefined;
|
|
1675
1687
|
apiKeys?: {
|
|
@@ -1868,7 +1880,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1868
1880
|
}[] | undefined;
|
|
1869
1881
|
} | {
|
|
1870
1882
|
type: "file";
|
|
1871
|
-
input: string;
|
|
1883
|
+
input: string | string[];
|
|
1872
1884
|
server?: string | undefined;
|
|
1873
1885
|
id?: string | undefined;
|
|
1874
1886
|
navigationId?: string | undefined;
|
|
@@ -1899,7 +1911,7 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1899
1911
|
}[] | undefined;
|
|
1900
1912
|
} | {
|
|
1901
1913
|
type: "file";
|
|
1902
|
-
input: string;
|
|
1914
|
+
input: string | string[];
|
|
1903
1915
|
server?: string | undefined;
|
|
1904
1916
|
id?: string | undefined;
|
|
1905
1917
|
navigationId?: string | undefined;
|
|
@@ -1919,13 +1931,15 @@ declare const ConfigSchema: z.ZodEffects<z.ZodObject<{
|
|
|
1919
1931
|
label: string;
|
|
1920
1932
|
}[] | undefined;
|
|
1921
1933
|
})[] | undefined;
|
|
1922
|
-
|
|
1934
|
+
catalogs?: {
|
|
1923
1935
|
label: string;
|
|
1924
1936
|
navigationId: string;
|
|
1937
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
1925
1938
|
items?: string[] | undefined;
|
|
1926
1939
|
} | {
|
|
1927
1940
|
label: string;
|
|
1928
1941
|
navigationId: string;
|
|
1942
|
+
filterItems: (args_0: any, ...args: unknown[]) => any;
|
|
1929
1943
|
items?: string[] | undefined;
|
|
1930
1944
|
}[] | undefined;
|
|
1931
1945
|
apiKeys?: {
|
|
@@ -2,6 +2,13 @@ import * as oauth from "oauth4webapi";
|
|
|
2
2
|
import { OpenIDAuthenticationConfig } from "../../../config/config.js";
|
|
3
3
|
import { AuthenticationProvider, AuthenticationProviderInitializer } from "../authentication.js";
|
|
4
4
|
import { AuthenticationPlugin } from "../AuthenticationPlugin.js";
|
|
5
|
+
export interface OpenIdProviderData {
|
|
6
|
+
accessToken: string;
|
|
7
|
+
idToken?: string;
|
|
8
|
+
refreshToken?: string;
|
|
9
|
+
expiresOn: Date;
|
|
10
|
+
tokenType: string;
|
|
11
|
+
}
|
|
5
12
|
declare class OpenIdAuthPlugin extends AuthenticationPlugin {
|
|
6
13
|
private callbackUrlPath;
|
|
7
14
|
private handleCallback;
|
|
@@ -69,6 +69,7 @@ export class OpenIDAuthenticationProvider {
|
|
|
69
69
|
const tokens = {
|
|
70
70
|
accessToken: response.access_token,
|
|
71
71
|
refreshToken: response.refresh_token,
|
|
72
|
+
idToken: response.id_token,
|
|
72
73
|
expiresOn: new Date(Date.now() + response.expires_in * 1000),
|
|
73
74
|
tokenType: response.token_type,
|
|
74
75
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openid.js","sourceRoot":"","sources":["../../../../src/lib/authentication/providers/openid.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAMtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAe,MAAM,aAAa,CAAC;AAExD,MAAM,iBAAiB,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"openid.js","sourceRoot":"","sources":["../../../../src/lib/authentication/providers/openid.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare const Catalog: ({ items, categories, label, }:
|
|
3
|
-
label: string;
|
|
4
|
-
items: ApiCatalogItem[];
|
|
5
|
-
categories: CatalogCategory[];
|
|
6
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import type { ApiCatalogPluginOptions } from "./index.js";
|
|
2
|
+
export declare const Catalog: ({ items, filterCatalogItems, categories, label, }: Omit<ApiCatalogPluginOptions, "navigationId">) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,29 +1,36 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import slugify from "@sindresorhus/slugify";
|
|
3
|
-
import {
|
|
3
|
+
import { useSuspenseQuery } from "@tanstack/react-query";
|
|
4
|
+
import { useSearchParams } from "react-router";
|
|
4
5
|
import { Head, Link } from "zudoku/components";
|
|
6
|
+
import { useAuthState } from "../../authentication/state.js";
|
|
5
7
|
import { Markdown } from "../../components/Markdown.js";
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
import { cn } from "../../util/cn.js";
|
|
9
|
+
const getKey = (category, tag) => slugify(`${category}-${tag}`);
|
|
10
|
+
export const Catalog = ({ items, filterCatalogItems = (items) => items, categories, label = "API Library", }) => {
|
|
11
|
+
const [searchParams, setSearchParams] = useSearchParams();
|
|
9
12
|
const activeCategory = searchParams.get("category");
|
|
10
|
-
|
|
13
|
+
const auth = useAuthState();
|
|
14
|
+
const catalogItems = useSuspenseQuery({
|
|
15
|
+
queryFn: () => filterCatalogItems(items, { auth }),
|
|
16
|
+
queryKey: ["catalogItems", auth],
|
|
17
|
+
});
|
|
18
|
+
return (_jsxs("section", { className: "pt-[--padding-content-top] pb-[--padding-content-bottom]", children: [_jsx(Head, { children: _jsx("title", { children: label }) }), _jsxs("div", { className: "grid grid-cols-12 gap-12", children: [_jsx("div", { className: "flex flex-col gap-4 col-span-3 not-prose sticky top-48", children: _jsx("div", { className: "max-w-[--side-nav-width] flex flex-col gap-4 justify-between", children: categories?.map((category, idx) => (_jsxs("div", { children: [_jsxs("div", { className: "flex justify-between mb-2.5", children: [_jsx("span", { className: "font-medium text-sm", children: category.label }), idx === 0 && activeCategory && (_jsx("button", { type: "button", className: "text-end text-sm text-foreground/60 hover:text-foreground", onClick: () => setSearchParams({}), children: "Clear" }))] }), _jsx("ul", { className: "space-y-1 [&>li]:py-2", children: category.tags
|
|
11
19
|
.map((tag) => ({
|
|
12
20
|
tag,
|
|
13
21
|
count: items.filter((api) => api.categories.find((c) => c.tags.includes(tag))).length,
|
|
14
22
|
}))
|
|
15
|
-
.map(({ tag, count }) =>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
: ""}`, children: count })] }, slugify(category.label + " " + tag)))))) })] }, category.label))) }) }), _jsxs("div", { className: "col-span-9", children: [_jsx("h3", { className: "mt-0 text-2xl font-bold mb-4", children: label }), _jsx("div", { className: "grid grid-cols-2 gap-4", children: items
|
|
23
|
+
.map(({ tag, count }) => {
|
|
24
|
+
const slug = getKey(category.label, tag);
|
|
25
|
+
const isActive = slug === activeCategory;
|
|
26
|
+
return (_jsxs("li", { className: cn("flex rounded-lg justify-between text-sm cursor-pointer hover:text-primary transition px-[--padding-nav-item] -mx-[--padding-nav-item]", isActive && "bg-border/30 rounded"), onClick: () => setSearchParams({ category: slug }), children: [_jsx("span", { children: tag }), _jsx("span", { className: cn("flex items-center justify-center border rounded-md w-8 text-xs font-semibold", isActive &&
|
|
27
|
+
"bg-primary border-primary text-primary-foreground"), children: count })] }, slug));
|
|
28
|
+
}) })] }, category.label))) }) }), _jsxs("div", { className: "col-span-9", children: [_jsx("h3", { className: "mt-0 text-2xl font-bold mb-4", children: label }), _jsx("div", { className: "grid grid-cols-2 gap-4", children: catalogItems.data
|
|
22
29
|
.filter((api) => !activeCategory ||
|
|
23
|
-
api.categories.find((c) => c.tags.find((t) =>
|
|
24
|
-
.map((api
|
|
30
|
+
api.categories.find((c) => c.tags.find((t) => getKey(c.label, t) === activeCategory)))
|
|
31
|
+
.map((api) => (_jsx(Link, { to: {
|
|
25
32
|
pathname: `/${api.path}`,
|
|
26
33
|
search: activeCategory ? `category=${activeCategory}` : "",
|
|
27
|
-
}, className: "no-underline hover:!text-foreground", children: _jsxs("div", { className: "border h-full rounded p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal", children: [_jsx("span", { className: "font-semibold", children: api.label }), _jsx(Markdown, { className: "text-sm whitespace-pre-wrap mb-6 line-clamp-2", content: api.description })] }
|
|
34
|
+
}, className: "no-underline hover:!text-foreground", children: _jsxs("div", { className: "border h-full rounded p-4 flex flex-col gap-2 cursor-pointer hover:bg-border/20 font-normal", children: [_jsx("span", { className: "font-semibold", children: api.label }), _jsx(Markdown, { className: "text-sm whitespace-pre-wrap mb-6 line-clamp-2", content: api.description })] }) }, api.path))) })] })] })] }));
|
|
28
35
|
};
|
|
29
36
|
//# sourceMappingURL=Catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../../../src/lib/plugins/api-catalog/Catalog.tsx"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../../../src/lib/plugins/api-catalog/Catalog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { AuthState } from "../../authentication/state.js";
|
|
1
2
|
import type { ZudokuPlugin } from "../../core/plugins.js";
|
|
2
3
|
export type ApiCatalogItem = {
|
|
3
4
|
path: string;
|
|
@@ -14,10 +15,16 @@ export type ApiCatalogPluginOptions = {
|
|
|
14
15
|
label: string;
|
|
15
16
|
categories?: CatalogCategory[];
|
|
16
17
|
items: ApiCatalogItem[];
|
|
18
|
+
filterCatalogItems?: filterCatalogItems;
|
|
17
19
|
};
|
|
18
|
-
export
|
|
20
|
+
export type CatalogContext<ProviderData = unknown> = {
|
|
21
|
+
auth: AuthState<ProviderData>;
|
|
22
|
+
};
|
|
23
|
+
export type filterCatalogItems<ProviderData = unknown> = (items: ApiCatalogItem[], { auth }: CatalogContext<ProviderData>) => ApiCatalogItem[];
|
|
24
|
+
export declare const apiCatalogPlugin: ({ navigationId, items, label, categories, filterCatalogItems, }: {
|
|
19
25
|
navigationId: string;
|
|
20
26
|
label: string;
|
|
21
27
|
categories?: CatalogCategory[];
|
|
22
28
|
items: ApiCatalogItem[];
|
|
29
|
+
filterCatalogItems?: filterCatalogItems;
|
|
23
30
|
}) => ZudokuPlugin;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Catalog } from "./Catalog.js";
|
|
3
|
-
export const apiCatalogPlugin = ({ navigationId, items, label, categories, }) => {
|
|
3
|
+
export const apiCatalogPlugin = ({ navigationId, items, label, categories, filterCatalogItems, }) => {
|
|
4
4
|
return {
|
|
5
5
|
getRoutes: () => {
|
|
6
6
|
return [
|
|
7
7
|
{
|
|
8
8
|
path: navigationId,
|
|
9
|
-
element: (_jsx(Catalog, { label: label, items: items, categories: categories ?? [] })),
|
|
9
|
+
element: (_jsx(Catalog, { label: label, items: items, filterCatalogItems: filterCatalogItems, categories: categories ?? [] })),
|
|
10
10
|
},
|
|
11
11
|
];
|
|
12
12
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/api-catalog/index.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/plugins/api-catalog/index.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA+BvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,YAAY,EACZ,KAAK,EACL,KAAK,EACL,UAAU,EACV,kBAAkB,GAOnB,EAAgB,EAAE;IACjB,OAAO;QACL,SAAS,EAAE,GAAG,EAAE;YACd,OAAO;gBACL;oBACE,IAAI,EAAE,YAAY;oBAClB,OAAO,EAAE,CACP,KAAC,OAAO,IACN,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,kBAAkB,EAAE,kBAAkB,EACtC,UAAU,EAAE,UAAU,IAAI,EAAE,GAC5B,CACH;iBACF;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useSuspenseQuery } from "@tanstack/react-query";
|
|
3
3
|
import { Helmet } from "@zudoku/react-helmet-async";
|
|
4
|
+
import { useNavigate } from "react-router";
|
|
5
|
+
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "zudoku/ui/Select.js";
|
|
4
6
|
import { CategoryHeading } from "../../components/CategoryHeading.js";
|
|
5
7
|
import { Heading } from "../../components/Heading.js";
|
|
6
8
|
import { Markdown, ProseClasses } from "../../components/Markdown.js";
|
|
@@ -11,6 +13,7 @@ import StaggeredRender from "./StaggeredRender.js";
|
|
|
11
13
|
import { useCreateQuery } from "./client/useCreateQuery.js";
|
|
12
14
|
import { useOasConfig } from "./context.js";
|
|
13
15
|
import { graphql } from "./graphql/index.js";
|
|
16
|
+
import { sanitizeMarkdownForMetatag } from "./util/sanitizeMarkdownForMetatag.js";
|
|
14
17
|
export const OperationsFragment = graphql(/* GraphQL */ `
|
|
15
18
|
fragment OperationsFragment on OperationItem {
|
|
16
19
|
slug
|
|
@@ -93,52 +96,23 @@ const AllOperationsQuery = graphql(/* GraphQL */ `
|
|
|
93
96
|
}
|
|
94
97
|
}
|
|
95
98
|
`);
|
|
96
|
-
/**
|
|
97
|
-
* @description Clean up a commonmark formatted description for use in the meta
|
|
98
|
-
* description.
|
|
99
|
-
*/
|
|
100
|
-
function cleanDescription(description, maxLength = 160) {
|
|
101
|
-
if (!description) {
|
|
102
|
-
return "";
|
|
103
|
-
}
|
|
104
|
-
// Replace Markdown links [text](url) with just "text"
|
|
105
|
-
description = description.replace(/\[([^\]]+)\]\([^)]+\)/g, "$1");
|
|
106
|
-
// Remove Markdown image syntax: 
|
|
107
|
-
description = description.replace(/!\[.*?\]\(.*?\)/g, "");
|
|
108
|
-
// Remove other Markdown syntax (e.g., **bold**, _italic_, `code`)
|
|
109
|
-
description = description.replace(/[_*`~]/g, "");
|
|
110
|
-
// Remove headings (# Heading), blockquotes (> Quote), and horizontal rules (--- or ***)
|
|
111
|
-
description = description.replace(/^(?:>|\s*#+|-{3,}|\*{3,})/gm, "");
|
|
112
|
-
// Remove any remaining formatting characters
|
|
113
|
-
description = description.replace(/[|>{}[\]]/g, "");
|
|
114
|
-
// Collapse multiple spaces and trim the text
|
|
115
|
-
description = description.replace(/\s+/g, " ").trim();
|
|
116
|
-
// Limit to the specified maximum length
|
|
117
|
-
description = description.substring(0, maxLength);
|
|
118
|
-
// Escape for HTML safety
|
|
119
|
-
return description
|
|
120
|
-
.replace(/&/g, "&")
|
|
121
|
-
.replace(/</g, "<")
|
|
122
|
-
.replace(/>/g, ">")
|
|
123
|
-
.replace(/"/g, """)
|
|
124
|
-
.replace(/'/g, "'");
|
|
125
|
-
}
|
|
126
99
|
export const OperationList = () => {
|
|
127
|
-
const { input, type } = useOasConfig();
|
|
100
|
+
const { input, type, versions, version } = useOasConfig();
|
|
128
101
|
const query = useCreateQuery(AllOperationsQuery, { input, type });
|
|
129
102
|
const result = useSuspenseQuery(query);
|
|
130
103
|
const title = result.data.schema.title;
|
|
131
104
|
const summary = result.data.schema.summary;
|
|
132
105
|
const description = result.data.schema.description;
|
|
106
|
+
const navigate = useNavigate();
|
|
133
107
|
// The summary property is preferable here as it is a short description of
|
|
134
108
|
// the API, whereas the description property is typically longer and supports
|
|
135
109
|
// commonmark formatting, making it ill-suited for use in the meta description
|
|
136
110
|
const metaDescription = summary
|
|
137
111
|
? summary
|
|
138
112
|
: description
|
|
139
|
-
?
|
|
113
|
+
? sanitizeMarkdownForMetatag(description)
|
|
140
114
|
: undefined;
|
|
141
|
-
return (_jsxs("div", { className: "pt-[--padding-content-top]", children: [_jsxs(Helmet, { children: [_jsx("title", { children: title }), metaDescription && (_jsx("meta", { name: "description", content: metaDescription }))] }), _jsxs("div", { className: cn(ProseClasses, "mb-16 max-w-full prose-img:max-w-prose"), children: [_jsx(CategoryHeading, { children: "Overview" }), _jsx(Heading, { level: 1, id: "description", registerSidebarAnchor: true, children: title }), _jsx(Markdown, { content: result.data.schema.description ?? "" })] }), _jsx("hr", {}), _jsx("div", { className: "my-4 flex justify-end", children: _jsx(Endpoint, {}) }), result.data.schema.tags
|
|
115
|
+
return (_jsxs("div", { className: "pt-[--padding-content-top]", children: [_jsxs(Helmet, { children: [_jsx("title", { children: title }), metaDescription && (_jsx("meta", { name: "description", content: metaDescription }))] }), _jsxs("div", { className: cn(ProseClasses, "mb-16 max-w-full prose-img:max-w-prose"), children: [_jsxs("div", { className: "flex", children: [_jsxs("div", { className: "flex-1", children: [_jsx(CategoryHeading, { children: "Overview" }), _jsx(Heading, { level: 1, id: "description", registerSidebarAnchor: true, children: title })] }), _jsx("div", { children: Object.entries(versions).length > 1 && (_jsxs(Select, { onValueChange: (version) => navigate(versions[version]), defaultValue: version, children: [_jsx(SelectTrigger, { className: "w-[180px]", children: _jsx(SelectValue, { placeholder: "Select version" }) }), _jsx(SelectContent, { children: Object.entries(versions).map(([version]) => (_jsx(SelectItem, { value: version, children: version }, version))) })] })) })] }), _jsx(Markdown, { content: result.data.schema.description ?? "" })] }), _jsx("hr", {}), _jsx("div", { className: "my-4 flex items-center justify-end gap-4", children: _jsx(Endpoint, {}) }), result.data.schema.tags
|
|
142
116
|
.filter((tag) => tag.operations.length > 0)
|
|
143
117
|
.map((tag) => (
|
|
144
118
|
// px, -mx is so that `content-visibility` doesn't cut off overflown heading anchor links '#'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationList.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"OperationList.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/OperationList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { GraphQLClient } from "./client/GraphQLClient.js";
|
|
2
|
-
import { OasPluginConfig } from "./interfaces.js";
|
|
3
|
-
export declare const OpenApiRoute: ({ config, client, }: {
|
|
2
|
+
import { type OasPluginConfig } from "./interfaces.js";
|
|
3
|
+
export declare const OpenApiRoute: ({ basePath, versions, config, client, }: {
|
|
4
|
+
basePath: string;
|
|
5
|
+
versions: string[];
|
|
4
6
|
config: OasPluginConfig;
|
|
5
7
|
client: GraphQLClient;
|
|
6
8
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Outlet } from "react-router";
|
|
2
|
+
import { Outlet, useParams } from "react-router";
|
|
3
|
+
import { joinPath } from "../../util/joinPath.js";
|
|
3
4
|
import { GraphQLProvider } from "./client/GraphQLContext.js";
|
|
4
5
|
import { OasConfigProvider } from "./context.js";
|
|
5
|
-
export const OpenApiRoute = ({
|
|
6
|
+
export const OpenApiRoute = ({ basePath, versions, config, client, }) => {
|
|
7
|
+
const { version } = useParams();
|
|
8
|
+
const input = config.type === "file"
|
|
9
|
+
? {
|
|
10
|
+
type: config.type,
|
|
11
|
+
input: version
|
|
12
|
+
? config.input[version]
|
|
13
|
+
: Object.values(config.input).at(0),
|
|
14
|
+
}
|
|
15
|
+
: { type: config.type, input: config.input };
|
|
16
|
+
const currentVersion = version ?? versions.at(0);
|
|
17
|
+
if (!currentVersion) {
|
|
18
|
+
throw new Error("No version found");
|
|
19
|
+
}
|
|
20
|
+
return (_jsx(OasConfigProvider, { value: {
|
|
21
|
+
config: {
|
|
22
|
+
...config,
|
|
23
|
+
version: currentVersion,
|
|
24
|
+
versions: Object.fromEntries(versions.map((version) => [version, joinPath(basePath, version)])),
|
|
25
|
+
...input,
|
|
26
|
+
},
|
|
27
|
+
}, children: _jsx(GraphQLProvider, { client: client, children: _jsx(Outlet, {}) }) }));
|
|
28
|
+
};
|
|
6
29
|
//# sourceMappingURL=Route.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/Route.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../../../src/lib/plugins/openapi/Route.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,GAMP,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,EAAa,CAAC;IAE3C,MAAM,KAAK,GACT,MAAM,CAAC,IAAI,KAAK,MAAM;QACpB,CAAC,CAAC;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,OAAO;gBACZ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAE;gBACxB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE;SACvC;QACH,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IAEjD,MAAM,cAAc,GAAG,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjD,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,CACL,KAAC,iBAAiB,IAChB,KAAK,EAAE;YACL,MAAM,EAAE;gBACN,GAAG,MAAM;gBACT,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAClE;gBACD,GAAG,KAAK;aACT;SACF,YAED,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,YAC7B,KAAC,MAAM,KAAG,GACM,GACA,CACrB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OasPluginContext } from "./interfaces.js";
|
|
2
2
|
export declare const OasConfigProvider: import("react").Provider<{
|
|
3
|
-
config:
|
|
3
|
+
config: OasPluginContext;
|
|
4
4
|
} | undefined>;
|
|
5
|
-
export declare const useOasConfig: () =>
|
|
5
|
+
export declare const useOasConfig: () => OasPluginContext;
|