@motiadev/plugin-endpoint 0.7.2-beta.135-745094 → 0.7.2-beta.135-761859
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/components/configuration-list-item.d.ts +12 -0
- package/dist/components/configuration-list-item.d.ts.map +1 -0
- package/dist/components/configuration-list-item.js +36 -0
- package/dist/components/configuration-list-item.js.map +1 -0
- package/dist/components/endpoint-badge.d.ts +8 -0
- package/dist/components/endpoint-badge.d.ts.map +1 -0
- package/dist/components/endpoint-badge.js +29 -0
- package/dist/components/endpoint-badge.js.map +1 -0
- package/dist/components/endpoint-item.d.ts +11 -0
- package/dist/components/endpoint-item.d.ts.map +1 -0
- package/dist/components/endpoint-item.js +5 -0
- package/dist/components/endpoint-item.js.map +1 -0
- package/dist/components/endpoint-path-preview.d.ts +8 -0
- package/dist/components/endpoint-path-preview.d.ts.map +1 -0
- package/dist/components/endpoint-path-preview.js +22 -0
- package/dist/components/endpoint-path-preview.js.map +1 -0
- package/dist/components/endpoint-path.d.ts +8 -0
- package/dist/components/endpoint-path.d.ts.map +1 -0
- package/dist/components/endpoint-path.js +26 -0
- package/dist/components/endpoint-path.js.map +1 -0
- package/dist/components/endpoints-search.d.ts +8 -0
- package/dist/components/endpoints-search.d.ts.map +1 -0
- package/dist/components/endpoints-search.js +10 -0
- package/dist/components/endpoints-search.js.map +1 -0
- package/dist/components/flow-group.d.ts +15 -0
- package/dist/components/flow-group.d.ts.map +1 -0
- package/dist/components/flow-group.js +13 -0
- package/dist/components/flow-group.js.map +1 -0
- package/dist/{json-editor.d.ts → components/json-editor.d.ts} +0 -1
- package/dist/components/json-editor.d.ts.map +1 -0
- package/dist/components/json-editor.js +68 -0
- package/dist/components/json-editor.js.map +1 -0
- package/dist/endpoints-page.d.ts.map +1 -1
- package/dist/endpoints-page.js +24 -10
- package/dist/endpoints-page.js.map +1 -1
- package/dist/hooks/use-endpoint-configuration.d.ts +78 -0
- package/dist/hooks/use-endpoint-configuration.d.ts.map +1 -0
- package/dist/hooks/use-endpoint-configuration.js +130 -0
- package/dist/hooks/use-endpoint-configuration.js.map +1 -0
- package/dist/hooks/use-get-endpoints.d.ts +4 -1
- package/dist/hooks/use-get-endpoints.d.ts.map +1 -1
- package/dist/hooks/use-get-endpoints.js +15 -1
- package/dist/hooks/use-get-endpoints.js.map +1 -1
- package/dist/hooks/use-json-schema-to-json.d.ts.map +1 -1
- package/dist/hooks/use-json-schema-to-json.js.map +1 -1
- package/dist/hooks/use-path-url.d.ts +2 -0
- package/dist/hooks/use-path-url.d.ts.map +1 -0
- package/dist/hooks/use-path-url.js +15 -0
- package/dist/hooks/use-path-url.js.map +1 -0
- package/dist/play/reponse-code/utils.d.ts +2 -0
- package/dist/play/reponse-code/utils.d.ts.map +1 -0
- package/dist/play/reponse-code/utils.js +73 -0
- package/dist/play/reponse-code/utils.js.map +1 -0
- package/dist/play/response-code.d.ts +7 -0
- package/dist/play/response-code.d.ts.map +1 -0
- package/dist/play/response-code.js +11 -0
- package/dist/play/response-code.js.map +1 -0
- package/dist/play/side-panel-body-tab.d.ts +7 -0
- package/dist/play/side-panel-body-tab.d.ts.map +1 -0
- package/dist/play/side-panel-body-tab.js +24 -0
- package/dist/play/side-panel-body-tab.js.map +1 -0
- package/dist/play/side-panel-headers-tab.d.ts +2 -0
- package/dist/play/side-panel-headers-tab.d.ts.map +1 -0
- package/dist/play/side-panel-headers-tab.js +26 -0
- package/dist/play/side-panel-headers-tab.js.map +1 -0
- package/dist/play/side-panel-params-tab.d.ts +6 -0
- package/dist/play/side-panel-params-tab.d.ts.map +1 -0
- package/dist/play/side-panel-params-tab.js +39 -0
- package/dist/play/side-panel-params-tab.js.map +1 -0
- package/dist/play/side-panel-response.d.ts +2 -0
- package/dist/play/side-panel-response.d.ts.map +1 -0
- package/dist/play/side-panel-response.js +21 -0
- package/dist/play/side-panel-response.js.map +1 -0
- package/dist/play/side-panel.d.ts +9 -0
- package/dist/play/side-panel.d.ts.map +1 -0
- package/dist/play/side-panel.js +25 -0
- package/dist/play/side-panel.js.map +1 -0
- package/dist/play/trigger-button.d.ts +7 -0
- package/dist/play/trigger-button.d.ts.map +1 -0
- package/dist/play/trigger-button.js +40 -0
- package/dist/play/trigger-button.js.map +1 -0
- package/dist/{endpoint-body-panel.d.ts → spec/spec-body-panel.d.ts} +2 -4
- package/dist/spec/spec-body-panel.d.ts.map +1 -0
- package/dist/spec/spec-body-panel.js +13 -0
- package/dist/spec/spec-body-panel.js.map +1 -0
- package/dist/spec/spec-path-params-panel.d.ts +8 -0
- package/dist/spec/spec-path-params-panel.d.ts.map +1 -0
- package/dist/spec/spec-path-params-panel.js +11 -0
- package/dist/spec/spec-path-params-panel.js.map +1 -0
- package/dist/spec/spec-query-params-panel.d.ts +8 -0
- package/dist/spec/spec-query-params-panel.d.ts.map +1 -0
- package/dist/spec/spec-query-params-panel.js +10 -0
- package/dist/spec/spec-query-params-panel.js.map +1 -0
- package/dist/{endpoint-response-schema.d.ts → spec/spec-response-schema.d.ts} +1 -1
- package/dist/spec/spec-response-schema.d.ts.map +1 -0
- package/dist/{endpoint-response-schema.js → spec/spec-response-schema.js} +3 -4
- package/dist/spec/spec-response-schema.js.map +1 -0
- package/dist/spec/spec-side-panel.d.ts +9 -0
- package/dist/spec/spec-side-panel.d.ts.map +1 -0
- package/dist/spec/spec-side-panel.js +22 -0
- package/dist/spec/spec-side-panel.js.map +1 -0
- package/dist/styles.css +713 -74
- package/dist/types/endpoint.d.ts +1 -0
- package/dist/types/endpoint.d.ts.map +1 -1
- package/package.json +3 -4
- package/dist/endpoint-badge.d.ts +0 -11
- package/dist/endpoint-badge.d.ts.map +0 -1
- package/dist/endpoint-badge.js +0 -23
- package/dist/endpoint-badge.js.map +0 -1
- package/dist/endpoint-body-panel.d.ts.map +0 -1
- package/dist/endpoint-body-panel.js +0 -17
- package/dist/endpoint-body-panel.js.map +0 -1
- package/dist/endpoint-call.d.ts +0 -8
- package/dist/endpoint-call.d.ts.map +0 -1
- package/dist/endpoint-call.js +0 -59
- package/dist/endpoint-call.js.map +0 -1
- package/dist/endpoint-description.d.ts +0 -8
- package/dist/endpoint-description.d.ts.map +0 -1
- package/dist/endpoint-description.js +0 -14
- package/dist/endpoint-description.js.map +0 -1
- package/dist/endpoint-path-params-panel.d.ts +0 -9
- package/dist/endpoint-path-params-panel.d.ts.map +0 -1
- package/dist/endpoint-path-params-panel.js +0 -18
- package/dist/endpoint-path-params-panel.js.map +0 -1
- package/dist/endpoint-query-params-panel.d.ts +0 -9
- package/dist/endpoint-query-params-panel.d.ts.map +0 -1
- package/dist/endpoint-query-params-panel.js +0 -17
- package/dist/endpoint-query-params-panel.js.map +0 -1
- package/dist/endpoint-response-schema.d.ts.map +0 -1
- package/dist/endpoint-response-schema.js.map +0 -1
- package/dist/endpoint-response.d.ts +0 -9
- package/dist/endpoint-response.d.ts.map +0 -1
- package/dist/endpoint-response.js +0 -51
- package/dist/endpoint-response.js.map +0 -1
- package/dist/endpoint-side-panel.d.ts +0 -9
- package/dist/endpoint-side-panel.d.ts.map +0 -1
- package/dist/endpoint-side-panel.js +0 -26
- package/dist/endpoint-side-panel.js.map +0 -1
- package/dist/hooks/use-global-store.d.ts +0 -27
- package/dist/hooks/use-global-store.d.ts.map +0 -1
- package/dist/hooks/use-global-store.js +0 -21
- package/dist/hooks/use-global-store.js.map +0 -1
- package/dist/json-editor.d.ts.map +0 -1
- package/dist/json-editor.js +0 -36
- package/dist/json-editor.js.map +0 -1
- package/dist/response-body.d.ts +0 -8
- package/dist/response-body.d.ts.map +0 -1
- package/dist/response-body.js +0 -7
- package/dist/response-body.js.map +0 -1
- package/dist/stores/use-global-store.d.ts +0 -27
- package/dist/stores/use-global-store.d.ts.map +0 -1
- package/dist/stores/use-global-store.js +0 -21
- package/dist/stores/use-global-store.js.map +0 -1
- package/dist/stores/use-theme-store.d.ts +0 -19
- package/dist/stores/use-theme-store.d.ts.map +0 -1
- package/dist/stores/use-theme-store.js +0 -27
- package/dist/stores/use-theme-store.js.map +0 -1
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Button } from '@motiadev/ui';
|
|
3
|
+
import { Loader2, Play } from 'lucide-react';
|
|
4
|
+
import { memo, useState } from 'react';
|
|
5
|
+
import { useShallow } from 'zustand/react/shallow';
|
|
6
|
+
import { getBodySelector, getHeadersSelector, useEndpointConfiguration, } from '../hooks/use-endpoint-configuration';
|
|
7
|
+
import { usePathUrl } from '../hooks/use-path-url';
|
|
8
|
+
export const TriggerButton = memo(({ method, path }) => {
|
|
9
|
+
const { setResponse } = useEndpointConfiguration();
|
|
10
|
+
const headers = useEndpointConfiguration(useShallow(getHeadersSelector));
|
|
11
|
+
const body = useEndpointConfiguration(useShallow(getBodySelector));
|
|
12
|
+
const pathUrl = usePathUrl(path);
|
|
13
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
14
|
+
const onClick = async () => {
|
|
15
|
+
try {
|
|
16
|
+
setIsLoading(true);
|
|
17
|
+
const _headers = Object.values(headers)
|
|
18
|
+
.filter((header) => header.active && header.name !== '' && header.value !== '')
|
|
19
|
+
.reduce((acc, header) => {
|
|
20
|
+
acc[header.name.toLowerCase()] = header.value;
|
|
21
|
+
return acc;
|
|
22
|
+
}, {});
|
|
23
|
+
const startTime = Date.now();
|
|
24
|
+
const response = await fetch(pathUrl, {
|
|
25
|
+
method: method,
|
|
26
|
+
headers: _headers,
|
|
27
|
+
body: ['GET', 'DELETE', 'HEAD', 'OPTIONS'].includes(method) ? null : body,
|
|
28
|
+
});
|
|
29
|
+
setResponse(response, startTime);
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
console.error('Error triggering endpoint:', error);
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
setIsLoading(false);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return (_jsx(Button, { variant: "ghost", size: "icon", onClick: onClick, disabled: isLoading, "data-testid": "endpoint-play-button", children: isLoading ? _jsx(Loader2, { className: "animate-spin" }) : _jsx(Play, { className: "h-4 w-4" }) }));
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=trigger-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trigger-button.js","sourceRoot":"","sources":["../../src/play/trigger-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAEL,eAAe,EACf,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAOlD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAsB,EAAE,EAAE;IACzE,MAAM,EAAE,WAAW,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAClD,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAA;IACxE,MAAM,IAAI,GAAG,wBAAwB,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAA;IAClE,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAEhC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEjD,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;QACzB,IAAI,CAAC;YACH,YAAY,CAAC,IAAI,CAAC,CAAA;YAElB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;iBACpC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;iBAC9E,MAAM,CACL,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACd,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAA;gBAC7C,OAAO,GAAG,CAAA;YACZ,CAAC,EACD,EAA4B,CAC7B,CAAA;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YAC5B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;gBACpC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;aAC1E,CAAC,CAAA;YAEF,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;QACpD,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAA;QACrB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,iBAAc,sBAAsB,YAC1G,SAAS,CAAC,CAAC,CAAC,KAAC,OAAO,IAAC,SAAS,EAAC,cAAc,GAAG,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,GACzE,CACV,CAAA;AACH,CAAC,CAAC,CAAA"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import { ApiEndpoint } from './types/endpoint';
|
|
2
1
|
import { FC } from 'react';
|
|
3
2
|
import 'react18-json-view/src/dark.css';
|
|
4
3
|
import 'react18-json-view/src/style.css';
|
|
4
|
+
import { ApiEndpoint } from '../types/endpoint';
|
|
5
5
|
type Props = {
|
|
6
6
|
endpoint: ApiEndpoint;
|
|
7
7
|
value: string;
|
|
8
|
-
onChange?: (body: string) => void;
|
|
9
|
-
onValidate?: (isValid: boolean) => void;
|
|
10
8
|
panelName: string;
|
|
11
9
|
};
|
|
12
10
|
export declare const EndpointBodyPanel: FC<Props>;
|
|
13
11
|
export {};
|
|
14
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=spec-body-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-body-panel.d.ts","sourceRoot":"","sources":["../../src/spec/spec-body-panel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAE1B,OAAO,gCAAgC,CAAA;AACvC,OAAO,iCAAiC,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,WAAW,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,KAAK,CAiBvC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Panel } from '@motiadev/ui';
|
|
3
|
+
import ReactJson from 'react18-json-view';
|
|
4
|
+
import 'react18-json-view/src/dark.css';
|
|
5
|
+
import 'react18-json-view/src/style.css';
|
|
6
|
+
export const EndpointBodyPanel = ({ endpoint, panelName, value }) => {
|
|
7
|
+
const shouldHaveBody = ['post', 'put', 'patch'].includes(endpoint.method.toLowerCase());
|
|
8
|
+
if (!shouldHaveBody) {
|
|
9
|
+
return null;
|
|
10
|
+
}
|
|
11
|
+
return (_jsx(Panel, { title: "Body", size: "sm", contentClassName: "p-0", "data-testid": `endpoint-body-panel__${panelName}`, children: _jsx(ReactJson, { src: value ? JSON.parse(value) : {}, theme: "default", enableClipboard: false, style: { backgroundColor: 'transparent' } }) }));
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=spec-body-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-body-panel.js","sourceRoot":"","sources":["../../src/spec/spec-body-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,OAAO,SAAS,MAAM,mBAAmB,CAAA;AACzC,OAAO,gCAAgC,CAAA;AACvC,OAAO,iCAAiC,CAAA;AASxC,MAAM,CAAC,MAAM,iBAAiB,GAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7E,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IAEvF,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,iBAAc,wBAAwB,SAAS,EAAE,YACnG,KAAC,SAAS,IACR,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EACnC,KAAK,EAAC,SAAS,EACf,eAAe,EAAE,KAAK,EACtB,KAAK,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,GACzC,GACI,CACT,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-path-params-panel.d.ts","sourceRoot":"","sources":["../../src/spec/spec-path-params-panel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,WAAW,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,KAAK,CAkB7C,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Panel } from '@motiadev/ui';
|
|
3
|
+
import { usePathParams } from '../hooks/use-path-params';
|
|
4
|
+
export const EndpointPathParamsPanel = ({ endpoint }) => {
|
|
5
|
+
const pathParams = usePathParams(endpoint.path);
|
|
6
|
+
if (!pathParams.length) {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
return (_jsx(Panel, { title: "Path params", size: "sm", variant: "default", children: _jsx("div", { className: "grid gap-3", style: { gridTemplateColumns: '1fr 2fr' }, children: pathParams.map((param) => (_jsx("div", { className: "font-bold leading-[36px] flex text-xs", children: param }, param))) }) }));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=spec-path-params-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-path-params-panel.js","sourceRoot":"","sources":["../../src/spec/spec-path-params-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEpC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAOxD,MAAM,CAAC,MAAM,uBAAuB,GAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACjE,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAE/C,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IAAC,KAAK,EAAC,aAAa,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,YACpD,cAAK,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAE,YAClE,UAAU,CAAC,GAAG,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,CACjC,cAAiB,SAAS,EAAC,uCAAuC,YAC/D,KAAK,IADE,KAAK,CAET,CACP,CAAC,GACE,GACA,CACT,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-query-params-panel.d.ts","sourceRoot":"","sources":["../../src/spec/spec-query-params-panel.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAY,MAAM,OAAO,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,WAAW,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,KAAK,CAmB9C,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Panel } from '@motiadev/ui';
|
|
3
|
+
import { Fragment } from 'react';
|
|
4
|
+
export const EndpointQueryParamsPanel = ({ endpoint }) => {
|
|
5
|
+
if (!endpoint.queryParams?.length) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
return (_jsx(Panel, { title: "Query params", size: "sm", variant: "outlined", children: _jsx("div", { className: "grid gap-3", style: { gridTemplateColumns: '1fr 2fr', gridTemplateRows: '1fr 1fr' }, children: endpoint.queryParams.map((param) => (_jsxs(Fragment, { children: [_jsx("div", { className: "font-bold leading-[36px] flex text-xs", children: param.name }), _jsx("div", { className: "flex items-center text-xs ", children: _jsx("span", { children: param.description }) })] }, param.name))) }) }));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=spec-query-params-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-query-params-panel.js","sourceRoot":"","sources":["../../src/spec/spec-query-params-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAA;AAOpC,MAAM,CAAC,MAAM,wBAAwB,GAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClE,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,KAAC,KAAK,IAAC,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAC,UAAU,YACtD,cAAK,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAC/F,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAA4C,EAAE,EAAE,CAAC,CAC1E,MAAC,QAAQ,eACP,cAAK,SAAS,EAAC,uCAAuC,YAAE,KAAK,CAAC,IAAI,GAAO,EACzE,cAAK,SAAS,EAAC,4BAA4B,YACzC,yBAAO,KAAK,CAAC,WAAW,GAAQ,GAC5B,KAJO,KAAK,CAAC,IAAI,CAKd,CACZ,CAAC,GACE,GACA,CACT,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-response-schema.d.ts","sourceRoot":"","sources":["../../src/spec/spec-response-schema.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAA;AAInC,MAAM,MAAM,oBAAoB,GAAG;IACjC,YAAY,EAAE,MAAM,CAAA;IAEpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAA;CAChD,CAAA;AAED,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,oBAAoB,EAAE,CAAA;CAC9B,CAAA;AAoBD,eAAO,MAAM,sBAAsB,EAAE,EAAE,CAAC,qBAAqB,CA4B5D,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import { useThemeStore } from './stores/use-theme-store';
|
|
4
|
-
import { Tabs, TabsContent, TabsList, TabsTrigger } from '@motiadev/ui';
|
|
2
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger, useThemeStore } from '@motiadev/ui';
|
|
5
3
|
import { useMemo } from 'react';
|
|
6
4
|
import ReactJson from 'react18-json-view';
|
|
5
|
+
import { convertJsonSchemaToJson } from '../hooks/utils';
|
|
7
6
|
const EndpointResponseSchemaItem = ({ responseCode, bodySchema }) => {
|
|
8
7
|
const theme = useThemeStore((store) => store.theme);
|
|
9
8
|
const schema = useMemo(() => convertJsonSchemaToJson(bodySchema), [bodySchema]);
|
|
@@ -15,4 +14,4 @@ export const EndpointResponseSchema = ({ items }) => {
|
|
|
15
14
|
}
|
|
16
15
|
return (_jsx("div", { className: "flex flex-col rounded-lg border", children: _jsxs(Tabs, { defaultValue: items[0].responseCode, children: [_jsx("div", { className: "flex items-center justify-between bg-card", children: _jsx(TabsList, { className: "bg-transparent p-0", children: items.map((item) => (_jsx(TabsTrigger, { value: item.responseCode, className: "text-xs font-bold cursor-pointer", children: item.responseCode }, item.responseCode))) }) }), items.map((props) => (_jsx(EndpointResponseSchemaItem, { ...props }, props.responseCode)))] }) }));
|
|
17
16
|
};
|
|
18
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=spec-response-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-response-schema.js","sourceRoot":"","sources":["../../src/spec/spec-response-schema.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACtF,OAAO,EAAM,OAAO,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,SAAS,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAYxD,MAAM,0BAA0B,GAA6B,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,EAAE;IAC5F,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,KAAwB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACtE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAE/E,OAAO,CACL,KAAC,WAAW,IAAC,KAAK,EAAE,YAAY,EAAqB,SAAS,EAAC,UAAU,YACvE,cAAK,SAAS,EAAC,kDAAkD,YAC/D,KAAC,SAAS,IACR,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,KAAK,KAAK,MAAM,EACtB,eAAe,EAAE,KAAK,EACtB,KAAK,EAAE,EAAE,eAAe,EAAE,aAAa,EAAE,GACzC,GACE,IAR+B,YAAY,CASrC,CACf,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAA8B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAC,iCAAiC,YAC9C,MAAC,IAAI,IAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,aACvC,cAAK,SAAS,EAAC,2CAA2C,YACxD,KAAC,QAAQ,IAAC,SAAS,EAAC,oBAAoB,YACrC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,WAAW,IACV,KAAK,EAAE,IAAI,CAAC,YAAY,EAExB,SAAS,EAAC,kCAAkC,YAE3C,IAAI,CAAC,YAAY,IAHb,IAAI,CAAC,YAAY,CAIV,CACf,CAAC,GACO,GACP,EAEL,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACpB,KAAC,0BAA0B,OAA8B,KAAK,IAA7B,KAAK,CAAC,YAAY,CAAe,CACnE,CAAC,IACG,GACH,CACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-side-panel.d.ts","sourceRoot":"","sources":["../../src/spec/spec-side-panel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAM/C,KAAK,KAAK,GAAG;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAA;AAE3D,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,KAAK,CA2BnC,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Sidebar } from '@motiadev/ui';
|
|
3
|
+
import { X } from 'lucide-react';
|
|
4
|
+
import { EndpointPath } from '../components/endpoint-path';
|
|
5
|
+
import { useJsonSchemaToJson } from '../hooks/use-json-schema-to-json';
|
|
6
|
+
import { EndpointBodyPanel } from './spec-body-panel';
|
|
7
|
+
import { EndpointPathParamsPanel } from './spec-path-params-panel';
|
|
8
|
+
import { EndpointQueryParamsPanel } from './spec-query-params-panel';
|
|
9
|
+
import { EndpointResponseSchema } from './spec-response-schema';
|
|
10
|
+
export const SpecSidePanel = ({ endpoint, onClose }) => {
|
|
11
|
+
const { body } = useJsonSchemaToJson(endpoint.bodySchema);
|
|
12
|
+
return (_jsxs(Sidebar, { initialWidth: 600, subtitle: endpoint.description, title: _jsx(EndpointPath, { method: endpoint.method, path: endpoint.path }), onClose: onClose, actions: [
|
|
13
|
+
{
|
|
14
|
+
icon: _jsx(X, { className: "cursor-pointer w-4 h-4", onClick: onClose }),
|
|
15
|
+
onClick: onClose,
|
|
16
|
+
},
|
|
17
|
+
], children: [_jsx(EndpointPathParamsPanel, { endpoint: endpoint }), _jsx(EndpointQueryParamsPanel, { endpoint: endpoint }), _jsx(EndpointBodyPanel, { endpoint: endpoint, panelName: "details", value: body }), _jsx(EndpointResponseSchema, { items: Object.entries(endpoint?.responseSchema ?? {}).map(([status, schema]) => ({
|
|
18
|
+
responseCode: status,
|
|
19
|
+
bodySchema: schema,
|
|
20
|
+
})) })] }));
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=spec-side-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-side-panel.js","sourceRoot":"","sources":["../../src/spec/spec-side-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAI/D,MAAM,CAAC,MAAM,aAAa,GAAc,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAChE,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAEzD,OAAO,CACL,MAAC,OAAO,IACN,YAAY,EAAE,GAAG,EACjB,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAC9B,KAAK,EAAE,KAAC,YAAY,IAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAI,EACrE,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,KAAC,CAAC,IAAC,SAAS,EAAC,wBAAwB,EAAC,OAAO,EAAE,OAAO,GAAI;gBAChE,OAAO,EAAE,OAAO;aACjB;SACF,aAED,KAAC,uBAAuB,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAC/C,KAAC,wBAAwB,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAChD,KAAC,iBAAiB,IAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAC,SAAS,EAAC,KAAK,EAAE,IAAI,GAAI,EAC1E,KAAC,sBAAsB,IACrB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/E,YAAY,EAAE,MAAM;oBACpB,UAAU,EAAE,MAAM;iBACnB,CAAC,CAAC,GACH,IACM,CACX,CAAA;AACH,CAAC,CAAA"}
|