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

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 (31) 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/node_modules/toposort/index.js +1 -1
  5. package/dist/node_modules/yup/index.esm.js +1 -1
  6. package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
  7. package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
  8. package/dist/src/helpers/docs.helper.js.map +1 -1
  9. package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -1
  10. package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
  11. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js +1 -1
  12. package/dist/src/layout/docsComponents/DocsContent/TagPage/index.js.map +1 -1
  13. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +1 -1
  14. package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -1
  15. package/dist/src/layout/docsLayout.js +1 -1
  16. package/dist/src/layout/docsLayout.js.map +1 -1
  17. package/dist/styles.css +482 -482
  18. package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +5 -0
  19. package/dist/types/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +2 -1
  20. package/dist/types/layout/docsComponents/DocsContent/TagPage/index.d.ts +6 -5
  21. package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +4 -2
  22. package/dist/types/layout/docsLayout.d.ts +4 -3
  23. package/package.json +3 -1
  24. package/rollup.config.js +2 -2
  25. package/src/components/MethodAccordion/MethodAccordion.tsx +5 -3
  26. package/src/helpers/docs.helper.ts +1 -0
  27. package/src/layout/docsComponents/DocsContent/DocsContent.tsx +6 -4
  28. package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +13 -11
  29. package/src/layout/docsComponents/DocsContent/TagPage/index.tsx +58 -4
  30. package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +11 -33
  31. package/src/layout/docsLayout.tsx +99 -21
