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

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 (60) hide show
  1. package/dist/_virtual/index3.js +1 -1
  2. package/dist/_virtual/index4.js +1 -1
  3. package/dist/_virtual/index5.js +1 -1
  4. package/dist/_virtual/index6.js +1 -1
  5. package/dist/node_modules/toposort/index.js +1 -1
  6. package/dist/node_modules/yup/index.esm.js +1 -1
  7. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  8. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  9. package/dist/src/helpers/docs.helper.js +1 -1
  10. package/dist/src/helpers/docs.helper.js.map +1 -1
  11. package/dist/src/helpers/layout.helper.js +1 -1
  12. package/dist/src/helpers/layout.helper.js.map +1 -1
  13. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +1 -1
  14. package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +1 -1
  15. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +1 -1
  16. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -1
  17. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +1 -1
  18. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
  19. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js +1 -1
  20. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js.map +1 -1
  21. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +1 -1
  22. package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +1 -1
  23. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +1 -1
  24. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -1
  25. package/dist/src/layout/docsLayout.js +1 -1
  26. package/dist/src/layout/docsLayout.js.map +1 -1
  27. package/dist/src/layout/layout.js +1 -1
  28. package/dist/src/layout/layout.js.map +1 -1
  29. package/dist/src/layout/layout.module.css.js +1 -1
  30. package/dist/src/validator/form.scheme.js +1 -1
  31. package/dist/src/validator/form.scheme.js.map +1 -1
  32. package/dist/styles.css +638 -596
  33. package/dist/types/helpers/docs.helper.d.ts +2 -2
  34. package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +2 -1
  35. package/dist/types/layout/docsComponents/DocsContent/TagPage/index.d.ts +4 -1
  36. package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +12 -6
  37. package/dist/types/layout/docsLayout.d.ts +5 -4
  38. package/dist/types/layout/layout.d.ts +1 -1
  39. package/dist/types/types/index.d.ts +27 -0
  40. package/dist/types/types/layout.type.d.ts +1 -0
  41. package/dist/types/types/openApi.d.ts +1 -0
  42. package/dist/types/validator/form.scheme.d.ts +1 -0
  43. package/package.json +1 -2
  44. package/src/components/MethodAccordion/MethodAccordion.tsx +372 -4
  45. package/src/helpers/docs.helper.ts +17 -4
  46. package/src/helpers/layout.helper.ts +19 -2
  47. package/src/layout/docsComponents/DocsAside/DocsAside.tsx +6 -7
  48. package/src/layout/docsComponents/DocsContent/DocsContent.tsx +24 -3
  49. package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +132 -121
  50. package/src/layout/docsComponents/DocsContent/EndpointPage/style.scss +45 -0
  51. package/src/layout/docsComponents/DocsContent/TagPage/index.tsx +49 -17
  52. package/src/layout/docsComponents/DocsHeader/DocsHeader.tsx +34 -1
  53. package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +106 -79
  54. package/src/layout/docsLayout.tsx +43 -17
  55. package/src/layout/layout.module.css +1 -1
  56. package/src/layout/layout.tsx +36 -18
  57. package/src/types/index.ts +28 -0
  58. package/src/types/layout.type.ts +1 -0
  59. package/src/types/openApi.ts +1 -0
  60. package/src/validator/form.scheme.ts +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"docs.helper.js","sources":["../../../src/helpers/docs.helper.ts"],"sourcesContent":["import { HTTPMethod, OpenAPIFile } from '@entities/openApi'\nimport { nanoid } from 'nanoid'\nimport { OverviewData, TagData } from 'src/layout/docsLayout'\n\nexport const transformOpenApiToDocs = (openApiJson: OpenAPIFile): OverviewData => {\n const groupedPathsByTags: Record<string, TagData[]> = { default: [] }\n const validTags = new Set(openApiJson.tags.map(({ name }) => name))\n\n for (const [path, methods] of Object.entries(openApiJson.paths)) {\n for (const [method, methodData] of Object.entries(methods)) {\n const entry = { ...methodData, method: method as HTTPMethod, path }\n const resourceTags = methodData.tags ?? []\n\n const matchedTags = resourceTags.filter((tag) => validTags.has(tag))\n\n if (matchedTags.length > 0) {\n matchedTags.forEach((tag) => {\n if (!groupedPathsByTags[tag]) groupedPathsByTags[tag] = []\n groupedPathsByTags[tag].push({ ...entry, id: nanoid(8) } as TagData)\n })\n } else {\n groupedPathsByTags.default.push({ ...entry, id: nanoid(8) } as TagData)\n }\n }\n }\n\n return { ...openApiJson.info, id: nanoid(8), tags: groupedPathsByTags }\n}\n"],"names":["transformOpenApiToDocs","openApiJson","groupedPathsByTags","default","validTags","Set","tags","map","name","path","methods","Object","entries","paths","method","methodData","entry","assign","matchedTags","_a","filter","tag","has","length","forEach","push","id","nanoid","info"],"mappings":"4DAIa,MAAAA,EAA0BC,UACrC,MAAMC,EAAgD,CAAEC,QAAS,IAC3DC,EAAY,IAAIC,IAAIJ,EAAYK,KAAKC,KAAI,EAAGC,UAAWA,KAE7D,IAAK,MAAOC,EAAMC,KAAYC,OAAOC,QAAQX,EAAYY,OACvD,IAAK,MAAOC,EAAQC,KAAeJ,OAAOC,QAAQF,GAAU,CAC1D,MAAMM,EAAaL,OAAAM,OAAAN,OAAAM,OAAA,CAAA,EAAAF,GAAY,CAAAD,OAAQA,EAAsBL,SAGvDS,GAF8B,QAAfC,EAAAJ,EAAWT,YAAI,IAAAa,EAAAA,EAAI,IAEPC,QAAQC,GAAQjB,EAAUkB,IAAID,KAE3DH,EAAYK,OAAS,EACvBL,EAAYM,SAASH,IACdnB,EAAmBmB,KAAMnB,EAAmBmB,GAAO,IACxDnB,EAAmBmB,GAAKI,KAAKd,OAAKM,OAAAN,OAAAM,OAAA,CAAA,EAAAD,GAAO,CAAAU,GAAIC,EAAO,KAAgB,IAGtEzB,EAAmBC,QAAQsB,KAAKd,+BAAKK,GAAK,CAAEU,GAAIC,EAAO,KAE1D,CAGH,OAAAhB,OAAAM,OAAAN,OAAAM,OAAA,CAAA,EAAYhB,EAAY2B,MAAI,CAAEF,GAAIC,EAAO,GAAIrB,KAAMJ,GAAoB"}
