@digi-frontend/dgate-api-documentation 1.0.52 → 1.0.53

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/constants/index.ts"],"sourcesContent":["export const methodColorMapping = {\n get: {\n label: 'Get',\n color: '#3A6CD1',\n order: 1,\n },\n post: {\n label: 'Post',\n color: '#3AAA35',\n order: 2,\n },\n put: {\n label: 'Put',\n color: '#FAAD14',\n order: 3,\n },\n delete: {\n label: 'Delete',\n color: '#DA3F3F',\n order: 4,\n },\n patch: {\n label: 'Patch',\n color: '#58E2C2',\n order: 5,\n },\n options: {\n label: 'Options',\n color: '#495D97',\n order: 6,\n },\n trace: {\n label: 'Trace',\n color: '#FFA28F',\n order: 7,\n },\n head: {\n label: 'Head',\n color: '#9461C9',\n order: 8,\n },\n}\n\nexport const tagsTableHeaders = [\n {\n id: 'tagName',\n label: 'Tag Name',\n sortable: false,\n classes: 'requiredParam',\n },\n {\n id: 'description',\n label: 'Description',\n sortable: false,\n },\n {\n id: 'externalDocs',\n label: 'External Docs',\n sortable: false,\n },\n]\n\nexport const paramsTableHeaders = [\n {\n id: 'paramName',\n label: 'Parameter Name',\n sortable: false,\n required: true,\n classes: 'requiredParam',\n },\n { id: 'paramType', label: 'In', sortable: false, classes: 'requiredParam' },\n { id: 'schemaType', label: 'Schema-Type', sortable: false, classes: 'requiredParam' },\n { id: 'arraySchemaType', label: 'Array Schema Type', sortable: false },\n { id: 'enum', label: 'Enum', sortable: false },\n { id: 'required', label: 'Required', sortable: false, classes: 'requiredParam' },\n { id: 'description', label: 'Description', sortable: false },\n]\n\nexport const httpStatusCodes = [\n // 1xx: Informational responses\n 100, 101, 102, 103,\n\n // 2xx: Success\n 200, 201, 202, 203, 204, 205, 206, 207, 208, 226,\n\n // 3xx: Redirection\n 300, 301, 302, 303, 304, 305, 306, 307, 308,\n\n // 4xx: Client errors\n 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,\n 421, 422, 423, 424, 425, 426, 428, 429, 431, 451,\n\n // 5xx: Server errors\n 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511,\n]\n"],"names":["methodColorMapping","get","label","color","order","post","put","delete","patch","options","trace","head","tagsTableHeaders","id","sortable","classes","paramsTableHeaders","required","httpStatusCodes"],"mappings":"AAAa,MAAAA,EAAqB,CAChCC,IAAK,CACHC,MAAO,MACPC,MAAO,UACPC,MAAO,GAETC,KAAM,CACJH,MAAO,OACPC,MAAO,UACPC,MAAO,GAETE,IAAK,CACHJ,MAAO,MACPC,MAAO,UACPC,MAAO,GAETG,OAAQ,CACNL,MAAO,SACPC,MAAO,UACPC,MAAO,GAETI,MAAO,CACLN,MAAO,QACPC,MAAO,UACPC,MAAO,GAETK,QAAS,CACPP,MAAO,UACPC,MAAO,UACPC,MAAO,GAETM,MAAO,CACLR,MAAO,QACPC,MAAO,UACPC,MAAO,GAETO,KAAM,CACJT,MAAO,OACPC,MAAO,UACPC,MAAO,IAIEQ,EAAmB,CAC9B,CACEC,GAAI,UACJX,MAAO,WACPY,UAAU,EACVC,QAAS,iBAEX,CACEF,GAAI,cACJX,MAAO,cACPY,UAAU,GAEZ,CACED,GAAI,eACJX,MAAO,gBACPY,UAAU,IAIDE,EAAqB,CAChC,CACEH,GAAI,YACJX,MAAO,iBACPY,UAAU,EACVG,UAAU,EACVF,QAAS,iBAEX,CAAEF,GAAI,YAAaX,MAAO,KAAMY,UAAU,EAAOC,QAAS,iBAC1D,CAAEF,GAAI,aAAcX,MAAO,cAAeY,UAAU,EAAOC,QAAS,iBACpE,CAAEF,GAAI,kBAAmBX,MAAO,oBAAqBY,UAAU,GAC/D,CAAED,GAAI,OAAQX,MAAO,OAAQY,UAAU,GACvC,CAAED,GAAI,WAAYX,MAAO,WAAYY,UAAU,EAAOC,QAAS,iBAC/D,CAAEF,GAAI,cAAeX,MAAO,cAAeY,UAAU,IAG1CI,EAAkB,CAE7B,IAAK,IAAK,IAAK,IAGf,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAG7C,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAGxC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1F,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAG7C,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/constants/index.ts"],"sourcesContent":["export const methodColorMapping = {\n get: {\n label: 'Get',\n color: '#3A6CD1',\n order: 1,\n },\n post: {\n label: 'Post',\n color: '#3AAA35',\n order: 2,\n },\n put: {\n label: 'Put',\n color: '#FAAD14',\n order: 3,\n },\n delete: {\n label: 'Delete',\n color: '#DA3F3F',\n order: 4,\n },\n patch: {\n label: 'Patch',\n color: '#58E2C2',\n order: 5,\n },\n options: {\n label: 'Options',\n color: '#495D97',\n order: 6,\n },\n trace: {\n label: 'Trace',\n color: '#FFA28F',\n order: 7,\n },\n head: {\n label: 'Head',\n color: '#9461C9',\n order: 8,\n },\n}\n\nexport const tagsTableHeaders = [\n {\n id: 'tagName',\n label: 'Tag Name',\n sortable: false,\n classes: 'requiredParam',\n },\n {\n id: 'description',\n label: 'Description',\n sortable: false,\n },\n {\n id: 'externalDocs',\n label: 'External Docs',\n sortable: false,\n },\n]\n\nexport const paramsTableHeaders = [\n {\n id: 'paramName',\n label: 'Parameter Name',\n sortable: false,\n required: true,\n classes: 'requiredParam',\n },\n { id: 'paramType', label: 'In', sortable: false, classes: 'requiredParam' },\n { id: 'schemaType', label: 'Schema-Type', sortable: false, classes: 'requiredParam' },\n // { id: 'arraySchemaType', label: 'Array Schema Type', sortable: false },\n { id: 'enum', label: 'Enum', sortable: false },\n { id: 'required', label: 'Required', sortable: false, classes: 'requiredParam' },\n { id: 'description', label: 'Description', sortable: false },\n]\n\nexport const httpStatusCodes = [\n // 1xx: Informational responses\n 100, 101, 102, 103,\n\n // 2xx: Success\n 200, 201, 202, 203, 204, 205, 206, 207, 208, 226,\n\n // 3xx: Redirection\n 300, 301, 302, 303, 304, 305, 306, 307, 308,\n\n // 4xx: Client errors\n 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,\n 421, 422, 423, 424, 425, 426, 428, 429, 431, 451,\n\n // 5xx: Server errors\n 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511,\n]\n"],"names":["methodColorMapping","get","label","color","order","post","put","delete","patch","options","trace","head","tagsTableHeaders","id","sortable","classes","paramsTableHeaders","required","httpStatusCodes"],"mappings":"AAAa,MAAAA,EAAqB,CAChCC,IAAK,CACHC,MAAO,MACPC,MAAO,UACPC,MAAO,GAETC,KAAM,CACJH,MAAO,OACPC,MAAO,UACPC,MAAO,GAETE,IAAK,CACHJ,MAAO,MACPC,MAAO,UACPC,MAAO,GAETG,OAAQ,CACNL,MAAO,SACPC,MAAO,UACPC,MAAO,GAETI,MAAO,CACLN,MAAO,QACPC,MAAO,UACPC,MAAO,GAETK,QAAS,CACPP,MAAO,UACPC,MAAO,UACPC,MAAO,GAETM,MAAO,CACLR,MAAO,QACPC,MAAO,UACPC,MAAO,GAETO,KAAM,CACJT,MAAO,OACPC,MAAO,UACPC,MAAO,IAIEQ,EAAmB,CAC9B,CACEC,GAAI,UACJX,MAAO,WACPY,UAAU,EACVC,QAAS,iBAEX,CACEF,GAAI,cACJX,MAAO,cACPY,UAAU,GAEZ,CACED,GAAI,eACJX,MAAO,gBACPY,UAAU,IAIDE,EAAqB,CAChC,CACEH,GAAI,YACJX,MAAO,iBACPY,UAAU,EACVG,UAAU,EACVF,QAAS,iBAEX,CAAEF,GAAI,YAAaX,MAAO,KAAMY,UAAU,EAAOC,QAAS,iBAC1D,CAAEF,GAAI,aAAcX,MAAO,cAAeY,UAAU,EAAOC,QAAS,iBAEpE,CAAEF,GAAI,OAAQX,MAAO,OAAQY,UAAU,GACvC,CAAED,GAAI,WAAYX,MAAO,WAAYY,UAAU,EAAOC,QAAS,iBAC/D,CAAEF,GAAI,cAAeX,MAAO,cAAeY,UAAU,IAG1CI,EAAkB,CAE7B,IAAK,IAAK,IAAK,IAGf,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAG7C,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAGxC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1F,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAG7C,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\nimport { OpenAPIFile, SecurityScheme } from '@entities/openApi'\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\n\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\n if (openApiJson.components && openApiJson.components.securitySchemes) {\n const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)\n if (authKey) {\n openApiJson.components.securitySchemes[authKey].type = openApiJson?.components\n ?.securitySchemes?.[authKey]?.type as SecurityScheme['type']\n }\n } else {\n openApiJson.components = {\n securitySchemes: {\n Public: {\n type: 'http',\n scheme: 'public',\n },\n },\n }\n }\n\n if (!openApiJson.tags) {\n openApiJson.tags = []\n }\n\n return {\n ...openApiJson,\n paths: transformPathsToArray(openApiJson.paths),\n } as TransformedOpenApi\n}\n\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\n const object = {\n ...values,\n paths: transformPathsArrayToOrigin(values.paths),\n }\n if (object.components && object.components.securitySchemes) {\n const authKey = Object.keys(object.components.securitySchemes)?.at(0)\n if (authKey) {\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[authKey]\n .in as SecurityScheme['in']\n }\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\n authKey\n ]?.type as SecurityScheme['type']\n }\n }\n return object\n}\n\nexport const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\n path,\n methods: Object.entries(methods).map(([method, methodProps]) => {\n const obj: any = {\n ...methodProps,\n type: method,\n tags: methodProps.tags || [],\n summary: methodProps.summary || '',\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\n const contentType = Object.keys(codeProps.content || {})[0]\n const headers = !codeProps?.headers ? {} : codeProps.headers\n return {\n code,\n headers,\n content: {\n contentType,\n schema: {\n ...codeProps.content?.[contentType]?.schema,\n properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),\n },\n },\n }\n }),\n }\n // Add parameters if it does not exist in the original JSON\n if (!methodProps?.parameters) {\n obj.parameters = []\n }\n\n // load response headers parameters\n\n if (method.toLowerCase() != 'get') {\n const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]\n const reqSchema = methodProps?.requestBody?.content?.schema\n const requestBodyData = methodProps?.requestBody?.content?.schema?.properties\n ? {\n content: {\n contentType,\n schema: {\n ...reqSchema,\n properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',\n },\n },\n }\n : {\n content: {\n contentType: 'application/json',\n schema: {\n properties: '{}',\n type: 'object',\n },\n },\n }\n\n obj['requestBody'] = requestBodyData\n }\n return obj\n }),\n }))\n\n return transformedPaths\n}\n\nconst validateBodyForResponse = (content, method) => {\n if (!(content?.schema as any) || !(content?.schema as any)?.properties) {\n return {}\n }\n let _content = JSON.parse((content?.schema as any)?.properties as string)\n // if (method == 'get') {\n // if (!_content?.body) {\n // _content = {\n // body: _content,\n // }\n // }\n // }\n return _content\n}\n\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\n return paths.reduce((acc, { path, methods }) => {\n acc[path] = methods.reduce(\n (methodAcc, { type, tags, responses, summary, requestBody, ...rest }) => {\n // Initialize the method object\n methodAcc[type] = {\n ...rest,\n tags,\n summary,\n responses: responses.reduce((respAcc, { code, content, headers }) => {\n const formattedHeaders: Record<string, any> = {}\n if (headers) {\n for (const [key, value] of Object.entries(headers)) {\n formattedHeaders[key] = {\n description: value.description || '',\n required: value.required || false,\n schema: value.schema || {},\n }\n }\n }\n respAcc[code] = {\n description: 'Success', // Assuming this is static from the original data\n content: content.contentType\n ? {\n [content.contentType]: {\n schema: {\n ...(content.schema as object),\n properties: validateBodyForResponse(content, type),\n },\n },\n }\n : {},\n headers: formattedHeaders,\n }\n return respAcc\n }, {} as Record<string, any>),\n }\n\n const parsedRequestBodyProps =\n type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}\n // Add requestBody for non-GET methods\n if (type !== 'get') {\n methodAcc[type].requestBody = {\n content: {\n [requestBody.content.contentType]: {\n schema: {\n ...requestBody.content.schema,\n properties: parsedRequestBodyProps,\n },\n },\n },\n }\n }\n\n return methodAcc\n },\n {} as Record<string, any>\n )\n\n return acc\n }, {} as OpenAPIFile['paths'])\n}\n"],"names":["transformOpenApiObject","openApiJson","components","securitySchemes","authKey","_a","Object","keys","at","type","_d","_c","_b","Public","scheme","tags","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","summary","responses","code","codeProps","contentType","content","headers","schema","properties","JSON","stringify","_e","parameters","requestBody","reqSchema","requestBodyData","validateBodyForResponse","parse","reduce","acc","methodAcc","rest","__rest","respAcc","formattedHeaders","key","value","description","required","parsedRequestBodyProps"],"mappings":"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"}
1
+ {"version":3,"file":"layout.helper.js","sources":["../../../src/helpers/layout.helper.ts"],"sourcesContent":["import { TransformedPathsArray } from '@entities/layout.type'\nimport { OpenAPIFile, SecurityScheme } from '@entities/openApi'\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\n\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\n if (openApiJson.components && openApiJson.components.securitySchemes) {\n const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)\n if (authKey) {\n openApiJson.components.securitySchemes[authKey].type = openApiJson?.components\n ?.securitySchemes?.[authKey]?.type as SecurityScheme['type']\n }\n } else {\n openApiJson.components = {\n securitySchemes: {\n Public: {\n type: 'http',\n scheme: 'public',\n },\n },\n }\n }\n\n if (!openApiJson.tags) {\n openApiJson.tags = []\n }\n\n return {\n ...openApiJson,\n paths: transformPathsToArray(openApiJson.paths),\n } as TransformedOpenApi\n}\n\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\n const object = {\n ...values,\n paths: transformPathsArrayToOrigin(values.paths),\n }\n if (object.components && object.components.securitySchemes) {\n const authKey = Object.keys(object.components.securitySchemes)?.at(0)\n if (authKey) {\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[authKey]\n .in as SecurityScheme['in']\n }\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\n authKey\n ]?.type as SecurityScheme['type']\n }\n }\n return object\n}\n\nexport const transformPathsToArray = (paths: OpenAPIFile['paths']): TransformedPathsArray | any => {\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\n path,\n methods: Object.entries(methods).map(([method, methodProps]) => {\n const obj: any = {\n ...methodProps,\n type: method,\n tags: methodProps.tags || [],\n summary: methodProps.summary || '',\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\n const contentType = Object.keys(codeProps.content || {})[0]\n const headers = !codeProps?.headers ? {} : codeProps.headers\n return {\n code,\n headers,\n content: {\n contentType,\n schema: {\n ...codeProps.content?.[contentType]?.schema,\n properties: JSON.stringify(codeProps.content?.[contentType]?.schema?.properties),\n },\n },\n }\n }),\n }\n // Add parameters if it does not exist in the original JSON\n if (!methodProps?.parameters) {\n obj.parameters = []\n }\n\n // load response headers parameters\n\n if (method.toLowerCase() != 'get') {\n const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]\n const reqSchema = methodProps?.requestBody?.content?.schema\n const requestBodyData = methodProps?.requestBody?.content?.schema?.properties\n ? {\n content: {\n contentType,\n schema: {\n ...reqSchema,\n properties: reqSchema?.properties ? JSON.stringify(reqSchema?.properties) : '{}',\n },\n },\n }\n : {\n content: {\n contentType: 'application/json',\n schema: {\n properties: '{}',\n type: 'object',\n },\n },\n }\n\n obj['requestBody'] = requestBodyData\n }\n return obj\n }),\n }))\n\n return transformedPaths\n}\n\nconst validateBodyForResponse = (content, method) => {\n if (!(content?.schema as any) || !(content?.schema as any)?.properties) {\n return {}\n }\n let _content = JSON.parse((content?.schema as any)?.properties as string)\n\n return _content\n}\n\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\n return paths.reduce((acc, { path, methods }) => {\n acc[path] = methods.reduce(\n (methodAcc, { type, tags, responses, summary, requestBody, ...rest }) => {\n // Initialize the method object\n methodAcc[type] = {\n ...rest,\n tags,\n summary,\n responses: responses.reduce((respAcc, { code, content, headers }) => {\n const formattedHeaders: Record<string, any> = {}\n if (headers) {\n for (const [key, value] of Object.entries(headers)) {\n formattedHeaders[key] = {\n description: value.description || '',\n required: value.required || false,\n schema: value.schema || {},\n }\n }\n }\n respAcc[code] = {\n description: 'Success', // Assuming this is static from the original data\n content: content.contentType\n ? {\n [content.contentType]: {\n schema: {\n ...(content.schema as object),\n properties: validateBodyForResponse(content, type),\n },\n },\n }\n : {},\n headers: formattedHeaders,\n }\n return respAcc\n }, {} as Record<string, any>),\n }\n\n const parsedRequestBodyProps =\n type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}\n // Add requestBody for non-GET methods\n if (type !== 'get') {\n methodAcc[type].requestBody = {\n content: {\n [requestBody.content.contentType]: {\n schema: {\n ...requestBody.content.schema,\n properties: parsedRequestBodyProps,\n },\n },\n },\n }\n }\n\n return methodAcc\n },\n {} as Record<string, any>\n )\n\n return acc\n }, {} as OpenAPIFile['paths'])\n}\n"],"names":["transformOpenApiObject","openApiJson","components","securitySchemes","authKey","_a","Object","keys","at","type","_d","_c","_b","Public","scheme","tags","assign","paths","transformPathsToArray","transformOpenApiObjectToOrigin","values","object","transformPathsArrayToOrigin","toLowerCase","in","entries","map","path","methods","method","methodProps","obj","summary","responses","code","codeProps","contentType","content","headers","schema","properties","JSON","stringify","_e","parameters","requestBody","reqSchema","requestBodyData","validateBodyForResponse","parse","reduce","acc","methodAcc","rest","__rest","respAcc","formattedHeaders","key","value","description","required","parsedRequestBodyProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../../../_virtual/jsx-runtime.js";import s from"../../../../components/SVGLoader/SVGLoader.js";import l from"../../../../assets/icons/DownArrow.svg.js";import a from"../../../../assets/icons/CopySticker.svg.js";import i from"../../../../assets/icons/RequestOption.svg.js";import r from"../../../../assets/icons/ArrowBack.svg.js";import{d}from"../../../../../_virtual/index.js";import{useState as t,useEffect as o}from"react";import{handleStatusColor as n}from"../../../../helpers/methodAccordion.helper.js";import{httpStatusCodes as c}from"../../../../constants/index.js";import h from"../../Codebox/style.module.scss.js";import m from"../../../../components/Tooltip/Tooltip.js";const j=({data:j})=>{var x,p,v,u,b;const[N,y]=t("header"),C=c.map((s=>({label:e.jsxs("div",{className:"statusCodeOptionContainer",children:[e.jsx("div",{className:"statusCodeOptionCircle",style:{backgroundColor:n(s)}}),e.jsx("span",{children:s})]}),value:s}))),[f,w]=t(null),[g,k]=t(C[4]),[q,A]=t({});return((null==j?void 0:j.parameters)||[]).filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===N.toLowerCase()})),o((()=>{if(g&&g.value){const e=null==j?void 0:j.responses[g.value];A(null==e?void 0:e.headers)}}),[g]),e.jsxs("div",{className:"api-details-expanded",children:[e.jsxs("div",{className:"test-button",children:[e.jsx("button",{className:"back-button",onClick:()=>window.history.back(),children:e.jsx(s,{src:r})}),e.jsx(m,{content:"Comming soon",children:e.jsx("button",{className:"disabled",children:"Test"})})]}),e.jsx("h3",{children:" Api Name"}),e.jsx("h1",{className:"api-title",children:null===(x=null==j?void 0:j.api)||void 0===x?void 0:x.title}),e.jsxs("div",{className:"url-box",children:[e.jsxs("div",{style:{textAlign:"center"},children:[e.jsx("span",{className:`method-label ${null===(p=null==j?void 0:j.method)||void 0===p?void 0:p.toLowerCase()}`,children:j.method}),e.jsx("span",{className:"url-text",children:null==j?void 0:j.path})]}),e.jsx("span",{className:"icon",onClick:()=>navigator.clipboard.writeText(null==j?void 0:j.path),children:e.jsx(s,{src:a})})]}),e.jsx("p",{className:"api-desc",children:(null===(v=null==j?void 0:j.api)||void 0===v?void 0:v.description)||"No Description"}),e.jsx("h3",{children:"Request"}),e.jsxs("div",{className:"request-section",children:[e.jsx("div",{className:"request-tabs",children:["header","path","query","Body"].map((l=>e.jsxs("button",{className:"tab "+(N===l?"active":""),onClick:()=>y(l),children:[e.jsx(s,{src:i,className:"icon-left"}),e.jsx("span",{className:"tab-label",children:"requestBody"===l?"Request Body":l.charAt(0).toUpperCase()+l.slice(1)})]},l)))}),e.jsx("div",{className:"table-wrapper",children:e.jsxs("table",{className:"param-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"head-table-label",children:"Parameter Name"}),e.jsx("th",{className:"head-table-label",children:"Required"}),e.jsx("th",{className:"head-table-label",children:"Type"}),e.jsx("th",{className:"head-table-label",children:"Enum"}),e.jsx("th",{className:"head-table-label",children:"Description"})]})}),e.jsx("tbody",{children:null===(u=j.parameters)||void 0===u?void 0:u.filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===N.toLowerCase()})).map(((a,i)=>{var r,d;return e.jsxs("tr",{children:[e.jsx("td",{children:a.name}),e.jsx("td",{children:a.required?"True":"False"}),e.jsx("td",{children:(null===(r=a.schema)||void 0===r?void 0:r.type)||"-"}),e.jsx("td",{children:Array.isArray(null===(d=a.schema)||void 0===d?void 0:d.enum)?a.schema.enum.join(" / "):"-"}),e.jsxs("td",{className:"desc-cell",children:[e.jsx("div",{className:"desc-text "+(f===i?"expanded":""),children:a.description||"No description"}),e.jsx("button",{className:"desc-toggle",onClick:()=>w(f===i?null:i),children:e.jsx(s,{src:l,className:f===i?"rotated":""})})]})]},i)}))})]})})]}),e.jsxs("div",{className:"response-section",children:[e.jsx("h3",{children:"Response"}),e.jsx("div",{style:{width:"7.5rem",marginLeft:"auto"},children:(null===(b=Object.keys((null==j?void 0:j.responses)||{}))||void 0===b?void 0:b.length)>0&&e.jsx("div",{className:h.codeboxSection,children:e.jsx("div",{className:`${h.codeboxHeader}`,children:e.jsx(d.SelectGroup,{size:"small",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:C}],value:g,onChange:e=>{k(e)}})})})}),e.jsxs("button",{className:"tab active ",children:[e.jsx(s,{src:i,className:"icon-left"}),"Header"]}),e.jsx("div",{className:"table-wrapper",children:e.jsxs("table",{className:"param-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"head-table-label",children:"Header Name"}),e.jsx("th",{className:"head-table-label",children:"Required"}),e.jsx("th",{className:"head-table-label",children:"Type"}),e.jsx("th",{className:"head-table-label",children:"Enum"}),e.jsx("th",{className:"head-table-label",children:"Description"})]})}),e.jsx("tbody",{children:Object.keys(q).map(((s,l)=>{var a,i,r,d,t,o,n;return e.jsxs("tr",{children:[e.jsx("td",{children:s}),e.jsx("td",{children:null===(a=q[s])||void 0===a?void 0:a.required.toString()}),e.jsx("td",{children:null===(r=null===(i=q[s])||void 0===i?void 0:i.schema)||void 0===r?void 0:r.type}),e.jsx("td",{children:null===(o=null===(t=null===(d=q[s])||void 0===d?void 0:d.schema)||void 0===t?void 0:t.enum)||void 0===o?void 0:o.join("/")}),e.jsx("td",{children:null===(n=q[s])||void 0===n?void 0:n.description})]})}))})]})})]})]})};export{j as EndpointPage};
1
+ import{j as e}from"../../../../../_virtual/jsx-runtime.js";import s from"../../../../components/SVGLoader/SVGLoader.js";import l from"../../../../assets/icons/DownArrow.svg.js";import a from"../../../../assets/icons/CopySticker.svg.js";import i from"../../../../assets/icons/RequestOption.svg.js";import r from"../../../../assets/icons/ArrowBack.svg.js";import{d}from"../../../../../_virtual/index.js";import{useState as t,useEffect as o}from"react";import{handleStatusColor as n}from"../../../../helpers/methodAccordion.helper.js";import{httpStatusCodes as c}from"../../../../constants/index.js";import h from"../../Codebox/style.module.scss.js";import m from"../../../../components/Tooltip/Tooltip.js";const j=({data:j})=>{var x,p,v,u,b;const[N,y]=t("header"),C=c.map((s=>({label:e.jsxs("div",{className:"statusCodeOptionContainer",children:[e.jsx("div",{className:"statusCodeOptionCircle",style:{backgroundColor:n(s)}}),e.jsx("span",{children:s})]}),value:s}))),[f,w]=t(null),[g,k]=t(C[4]),[q,A]=t({});return((null==j?void 0:j.parameters)||[]).filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===N.toLowerCase()})),o((()=>{if(g&&g.value){const e=null==j?void 0:j.responses[g.value];A(null==e?void 0:e.headers)}}),[g]),e.jsxs("div",{className:"api-details-expanded",children:[e.jsxs("div",{className:"test-button",children:[e.jsx("button",{className:"back-button",onClick:()=>window.history.back(),children:e.jsx(s,{src:r})}),e.jsx(m,{content:"Comming soon",children:e.jsx("button",{className:"disabled",children:"Test"})})]}),e.jsx("h3",{children:" Api Name"}),e.jsx("h1",{className:"api-title",children:null===(x=null==j?void 0:j.api)||void 0===x?void 0:x.title}),e.jsxs("div",{className:"url-box",children:[e.jsxs("div",{style:{textAlign:"center"},children:[e.jsx("span",{className:`method-label ${null===(p=null==j?void 0:j.method)||void 0===p?void 0:p.toLowerCase()}`,children:j.method}),e.jsx("span",{className:"url-text",children:null==j?void 0:j.path})]}),e.jsx("span",{className:"icon",onClick:()=>navigator.clipboard.writeText(null==j?void 0:j.path),children:e.jsx(s,{src:a})})]}),e.jsx("p",{className:"api-desc",children:(null===(v=null==j?void 0:j.api)||void 0===v?void 0:v.description)||"No Description"}),e.jsx("h3",{children:"Request"}),e.jsxs("div",{className:"request-section",children:[e.jsx("div",{className:"request-tabs",children:["header","path","query","Body"].map((l=>e.jsxs("button",{className:"tab "+(N===l?"active":""),onClick:()=>y(l),children:[e.jsx(s,{src:i,className:"icon-left"}),e.jsx("span",{className:"tab-label",children:"requestBody"===l?"Request Body":l.charAt(0).toUpperCase()+l.slice(1)})]},l)))}),e.jsx("div",{className:"table-wrapper",children:e.jsxs("table",{className:"param-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"head-table-label",children:"Parameter Name"}),e.jsx("th",{className:"head-table-label",children:"Required"}),e.jsx("th",{className:"head-table-label",children:"Type"}),e.jsx("th",{className:"head-table-label",children:"Enum"}),e.jsx("th",{className:"head-table-label",children:"Description"})]})}),e.jsx("tbody",{children:null===(u=j.parameters)||void 0===u?void 0:u.filter((e=>{var s;return(null===(s=e.in)||void 0===s?void 0:s.toLowerCase())===N.toLowerCase()})).map(((a,i)=>{var r,d;return e.jsxs("tr",{children:[e.jsx("td",{children:a.name}),e.jsx("td",{children:a.required?"True":"False"}),e.jsx("td",{children:(null===(r=a.schema)||void 0===r?void 0:r.type)||"-"}),e.jsx("td",{children:Array.isArray(null===(d=a.schema)||void 0===d?void 0:d.enum)?a.schema.enum.join(" / "):"-"}),e.jsxs("td",{className:"desc-cell",children:[e.jsx("div",{className:"desc-text "+(f===i?"expanded":""),children:a.description||"No description"}),e.jsx("button",{className:"desc-toggle",onClick:()=>w(f===i?null:i),children:e.jsx(s,{src:l,className:f===i?"rotated":""})})]})]},i)}))})]})})]}),e.jsxs("div",{className:"response-section",children:[e.jsx("h3",{children:"Response"}),e.jsx("div",{style:{width:"7.5rem",marginLeft:"auto"},children:(null===(b=Object.keys((null==j?void 0:j.responses)||{}))||void 0===b?void 0:b.length)>0&&e.jsx("div",{className:h.codeboxSection,children:e.jsx("div",{className:`${h.codeboxHeader}`,children:e.jsx(d.SelectGroup,{size:"small",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:C}],value:g,onChange:e=>{k(e)}})})})}),e.jsxs("button",{className:"tab active ",children:[e.jsx(s,{src:i,className:"icon-left"}),"Header"]}),e.jsx("div",{className:"table-wrapper",children:e.jsxs("table",{className:"param-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{className:"head-table-label",children:"Header Name"}),e.jsx("th",{className:"head-table-label",children:"Required"}),e.jsx("th",{className:"head-table-label",children:"Type"}),e.jsx("th",{className:"head-table-label",children:"Enum"}),e.jsx("th",{className:"head-table-label",children:"Description"})]})}),e.jsx("tbody",{children:!!q&&Object.keys(q)&&Object.keys(q).map(((s,l)=>{var a,i,r,d,t,o,n;return e.jsxs("tr",{children:[e.jsx("td",{children:s}),e.jsx("td",{children:null===(a=q[s])||void 0===a?void 0:a.required.toString()}),e.jsx("td",{children:null===(r=null===(i=q[s])||void 0===i?void 0:i.schema)||void 0===r?void 0:r.type}),e.jsx("td",{children:null===(o=null===(t=null===(d=q[s])||void 0===d?void 0:d.schema)||void 0===t?void 0:t.enum)||void 0===o?void 0:o.join("/")}),e.jsx("td",{children:null===(n=q[s])||void 0===n?void 0:n.description})]})}))})]})})]})]})};export{j as EndpointPage};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/EndpointPage/index.tsx"],"sourcesContent":["import './style.scss'\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport {\n ArrowBack,\n CopySticker,\n DownArrowIcon,\n RequestOption,\n} from '../../../../assets/icons/index'\nimport { ArrowIcon, SelectGroup } from 'digitinary-ui'\nimport { useEffect, useState } from 'react'\nimport { EndpointData } from 'src/layout/docsLayout'\nimport { handleStatusColor } from '../../../../helpers/methodAccordion.helper'\nimport { httpStatusCodes } from '../../../../constants/index'\nimport styles from '../../Codebox/style.module.scss'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\n\nexport const EndpointPage = ({ data }) => {\n const [activeTab, setActiveTab] = useState('header')\n\n const httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={'statusCodeOptionContainer'}>\n <div\n className={'statusCodeOptionCircle'}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n }))\n\n const [expanded, setExpanded] = useState(null)\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const [headersList, setHeadersList] = useState({})\n const requestTableData = (data?.parameters || []).filter(\n (param) => param.in?.toLowerCase() === activeTab.toLowerCase()\n )\n\n useEffect(() => {\n if (selectedResStatusCode && selectedResStatusCode.value) {\n const headerObj = data?.responses[selectedResStatusCode.value]\n setHeadersList(headerObj?.headers)\n }\n }, [selectedResStatusCode])\n\n return (\n <div className=\"api-details-expanded\">\n <div className=\"test-button\">\n <button className=\"back-button\" onClick={() => window.history.back()}>\n <SVGLoader src={ArrowBack} />\n </button>\n\n <Tooltip content=\"Comming soon\">\n <button className=\"disabled\">Test</button>\n </Tooltip>\n </div>\n <h3> Api Name</h3>\n <h1 className=\"api-title\">{data?.api?.title}</h1>\n <div className=\"url-box\">\n <div style={{ textAlign: 'center' }}>\n <span className={`method-label ${data?.method?.toLowerCase()}`}>{data.method}</span>\n <span className=\"url-text\">{data?.path}</span>\n </div>\n <span className=\"icon\" onClick={() => navigator.clipboard.writeText(data?.path)}>\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n\n <p className=\"api-desc\">{data?.api?.description || 'No Description'}</p>\n\n <h3>Request</h3>\n\n <div className=\"request-section\">\n <div className=\"request-tabs\">\n {['header', 'path', 'query', 'Body'].map((tab) => (\n <button\n key={tab}\n className={`tab ${activeTab === tab ? 'active' : ''}`}\n onClick={() => setActiveTab(tab)}\n >\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n <span className=\"tab-label\">\n {tab === 'requestBody'\n ? 'Request Body'\n : tab.charAt(0).toUpperCase() + tab.slice(1)}\n </span>\n </button>\n ))}\n </div>\n\n {\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Parameter Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {data.parameters\n ?.filter((p) => p.in?.toLowerCase() === activeTab.toLowerCase())\n .map((row, index) => (\n <tr key={index}>\n <td>{row.name}</td>\n <td>{row.required ? 'True' : 'False'}</td>\n <td>{row.schema?.type || '-'}</td>\n <td>{Array.isArray(row.schema?.enum) ? row.schema.enum.join(' / ') : '-'}</td>\n <td className=\"desc-cell\">\n <div className={`desc-text ${expanded === index ? 'expanded' : ''}`}>\n {row.description || 'No description'}\n </div>\n <button\n className=\"desc-toggle\"\n onClick={() => setExpanded(expanded === index ? null : index)}\n >\n <SVGLoader\n src={DownArrowIcon}\n className={expanded === index ? 'rotated' : ''}\n />\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n }\n </div>\n\n <div className=\"response-section\">\n <h3>Response</h3>\n\n <div style={{ width: '7.5rem', marginLeft: 'auto' }}>\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <SelectGroup\n size=\"small\"\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedResStatusCode}\n onChange={(value) => {\n setSelectedResStatusCode(value)\n }}\n />\n </div>\n </div>\n )}\n </div>\n\n <button className=\"tab active \">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Header\n </button>\n\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Header Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {Object.keys(headersList).map((key, index) => (\n <tr>\n <td>{key}</td>\n <td>{headersList[key]?.required.toString()}</td>\n <td>{headersList[key]?.schema?.type}</td>\n <td>{headersList[key]?.schema?.enum?.join('/')}</td>\n <td>{headersList[key]?.description}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n </div>\n )\n}\n"],"names":["EndpointPage","data","activeTab","setActiveTab","useState","httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","jsxs","className","children","_jsx","style","backgroundColor","handleStatusColor","value","expanded","setExpanded","selectedResStatusCode","setSelectedResStatusCode","headersList","setHeadersList","parameters","filter","param","in","_a","toLowerCase","useEffect","headerObj","responses","headers","jsx","onClick","window","history","back","SVGLoader","src","ArrowBack","Tooltip","content","api","title","textAlign","_b","method","path","navigator","clipboard","writeText","CopySticker","_c","description","tab","RequestOption","charAt","toUpperCase","slice","_d","p","row","index","name","required","schema","type","Array","isArray","enum","join","DownArrowIcon","width","marginLeft","Object","keys","_e","length","styles","codeboxSection","codeboxHeader","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","key","toString","_f","_g"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/EndpointPage/index.tsx"],"sourcesContent":["import './style.scss'\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport {\n ArrowBack,\n CopySticker,\n DownArrowIcon,\n RequestOption,\n} from '../../../../assets/icons/index'\nimport { ArrowIcon, SelectGroup } from 'digitinary-ui'\nimport { useEffect, useState } from 'react'\nimport { EndpointData } from 'src/layout/docsLayout'\nimport { handleStatusColor } from '../../../../helpers/methodAccordion.helper'\nimport { httpStatusCodes } from '../../../../constants/index'\nimport styles from '../../Codebox/style.module.scss'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\n\nexport const EndpointPage = ({ data }) => {\n const [activeTab, setActiveTab] = useState('header')\n\n const httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={'statusCodeOptionContainer'}>\n <div\n className={'statusCodeOptionCircle'}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n }))\n\n const [expanded, setExpanded] = useState(null)\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const [headersList, setHeadersList] = useState({})\n const requestTableData = (data?.parameters || []).filter(\n (param) => param.in?.toLowerCase() === activeTab.toLowerCase()\n )\n\n useEffect(() => {\n if (selectedResStatusCode && selectedResStatusCode.value) {\n const headerObj = data?.responses[selectedResStatusCode.value]\n setHeadersList(headerObj?.headers)\n }\n }, [selectedResStatusCode])\n\n return (\n <div className=\"api-details-expanded\">\n <div className=\"test-button\">\n <button className=\"back-button\" onClick={() => window.history.back()}>\n <SVGLoader src={ArrowBack} />\n </button>\n\n <Tooltip content=\"Comming soon\">\n <button className=\"disabled\">Test</button>\n </Tooltip>\n </div>\n <h3> Api Name</h3>\n <h1 className=\"api-title\">{data?.api?.title}</h1>\n <div className=\"url-box\">\n <div style={{ textAlign: 'center' }}>\n <span className={`method-label ${data?.method?.toLowerCase()}`}>{data.method}</span>\n <span className=\"url-text\">{data?.path}</span>\n </div>\n <span className=\"icon\" onClick={() => navigator.clipboard.writeText(data?.path)}>\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n\n <p className=\"api-desc\">{data?.api?.description || 'No Description'}</p>\n\n <h3>Request</h3>\n\n <div className=\"request-section\">\n <div className=\"request-tabs\">\n {['header', 'path', 'query', 'Body'].map((tab) => (\n <button\n key={tab}\n className={`tab ${activeTab === tab ? 'active' : ''}`}\n onClick={() => setActiveTab(tab)}\n >\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n <span className=\"tab-label\">\n {tab === 'requestBody'\n ? 'Request Body'\n : tab.charAt(0).toUpperCase() + tab.slice(1)}\n </span>\n </button>\n ))}\n </div>\n\n {\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Parameter Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {data.parameters\n ?.filter((p) => p.in?.toLowerCase() === activeTab.toLowerCase())\n .map((row, index) => (\n <tr key={index}>\n <td>{row.name}</td>\n <td>{row.required ? 'True' : 'False'}</td>\n <td>{row.schema?.type || '-'}</td>\n <td>{Array.isArray(row.schema?.enum) ? row.schema.enum.join(' / ') : '-'}</td>\n <td className=\"desc-cell\">\n <div className={`desc-text ${expanded === index ? 'expanded' : ''}`}>\n {row.description || 'No description'}\n </div>\n <button\n className=\"desc-toggle\"\n onClick={() => setExpanded(expanded === index ? null : index)}\n >\n <SVGLoader\n src={DownArrowIcon}\n className={expanded === index ? 'rotated' : ''}\n />\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n }\n </div>\n\n <div className=\"response-section\">\n <h3>Response</h3>\n\n <div style={{ width: '7.5rem', marginLeft: 'auto' }}>\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <SelectGroup\n size=\"small\"\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedResStatusCode}\n onChange={(value) => {\n setSelectedResStatusCode(value)\n }}\n />\n </div>\n </div>\n )}\n </div>\n\n <button className=\"tab active \">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Header\n </button>\n\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Header Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {!!headersList && Object.keys(headersList) && Object.keys(headersList).map((key, index) => (\n <tr>\n <td>{key}</td>\n <td>{headersList[key]?.required.toString()}</td>\n <td>{headersList[key]?.schema?.type}</td>\n <td>{headersList[key]?.schema?.enum?.join('/')}</td>\n <td>{headersList[key]?.description}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n </div>\n )\n}\n"],"names":["EndpointPage","data","activeTab","setActiveTab","useState","httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","jsxs","className","children","_jsx","style","backgroundColor","handleStatusColor","value","expanded","setExpanded","selectedResStatusCode","setSelectedResStatusCode","headersList","setHeadersList","parameters","filter","param","in","_a","toLowerCase","useEffect","headerObj","responses","headers","jsx","onClick","window","history","back","SVGLoader","src","ArrowBack","Tooltip","content","api","title","textAlign","_b","method","path","navigator","clipboard","writeText","CopySticker","_c","description","tab","RequestOption","charAt","toUpperCase","slice","_d","p","row","index","name","required","schema","type","Array","isArray","enum","join","DownArrowIcon","width","marginLeft","Object","keys","_e","length","styles","codeboxSection","codeboxHeader","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","key","toString","_f","_g"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../_virtual/jsx-runtime.js";import{useState as t,useRef as s,useEffect as a}from"react";import o from"./docsComponents/index.js";import{transformOpenApiToDocs as i}from"../helpers/docs.helper.js";const r=({apis:r})=>{const[n,p]=t([]),[c,d]=t(!0),[l,m]=t({}),[x,v]=t("OVERVIEW"),[j,u]=t({}),D=s([]),[A,f]=t(!0);console.log({apis:r,transformedOpenApis:n,activeItemData:l}),a((()=>{var e;if(0===n.length){const t=null===(e=structuredClone(r))||void 0===e?void 0:e.map((e=>i(e))).sort(((e,t)=>e.title.toLowerCase().localeCompare(t.title.toLowerCase())));p(t),D.current=t,t.length>0&&f(!1)}}),[r]);return e.jsxs(o,{children:[e.jsx(o.DocsHeader,{transformedOpenApis:n,updateFilteredData:(e,t=!1)=>{p(t?D.current:e)}}),e.jsx(o.DocsSideMenuTree,{apis:n,setActiveItemData:m,activeItemData:l,expandedSections:j,setExpandedSections:u,isFirstApiExpanded:c,activeType:x,setIsFirstApiExpanded:d,setActiveType:v}),!A&&Object.keys(l).length>0&&e.jsx(o.DocsContent,{data:l,activeType:x,setActiveItemData:m,setActiveType:v,setExpandedSections:u}),"ENDPOINT"===x&&e.jsx(o.DocsAside,{data:l})]})};export{r as default};
1
+ import{j as e}from"../../_virtual/jsx-runtime.js";import{useState as t,useRef as s,useEffect as a}from"react";import o from"./docsComponents/index.js";import{transformOpenApiToDocs as r}from"../helpers/docs.helper.js";const i=({apis:i})=>{const[n,c]=t([]),[d,p]=t(!0),[l,m]=t({}),[x,j]=t("OVERVIEW"),[u,v]=t({}),D=s([]),[A,f]=t(!0);a((()=>{var e;if(0===n.length){const t=null===(e=structuredClone(i))||void 0===e?void 0:e.map((e=>r(e))).sort(((e,t)=>e.title.toLowerCase().localeCompare(t.title.toLowerCase())));c(t),D.current=t,t.length>0&&f(!1)}}),[i]);return e.jsxs(o,{children:[e.jsx(o.DocsHeader,{transformedOpenApis:n,updateFilteredData:(e,t=!1)=>{c(t?D.current:e)}}),e.jsx(o.DocsSideMenuTree,{apis:n,setActiveItemData:m,activeItemData:l,expandedSections:u,setExpandedSections:v,isFirstApiExpanded:d,activeType:x,setIsFirstApiExpanded:p,setActiveType:j}),!A&&Object.keys(l).length>0&&e.jsx(o.DocsContent,{data:l,activeType:x,setActiveItemData:m,setActiveType:j,setExpandedSections:v}),"ENDPOINT"===x&&e.jsx(o.DocsAside,{data:l})]})};export{i as default};
2
2
  //# sourceMappingURL=docsLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docsLayout.js","sources":["../../../src/layout/docsLayout.tsx"],"sourcesContent":["import React, { JSX, useEffect, useRef, useState } from 'react'\nimport Layout from './docsComponents'\nimport { HTTPMethod, OpenAPIFile, Parameter, RequestBody, Responses } from '@entities/openApi'\nimport { transformOpenApiToDocs } from '../helpers/docs.helper'\nimport { ApiSpecModel } from '@entities/index'\n\ninterface ILayoutProps {\n apis?: ApiSpecModel[]\n}\n\nexport interface TagData {\n id: string\n method: HTTPMethod\n path: string\n tags: string[]\n responses: Responses\n summary?: string\n description: string\n parameters?: Parameter[]\n requestBody?: RequestBody\n}\n\nexport interface EndpointData extends TagData {\n api: {\n id: string\n description: string\n title: string\n version: string\n }\n}\n\nexport interface OverviewData extends Omit<ApiSpecModel, 'metaData'> {\n description: string\n title: string\n version: string\n tags: Record<string, TagData[]>\n servers: OpenAPIFile['servers']\n}\n\nconst DocsLayout = ({ apis }: ILayoutProps): JSX.Element => {\n const [transformedOpenApis, setTransformedOpenApis] = useState([])\n const [isFirstApiExpanded, setIsFirstApiExpanded] = useState(true)\n const [activeItemData, setActiveItemData] = useState<OverviewData | EndpointData | {}>({})\n const [activeType, setActiveType] = useState<'OVERVIEW' | 'ENDPOINT'>('OVERVIEW')\n const [expandedSections, setExpandedSections] = useState({})\n const allData = useRef([]);\n const [pending, setPending] = useState(true)\n console.log({ apis, transformedOpenApis, activeItemData })\n useEffect(() => {\n if (transformedOpenApis.length === 0) {\n const t = structuredClone(apis)\n ?.map((o3) => transformOpenApiToDocs(o3))\n .sort((a, b) => a.title.toLowerCase().localeCompare(b.title.toLowerCase()))\n setTransformedOpenApis(t)\n allData.current = t\n if (t.length > 0) {\n setPending(false)\n }\n }\n }, [apis])\n\n const updateFilteredData = (filteredItems, isReset=false) => {\n if(isReset){\n setTransformedOpenApis(allData.current)\n return;\n }\n setTransformedOpenApis(filteredItems)\n }\n\n return (\n <Layout>\n <Layout.DocsHeader transformedOpenApis={transformedOpenApis} updateFilteredData={updateFilteredData}/>\n <Layout.DocsSideMenuTree\n apis={transformedOpenApis}\n setActiveItemData={setActiveItemData}\n activeItemData={activeItemData}\n expandedSections={expandedSections}\n setExpandedSections={setExpandedSections}\n isFirstApiExpanded={isFirstApiExpanded}\n activeType={activeType}\n setIsFirstApiExpanded={setIsFirstApiExpanded}\n setActiveType={setActiveType}\n />\n {!pending && Object.keys(activeItemData).length > 0 && (\n <Layout.DocsContent\n data={activeItemData}\n activeType={activeType}\n setActiveItemData={setActiveItemData}\n setActiveType={setActiveType}\n setExpandedSections={setExpandedSections}\n />\n )}\n {activeType === 'ENDPOINT' && <Layout.DocsAside data={activeItemData as EndpointData} />}\n </Layout>\n )\n}\n\nexport default DocsLayout\n"],"names":["DocsLayout","apis","transformedOpenApis","setTransformedOpenApis","useState","isFirstApiExpanded","setIsFirstApiExpanded","activeItemData","setActiveItemData","activeType","setActiveType","expandedSections","setExpandedSections","allData","useRef","pending","setPending","console","log","useEffect","length","t","_a","structuredClone","map","o3","transformOpenApiToDocs","sort","a","b","title","toLowerCase","localeCompare","current","_jsxs","Layout","children","_jsx","DocsHeader","updateFilteredData","filteredItems","isReset","DocsSideMenuTree","Object","keys","DocsContent","data","DocsAside"],"mappings":"0NAuCA,MAAMA,EAAa,EAAGC,WACpB,MAAOC,EAAqBC,GAA0BC,EAAS,KACxDC,EAAoBC,GAAyBF,GAAS,IACtDG,EAAgBC,GAAqBJ,EAA2C,CAAE,IAClFK,EAAYC,GAAiBN,EAAkC,aAC/DO,EAAkBC,GAAuBR,EAAS,CAAE,GACrDS,EAAUC,EAAO,KAChBC,EAASC,GAAcZ,GAAS,GACvCa,QAAQC,IAAI,CAAEjB,OAAMC,sBAAqBK,mBACzCY,GAAU,WACR,GAAmC,IAA/BjB,EAAoBkB,OAAc,CACpC,MAAMC,UAAIC,EAAAC,gBAAgBtB,yBACtBuB,KAAKC,GAAOC,EAAuBD,KACpCE,MAAK,CAACC,EAAGC,IAAMD,EAAEE,MAAMC,cAAcC,cAAcH,EAAEC,MAAMC,iBAC9D5B,EAAuBkB,GACvBR,EAAQoB,QAAUZ,EACdA,EAAED,OAAS,GACbJ,GAAW,EAEd,IACA,CAACf,IAUJ,OACEiC,EAAAA,KAACC,EACC,CAAAC,SAAA,CAAAC,EAAAA,IAACF,EAAOG,WAAU,CAACpC,oBAAqBA,EAAqBqC,mBAVtC,CAACC,EAAeC,GAAQ,KAE/CtC,EADCsC,EACsB5B,EAAQoB,QAGVO,EAAc,IAMnCH,EAAAA,IAACF,EAAOO,iBACN,CAAAzC,KAAMC,EACNM,kBAAmBA,EACnBD,eAAgBA,EAChBI,iBAAkBA,EAClBC,oBAAqBA,EACrBP,mBAAoBA,EACpBI,WAAYA,EACZH,sBAAuBA,EACvBI,cAAeA,KAEfK,GAAW4B,OAAOC,KAAKrC,GAAgBa,OAAS,GAChDiB,EAAAA,IAACF,EAAOU,YAAW,CACjBC,KAAMvC,EACNE,WAAYA,EACZD,kBAAmBA,EACnBE,cAAeA,EACfE,oBAAqBA,IAGT,aAAfH,GAA6B4B,EAAAA,IAACF,EAAOY,UAAS,CAACD,KAAMvC,MAEzD"}
1
+ {"version":3,"file":"docsLayout.js","sources":["../../../src/layout/docsLayout.tsx"],"sourcesContent":["import React, { JSX, useEffect, useRef, useState } from 'react'\nimport Layout from './docsComponents'\nimport { HTTPMethod, OpenAPIFile, Parameter, RequestBody, Responses } from '@entities/openApi'\nimport { transformOpenApiToDocs } from '../helpers/docs.helper'\nimport { ApiSpecModel } from '@entities/index'\n\ninterface ILayoutProps {\n apis?: ApiSpecModel[]\n}\n\nexport interface TagData {\n id: string\n method: HTTPMethod\n path: string\n tags: string[]\n responses: Responses\n summary?: string\n description: string\n parameters?: Parameter[]\n requestBody?: RequestBody\n}\n\nexport interface EndpointData extends TagData {\n api: {\n id: string\n description: string\n title: string\n version: string\n }\n}\n\nexport interface OverviewData extends Omit<ApiSpecModel, 'metaData'> {\n description: string\n title: string\n version: string\n tags: Record<string, TagData[]>\n servers: OpenAPIFile['servers']\n}\n\nconst DocsLayout = ({ apis }: ILayoutProps): JSX.Element => {\n const [transformedOpenApis, setTransformedOpenApis] = useState([])\n const [isFirstApiExpanded, setIsFirstApiExpanded] = useState(true)\n const [activeItemData, setActiveItemData] = useState<OverviewData | EndpointData | {}>({})\n const [activeType, setActiveType] = useState<'OVERVIEW' | 'ENDPOINT'>('OVERVIEW')\n const [expandedSections, setExpandedSections] = useState({})\n const allData = useRef([]);\n const [pending, setPending] = useState(true)\n useEffect(() => {\n if (transformedOpenApis.length === 0) {\n const t = structuredClone(apis)\n ?.map((o3) => transformOpenApiToDocs(o3))\n .sort((a, b) => a.title.toLowerCase().localeCompare(b.title.toLowerCase()))\n setTransformedOpenApis(t)\n allData.current = t\n if (t.length > 0) {\n setPending(false)\n }\n }\n }, [apis])\n\n const updateFilteredData = (filteredItems, isReset=false) => {\n if(isReset){\n setTransformedOpenApis(allData.current)\n return;\n }\n setTransformedOpenApis(filteredItems)\n }\n\n return (\n <Layout>\n <Layout.DocsHeader transformedOpenApis={transformedOpenApis} updateFilteredData={updateFilteredData}/>\n <Layout.DocsSideMenuTree\n apis={transformedOpenApis}\n setActiveItemData={setActiveItemData}\n activeItemData={activeItemData}\n expandedSections={expandedSections}\n setExpandedSections={setExpandedSections}\n isFirstApiExpanded={isFirstApiExpanded}\n activeType={activeType}\n setIsFirstApiExpanded={setIsFirstApiExpanded}\n setActiveType={setActiveType}\n />\n {!pending && Object.keys(activeItemData).length > 0 && (\n <Layout.DocsContent\n data={activeItemData}\n activeType={activeType}\n setActiveItemData={setActiveItemData}\n setActiveType={setActiveType}\n setExpandedSections={setExpandedSections}\n />\n )}\n {activeType === 'ENDPOINT' && <Layout.DocsAside data={activeItemData as EndpointData} />}\n </Layout>\n )\n}\n\nexport default DocsLayout\n"],"names":["DocsLayout","apis","transformedOpenApis","setTransformedOpenApis","useState","isFirstApiExpanded","setIsFirstApiExpanded","activeItemData","setActiveItemData","activeType","setActiveType","expandedSections","setExpandedSections","allData","useRef","pending","setPending","useEffect","length","t","_a","structuredClone","map","o3","transformOpenApiToDocs","sort","a","b","title","toLowerCase","localeCompare","current","_jsxs","Layout","children","_jsx","DocsHeader","updateFilteredData","filteredItems","isReset","DocsSideMenuTree","Object","keys","DocsContent","data","DocsAside"],"mappings":"0NAuCA,MAAMA,EAAa,EAAGC,WACpB,MAAOC,EAAqBC,GAA0BC,EAAS,KACxDC,EAAoBC,GAAyBF,GAAS,IACtDG,EAAgBC,GAAqBJ,EAA2C,CAAE,IAClFK,EAAYC,GAAiBN,EAAkC,aAC/DO,EAAkBC,GAAuBR,EAAS,CAAE,GACrDS,EAAUC,EAAO,KAChBC,EAASC,GAAcZ,GAAS,GACvCa,GAAU,WACR,GAAmC,IAA/Bf,EAAoBgB,OAAc,CACpC,MAAMC,UAAIC,EAAAC,gBAAgBpB,yBACtBqB,KAAKC,GAAOC,EAAuBD,KACpCE,MAAK,CAACC,EAAGC,IAAMD,EAAEE,MAAMC,cAAcC,cAAcH,EAAEC,MAAMC,iBAC9D1B,EAAuBgB,GACvBN,EAAQkB,QAAUZ,EACdA,EAAED,OAAS,GACbF,GAAW,EAEd,IACA,CAACf,IAUJ,OACE+B,EAAAA,KAACC,EACC,CAAAC,SAAA,CAAAC,EAAAA,IAACF,EAAOG,WAAU,CAAClC,oBAAqBA,EAAqBmC,mBAVtC,CAACC,EAAeC,GAAQ,KAE/CpC,EADCoC,EACsB1B,EAAQkB,QAGVO,EAAc,IAMnCH,EAAAA,IAACF,EAAOO,iBACN,CAAAvC,KAAMC,EACNM,kBAAmBA,EACnBD,eAAgBA,EAChBI,iBAAkBA,EAClBC,oBAAqBA,EACrBP,mBAAoBA,EACpBI,WAAYA,EACZH,sBAAuBA,EACvBI,cAAeA,KAEfK,GAAW0B,OAAOC,KAAKnC,GAAgBW,OAAS,GAChDiB,EAAAA,IAACF,EAAOU,YAAW,CACjBC,KAAMrC,EACNE,WAAYA,EACZD,kBAAmBA,EACnBE,cAAeA,EACfE,oBAAqBA,IAGT,aAAfH,GAA6B0B,EAAAA,IAACF,EAAOY,UAAS,CAACD,KAAMrC,MAEzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["import { JSX, useEffect, useState } from 'react'\nimport { Alert, Button } from 'digitinary-ui'\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\nimport styles from './layout.module.css'\nimport InfoForm from '../components/InfoForm/InfoForm'\nimport SectionHead from '../components/SectionHead/SectionHead'\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\nimport { OpenAPIFile } from '../types/openApi'\nimport LivePreview from '../components/LivePreview/LivePreview'\nimport { FormikProvider, useFormik } from 'formik'\nimport { schemaValidation } from '../validator/form.scheme'\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\nimport { methodColorMapping } from '../constants/index'\nimport CommonDialog from '../components/dialog'\n\ninterface ILayoutProps {\n openApiJson?: OpenAPIFile\n handleSave?: (values: unknown) => unknown\n setIsFormDirty?: any\n openApiErrors?: any\n}\n\nconst Layout = ({\n openApiJson,\n handleSave,\n setIsFormDirty,\n openApiErrors,\n}: ILayoutProps): JSX.Element => {\n const clonedOpenApiJson = structuredClone(openApiJson)\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\n const formik = useFormik<TransformedOpenApi>({\n initialValues: structuredClone(transformedOpenApi),\n validationSchema: schemaValidation,\n validateOnMount: true,\n onSubmit: (values, { validateForm, resetForm, setSubmitting }) => {\n // Handle save logic\n try {\n const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\n handleSave(originalOpenApiForm)\n resetForm({\n values: values, // You can reset it to the same values if you want\n })\n\n validateForm(values)\n } catch (err) {\n setSubmitting(false)\n }\n },\n })\n const { dirty, isValid, isSubmitting, values, setFieldValue, handleSubmit, errors } = formik\n const [isPublishDialogOpen, setIsPublishDialogOpen] = useState(false)\n const [openMethodIndex, setOpenMethodIndex] = useState<number | null>(null)\n\n useEffect(() => {\n if (setIsFormDirty) {\n setIsFormDirty(dirty)\n }\n }, [dirty])\n\n // keep it here until production\n useEffect(() => {\n console.log({ values, errors })\n }, [values])\n\n return (\n <div className={styles.docsLayout}>\n {dirty && (\n <Alert className={styles.apiDocAlert} color=\"warning\" severity=\"warning\">\n There are changes you made may not be saved\n </Alert>\n )}\n <div className={styles.layoutContainer}>\n <div className={`${styles.editorSide} ${styles.docSide}`}>\n <SectionHead\n className={styles.editorSectionHead_title}\n text={\n <div className={styles.editorSectionHead_content}>\n API Documentation\n <Button\n className={styles.methodForm_submitBtn}\n size=\"medium\"\n fullWidth={false}\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n onClick={() => setIsPublishDialogOpen(true)}\n disabled={!isValid || isSubmitting || !dirty}\n >\n Save\n </Button>\n </div>\n }\n />\n <FormikProvider value={formik}>\n <InfoForm />\n </FormikProvider>\n <SectionHead className={styles.editorSectionHead} text=\"Endpoints\" />\n <FormikProvider value={formik}>\n {values.paths.map((path, pathIndex) => (\n <>\n {path.methods\n .sort(\n (a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order\n )\n .map((method, methodIndex) => (\n <MethodsAccordion\n tags={values.tags}\n method={method}\n path={path.path}\n setFieldValue={(key, value) => {\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\n setFieldValue(h, value)\n }}\n isOpen={openMethodIndex === methodIndex}\n setIsOpen={(open) => setOpenMethodIndex(open ? methodIndex : null)}\n errors={(formik.errors.paths?.[pathIndex] as any)?.methods?.[methodIndex]}\n />\n ))}\n </>\n ))}\n </FormikProvider>\n </div>\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\n {transformedOpenApi && (\n <FormikProvider value={formik}>\n <LivePreview transformedData={transformedOpenApi} openApiErrors={openApiErrors} />\n </FormikProvider>\n )}\n </div>\n </div>\n <CommonDialog\n status=\"warning\"\n content={\n <>\n <h5\n style={{\n fontWeight: 600,\n fontSize: '1.5rem',\n lineHeight: '1.875rem',\n color: '#FAAD14',\n textAlign: 'center',\n margin: 0,\n }}\n >\n Publish Changes\n </h5>\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n >\n Are you sure to Publish the changes?\n </p>\n </>\n }\n onSubmit={{\n onClick: () => {\n handleSubmit()\n setIsPublishDialogOpen(false)\n },\n text: 'Publish',\n color: 'warning',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'action',\n fullWidth: true,\n }}\n onClose={() => setIsPublishDialogOpen(false)}\n open={isPublishDialogOpen}\n />\n </div>\n )\n}\n\nexport default Layout\n"],"names":["Layout","openApiJson","handleSave","setIsFormDirty","openApiErrors","clonedOpenApiJson","structuredClone","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","resetForm","setSubmitting","originalOpenApiForm","transformOpenApiObjectToOrigin","err","dirty","isValid","isSubmitting","setFieldValue","handleSubmit","errors","isPublishDialogOpen","setIsPublishDialogOpen","useState","openMethodIndex","setOpenMethodIndex","useEffect","console","log","_jsxs","jsxs","className","styles","docsLayout","children","_jsx","Alert","apiDocAlert","color","severity","layoutContainer","editorSide","docSide","SectionHead","editorSectionHead_title","text","editorSectionHead_content","Button","methodForm_submitBtn","size","fullWidth","type","variant","onClick","disabled","FormikProvider","value","InfoForm","jsx","editorSectionHead","paths","map","path","pathIndex","_Fragment","methods","sort","a","b","methodColorMapping","order","method","methodIndex","MethodsAccordion","tags","key","isOpen","setIsOpen","open","_b","_a","livePreviewSide","LivePreview","transformedData","CommonDialog","status","content","style","fontWeight","fontSize","lineHeight","textAlign","margin","onCancel","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["import { JSX, useEffect, useState } from 'react'\nimport { Alert, Button } from 'digitinary-ui'\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\nimport styles from './layout.module.css'\nimport InfoForm from '../components/InfoForm/InfoForm'\nimport SectionHead from '../components/SectionHead/SectionHead'\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\nimport { OpenAPIFile } from '../types/openApi'\nimport LivePreview from '../components/LivePreview/LivePreview'\nimport { FormikProvider, useFormik } from 'formik'\nimport { schemaValidation } from '../validator/form.scheme'\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\nimport { methodColorMapping } from '../constants/index'\nimport CommonDialog from '../components/dialog'\n\ninterface ILayoutProps {\n openApiJson?: OpenAPIFile\n handleSave?: (values: unknown) => unknown\n setIsFormDirty?: any\n openApiErrors?: any\n}\n\nconst Layout = ({\n openApiJson,\n handleSave,\n setIsFormDirty,\n openApiErrors,\n}: ILayoutProps): JSX.Element => {\n const clonedOpenApiJson = structuredClone(openApiJson)\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\n const formik = useFormik<TransformedOpenApi>({\n initialValues: structuredClone(transformedOpenApi),\n validationSchema: schemaValidation,\n validateOnMount: true,\n onSubmit: (values, { validateForm, resetForm, setSubmitting }) => {\n // Handle save logic\n try {\n const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\n handleSave(originalOpenApiForm)\n resetForm({\n values: values, // You can reset it to the same values if you want\n })\n\n validateForm(values)\n } catch (err) {\n setSubmitting(false)\n }\n },\n })\n const { dirty, isValid, isSubmitting, values, setFieldValue, handleSubmit, errors } = formik\n const [isPublishDialogOpen, setIsPublishDialogOpen] = useState(false)\n const [openMethodIndex, setOpenMethodIndex] = useState<number | null>(null)\n\n useEffect(() => {\n if (setIsFormDirty) {\n setIsFormDirty(dirty)\n }\n }, [dirty])\n\n // TODO: keep it here until production\n useEffect(() => {\n console.log({ values, errors })\n }, [values])\n\n return (\n <div className={styles.docsLayout}>\n {dirty && (\n <Alert className={styles.apiDocAlert} color=\"warning\" severity=\"warning\">\n There are changes you made may not be saved\n </Alert>\n )}\n <div className={styles.layoutContainer}>\n <div className={`${styles.editorSide} ${styles.docSide}`}>\n <SectionHead\n className={styles.editorSectionHead_title}\n text={\n <div className={styles.editorSectionHead_content}>\n API Documentation\n <Button\n className={styles.methodForm_submitBtn}\n size=\"medium\"\n fullWidth={false}\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n onClick={() => setIsPublishDialogOpen(true)}\n disabled={!isValid || isSubmitting || !dirty}\n >\n Save\n </Button>\n </div>\n }\n />\n <FormikProvider value={formik}>\n <InfoForm />\n </FormikProvider>\n <SectionHead className={styles.editorSectionHead} text=\"Endpoints\" />\n <FormikProvider value={formik}>\n {values.paths.map((path, pathIndex) => (\n <>\n {path.methods\n .sort(\n (a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order\n )\n .map((method, methodIndex) => (\n <MethodsAccordion\n tags={values.tags}\n method={method}\n path={path.path}\n setFieldValue={(key, value) => {\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\n setFieldValue(h, value)\n }}\n isOpen={openMethodIndex === methodIndex}\n setIsOpen={(open) => setOpenMethodIndex(open ? methodIndex : null)}\n errors={(formik.errors.paths?.[pathIndex] as any)?.methods?.[methodIndex]}\n />\n ))}\n </>\n ))}\n </FormikProvider>\n </div>\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\n {transformedOpenApi && (\n <FormikProvider value={formik}>\n <LivePreview transformedData={transformedOpenApi} openApiErrors={openApiErrors} />\n </FormikProvider>\n )}\n </div>\n </div>\n <CommonDialog\n status=\"warning\"\n content={\n <>\n <h5\n style={{\n fontWeight: 600,\n fontSize: '1.5rem',\n lineHeight: '1.875rem',\n color: '#FAAD14',\n textAlign: 'center',\n margin: 0,\n }}\n >\n Publish Changes\n </h5>\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n >\n Are you sure to Publish the changes?\n </p>\n </>\n }\n onSubmit={{\n onClick: () => {\n handleSubmit()\n setIsPublishDialogOpen(false)\n },\n text: 'Publish',\n color: 'warning',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'action',\n fullWidth: true,\n }}\n onClose={() => setIsPublishDialogOpen(false)}\n open={isPublishDialogOpen}\n />\n </div>\n )\n}\n\nexport default Layout\n"],"names":["Layout","openApiJson","handleSave","setIsFormDirty","openApiErrors","clonedOpenApiJson","structuredClone","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","resetForm","setSubmitting","originalOpenApiForm","transformOpenApiObjectToOrigin","err","dirty","isValid","isSubmitting","setFieldValue","handleSubmit","errors","isPublishDialogOpen","setIsPublishDialogOpen","useState","openMethodIndex","setOpenMethodIndex","useEffect","console","log","_jsxs","jsxs","className","styles","docsLayout","children","_jsx","Alert","apiDocAlert","color","severity","layoutContainer","editorSide","docSide","SectionHead","editorSectionHead_title","text","editorSectionHead_content","Button","methodForm_submitBtn","size","fullWidth","type","variant","onClick","disabled","FormikProvider","value","InfoForm","jsx","editorSectionHead","paths","map","path","pathIndex","_Fragment","methods","sort","a","b","methodColorMapping","order","method","methodIndex","MethodsAccordion","tags","key","isOpen","setIsOpen","open","_b","_a","livePreviewSide","LivePreview","transformedData","CommonDialog","status","content","style","fontWeight","fontSize","lineHeight","textAlign","margin","onCancel","onClose"],"mappings":"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"}