@@ -1 +1 @@
1
- {"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport {\n Accordion,\n Button,\n Input,\n SelectGroup,\n SelectGroupV2,\n Switch,\n TextArea,\n} from 'digitinary-ui'\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\nimport { DeleteIcon, DownArrowIcon, EditIcon, DeleteOutlinedIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\nimport Tooltip from '../../components/Tooltip/Tooltip'\nimport { TransformedMethod } from '../../types/layout.type'\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\nimport ParamterTable from '../table/table'\nimport CommonDialog from '../../components/dialog'\nimport JsonInput from '../../components/JsonInput/JsonInput'\nimport styles from './MethodAccordion.module.scss'\nimport { Tags } from '@entities/openApi'\nimport regex from '../../constants/regex'\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 MethodsAccordion = ({\n method,\n path,\n setFieldValue,\n readOnly,\n tags,\n isOpen,\n setIsOpen,\n errors,\n}: {\n method: TransformedMethod\n path: string\n setFieldValue?: (key: string, value: string | string[]) => void\n readOnly?: boolean\n tags: Tags[]\n isOpen: boolean\n setIsOpen: (open: boolean) => void\n errors?: string\n}) => {\n const [isExpanded, setIsExpanded] = useState({\n request: false,\n response: false,\n method: false,\n })\n const [isFormOpen, setIsFormOpen] = useState<'Req' | 'Res'>(undefined)\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\n const [tableData, setTableData] = useState([])\n const [tableResponseData, setTableResponseData] = useState([])\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\n const [openHeaderDeleteDialog, setOpenHeaderDeleteDialog] = useState(false)\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\n const [selectedHeaderIndex, setSelectedHeaderIndex] = useState<number | null>(null)\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\n const [tableRecords, setTableRecords] = useState()\n const [tableResponseRecords, setTableResponseRecords] = useState([])\n const [selectionTags, setSelectionTags] = useState([])\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\n const [enumFields, setEnumFields] = useState([])\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [currentResponseIndex, setCurrentResponseIndex] = useState<number>(-1)\n const currentResponse =\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\n const indexRef = useRef(-1)\n const onTableChange = (key, value, index) => {\n const newTableData = tableData.map((item, tIndex) => {\n if (tIndex === index) {\n return { ...item, [key]: value }\n } else {\n return item\n }\n })\n\n setTableData(newTableData)\n }\n\n const generateResponseTableData = (headersObj: any, responseIndex: number) => {\n const headersByName = Object.keys(headersObj)\n return headersByName.map((item, index) => {\n const data = headersObj[item]\n return {\n id: `header_${index}`,\n paramName: item,\n paramType: capitalize('header'),\n schemaType: `${capitalize(data?.schema?.type) || ''} ${\n data?.schema?.type?.toLowerCase() == 'array' &&\n data?.schema?.items &&\n data?.schema?.items?.type\n ? ` _ ${capitalize(data?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n data.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={data.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].required`,\n !data.required\n )\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.responses[responseIndex].headers[item].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>\n {method.responses[responseIndex].headers[item].description}\n </div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.responses[responseIndex].headers[item].description\n ? method.responses[responseIndex].headers[item].description.substring(0, 12)\n : readOnly && '-'}\n {method.responses[responseIndex].headers[item].description &&\n method.responses[responseIndex].headers[item].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={data.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue(\n `responses[${indexRef.current}].headers[${item}].description`,\n value\n )\n }\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].description`,\n data.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!data.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ||\n method.responses[responseIndex].headers[item].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteResponseHeader(index, item)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{data?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.responses[responseIndex]?.headers[index]?.schema &&\n method.responses[responseIndex]?.headers[index]?.schema?.type?.toLowerCase() !=\n 'array' &&\n method.responses[responseIndex]?.headers[index]?.schema?.type?.toLowerCase() !=\n 'object' ? (\n <Tooltip\n disabled={\n method.responses[responseIndex]?.headers[\n index\n ]?.schema?.type?.toLowerCase() == 'array' ||\n method.responses[responseIndex]?.headers[\n index\n ]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.responses[responseIndex]?.headers[index]?.schema?.enum &&\n !!method.responses[responseIndex]?.headers[index]?.schema?.enum.length &&\n method.responses[responseIndex]?.headers[index]?.schema?.enum?.map(\n (item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum[${_index}]`,\n value.toString()\n )\n }}\n />\n )\n )}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum`,\n [...method.responses[responseIndex]?.headers[index]?.schema?.enum, '']\n )\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum`,\n [...method.parameters[index].schema.enum]\n )\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.responses[responseIndex]?.headers[index]?.schema?.enum &&\n method.responses[responseIndex]?.headers[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.responses[responseIndex]?.headers[index]?.schema?.enum?.join(\n '/\\u200B'\n )}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const generateTableData = (items, isForRequest?: boolean) => {\n return items?.map((item, index) => {\n return {\n id: index,\n paramName: item.name,\n paramType: capitalize(item.in),\n schemaType: `${capitalize(item?.schema?.type) || ''} ${\n item?.schema?.type?.toLowerCase() == 'array' &&\n item?.schema?.items &&\n item?.schema?.items?.type\n ? ` _ ${capitalize(item?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n item.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={item.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n onTableChange('required', !item.required, index)\n setFieldValue(`parameters[${index}][required]`, !item.required)\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.parameters[index].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>{method.parameters[index].description}</div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.parameters[index].description\n ? method.parameters[index].description.substring(0, 12)\n : readOnly && '-'}\n {method.parameters[index].description &&\n method.parameters[index].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={item.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value))\n onTableChange('description', value, index)\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `parameters[${index}].description`,\n item.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!item.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly || method.parameters[index].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteClick(index, item.name)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{item?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.parameters[index]?.schema &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'array' &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'object' ? (\n <Tooltip\n disabled={\n method.parameters[index]?.schema?.type?.toLowerCase() == 'array' ||\n method.parameters[index]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.parameters[index]?.schema?.enum &&\n !!method.parameters[index]?.schema?.enum.length &&\n method.parameters[index]?.schema?.enum?.map((item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`parameters[${index}].schema.enum[${_index}]`, value)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index]?.schema?.enum,\n '',\n ])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index].schema.enum,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.parameters[index]?.schema?.enum &&\n method.parameters[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.parameters[index]?.schema?.enum?.join('/\\u200B')}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const confirmDeleteParameter = () => {\n if (selectedParamIndex !== null) {\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\n setFieldValue(\n `parameters`,\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\n )\n }\n setOpenDeleteDialog(false)\n setSelectedParamIndex(null)\n }\n\n const confirmDeleteHeader = () => {\n if (setSelectedHeaderIndex !== null) {\n let headers = Object.fromEntries(\n Object.entries(method.responses[indexRef.current].headers).filter(\n ([key]) => key != selectedParamName\n )\n )\n setFieldValue(`responses[${indexRef.current}].headers`, headers)\n }\n setOpenHeaderDeleteDialog(false)\n setSelectedHeaderIndex(null)\n }\n\n const handleDeleteClick = (id: number, name: string) => {\n setSelectedParamIndex(id)\n setSelectedParamName(name)\n\n setOpenDeleteDialog(true)\n }\n\n const handleDeleteResponseHeader = (index, name) => {\n setSelectedHeaderIndex(index)\n setSelectedParamName(name)\n\n setOpenHeaderDeleteDialog(true)\n }\n\n const saveNewRow = (values) => {\n setTableData([...tableData, values])\n setFieldValue(`parameters`, [...method.parameters, values])\n }\n\n const saveNewResponseRow = (value) => {\n setFieldValue(`responses[${indexRef.current}].headers[${value.name}]`, value)\n }\n\n useEffect(() => {\n setTableRecords(generateTableData(tableData, true))\n }, [tableData])\n\n useEffect(() => {\n if (method?.parameters) {\n setTableData(method.parameters)\n }\n }, [method, path])\n\n useEffect(() => {\n if (selectedStatusCode && method.responses) {\n let responseIndex = method.responses.findIndex(\n (_r) => _r.code.toString() == selectedStatusCode.value.toString()\n )\n if (responseIndex < 0) {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {},\n },\n headers: {},\n })\n\n setFieldValue('responses', clonedResponses)\n responseIndex = 0\n }\n setCurrentResponseIndex(responseIndex)\n indexRef.current = responseIndex\n setTableResponseRecords(\n generateResponseTableData(method.responses[responseIndex].headers, responseIndex)\n )\n }\n }, [selectedStatusCode, method.responses])\n\n useEffect(() => {\n if (indexRef.current && indexRef.current > -1) {\n setTableResponseRecords(\n generateResponseTableData(method.responses[indexRef.current].headers, indexRef.current)\n )\n }\n }, [method.responses, indexRef.current])\n\n useEffect(() => {\n // prepare tags selection list\n if (method?.tags.length || tags?.length) {\n const convertedStringArray = (method?.tags || [])?.map((item) => ({\n label: capitalize(item),\n value: item,\n }))\n const mergedArray = [\n ...convertedStringArray,\n ...(tags || []).map((item) => ({ label: capitalize(item.name), value: item.name })),\n ]\n\n const filteredArray = mergedArray.filter(\n (value, index, self) => index === self.findIndex((t) => t.value === value.value)\n )\n\n setSelectionTags(filteredArray)\n }\n }, [tags, method])\n\n return (\n <div>\n <Accordion\n expanded={isOpen}\n onChange={() => setIsOpen(!isOpen)}\n className={`${styles.methodAccordion} ${readOnly ? styles.readOnly : ''}`}\n summary={\n <div className={styles.methodSummaryContainer}>\n <div className={styles.methodSummary}>\n <span\n style={{\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\n }}\n className={styles.methodLabel}\n >\n {methodColorMapping?.[method?.type]?.label || method?.type}\n </span>\n <span className={styles.methodPath}>{path}</span>\n </div>\n <div\n className={`${styles.methodExpandArrowContainer} ${isOpen ? styles.expanded : ''}`}\n >\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\n </div>\n </div>\n }\n children={\n <div className={styles.methodAccordionContent}>\n {!readOnly ? (\n <Input\n className={styles.methodDesc}\n label=\"Endpoint Name\"\n required\n placeholder=\"Endpoint name...\"\n value={method?.summary}\n onChange={(value) => {\n value = value || ''\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue('summary', value)\n }\n }}\n onClear={() => {\n setFieldValue('summary', '')\n }}\n errorMsg={errors?.summary}\n />\n ) : (\n <SimpleLabelValue\n key={'summary'}\n label={'Endpoint Name: '}\n value={method?.summary || '-'}\n />\n )}\n <SelectGroup\n className={styles.methodDesc}\n disabled={readOnly}\n placeholder=\"Select Tags\"\n label=\"Tags\"\n value={method.tags?.map((t) => ({\n label: capitalize(t),\n value: t,\n }))}\n onChange={(item) => {\n setFieldValue(\n 'tags',\n item.map((i) => i.value)\n )\n }}\n options={[\n {\n list: selectionTags,\n },\n ]}\n isMultiple={true}\n withSearch={false}\n clearable={false}\n />\n {!readOnly ? (\n <TextArea\n className={styles.methodDesc}\n label=\"Description\"\n placeholder=\"Describe the method's purpose and functionality...\"\n maxLength={120}\n value={method?.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setFieldValue('description', value)\n }}\n />\n ) : (\n <SimpleLabelValue\n key={'description'}\n label={'Description: '}\n value={method?.description || '-'}\n />\n )}\n <div className={styles.paramsTable}>\n <h4 className={styles.paramsTableBodyHead}>Request Details</h4>\n <ParamterTable\n id=\"paramter-request-table\"\n data={tableRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen && isFormOpen == 'Req'}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewRow}\n readOnly={readOnly}\n isRequest={true}\n />\n {method?.type !== 'get' && method?.type !== 'delete' && (\n <Accordion\n expanded={isExpanded.request}\n onChange={() => null}\n className={styles.requestAccordion}\n summary={\n <span className={styles.requestAccordionSummary}>\n <div\n className={styles.requestAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n request: !prev.request,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.request ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Request\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your request body as a JSON object....\"\n fieldIsDisabled={readOnly}\n value={method?.requestBody?.content?.schema?.properties || '{}'}\n onChange={(value: string) => {\n setFieldValue('requestBody.content.schema.properties', value)\n }}\n onValidation={() => null}\n />\n }\n />\n )}\n </div>\n <div className={styles.paramsTable}>\n <div className={styles.responseHeader}>\n <h4 className={styles.paramsTableBodyHead}>Response Details</h4>\n <SelectGroup\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedStatusCode}\n onChange={(value) => {\n setSelectedStatusCode(value)\n }}\n />\n </div>\n <ParamterTable\n id=\"paramter-response-table\"\n data={tableResponseRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen && isFormOpen == 'Res'}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewResponseRow}\n readOnly={readOnly}\n isRequest={false}\n />\n <Accordion\n expanded={isExpanded.response}\n onChange={() => null}\n className={styles.responseAccordion}\n summary={\n <span className={styles.responseAccordionSummary}>\n <div\n className={styles.responseAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n response: !prev.response,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.response ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Response<span style={{ color: 'red' }}>*</span>\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your response as a JSON object...\"\n fieldIsDisabled={readOnly}\n value={currentResponse?.content?.schema?.properties || '{}'}\n onChange={(value) => {\n const currentResIndex = method.responses.findIndex(\n (res) => res.code === currentResponse.code\n )\n if (currentResIndex !== -1) {\n setFieldValue(\n `responses[${currentResIndex}].content.schema.properties`,\n value\n )\n } else {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {\n type: 'object',\n properties: value,\n },\n },\n })\n\n setFieldValue('responses', clonedResponses)\n }\n }}\n onValidation={(valid) => null}\n />\n }\n />\n </div>\n </div>\n }\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Parameter <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteParameter,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'normal',\n fullWidth: true,\n }}\n onClose={() => setOpenDeleteDialog(false)}\n open={openDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Header <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteHeader,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'normal',\n fullWidth: true,\n }}\n onClose={() => setOpenHeaderDeleteDialog(false)}\n open={openHeaderDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n />\n </div>\n )\n}\n\nexport default MethodsAccordion\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","tags","isOpen","setIsOpen","errors","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","undefined","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","openHeaderDeleteDialog","setOpenHeaderDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedHeaderIndex","setSelectedHeaderIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","tableResponseRecords","setTableResponseRecords","selectionTags","setSelectionTags","selectedStatusCode","setSelectedStatusCode","enumFields","setEnumFields","tooltipEnumRef","setTooltipEnumRef","currentResponseIndex","setCurrentResponseIndex","currentResponse","responses","find","res","Number","indexRef","useRef","onTableChange","key","index","newTableData","item","tIndex","Object","assign","generateResponseTableData","headersObj","responseIndex","keys","data","id","paramName","paramType","capitalize","schemaType","schema","_a","type","_c","_b","toLowerCase","_d","items","_f","_e","_h","_g","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","allowHTML","disabled","_j","headers","length","content","padding","arrowWithBorder","placement","delay","onShow","hide","alignSelf","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","maxLength","onChange","regex","ASCII","test","current","Button","editDescTooltipContent_btn","variant","size","trim","_k","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteResponseHeader","enum","Fragment","_m","_o","join","_q","_p","_v","_t","_s","_u","_z","_x","_w","_y","_3","_2","_1","_0","_7","_5","_4","_6","_9","_8","_10","_13","_12","_17","_16","_15","_14","_index","Input","clearable","toString","PlusSquare","parameters","filter","_19","_18","_22","_20","_21","_25","_24","_23","_28","_27","_26","_32","_31","_30","_29","_36","_35","_34","_33","PlusIcon","handleDeleteClick","name","useEffect","in","_l","jsxs","_11","findIndex","_r","clonedResponses","structuredClone","push","contentType","filteredArray","self","t","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","onClear","errorMsg","SelectGroup","i","options","list","isMultiple","withSearch","paramsTable","paramsTableBodyHead","ParamterTable","headCells","paramsTableHeaders","saveNewRow","values","isRequest","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","acceptType","withFooter","fieldIsDisabled","requestBody","properties","onValidation","responseHeader","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","currentResIndex","valid","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","_","text","fullWidth","onCancel","onClose","open","icon","DeleteOutlinedIcon","fromEntries","entries"],"mappings":"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"}
1
+ {"version":3,"file":"MethodAccordion.js","sources":["../../../../src/components/MethodAccordion/MethodAccordion.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport {\n Accordion,\n Button,\n Input,\n SelectGroup,\n SelectGroupV2,\n Switch,\n TextArea,\n} from 'digitinary-ui'\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\nimport { DeleteIcon, DownArrowIcon, EditIcon, DeleteOutlinedIcon } from '../../assets/icons'\nimport PlusIcon from '../../assets/icons/Plus.svg'\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\nimport Tooltip from '../../components/Tooltip/Tooltip'\nimport { TransformedMethod } from '../../types/layout.type'\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\nimport ParamterTable from '../table/table'\nimport CommonDialog from '../../components/dialog'\nimport JsonInput from '../../components/JsonInput/JsonInput'\nimport styles from './MethodAccordion.module.scss'\nimport { Tags } from '@entities/openApi'\nimport regex from '../../constants/regex'\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 MethodsAccordion = ({\n method,\n path,\n setFieldValue,\n readOnly,\n tags,\n isOpen,\n setIsOpen,\n errors,\n}: {\n method: TransformedMethod\n path: string\n setFieldValue?: (key: string, value: string | string[]) => void\n readOnly?: boolean\n tags: Tags[]\n isOpen: boolean\n setIsOpen: (open: boolean) => void\n errors?: string\n}) => {\n const [isExpanded, setIsExpanded] = useState({\n request: false,\n response: false,\n method: false,\n })\n const [isFormOpen, setIsFormOpen] = useState<'Req' | 'Res'>(undefined)\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\n const [tableData, setTableData] = useState([])\n const [tableResponseData, setTableResponseData] = useState([])\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\n const [openHeaderDeleteDialog, setOpenHeaderDeleteDialog] = useState(false)\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\n const [selectedHeaderIndex, setSelectedHeaderIndex] = useState<number | null>(null)\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\n const [tableRecords, setTableRecords] = useState()\n const [tableResponseRecords, setTableResponseRecords] = useState([])\n const [selectionTags, setSelectionTags] = useState([])\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\n const [enumFields, setEnumFields] = useState([])\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\n const [currentResponseIndex, setCurrentResponseIndex] = useState<number>(-1)\n const currentResponse =\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\n const indexRef = useRef(-1)\n const onTableChange = (key, value, index) => {\n const newTableData = tableData.map((item, tIndex) => {\n if (tIndex === index) {\n return { ...item, [key]: value }\n } else {\n return item\n }\n })\n\n setTableData(newTableData)\n }\n\n const generateResponseTableData = (headersObj: any, responseIndex: number) => {\n const headersByName = Object.keys(headersObj)\n return headersByName.map((item, index) => {\n const data = headersObj[item]\n return {\n id: `header_${index}`,\n paramName: item,\n paramType: capitalize('header'),\n schemaType: `${capitalize(data?.schema?.type) || ''} ${\n data?.schema?.type?.toLowerCase() == 'array' &&\n data?.schema?.items &&\n data?.schema?.items?.type\n ? ` _ ${capitalize(data?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n data.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={data.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].required`,\n !data.required\n )\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.responses[responseIndex].headers[item].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>\n {method.responses[responseIndex].headers[item].description}\n </div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.responses[responseIndex].headers[item].description\n ? method.responses[responseIndex].headers[item].description.substring(0, 12)\n : readOnly && '-'}\n {method.responses[responseIndex].headers[item].description &&\n method.responses[responseIndex].headers[item].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={data.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue(\n `responses[${indexRef.current}].headers[${item}].description`,\n value\n )\n }\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `responses[${responseIndex}].headers[${item}].description`,\n data.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!data.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly ||\n method.responses[responseIndex].headers[item].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteResponseHeader(index, item)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{data?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.responses[responseIndex]?.headers[index]?.schema &&\n method.responses[responseIndex]?.headers[index]?.schema?.type?.toLowerCase() !=\n 'array' &&\n method.responses[responseIndex]?.headers[index]?.schema?.type?.toLowerCase() !=\n 'object' ? (\n <Tooltip\n disabled={\n method.responses[responseIndex]?.headers[\n index\n ]?.schema?.type?.toLowerCase() == 'array' ||\n method.responses[responseIndex]?.headers[\n index\n ]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.responses[responseIndex]?.headers[index]?.schema?.enum &&\n !!method.responses[responseIndex]?.headers[index]?.schema?.enum.length &&\n method.responses[responseIndex]?.headers[index]?.schema?.enum?.map(\n (item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum[${_index}]`,\n value.toString()\n )\n }}\n />\n )\n )}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum`,\n [...method.responses[responseIndex]?.headers[index]?.schema?.enum, '']\n )\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(\n `responses[${currentResponse}].headers[${index}].schema.enum`,\n [...method.parameters[index].schema.enum]\n )\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.responses[responseIndex]?.headers[index]?.schema?.enum &&\n method.responses[responseIndex]?.headers[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.responses[responseIndex]?.headers[index]?.schema?.enum?.join(\n '/\\u200B'\n )}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const generateTableData = (items, isForRequest?: boolean) => {\n return items?.map((item, index) => {\n return {\n id: index,\n paramName: item.name,\n paramType: capitalize(item.in),\n schemaType: `${capitalize(item?.schema?.type) || ''} ${\n item?.schema?.type?.toLowerCase() == 'array' &&\n item?.schema?.items &&\n item?.schema?.items?.type\n ? ` _ ${capitalize(item?.schema?.items?.type)}`\n : ''\n }`,\n required: (\n <>\n {readOnly ? (\n item.required ? (\n 'True'\n ) : (\n 'False'\n )\n ) : (\n <Switch\n checked={item.required}\n onClick={() => {\n if (readOnly) {\n return null\n }\n onTableChange('required', !item.required, index)\n setFieldValue(`parameters[${index}][required]`, !item.required)\n }}\n />\n )}\n </>\n ),\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={method.parameters[index].description?.length <= 12}\n content={\n <div style={{ padding: '0.625rem' }}>{method.parameters[index].description}</div>\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center' }}>\n {method.parameters[index].description\n ? method.parameters[index].description.substring(0, 12)\n : readOnly && '-'}\n {method.parameters[index].description &&\n method.parameters[index].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n {!readOnly && (\n <Tooltip\n key={`${index}-add-edit-description`}\n allowHTML\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe parameter...\"\n value={item.description}\n disabled={readOnly}\n maxLength={120}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value))\n onTableChange('description', value, index)\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(\n `parameters[${index}].description`,\n item.description?.trim()\n )\n tooltipRefs[index]?.hide()\n }}\n disabled={!item.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly || method.parameters[index].description?.length > 0 ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly ? 'View ' : 'Add '} Description\n </Button>\n )}\n </Tooltip>\n )}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteClick(index, item.name)}\n ></Button>\n )}\n </div>\n ),\n enum: (\n <>\n {readOnly ? (\n <span className=\"enumText\">{item?.schema?.enum?.join('/\\u200B')}</span>\n ) : (\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\n {method.parameters[index]?.schema &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'array' &&\n method.parameters[index]?.schema?.type?.toLowerCase() != 'object' ? (\n <Tooltip\n disabled={\n method.parameters[index]?.schema?.type?.toLowerCase() == 'array' ||\n method.parameters[index]?.schema?.type?.toLowerCase() == 'object'\n }\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) => setTooltipEnumRef(instance)}\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Enum</p>\n {!!method.parameters[index]?.schema?.enum &&\n !!method.parameters[index]?.schema?.enum.length &&\n method.parameters[index]?.schema?.enum?.map((item, _index) => (\n <Input\n key={index}\n className={'methodDescForEnum'}\n required\n clearable={false}\n placeholder=\"Enter Enum value...\"\n value={item}\n onChange={(value) => {\n setFieldValue(`parameters[${index}].schema.enum[${_index}]`, value)\n }}\n />\n ))}\n <p\n className={'addEnumButton'}\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index]?.schema?.enum,\n '',\n ])\n }}\n >\n <SVGLoader src={PlusSquare} />\n Add New Enum\n </p>\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n type=\"button\"\n onClick={() => {\n setFieldValue(`parameters[${index}].schema.enum`, [\n ...method.parameters[index].schema.enum,\n ])\n setEnumFields([])\n tooltipEnumRef?.hide()\n }}\n disabled={\n (enumFields.length > 0 &&\n enumFields?.filter((item) => !item).length) ||\n (method?.parameters[index]?.schema?.enum &&\n method?.parameters[index]?.schema?.enum?.length > 0 &&\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\n .length)\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {method.parameters[index]?.schema?.enum &&\n method.parameters[index]?.schema?.enum?.length > 0 ? (\n <span className={'enumText'}>\n {method.parameters[index]?.schema?.enum?.join('/\\u200B')}\n </span>\n ) : (\n <Button\n className={styles.editDescBtn}\n id=\"EnumButton\"\n variant=\"link\"\n color=\"action\"\n endIcon={\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\n }\n >\n Add\n </Button>\n )}\n </Tooltip>\n ) : (\n '-'\n )}{' '}\n </div>\n )}\n </>\n ),\n }\n })\n }\n\n const confirmDeleteParameter = () => {\n if (selectedParamIndex !== null) {\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\n setFieldValue(\n `parameters`,\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\n )\n }\n setOpenDeleteDialog(false)\n setSelectedParamIndex(null)\n }\n\n const confirmDeleteHeader = () => {\n if (setSelectedHeaderIndex !== null) {\n let headers = Object.fromEntries(\n Object.entries(method.responses[indexRef.current].headers).filter(\n ([key]) => key != selectedParamName\n )\n )\n setFieldValue(`responses[${indexRef.current}].headers`, headers)\n }\n setOpenHeaderDeleteDialog(false)\n setSelectedHeaderIndex(null)\n }\n\n const handleDeleteClick = (id: number, name: string) => {\n setSelectedParamIndex(id)\n setSelectedParamName(name)\n\n setOpenDeleteDialog(true)\n }\n\n const handleDeleteResponseHeader = (index, name) => {\n setSelectedHeaderIndex(index)\n setSelectedParamName(name)\n\n setOpenHeaderDeleteDialog(true)\n }\n\n const saveNewRow = (values) => {\n setTableData([...tableData, values])\n setFieldValue(`parameters`, [...method.parameters, values])\n }\n\n const saveNewResponseRow = (value) => {\n setFieldValue(`responses[${indexRef.current}].headers[${value.name}]`, value)\n }\n\n useEffect(() => {\n setTableRecords(generateTableData(tableData, true))\n }, [tableData])\n\n useEffect(() => {\n if (method?.parameters) {\n setTableData(method.parameters)\n }\n }, [method, path])\n\n useEffect(() => {\n if (selectedStatusCode && method.responses) {\n let responseIndex = method.responses.findIndex(\n (_r) => _r.code.toString() == selectedStatusCode.value.toString()\n )\n if (responseIndex < 0) {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {},\n },\n headers: {},\n })\n\n if (setFieldValue) {\n setFieldValue('responses', clonedResponses)\n responseIndex = 0\n }\n }\n setCurrentResponseIndex(responseIndex)\n indexRef.current = responseIndex\n setTableResponseRecords(\n generateResponseTableData(method.responses[responseIndex].headers, responseIndex)\n )\n }\n }, [selectedStatusCode, method.responses, setFieldValue])\n\n useEffect(() => {\n if (indexRef.current && indexRef.current > -1) {\n setTableResponseRecords(\n generateResponseTableData(method.responses[indexRef.current].headers, indexRef.current)\n )\n }\n }, [method.responses, indexRef.current])\n\n useEffect(() => {\n // prepare tags selection list\n if (method?.tags.length || tags?.length) {\n const convertedStringArray = (method?.tags || [])?.map((item) => ({\n label: capitalize(item),\n value: item,\n }))\n const mergedArray = [\n ...convertedStringArray,\n ...(tags || []).map((item) => ({ label: capitalize(item.name), value: item.name })),\n ]\n\n const filteredArray = mergedArray.filter(\n (value, index, self) => index === self.findIndex((t) => t.value === value.value)\n )\n\n setSelectionTags(filteredArray)\n }\n }, [tags, method])\n\n return (\n <div>\n <Accordion\n expanded={isOpen}\n onChange={() => setIsOpen(!isOpen)}\n className={`${styles.methodAccordion} ${readOnly ? styles.readOnly : ''}`}\n summary={\n <div className={styles.methodSummaryContainer}>\n <div className={styles.methodSummary}>\n <span\n style={{\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\n }}\n className={styles.methodLabel}\n >\n {methodColorMapping?.[method?.type]?.label || method?.type}\n </span>\n <span className={styles.methodPath}>{path}</span>\n </div>\n <div\n className={`${styles.methodExpandArrowContainer} ${isOpen ? styles.expanded : ''}`}\n >\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\n </div>\n </div>\n }\n children={\n <div className={styles.methodAccordionContent}>\n {!readOnly ? (\n <Input\n className={styles.methodDesc}\n label=\"Endpoint Name\"\n required\n placeholder=\"Endpoint name...\"\n value={method?.summary}\n onChange={(value) => {\n value = value || ''\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue('summary', value)\n }\n }}\n onClear={() => {\n setFieldValue('summary', '')\n }}\n errorMsg={errors?.summary}\n />\n ) : (\n <SimpleLabelValue\n key={'summary'}\n label={'Endpoint Name: '}\n value={method?.summary || '-'}\n />\n )}\n <SelectGroup\n className={styles.methodDesc}\n disabled={readOnly}\n placeholder=\"Select Tags\"\n label=\"Tags\"\n value={method.tags?.map((t) => ({\n label: capitalize(t),\n value: t,\n }))}\n onChange={(item) => {\n setFieldValue(\n 'tags',\n item.map((i) => i.value)\n )\n }}\n options={[\n {\n list: selectionTags,\n },\n ]}\n isMultiple={true}\n withSearch={false}\n clearable={false}\n />\n {!readOnly ? (\n <TextArea\n className={styles.methodDesc}\n label=\"Description\"\n placeholder=\"Describe the method's purpose and functionality...\"\n maxLength={120}\n value={method?.description}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) setFieldValue('description', value)\n }}\n />\n ) : (\n <SimpleLabelValue\n key={'description'}\n label={'Description: '}\n value={method?.description || '-'}\n />\n )}\n <div className={styles.paramsTable}>\n <h4 className={styles.paramsTableBodyHead}>Request Details</h4>\n <ParamterTable\n id=\"paramter-request-table\"\n data={tableRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen && isFormOpen == 'Req'}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewRow}\n readOnly={readOnly}\n isRequest={true}\n />\n {method?.type !== 'get' && method?.type !== 'delete' && (\n <Accordion\n expanded={isExpanded.request}\n onChange={() => null}\n className={styles.requestAccordion}\n summary={\n <span className={styles.requestAccordionSummary}>\n <div\n className={styles.requestAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n request: !prev.request,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.request ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Request\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your request body as a JSON object....\"\n fieldIsDisabled={readOnly}\n value={method?.requestBody?.content?.schema?.properties || '{}'}\n onChange={(value: string) => {\n setFieldValue('requestBody.content.schema.properties', value)\n }}\n onValidation={() => null}\n />\n }\n />\n )}\n </div>\n <div className={styles.paramsTable}>\n <div className={styles.responseHeader}>\n <h4 className={styles.paramsTableBodyHead}>Response Details</h4>\n <SelectGroup\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedStatusCode}\n onChange={(value) => {\n setSelectedStatusCode(value)\n }}\n />\n </div>\n <ParamterTable\n id=\"paramter-response-table\"\n data={tableResponseRecords}\n headCells={paramsTableHeaders}\n isFormOpen={isFormOpen && isFormOpen == 'Res'}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewResponseRow}\n readOnly={readOnly}\n isRequest={false}\n />\n <Accordion\n expanded={isExpanded.response}\n onChange={() => null}\n className={styles.responseAccordion}\n summary={\n <span className={styles.responseAccordionSummary}>\n <div\n className={styles.responseAccordionSummary_title}\n onClick={() =>\n setIsExpanded((prev) => ({\n ...prev,\n response: !prev.response,\n }))\n }\n >\n <SVGLoader\n className={isExpanded.response ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n Response<span style={{ color: 'red' }}>*</span>\n </div>\n </span>\n }\n children={\n <JsonInput\n acceptType=\"JSON\"\n withFooter={!readOnly}\n className={'jsonField'}\n placeholder=\"Enter your response as a JSON object...\"\n fieldIsDisabled={readOnly}\n value={currentResponse?.content?.schema?.properties || '{}'}\n onChange={(value) => {\n const currentResIndex = method.responses.findIndex(\n (res) => res.code === currentResponse.code\n )\n if (currentResIndex !== -1) {\n setFieldValue(\n `responses[${currentResIndex}].content.schema.properties`,\n value\n )\n } else {\n const clonedResponses = structuredClone(method.responses)\n\n clonedResponses.push({\n code: selectedStatusCode.value.toString(),\n content: {\n contentType: 'application/json',\n schema: {\n type: 'object',\n properties: value,\n },\n },\n })\n\n setFieldValue('responses', clonedResponses)\n }\n }}\n onValidation={(valid) => null}\n />\n }\n />\n </div>\n </div>\n }\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Parameter <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteParameter,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'normal',\n fullWidth: true,\n }}\n onClose={() => setOpenDeleteDialog(false)}\n open={openDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n />\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Header <strong>{selectedParamName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteHeader,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'normal',\n fullWidth: true,\n }}\n onClose={() => setOpenHeaderDeleteDialog(false)}\n open={openHeaderDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n />\n </div>\n )\n}\n\nexport default MethodsAccordion\n"],"names":["httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","className","styles","statusCodeOptionContainer","children","_jsx","statusCodeOptionCircle","style","backgroundColor","handleStatusColor","value","MethodsAccordion","method","path","setFieldValue","readOnly","tags","isOpen","setIsOpen","errors","isExpanded","setIsExpanded","useState","request","response","isFormOpen","setIsFormOpen","undefined","tooltipRefs","setTooltipRefs","tableData","setTableData","openDeleteDialog","setOpenDeleteDialog","openHeaderDeleteDialog","setOpenHeaderDeleteDialog","selectedParamIndex","setSelectedParamIndex","selectedHeaderIndex","setSelectedHeaderIndex","selectedParamName","setSelectedParamName","tableRecords","setTableRecords","tableResponseRecords","setTableResponseRecords","selectionTags","setSelectionTags","selectedStatusCode","setSelectedStatusCode","enumFields","setEnumFields","tooltipEnumRef","setTooltipEnumRef","currentResponseIndex","setCurrentResponseIndex","currentResponse","responses","find","res","Number","indexRef","useRef","onTableChange","key","index","newTableData","item","tIndex","Object","assign","generateResponseTableData","headersObj","responseIndex","keys","data","id","paramName","paramType","capitalize","schemaType","schema","_a","type","_c","_b","toLowerCase","_d","items","_f","_e","_h","_g","required","jsx","_Fragment","Switch","checked","onClick","description","paramDescContainer","Tooltip","allowHTML","disabled","_j","headers","length","content","padding","arrowWithBorder","placement","delay","onShow","hide","alignSelf","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","maxLength","onChange","regex","ASCII","test","current","Button","editDescTooltipContent_btn","variant","size","trim","_k","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteResponseHeader","enum","Fragment","_m","_o","join","_q","_p","_v","_t","_s","_u","_z","_x","_w","_y","_3","_2","_1","_0","_7","_5","_4","_6","_9","_8","_10","_13","_12","_17","_16","_15","_14","_index","Input","clearable","toString","PlusSquare","parameters","filter","_19","_18","_22","_20","_21","_25","_24","_23","_28","_27","_26","_32","_31","_30","_29","_36","_35","_34","_33","PlusIcon","handleDeleteClick","name","useEffect","in","_l","jsxs","_11","findIndex","_r","clonedResponses","structuredClone","push","contentType","filteredArray","self","t","Accordion","expanded","methodAccordion","summary","methodSummaryContainer","methodSummary","methodColorMapping","methodLabel","methodPath","methodExpandArrowContainer","DownArrowIcon","methodAccordionContent","SimpleLabelValue","methodDesc","onClear","errorMsg","SelectGroup","i","options","list","isMultiple","withSearch","paramsTable","paramsTableBodyHead","ParamterTable","headCells","paramsTableHeaders","saveNewRow","values","isRequest","requestAccordion","requestAccordionSummary","requestAccordionSummary_title","JsonInput","acceptType","withFooter","fieldIsDisabled","requestBody","properties","onValidation","responseHeader","responseAccordion","responseAccordionSummary","responseAccordionSummary_title","currentResIndex","valid","CommonDialog","status","textAlign","fontWeight","fontSize","lineHeight","onSubmit","_","text","fullWidth","onCancel","onClose","open","icon","DeleteOutlinedIcon","fromEntries","entries"],"mappings":"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"}
@@ -1 +1 @@
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
+ {"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\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,YAEbG,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 +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 = ({\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
+ {"version":3,"file":"DocsContent.js","sources":["../../../../../src/layout/docsComponents/DocsContent/DocsContent.tsx"],"sourcesContent":["import React from 'react'\nimport './style.scss'\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 setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n setExpandedSections: React.Dispatch<React.SetStateAction<Record<string, boolean>>>\n toggleSection: (apiId: string, sectionId: string, resetOthers?: boolean, key?: string[]) => void\n}) => {\n return (\n <main>\n {activeType === 'OVERVIEW' ? (\n <TagPage\n data={data as OverviewData}\n setActiveItemData={setActiveItemData}\n setActiveType={setActiveType}\n setExpandedSections={setExpandedSections}\n />\n ) : (\n <EndpointPage data={data as EndpointData} />\n )}\n </main>\n )\n}\n\nexport default DocsContent\n"],"names":["DocsContent","data","activeType","setActiveItemData","setActiveType","setExpandedSections","_jsx","children","TagPage","EndpointPage"],"mappings":"4JAMA,MAAMA,EAAc,EAClBC,OACAC,aACAC,oBACAC,gBACAC,yBAUEC,MACG,OAAA,CAAAC,SAAe,aAAfL,EACCI,MAACE,EAAO,CACNP,KAAMA,EACNE,kBAAmBA,EACnBC,cAAeA,EACfC,oBAAqBA,IAGvBC,MAACG,EAAY,CAACR,KAAMA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/EndpointPage/index.tsx"],"sourcesContent":["import './style.scss'\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport {\n ArrowBack,\n CopySticker,\n DownArrowIcon,\n RequestOption,\n} from '../../../../assets/icons/index'\nimport { ArrowIcon, SelectGroup } from 'digitinary-ui'\nimport { useEffect, useState } from 'react'\nimport { EndpointData } from 'src/layout/docsLayout'\nimport { handleStatusColor } from '../../../../helpers/methodAccordion.helper'\nimport { httpStatusCodes } from '../../../../constants/index'\nimport styles from '../../Codebox/style.module.scss'\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\n\nexport const EndpointPage = ({ data }) => {\n const [activeTab, setActiveTab] = useState('header')\n\n const httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={'statusCodeOptionContainer'}>\n <div\n className={'statusCodeOptionCircle'}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n }))\n\n const [expanded, setExpanded] = useState(null)\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const [headersList, setHeadersList] = useState({})\n const requestTableData = (data?.parameters || []).filter(\n (param) => param.in?.toLowerCase() === activeTab.toLowerCase()\n )\n\n useEffect(() => {\n if (selectedResStatusCode && selectedResStatusCode.value) {\n const headerObj = data?.responses[selectedResStatusCode.value]\n setHeadersList(headerObj?.headers)\n }\n }, [selectedResStatusCode])\n\n return (\n <div className=\"api-details-expanded\">\n <div className=\"test-button\">\n <button className=\"back-button\" onClick={() => window.history.back()}>\n <SVGLoader src={ArrowBack} />\n </button>\n\n <Tooltip content=\"Comming soon\">\n <button className=\"disabled\">Test</button>\n </Tooltip>\n </div>\n <h3> Api Name</h3>\n <h1 className=\"api-title\">{data?.api?.title}</h1>\n <div className=\"url-box\">\n <div style={{ textAlign: 'center' }}>\n <span className={`method-label ${data?.method?.toLowerCase()}`}>{data.method}</span>\n <span className=\"url-text\">{data?.path}</span>\n </div>\n <span className=\"icon\" onClick={() => navigator.clipboard.writeText(data?.path)}>\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n\n <p className=\"api-desc\">{data?.api?.description || 'No Description'}</p>\n\n <h3>Request</h3>\n\n <div className=\"request-section\">\n <div className=\"request-tabs\">\n {['header', 'path', 'query', 'Body'].map((tab) => (\n <button\n key={tab}\n className={`tab ${activeTab === tab ? 'active' : ''}`}\n onClick={() => setActiveTab(tab)}\n >\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n <span className=\"tab-label\">\n {tab === 'requestBody'\n ? 'Request Body'\n : tab.charAt(0).toUpperCase() + tab.slice(1)}\n </span>\n </button>\n ))}\n </div>\n\n {\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Parameter Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {data.parameters\n ?.filter((p) => p.in?.toLowerCase() === activeTab.toLowerCase())\n .map((row, index) => (\n <tr key={index}>\n <td>{row.name}</td>\n <td>{row.required ? 'True' : 'False'}</td>\n <td>{row.schema?.type || '-'}</td>\n <td>{Array.isArray(row.schema?.enum) ? row.schema.enum.join(' / ') : '-'}</td>\n <td className=\"desc-cell\">\n <div className={`desc-text ${expanded === index ? 'expanded' : ''}`}>\n {row.description || 'No description'}\n </div>\n <button\n className=\"desc-toggle\"\n onClick={() => setExpanded(expanded === index ? null : index)}\n >\n <SVGLoader\n src={DownArrowIcon}\n className={expanded === index ? 'rotated' : ''}\n />\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n }\n </div>\n\n <div className=\"response-section\">\n <h3>Response</h3>\n\n <div style={{ width: '7.5rem', marginLeft: 'auto' }}>\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <SelectGroup\n size=\"small\"\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedResStatusCode}\n onChange={(value) => {\n setSelectedResStatusCode(value)\n }}\n />\n </div>\n </div>\n )}\n </div>\n\n <button className=\"tab active \">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Header\n </button>\n\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Header Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {!!headersList && Object.keys(headersList) && Object.keys(headersList).map((key, index) => (\n <tr>\n <td>{key}</td>\n <td>{headersList[key]?.required.toString()}</td>\n <td>{headersList[key]?.schema?.type}</td>\n <td>{headersList[key]?.schema?.enum?.join('/')}</td>\n <td>{headersList[key]?.description}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n </div>\n </div>\n )\n}\n"],"names":["EndpointPage","data","activeTab","setActiveTab","useState","httpStatusCodeOptions","httpStatusCodes","map","code","label","_jsxs","jsxs","className","children","_jsx","style","backgroundColor","handleStatusColor","value","expanded","setExpanded","selectedResStatusCode","setSelectedResStatusCode","headersList","setHeadersList","parameters","filter","param","in","_a","toLowerCase","useEffect","headerObj","responses","headers","jsx","onClick","window","history","back","SVGLoader","src","ArrowBack","Tooltip","content","api","title","textAlign","_b","method","path","navigator","clipboard","writeText","CopySticker","_c","description","tab","RequestOption","charAt","toUpperCase","slice","_d","p","row","index","name","required","schema","type","Array","isArray","enum","join","DownArrowIcon","width","marginLeft","Object","keys","_e","length","styles","codeboxSection","codeboxHeader","SelectGroup","size","withSearch","isMultiple","clearable","placeholder","options","list","onChange","key","toString","_f","_g"],"mappings":"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"}
1
+ {"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 { 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 }: { data: EndpointData }) => {\n const [activeTab, setActiveTab] = useState('header')\n\n const httpStatusCodeOptions = httpStatusCodes.map((code) => ({\n label: (\n <div className={'statusCodeOptionContainer'}>\n <div\n className={'statusCodeOptionCircle'}\n style={{ backgroundColor: handleStatusColor(code) }}\n ></div>\n <span>{code}</span>\n </div>\n ),\n value: code,\n }))\n\n const [expanded, setExpanded] = useState(null)\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\n const [headersList, setHeadersList] = useState({})\n const requestTableData = (data?.parameters || []).filter(\n (param) => param.in?.toLowerCase() === activeTab.toLowerCase()\n )\n\n useEffect(() => {\n if (selectedResStatusCode && selectedResStatusCode.value) {\n const headerObj = data?.responses[selectedResStatusCode.value]\n setHeadersList(headerObj?.headers)\n }\n }, [selectedResStatusCode])\n\n return (\n <div className=\"api-details-expanded\">\n <div className=\"test-button\">\n <button className=\"back-button\" onClick={() => window.history.back()}>\n <SVGLoader src={ArrowBack} />\n </button>\n\n <Tooltip content=\"Comming soon\">\n <button className=\"disabled\">Test</button>\n </Tooltip>\n </div>\n <h3> Api Name</h3>\n <h1 className=\"api-title\">{data?.api?.title}</h1>\n <div className=\"url-box\">\n <div style={{ textAlign: 'center' }}>\n <span className={`method-label ${data?.method?.toLowerCase()}`}>{data.method}</span>\n <span className=\"url-text\">{data?.path}</span>\n </div>\n <span className=\"icon\" onClick={() => navigator.clipboard.writeText(data?.path)}>\n <SVGLoader src={CopySticker} />\n </span>\n </div>\n\n <p className=\"api-desc\">{data?.api?.description || 'No Description'}</p>\n\n <h3>Request</h3>\n\n <div className=\"request-section\">\n <div className=\"request-tabs\">\n {['header', 'path', 'query', 'Body'].map((tab) => (\n <button\n key={tab}\n className={`tab ${activeTab === tab ? 'active' : ''}`}\n onClick={() => setActiveTab(tab)}\n >\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n <span className=\"tab-label\">\n {tab === 'requestBody'\n ? 'Request Body'\n : tab.charAt(0).toUpperCase() + tab.slice(1)}\n </span>\n </button>\n ))}\n </div>\n\n {\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Parameter Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {data.parameters\n ?.filter((p) => p.in?.toLowerCase() === activeTab.toLowerCase())\n .map((row, index) => (\n <tr key={index}>\n <td>{row.name}</td>\n <td>{row.required ? 'True' : 'False'}</td>\n <td>{row.schema?.type || '-'}</td>\n <td>{Array.isArray(row.schema?.enum) ? row.schema.enum.join(' / ') : '-'}</td>\n <td className=\"desc-cell\">\n <div className={`desc-text ${expanded === index ? 'expanded' : ''}`}>\n {row.description || 'No description'}\n </div>\n <button\n className=\"desc-toggle\"\n onClick={() => setExpanded(expanded === index ? null : index)}\n >\n <SVGLoader\n src={DownArrowIcon}\n className={expanded === index ? 'rotated' : ''}\n />\n </button>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n }\n </div>\n\n <div className=\"response-section\">\n <h3>Response</h3>\n\n <div style={{ width: '7.5rem', marginLeft: 'auto' }}>\n {Object.keys(data?.responses || {})?.length > 0 && (\n <div className={styles.codeboxSection}>\n <div className={`${styles.codeboxHeader}`}>\n <SelectGroup\n size=\"small\"\n withSearch={false}\n isMultiple={false}\n clearable={false}\n placeholder=\"200\"\n options={[\n {\n list: httpStatusCodeOptions,\n },\n ]}\n value={selectedResStatusCode}\n onChange={(value) => {\n setSelectedResStatusCode(value)\n }}\n />\n </div>\n </div>\n )}\n </div>\n\n <button className=\"tab active \">\n <SVGLoader src={RequestOption} className=\"icon-left\" />\n Header\n </button>\n\n <div className=\"table-wrapper\">\n <table className=\"param-table\">\n <thead>\n <tr>\n <th className=\"head-table-label\">Header Name</th>\n <th className=\"head-table-label\">Required</th>\n <th className=\"head-table-label\">Type</th>\n <th className=\"head-table-label\">Enum</th>\n <th className=\"head-table-label\">Description</th>\n </tr>\n </thead>\n <tbody>\n {!!headersList &&\n Object.keys(headersList) &&\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 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};
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 n=({data:n,setActiveItemData:r,setActiveType:t,setExpandedSections:c})=>{var d,l;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==n?void 0:n.title}),s.jsxs("p",{className:"api-version",children:["API Version: ",s.jsx("span",{children:null==n?void 0:n.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:n&&n.servers&&n.servers.length>0?null===(d=n.servers[0])||void 0===d?void 0:d.url:"-",readOnly:!0}),s.jsx("span",{className:"icon",onClick:()=>{var s;return navigator.clipboard.writeText(`${n&&n.servers&&n.servers.length>0?null===(s=n.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:n.associatedProduct.name})]}),s.jsx("h3",{className:"section-title",children:"Endpoints"}),Object.entries(null==n?void 0:n.tags).map((([i,d])=>s.jsxs("div",{className:"endpoint-group",children:[s.jsx("h4",{className:"tag-title",children:i}),s.jsx("div",{className:"endpoint-list",children:d.map(((d,l)=>{var o,p,v;return s.jsxs("div",{className:"endpoint-card",onClick:()=>(s=>{r(Object.assign(Object.assign({},s),{api:Object.assign({id:n.apiSpecId,title:n.title,description:n.description,version:n.version},n)})),t("ENDPOINT"),c((e=>Object.assign(Object.assign({},e),{[`api-${n.apiSpecId}-section`]:!0,[`api-${n.apiSpecId}-endpoints`]:!0,[`api-${n.apiSpecId}-resource-${s.id}`]:!0})))})(d),children:[s.jsxs("div",{children:[s.jsxs("div",{className:"endpoint-card-header",children:[s.jsx("span",{className:`method-label ${d.method.toLowerCase()}`,children:d.method}),s.jsx("div",{className:"title-wrapper",children:s.jsxs("h5",{children:[(d.summary||"Endpoint Name").slice(0,17),(null!==(p=null===(o=d.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:d.path}),s.jsx("p",{className:"description",children:null!==(v=d.description)&&void 0!==v?v:"No Description "})]})]}),s.jsx("div",{className:"endpoint-arrow",children:s.jsx(e,{src:a})})]},`${i}-${l}`)}))})]},i))),(null===(l=n.apiVersions)||void 0===l?void 0:l.length)>0&&s.jsxs("div",{className:"versions-section",children:[s.jsx("h4",{children:"API Versions"}),s.jsx("div",{className:"version-list",children:n.apiVersions.map(((e,i)=>{var a;return s.jsx("button",{className:"version-btn",onClick:()=>(s=>{var e;if(s.apiSpecId===n.apiSpecId)return void t("OVERVIEW");const i=n.apiVersions.find((e=>e.apiSpecId===s.apiSpecId));if(!i)return;const a=Object.assign(Object.assign(Object.assign({},n),i),{version:(null===(e=i.metaData)||void 0===e?void 0:e.version)||"",title:i.name||"",apiSpecId:i.apiSpecId});r(Object.assign(Object.assign({},a),{api:Object.assign({id:a.apiSpecId,title:a.title,description:a.description,version:a.version},a)})),t("OVERVIEW"),c((s=>Object.assign(Object.assign({},s),{[`api-${a.apiSpecId}-section`]:!0})))})(e),children:(null===(a=e.metaData)||void 0===a?void 0:a.version)||"N/A"},i)}))})]})]})};export{n 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, 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
+ {"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 { EndpointData, OverviewData } from 'src/layout/docsLayout'\n\nexport const TagPage = ({\n data,\n setActiveItemData,\n setActiveType,\n setExpandedSections,\n}: {\n data: OverviewData\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n setExpandedSections: React.Dispatch<React.SetStateAction<Record<string, boolean>>>\n}) => {\n const handleVersionClick = (verObj) => {\n if (verObj.apiSpecId === data.apiSpecId) {\n setActiveType('OVERVIEW')\n return\n }\n\n const matchedVersion = data.apiVersions.find((v) => v.apiSpecId === verObj.apiSpecId)\n\n if (!matchedVersion) {\n return\n }\n\n const newData = {\n ...data,\n ...matchedVersion,\n version: matchedVersion.metaData?.version || '',\n title: matchedVersion.name || '',\n apiSpecId: matchedVersion.apiSpecId,\n }\n\n setActiveItemData({\n ...newData,\n api: {\n id: newData.apiSpecId,\n title: newData.title,\n description: newData.description,\n version: newData.version,\n ...newData,\n },\n })\n\n setActiveType('OVERVIEW')\n setExpandedSections((prev) => ({\n ...prev,\n [`api-${newData.apiSpecId}-section`]: true,\n }))\n }\n\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 `${\n !!data && !!data.servers && data.servers.length > 0 ? data.servers[0]?.url : '-'\n }`\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\n key={index}\n className=\"version-btn\"\n onClick={() => handleVersionClick(verObj)}\n >\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","matchedVersion","find","v","newData","metaData","handleVersionClick"],"mappings":"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"}
@@ -1,2 +1,2 @@
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};
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 r=({apis:r,setActiveItemData:n,activeItemData:d,activeType:o,expandedSections:l,setExpandedSections:m,isFirstApiExpanded:j,setIsFirstApiExpanded:v,setActiveType:_,toggleSection:x,canSelectFirstApi:h})=>{s((()=>{if(h||!(null==r?void 0:r.length)||!j)return;const e=r[0],s=`api-${e.apiSpecId}-section`,i=`api-${e.apiSpecId}-overview`;m({[s]:!0,[i]:!0}),n(e),_("OVERVIEW"),v(!1)}),[r,j]);const I=(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||(n(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)})),S=s=>{const r=`api-${s.apiSpecId}-section`,m=`api-${s.apiSpecId}-endpoints`,j=`api-${s.apiSpecId}-overview`,v=l[r],h="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||h,children:[e.jsxs("div",{className:"api-docs-api-tree__section-header",onClick:()=>x(s.apiSpecId,r),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:()=>{h||(x(s.apiSpecId,j,!0,["resource"]),n(s),_("OVERVIEW"))},"data-active":h,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,m),"data-active":S&&!h,children:[l[m]?e.jsx(i,{src:a}):e.jsx(i,{src:c}),e.jsx("span",{children:"Endpoints"})]}),l[m]&&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],r)=>((s,t,p,r)=>{const n=`api-${p.apiSpecId}-section-${r}`,d=l[n];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,n),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:I(t,p)})]},n)})(t,p,s,r)))})]})]},s.apiSpecId)};return e.jsx("aside",{className:"api-docs-api-tree",children:r.map((e=>S(e)))})};export{r as default};
2
2
  //# sourceMappingURL=DocsSideMenuTree.js.map