1
+ {"version":3,"file":"docs.helper.js","sources":["../../../src/helpers/docs.helper.ts"],"sourcesContent":["import { ApiSpecModel } from '@entities/index'\nimport { HTTPMethod, OpenAPIFile } from '@entities/openApi'\nimport { nanoid } from 'nanoid'\nimport { OverviewData, TagData } from 'src/layout/docsLayout'\n\nexport const transformOpenApiToDocs = (api: ApiSpecModel): OverviewData => {\n const parsedOpenApi: OpenAPIFile =\n typeof api.metaData.openApiJson === 'string'\n ? JSON.parse(api.metaData.openApiJson)\n : api.metaData.openApiJson\n const groupedPathsByTags: Record<string, TagData[]> = { default: [] }\n const validTags = new Set(parsedOpenApi.tags.map(({ name }) => name))\n\n for (const [path, methods] of Object.entries(parsedOpenApi.paths)) {\n for (const [method, methodData] of Object.entries(methods)) {\n const entry = { ...methodData, method: method as HTTPMethod, path }\n const resourceTags = methodData.tags ?? []\n\n const matchedTags = resourceTags.filter((tag) => validTags.has(tag))\n\n if (matchedTags.length > 0) {\n matchedTags.forEach((tag) => {\n if (!groupedPathsByTags[tag]) groupedPathsByTags[tag] = []\n groupedPathsByTags[tag].push({ ...entry, id: nanoid(8) } as TagData)\n })\n } else {\n groupedPathsByTags.default.push({ ...entry, id: nanoid(8) } as TagData)\n }\n }\n }\n\n return {\n ...parsedOpenApi.info,\n apiSpecId: api.apiSpecId,\n contextPath: api.contextPath,\n associatedProduct: api.associatedProduct,\n apiVersions: api.apiVersions,\n tags: groupedPathsByTags,\n servers: parsedOpenApi.servers,\n }\n}\n"],"names":["transformOpenApiToDocs","api","parsedOpenApi","metaData","openApiJson","JSON","parse","groupedPathsByTags","default","validTags","Set","tags","map","name","path","methods","Object","entries","paths","method","methodData","entry","assign","matchedTags","_a","filter","tag","has","length","forEach","push","id","nanoid","info","apiSpecId","contextPath","associatedProduct","apiVersions","servers"],"mappings":"4DAKa,MAAAA,EAA0BC,UACrC,MAAMC,EACgC,iBAA7BD,EAAIE,SAASC,YAChBC,KAAKC,MAAML,EAAIE,SAASC,aACxBH,EAAIE,SAASC,YACbG,EAAgD,CAAEC,QAAS,IAC3DC,EAAY,IAAIC,IAAIR,EAAcS,KAAKC,KAAI,EAAGC,UAAWA,KAE/D,IAAK,MAAOC,EAAMC,KAAYC,OAAOC,QAAQf,EAAcgB,OACzD,IAAK,MAAOC,EAAQC,KAAeJ,OAAOC,QAAQF,GAAU,CAC1D,MAAMM,EAAaL,OAAAM,OAAAN,OAAAM,OAAA,CAAA,EAAAF,GAAY,CAAAD,OAAQA,EAAsBL,SAGvDS,GAF8B,QAAfC,EAAAJ,EAAWT,YAAI,IAAAa,EAAAA,EAAI,IAEPC,QAAQC,GAAQjB,EAAUkB,IAAID,KAE3DH,EAAYK,OAAS,EACvBL,EAAYM,SAASH,IACdnB,EAAmBmB,KAAMnB,EAAmBmB,GAAO,IACxDnB,EAAmBmB,GAAKI,KAAKd,OAAKM,OAAAN,OAAAM,OAAA,CAAA,EAAAD,GAAO,CAAAU,GAAIC,EAAO,KAAgB,IAGtEzB,EAAmBC,QAAQsB,KAAKd,+BAAKK,GAAK,CAAEU,GAAIC,EAAO,KAE1D,CAGH,OAAAhB,OAAAM,OAAAN,OAAAM,OAAA,CAAA,EACKpB,EAAc+B,MACjB,CAAAC,UAAWjC,EAAIiC,UACfC,YAAalC,EAAIkC,YACjBC,kBAAmBnC,EAAImC,kBACvBC,YAAapC,EAAIoC,YACjB1B,KAAMJ,EACN+B,QAASpC,EAAcoC,SACxB"}
@@ -1,2 +1,2 @@
1
- import{__rest as e}from"../../node_modules/tslib/tslib.es6.js";const t=e=>{var t,s,n,c;if(e.components&&e.components.securitySchemes){const o=null===(t=Object.keys(e.components.securitySchemes))||void 0===t?void 0:t.at(0);o&&(e.components.securitySchemes[o].type=null===(c=null===(n=null===(s=null==e?void 0:e.components)||void 0===s?void 0:s.securitySchemes)||void 0===n?void 0:n[o])||void 0===c?void 0:c.type)}else e.components={securitySchemes:{Public:{type:"http",scheme:"public"}}};return e.tags||(e.tags=[]),Object.assign(Object.assign({},e),{paths:o(e.paths)})},s=e=>{var t,s,o,n;const i=Object.assign(Object.assign({},e),{paths:c(e.paths)});if(i.components&&i.components.securitySchemes){const e=null===(t=Object.keys(i.components.securitySchemes))||void 0===t?void 0:t.at(0);e&&(i.components.securitySchemes[e].type.toLowerCase()=="APIKEY".toLowerCase()&&(i.components.securitySchemes[e].in=i.components.securitySchemes[e].in),i.components.securitySchemes[e].type=null===(n=null===(o=null===(s=null==i?void 0:i.components)||void 0===s?void 0:s.securitySchemes)||void 0===o?void 0:o[e])||void 0===n?void 0:n.type)}return i},o=e=>Object.entries(e).map((([e,t])=>({path:e,methods:Object.entries(t).map((([e,t])=>{var s,o,n,c,i,r;const p=Object.assign(Object.assign({},t),{type:e,tags:t.tags||[],summary:t.summary||"",responses:Object.entries(t.responses).map((([e,t])=>{var s,o,n,c,i;const r=Object.keys(t.content||{})[0];return{code:e,content:{contentType:r,schema:Object.assign(Object.assign({},null===(o=null===(s=t.content)||void 0===s?void 0:s[r])||void 0===o?void 0:o.schema),{properties:JSON.stringify(null===(i=null===(c=null===(n=t.content)||void 0===n?void 0:n[r])||void 0===c?void 0:c.schema)||void 0===i?void 0:i.properties)})}}}))});if((null==t?void 0:t.parameters)||(p.parameters=[]),"get"!=e.toLowerCase()){const e=Object.keys((null===(s=null==t?void 0:t.requestBody)||void 0===s?void 0:s.content)||{})[0],a=null===(n=null===(o=null==t?void 0:t.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.schema,d=(null===(r=null===(i=null===(c=null==t?void 0:t.requestBody)||void 0===c?void 0:c.content)||void 0===i?void 0:i.schema)||void 0===r?void 0:r.properties)?{content:{contentType:e,schema:Object.assign(Object.assign({},a),{properties:(null==a?void 0:a.properties)?JSON.stringify(null==a?void 0:a.properties):"{}"})}}:{content:{contentType:"application/json",schema:{properties:"{}",type:"object"}}};p.requestBody=d}return p}))}))),n=(e,t)=>{var s;return JSON.parse(null===(s=null==e?void 0:e.schema)||void 0===s?void 0:s.properties)},c=t=>t.reduce(((t,{path:s,methods:o})=>(t[s]=o.reduce(((t,s)=>{var{type:o,tags:c,responses:i,summary:r,requestBody:p}=s,a=e(s,["type","tags","responses","summary","requestBody"]);t[o]=Object.assign(Object.assign({},a),{tags:c,summary:r,responses:i.reduce(((e,{code:t,content:s})=>(e[t]={description:"Success",content:s.contentType?{[s.contentType]:{schema:Object.assign(Object.assign({},s.schema),{properties:n(s)})}}:{}},e)),{})});const d="get"!==o?JSON.parse(p.content.schema.properties):{};return"get"!==o&&(t[o].requestBody={content:{[p.content.contentType]:{schema:Object.assign(Object.assign({},p.content.schema),{properties:d})}}}),t}),{}),t)),{});export{t as transformOpenApiObject,s as transformOpenApiObjectToOrigin,c as transformPathsArrayToOrigin,o as transformPathsToArray};
1
+ import{__rest as e}from"../../node_modules/tslib/tslib.es6.js";const s=e=>{var s,t,n,c;if(e.components&&e.components.securitySchemes){const o=null===(s=Object.keys(e.components.securitySchemes))||void 0===s?void 0:s.at(0);o&&(e.components.securitySchemes[o].type=null===(c=null===(n=null===(t=null==e?void 0:e.components)||void 0===t?void 0:t.securitySchemes)||void 0===n?void 0:n[o])||void 0===c?void 0:c.type)}else e.components={securitySchemes:{Public:{type:"http",scheme:"public"}}};return e.tags||(e.tags=[]),Object.assign(Object.assign({},e),{paths:o(e.paths)})},t=e=>{var s,t,o,n;const i=Object.assign(Object.assign({},e),{paths:c(e.paths)});if(i.components&&i.components.securitySchemes){const e=null===(s=Object.keys(i.components.securitySchemes))||void 0===s?void 0:s.at(0);e&&(i.components.securitySchemes[e].type.toLowerCase()=="APIKEY".toLowerCase()&&(i.components.securitySchemes[e].in=i.components.securitySchemes[e].in),i.components.securitySchemes[e].type=null===(n=null===(o=null===(t=null==i?void 0:i.components)||void 0===t?void 0:t.securitySchemes)||void 0===o?void 0:o[e])||void 0===n?void 0:n.type)}return i},o=e=>Object.entries(e).map((([e,s])=>({path:e,methods:Object.entries(s).map((([e,s])=>{var t,o,n,c,i,r;const p=Object.assign(Object.assign({},s),{type:e,tags:s.tags||[],summary:s.summary||"",responses:Object.entries(s.responses).map((([e,s])=>{var t,o,n,c,i;const r=Object.keys(s.content||{})[0];return{code:e,headers:(null==s?void 0:s.headers)?s.headers:{},content:{contentType:r,schema:Object.assign(Object.assign({},null===(o=null===(t=s.content)||void 0===t?void 0:t[r])||void 0===o?void 0:o.schema),{properties:JSON.stringify(null===(i=null===(c=null===(n=s.content)||void 0===n?void 0:n[r])||void 0===c?void 0:c.schema)||void 0===i?void 0:i.properties)})}}}))});if((null==s?void 0:s.parameters)||(p.parameters=[]),"get"!=e.toLowerCase()){const e=Object.keys((null===(t=null==s?void 0:s.requestBody)||void 0===t?void 0:t.content)||{})[0],d=null===(n=null===(o=null==s?void 0:s.requestBody)||void 0===o?void 0:o.content)||void 0===n?void 0:n.schema,a=(null===(r=null===(i=null===(c=null==s?void 0:s.requestBody)||void 0===c?void 0:c.content)||void 0===i?void 0:i.schema)||void 0===r?void 0:r.properties)?{content:{contentType:e,schema:Object.assign(Object.assign({},d),{properties:(null==d?void 0:d.properties)?JSON.stringify(null==d?void 0:d.properties):"{}"})}}:{content:{contentType:"application/json",schema:{properties:"{}",type:"object"}}};p.requestBody=a}return p}))}))),n=(e,s)=>{var t,o;if(!(null==e?void 0:e.schema)||!(null===(t=null==e?void 0:e.schema)||void 0===t?void 0:t.properties))return{};return JSON.parse(null===(o=null==e?void 0:e.schema)||void 0===o?void 0:o.properties)},c=s=>s.reduce(((s,{path:t,methods:o})=>(s[t]=o.reduce(((s,t)=>{var{type:o,tags:c,responses:i,summary:r,requestBody:p}=t,d=e(t,["type","tags","responses","summary","requestBody"]);s[o]=Object.assign(Object.assign({},d),{tags:c,summary:r,responses:i.reduce(((e,{code:s,content:t,headers:o})=>{const c={};if(o)for(const[e,s]of Object.entries(o))c[e]={description:s.description||"",required:s.required||!1,schema:s.schema||{}};return e[s]={description:"Success",content:t.contentType?{[t.contentType]:{schema:Object.assign(Object.assign({},t.schema),{properties:n(t)})}}:{},headers:c},e}),{})});const a="get"!==o?JSON.parse(p.content.schema.properties):{};return"get"!==o&&(s[o].requestBody={content:{[p.content.contentType]:{schema:Object.assign(Object.assign({},p.content.schema),{properties:a})}}}),s}),{}),s)),{});export{s as transformOpenApiObject,t as transformOpenApiObjectToOrigin,c as transformPathsArrayToOrigin,o as transformPathsToArray};
2
2
  //# sourceMappingURL=layout.helper.js.map
@@ -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 return {\n code,\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 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\n return obj\n }),\n }))\n\n return transformedPaths\n}\n\nconst validateBodyForResponse = (content, method) => {\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 }) => {\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 }\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","schema","properties","JSON","stringify","_e","parameters","requestBody","reqSchema","requestBodyData","validateBodyForResponse","parse","reduce","acc","methodAcc","rest","__rest","respAcc","description","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 // 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,2 +1,2 @@
1
- import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useState as s}from"react";import o from"../Codebox/Codebox.js";import{d as i}from"../../../../_virtual/index.js";import{httpStatusCodes as l}from"../../../constants/index.js";import{handleStatusColor as t}from"../../../helpers/methodAccordion.helper.js";import d from"./style.module.scss.js";const n=l.map((s=>({label:e.jsxs("div",{className:d.statusCodeOptionContainer,children:[e.jsx("div",{className:d.statusCodeOptionCircle,style:{backgroundColor:t(s)}}),e.jsx("span",{children:s})]}),value:s}))),a=({data:l})=>{var t,a;const[r,c]=s(n[4]),u=Object.entries(l.responses).map((([e,s])=>({code:e,data:s}))).find((e=>Number(e.code)===r.value))||"{}";return e.jsxs("aside",{className:d.apiDocsAside,children:[e.jsx("h2",{className:d.apiDocsAside_title,children:l.summary}),e.jsxs("h4",{className:d.apiDocsAside_subtitle,children:[e.jsx("span",{className:d.apiDocsAside_subtitle_method,"data-method":l.method,children:l.method})," ",e.jsx("span",{children:l.path})]}),(null===(t=null==l?void 0:l.requestBody)||void 0===t?void 0:t.content)&&e.jsxs("div",{className:d.codeboxSection,children:[e.jsx("div",{className:d.codeboxHeader,children:e.jsx("h6",{className:d.codeboxTitle,children:"Request"})}),e.jsx(o,{code:(()=>{var e,s,o;if(null===(e=null==l?void 0:l.requestBody)||void 0===e?void 0:e.content){const e=Object.keys(null===(s=null==l?void 0:l.requestBody)||void 0===s?void 0:s.content)[0];return JSON.stringify(null===(o=null==l?void 0:l.requestBody)||void 0===o?void 0:o.content[e],null,2)}return"{}"})()})]}),(null===(a=Object.keys((null==l?void 0:l.responses)||{}))||void 0===a?void 0:a.length)>0&&e.jsxs("div",{className:d.codeboxSection,children:[e.jsxs("div",{className:`${d.codeboxHeader}`,children:[e.jsx("h6",{className:d.codeboxTitle,children:"Response"}),e.jsx(i.SelectGroup,{size:"small",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:n}],value:r,onChange:e=>{c(e)}})]}),e.jsx(o,{code:(()=>{var e,s;if(null==u?void 0:u.data){const o=Object.keys(null===(e=u.data)||void 0===e?void 0:e.content)[0];return JSON.stringify(null===(s=u.data)||void 0===s?void 0:s.content[o],null,2)}return"{}"})()})]})]})};export{a as default};
1
+ import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useState as s}from"react";import o from"../Codebox/Codebox.js";import{d as i}from"../../../../_virtual/index.js";import{httpStatusCodes as l}from"../../../constants/index.js";import{handleStatusColor as t}from"../../../helpers/methodAccordion.helper.js";import d from"./style.module.scss.js";const n=l.map((s=>({label:e.jsxs("div",{className:d.statusCodeOptionContainer,children:[e.jsx("div",{className:d.statusCodeOptionCircle,style:{backgroundColor:t(s)}}),e.jsx("span",{children:s})]}),value:String(s)}))),a=({data:l})=>{var t,a;const[r,c]=s(n[4]),u=Object.entries(l.responses).map((([e,s])=>({code:e,data:s}))).find((e=>e.code===r.value));return e.jsxs("aside",{className:d.apiDocsAside,children:[e.jsx("h2",{className:d.apiDocsAside_title,children:l.summary}),e.jsxs("h4",{className:d.apiDocsAside_subtitle,children:[e.jsx("span",{className:d.apiDocsAside_subtitle_method,"data-method":l.method,children:l.method})," ",e.jsx("span",{children:l.path})]}),(null===(t=null==l?void 0:l.requestBody)||void 0===t?void 0:t.content)&&e.jsxs("div",{className:d.codeboxSection,children:[e.jsx("div",{className:d.codeboxHeader,children:e.jsx("h6",{className:d.codeboxTitle,children:"Request"})}),e.jsx(o,{code:(()=>{var e,s,o;if(null===(e=null==l?void 0:l.requestBody)||void 0===e?void 0:e.content){const e=Object.keys(null===(s=null==l?void 0:l.requestBody)||void 0===s?void 0:s.content)[0];return JSON.stringify(null===(o=null==l?void 0:l.requestBody)||void 0===o?void 0:o.content[e],null,2)}return"{}"})()})]}),(null===(a=Object.keys((null==l?void 0:l.responses)||{}))||void 0===a?void 0:a.length)>0&&e.jsxs("div",{className:d.codeboxSection,children:[e.jsxs("div",{className:`${d.codeboxHeader}`,children:[e.jsx("h6",{className:d.codeboxTitle,children:"Response"}),e.jsx(i.SelectGroup,{size:"small",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:n}],value:r,onChange:e=>{c(e)}})]}),e.jsx(o,{code:(()=>{var e,s;if(null==u?void 0:u.data){const o=Object.keys(null===(e=u.data)||void 0===e?void 0:e.content)[0];return JSON.stringify(null===(s=u.data)||void 0===s?void 0:s.content[o],null,2)}return"{}"})()})]})]})};export{a as default};
2
2
  //# sourceMappingURL=DocsAside.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocsAside.js","sources":["../../../../../src/layout/docsComponents/DocsAside/DocsAside.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { EndpointData } from 'src/layout/docsLayout'\nimport Codebox from '../Codebox/Codebox'\nimport { SelectGroup } from 'digitinary-ui'\nimport { httpStatusCodes } from '../../../constants/index'\nimport { handleStatusColor } from '../../../helpers/methodAccordion.helper'\nimport styles from './style.module.scss'\n\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={styles.statusCodeOptionContainer}>\n <div\n className={styles.statusCodeOptionCircle}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n}))\n\nconst DocsAside = ({ data }: { data: EndpointData }) => {\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const currentResponse =\n Object.entries(data.responses)\n .map(([code, data]) => ({ code, data }))\n .find((res) => Number(res.code) === selectedResStatusCode.value) || '{}'\n\n const stringifyRequestBody = () => {\n if (data?.requestBody?.content) {\n const contentKey = Object.keys(data?.requestBody?.content)[0]\n return JSON.stringify(data?.requestBody?.content[contentKey], null, 2)\n } else {\n return '{}'\n }\n }\n\n const stringifyResponseBody = () => {\n if (currentResponse?.data) {\n const contentKey = Object.keys(currentResponse.data?.content)[0]\n return JSON.stringify(currentResponse.data?.content[contentKey], null, 2)\n } else {\n return '{}'\n }\n }\n\n return (\n <aside className={styles.apiDocsAside}>\n <h2 className={styles.apiDocsAside_title}>{data.summary}</h2>\n <h4 className={styles.apiDocsAside_subtitle}>\n <span className={styles.apiDocsAside_subtitle_method} data-method={data.method}>\n {data.method}\n </span>{' '}\n <span>{data.path}</span>\n </h4>\n {data?.requestBody?.content && (\n <div className={styles.codeboxSection}>\n <div className={styles.codeboxHeader}>\n <h6 className={styles.codeboxTitle}>Request</h6>\n </div>\n\n <Codebox code={stringifyRequestBody()} />\n </div>\n )}\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <h6 className={styles.codeboxTitle}>Response</h6>\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\n <Codebox code={stringifyResponseBody()} />\n </div>\n )}\n </aside>\n )\n}\n\nexport default DocsAside\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","DocsAside","data","selectedResStatusCode","setSelectedResStatusCode","useState","currentResponse","Object","entries","responses","find","res","Number","apiDocsAside","jsx","apiDocsAside_title","summary","jsxs","apiDocsAside_subtitle","apiDocsAside_subtitle_method","method","path","_a","requestBody","content","codeboxSection","codeboxHeader","codeboxTitle","Codebox","contentKey","keys","_b","JSON","stringify","_c","stringifyRequestBody","length","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","stringifyResponseBody"],"mappings":"mWAQA,MAAMA,EAAwBC,EAAgBC,KAAKC,IAAU,CAC3DC,MACEC,EAAAA,KAAK,MAAA,CAAAC,UAAWC,EAAOC,0BAAyBC,SAAA,CAC9CC,EAAAA,IACE,MAAA,CAAAJ,UAAWC,EAAOI,uBAClBC,MAAO,CAAEC,gBAAiBC,EAAkBX,MAE9CO,MAAA,OAAA,CAAAD,SAAON,OAGXY,MAAOZ,MAGHa,EAAY,EAAGC,mBACnB,MAAOC,EAAuBC,GAA4BC,EAASpB,EAAsB,IACnFqB,EACJC,OAAOC,QAAQN,EAAKO,WACjBtB,KAAI,EAAEC,EAAMc,MAAK,CAAQd,OAAMc,WAC/BQ,MAAMC,GAAQC,OAAOD,EAAIvB,QAAUe,EAAsBH,SAAU,KAoBxE,OACEV,EAAAA,KAAO,QAAA,CAAAC,UAAWC,EAAOqB,aAAYnB,SAAA,CACnCC,EAAImB,IAAA,KAAA,CAAAvB,UAAWC,EAAOuB,mBAAqBrB,SAAAQ,EAAKc,UAChD1B,EAAA2B,KAAA,KAAA,CAAI1B,UAAWC,EAAO0B,sBAAqBxB,SAAA,CACzCC,cAAMJ,UAAWC,EAAO2B,6BAA2C,cAAAjB,EAAKkB,OAAM1B,SAC3EQ,EAAKkB,SACA,IACRzB,EAAAmB,IAAA,OAAA,CAAApB,SAAOQ,EAAKmB,WAEM,QAAnBC,EAAApB,eAAAA,EAAMqB,mBAAa,IAAAD,OAAA,EAAAA,EAAAE,UAClBlC,cAAKC,UAAWC,EAAOiC,yBACrB9B,EAAAA,IAAK,MAAA,CAAAJ,UAAWC,EAAOkC,cAAahC,SAClCC,EAAAA,UAAIJ,UAAWC,EAAOmC,aAA0BjC,SAAA,cAGlDC,EAAAA,IAACiC,EAAQ,CAAAxC,KAjCY,gBAC3B,GAAqB,QAAjBkC,EAAApB,aAAI,EAAJA,EAAMqB,mBAAW,IAAAD,OAAA,EAAAA,EAAEE,QAAS,CAC9B,MAAMK,EAAatB,OAAOuB,KAAwB,QAAnBC,EAAA7B,eAAAA,EAAMqB,mBAAa,IAAAQ,OAAA,EAAAA,EAAAP,SAAS,GAC3D,OAAOQ,KAAKC,UAA6B,UAAnB/B,aAAI,EAAJA,EAAMqB,mBAAa,IAAAW,OAAA,EAAAA,EAAAV,QAAQK,GAAa,KAAM,EACrE,CACC,MAAO,IACR,EA2BoBM,SAGgB,UAAlC5B,OAAOuB,MAAK5B,aAAA,EAAAA,EAAMO,YAAa,WAAG,IAAAsB,OAAA,EAAAA,EAAEK,QAAS,GAC5C9C,EAAAA,YAAKC,UAAWC,EAAOiC,eACrB/B,SAAA,CAAAJ,EAAAA,KAAA,MAAA,CAAKC,UAAW,GAAGC,EAAOkC,gBACxBhC,SAAA,CAAAC,EAAAA,IAAA,KAAA,CAAIJ,UAAWC,EAAOmC,mCACtBhC,MAAC0C,EAAAA,YACC,CAAAC,KAAK,QACLC,YAAY,EACZC,YAAY,EACZC,WAAW,EACXC,YAAY,MACZC,QAAS,CACP,CACEC,KAAM3D,IAGVe,MAAOG,EACP0C,SAAW7C,IACTI,EAAyBJ,EAAM,OAKrCL,EAAAmB,IAACc,EAAQ,CAAAxC,KAjDa,cAC5B,GAAIkB,aAAe,EAAfA,EAAiBJ,KAAM,CACzB,MAAM2B,EAAatB,OAAOuB,aAAKR,EAAAhB,EAAgBJ,2BAAMsB,SAAS,GAC9D,OAAOQ,KAAKC,UAA8B,QAApBF,EAAAzB,EAAgBJ,YAAI,IAAA6B,OAAA,EAAAA,EAAEP,QAAQK,GAAa,KAAM,EACxE,CACC,MAAO,IACR,EA2CoBiB,UAItB"}
