@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.
Files changed (157) hide show
  1. package/dist/components/configuration-list-item.d.ts +12 -0
  2. package/dist/components/configuration-list-item.d.ts.map +1 -0
  3. package/dist/components/configuration-list-item.js +36 -0
  4. package/dist/components/configuration-list-item.js.map +1 -0
  5. package/dist/components/endpoint-badge.d.ts +8 -0
  6. package/dist/components/endpoint-badge.d.ts.map +1 -0
  7. package/dist/components/endpoint-badge.js +29 -0
  8. package/dist/components/endpoint-badge.js.map +1 -0
  9. package/dist/components/endpoint-item.d.ts +11 -0
  10. package/dist/components/endpoint-item.d.ts.map +1 -0
  11. package/dist/components/endpoint-item.js +5 -0
  12. package/dist/components/endpoint-item.js.map +1 -0
  13. package/dist/components/endpoint-path-preview.d.ts +8 -0
  14. package/dist/components/endpoint-path-preview.d.ts.map +1 -0
  15. package/dist/components/endpoint-path-preview.js +22 -0
  16. package/dist/components/endpoint-path-preview.js.map +1 -0
  17. package/dist/components/endpoint-path.d.ts +8 -0
  18. package/dist/components/endpoint-path.d.ts.map +1 -0
  19. package/dist/components/endpoint-path.js +26 -0
  20. package/dist/components/endpoint-path.js.map +1 -0
  21. package/dist/components/endpoints-search.d.ts +8 -0
  22. package/dist/components/endpoints-search.d.ts.map +1 -0
  23. package/dist/components/endpoints-search.js +10 -0
  24. package/dist/components/endpoints-search.js.map +1 -0
  25. package/dist/components/flow-group.d.ts +15 -0
  26. package/dist/components/flow-group.d.ts.map +1 -0
  27. package/dist/components/flow-group.js +13 -0
  28. package/dist/components/flow-group.js.map +1 -0
  29. package/dist/{json-editor.d.ts → components/json-editor.d.ts} +0 -1
  30. package/dist/components/json-editor.d.ts.map +1 -0
  31. package/dist/components/json-editor.js +68 -0
  32. package/dist/components/json-editor.js.map +1 -0
  33. package/dist/endpoints-page.d.ts.map +1 -1
  34. package/dist/endpoints-page.js +24 -10
  35. package/dist/endpoints-page.js.map +1 -1
  36. package/dist/hooks/use-endpoint-configuration.d.ts +78 -0
  37. package/dist/hooks/use-endpoint-configuration.d.ts.map +1 -0
  38. package/dist/hooks/use-endpoint-configuration.js +130 -0
  39. package/dist/hooks/use-endpoint-configuration.js.map +1 -0
  40. package/dist/hooks/use-get-endpoints.d.ts +4 -1
  41. package/dist/hooks/use-get-endpoints.d.ts.map +1 -1
  42. package/dist/hooks/use-get-endpoints.js +15 -1
  43. package/dist/hooks/use-get-endpoints.js.map +1 -1
  44. package/dist/hooks/use-json-schema-to-json.d.ts.map +1 -1
  45. package/dist/hooks/use-json-schema-to-json.js.map +1 -1
  46. package/dist/hooks/use-path-url.d.ts +2 -0
  47. package/dist/hooks/use-path-url.d.ts.map +1 -0
  48. package/dist/hooks/use-path-url.js +15 -0
  49. package/dist/hooks/use-path-url.js.map +1 -0
  50. package/dist/play/reponse-code/utils.d.ts +2 -0
  51. package/dist/play/reponse-code/utils.d.ts.map +1 -0
  52. package/dist/play/reponse-code/utils.js +73 -0
  53. package/dist/play/reponse-code/utils.js.map +1 -0
  54. package/dist/play/response-code.d.ts +7 -0
  55. package/dist/play/response-code.d.ts.map +1 -0
  56. package/dist/play/response-code.js +11 -0
  57. package/dist/play/response-code.js.map +1 -0
  58. package/dist/play/side-panel-body-tab.d.ts +7 -0
  59. package/dist/play/side-panel-body-tab.d.ts.map +1 -0
  60. package/dist/play/side-panel-body-tab.js +24 -0
  61. package/dist/play/side-panel-body-tab.js.map +1 -0
  62. package/dist/play/side-panel-headers-tab.d.ts +2 -0
  63. package/dist/play/side-panel-headers-tab.d.ts.map +1 -0
  64. package/dist/play/side-panel-headers-tab.js +26 -0
  65. package/dist/play/side-panel-headers-tab.js.map +1 -0
  66. package/dist/play/side-panel-params-tab.d.ts +6 -0
  67. package/dist/play/side-panel-params-tab.d.ts.map +1 -0
  68. package/dist/play/side-panel-params-tab.js +39 -0
  69. package/dist/play/side-panel-params-tab.js.map +1 -0
  70. package/dist/play/side-panel-response.d.ts +2 -0
  71. package/dist/play/side-panel-response.d.ts.map +1 -0
  72. package/dist/play/side-panel-response.js +21 -0
  73. package/dist/play/side-panel-response.js.map +1 -0
  74. package/dist/play/side-panel.d.ts +9 -0
  75. package/dist/play/side-panel.d.ts.map +1 -0
  76. package/dist/play/side-panel.js +25 -0
  77. package/dist/play/side-panel.js.map +1 -0
  78. package/dist/play/trigger-button.d.ts +7 -0
  79. package/dist/play/trigger-button.d.ts.map +1 -0
  80. package/dist/play/trigger-button.js +40 -0
  81. package/dist/play/trigger-button.js.map +1 -0
  82. package/dist/{endpoint-body-panel.d.ts → spec/spec-body-panel.d.ts} +2 -4
  83. package/dist/spec/spec-body-panel.d.ts.map +1 -0
  84. package/dist/spec/spec-body-panel.js +13 -0
  85. package/dist/spec/spec-body-panel.js.map +1 -0
  86. package/dist/spec/spec-path-params-panel.d.ts +8 -0
  87. package/dist/spec/spec-path-params-panel.d.ts.map +1 -0
  88. package/dist/spec/spec-path-params-panel.js +11 -0
  89. package/dist/spec/spec-path-params-panel.js.map +1 -0
  90. package/dist/spec/spec-query-params-panel.d.ts +8 -0
  91. package/dist/spec/spec-query-params-panel.d.ts.map +1 -0
  92. package/dist/spec/spec-query-params-panel.js +10 -0
  93. package/dist/spec/spec-query-params-panel.js.map +1 -0
  94. package/dist/{endpoint-response-schema.d.ts → spec/spec-response-schema.d.ts} +1 -1
  95. package/dist/spec/spec-response-schema.d.ts.map +1 -0
  96. package/dist/{endpoint-response-schema.js → spec/spec-response-schema.js} +3 -4
  97. package/dist/spec/spec-response-schema.js.map +1 -0
  98. package/dist/spec/spec-side-panel.d.ts +9 -0
  99. package/dist/spec/spec-side-panel.d.ts.map +1 -0
  100. package/dist/spec/spec-side-panel.js +22 -0
  101. package/dist/spec/spec-side-panel.js.map +1 -0
  102. package/dist/styles.css +713 -74
  103. package/dist/types/endpoint.d.ts +1 -0
  104. package/dist/types/endpoint.d.ts.map +1 -1
  105. package/package.json +3 -4
  106. package/dist/endpoint-badge.d.ts +0 -11
  107. package/dist/endpoint-badge.d.ts.map +0 -1
  108. package/dist/endpoint-badge.js +0 -23
  109. package/dist/endpoint-badge.js.map +0 -1
  110. package/dist/endpoint-body-panel.d.ts.map +0 -1
  111. package/dist/endpoint-body-panel.js +0 -17
  112. package/dist/endpoint-body-panel.js.map +0 -1
  113. package/dist/endpoint-call.d.ts +0 -8
  114. package/dist/endpoint-call.d.ts.map +0 -1
  115. package/dist/endpoint-call.js +0 -59
  116. package/dist/endpoint-call.js.map +0 -1
  117. package/dist/endpoint-description.d.ts +0 -8
  118. package/dist/endpoint-description.d.ts.map +0 -1
  119. package/dist/endpoint-description.js +0 -14
  120. package/dist/endpoint-description.js.map +0 -1
  121. package/dist/endpoint-path-params-panel.d.ts +0 -9
  122. package/dist/endpoint-path-params-panel.d.ts.map +0 -1
  123. package/dist/endpoint-path-params-panel.js +0 -18
  124. package/dist/endpoint-path-params-panel.js.map +0 -1
  125. package/dist/endpoint-query-params-panel.d.ts +0 -9
  126. package/dist/endpoint-query-params-panel.d.ts.map +0 -1
  127. package/dist/endpoint-query-params-panel.js +0 -17
  128. package/dist/endpoint-query-params-panel.js.map +0 -1
  129. package/dist/endpoint-response-schema.d.ts.map +0 -1
  130. package/dist/endpoint-response-schema.js.map +0 -1
  131. package/dist/endpoint-response.d.ts +0 -9
  132. package/dist/endpoint-response.d.ts.map +0 -1
  133. package/dist/endpoint-response.js +0 -51
  134. package/dist/endpoint-response.js.map +0 -1
  135. package/dist/endpoint-side-panel.d.ts +0 -9
  136. package/dist/endpoint-side-panel.d.ts.map +0 -1
  137. package/dist/endpoint-side-panel.js +0 -26
  138. package/dist/endpoint-side-panel.js.map +0 -1
  139. package/dist/hooks/use-global-store.d.ts +0 -27
  140. package/dist/hooks/use-global-store.d.ts.map +0 -1
  141. package/dist/hooks/use-global-store.js +0 -21
  142. package/dist/hooks/use-global-store.js.map +0 -1
  143. package/dist/json-editor.d.ts.map +0 -1
  144. package/dist/json-editor.js +0 -36
  145. package/dist/json-editor.js.map +0 -1
  146. package/dist/response-body.d.ts +0 -8
  147. package/dist/response-body.d.ts.map +0 -1
  148. package/dist/response-body.js +0 -7
  149. package/dist/response-body.js.map +0 -1
  150. package/dist/stores/use-global-store.d.ts +0 -27
  151. package/dist/stores/use-global-store.d.ts.map +0 -1
  152. package/dist/stores/use-global-store.js +0 -21
  153. package/dist/stores/use-global-store.js.map +0 -1
  154. package/dist/stores/use-theme-store.d.ts +0 -19
  155. package/dist/stores/use-theme-store.d.ts.map +0 -1
  156. package/dist/stores/use-theme-store.js +0 -27
  157. package/dist/stores/use-theme-store.js.map +0 -1
