@digi-frontend/dgate-api-documentation 1.0.55 → 1.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index10.js +1 -1
- package/dist/_virtual/index20.js +2 -0
- package/dist/_virtual/index20.js.map +1 -0
- package/dist/_virtual/index3.js +1 -1
- package/dist/_virtual/index4.js +1 -1
- package/dist/_virtual/index6.js +1 -1
- package/dist/_virtual/index7.js +1 -1
- package/dist/_virtual/index8.js +1 -1
- package/dist/_virtual/index9.js +1 -1
- package/dist/node_modules/dom-serializer/lib/index.js +1 -1
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js +1 -1
- package/dist/node_modules/domelementtype/lib/index.js +1 -1
- package/dist/node_modules/domhandler/lib/index.js +1 -1
- package/dist/node_modules/domutils/lib/index.js +1 -1
- package/dist/node_modules/fast-json-stable-stringify/index.js +2 -0
- package/dist/node_modules/fast-json-stable-stringify/index.js.map +1 -0
- package/dist/node_modules/formik/dist/formik.esm.js +1 -1
- package/dist/node_modules/html-dom-parser/lib/index.js +1 -1
- package/dist/node_modules/html-react-parser/esm/index.mjs.js +1 -1
- package/dist/node_modules/html-react-parser/esm/index.mjs.js.map +1 -1
- package/dist/node_modules/html-react-parser/lib/index.js +1 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/index.js +1 -1
- package/dist/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/react-property/lib/index.js +1 -1
- package/dist/node_modules/style-to-object/cjs/index.js +1 -1
- package/dist/node_modules/toposort/index.js +1 -1
- package/dist/node_modules/yup/index.esm.js +1 -1
- package/dist/src/assets/icons/CloseIcon.svg.js +2 -0
- package/dist/src/assets/icons/CloseIcon.svg.js.map +1 -0
- package/dist/src/components/InfoForm/InfoForm.js +1 -1
- package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.js +1 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
- package/dist/src/components/dialog/index.js +1 -1
- package/dist/src/components/dialog/index.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +1 -1
- package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js +2 -0
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js.map +1 -0
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +1 -1
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +1 -1
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -1
- package/dist/src/layout/docsLayout.js +1 -1
- package/dist/src/layout/docsLayout.js.map +1 -1
- package/dist/styles.css +608 -607
- package/dist/types/components/dialog/dialog.d.ts +2 -0
- package/dist/types/components/dialog/index.d.ts +1 -1
- package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +2 -1
- package/dist/types/layout/docsComponents/DocsContent/OverviewPage/index.d.ts +9 -0
- package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +3 -1
- package/dist/types/layout/docsLayout.d.ts +2 -1
- package/package.json +1 -1
- package/src/components/InfoForm/InfoForm.tsx +16 -16
- package/src/components/MethodAccordion/MethodAccordion.tsx +28 -12
- package/src/components/dialog/dialog.ts +3 -0
- package/src/components/dialog/index.tsx +7 -8
- package/src/layout/docsComponents/DocsContent/DocsContent.tsx +5 -2
- package/src/layout/docsComponents/DocsContent/{TagPage → OverviewPage}/index.tsx +17 -4
- package/src/layout/docsComponents/DocsContent/{TagPage → OverviewPage}/style.scss +1 -0
- package/src/layout/docsComponents/DocsHeader/DocsHeader.tsx +1 -4
- package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +12 -1
- package/src/layout/docsLayout.tsx +7 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocsSideMenuTree.js","sources":["../../../../../src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx"],"sourcesContent":["import './style.scss'\nimport React, { useEffect, useState } from 'react'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { arrowDownGray, arrowRightGray, document, eye } from '../../../assets/icons'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\n\nconst DocsSideMenuTree = ({\n apis,\n setActiveItemData,\n activeItemData,\n activeType,\n expandedSections,\n setExpandedSections,\n isFirstApiExpanded,\n setIsFirstApiExpanded,\n setActiveType,\n toggleSection,\n canSelectFirstApi,\n}: {\n apis: OverviewData[]\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n activeItemData: OverviewData | EndpointData\n expandedSections: Record<string, boolean>\n setExpandedSections: (newSections: Record<string, boolean>) => void\n isFirstApiExpanded: boolean\n setIsFirstApiExpanded: React.Dispatch<React.SetStateAction<boolean>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n activeType: 'OVERVIEW' | 'ENDPOINT'\n toggleSection: (apiId: string, sectionId: string, resetOthers?: boolean, key?: string[]) => void\n canSelectFirstApi?: boolean\n}) => {\n // Auto-expand first API only once\n useEffect(() => {\n if (canSelectFirstApi || !apis?.length || !isFirstApiExpanded) return\n\n const firstApi = apis[0]\n const sectionKey = `api-${firstApi.apiSpecId}-section`\n const overviewKey = `api-${firstApi.apiSpecId}-overview`\n\n setExpandedSections({\n [sectionKey]: true,\n [overviewKey]: true,\n })\n setActiveItemData(firstApi)\n setActiveType('OVERVIEW')\n setIsFirstApiExpanded(false)\n }, [apis, isFirstApiExpanded])\n\n const renderEndpoints = (endpoints: EndpointData[], api: OverviewData) =>\n endpoints.map((endpoint, index) => {\n const key = `api-${api.apiSpecId}-resource-${endpoint.id}`\n const isExpanded = expandedSections[key]\n\n return (\n <div\n key={index}\n className={`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${endpoint.method.toLowerCase()}`}\n onClick={() => {\n if (!isExpanded) {\n setActiveItemData({\n ...endpoint,\n api: {\n id: api.apiSpecId,\n title: api.title,\n description: api.description,\n version: api.version,\n ...api,\n },\n })\n setActiveType('ENDPOINT')\n toggleSection(api.apiSpecId, key, true, ['resource', 'overview'])\n }\n }}\n data-active={isExpanded}\n >\n <span className=\"api-docs-api-tree__endpoint-method\">{endpoint.method}</span>\n <span className=\"api-docs-api-tree__endpoint-name\">{endpoint.path}</span>\n </div>\n )\n })\n\n const renderSubSection = (\n tagName: string,\n data: EndpointData[],\n api: OverviewData,\n sectionIndex: number\n ) => {\n const sectionKey = `api-${api.apiSpecId}-section-${sectionIndex}`\n const isSectionExpanded = expandedSections[sectionKey]\n\n return (\n <div key={sectionKey} className=\"api-docs-api-tree__subsection\">\n <div\n className=\"api-docs-api-tree__subsection-header\"\n onClick={() => toggleSection(api.apiSpecId, sectionKey)}\n >\n {isSectionExpanded ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span className=\"api-docs-api-tree__subsection-title\">{tagName}</span>\n </div>\n\n {isSectionExpanded && (\n <div className=\"api-docs-api-tree__endpoints\">{renderEndpoints(data, api)}</div>\n )}\n </div>\n )\n }\n\n const renderApiSection = (api: OverviewData) => {\n const sectionKey = `api-${api.apiSpecId}-section`\n const endpointsKey = `api-${api.apiSpecId}-endpoints`\n const overviewKey = `api-${api.apiSpecId}-overview`\n\n const isApiExpanded = expandedSections[sectionKey]\n const isOverviewExpanded =\n 'apiSpecId' in activeItemData &&\n activeItemData.apiSpecId === api.apiSpecId &&\n activeType === 'OVERVIEW'\n const isEndpointActive =\n 'api' in activeItemData &&\n activeItemData.api.id === api.apiSpecId &&\n 'path' in activeItemData &&\n 'method' in activeItemData\n\n return (\n <div\n key={api.apiSpecId}\n className=\"api-docs-api-tree__section\"\n data-active={isEndpointActive || isOverviewExpanded}\n >\n <div\n className=\"api-docs-api-tree__section-header\"\n onClick={() => toggleSection(api.apiSpecId, sectionKey)}\n >\n {isApiExpanded ? <SVGLoader src={arrowDownGray} /> : <SVGLoader src={arrowRightGray} />}\n <SVGLoader src={document} />\n <span className=\"api-docs-api-tree__section-title\">{api.title}</span>\n </div>\n\n {isApiExpanded && (\n <>\n <div\n className=\"api-docs-api-tree__section__overview\"\n onClick={() => {\n if (!isOverviewExpanded) {\n toggleSection(api.apiSpecId, overviewKey, true, ['resource'])\n setActiveItemData(api)\n setActiveType('OVERVIEW')\n }\n }}\n data-active={isOverviewExpanded}\n >\n <SVGLoader src={eye} />\n <span>Overview</span>\n </div>\n\n <div\n className=\"api-docs-api-tree__section__endpoints\"\n onClick={() => toggleSection(api.apiSpecId, endpointsKey)}\n data-active={isEndpointActive && !isOverviewExpanded}\n >\n {expandedSections[endpointsKey] ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span>Endpoints</span>\n </div>\n\n {expandedSections[endpointsKey] && (\n <div className=\"api-docs-api-tree__subsections\">\n {Object.entries(api.tags)\n .sort(([a], [b]) =>\n a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)\n )\n .map(([tagName, data], i) =>\n renderSubSection(tagName, data as EndpointData[], api, i)\n )}\n </div>\n )}\n </>\n )}\n </div>\n )\n }\n\n return <aside className=\"api-docs-api-tree\">{apis.map((api) => renderApiSection(api))}</aside>\n}\n\nexport default DocsSideMenuTree\n"],"names":["DocsSideMenuTree","apis","setActiveItemData","activeItemData","activeType","expandedSections","setExpandedSections","isFirstApiExpanded","setIsFirstApiExpanded","setActiveType","toggleSection","canSelectFirstApi","useEffect","length","firstApi","sectionKey","apiSpecId","overviewKey","renderEndpoints","endpoints","api","map","endpoint","index","key","id","isExpanded","_jsxs","className","method","toLowerCase","onClick","Object","assign","title","description","version","children","_jsx","jsx","path","renderApiSection","endpointsKey","isApiExpanded","isOverviewExpanded","isEndpointActive","jsxs","SVGLoader","src","arrowDownGray","arrowRightGray","document","_Fragment","eye","entries","tags","sort","a","b","localeCompare","tagName","data","i","sectionIndex","isSectionExpanded","renderSubSection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DocsSideMenuTree.js","sources":["../../../../../src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx"],"sourcesContent":["import './style.scss'\nimport React, { useEffect, useRef } from 'react'\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\nimport { arrowDownGray, arrowRightGray, document, eye } from '../../../assets/icons'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\n\nconst DocsSideMenuTree = ({\n apis,\n setActiveItemData,\n activeItemData,\n activeType,\n expandedSections,\n setExpandedSections,\n isFirstApiExpanded,\n setIsFirstApiExpanded,\n setActiveType,\n toggleSection,\n canSelectFirstApi,\n canFocusSection,\n setCanFocusSection,\n}: {\n apis: OverviewData[]\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n activeItemData: OverviewData | EndpointData\n expandedSections: Record<string, boolean>\n setExpandedSections: (newSections: Record<string, boolean>) => void\n isFirstApiExpanded: boolean\n setIsFirstApiExpanded: React.Dispatch<React.SetStateAction<boolean>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n activeType: 'OVERVIEW' | 'ENDPOINT'\n toggleSection: (apiId: string, sectionId: string, resetOthers?: boolean, key?: string[]) => void\n canSelectFirstApi?: boolean\n canFocusSection: boolean\n setCanFocusSection: React.Dispatch<React.SetStateAction<boolean>>\n}) => {\n // Auto-expand first API only once\n useEffect(() => {\n if (canSelectFirstApi || !apis?.length || !isFirstApiExpanded) return\n\n const firstApi = apis[0]\n const sectionKey = `api-${firstApi.apiSpecId}-section`\n const overviewKey = `api-${firstApi.apiSpecId}-overview`\n\n setExpandedSections({\n [sectionKey]: true,\n [overviewKey]: true,\n })\n setActiveItemData(firstApi)\n setActiveType('OVERVIEW')\n setIsFirstApiExpanded(false)\n }, [apis, isFirstApiExpanded])\n\n const renderEndpoints = (endpoints: EndpointData[], api: OverviewData) =>\n endpoints.map((endpoint, index) => {\n const key = `api-${api.apiSpecId}-resource-${endpoint.id}`\n const isExpanded = expandedSections[key]\n\n return (\n <div\n key={index}\n className={`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${endpoint.method.toLowerCase()}`}\n onClick={() => {\n if (!isExpanded) {\n setActiveItemData({\n ...endpoint,\n api: {\n id: api.apiSpecId,\n title: api.title,\n description: api.description,\n version: api.version,\n ...api,\n },\n })\n setActiveType('ENDPOINT')\n toggleSection(api.apiSpecId, key, true, ['resource', 'overview'])\n }\n }}\n data-active={isExpanded}\n >\n <span className=\"api-docs-api-tree__endpoint-method\">{endpoint.method}</span>\n <span className=\"api-docs-api-tree__endpoint-name\">{endpoint.path}</span>\n </div>\n )\n })\n\n const renderSubSection = (\n tagName: string,\n data: EndpointData[],\n api: OverviewData,\n sectionIndex: number\n ) => {\n const sectionKey = `api-${api.apiSpecId}-section-${sectionIndex}`\n const isSectionExpanded = expandedSections[sectionKey]\n\n return (\n <div key={sectionKey} className=\"api-docs-api-tree__subsection\">\n <div\n className=\"api-docs-api-tree__subsection-header\"\n onClick={() => toggleSection(api.apiSpecId, sectionKey)}\n >\n {isSectionExpanded ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span className=\"api-docs-api-tree__subsection-title\">{tagName}</span>\n </div>\n\n {isSectionExpanded && (\n <div className=\"api-docs-api-tree__endpoints\">{renderEndpoints(data, api)}</div>\n )}\n </div>\n )\n }\n\n const renderApiSection = (api: OverviewData) => {\n const sectionKey = `api-${api.apiSpecId}-section`\n const endpointsKey = `api-${api.apiSpecId}-endpoints`\n const overviewKey = `api-${api.apiSpecId}-overview`\n\n const isApiExpanded = expandedSections[sectionKey]\n const isOverviewExpanded =\n 'apiSpecId' in activeItemData &&\n activeItemData.apiSpecId === api.apiSpecId &&\n activeType === 'OVERVIEW'\n const isEndpointActive =\n 'api' in activeItemData &&\n activeItemData.api.id === api.apiSpecId &&\n 'path' in activeItemData &&\n 'method' in activeItemData\n const sectionRef = useRef<HTMLDivElement>(null)\n // Scroll to the section if it's expanded\n if (canFocusSection && sectionRef?.current) {\n sectionRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' })\n setCanFocusSection(false)\n }\n\n return (\n <div\n key={api.apiSpecId}\n className=\"api-docs-api-tree__section\"\n data-active={isEndpointActive || isOverviewExpanded}\n ref={sectionRef}\n >\n <div\n className=\"api-docs-api-tree__section-header\"\n onClick={() => toggleSection(api.apiSpecId, sectionKey)}\n >\n {isApiExpanded ? <SVGLoader src={arrowDownGray} /> : <SVGLoader src={arrowRightGray} />}\n <SVGLoader src={document} />\n <span className=\"api-docs-api-tree__section-title\">{api.title}</span>\n </div>\n\n {isApiExpanded && (\n <>\n <div\n className=\"api-docs-api-tree__section__overview\"\n onClick={() => {\n if (!isOverviewExpanded) {\n toggleSection(api.apiSpecId, overviewKey, true, ['resource'])\n setActiveItemData(api)\n setActiveType('OVERVIEW')\n }\n }}\n data-active={isOverviewExpanded}\n >\n <SVGLoader src={eye} />\n <span>Overview</span>\n </div>\n\n <div\n className=\"api-docs-api-tree__section__endpoints\"\n onClick={() => toggleSection(api.apiSpecId, endpointsKey)}\n data-active={isEndpointActive && !isOverviewExpanded}\n >\n {expandedSections[endpointsKey] ? (\n <SVGLoader src={arrowDownGray} />\n ) : (\n <SVGLoader src={arrowRightGray} />\n )}\n <span>Endpoints</span>\n </div>\n\n {expandedSections[endpointsKey] && (\n <div className=\"api-docs-api-tree__subsections\">\n {Object.entries(api.tags)\n .sort(([a], [b]) =>\n a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)\n )\n .map(([tagName, data], i) =>\n renderSubSection(tagName, data as EndpointData[], api, i)\n )}\n </div>\n )}\n </>\n )}\n </div>\n )\n }\n\n return <aside className=\"api-docs-api-tree\">{apis.map((api) => renderApiSection(api))}</aside>\n}\n\nexport default DocsSideMenuTree\n"],"names":["DocsSideMenuTree","apis","setActiveItemData","activeItemData","activeType","expandedSections","setExpandedSections","isFirstApiExpanded","setIsFirstApiExpanded","setActiveType","toggleSection","canSelectFirstApi","canFocusSection","setCanFocusSection","useEffect","length","firstApi","sectionKey","apiSpecId","overviewKey","renderEndpoints","endpoints","api","map","endpoint","index","key","id","isExpanded","_jsxs","className","method","toLowerCase","onClick","Object","assign","title","description","version","children","_jsx","jsx","path","renderApiSection","endpointsKey","isApiExpanded","isOverviewExpanded","isEndpointActive","sectionRef","useRef","current","scrollIntoView","behavior","block","jsxs","ref","SVGLoader","src","arrowDownGray","arrowRightGray","document","_Fragment","eye","entries","tags","sort","a","b","localeCompare","tagName","data","i","sectionIndex","isSectionExpanded","renderSubSection"],"mappings":"0XAMA,MAAMA,EAAmB,EACvBC,OACAC,oBACAC,iBACAC,aACAC,mBACAC,sBACAC,qBACAC,wBACAC,gBACAC,gBACAC,oBACAC,kBACAC,yBAiBAC,GAAU,KACR,GAAIH,KAAsBV,aAAA,EAAAA,EAAMc,UAAWR,EAAoB,OAE/D,MAAMS,EAAWf,EAAK,GAChBgB,EAAa,OAAOD,EAASE,oBAC7BC,EAAc,OAAOH,EAASE,qBAEpCZ,EAAoB,CAClBW,CAACA,IAAa,EACdE,CAACA,IAAc,IAEjBjB,EAAkBc,GAClBP,EAAc,YACdD,GAAsB,EAAM,GAC3B,CAACP,EAAMM,IAEV,MAAMa,EAAkB,CAACC,EAA2BC,IAClDD,EAAUE,KAAI,CAACC,EAAUC,KACvB,MAAMC,EAAM,OAAOJ,EAAIJ,sBAAsBM,EAASG,KAChDC,EAAavB,EAAiBqB,GAEpC,OACEG,OAEE,MAAA,CAAAC,UAAW,4DAA4DN,EAASO,OAAOC,gBACvFC,QAAS,KACFL,IACH1B,EACKgC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAX,GACH,CAAAF,IACEY,OAAAC,OAAA,CAAAR,GAAIL,EAAIJ,UACRkB,MAAOd,EAAIc,MACXC,YAAaf,EAAIe,YACjBC,QAAShB,EAAIgB,SACVhB,MAGPb,EAAc,YACdC,EAAcY,EAAIJ,UAAWQ,GAAK,EAAM,CAAC,WAAY,aACtD,EACF,cACYE,EAAUW,SAAA,CAEvBC,EAAMC,IAAA,OAAA,CAAAX,UAAU,qCAAsCS,SAAAf,EAASO,SAC/DS,EAAAA,YAAMV,UAAU,mCAAkCS,SAAEf,EAASkB,SArBxDjB,EAuBR,IAiCCkB,EAAoBrB,IACxB,MAAML,EAAa,OAAOK,EAAIJ,oBACxB0B,EAAe,OAAOtB,EAAIJ,sBAC1BC,EAAc,OAAOG,EAAIJ,qBAEzB2B,EAAgBxC,EAAiBY,GACjC6B,EACJ,cAAe3C,GACfA,EAAee,YAAcI,EAAIJ,WAClB,aAAfd,EACI2C,EACJ,QAAS5C,GACTA,EAAemB,IAAIK,KAAOL,EAAIJ,WAC9B,SAAUf,GACV,WAAYA,EACR6C,EAAaC,EAAuB,MAO1C,OALIrC,IAAmBoC,aAAA,EAAAA,EAAYE,WACjCF,EAAWE,QAAQC,eAAe,CAAEC,SAAU,SAAUC,MAAO,UAC/DxC,GAAmB,IAInBgB,EAEEyB,KAAA,MAAA,CAAAxB,UAAU,6BAA4B,cACzBiB,GAAoBD,EACjCS,IAAKP,EAAUT,SAAA,CAEfV,cACEC,UAAU,oCACVG,QAAS,IAAMvB,EAAcY,EAAIJ,UAAWD,GAE3CsB,SAAA,CAAAM,EAAgBL,MAACgB,EAAS,CAACC,IAAKC,IAAoBlB,EAAAA,IAACgB,EAAU,CAAAC,IAAKE,IACrEnB,EAAAC,IAACe,EAAU,CAAAC,IAAKG,IAChBpB,EAAAA,IAAM,OAAA,CAAAV,UAAU,4CAAoCR,EAAIc,WAGzDS,GACChB,EAAAA,KACEgC,EAAAA,SAAA,CAAAtB,SAAA,CAAAV,EAAAA,KAAA,MAAA,CACEC,UAAU,uCACVG,QAAS,KACFa,IACHpC,EAAcY,EAAIJ,UAAWC,GAAa,EAAM,CAAC,aACjDjB,EAAkBoB,GAClBb,EAAc,YACf,gBAEUqC,EAAkBP,SAAA,CAE/BC,MAACgB,EAAS,CAACC,IAAKK,IAChBtB,EAAAA,IAAA,OAAA,CAAAD,SAAA,gBAGFV,EAAAyB,KAAA,MAAA,CACExB,UAAU,wCACVG,QAAS,IAAMvB,EAAcY,EAAIJ,UAAW0B,iBAC/BG,IAAqBD,EAAkBP,SAAA,CAEnDlC,EAAiBuC,GAChBJ,EAAAA,IAACgB,EAAS,CAACC,IAAKC,IAEhBlB,MAACgB,EAAS,CAACC,IAAKE,IAElBnB,EAAsBC,IAAA,OAAA,CAAAF,SAAA,iBAGvBlC,EAAiBuC,IAChBJ,MAAK,MAAA,CAAAV,UAAU,iCAAgCS,SAC5CL,OAAO6B,QAAQzC,EAAI0C,MACjBC,MAAK,EAAEC,IAAKC,KACL,YAAND,EAAkB,EAAU,YAANC,GAAmB,EAAID,EAAEE,cAAcD,KAE9D5C,KAAI,EAAE8C,EAASC,GAAOC,IAxGd,EACvBF,EACAC,EACAhD,EACAkD,KAEA,MAAMvD,EAAa,OAAOK,EAAIJ,qBAAqBsD,IAC7CC,EAAoBpE,EAAiBY,GAE3C,OACEY,OAAsB,MAAA,CAAAC,UAAU,0CAC9BD,EAAAA,KACE,MAAA,CAAAC,UAAU,uCACVG,QAAS,IAAMvB,EAAcY,EAAIJ,UAAWD,GAE3CsB,SAAA,CAAAkC,EACCjC,MAACgB,EAAU,CAAAC,IAAKC,IAEhBlB,EAAAA,IAACgB,EAAS,CAACC,IAAKE,IAElBnB,EAAAA,IAAA,OAAA,CAAMV,UAAU,+CAAuCuC,OAGxDI,GACCjC,aAAKV,UAAU,+BAA8BS,SAAEnB,EAAgBkD,EAAMhD,OAd/DL,EAiBX,EA8EeyD,CAAiBL,EAASC,EAAwBhD,EAAKiD,YAnD9DjD,EAAIJ,UA0DZ,EAGH,OAAOsB,EAAAC,IAAA,QAAA,CAAOX,UAAU,6BAAqB7B,EAAKsB,KAAKD,GAAQqB,EAAiBrB,MAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"../../_virtual/jsx-runtime.js";import t,{useState as
|
|
1
|
+
import{j as e}from"../../_virtual/jsx-runtime.js";import t,{useState as i,useRef as s,useEffect as a}from"react";import n from"./docsComponents/index.js";import{transformOpenApiToDocs as c}from"../helpers/docs.helper.js";import o from"../../_virtual/index3.js";var r=t.memo((({apis:t,activeApiId:o,onProductNavigate:r})=>{const[p,d]=i([]),[l,j]=i(!0),[v,m]=i({}),[u,g]=i("OVERVIEW"),[O,f]=i({}),x=s([]),[I,b]=i(!0),[A,S]=i(!1),[E,D]=i(!1),h=(e,t,i,s)=>{if(S(!1),i&&s){const i=Object.fromEntries(Object.entries(Object.assign({},O)).filter((([i])=>!!i.includes(e)&&(i===t||!s.some((e=>i.includes(e)))))));f(Object.assign(Object.assign({},i),{[t]:!O[t]}))}else f((e=>Object.assign(Object.assign({},e),{[t]:!O[t]})))};a((()=>{var e;if(0===p.length){S(!!o);const i=null===(e=structuredClone(t))||void 0===e?void 0:e.map((e=>c(e))).sort(((e,t)=>e.title.toLowerCase().localeCompare(t.title.toLowerCase())));d(i),x.current=i,i.length>0&&b(!1)}}),[t]);return a((()=>{if(o&&p.length>0){const e=p.find((e=>e.apiSpecId===o)),t=`api-${e.apiSpecId}-section`,i=`api-${e.apiSpecId}-overview`;f((e=>Object.assign(Object.assign({},e),{[t]:!0,[i]:!0}))),m(e),g("OVERVIEW"),j(!1),S(!0),D(!0)}}),[o,p]),e.jsxs(n,{children:[e.jsx(n.DocsHeader,{transformedOpenApis:p,updateFilteredData:(e,t=!1)=>{d(t?x.current:e)}}),!I&&e.jsx(n.DocsSideMenuTree,{apis:p,setActiveItemData:m,activeItemData:v,expandedSections:O,setExpandedSections:e=>f((t=>Object.assign(Object.assign({},t),e))),isFirstApiExpanded:l,activeType:u,setIsFirstApiExpanded:j,setActiveType:g,toggleSection:h,canSelectFirstApi:A,canFocusSection:E,setCanFocusSection:D}),!I&&Object.keys(v).length>0&&e.jsx(n.DocsContent,{data:v,activeType:u,setActiveItemData:m,setActiveType:g,setExpandedSections:f,toggleSection:h,onProductNavigate:r}),"ENDPOINT"===u&&e.jsx(n.DocsAside,{data:v})]})}),(function(e,t){var i,s;return o(null!==(i=e.apis)&&void 0!==i?i:[])===o(null!==(s=t.apis)&&void 0!==s?s:[])&&e.activeApiId===t.activeApiId}));export{r as default};
|
|
2
2
|
//# sourceMappingURL=docsLayout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docsLayout.js","sources":["../../../src/layout/docsLayout.tsx"],"sourcesContent":["import React, { JSX, useEffect, useRef, useState } from 'react'\nimport Layout from './docsComponents'\nimport { HTTPMethod, OpenAPIFile, Parameter, RequestBody, Responses } from '@entities/openApi'\nimport { transformOpenApiToDocs } from '../helpers/docs.helper'\nimport { ApiSpecModel } from '@entities/index'\nimport stableStringify from 'fast-json-stable-stringify'\n\ninterface ILayoutProps {\n apis?: ApiSpecModel[]\n activeApiId?: string\n}\n\nexport interface TagData {\n id: string\n method: HTTPMethod\n path: string\n tags: string[]\n responses: Responses\n summary?: string\n description: string\n parameters?: Parameter[]\n requestBody?: RequestBody\n}\n\nexport interface EndpointData extends TagData {\n api: {\n id: string\n description: string\n title: string\n version: string\n }\n}\n\nexport interface OverviewData extends Omit<ApiSpecModel, 'metaData'> {\n description: string\n title: string\n version: string\n tags: Record<string, TagData[]>\n servers: OpenAPIFile['servers']\n}\n\nfunction areEqual(prev: ILayoutProps, next: ILayoutProps): boolean {\n return (\n stableStringify(prev.apis ?? []) === stableStringify(next.apis ?? []) &&\n prev.activeApiId === next.activeApiId\n )\n}\n\nconst DocsLayout = ({ apis, activeApiId }: ILayoutProps): JSX.Element => {\n const [transformedOpenApis, setTransformedOpenApis] = useState<OverviewData[]>([])\n const [isFirstApiExpanded, setIsFirstApiExpanded] = useState(true)\n const [activeItemData, setActiveItemData] = useState<\n OverviewData | EndpointData | Record<string, never>\n >({})\n const [activeType, setActiveType] = useState<'OVERVIEW' | 'ENDPOINT'>('OVERVIEW')\n const [expandedSections, setExpandedSections] = useState<Record<string, boolean>>({})\n const allData = useRef([])\n const [pending, setPending] = useState(true)\n const [canSelectFirstApi, setCanSelectFirstApi] = useState(false)\n\n const toggleSection = (\n apiId: string,\n sectionId: string,\n resetOthers?: boolean,\n key?: string[]\n ) => {\n setCanSelectFirstApi(false)\n if (resetOthers && key) {\n const filteredExpandedSections = Object.fromEntries(\n Object.entries({ ...expandedSections }).filter(([expandKey]) => {\n // Close other APIs sections\n if (!expandKey.includes(apiId)) return false\n // always return the clicked on section\n if (expandKey === sectionId) return true\n // filter all sections containing the key\n if (key.some((k) => expandKey.includes(k))) return false\n return true\n })\n )\n\n setExpandedSections({\n ...filteredExpandedSections,\n [sectionId]: !expandedSections[sectionId],\n })\n } else {\n setExpandedSections((prev) => ({\n ...prev,\n [sectionId]: !expandedSections[sectionId],\n }))\n }\n }\n\n useEffect(() => {\n if (transformedOpenApis.length === 0) {\n setCanSelectFirstApi(!!activeApiId)\n const t = structuredClone(apis)\n ?.map((o3) => transformOpenApiToDocs(o3))\n .sort((a, b) => a.title.toLowerCase().localeCompare(b.title.toLowerCase()))\n setTransformedOpenApis(t)\n allData.current = t\n if (t.length > 0) {\n setPending(false)\n }\n }\n }, [apis])\n\n const updateFilteredData = (filteredItems, isReset = false) => {\n if (isReset) {\n setTransformedOpenApis(allData.current)\n return\n }\n setTransformedOpenApis(filteredItems)\n }\n\n useEffect(() => {\n if (activeApiId && transformedOpenApis.length > 0) {\n const activeApi = transformedOpenApis.find((api) => api.apiSpecId === activeApiId)\n const sectionKey = `api-${activeApi.apiSpecId}-section`\n const overviewKey = `api-${activeApi.apiSpecId}-overview`\n\n setExpandedSections((prev) => ({\n ...prev,\n [sectionKey]: true,\n [overviewKey]: true,\n }))\n setActiveItemData(activeApi)\n setActiveType('OVERVIEW')\n setIsFirstApiExpanded(false)\n setCanSelectFirstApi(true)\n }\n }, [activeApiId, transformedOpenApis])\n\n return (\n <Layout>\n <Layout.DocsHeader\n transformedOpenApis={transformedOpenApis}\n updateFilteredData={updateFilteredData}\n />\n {!pending && (\n <Layout.DocsSideMenuTree\n apis={transformedOpenApis}\n setActiveItemData={setActiveItemData}\n activeItemData={activeItemData as OverviewData | EndpointData}\n expandedSections={expandedSections}\n setExpandedSections={(newExpandedSections) =>\n setExpandedSections((prev) => ({\n ...prev,\n ...newExpandedSections,\n }))\n }\n isFirstApiExpanded={isFirstApiExpanded}\n activeType={activeType}\n setIsFirstApiExpanded={setIsFirstApiExpanded}\n setActiveType={setActiveType}\n toggleSection={toggleSection}\n canSelectFirstApi={canSelectFirstApi}\n />\n )}\n\n {!pending && Object.keys(activeItemData).length > 0 && (\n <Layout.DocsContent\n data={activeItemData as OverviewData | EndpointData}\n activeType={activeType}\n setActiveItemData={setActiveItemData}\n setActiveType={setActiveType}\n setExpandedSections={setExpandedSections}\n toggleSection={toggleSection}\n />\n )}\n {activeType === 'ENDPOINT' && <Layout.DocsAside data={activeItemData as EndpointData} />}\n </Layout>\n )\n}\n\nexport default React.memo(DocsLayout, areEqual)\n"],"names":["docsLayout","React","memo","apis","activeApiId","transformedOpenApis","setTransformedOpenApis","useState","isFirstApiExpanded","setIsFirstApiExpanded","activeItemData","setActiveItemData","activeType","setActiveType","expandedSections","setExpandedSections","allData","useRef","pending","setPending","canSelectFirstApi","setCanSelectFirstApi","toggleSection","apiId","sectionId","resetOthers","key","filteredExpandedSections","Object","fromEntries","entries","assign","filter","expandKey","includes","some","k","prev","useEffect","length","t","_a","structuredClone","map","o3","transformOpenApiToDocs","sort","a","b","title","toLowerCase","localeCompare","current","activeApi","find","api","apiSpecId","sectionKey","overviewKey","_jsxs","jsxs","Layout","children","_jsx","DocsHeader","updateFilteredData","filteredItems","isReset","
|
|
1
|
+
{"version":3,"file":"docsLayout.js","sources":["../../../src/layout/docsLayout.tsx"],"sourcesContent":["import React, { JSX, useEffect, useRef, useState } from 'react'\nimport Layout from './docsComponents'\nimport { HTTPMethod, OpenAPIFile, Parameter, RequestBody, Responses } from '@entities/openApi'\nimport { transformOpenApiToDocs } from '../helpers/docs.helper'\nimport { ApiSpecModel } from '@entities/index'\nimport stableStringify from 'fast-json-stable-stringify'\n\ninterface ILayoutProps {\n apis?: ApiSpecModel[]\n activeApiId?: string\n onProductNavigate?: (productId: number) => void\n}\n\nexport interface TagData {\n id: string\n method: HTTPMethod\n path: string\n tags: string[]\n responses: Responses\n summary?: string\n description: string\n parameters?: Parameter[]\n requestBody?: RequestBody\n}\n\nexport interface EndpointData extends TagData {\n api: {\n id: string\n description: string\n title: string\n version: string\n }\n}\n\nexport interface OverviewData extends Omit<ApiSpecModel, 'metaData'> {\n description: string\n title: string\n version: string\n tags: Record<string, TagData[]>\n servers: OpenAPIFile['servers']\n}\n\nfunction areEqual(prev: ILayoutProps, next: ILayoutProps): boolean {\n return (\n stableStringify(prev.apis ?? []) === stableStringify(next.apis ?? []) &&\n prev.activeApiId === next.activeApiId\n )\n}\n\nconst DocsLayout = ({ apis, activeApiId, onProductNavigate }: ILayoutProps): JSX.Element => {\n const [transformedOpenApis, setTransformedOpenApis] = useState<OverviewData[]>([])\n const [isFirstApiExpanded, setIsFirstApiExpanded] = useState(true)\n const [activeItemData, setActiveItemData] = useState<\n OverviewData | EndpointData | Record<string, never>\n >({})\n const [activeType, setActiveType] = useState<'OVERVIEW' | 'ENDPOINT'>('OVERVIEW')\n const [expandedSections, setExpandedSections] = useState<Record<string, boolean>>({})\n const allData = useRef([])\n const [pending, setPending] = useState(true)\n const [canSelectFirstApi, setCanSelectFirstApi] = useState(false)\n const [canFocusSection, setCanFocusSection] = useState(false)\n\n const toggleSection = (\n apiId: string,\n sectionId: string,\n resetOthers?: boolean,\n key?: string[]\n ) => {\n setCanSelectFirstApi(false)\n if (resetOthers && key) {\n const filteredExpandedSections = Object.fromEntries(\n Object.entries({ ...expandedSections }).filter(([expandKey]) => {\n // Close other APIs sections\n if (!expandKey.includes(apiId)) return false\n // always return the clicked on section\n if (expandKey === sectionId) return true\n // filter all sections containing the key\n if (key.some((k) => expandKey.includes(k))) return false\n return true\n })\n )\n\n setExpandedSections({\n ...filteredExpandedSections,\n [sectionId]: !expandedSections[sectionId],\n })\n } else {\n setExpandedSections((prev) => ({\n ...prev,\n [sectionId]: !expandedSections[sectionId],\n }))\n }\n }\n\n useEffect(() => {\n if (transformedOpenApis.length === 0) {\n setCanSelectFirstApi(!!activeApiId)\n const t = structuredClone(apis)\n ?.map((o3) => transformOpenApiToDocs(o3))\n .sort((a, b) => a.title.toLowerCase().localeCompare(b.title.toLowerCase()))\n setTransformedOpenApis(t)\n allData.current = t\n if (t.length > 0) {\n setPending(false)\n }\n }\n }, [apis])\n\n const updateFilteredData = (filteredItems, isReset = false) => {\n if (isReset) {\n setTransformedOpenApis(allData.current)\n return\n }\n setTransformedOpenApis(filteredItems)\n }\n\n useEffect(() => {\n if (activeApiId && transformedOpenApis.length > 0) {\n const activeApi = transformedOpenApis.find((api) => api.apiSpecId === activeApiId)\n const sectionKey = `api-${activeApi.apiSpecId}-section`\n const overviewKey = `api-${activeApi.apiSpecId}-overview`\n\n setExpandedSections((prev) => ({\n ...prev,\n [sectionKey]: true,\n [overviewKey]: true,\n }))\n setActiveItemData(activeApi)\n setActiveType('OVERVIEW')\n setIsFirstApiExpanded(false)\n setCanSelectFirstApi(true)\n setCanFocusSection(true)\n }\n }, [activeApiId, transformedOpenApis])\n\n return (\n <Layout>\n <Layout.DocsHeader\n transformedOpenApis={transformedOpenApis}\n updateFilteredData={updateFilteredData}\n />\n {!pending && (\n <Layout.DocsSideMenuTree\n apis={transformedOpenApis}\n setActiveItemData={setActiveItemData}\n activeItemData={activeItemData as OverviewData | EndpointData}\n expandedSections={expandedSections}\n setExpandedSections={(newExpandedSections) =>\n setExpandedSections((prev) => ({\n ...prev,\n ...newExpandedSections,\n }))\n }\n isFirstApiExpanded={isFirstApiExpanded}\n activeType={activeType}\n setIsFirstApiExpanded={setIsFirstApiExpanded}\n setActiveType={setActiveType}\n toggleSection={toggleSection}\n canSelectFirstApi={canSelectFirstApi}\n canFocusSection={canFocusSection}\n setCanFocusSection={setCanFocusSection}\n />\n )}\n\n {!pending && Object.keys(activeItemData).length > 0 && (\n <Layout.DocsContent\n data={activeItemData as OverviewData | EndpointData}\n activeType={activeType}\n setActiveItemData={setActiveItemData}\n setActiveType={setActiveType}\n setExpandedSections={setExpandedSections}\n toggleSection={toggleSection}\n onProductNavigate={onProductNavigate}\n />\n )}\n {activeType === 'ENDPOINT' && <Layout.DocsAside data={activeItemData as EndpointData} />}\n </Layout>\n )\n}\n\nexport default React.memo(DocsLayout, areEqual)\n"],"names":["docsLayout","React","memo","apis","activeApiId","onProductNavigate","transformedOpenApis","setTransformedOpenApis","useState","isFirstApiExpanded","setIsFirstApiExpanded","activeItemData","setActiveItemData","activeType","setActiveType","expandedSections","setExpandedSections","allData","useRef","pending","setPending","canSelectFirstApi","setCanSelectFirstApi","canFocusSection","setCanFocusSection","toggleSection","apiId","sectionId","resetOthers","key","filteredExpandedSections","Object","fromEntries","entries","assign","filter","expandKey","includes","some","k","prev","useEffect","length","t","_a","structuredClone","map","o3","transformOpenApiToDocs","sort","a","b","title","toLowerCase","localeCompare","current","activeApi","find","api","apiSpecId","sectionKey","overviewKey","_jsxs","jsxs","Layout","children","_jsx","DocsHeader","updateFilteredData","filteredItems","isReset","DocsSideMenuTree","newExpandedSections","keys","jsx","DocsContent","data","DocsAside","next","stableStringify","_b"],"mappings":"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"}
|