1
+ {"version":3,"file":"DocsAside.js","sources":["../../../../../src/layout/docsComponents/DocsAside/DocsAside.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { EndpointData } from 'src/layout/docsLayout'\nimport Codebox from '../Codebox/Codebox'\nimport { Option, SelectGroup } from 'digitinary-ui'\nimport { httpStatusCodes } from '../../../constants/index'\nimport { handleStatusColor } from '../../../helpers/methodAccordion.helper'\nimport styles from './style.module.scss'\n\nconst httpStatusCodeOptions: Option[] = httpStatusCodes.map((code) => ({\n label: (\n <div className={styles.statusCodeOptionContainer}>\n <div\n className={styles.statusCodeOptionCircle}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: String(code),\n}))\n\nconst DocsAside = ({ data }: { data: EndpointData }) => {\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const currentResponse = Object.entries(data.responses)\n .map(([code, data]) => ({ code, data }))\n .find((res) => res.code === selectedResStatusCode.value)\n\n const stringifyRequestBody = () => {\n if (data?.requestBody?.content) {\n const contentKey = Object.keys(data?.requestBody?.content)[0]\n return JSON.stringify(data?.requestBody?.content[contentKey], null, 2)\n } else {\n return '{}'\n }\n }\n\n const stringifyResponseBody = () => {\n if (currentResponse?.data) {\n const contentKey = Object.keys(currentResponse.data?.content)[0]\n return JSON.stringify(currentResponse.data?.content[contentKey], null, 2)\n } else {\n return '{}'\n }\n }\n\n return (\n <aside className={styles.apiDocsAside}>\n <h2 className={styles.apiDocsAside_title}>{data.summary}</h2>\n <h4 className={styles.apiDocsAside_subtitle}>\n <span className={styles.apiDocsAside_subtitle_method} data-method={data.method}>\n {data.method}\n </span>{' '}\n <span>{data.path}</span>\n </h4>\n {data?.requestBody?.content && (\n <div className={styles.codeboxSection}>\n <div className={styles.codeboxHeader}>\n <h6 className={styles.codeboxTitle}>Request</h6>\n </div>\n\n <Codebox code={stringifyRequestBody()} />\n </div>\n )}\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <h6 className={styles.codeboxTitle}>Response</h6>\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\n <Codebox code={stringifyResponseBody()} />\n </div>\n )}\n </aside>\n )\n}\n\nexport default DocsAside\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","String","DocsAside","data","selectedResStatusCode","setSelectedResStatusCode","useState","currentResponse","Object","entries","responses","find","res","apiDocsAside","jsx","apiDocsAside_title","summary","jsxs","apiDocsAside_subtitle","apiDocsAside_subtitle_method","method","path","_a","requestBody","content","codeboxSection","codeboxHeader","codeboxTitle","Codebox","contentKey","keys","_b","JSON","stringify","_c","stringifyRequestBody","length","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","stringifyResponseBody"],"mappings":"mWAQA,MAAMA,EAAkCC,EAAgBC,KAAKC,IAAU,CACrEC,MACEC,EAAAA,KAAK,MAAA,CAAAC,UAAWC,EAAOC,0BAAyBC,SAAA,CAC9CC,EAAAA,IACE,MAAA,CAAAJ,UAAWC,EAAOI,uBAClBC,MAAO,CAAEC,gBAAiBC,EAAkBX,MAE9CO,MAAA,OAAA,CAAAD,SAAON,OAGXY,MAAOC,OAAOb,OAGVc,EAAY,EAAGC,mBACnB,MAAOC,EAAuBC,GAA4BC,EAASrB,EAAsB,IACnFsB,EAAkBC,OAAOC,QAAQN,EAAKO,WACzCvB,KAAI,EAAEC,EAAMe,MAAK,CAAQf,OAAMe,WAC/BQ,MAAMC,GAAQA,EAAIxB,OAASgB,EAAsBJ,QAoBpD,OACEV,EAAAA,KAAO,QAAA,CAAAC,UAAWC,EAAOqB,aAAYnB,SAAA,CACnCC,EAAImB,IAAA,KAAA,CAAAvB,UAAWC,EAAOuB,mBAAqBrB,SAAAS,EAAKa,UAChD1B,EAAA2B,KAAA,KAAA,CAAI1B,UAAWC,EAAO0B,sBAAqBxB,SAAA,CACzCC,cAAMJ,UAAWC,EAAO2B,6BAA2C,cAAAhB,EAAKiB,OAAM1B,SAC3ES,EAAKiB,SACA,IACRzB,EAAAmB,IAAA,OAAA,CAAApB,SAAOS,EAAKkB,WAEM,QAAnBC,EAAAnB,eAAAA,EAAMoB,mBAAa,IAAAD,OAAA,EAAAA,EAAAE,UAClBlC,cAAKC,UAAWC,EAAOiC,yBACrB9B,EAAAA,IAAK,MAAA,CAAAJ,UAAWC,EAAOkC,cAAahC,SAClCC,EAAAA,UAAIJ,UAAWC,EAAOmC,aAA0BjC,SAAA,cAGlDC,EAAAA,IAACiC,EAAQ,CAAAxC,KAjCY,gBAC3B,GAAqB,QAAjBkC,EAAAnB,aAAI,EAAJA,EAAMoB,mBAAW,IAAAD,OAAA,EAAAA,EAAEE,QAAS,CAC9B,MAAMK,EAAarB,OAAOsB,KAAwB,QAAnBC,EAAA5B,eAAAA,EAAMoB,mBAAa,IAAAQ,OAAA,EAAAA,EAAAP,SAAS,GAC3D,OAAOQ,KAAKC,UAA6B,UAAnB9B,aAAI,EAAJA,EAAMoB,mBAAa,IAAAW,OAAA,EAAAA,EAAAV,QAAQK,GAAa,KAAM,EACrE,CACC,MAAO,IACR,EA2BoBM,SAGgB,UAAlC3B,OAAOsB,MAAK3B,aAAA,EAAAA,EAAMO,YAAa,WAAG,IAAAqB,OAAA,EAAAA,EAAEK,QAAS,GAC5C9C,EAAAA,YAAKC,UAAWC,EAAOiC,eACrB/B,SAAA,CAAAJ,EAAAA,KAAA,MAAA,CAAKC,UAAW,GAAGC,EAAOkC,gBACxBhC,SAAA,CAAAC,EAAAA,IAAA,KAAA,CAAIJ,UAAWC,EAAOmC,mCACtBhC,MAAC0C,EAAAA,YACC,CAAAC,KAAK,QACLC,YAAY,EACZC,YAAY,EACZC,WAAW,EACXC,YAAY,MACZC,QAAS,CACP,CACEC,KAAM3D,IAGVe,MAAOI,EACPyC,SAAW7C,IACTK,EAAyBL,EAAM,OAKrCL,EAAAmB,IAACc,EAAQ,CAAAxC,KAjDa,cAC5B,GAAImB,aAAe,EAAfA,EAAiBJ,KAAM,CACzB,MAAM0B,EAAarB,OAAOsB,aAAKR,EAAAf,EAAgBJ,2BAAMqB,SAAS,GAC9D,OAAOQ,KAAKC,UAA8B,QAApBF,EAAAxB,EAAgBJ,YAAI,IAAA4B,OAAA,EAAAA,EAAEP,QAAQK,GAAa,KAAM,EACxE,CACC,MAAO,IACR,EA2CoBiB,UAItB"}
@@ -1,2 +1,2 @@
1
- import{j as s}from"../../../../_virtual/jsx-runtime.js";import{TagPage as t}from"./TagPage/index.js";import"../../../../node_modules/tslib/tslib.es6.js";import"react";import"../../../../node_modules/html-react-parser/esm/index.mjs.js";import"../../../../_virtual/index.js";const e=({data:e})=>s.jsx("main",{children:s.jsx(t,{data:e})});export{e as default};
1
+ import{j as t}from"../../../../_virtual/jsx-runtime.js";import{TagPage as e}from"./TagPage/index.js";import{EndpointPage as a}from"./EndpointPage/index.js";const s=({data:s,activeType:i,setActiveItemData:d,setActiveType:n,setExpandedSections:o})=>t.jsx("main",{children:"OVERVIEW"===i?t.jsx(e,{data:s,setActiveItemData:d,setActiveType:n,setExpandedSections:o}):t.jsx(a,{data:s})});export{s as default};
2
2
  //# sourceMappingURL=DocsContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocsContent.js","sources":["../../../../../src/layout/docsComponents/DocsContent/DocsContent.tsx"],"sourcesContent":["import React from 'react'\nimport './style.scss'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { CopySticker } from '../../../assets/icons/index'\nimport { TagPage } from './TagPage'\nimport { EndpointPage } from './EndpointPage'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\n\nconst DocsContent = ({ data }: { data: OverviewData | EndpointData }) => {\n const isTagPage = false\n return <main>{!isTagPage ? <TagPage data={data} /> : <EndpointPage data={data} />}</main>\n}\n\nexport default DocsContent\n"],"names":["DocsContent","data","_jsx","children","jsx","TagPage"],"mappings":"iRAQA,MAAMA,EAAc,EAAGC,UAEdC,MAAA,OAAA,CAAAC,SAAoBD,EAACE,IAAAC,EAAQ,CAAAJ,KAAMA"}