@@ -0,0 +1,130 @@
1
+ import { create } from 'zustand';
2
+ import { createJSONStorage, devtools, persist } from 'zustand/middleware';
3
+ const defaultHeaders = {
4
+ CONTENT_TYPE: { name: 'Content-Type', value: 'application/json', active: true },
5
+ USER_AGENT: { name: 'User-Agent', value: 'Motia/1.0', active: true },
6
+ ACCEPT: { name: 'Accept', value: 'application/json', active: true },
7
+ };
8
+ export const getHeadersSelector = (state) => {
9
+ const selectedEndpointId = state.selectedEndpointId;
10
+ if (selectedEndpointId) {
11
+ return state.headers[selectedEndpointId] || defaultHeaders;
12
+ }
13
+ return defaultHeaders;
14
+ };
15
+ export const getBodyIsValidSelector = (state) => {
16
+ const selectedEndpointId = state.selectedEndpointId;
17
+ if (selectedEndpointId) {
18
+ return state.bodyIsValid[selectedEndpointId];
19
+ }
20
+ return true;
21
+ };
22
+ export const getBodySelector = (state) => {
23
+ const selectedEndpointId = state.selectedEndpointId;
24
+ if (selectedEndpointId) {
25
+ return state.body[selectedEndpointId] || '';
26
+ }
27
+ return '';
28
+ };
29
+ export const getResponseSelector = (state) => {
30
+ const selectedEndpointId = state.selectedEndpointId;
31
+ if (selectedEndpointId) {
32
+ return state.response[selectedEndpointId] || undefined;
33
+ }
34
+ return undefined;
35
+ };
36
+ export const getQueryParamsSelector = (state) => {
37
+ const selectedEndpointId = state.selectedEndpointId;
38
+ if (selectedEndpointId) {
39
+ return state.queryParams[selectedEndpointId] || {};
40
+ }
41
+ return {};
42
+ };
43
+ export const getPathParamsSelector = (state) => {
44
+ const selectedEndpointId = state.selectedEndpointId;
45
+ if (selectedEndpointId) {
46
+ return state.pathParams[selectedEndpointId] || {};
47
+ }
48
+ return {};
49
+ };
50
+ export const useEndpointConfiguration = create()(persist(devtools((set) => ({
51
+ selectedEndpointId: '',
52
+ headers: {},
53
+ body: {},
54
+ bodyIsValid: {},
55
+ response: {},
56
+ queryParams: {},
57
+ pathParams: {},
58
+ flowGroupStatus: {},
59
+ toggleFlowGroupStatus: (flow) => set((state) => ({ flowGroupStatus: { ...state.flowGroupStatus, [flow]: !state.flowGroupStatus[flow] } })),
60
+ setSelectedEndpointId: (selectedEndpointId) => set({ selectedEndpointId }),
61
+ setQueryParams: (queryParams) => set((state) => ({ queryParams: { ...state.queryParams, [state.selectedEndpointId]: queryParams } })),
62
+ removeQueryParams: (key) => set((state) => {
63
+ const newQueryParams = { ...state.queryParams[state.selectedEndpointId] };
64
+ delete newQueryParams[key];
65
+ return {
66
+ queryParams: {
67
+ ...state.queryParams,
68
+ [state.selectedEndpointId]: newQueryParams,
69
+ },
70
+ };
71
+ }),
72
+ setPathParams: (pathParams) => set((state) => ({ pathParams: { ...state.pathParams, [state.selectedEndpointId]: pathParams } })),
73
+ removePathParams: (key) => set((state) => {
74
+ const newPathParams = { ...state.pathParams[state.selectedEndpointId] };
75
+ delete newPathParams[key];
76
+ return {
77
+ pathParams: {
78
+ ...state.pathParams,
79
+ [state.selectedEndpointId]: newPathParams,
80
+ },
81
+ };
82
+ }),
83
+ setHeaders: (headers) => set((state) => ({ headers: { ...state.headers, [state.selectedEndpointId]: headers } })),
84
+ setResponse: async (response, startTime) => {
85
+ if (!response) {
86
+ set((state) => ({
87
+ response: {
88
+ ...state.response,
89
+ [state.selectedEndpointId]: undefined,
90
+ },
91
+ }));
92
+ return;
93
+ }
94
+ let body = undefined;
95
+ try {
96
+ body = response ? await response.json() : undefined;
97
+ }
98
+ catch (error) {
99
+ console.error('Error setting response:', error);
100
+ }
101
+ set((state) => ({
102
+ response: {
103
+ ...state.response,
104
+ [state.selectedEndpointId]: {
105
+ executionTime: Date.now() - startTime,
106
+ statusCode: response?.status,
107
+ headers: response?.headers ? Object.fromEntries(response.headers.entries()) : {},
108
+ body: body,
109
+ },
110
+ },
111
+ }));
112
+ },
113
+ setBody: (body) => set((state) => ({ body: { ...state.body, [state.selectedEndpointId]: body } })),
114
+ removeHeaders: (key) => set((state) => {
115
+ const currentHeaders = state.headers[state.selectedEndpointId] || defaultHeaders;
116
+ const newHeaders = { ...currentHeaders };
117
+ delete newHeaders[key];
118
+ return {
119
+ headers: {
120
+ ...state.headers,
121
+ [state.selectedEndpointId]: newHeaders,
122
+ },
123
+ };
124
+ }),
125
+ setBodyIsValid: (bodyIsValid) => set((state) => ({ bodyIsValid: { ...state.bodyIsValid, [state.selectedEndpointId]: bodyIsValid } })),
126
+ })), {
127
+ name: 'motia-endpoint-configuration',
128
+ storage: createJSONStorage(() => localStorage),
129
+ }));
130
+ //# sourceMappingURL=use-endpoint-configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-endpoint-configuration.js","sourceRoot":"","sources":["../../src/hooks/use-endpoint-configuration.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
1
  import { ApiEndpoint } from '../types/endpoint';
2
- export declare const useGetEndpoints: () => ApiEndpoint[];
2
+ export declare const useGetEndpoints: () => {
3
+ endpoints: ApiEndpoint[];
4
+ groupedEndpoints: Record<string, ApiEndpoint[]>;
5
+ };
3
6
  //# sourceMappingURL=use-get-endpoints.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-endpoints.d.ts","sourceRoot":"","sources":["../../src/hooks/use-get-endpoints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,eAAO,MAAM,eAAe,qBAO3B,CAAA"}
1
+ {"version":3,"file":"use-get-endpoints.d.ts","sourceRoot":"","sources":["../../src/hooks/use-get-endpoints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,eAAO,MAAM,eAAe;;;CAyB3B,CAAA"}
@@ -1,9 +1,23 @@
1
1
  import { useStreamGroup } from '@motiadev/stream-client-react';
2
+ import { useMemo } from 'react';
2
3
  export const useGetEndpoints = () => {
3
4
  const { data: endpoints } = useStreamGroup({
4
5
  streamName: '__motia.api-endpoints',
5
6
  groupId: 'default',
6
7
  });
7
- return endpoints;
8
+ const groupedEndpoints = useMemo(() => {
9
+ return endpoints.reduce((acc, endpoint) => {
10
+ endpoint.flows?.forEach((flow) => {
11
+ acc[flow] = acc[flow] || [];
12
+ acc[flow].push(endpoint);
13
+ });
14
+ if (endpoint.flows?.length == 0) {
15
+ acc['no-flow'] = acc['no-flow'] || [];
16
+ acc['no-flow'].push(endpoint);
17
+ }
18
+ return acc;
19
+ }, {});
20
+ }, [endpoints]);
21
+ return { endpoints, groupedEndpoints };
8
22
  };
9
23
  //# sourceMappingURL=use-get-endpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-endpoints.js","sourceRoot":"","sources":["../../src/hooks/use-get-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAG9D,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,cAAc,CAAc;QACtD,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,SAAS;KACnB,CAAC,CAAA;IAEF,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
1
+ {"version":3,"file":"use-get-endpoints.js","sourceRoot":"","sources":["../../src/hooks/use-get-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,cAAc,CAAc;QACtD,UAAU,EAAE,uBAAuB;QACnC,OAAO,EAAE,SAAS;KACnB,CAAC,CAAA;IAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YAChB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;gBAC3B,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;YAEF,IAAI,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;gBACrC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC/B,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC,EACD,EAAmC,CACpC,CAAA;IACH,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEf,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAA;AACxC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-json-schema-to-json.d.ts","sourceRoot":"","sources":["../../src/hooks/use-json-schema-to-json.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;;;CAU1E,CAAA"}
1
+ {"version":3,"file":"use-json-schema-to-json.d.ts","sourceRoot":"","sources":["../../src/hooks/use-json-schema-to-json.tsx"],"names":[],"mappings":"AAGA,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS;;;CAU1E,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-json-schema-to-json.js","sourceRoot":"","sources":["../../src/hooks/use-json-schema-to-json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAuC,EAAE,EAAE;IAC7E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAA;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC,CAAA"}
1
+ {"version":3,"file":"use-json-schema-to-json.js","sourceRoot":"","sources":["../../src/hooks/use-json-schema-to-json.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAuC,EAAE,EAAE;IAC7E,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAA;IAE5C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACnE,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AAC1B,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const usePathUrl: (path: string) => string;
2
+ //# sourceMappingURL=use-path-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-path-url.d.ts","sourceRoot":"","sources":["../../src/hooks/use-path-url.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,WAYtC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { useMemo } from 'react';
2
+ import { getPathParamsSelector, getQueryParamsSelector, useEndpointConfiguration, } from './use-endpoint-configuration';
3
+ import { useShallow } from 'zustand/react/shallow';
4
+ const queryParamsSelector = (state) => Object.values(getQueryParamsSelector(state)).filter((param) => param.active && param.value !== '' && param.name !== '');
5
+ export const usePathUrl = (path) => {
6
+ const pathParams = useEndpointConfiguration(useShallow(getPathParamsSelector));
7
+ const queryParams = useEndpointConfiguration(useShallow(queryParamsSelector));
8
+ return useMemo(() => {
9
+ const url = path.replace(/:(\w+)/g, (match, p1) => {
10
+ return pathParams[p1]?.value || match;
11
+ });
12
+ return (url + (queryParams.length > 0 ? `?${queryParams.map((param) => `${param.name}=${param.value}`).join('&')}` : ''));
13
+ }, [path, pathParams, queryParams]);
14
+ };
15
+ //# sourceMappingURL=use-path-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-path-url.js","sourceRoot":"","sources":["../../src/hooks/use-path-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EAEtB,wBAAwB,GACzB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAElD,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAE,EAAE,CAC9D,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CACjD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,CACnE,CAAA;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,MAAM,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAA;IAC9E,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAE7E,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAChD,OAAO,UAAU,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,KAAK,CAAA;QACvC,CAAC,CAAC,CAAA;QACF,OAAO,CACL,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACjH,CAAA;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;AACrC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getStatusMessage: (statusCode: number) => string;
2
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/play/reponse-code/utils.ts"],"names":[],"mappings":"AA0EA,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,WAElD,CAAA"}
@@ -0,0 +1,73 @@
1
+ const statusMessages = {
2
+ // 1xx Informational
3
+ 100: 'Continue',
4
+ 101: 'Switching Protocols',
5
+ 102: 'Processing',
6
+ 103: 'Early Hints',
7
+ // 2xx Success
8
+ 200: 'OK',
9
+ 201: 'Created',
10
+ 202: 'Accepted',
11
+ 203: 'Non-Authoritative Information',
12
+ 204: 'No Content',
13
+ 205: 'Reset Content',
14
+ 206: 'Partial Content',
15
+ 207: 'Multi-Status',
16
+ 208: 'Already Reported',
17
+ 226: 'IM Used',
18
+ // 3xx Redirection
19
+ 300: 'Multiple Choices',
20
+ 301: 'Moved Permanently',
21
+ 302: 'Found',
22
+ 303: 'See Other',
23
+ 304: 'Not Modified',
24
+ 305: 'Use Proxy',
25
+ 307: 'Temporary Redirect',
26
+ 308: 'Permanent Redirect',
27
+ // 4xx Client Error
28
+ 400: 'Bad Request',
29
+ 401: 'Unauthorized',
30
+ 402: 'Payment Required',
31
+ 403: 'Forbidden',
32
+ 404: 'Not Found',
33
+ 405: 'Method Not Allowed',
34
+ 406: 'Not Acceptable',
35
+ 407: 'Proxy Authentication Required',
36
+ 408: 'Request Timeout',
37
+ 409: 'Conflict',
38
+ 410: 'Gone',
39
+ 411: 'Length Required',
40
+ 412: 'Precondition Failed',
41
+ 413: 'Payload Too Large',
42
+ 414: 'URI Too Long',
43
+ 415: 'Unsupported Media Type',
44
+ 416: 'Range Not Satisfiable',
45
+ 417: 'Expectation Failed',
46
+ 418: "I'm a teapot",
47
+ 421: 'Misdirected Request',
48
+ 422: 'Unprocessable Entity',
49
+ 423: 'Locked',
50
+ 424: 'Failed Dependency',
51
+ 425: 'Too Early',
52
+ 426: 'Upgrade Required',
53
+ 428: 'Precondition Required',
54
+ 429: 'Too Many Requests',
55
+ 431: 'Request Header Fields Too Large',
56
+ 451: 'Unavailable For Legal Reasons',
57
+ // 5xx Server Error
58
+ 500: 'Internal Server Error',
59
+ 501: 'Not Implemented',
60
+ 502: 'Bad Gateway',
61
+ 503: 'Service Unavailable',
62
+ 504: 'Gateway Timeout',
63
+ 505: 'HTTP Version Not Supported',
64
+ 506: 'Variant Also Negotiates',
65
+ 507: 'Insufficient Storage',
66
+ 508: 'Loop Detected',
67
+ 510: 'Not Extended',
68
+ 511: 'Network Authentication Required',
69
+ };
70
+ export const getStatusMessage = (statusCode) => {
71
+ return statusMessages[statusCode] || 'Unknown';
72
+ };
73
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/play/reponse-code/utils.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAA2B;IAC7C,oBAAoB;IACpB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,aAAa;IAElB,cAAc;IACd,GAAG,EAAE,IAAI;IACT,GAAG,EAAE,SAAS;IACd,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,+BAA+B;IACpC,GAAG,EAAE,YAAY;IACjB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,SAAS;IAEd,kBAAkB;IAClB,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,oBAAoB;IAEzB,mBAAmB;IACnB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,gBAAgB;IACrB,GAAG,EAAE,+BAA+B;IACpC,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,UAAU;IACf,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,wBAAwB;IAC7B,GAAG,EAAE,uBAAuB;IAC5B,GAAG,EAAE,oBAAoB;IACzB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,sBAAsB;IAC3B,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,kBAAkB;IACvB,GAAG,EAAE,uBAAuB;IAC5B,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,iCAAiC;IACtC,GAAG,EAAE,+BAA+B;IAEpC,mBAAmB;IACnB,GAAG,EAAE,uBAAuB;IAC5B,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,qBAAqB;IAC1B,GAAG,EAAE,iBAAiB;IACtB,GAAG,EAAE,4BAA4B;IACjC,GAAG,EAAE,yBAAyB;IAC9B,GAAG,EAAE,sBAAsB;IAC3B,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,cAAc;IACnB,GAAG,EAAE,iCAAiC;CACvC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAAkB,EAAE,EAAE;IACrD,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,SAAS,CAAA;AAChD,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ type ResponseCodeProps = {
3
+ statusCode: number;
4
+ };
5
+ export declare const ResponseCode: FC<ResponseCodeProps>;
6
+ export {};
7
+ //# sourceMappingURL=response-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-code.d.ts","sourceRoot":"","sources":["../../src/play/response-code.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAG1B,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAkB9C,CAAA"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '@motiadev/ui';
3
+ import { getStatusMessage } from './reponse-code/utils';
4
+ export const ResponseCode = ({ statusCode }) => {
5
+ const statusMessage = getStatusMessage(statusCode);
6
+ const isSuccess = statusCode > 0 && statusCode < 400;
7
+ const isWarning = statusCode >= 400 && statusCode < 500;
8
+ const isError = statusCode >= 500;
9
+ return (_jsxs("div", { className: cn('px-2 py-1 rounded-sm flex items-center gap-1', isWarning && 'dark:bg-[#EAB71F]/20 dark:text-[#EAB71F] bg-[#EAB71F] text-white', isError && 'dark:bg-[#F8367D]/20 dark:text-[#F8367D] bg-[#F8367D] text-white', isSuccess && 'dark:bg-accent-200 dark:text-primary bg-accent text-white'), children: [_jsx("span", { className: "font-bold font-mono", children: statusCode }), " ", statusMessage] }));
10
+ };
11
+ //# sourceMappingURL=response-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"response-code.js","sourceRoot":"","sources":["../../src/play/response-code.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAMvD,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IACpE,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,CAAA;IACpD,MAAM,SAAS,GAAG,UAAU,IAAI,GAAG,IAAI,UAAU,GAAG,GAAG,CAAA;IACvD,MAAM,OAAO,GAAG,UAAU,IAAI,GAAG,CAAA;IAEjC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,8CAA8C,EAC9C,SAAS,IAAI,kEAAkE,EAC/E,OAAO,IAAI,kEAAkE,EAC7E,SAAS,IAAI,2DAA2D,CACzE,aAED,eAAM,SAAS,EAAC,qBAAqB,YAAE,UAAU,GAAQ,OAAE,aAAa,IACpE,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { FC } from 'react';
2
+ type SidePanelBodyTabProps = {
3
+ schema: Record<string, any> | undefined;
4
+ };
5
+ export declare const SidePanelBodyTab: FC<SidePanelBodyTabProps>;
6
+ export {};
7
+ //# sourceMappingURL=side-panel-body-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel-body-tab.d.ts","sourceRoot":"","sources":["../../src/play/side-panel-body-tab.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAgC,MAAM,OAAO,CAAA;AAMxD,KAAK,qBAAqB,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;CACxC,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAiCrD,CAAA"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '@motiadev/ui';
3
+ import { CircleX } from 'lucide-react';
4
+ import { memo, useCallback, useEffect } from 'react';
5
+ import { useShallow } from 'zustand/react/shallow';
6
+ import { JsonEditor } from '../components/json-editor';
7
+ import { getBodyIsValidSelector, getBodySelector, useEndpointConfiguration } from '../hooks/use-endpoint-configuration';
8
+ import { convertJsonSchemaToJson } from '../hooks/utils';
9
+ export const SidePanelBodyTab = memo(({ schema }) => {
10
+ const { setBody, setBodyIsValid } = useEndpointConfiguration();
11
+ const bodyIsValid = useEndpointConfiguration(useShallow(getBodyIsValidSelector));
12
+ const body = useEndpointConfiguration(getBodySelector);
13
+ useEffect(() => {
14
+ if (schema) {
15
+ setBody(body || JSON.stringify(convertJsonSchemaToJson(schema), null, 2));
16
+ setBodyIsValid(true);
17
+ }
18
+ }, [schema]);
19
+ const handleBodyChange = useCallback((value) => {
20
+ setBody(value);
21
+ }, [setBody, setBodyIsValid]);
22
+ return (_jsxs("div", { className: cn('grid grid-rows-[1fr_auto] h-full', bodyIsValid && 'grid-rows-[1fr]'), children: [_jsx(JsonEditor, { value: body, schema: schema, onChange: handleBodyChange, onValidate: setBodyIsValid }), !bodyIsValid && (_jsxs("div", { className: "border-t border-border p-3 text-sm dark:text-yellow-500 text-yellow-700 flex items-center gap-1 font-medium", "data-testid": "endpoint-body-tab-invalid", children: [_jsx(CircleX, { className: "w-4 h-4" }), "The body payload is invalid"] }))] }));
23
+ });
24
+ //# sourceMappingURL=side-panel-body-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel-body-tab.js","sourceRoot":"","sources":["../../src/play/side-panel-body-tab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAM,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AACvH,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAMxD,MAAM,CAAC,MAAM,gBAAgB,GAA8B,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7E,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAC9D,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAA;IAChF,MAAM,IAAI,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAA;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YACzE,cAAc,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,KAAa,EAAE,EAAE;QAChB,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC,EACD,CAAC,OAAO,EAAE,cAAc,CAAC,CAC1B,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,kCAAkC,EAAE,WAAW,IAAI,iBAAiB,CAAC,aACtF,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,GAAI,EAClG,CAAC,WAAW,IAAI,CACf,eACE,SAAS,EAAC,6GAA6G,iBAC3G,2BAA2B,aAEvC,KAAC,OAAO,IAAC,SAAS,EAAC,SAAS,GAAG,mCAE3B,CACP,IACG,CACP,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const SidePanelHeadersTab: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=side-panel-headers-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel-headers-tab.d.ts","sourceRoot":"","sources":["../../src/play/side-panel-headers-tab.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,mBAAmB,+CA2C/B,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '@motiadev/ui';
3
+ import { Plus } from 'lucide-react';
4
+ import { useCallback } from 'react';
5
+ import { useShallow } from 'zustand/react/shallow';
6
+ import { ConfigurationListItem } from '../components/configuration-list-item';
7
+ import { getHeadersSelector, useEndpointConfiguration } from '../hooks/use-endpoint-configuration';
8
+ export const SidePanelHeadersTab = () => {
9
+ const { setHeaders, removeHeaders } = useEndpointConfiguration();
10
+ const headers = useEndpointConfiguration(useShallow(getHeadersSelector));
11
+ const addHeader = useCallback(() => {
12
+ const newHeader = {
13
+ name: '',
14
+ value: '',
15
+ active: true,
16
+ };
17
+ setHeaders({ ...headers, [new Date().getTime().toString()]: newHeader });
18
+ }, [headers, setHeaders]);
19
+ const updateHeader = useCallback((key, field, value) => {
20
+ if (!key)
21
+ return;
22
+ setHeaders({ ...headers, [key]: { ...headers[key], [field]: value } });
23
+ }, [headers, setHeaders]);
24
+ return (_jsxs("div", { className: "h-full max-h-full grid grid-rows-[auto_1fr]", children: [_jsx("div", { className: "grid px-4 border-b h-10 items-center grid-cols-[auto_1fr]", children: _jsxs(Button, { size: "sm", onClick: addHeader, children: [_jsx(Plus, { className: "h-3 w-3" }), "Add"] }) }), _jsxs("div", { className: "p-2", children: [Object.entries(headers).map(([key, header]) => (_jsx(ConfigurationListItem, { value: header, id: key, onUpdate: updateHeader, onRemove: removeHeaders }, key))), Object.entries(headers).length === 0 && (_jsx("div", { className: "grid grid-cols-1 items-center h-full", children: _jsx("div", { className: "text-sm text-muted-foreground text-center", children: "There are no headers in this endpoint" }) }))] })] }));
25
+ };
26
+ //# sourceMappingURL=side-panel-headers-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel-headers-tab.js","sourceRoot":"","sources":["../../src/play/side-panel-headers-tab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAElG,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAChE,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAExE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,IAAI;SACb,CAAA;QACD,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAC1E,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAA;IAEzB,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,GAAW,EAAE,KAAkC,EAAE,KAAuB,EAAE,EAAE;QAC3E,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,UAAU,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;IACxE,CAAC,EACD,CAAC,OAAO,EAAE,UAAU,CAAC,CACtB,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAC,6CAA6C,aAC1D,cAAK,SAAS,EAAC,2DAA2D,YACxE,MAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,SAAS,aAClC,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,WAErB,GACL,EAEN,eAAK,SAAS,EAAC,KAAK,aACjB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAC9C,KAAC,qBAAqB,IAAW,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,IAA5E,GAAG,CAA6E,CAC7G,CAAC,EAED,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CACvC,cAAK,SAAS,EAAC,sCAAsC,YACnD,cAAK,SAAS,EAAC,2CAA2C,sDAA4C,GAClG,CACP,IACG,IACF,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ type SidePanelParamsTabProps = {
2
+ path: string;
3
+ };
4
+ export declare const SidePanelParamsTab: ({ path }: SidePanelParamsTabProps) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=side-panel-params-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel-params-tab.d.ts","sourceRoot":"","sources":["../../src/play/side-panel-params-tab.tsx"],"names":[],"mappings":"AAYA,KAAK,uBAAuB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAU,uBAAuB,4CAuFnE,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '@motiadev/ui';
3
+ import { Plus } from 'lucide-react';
4
+ import { useCallback, useMemo } from 'react';
5
+ import { useShallow } from 'zustand/react/shallow';
6
+ import { ConfigurationListItem } from '../components/configuration-list-item';
7
+ import { EndpointPathPreview } from '../components/endpoint-path-preview';
8
+ import { getPathParamsSelector, getQueryParamsSelector, useEndpointConfiguration, } from '../hooks/use-endpoint-configuration';
9
+ export const SidePanelParamsTab = ({ path }) => {
10
+ const { setQueryParams, removeQueryParams, setPathParams } = useEndpointConfiguration();
11
+ const queryParams = useEndpointConfiguration(useShallow(getQueryParamsSelector));
12
+ const pathParams = useEndpointConfiguration(useShallow(getPathParamsSelector));
13
+ const pathParamsConfig = useMemo(() => {
14
+ const params = path.match(/:(\w+)/g);
15
+ return (params?.map((param) => {
16
+ return { name: param.slice(1), value: pathParams[param.slice(1)]?.value ?? '', active: true };
17
+ }) ?? []);
18
+ }, [path]);
19
+ const addParam = useCallback(() => {
20
+ const newParam = {
21
+ name: '',
22
+ value: '',
23
+ active: true,
24
+ };
25
+ setQueryParams({ ...queryParams, [new Date().getTime().toString()]: newParam });
26
+ }, [queryParams, setQueryParams]);
27
+ const updateParam = useCallback((key, field, value) => {
28
+ if (!key)
29
+ return;
30
+ setQueryParams({ ...queryParams, [key]: { ...queryParams[key], [field]: value } });
31
+ }, [queryParams, setQueryParams]);
32
+ const updatePathParam = useCallback((key, field, value) => {
33
+ if (!key)
34
+ return;
35
+ setPathParams({ ...pathParams, [key]: { ...pathParams[key], [field]: value } });
36
+ }, [pathParams, setPathParams]);
37
+ return (_jsxs("div", { className: "h-full grid grid-rows-[auto_auto_1fr]", children: [_jsx("div", { className: "grid px-4 border-b h-10 items-center grid-cols-[auto_1fr]", children: _jsxs(Button, { size: "sm", onClick: addParam, children: [_jsx(Plus, { className: "h-3 w-3" }), "Add"] }) }), _jsx(EndpointPathPreview, { path: path }), _jsxs("div", { className: "grid grid-rows-[1fr_1fr]", children: [_jsxs("div", { className: "p-2 border-b border-border", children: [_jsx("div", { className: "text-sm font-medium pl-3", children: "Query" }), Object.entries(queryParams).map(([key, param]) => (_jsx(ConfigurationListItem, { value: param, id: key, onUpdate: updateParam, onRemove: removeQueryParams }, key))), Object.entries(queryParams).length === 0 && (_jsx("div", { className: "grid grid-cols-1 items-center h-full", children: _jsx("div", { className: "text-sm text-muted-foreground text-center", children: "There are no query params in this endpoint" }) }))] }), pathParamsConfig.length > 0 && (_jsxs("div", { className: "p-2", children: [_jsx("div", { className: "text-sm font-medium pl-3", children: "Path" }), pathParamsConfig.map((pathName) => (_jsx(ConfigurationListItem, { value: { name: pathName.name, value: pathName.value, active: pathName.active }, id: pathName.name, required: true, onUpdate: updatePathParam }, pathName.name)))] }))] })] }));
38
+ };
39
+ //# sourceMappingURL=side-panel-params-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel-params-tab.js","sourceRoot":"","sources":["../../src/play/side-panel-params-tab.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const SidePanelResponse: import("react").MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element | null>;
2
+ //# sourceMappingURL=side-panel-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel-response.d.ts","sourceRoot":"","sources":["../../src/play/side-panel-response.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,iBAAiB,2FA6D5B,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Button, Tabs, TabsContent, TabsList, TabsTrigger } from '@motiadev/ui';
3
+ import { X } from 'lucide-react';
4
+ import { memo, useState } from 'react';
5
+ import ReactJson from 'react18-json-view';
6
+ import { getResponseSelector, useEndpointConfiguration } from '../hooks/use-endpoint-configuration';
7
+ import { useStateStream } from '../hooks/use-state-stream';
8
+ import { ResponseCode } from './response-code';
9
+ export const SidePanelResponse = memo(() => {
10
+ const { setResponse } = useEndpointConfiguration();
11
+ const response = useEndpointConfiguration(getResponseSelector);
12
+ const { data } = useStateStream(response?.body);
13
+ const [activeTab, setActiveTab] = useState('preview');
14
+ const onClose = () => setResponse(undefined);
15
+ if (!response) {
16
+ return null;
17
+ }
18
+ return (_jsxs(Tabs, { value: activeTab, onValueChange: (value) => setActiveTab(value), className: "border-l border-border", "data-testid": "endpoint-response-container", children: [_jsxs("div", { className: "grid grid-cols-[1fr_auto] items-center h-10 border-b px-5 bg-card", children: [_jsxs(TabsList, { children: [_jsx(TabsTrigger, { value: "preview", className: "cursor-pointer", children: "Preview" }), _jsx(TabsTrigger, { value: "headers", className: "grid grid-cols-[auto_auto] gap-2 items-center cursor-pointer", children: "Headers" })] }), _jsx(Button, { variant: "ghost", size: "icon", onClick: onClose, children: _jsx(X, { className: "h-4 w-4" }) })] }), _jsx("div", { className: "sticky bottom-0 border-b border-border p-3 text-sm flex items-center gap-1 font-medium", children: _jsxs("div", { className: "flex flex-row items-center flex-1 gap-3", children: [_jsx(ResponseCode, { statusCode: response.statusCode }), !!response.executionTime && (_jsxs("div", { className: "text-muted-foreground bg-muted-foreground/10 px-2 py-1 rounded-sm", children: [response.executionTime, "ms"] }))] }) }), _jsx(TabsContent, { value: "preview", children: _jsx(ReactJson, { src: data }) }), _jsx(TabsContent, { value: "headers", children: _jsx("div", { className: "grid grid-cols-[auto_minmax(0,1fr)] gap-4 p-4 overflow-auto auto-rows-max h-full", children: response.headers &&
19
+ Object.entries(response.headers).map(([key, value]) => (_jsxs(_Fragment, { children: [_jsx("span", { className: "font-bold text-sm h-8 items-center grid whitespace-nowrap", children: key }), _jsx("span", { className: "text-sm text-muted-foreground h-8 items-center grid whitespace-nowrap", children: value })] }))) }) })] }));
20
+ });
21
+ //# sourceMappingURL=side-panel-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel-response.js","sourceRoot":"","sources":["../../src/play/side-panel-response.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/E,OAAO,EAAE,CAAC,EAAE,MAAM,cAAc,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,SAAS,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE;IACzC,MAAM,EAAE,WAAW,EAAE,GAAG,wBAAwB,EAAE,CAAA;IAClD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,mBAAmB,CAAC,CAAA;IAE9D,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC/C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAY,SAAS,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;IAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,MAAC,IAAI,IACH,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,YAAY,CAAC,KAAkB,CAAC,EAClE,SAAS,EAAC,wBAAwB,iBACtB,6BAA6B,aAEzC,eAAK,SAAS,EAAC,mEAAmE,aAChF,MAAC,QAAQ,eACP,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAC,gBAAgB,wBAEzC,EACd,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAC,8DAA8D,wBAEvF,IACL,EACX,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,OAAO,YAClD,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,IACL,EAEN,cAAK,SAAS,EAAC,wFAAwF,YACrG,eAAK,SAAS,EAAC,yCAAyC,aACtD,KAAC,YAAY,IAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAI,EAChD,CAAC,CAAC,QAAQ,CAAC,aAAa,IAAI,CAC3B,eAAK,SAAS,EAAC,mEAAmE,aAC/E,QAAQ,CAAC,aAAa,UACnB,CACP,IACG,GACF,EAEN,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,YAC1B,KAAC,SAAS,IAAC,GAAG,EAAE,IAAc,GAAI,GACtB,EAEd,KAAC,WAAW,IAAC,KAAK,EAAC,SAAS,YAC1B,cAAK,SAAS,EAAC,kFAAkF,YAC9F,QAAQ,CAAC,OAAO;wBACf,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACrD,8BACE,eAAM,SAAS,EAAC,2DAA2D,YAAE,GAAG,GAAQ,EACxF,eAAM,SAAS,EAAC,uEAAuE,YAAE,KAAK,GAAQ,IACrG,CACJ,CAAC,GACA,GACM,IACT,CACR,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { FC } from 'react';
2
+ import { ApiEndpoint } from '../types/endpoint';
3
+ type EndpointSidePanelProps = {
4
+ endpoint: ApiEndpoint;
5
+ onClose: () => void;
6
+ };
7
+ export declare const SidePanel: FC<EndpointSidePanelProps>;
8
+ export {};
9
+ //# sourceMappingURL=side-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel.d.ts","sourceRoot":"","sources":["../../src/play/side-panel.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAkB,MAAM,OAAO,CAAA;AAW1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAO/C,KAAK,sBAAsB,GAAG;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAAA;AAQ5E,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,sBAAsB,CAgF/C,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { BackgroundEffect, Badge, Button, cn, Tabs, TabsContent, TabsList, TabsTrigger } from '@motiadev/ui';
3
+ import { Book, X } from 'lucide-react';
4
+ import { memo, useState } from 'react';
5
+ import { useShallow } from 'zustand/react/shallow';
6
+ import { EndpointPath } from '../components/endpoint-path';
7
+ import { getHeadersSelector, getQueryParamsSelector, getResponseSelector, useEndpointConfiguration, } from '../hooks/use-endpoint-configuration';
8
+ import { SpecSidePanel } from '../spec/spec-side-panel';
9
+ import { SidePanelBodyTab } from './side-panel-body-tab';
10
+ import { SidePanelHeadersTab } from './side-panel-headers-tab';
11
+ import { SidePanelParamsTab } from './side-panel-params-tab';
12
+ import { SidePanelResponse } from './side-panel-response';
13
+ import { TriggerButton } from './trigger-button';
14
+ const headersCountSelector = (state) => Object.keys(getHeadersSelector(state)).length;
15
+ const hasResponseSelector = (state) => getResponseSelector(state) !== undefined;
16
+ const paramsCountSelector = (state) => Object.keys(getQueryParamsSelector(state)).length;
17
+ export const SidePanel = memo(({ endpoint, onClose }) => {
18
+ const [activeTab, setActiveTab] = useState('body');
19
+ const [isSpecOpen, setIsSpecOpen] = useState(false);
20
+ const headersCount = useEndpointConfiguration(useShallow(headersCountSelector));
21
+ const hasResponse = useEndpointConfiguration(useShallow(hasResponseSelector));
22
+ const paramsCount = useEndpointConfiguration(useShallow(paramsCountSelector));
23
+ return (_jsxs("div", { className: "isolate grid grid-cols-1 overflow-y-auto min-w-0 grid-rows-[auto_1fr] border-l border-border", "data-testid": "endpoint-details-panel", children: [_jsx(BackgroundEffect, {}), _jsxs("div", { className: "grid grid-cols-[1fr_1fr_auto] items-start gap-4 px-5 py-4 border-b bg-card w-full", children: [_jsxs("div", { className: "grid grid-rows-2 gap-2", children: [_jsx(EndpointPath, { method: endpoint.method, path: endpoint.path }), endpoint.description && _jsx("p", { className: "text-sm text-muted-foreground", children: endpoint.description })] }), _jsx("div", { className: "flex items-end justify-end", children: _jsx(Button, { variant: "icon", size: "icon", onClick: () => setIsSpecOpen(!isSpecOpen), "data-testid": "endpoint-spec-button", children: _jsx(Book, {}) }) }), _jsx(Button, { variant: "icon", size: "icon", onClick: onClose, children: _jsx(X, {}) })] }), _jsxs("div", { className: cn('grid grid-cols-[minmax(350px,1fr)_minmax(auto,1fr)]', !hasResponse && 'grid-cols-1'), children: [_jsxs(Tabs, { value: activeTab, onValueChange: (value) => setActiveTab(value), children: [_jsxs("div", { className: "grid grid-cols-[1fr_auto] items-center h-10 border-b px-5 bg-card", children: [_jsxs(TabsList, { children: [_jsxs(TabsTrigger, { value: "params", className: "grid grid-cols-[auto_auto] gap-2 items-center cursor-pointer", "data-testid": "endpoint-params-tab", children: ["Params", _jsx(Badge, { variant: "outline", className: "h-4 px-1.5 text-xs", children: paramsCount })] }), _jsx(TabsTrigger, { value: "body", className: "cursor-pointer", "data-testid": "endpoint-body-tab", children: "Body" }), _jsxs(TabsTrigger, { value: "headers", className: "grid grid-cols-[auto_auto] gap-2 items-center cursor-pointer", "data-testid": "endpoint-headers-tab", children: ["Headers", _jsx(Badge, { variant: "outline", className: "h-4 px-1.5 text-xs", children: headersCount })] })] }), _jsx(TriggerButton, { method: endpoint.method, path: endpoint.path.toString() })] }), _jsx(TabsContent, { value: "params", children: _jsx(SidePanelParamsTab, { path: endpoint.path }) }), _jsx(TabsContent, { value: "body", children: _jsx(SidePanelBodyTab, { schema: endpoint.bodySchema }) }), _jsx(TabsContent, { value: "headers", children: _jsx(SidePanelHeadersTab, {}) })] }), _jsx(SidePanelResponse, {})] }), isSpecOpen && _jsx(SpecSidePanel, { endpoint: endpoint, onClose: () => setIsSpecOpen(false) })] }));
24
+ });
25
+ //# sourceMappingURL=side-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-panel.js","sourceRoot":"","sources":["../../src/play/side-panel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ type TriggerButtonProps = {
2
+ method: string;
3
+ path: string;
4
+ };
5
+ export declare const TriggerButton: import("react").MemoExoticComponent<({ method, path }: TriggerButtonProps) => import("react/jsx-runtime").JSX.Element>;
6
+ export {};
7
+ //# sourceMappingURL=trigger-button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-button.d.ts","sourceRoot":"","sources":["../../src/play/trigger-button.tsx"],"names":[],"mappings":"AAYA,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,eAAO,MAAM,aAAa,yDAA2B,kBAAkB,6CA0CrE,CAAA"}