1
+ {"version":3,"file":"DocsContent.js","sources":["../../../../../src/layout/docsComponents/DocsContent/DocsContent.tsx"],"sourcesContent":["import React from 'react'\nimport './style.scss'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { CopySticker } from '../../../assets/icons/index'\nimport { TagPage } from './TagPage'\nimport { EndpointPage } from './EndpointPage'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\n\nconst DocsContent = ({\n data,\n activeType,\n setActiveItemData,\n setActiveType,\n setExpandedSections,\n}: {\n data: OverviewData | EndpointData\n activeType: 'OVERVIEW' | 'ENDPOINT'\n}) => {\n return (\n <main>\n {activeType === 'OVERVIEW' ? (\n <TagPage\n data={data}\n setActiveItemData={setActiveItemData}\n setActiveType={setActiveType}\n setExpandedSections={setExpandedSections}\n />\n ) : (\n <EndpointPage data={data} />\n )}\n </main>\n )\n}\n\nexport default DocsContent\n"],"names":["DocsContent","data","activeType","setActiveItemData","setActiveType","setExpandedSections","_jsx","children","TagPage","EndpointPage"],"mappings":"4JAQA,MAAMA,EAAc,EAClBC,OACAC,aACAC,oBACAC,gBACAC,yBAMEC,MACG,OAAA,CAAAC,SAAe,aAAfL,EACCI,MAACE,EAAO,CACNP,KAAMA,EACNE,kBAAmBA,EACnBC,cAAeA,EACfC,oBAAqBA,IAGvBC,MAACG,EAAY,CAACR,KAAMA"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../../../../_virtual/jsx-runtime.js";import s from"../../../../components/SVGLoader/SVGLoader.js";import a from"../../../../assets/icons/DownArrow.svg.js";import t from"../../../../assets/icons/CopySticker.svg.js";import r from"../../../../assets/icons/RequestOption.svg.js";import i from"../../../../assets/icons/ArrowBack.svg.js";import{d as l}from"../../../../../_virtual/index.js";import{useState as c}from"react";const d=()=>{const[d,n]=c(null);return 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:i})}),e.jsx("button",{className:"disabled",children:"Test"})]}),e.jsx("h3",{children:" Api Name"}),e.jsx("h1",{className:"api-title",children:"Endpoint Name"}),e.jsxs("div",{className:"url-box",children:[e.jsxs("div",{style:{textAlign:"center"},children:[e.jsx("span",{className:"method-label post",children:"Post"}),e.jsx("span",{className:"url-text",children:"https://apigw sdb-1.test.dgate.digitinary.net/test"})]}),e.jsx(s,{src:t,className:"copy-icon"})]}),e.jsx("p",{className:"api-desc",children:"Endpoint Description"}),e.jsx("h3",{children:"Request"}),e.jsxs("div",{className:"request-section",children:[e.jsxs("div",{className:"request-tabs",children:[e.jsxs("button",{className:"tab",children:[e.jsx(s,{src:r,className:"icon-left"}),"Header"]}),e.jsxs("button",{className:"tab",children:[e.jsx(s,{src:r,className:"icon-left"}),"Path"]}),e.jsxs("button",{className:"tab",children:[e.jsx(s,{src:r,className:"icon-left"}),"Query"]}),e.jsxs("button",{className:"tab",children:[e.jsx(s,{src:r,className:"icon-left"}),"Request Body"]})]}),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:[{name:"Parameter Name",required:"True",type:"String",enum:"Active/Expired/Cancelled",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit."},{name:"Parameter Name",required:"False",type:"Boolean",enum:"Active/Expired/Cancelled",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit.sssssss"},{name:"Parameter Name",required:"True",type:"Object",enum:"-",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit.sssssss"},{name:"Parameter Name",required:"True",type:"Array_String",enum:"-",description:"Lorem ipsum dolor sit amet, consectetur adipiscing elit.sssssss"}].map(((t,r)=>e.jsxs("tr",{children:[e.jsx("td",{children:t.name}),e.jsx("td",{children:t.required}),e.jsx("td",{children:t.type}),e.jsx("td",{children:t.enum}),e.jsxs("td",{className:"desc-cell",children:[e.jsx("div",{className:"desc-text "+(d===r?"expanded":""),children:t.description}),e.jsx("button",{className:"desc-toggle",onClick:()=>n(d===r?null:r),children:e.jsx(s,{src:a,className:d===r?"rotated":""})})]})]},r)))})]})})]}),e.jsxs("div",{className:"response-section",children:[e.jsx("div",{className:"response-drop-test",children:e.jsx(l.SelectGroup,{className:"response-drop",withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[],onChange:e=>{}})}),e.jsx("h3",{children:"Response"}),e.jsxs("button",{className:"tab",children:[e.jsx(s,{src:r,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:"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.jsxs("tbody",{children:[e.jsxs("tr",{children:[e.jsx("td",{children:"Parameter Name"}),e.jsx("td",{children:"True"}),e.jsx("td",{children:"String"}),e.jsx("td",{children:"Active/Expired/Cancelled"}),e.jsx("td",{children:"Borem taciti dolor ..."})]}),e.jsxs("tr",{children:[e.jsx("td",{children:"Parameter Name"}),e.jsx("td",{children:"True"}),e.jsx("td",{children:"Array_Object"}),e.jsx("td",{children:"-"}),e.jsx("td",{children:"Borem taciti dolor ..."})]})]})]})})]})]})};export{d 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: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 { useState } from 'react'\n\nexport const EndpointPage = () => {\n const [expanded, setExpanded] = useState(null)\n\n const requestTableData = [\n {\n name: 'Parameter Name',\n required: 'True',\n type: 'String',\n enum: 'Active/Expired/Cancelled',\n description:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit, Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur adipiscing elit.',\n },\n {\n name: 'Parameter Name',\n required: 'False',\n type: 'Boolean',\n enum: 'Active/Expired/Cancelled',\n description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.sssssss',\n },\n {\n name: 'Parameter Name',\n required: 'True',\n type: 'Object',\n enum: '-',\n description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.sssssss',\n },\n {\n name: 'Parameter Name',\n required: 'True',\n type: 'Array_String',\n enum: '-',\n description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.sssssss',\n },\n ]\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 <button className=\"disabled\">Test</button>\n </div>\n <h3> Api Name</h3>\n <h1 className=\"api-title\">Endpoint Name</h1>\n <div className=\"url-box\">\n <div style={{ textAlign: 'center' }}>\n <span className=\"method-label post\">Post</span>\n <span className=\"url-text\">https://apigw sdb-1.test.dgate.digitinary.net/test</span>\n </div>\n\n <SVGLoader src={CopySticker} className=\"copy-icon\" />\n </div>\n\n <p className=\"api-desc\">Endpoint Description</p>\n\n <h3>Request</h3>\n\n <div className=\"request-section\">\n <div className=\"request-tabs\">\n <button className=\"tab\">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Header\n </button>\n <button className=\"tab\">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Path\n </button>\n <button className=\"tab\">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Query\n </button>\n <button className=\"tab\">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Request Body\n </button>\n </div>\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 {requestTableData.map((row, index) => (\n <tr key={index}>\n <td>{row.name}</td>\n <td>{row.required}</td>\n <td>{row.type}</td>\n <td>{row.enum}</td>\n <td className=\"desc-cell\">\n <div className={`desc-text ${expanded === index ? 'expanded' : ''}`}>\n {row.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 </div>\n\n <div className=\"response-section\">\n <div className=\"response-drop-test\">\n <SelectGroup\n className=\"response-drop\"\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[]}\n //value={selectedStatusCode}\n onChange={(value) => {\n // setSelectedStatusCode(value)\n }}\n />\n </div>\n\n <h3>Response</h3>\n <button className=\"tab\">\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\">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 <tr>\n <td>Parameter Name</td>\n <td>True</td>\n <td>String</td>\n <td>Active/Expired/Cancelled</td>\n <td>Borem taciti dolor ...</td>\n </tr>\n <tr>\n <td>Parameter Name</td>\n <td>True</td>\n <td>Array_Object</td>\n <td>-</td>\n <td>Borem taciti dolor ...</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n )\n}\n"],"names":["EndpointPage","expanded","setExpanded","useState","_jsxs","className","children","_jsx","onClick","window","history","back","SVGLoader","src","ArrowBack","jsxs","style","textAlign","jsx","CopySticker","RequestOption","name","required","type","enum","description","map","row","index","DownArrowIcon","SelectGroup","withSearch","isMultiple","clearable","placeholder","options","onChange","value"],"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 {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 s}from"../../../../../_virtual/jsx-runtime.js";import e from"../../../../components/SVGLoader/SVGLoader.js";import i from"../../../../assets/icons/CopySticker.svg.js";import a from"../../../../assets/icons/arrowRightGray.svg.js";const t=({data:t})=>s.jsxs("div",{className:"api-details-page",children:[s.jsx("h2",{className:"welcome",children:"Welcome to"}),s.jsx("h1",{className:"api-title",children:t.title}),s.jsxs("p",{className:"api-version",children:["API Version: ",s.jsx("span",{children:t.version})]}),s.jsxs("div",{className:"custom-url-input",children:[s.jsx("label",{className:"input-label",children:"API Base URL"}),s.jsxs("div",{className:"input-wrapper",children:[s.jsx("input",{type:"text",value:"https://apigw-sdb-1.test.dgate.digitinary.net/test",readOnly:!0}),s.jsx("span",{className:"icon",onClick:()=>navigator.clipboard.writeText("https://apigw-sdb-1.test.dgate.digitinary.net/test"),children:s.jsx(e,{src:i})})]})]}),s.jsx("p",{className:"api-desc",children:"API Description"}),s.jsxs("div",{className:"api-product-tag",children:["Product with this API ",s.jsx("span",{className:"product-tag",children:"Product 01"})]}),s.jsx("h3",{className:"section-title",children:"Endpoints"}),Object.entries(t.tags).map((([i,t])=>s.jsxs("div",{className:"endpoint-group",children:[s.jsx("h4",{className:"tag-title",children:i}),s.jsx("div",{className:"endpoint-list",children:t.map(((t,n)=>{var r,l,c;return s.jsxs("div",{className:"endpoint-card",children:[s.jsxs("div",{children:[s.jsxs("div",{className:"endpoint-card-header",children:[s.jsx("span",{className:`method-label ${t.method.toLowerCase()}`,children:t.method}),s.jsx("div",{className:"title-wrapper",children:s.jsxs("h5",{children:[(t.summary||"Endpoint Name").slice(0,17),(null!==(l=null===(r=t.summary)||void 0===r?void 0:r.length)&&void 0!==l?l:0)>17&&"..."]})})]}),s.jsxs("div",{className:"endpoint-meta",children:[s.jsx("p",{children:t.path}),s.jsx("p",{className:"description",children:null!==(c=t.description)&&void 0!==c?c:"No Description "})]})]}),s.jsx("div",{className:"endpoint-arrow",children:s.jsx(e,{src:a})})]},`${i}-${n}`)}))})]},i))),s.jsxs("div",{className:"versions-section",children:[s.jsx("h4",{children:"API Versions"}),s.jsx("div",{className:"version-list",children:["1.2.0","1.3.0","1.4.0","1.5.0","2.2.0"].map((e=>s.jsx("button",{className:"version-btn",children:e},e)))})]})]});export{t as TagPage};
1
+ import{j as s}from"../../../../../_virtual/jsx-runtime.js";import e from"../../../../components/SVGLoader/SVGLoader.js";import i from"../../../../assets/icons/CopySticker.svg.js";import a from"../../../../assets/icons/arrowRightGray.svg.js";const r=({data:r,setActiveItemData:n,setActiveType:l,setExpandedSections:t})=>{var c,d;return s.jsxs("div",{className:"api-details-page",children:[s.jsx("h2",{className:"welcome",children:"Welcome to"}),s.jsx("h1",{className:"api-title",children:null==r?void 0:r.title}),s.jsxs("p",{className:"api-version",children:["API Version: ",s.jsx("span",{children:null==r?void 0:r.version})]}),s.jsxs("div",{className:"custom-url-input",children:[s.jsx("label",{className:"input-label",children:"API Base URL"}),s.jsxs("div",{className:"input-wrapper",children:[s.jsx("input",{type:"text",value:r&&r.servers&&r.servers.length>0?null===(c=r.servers[0])||void 0===c?void 0:c.url:"-",readOnly:!0}),s.jsx("span",{className:"icon",onClick:()=>{var s;return navigator.clipboard.writeText(`${r&&r.servers&&r.servers.length>0?null===(s=r.servers[0])||void 0===s?void 0:s.url:"-"}`)},children:s.jsx(e,{src:i})})]})]}),s.jsx("p",{className:"api-desc",children:"API Description"}),s.jsxs("div",{className:"api-product-tag",children:["Product with this API ",s.jsx("span",{className:"product-tag",children:r.associatedProduct.name})]}),s.jsx("h3",{className:"section-title",children:"Endpoints"}),Object.entries(null==r?void 0:r.tags).map((([i,c])=>s.jsxs("div",{className:"endpoint-group",children:[s.jsx("h4",{className:"tag-title",children:i}),s.jsx("div",{className:"endpoint-list",children:c.map(((c,d)=>{var o,p,v;return s.jsxs("div",{className:"endpoint-card",onClick:()=>(s=>{n(Object.assign(Object.assign({},s),{api:Object.assign({id:r.apiSpecId,title:r.title,description:r.description,version:r.version},r)})),l("ENDPOINT"),t((e=>Object.assign(Object.assign({},e),{[`api-${r.apiSpecId}-section`]:!0,[`api-${r.apiSpecId}-endpoints`]:!0,[`api-${r.apiSpecId}-resource-${s.id}`]:!0})))})(c),children:[s.jsxs("div",{children:[s.jsxs("div",{className:"endpoint-card-header",children:[s.jsx("span",{className:`method-label ${c.method.toLowerCase()}`,children:c.method}),s.jsx("div",{className:"title-wrapper",children:s.jsxs("h5",{children:[(c.summary||"Endpoint Name").slice(0,17),(null!==(p=null===(o=c.summary)||void 0===o?void 0:o.length)&&void 0!==p?p:0)>17&&"..."]})})]}),s.jsxs("div",{className:"endpoint-meta",children:[s.jsx("p",{children:c.path}),s.jsx("p",{className:"description",children:null!==(v=c.description)&&void 0!==v?v:"No Description "})]})]}),s.jsx("div",{className:"endpoint-arrow",children:s.jsx(e,{src:a})})]},`${i}-${d}`)}))})]},i))),(null===(d=r.apiVersions)||void 0===d?void 0:d.length)>0&&s.jsxs("div",{className:"versions-section",children:[s.jsx("h4",{children:"API Versions"}),s.jsx("div",{className:"version-list",children:r.apiVersions.map(((e,i)=>{var a;return s.jsx("button",{className:"version-btn",children:(null===(a=e.metaData)||void 0===a?void 0:a.version)||"N/A"},i)}))})]})]})};export{r as TagPage};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/TagPage/index.tsx"],"sourcesContent":["import './style.scss'\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport { arrowRightGray, CopySticker } from '../../../../assets/icons/index'\nimport { OverviewData } from 'src/layout/docsLayout'\n\nexport const TagPage = ({ data }) => {\n return (\n <div className=\"api-details-page\">\n <h2 className=\"welcome\">Welcome to</h2>\n <h1 className=\"api-title\">{data.title}</h1>\n <p className=\"api-version\">\n API Version: <span>{data.version}</span>\n </p>\n\n <div className=\"custom-url-input\">\n <label className=\"input-label\">API Base URL</label>\n <div className=\"input-wrapper\">\n <input type=\"text\" value=\"https://apigw-sdb-1.test.dgate.digitinary.net/test\" readOnly />\n <span\n className=\"icon\"\n onClick={() =>\n navigator.clipboard.writeText('https://apigw-sdb-1.test.dgate.digitinary.net/test')\n }\n >\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n </div>\n\n <p className=\"api-desc\">API Description</p>\n <div className=\"api-product-tag\">\n Product with this API <span className=\"product-tag\">Product 01</span>\n </div>\n\n <h3 className=\"section-title\">Endpoints</h3>\n\n {Object.entries(data.tags).map(([tag, endpoints]) => (\n <div className=\"endpoint-group\" key={tag}>\n <h4 className=\"tag-title\">{tag}</h4>\n <div className=\"endpoint-list\">\n {endpoints.map((endpoint, idx) => (\n <div className=\"endpoint-card\" key={`${tag}-${idx}`}>\n <div>\n <div className=\"endpoint-card-header\">\n <span className={`method-label ${endpoint.method.toLowerCase()}`}>\n {endpoint.method}\n </span>\n <div className=\"title-wrapper\">\n <h5>\n {(endpoint.summary || 'Endpoint Name').slice(0, 17)}\n {(endpoint.summary?.length ?? 0) > 17 && '...'}\n </h5>\n </div>\n </div>\n <div className=\"endpoint-meta\">\n <p>{endpoint.path}</p>\n <p className=\"description\">{endpoint.description ?? 'No Description '}</p>\n </div>\n </div>\n\n <div className=\"endpoint-arrow\">\n <SVGLoader src={arrowRightGray} />\n </div>\n </div>\n ))}\n </div>\n </div>\n ))}\n\n <div className=\"versions-section\">\n <h4>API Versions</h4>\n <div className=\"version-list\">\n {['1.2.0', '1.3.0', '1.4.0', '1.5.0', '2.2.0'].map((ver) => (\n <button key={ver} className=\"version-btn\">\n {ver}\n </button>\n ))}\n </div>\n </div>\n </div>\n )\n}\n"],"names":["TagPage","data","_jsxs","className","_jsx","title","jsxs","jsx","children","version","type","value","readOnly","onClick","navigator","clipboard","writeText","SVGLoader","src","CopySticker","Object","entries","tags","map","tag","endpoints","endpoint","idx","method","toLowerCase","summary","slice","_b","_a","length","path","_c","description","arrowRightGray","ver"],"mappings":"uPAKaA,EAAU,EAAGC,UAEtBC,EAAAA,KAAK,MAAA,CAAAC,UAAU,6BACbC,EAAAA,IAAI,KAAA,CAAAD,UAAU,kCACdC,MAAA,KAAA,CAAID,UAAU,qBAAaF,EAAKI,QAChCH,EAAGI,KAAA,IAAA,CAAAH,UAAU,wCACEC,EAAOG,IAAA,OAAA,CAAAC,SAAAP,EAAKQ,aAG3BP,EAAAA,YAAKC,UAAU,mBACbK,SAAA,CAAAJ,EAAAA,IAAA,QAAA,CAAOD,UAAU,cAAkCK,SAAA,iBACnDN,EAAKI,KAAA,MAAA,CAAAH,UAAU,gBAAeK,SAAA,CAC5BJ,EAAOG,IAAA,QAAA,CAAAG,KAAK,OAAOC,MAAM,qDAAqDC,UAAQ,IACtFR,EAAAG,IAAA,OAAA,CACEJ,UAAU,OACVU,QAAS,IACPC,UAAUC,UAAUC,UAAU,sDAGhCR,SAAAJ,MAACa,EAAS,CAACC,IAAKC,YAKtBf,MAAG,IAAA,CAAAD,UAAU,WAAUK,SAAA,oBACvBN,EAAKI,KAAA,MAAA,CAAAH,UAAU,kBAAiBK,SAAA,CAAA,yBACRJ,MAAM,OAAA,CAAAD,UAAU,cAAaK,SAAA,kBAGrDJ,EAAAA,UAAID,UAAU,gBAAeK,SAAA,cAE5BY,OAAOC,QAAQpB,EAAKqB,MAAMC,KAAI,EAAEC,EAAKC,KACpCvB,EAAAA,KAAK,MAAA,CAAAC,UAAU,iBAAgBK,SAAA,CAC7BJ,EAAAA,UAAID,UAAU,YAAWK,SAAEgB,IAC3BpB,EAAAA,IAAK,MAAA,CAAAD,UAAU,gBAAeK,SAC3BiB,EAAUF,KAAI,CAACG,EAAUC,eAAQ,OAChCzB,EAAKI,KAAA,MAAA,CAAAH,UAAU,gBACbK,SAAA,CAAAN,OAAA,MAAA,CAAAM,SAAA,CACEN,EAAAA,KAAK,MAAA,CAAAC,UAAU,uBACbK,SAAA,CAAAJ,EAAAG,IAAA,OAAA,CAAMJ,UAAW,gBAAgBuB,EAASE,OAAOC,gBAAerB,SAC7DkB,EAASE,SAEZxB,EAAAA,IAAK,MAAA,CAAAD,UAAU,gBACbK,SAAAN,EAAAI,KAAA,KAAA,CAAAE,SAAA,EACIkB,EAASI,SAAW,iBAAiBC,MAAM,EAAG,aAC9CC,EAAkB,QAAlBC,EAAAP,EAASI,eAAS,IAAAG,OAAA,EAAAA,EAAAC,sBAAU,GAAK,IAAM,cAI/ChC,EAAKI,KAAA,MAAA,CAAAH,UAAU,0BACbC,EAAAA,IAAI,IAAA,CAAAI,SAAAkB,EAASS,OACb/B,EAAGG,IAAA,IAAA,CAAAJ,UAAU,cAAeK,SAAwB,QAAxB4B,EAAAV,EAASW,mBAAe,IAAAD,EAAAA,EAAA,0BAIxDhC,EAAAA,IAAK,MAAA,CAAAD,UAAU,iBACbK,SAAAJ,EAAAA,IAACa,EAAS,CAACC,IAAKoB,QApBgB,GAAGd,KAAOG,IAuB/C,QA3BgCH,KAgCvCtB,EAAAA,KAAA,MAAA,CAAKC,UAAU,mBAAkBK,SAAA,CAC/BJ,sCACAA,EAAAA,IAAA,MAAA,CAAKD,UAAU,eAAcK,SAC1B,CAAC,QAAS,QAAS,QAAS,QAAS,SAASe,KAAKgB,GAClDnC,EAAkBG,IAAA,SAAA,CAAAJ,UAAU,cAAaK,SACtC+B,GADUA"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/TagPage/index.tsx"],"sourcesContent":["import './style.scss'\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport { arrowRightGray, CopySticker } from '../../../../assets/icons/index'\nimport { OverviewData } from 'src/layout/docsLayout'\n\nexport const TagPage = ({ data, setActiveItemData, setActiveType, setExpandedSections }) => {\n const handleClick = (endpoint) => {\n setActiveItemData({\n ...endpoint,\n api: {\n id: data.apiSpecId,\n title: data.title,\n description: data.description,\n version: data.version,\n ...data,\n },\n })\n setActiveType('ENDPOINT')\n\n setExpandedSections((prev) => ({\n ...prev,\n [`api-${data.apiSpecId}-section`]: true,\n [`api-${data.apiSpecId}-endpoints`]: true,\n [`api-${data.apiSpecId}-resource-${endpoint.id}`]: true,\n }))\n }\n return (\n <div className=\"api-details-page\">\n <h2 className=\"welcome\">Welcome to</h2>\n <h1 className=\"api-title\">{data?.title}</h1>\n <p className=\"api-version\">\n API Version: <span>{data?.version}</span>\n </p>\n\n <div className=\"custom-url-input\">\n <label className=\"input-label\">API Base URL</label>\n <div className=\"input-wrapper\">\n <input\n type=\"text\"\n value={!!data && !!data.servers && data.servers.length > 0 ? data.servers[0]?.url : '-'}\n readOnly\n />\n <span\n className=\"icon\"\n onClick={() =>\n navigator.clipboard.writeText(\n `${!!data && !!data.servers && data.servers.length > 0 ? data.servers[0]?.url : '-'}`\n )\n }\n >\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n </div>\n\n <p className=\"api-desc\">API Description</p>\n <div className=\"api-product-tag\">\n Product with this API <span className=\"product-tag\">{data.associatedProduct.name}</span>\n </div>\n\n <h3 className=\"section-title\">Endpoints</h3>\n\n {Object.entries(data?.tags).map(([tag, endpoints]) => (\n <div className=\"endpoint-group\" key={tag}>\n <h4 className=\"tag-title\">{tag}</h4>\n <div className=\"endpoint-list\">\n {endpoints.map((endpoint, idx) => (\n <div\n className=\"endpoint-card\"\n onClick={() => handleClick(endpoint)}\n key={`${tag}-${idx}`}\n >\n <div>\n <div className=\"endpoint-card-header\">\n <span className={`method-label ${endpoint.method.toLowerCase()}`}>\n {endpoint.method}\n </span>\n <div className=\"title-wrapper\">\n <h5>\n {(endpoint.summary || 'Endpoint Name').slice(0, 17)}\n {(endpoint.summary?.length ?? 0) > 17 && '...'}\n </h5>\n </div>\n </div>\n <div className=\"endpoint-meta\">\n <p>{endpoint.path}</p>\n <p className=\"description\">{endpoint.description ?? 'No Description '}</p>\n </div>\n </div>\n\n <div className=\"endpoint-arrow\">\n <SVGLoader src={arrowRightGray} />\n </div>\n </div>\n ))}\n </div>\n </div>\n ))}\n\n {data.apiVersions?.length > 0 && (\n <div className=\"versions-section\">\n <h4>API Versions</h4>\n <div className=\"version-list\">\n {data.apiVersions.map((verObj, index) => (\n <button key={index} className=\"version-btn\">\n {verObj.metaData?.version || 'N/A'}\n </button>\n ))}\n </div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["TagPage","data","setActiveItemData","setActiveType","setExpandedSections","_jsxs","className","_jsx","children","title","version","jsxs","jsx","type","value","servers","length","_a","url","readOnly","onClick","navigator","clipboard","writeText","SVGLoader","src","CopySticker","associatedProduct","name","Object","entries","tags","map","tag","endpoints","endpoint","idx","assign","api","id","apiSpecId","description","prev","handleClick","method","toLowerCase","summary","slice","_b","path","_c","arrowRightGray","apiVersions","verObj","index","metaData"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as s}from"../../../../_virtual/jsx-runtime.js";import{useState as e,useRef as o}from"react";import{d as r}from"../../../../_virtual/index.js";import a from"../../../components/SVGLoader/SVGLoader.js";import n from"../../../assets/icons/UpArrow.svg.js";import t from"../../../assets/icons/DownArrow.svg.js";import i from"../../../assets/icons/ApiIcon.svg.js";import c from"../../../assets/icons/FilterIcon.svg.js";import l from"../../../assets/icons/BookIcon.svg.js";import m from"../../../assets/icons/searchIcon.svg.js";import d from"../../../components/Tooltip/Tooltip.js";import h from"../../../components/dialog/index.js";import{METHOD_OPTIONS as j}from"../../../constants/methods.constant.js";import p from"./DocsHeader.module.scss.js";const x=()=>{const[x,u]=e(!1),[v,f]=e(""),[N,g]=e([]);e(!1);const[_,b]=e(!1);o(null);return s.jsxs(s.Fragment,{children:[s.jsx("header",{className:p.api_docs_header,children:s.jsxs("div",{className:p.header_content,children:[s.jsxs(r.Button,{variant:"outlined",size:"small",className:p.search_filter_btn,onClick:()=>{u(!0)},children:["Search & Filter",s.jsx(a,{src:c})]}),s.jsxs("div",{className:p.nav_buttons,children:[s.jsx(d,{placement:"bottom",delay:[0,0],className:`guides-tooltip ${p.tippy_box_color}`,content:s.jsx("div",{children:"Coming Soon"}),children:s.jsxs(r.Button,{variant:"outlined",size:"small",className:"guide-btn",disabled:!0,children:[s.jsx(a,{src:l}),"GUIDES"]})}),s.jsxs(r.Button,{variant:"outlined",size:"small",className:p.api_btn,children:[s.jsx(a,{src:i}),"   API reference"]})]})]})}),s.jsx(h,{size:"sm",open:x,onClose:()=>{u(!1),b(!1)},icon:!1,withClose:!1,noActions:!0,content:s.jsxs("div",{className:"search-filter-form "+(_?"expanded":""),children:[s.jsx("div",{className:"search-filter-form__header",children:s.jsx("p",{className:"search-filter-form__header__title",children:"Search & Filter"})}),s.jsx(r.Input,{className:"name-input",placeholder:"Search by API name",value:v,onChange:s=>f(s),size:r.Size.Medium,clearable:!0,endAdornment:s.jsx(a,{src:m})}),s.jsxs("div",{className:"method-container",children:[s.jsx("label",{children:"Method"}),s.jsxs("div",{className:"typeDdl",onClick:()=>b((s=>!s)),children:[s.jsx("span",{children:"Select Method"}),s.jsx(a,{src:_?n:t})]}),_&&s.jsx("div",{className:"methodList",children:j.map((e=>s.jsxs("div",{className:"method-item",children:[s.jsx("input",{type:"checkbox",className:"agreement-checkbox",checked:N.includes(e.value),onChange:s=>((s,e)=>{const{target:{checked:o}}=s;o?g((s=>[...s,e.value])):N.includes(e.value)&&g((s=>s.filter((s=>s!=e.value))))})(s,e)}),s.jsx("span",{style:{color:e.color},children:e.label})]})))})]}),s.jsx("div",{className:"button-container",children:s.jsx(r.Button,{variant:"contained",color:"primary",size:"large",onClick:()=>{u(!1)},className:"dialog-submit-btn",children:"Apply"})})]})})]})};export{x as default};
1
+ import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useState as s,useRef as o}from"react";import{d as t}from"../../../../_virtual/index.js";import r from"../../../components/SVGLoader/SVGLoader.js";import i from"../../../assets/icons/UpArrow.svg.js";import n from"../../../assets/icons/DownArrow.svg.js";import a from"../../../assets/icons/ApiIcon.svg.js";import l from"../../../assets/icons/FilterIcon.svg.js";import c from"../../../assets/icons/BookIcon.svg.js";import d from"../../../assets/icons/searchIcon.svg.js";import m from"../../../components/Tooltip/Tooltip.js";import h from"../../../components/dialog/index.js";import{METHOD_OPTIONS as p}from"../../../constants/methods.constant.js";import j from"./DocsHeader.module.scss.js";const u=({transformedOpenApis:u,updateFilteredData:x})=>{const[v,f]=s(!1),[g,N]=s(""),[b,_]=s([]);s(!1);const[C,A]=s(!1);o(null);return e.jsxs(e.Fragment,{children:[e.jsx("header",{className:j.api_docs_header,children:e.jsxs("div",{className:j.header_content,children:[e.jsxs(t.Button,{variant:"outlined",size:"small",className:j.search_filter_btn,onClick:()=>{f(!0)},children:["Search & Filter",e.jsx(r,{src:l})]}),e.jsxs("div",{className:j.nav_buttons,children:[e.jsx(m,{placement:"bottom",delay:[0,0],className:`guides-tooltip ${j.tippy_box_color}`,content:e.jsx("div",{children:"Coming Soon"}),children:e.jsxs(t.Button,{variant:"outlined",size:"small",className:"guide-btn",disabled:!0,children:[e.jsx(r,{src:c}),"GUIDES"]})}),e.jsxs(t.Button,{variant:"outlined",size:"small",className:j.api_btn,children:[e.jsx(r,{src:a}),"   API reference"]})]})]})}),e.jsx(h,{size:"sm",open:v,onClose:()=>{f(!1),A(!1)},icon:!1,withClose:!1,noActions:!0,content:e.jsxs("div",{className:"search-filter-form "+(C?"expanded":""),children:[e.jsx("div",{className:"search-filter-form__header",children:e.jsx("p",{className:"search-filter-form__header__title",children:"Search & Filter"})}),e.jsx(t.Input,{className:"name-input",placeholder:"Search by API name",value:g,onChange:e=>N(e),size:t.Size.Medium,clearable:!0,endAdornment:e.jsx(r,{src:d})}),e.jsxs("div",{className:"method-container",children:[e.jsx("label",{children:"Method"}),e.jsxs("div",{className:"typeDdl",onClick:()=>A((e=>!e)),children:[e.jsx("span",{children:"Select Method"}),e.jsx(r,{src:C?i:n})]}),C&&e.jsx("div",{className:"methodList",children:p.map((s=>e.jsxs("div",{className:"method-item",children:[e.jsx("input",{type:"checkbox",className:"agreement-checkbox",checked:b.includes(s.value),onChange:e=>((e,s)=>{const{target:{checked:o}}=e;o?_((e=>[...e,s.value])):b.includes(s.value)&&_((e=>e.filter((e=>e!=s.value))))})(e,s)}),e.jsx("span",{style:{color:s.color},children:s.label})]})))})]}),e.jsx("div",{className:"button-container",children:e.jsx(t.Button,{variant:"contained",color:"primary",size:"large",onClick:()=>{if(!((null==g?void 0:g.trim())||b&&0!==b.length))return x(u,!0),void f(!1);let e=[...u];if(null==g?void 0:g.trim()){const s=g.toLowerCase();e=e.filter((e=>e.title.toLowerCase().includes(s)))}(null==b?void 0:b.length)&&(e=e.filter((e=>{const s=Object.values(e.tags||{}).flat().map((e=>{var s;return null===(s=e.method)||void 0===s?void 0:s.toLowerCase()}));return b.some((e=>s.includes(e.toLowerCase())))}))),x(e),f(!1)},className:"dialog-submit-btn",children:"Apply"})})]})})]})};export{u as default};
2
2
  //# sourceMappingURL=DocsHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocsHeader.js","sources":["../../../../../src/layout/docsComponents/DocsHeader/DocsHeader.tsx"],"sourcesContent":["import React, { useState, useRef } from 'react'\nimport { Button, Size, Input, SelectGroup } from 'digitinary-ui'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport {\n FilterIcon,\n BookIcon,\n ApiIcon,\n SearchIcon,\n arrowDownGray,\n UpArrowIcon,\n DownArrowIcon,\n} from '../../../assets/icons'\nimport Tooltip from '../../../components/Tooltip/Tooltip'\nimport CommonDialog from '../../../components/dialog/index'\nimport { METHOD_OPTIONS } from '../../../constants/methods.constant'\nimport styles from './DocsHeader.module.scss'\n\nconst DocsHeader: React.FC = () => {\n const [showSearchFilter, setShowSearchFilter] = useState<boolean>(false)\n const [apiName, setApiName] = useState<string>('')\n const [selectedMethods, setSelectedMethods] = useState<any[]>([])\n const [methodListOpened, setMethodListOpened] = useState(false)\n const [isMethodDropdownOpen, setIsMethodDropdownOpen] = useState<boolean>(false)\n const selectRef = useRef<any>(null)\n\n const handleOpenSearchFilter = (): void => {\n setShowSearchFilter(true)\n }\n\n const handleCloseSearchFilter = (): void => {\n setShowSearchFilter(false)\n setIsMethodDropdownOpen(false)\n }\n\n const handleApplyFilters = (): void => {\n setShowSearchFilter(false)\n }\n\n const handleCheckMethod = (e, method: (typeof METHOD_OPTIONS)[0]) => {\n const {\n target: { checked },\n } = e\n if (checked) {\n setSelectedMethods((prev) => [...prev, method.value])\n } else {\n if (selectedMethods.includes(method.value)) {\n setSelectedMethods((prev) => prev.filter((_m) => _m != method.value))\n }\n }\n }\n\n return (\n <>\n <header className={styles.api_docs_header}>\n <div className={styles.header_content}>\n <Button\n variant=\"outlined\"\n size=\"small\"\n className={styles.search_filter_btn}\n onClick={handleOpenSearchFilter}\n >\n Search & Filter\n <SVGLoader src={FilterIcon} />\n </Button>\n <div className={styles.nav_buttons}>\n <Tooltip\n placement=\"bottom\"\n delay={[0, 0]}\n className={`guides-tooltip ${styles.tippy_box_color}`}\n content={<div>Coming Soon</div>}\n >\n <Button variant=\"outlined\" size=\"small\" className=\"guide-btn\" disabled={true}>\n <SVGLoader src={BookIcon} />\n GUIDES\n </Button>\n </Tooltip>\n <Button variant=\"outlined\" size=\"small\" className={styles.api_btn}>\n <SVGLoader src={ApiIcon} /> &nbsp; API reference\n </Button>\n </div>\n </div>\n </header>\n <CommonDialog\n size=\"sm\"\n open={showSearchFilter}\n onClose={handleCloseSearchFilter}\n icon={false}\n withClose={false}\n noActions\n content={\n <div className={`search-filter-form ${isMethodDropdownOpen ? 'expanded' : ''}`}>\n <div className=\"search-filter-form__header\">\n <p className=\"search-filter-form__header__title\">Search & Filter</p>\n </div>\n <Input\n className=\"name-input\"\n placeholder=\"Search by API name\"\n value={apiName}\n onChange={(value) => setApiName(value as string)}\n size={Size.Medium}\n clearable\n endAdornment={<SVGLoader src={SearchIcon} />}\n />\n <div className=\"method-container\">\n <label>Method</label>\n {/* <SelectGroup\n isMultiple={true}\n size={Size.Medium}\n placeholder=\"Select Method\"\n value={selectedMethods}\n onChange={(value) => setSelectedMethods(value || [])}\n options={[\n \n ]}\n withSearch={false}\n className=\"method-select custom-select-border\"\n /> */}\n <div className=\"typeDdl\" onClick={() => setIsMethodDropdownOpen((prev) => !prev)}>\n <span>Select Method</span>\n <SVGLoader src={!isMethodDropdownOpen ? DownArrowIcon : UpArrowIcon} />\n </div>\n {isMethodDropdownOpen && (\n <div className=\"methodList\">\n {METHOD_OPTIONS.map((_m) => (\n <div className=\"method-item\">\n <input\n type=\"checkbox\"\n className=\"agreement-checkbox\"\n checked={selectedMethods.includes(_m.value)}\n onChange={(e) => handleCheckMethod(e, _m)}\n />\n <span style={{ color: _m.color }}>{_m.label}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n <div className=\"button-container\">\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"large\"\n onClick={handleApplyFilters}\n className=\"dialog-submit-btn\"\n >\n Apply\n </Button>\n </div>\n </div>\n }\n />\n </>\n )\n}\n\nexport default DocsHeader\n"],"names":["DocsHeader","showSearchFilter","setShowSearchFilter","useState","apiName","setApiName","selectedMethods","setSelectedMethods","isMethodDropdownOpen","setIsMethodDropdownOpen","useRef","_jsxs","_jsx","jsx","className","styles","api_docs_header","children","header_content","Button","variant","size","search_filter_btn","onClick","SVGLoader","src","FilterIcon","jsxs","nav_buttons","Tooltip","placement","delay","tippy_box_color","content","disabled","BookIcon","api_btn","ApiIcon","CommonDialog","open","onClose","icon","withClose","noActions","Input","placeholder","value","onChange","Size","Medium","clearable","endAdornment","SearchIcon","prev","UpArrowIcon","DownArrowIcon","METHOD_OPTIONS","map","_m","type","checked","includes","e","method","target","filter","handleCheckMethod","style","color","label"],"mappings":"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"}
1
+ {"version":3,"file":"DocsHeader.js","sources":["../../../../../src/layout/docsComponents/DocsHeader/DocsHeader.tsx"],"sourcesContent":["import React, { useState, useRef } from 'react'\nimport { Button, Size, Input, SelectGroup } from 'digitinary-ui'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport {\n FilterIcon,\n BookIcon,\n ApiIcon,\n SearchIcon,\n arrowDownGray,\n UpArrowIcon,\n DownArrowIcon,\n} from '../../../assets/icons'\nimport Tooltip from '../../../components/Tooltip/Tooltip'\nimport CommonDialog from '../../../components/dialog/index'\nimport { METHOD_OPTIONS } from '../../../constants/methods.constant'\nimport styles from './DocsHeader.module.scss'\n\nconst DocsHeader: React.FC = ({\n transformedOpenApis,\n updateFilteredData,\n}: {\n transformedOpenApis: any[]\n updateFilteredData: any\n}) => {\n const [showSearchFilter, setShowSearchFilter] = useState<boolean>(false)\n const [apiName, setApiName] = useState<string>('')\n const [selectedMethods, setSelectedMethods] = useState<any[]>([])\n const [methodListOpened, setMethodListOpened] = useState(false)\n const [isMethodDropdownOpen, setIsMethodDropdownOpen] = useState<boolean>(false)\n const selectRef = useRef<any>(null)\n\n const handleOpenSearchFilter = (): void => {\n setShowSearchFilter(true)\n }\n\n const handleCloseSearchFilter = (): void => {\n setShowSearchFilter(false)\n setIsMethodDropdownOpen(false)\n }\n\n const handleApplyFilters = (): void => {\n // Reset: no filters applied\n if (!apiName?.trim() && (!selectedMethods || selectedMethods.length === 0)) {\n updateFilteredData(transformedOpenApis, true)\n setShowSearchFilter(false)\n return\n }\n\n let filteredItems = [...transformedOpenApis]\n\n // Filter by API name\n if (apiName?.trim()) {\n const lowerApiName = apiName.toLowerCase()\n filteredItems = filteredItems.filter((api) => api.title.toLowerCase().includes(lowerApiName))\n }\n\n // Filter by selected HTTP methods\n if (selectedMethods?.length) {\n filteredItems = filteredItems.filter((api) => {\n const allMethods = Object.values(api.tags || {})\n .flat()\n .map((endpoint: any) => endpoint.method?.toLowerCase())\n\n return selectedMethods.some((method) => allMethods.includes(method.toLowerCase()))\n })\n }\n\n updateFilteredData(filteredItems)\n setShowSearchFilter(false)\n }\n\n const handleCheckMethod = (e, method: (typeof METHOD_OPTIONS)[0]) => {\n const {\n target: { checked },\n } = e\n if (checked) {\n setSelectedMethods((prev) => [...prev, method.value])\n } else {\n if (selectedMethods.includes(method.value)) {\n setSelectedMethods((prev) => prev.filter((_m) => _m != method.value))\n }\n }\n }\n\n return (\n <>\n <header className={styles.api_docs_header}>\n <div className={styles.header_content}>\n <Button\n variant=\"outlined\"\n size=\"small\"\n className={styles.search_filter_btn}\n onClick={handleOpenSearchFilter}\n >\n Search & Filter\n <SVGLoader src={FilterIcon} />\n </Button>\n <div className={styles.nav_buttons}>\n <Tooltip\n placement=\"bottom\"\n delay={[0, 0]}\n className={`guides-tooltip ${styles.tippy_box_color}`}\n content={<div>Coming Soon</div>}\n >\n <Button variant=\"outlined\" size=\"small\" className=\"guide-btn\" disabled={true}>\n <SVGLoader src={BookIcon} />\n GUIDES\n </Button>\n </Tooltip>\n <Button variant=\"outlined\" size=\"small\" className={styles.api_btn}>\n <SVGLoader src={ApiIcon} /> &nbsp; API reference\n </Button>\n </div>\n </div>\n </header>\n <CommonDialog\n size=\"sm\"\n open={showSearchFilter}\n onClose={handleCloseSearchFilter}\n icon={false}\n withClose={false}\n noActions\n content={\n <div className={`search-filter-form ${isMethodDropdownOpen ? 'expanded' : ''}`}>\n <div className=\"search-filter-form__header\">\n <p className=\"search-filter-form__header__title\">Search & Filter</p>\n </div>\n <Input\n className=\"name-input\"\n placeholder=\"Search by API name\"\n value={apiName}\n onChange={(value) => setApiName(value as string)}\n size={Size.Medium}\n clearable\n endAdornment={<SVGLoader src={SearchIcon} />}\n />\n <div className=\"method-container\">\n <label>Method</label>\n {/* <SelectGroup\n isMultiple={true}\n size={Size.Medium}\n placeholder=\"Select Method\"\n value={selectedMethods}\n onChange={(value) => setSelectedMethods(value || [])}\n options={[\n \n ]}\n withSearch={false}\n className=\"method-select custom-select-border\"\n /> */}\n <div className=\"typeDdl\" onClick={() => setIsMethodDropdownOpen((prev) => !prev)}>\n <span>Select Method</span>\n <SVGLoader src={!isMethodDropdownOpen ? DownArrowIcon : UpArrowIcon} />\n </div>\n {isMethodDropdownOpen && (\n <div className=\"methodList\">\n {METHOD_OPTIONS.map((_m) => (\n <div className=\"method-item\">\n <input\n type=\"checkbox\"\n className=\"agreement-checkbox\"\n checked={selectedMethods.includes(_m.value)}\n onChange={(e) => handleCheckMethod(e, _m)}\n />\n <span style={{ color: _m.color }}>{_m.label}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n <div className=\"button-container\">\n <Button\n variant=\"contained\"\n color=\"primary\"\n size=\"large\"\n onClick={handleApplyFilters}\n className=\"dialog-submit-btn\"\n >\n Apply\n </Button>\n </div>\n </div>\n }\n />\n </>\n )\n}\n\nexport default DocsHeader\n"],"names":["DocsHeader","transformedOpenApis","updateFilteredData","showSearchFilter","setShowSearchFilter","useState","apiName","setApiName","selectedMethods","setSelectedMethods","isMethodDropdownOpen","setIsMethodDropdownOpen","useRef","_jsxs","_jsx","jsx","className","styles","api_docs_header","children","header_content","Button","variant","size","search_filter_btn","onClick","SVGLoader","src","FilterIcon","jsxs","nav_buttons","Tooltip","placement","delay","tippy_box_color","content","disabled","BookIcon","api_btn","ApiIcon","CommonDialog","open","onClose","icon","withClose","noActions","Input","placeholder","value","onChange","Size","Medium","clearable","endAdornment","SearchIcon","prev","UpArrowIcon","DownArrowIcon","METHOD_OPTIONS","map","_m","type","checked","includes","e","method","target","filter","handleCheckMethod","style","color","label","trim","length","filteredItems","lowerApiName","toLowerCase","api","title","allMethods","Object","values","tags","flat","endpoint","_a","some"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as s}from"../../../../_virtual/jsx-runtime.js";import{useState as e}from"react";import i from"../../../components/SVGLoader/SVGLoader.js";import a from"../../../assets/icons/arrowDownGray.svg.js";import t from"../../../assets/icons/arrowRightGray.svg.js";import c from"../../../assets/icons/document.svg.js";import r from"../../../assets/icons/eye.svg.js";const n=({apis:n,setActiveItemData:d,isFirstApiExpanded:o,setIsFirstApiExpanded:p,setActiveType:l})=>{const[j,m]=e({}),v=(s,e,i,a)=>{if(o&&p(!1),i&&a){const i=Object.fromEntries(Object.entries(Object.assign({},j)).filter((([i,t])=>!!i.includes(s)&&(i===e||!a.some((s=>i.includes(s)))))));m(Object.assign(Object.assign({},i),{[e]:!j[e]}))}else m((s=>Object.assign(Object.assign({},s),{[e]:!s[e]})))},_=(e,i)=>e.map(((e,a)=>{const t=j[`api-${i.id}-resource-${e.id}`];return s.jsxs("div",{className:`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${e.method.toLowerCase()}`,onClick:()=>{t||(d(Object.assign(Object.assign({},e),{api:{id:i.id,title:i.title,description:i.description,version:i.version}})),l("ENDPOINT"),v(i.id,`api-${i.id}-resource-${e.id}`,!0,["resource","overview"]))},"data-active":t,children:[s.jsx("span",{className:"api-docs-api-tree__endpoint-method",children:e.method}),s.jsx("span",{className:"api-docs-api-tree__endpoint-name",children:e.path})]},a)})),x=(e,c,r,n)=>{const d=`api-${r.id}-section-${n}`,o=j[d];return s.jsx("div",{className:"api-docs-api-tree__subsection",children:s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"api-docs-api-tree__subsection-header",onClick:()=>v(r.id,d),children:[o?s.jsx(i,{src:a}):s.jsx(i,{src:t}),s.jsx("span",{className:"api-docs-api-tree__subsection-title",children:e})]}),o&&s.jsx("div",{className:"api-docs-api-tree__endpoints",children:_(c,r)})]})},d)};return s.jsx("aside",{className:"api-docs-api-tree",children:n.map(((e,n)=>((e,n)=>{const p=j[`api-${e.id}-section`],m=Object.keys(j).some((s=>s.includes(`api-${e.id}-resource`))),_=j[`api-${e.id}-endpoints`],h=j[`api-${e.id}-overview`];return o&&0===n&&!p&&(v(e.id,`api-${e.id}-section`),v(e.id,`api-${e.id}-overview`),d(e),l("OVERVIEW")),s.jsxs("div",{className:"api-docs-api-tree__section","data-active":m||h,children:[s.jsxs("div",{className:"api-docs-api-tree__section-header",onClick:()=>v(e.id,`api-${e.id}-section`),children:[p?s.jsx(i,{src:a}):s.jsx(i,{src:t}),s.jsx(i,{src:c}),s.jsx("span",{className:"api-docs-api-tree__section-title",children:e.title})]}),p&&s.jsxs(s.Fragment,{children:[s.jsxs("div",{className:"api-docs-api-tree__section__overview",onClick:()=>{h||(v(e.id,`api-${e.id}-overview`,!0,["resource"]),d(e),l("OVERVIEW"))},"data-active":h,children:[s.jsx(i,{src:r}),s.jsx("span",{children:"Overview"})]}),s.jsxs("div",{className:"api-docs-api-tree__section__endpoints",onClick:()=>{v(e.id,`api-${e.id}-endpoints`)},"data-active":m&&!h,children:[_?s.jsx(i,{src:a}):s.jsx(i,{src:t}),s.jsx("span",{children:"Endpoints"})]}),_&&s.jsx("div",{className:"api-docs-api-tree__subsections",children:Object.entries(e.tags).sort((([s],[e])=>"default"===s?1:"default"===e?-1:s.localeCompare(e))).map((([s,i],a)=>x(s,i,e,a)))})]})]},e.id)})(e,n)))})};export{n as default};
1
+ import{j as e}from"../../../../_virtual/jsx-runtime.js";import{useEffect as s}from"react";import i from"../../../components/SVGLoader/SVGLoader.js";import a from"../../../assets/icons/arrowDownGray.svg.js";import c from"../../../assets/icons/arrowRightGray.svg.js";import t from"../../../assets/icons/document.svg.js";import p from"../../../assets/icons/eye.svg.js";const n=({apis:n,setActiveItemData:r,activeItemData:d,activeType:o,expandedSections:l,setExpandedSections:j,isFirstApiExpanded:m,setIsFirstApiExpanded:v,setActiveType:_})=>{s((()=>{if(!(null==n?void 0:n.length)||!m)return;const e=n[0],s=`api-${e.apiSpecId}-section`,i=`api-${e.apiSpecId}-overview`;j((e=>Object.assign(Object.assign({},e),{[s]:!0,[i]:!0}))),r(e),_("OVERVIEW"),v(!1)}),[n,m]);const x=(e,s,i,a)=>{if(i&&a){const i=Object.fromEntries(Object.entries(Object.assign({},l)).filter((([i])=>!!i.includes(e)&&(i===s||!a.some((e=>i.includes(e)))))));j(Object.assign(Object.assign({},i),{[s]:!l[s]}))}else j((e=>Object.assign(Object.assign({},e),{[s]:!e[s]})))},h=(s,i)=>s.map(((s,a)=>{const c=`api-${i.apiSpecId}-resource-${s.id}`,t=l[c];return e.jsxs("div",{className:`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${s.method.toLowerCase()}`,onClick:()=>{t||(r(Object.assign(Object.assign({},s),{api:Object.assign({id:i.apiSpecId,title:i.title,description:i.description,version:i.version},i)})),_("ENDPOINT"),x(i.apiSpecId,c,!0,["resource","overview"]))},"data-active":t,children:[e.jsx("span",{className:"api-docs-api-tree__endpoint-method",children:s.method}),e.jsx("span",{className:"api-docs-api-tree__endpoint-name",children:s.path})]},a)})),I=s=>{const n=`api-${s.apiSpecId}-section`,j=`api-${s.apiSpecId}-endpoints`,m=`api-${s.apiSpecId}-overview`,v=l[n],I="apiSpecId"in d&&d.apiSpecId===s.apiSpecId&&"OVERVIEW"===o,S="api"in d&&d.api.id===s.apiSpecId&&"path"in d&&"method"in d;return e.jsxs("div",{className:"api-docs-api-tree__section","data-active":S||I,children:[e.jsxs("div",{className:"api-docs-api-tree__section-header",onClick:()=>x(s.apiSpecId,n),children:[v?e.jsx(i,{src:a}):e.jsx(i,{src:c}),e.jsx(i,{src:t}),e.jsx("span",{className:"api-docs-api-tree__section-title",children:s.title})]}),v&&e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"api-docs-api-tree__section__overview",onClick:()=>{I||(x(s.apiSpecId,m,!0,["resource"]),r(s),_("OVERVIEW"))},"data-active":I,children:[e.jsx(i,{src:p}),e.jsx("span",{children:"Overview"})]}),e.jsxs("div",{className:"api-docs-api-tree__section__endpoints",onClick:()=>x(s.apiSpecId,j),"data-active":S&&!I,children:[l[j]?e.jsx(i,{src:a}):e.jsx(i,{src:c}),e.jsx("span",{children:"Endpoints"})]}),l[j]&&e.jsx("div",{className:"api-docs-api-tree__subsections",children:Object.entries(s.tags).sort((([e],[s])=>"default"===e?1:"default"===s?-1:e.localeCompare(s))).map((([t,p],n)=>((s,t,p,n)=>{const r=`api-${p.apiSpecId}-section-${n}`,d=l[r];return e.jsxs("div",{className:"api-docs-api-tree__subsection",children:[e.jsxs("div",{className:"api-docs-api-tree__subsection-header",onClick:()=>x(p.apiSpecId,r),children:[d?e.jsx(i,{src:a}):e.jsx(i,{src:c}),e.jsx("span",{className:"api-docs-api-tree__subsection-title",children:s})]}),d&&e.jsx("div",{className:"api-docs-api-tree__endpoints",children:h(t,p)})]},r)})(t,p,s,n)))})]})]},s.apiSpecId)};return e.jsx("aside",{className:"api-docs-api-tree",children:n.map((e=>I(e)))})};export{n as default};
2
2
  //# sourceMappingURL=DocsSideMenuTree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocsSideMenuTree.js","sources":["../../../../../src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx"],"sourcesContent":["import './style.scss'\nimport React, { useState } from 'react'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { arrowDownGray, arrowRightGray, document, eye } from '../../../assets/icons'\n\nconst DocsSideMenuTree = ({\n apis,\n setActiveItemData,\n isFirstApiExpanded,\n setIsFirstApiExpanded,\n setActiveType,\n}) => {\n const [expandedSections, setExpandedSections] = useState({})\n\n const toggleSection = (apiId, sectionId: string, resetOthers?: boolean, key?: string[]) => {\n isFirstApiExpanded && setIsFirstApiExpanded(false)\n if (resetOthers && key) {\n const filteredExpandedSections = Object.fromEntries(\n Object.entries({ ...expandedSections }).filter(([expandKey, _]) => {\n // Close other APIs sections\n if (!expandKey.includes(apiId)) return false\n // always return the clicked on section\n else if (expandKey === sectionId) return true\n // filter all sections containing the key\n else if (key.some((k) => expandKey.includes(k))) return false\n else return true\n })\n )\n\n setExpandedSections({\n ...filteredExpandedSections,\n [sectionId]: !expandedSections[sectionId],\n })\n } else {\n setExpandedSections((prev) => ({\n ...prev,\n [sectionId]: !prev[sectionId],\n }))\n }\n }\n\n const renderEndpoints = (endpoints, api) => {\n return endpoints.map((endpoint, index) => {\n const isResourceExpanded = expandedSections[`api-${api.id}-resource-${endpoint.id}`]\n\n return (\n <div\n key={index}\n className={`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${endpoint.method.toLowerCase()}`}\n onClick={() => {\n if (!isResourceExpanded) {\n setActiveItemData({\n ...endpoint,\n api: {\n id: api.id,\n title: api.title,\n description: api.description,\n version: api.version,\n },\n })\n setActiveType('ENDPOINT')\n toggleSection(api.id, `api-${api.id}-resource-${endpoint.id}`, true, [\n 'resource',\n 'overview',\n ])\n }\n }}\n data-active={isResourceExpanded}\n >\n <span className=\"api-docs-api-tree__endpoint-method\">{endpoint.method}</span>\n <span className=\"api-docs-api-tree__endpoint-name\">{endpoint.path}</span>\n </div>\n )\n })\n }\n\n const renderApiSection = (api, index) => {\n const isApiExpanded = expandedSections[`api-${api.id}-section`]\n const isEndpointActive = Object.keys(expandedSections).some((k) =>\n k.includes(`api-${api.id}-resource`)\n )\n const isEndpointsExpanded = expandedSections[`api-${api.id}-endpoints`]\n const isOverviewExpanded = expandedSections[`api-${api.id}-overview`]\n\n if (isFirstApiExpanded && index === 0 && !isApiExpanded) {\n toggleSection(api.id, `api-${api.id}-section`)\n toggleSection(api.id, `api-${api.id}-overview`)\n setActiveItemData(api)\n setActiveType('OVERVIEW')\n }\n\n return (\n <div\n key={api.id}\n className=\"api-docs-api-tree__section\"\n data-active={isEndpointActive || isOverviewExpanded}\n >\n <div\n className=\"api-docs-api-tree__section-header\"\n onClick={() => toggleSection(api.id, `api-${api.id}-section`)}\n >\n {isApiExpanded ? <SVGLoader src={arrowDownGray} /> : <SVGLoader src={arrowRightGray} />}\n <SVGLoader src={document} />\n <span className=\"api-docs-api-tree__section-title\">{api.title}</span>\n </div>\n\n {isApiExpanded && (\n <>\n <div\n className={`api-docs-api-tree__section__overview`}\n onClick={() => {\n if (!isOverviewExpanded) {\n toggleSection(api.id, `api-${api.id}-overview`, true, ['resource'])\n setActiveItemData(api)\n setActiveType('OVERVIEW')\n }\n }}\n data-active={isOverviewExpanded}\n >\n {<SVGLoader src={eye} />}\n <span>Overview</span>\n </div>\n <div\n className=\"api-docs-api-tree__section__endpoints\"\n onClick={() => {\n toggleSection(api.id, `api-${api.id}-endpoints`)\n }}\n data-active={isEndpointActive && !isOverviewExpanded}\n >\n {isEndpointsExpanded ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span>Endpoints</span>\n </div>\n {isEndpointsExpanded && (\n <div className=\"api-docs-api-tree__subsections\">\n {Object.entries(api.tags)\n .sort(([a], [b]) => {\n if (a === 'default') return 1\n if (b === 'default') return -1\n return a.localeCompare(b)\n })\n .map(([tagName, data], index) => renderSubSection(tagName, data, api, index))}\n </div>\n )}\n </>\n )}\n </div>\n )\n }\n\n const renderSubSection = (tagName, data, api, sectionIndex) => {\n const sectionKey = `api-${api.id}-section-${sectionIndex}`\n const isSectionExpanded = expandedSections[sectionKey]\n\n return (\n <div key={sectionKey} className=\"api-docs-api-tree__subsection\">\n <>\n <div\n className=\"api-docs-api-tree__subsection-header\"\n onClick={() => toggleSection(api.id, sectionKey)}\n >\n {isSectionExpanded ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span className=\"api-docs-api-tree__subsection-title\">{tagName}</span>\n </div>\n\n {isSectionExpanded && (\n <div className=\"api-docs-api-tree__endpoints\">{renderEndpoints(data, api)}</div>\n )}\n </>\n </div>\n )\n }\n\n return (\n <aside className=\"api-docs-api-tree\">\n {apis.map((api, index) => renderApiSection(api, index))}\n </aside>\n )\n}\n\nexport default DocsSideMenuTree\n"],"names":["DocsSideMenuTree","apis","setActiveItemData","isFirstApiExpanded","setIsFirstApiExpanded","setActiveType","expandedSections","setExpandedSections","useState","toggleSection","apiId","sectionId","resetOthers","key","filteredExpandedSections","Object","fromEntries","entries","assign","filter","expandKey","_","includes","some","k","prev","renderEndpoints","endpoints","api","map","endpoint","index","isResourceExpanded","id","_jsxs","className","method","toLowerCase","onClick","title","description","version","children","_jsx","jsx","path","renderSubSection","tagName","data","sectionIndex","sectionKey","isSectionExpanded","_Fragment","Fragment","jsxs","SVGLoader","src","arrowDownGray","arrowRightGray","isApiExpanded","isEndpointActive","keys","isEndpointsExpanded","isOverviewExpanded","document","eye","tags","sort","a","b","localeCompare","renderApiSection"],"mappings":"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"}
1
+ {"version":3,"file":"DocsSideMenuTree.js","sources":["../../../../../src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx"],"sourcesContent":["import './style.scss'\nimport React, { useEffect, useState } from 'react'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { arrowDownGray, arrowRightGray, document, eye } from '../../../assets/icons'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\n\nconst DocsSideMenuTree = ({\n apis,\n setActiveItemData,\n activeItemData,\n activeType,\n expandedSections,\n setExpandedSections,\n isFirstApiExpanded,\n setIsFirstApiExpanded,\n setActiveType,\n}: {\n apis: OverviewData[]\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n activeItemData: OverviewData | EndpointData\n expandedSections: Record<string, boolean>\n setExpandedSections: React.Dispatch<React.SetStateAction<Record<string, boolean>>>\n isFirstApiExpanded: boolean\n setIsFirstApiExpanded: React.Dispatch<React.SetStateAction<boolean>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n activeType: 'OVERVIEW' | 'ENDPOINT'\n}) => {\n // Auto-expand first API only once\n useEffect(() => {\n if (!apis?.length || !isFirstApiExpanded) return\n\n const firstApi = apis[0]\n const sectionKey = `api-${firstApi.apiSpecId}-section`\n const overviewKey = `api-${firstApi.apiSpecId}-overview`\n\n setExpandedSections((prev) => ({\n ...prev,\n [sectionKey]: true,\n [overviewKey]: true,\n }))\n\n setActiveItemData(firstApi)\n setActiveType('OVERVIEW')\n setIsFirstApiExpanded(false)\n }, [apis, isFirstApiExpanded])\n\n const toggleSection = (apiId, sectionId: string, resetOthers?: boolean, key?: string[]) => {\n if (resetOthers && key) {\n const filteredExpandedSections = Object.fromEntries(\n Object.entries({ ...expandedSections }).filter(([expandKey]) => {\n // Close other APIs sections\n if (!expandKey.includes(apiId)) return false\n // always return the clicked on section\n if (expandKey === sectionId) return true\n // filter all sections containing the key\n if (key.some((k) => expandKey.includes(k))) return false\n return true\n })\n )\n\n setExpandedSections({\n ...filteredExpandedSections,\n [sectionId]: !expandedSections[sectionId],\n })\n } else {\n setExpandedSections((prev) => ({\n ...prev,\n [sectionId]: !prev[sectionId],\n }))\n }\n }\n\n const renderEndpoints = (endpoints: EndpointData[], api: OverviewData) =>\n endpoints.map((endpoint, index) => {\n const key = `api-${api.apiSpecId}-resource-${endpoint.id}`\n const isExpanded = expandedSections[key]\n\n return (\n <div\n key={index}\n className={`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${endpoint.method.toLowerCase()}`}\n onClick={() => {\n if (!isExpanded) {\n setActiveItemData({\n ...endpoint,\n api: {\n id: api.apiSpecId,\n title: api.title,\n description: api.description,\n version: api.version,\n ...api,\n },\n })\n setActiveType('ENDPOINT')\n toggleSection(api.apiSpecId, key, true, ['resource', 'overview'])\n }\n }}\n data-active={isExpanded}\n >\n <span className=\"api-docs-api-tree__endpoint-method\">{endpoint.method}</span>\n <span className=\"api-docs-api-tree__endpoint-name\">{endpoint.path}</span>\n </div>\n )\n })\n\n const renderSubSection = (\n tagName: string,\n data: EndpointData[],\n api: OverviewData,\n sectionIndex: number\n ) => {\n const sectionKey = `api-${api.apiSpecId}-section-${sectionIndex}`\n const isSectionExpanded = expandedSections[sectionKey]\n\n return (\n <div key={sectionKey} className=\"api-docs-api-tree__subsection\">\n <div\n className=\"api-docs-api-tree__subsection-header\"\n onClick={() => toggleSection(api.apiSpecId, sectionKey)}\n >\n {isSectionExpanded ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span className=\"api-docs-api-tree__subsection-title\">{tagName}</span>\n </div>\n\n {isSectionExpanded && (\n <div className=\"api-docs-api-tree__endpoints\">{renderEndpoints(data, api)}</div>\n )}\n </div>\n )\n }\n\n const renderApiSection = (api: OverviewData) => {\n const sectionKey = `api-${api.apiSpecId}-section`\n const endpointsKey = `api-${api.apiSpecId}-endpoints`\n const overviewKey = `api-${api.apiSpecId}-overview`\n\n const isApiExpanded = expandedSections[sectionKey]\n const isOverviewExpanded =\n 'apiSpecId' in activeItemData &&\n activeItemData.apiSpecId === api.apiSpecId &&\n activeType === 'OVERVIEW'\n const isEndpointActive =\n 'api' in activeItemData &&\n activeItemData.api.id === api.apiSpecId &&\n 'path' in activeItemData &&\n 'method' in activeItemData\n\n return (\n <div\n key={api.apiSpecId}\n className=\"api-docs-api-tree__section\"\n data-active={isEndpointActive || isOverviewExpanded}\n >\n <div\n className=\"api-docs-api-tree__section-header\"\n onClick={() => toggleSection(api.apiSpecId, sectionKey)}\n >\n {isApiExpanded ? <SVGLoader src={arrowDownGray} /> : <SVGLoader src={arrowRightGray} />}\n <SVGLoader src={document} />\n <span className=\"api-docs-api-tree__section-title\">{api.title}</span>\n </div>\n\n {isApiExpanded && (\n <>\n <div\n className=\"api-docs-api-tree__section__overview\"\n onClick={() => {\n if (!isOverviewExpanded) {\n toggleSection(api.apiSpecId, overviewKey, true, ['resource'])\n setActiveItemData(api)\n setActiveType('OVERVIEW')\n }\n }}\n data-active={isOverviewExpanded}\n >\n <SVGLoader src={eye} />\n <span>Overview</span>\n </div>\n\n <div\n className=\"api-docs-api-tree__section__endpoints\"\n onClick={() => toggleSection(api.apiSpecId, endpointsKey)}\n data-active={isEndpointActive && !isOverviewExpanded}\n >\n {expandedSections[endpointsKey] ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span>Endpoints</span>\n </div>\n\n {expandedSections[endpointsKey] && (\n <div className=\"api-docs-api-tree__subsections\">\n {Object.entries(api.tags)\n .sort(([a], [b]) =>\n a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)\n )\n .map(([tagName, data], i) => renderSubSection(tagName, data, api, i))}\n </div>\n )}\n </>\n )}\n </div>\n )\n }\n\n return <aside className=\"api-docs-api-tree\">{apis.map((api) => renderApiSection(api))}</aside>\n}\n\nexport default DocsSideMenuTree\n"],"names":["DocsSideMenuTree","apis","setActiveItemData","activeItemData","activeType","expandedSections","setExpandedSections","isFirstApiExpanded","setIsFirstApiExpanded","setActiveType","useEffect","length","firstApi","sectionKey","apiSpecId","overviewKey","prev","Object","assign","toggleSection","apiId","sectionId","resetOthers","key","filteredExpandedSections","fromEntries","entries","filter","expandKey","includes","some","k","renderEndpoints","endpoints","api","map","endpoint","index","id","isExpanded","_jsxs","className","method","toLowerCase","onClick","title","description","version","children","_jsx","jsx","path","renderApiSection","endpointsKey","isApiExpanded","isOverviewExpanded","isEndpointActive","jsxs","SVGLoader","src","arrowDownGray","arrowRightGray","document","_Fragment","eye","tags","sort","a","b","localeCompare","tagName","data","i","sectionIndex","isSectionExpanded","renderSubSection"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"../../_virtual/jsx-runtime.js";import{useState as s,useEffect as t}from"react";import o from"./docsComponents/index.js";import{transformOpenApiToDocs as r}from"../helpers/docs.helper.js";const i=({openApiJson:i})=>{const[a,n]=s([]),[p,d]=s(!0),[c,l]=s(),[m,j]=s(),[x,u]=s(!0);return t((()=>{var e;0===a.length&&(n(null===(e=structuredClone(i))||void 0===e?void 0:e.map((e=>r(e))).sort(((e,s)=>e.title.toLowerCase().localeCompare(s.title.toLowerCase())))),u(!1))}),[i]),e.jsxs(o,{children:[e.jsx(o.DocsHeader,{}),e.jsx(o.DocsSideMenuTree,{apis:a,setActiveItemData:l,isFirstApiExpanded:p,setIsFirstApiExpanded:d,setActiveType:j}),!x&&e.jsx(o.DocsContent,{data:c}),"ENDPOINT"===m&&e.jsx(o.DocsAside,{data:c})]})};export{i 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 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};
2
2
  //# sourceMappingURL=docsLayout.js.map