@digi-frontend/dgate-api-documentation 1.0.91 → 1.0.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,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/arrowRightGray.svg.js";import n from"../../../../assets/icons/arrow-down.svg.js";import t from"../../../../assets/icons/newCopyIcon.svg.js";import a from"../../../../assets/icons/arrow-up.svg.js";import{useSectionToggle as r,SectionEnum as l}from"../../../../context/SectionToggleContext.js";import{useState as o,useEffect as d}from"react";const c=({data:c,setActiveItemData:p,setActiveType:m,onProductNavigate:v,apis:h})=>{var j,u,x,N;const{toggleSection:I}=r(),[g,O]=o((null===(u=null===(j=null==c?void 0:c.servers)||void 0===j?void 0:j[0])||void 0===u?void 0:u.url)||""),[E,S]=o(!1);d((()=>{var s,e;O((null===(e=null===(s=null==c?void 0:c.servers)||void 0===s?void 0:s[0])||void 0===e?void 0:e.url)||"")}),[c]);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==c?void 0:c.title}),s.jsxs("p",{className:"api-version",children:["API Version: ",s.jsx("span",{children:null==c?void 0:c.version})]}),s.jsxs("div",{className:"custom-url-input",children:[s.jsx("label",{className:"input-label",children:"API Base URL"}),s.jsxs("div",{className:"url-container",children:[s.jsxs("div",{className:"typeDdl",onClick:()=>S((s=>!s)),children:[s.jsx("span",{className:"url-text",children:g||"-"}),s.jsxs("div",{className:"icon-container",children:[s.jsx("span",{className:"icon",role:"button",tabIndex:0,onClick:s=>{s.stopPropagation(),navigator.clipboard.writeText(g)},children:0!==g.length&&s.jsx(e,{src:t})}),0!==g.length&&s.jsx(e,{src:E?a:n})]})]}),E&&0!==g.length&&s.jsx("div",{className:"urlList",children:null===(x=null==c?void 0:c.servers)||void 0===x?void 0:x.map(((e,i)=>s.jsxs("div",{className:"url-item",onClick:()=>{O(e.url),S(!1)},children:[s.jsx("input",{type:"radio",name:"api-method",checked:g===e.url,readOnly:!0}),s.jsx("span",{children:e.url})]},i)))})]})]}),s.jsx("p",{className:"api-desc",children:`${c.description||"No Description"}`}),v&&s.jsxs("div",{className:"api-product-tag",children:["Product with this API"," ",s.jsx("span",{className:"product-tag",role:"button",tabIndex:-1,onClick:()=>v(c.associatedProduct.productId),children:c.associatedProduct.name})]}),s.jsx("h3",{className:"section-title",children:"Endpoints"}),Object.entries(null==c?void 0:c.tags).map((([n,t])=>s.jsxs("div",{className:"endpoint-group",children:[s.jsx("h4",{className:"tag-title",children:n}),s.jsx("div",{className:"endpoint-list",children:t.map(((t,a)=>{var r,o,d;return s.jsxs("div",{className:"endpoint-card",onClick:()=>(s=>{p(Object.assign(Object.assign({},s),{api:Object.assign({id:c.apiSpecId,title:c.title,description:c.description,version:c.version},c)})),m("ENDPOINT"),Object.entries((null==c?void 0:c.tags)||{}).findIndex((([,e])=>e.some((e=>e.id===s.id))));const e=Object.entries(c.tags).sort((([s],[e])=>"default"===s?1:"default"===e?-1:s.localeCompare(e))).findIndex((([e,i])=>i.find((e=>e.id===s.id))));I(c.apiSpecId,[{type:l.API_SECTION,setTo:!0},{type:l.ENDPOINTS_SECTION,setTo:!0},{type:l.TAG_SECTION,setTo:!0,index:e},{type:l.RESOURCE,setTo:!0,id:s.id}],{resetOthers:!0,filterKeys:[l.OVERVIEW]})})(t),children:[s.jsxs("div",{children:[s.jsxs("div",{className:"endpoint-card-header",children:[s.jsx("span",{className:`method-label ${t.method.toLowerCase()}`,children:t.method}),s.jsx("div",{className:"title-wrapper",children:s.jsxs("h5",{children:[(t.summary||"Endpoint Name").slice(0,40),(null!==(o=null===(r=t.summary)||void 0===r?void 0:r.length)&&void 0!==o?o:0)>40&&"..."]})})]}),s.jsxs("div",{className:"endpoint-meta",children:[s.jsx("p",{children:t.path}),s.jsx("p",{className:"description",children:null!==(d=t.description)&&void 0!==d?d:"No Description "})]})]}),s.jsx("div",{className:"endpoint-arrow",children:s.jsx(e,{src:i})})]},`${n}-${a}`)}))})]},n))),(null===(N=c.apiVersions)||void 0===N?void 0:N.length)>0&&s.jsxs("div",{className:"versions-section",children:[s.jsx("h4",{children:"API Versions"}),s.jsx("div",{className:"version-list",children:c.apiVersions.map(((e,i)=>{var n;return s.jsx("button",{className:"version-btn",onClick:()=>(s=>{if(s.apiSpecId===c.apiSpecId)return void m("OVERVIEW");const e=c.apiVersions.find((e=>e.apiSpecId===s.apiSpecId));if(!e)return;const i=h.find((s=>s.apiSpecId===e.apiSpecId));p(i),m("OVERVIEW"),I(i.apiSpecId,[{type:l.API_SECTION,setTo:!0},{type:l.OVERVIEW,setTo:!0}],{resetOthers:!0,filterKeys:[l.OVERVIEW,l.API_SECTION,l.ENDPOINTS_SECTION,l.TAG_SECTION]})})(e),children:(null===(n=e.metaData)||void 0===n?void 0:n.version)||"N/A"},i)}))})]})]})};export{c as OverviewPage};
1
+ import{j as s}from"../../../../../_virtual/jsx-runtime.js";import e from"../../../../components/SVGLoader/SVGLoader.js";import i from"../../../../assets/icons/arrowRightGray.svg.js";import n from"../../../../assets/icons/arrow-down.svg.js";import t from"../../../../assets/icons/newCopyIcon.svg.js";import a from"../../../../assets/icons/arrow-up.svg.js";import{useSectionToggle as r,SectionEnum as l}from"../../../../context/SectionToggleContext.js";import{useState as o,useEffect as d}from"react";import{copyToClipboard as c}from"../../../../utils/index.js";const p=({data:p,setActiveItemData:m,setActiveType:v,onProductNavigate:h,apis:j})=>{var u,x,N,I;const{toggleSection:g}=r(),[O,E]=o((null===(x=null===(u=null==p?void 0:p.servers)||void 0===u?void 0:u[0])||void 0===x?void 0:x.url)||""),[S,f]=o(!1);d((()=>{var s,e;E((null===(e=null===(s=null==p?void 0:p.servers)||void 0===s?void 0:s[0])||void 0===e?void 0:e.url)||"")}),[p]);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==p?void 0:p.title}),s.jsxs("p",{className:"api-version",children:["API Version: ",s.jsx("span",{children:null==p?void 0:p.version})]}),s.jsxs("div",{className:"custom-url-input",children:[s.jsx("label",{className:"input-label",children:"API Base URL"}),s.jsxs("div",{className:"url-container",children:[s.jsxs("div",{className:"type-ddl",onClick:()=>f((s=>!s)),children:[s.jsx("span",{className:"url-text",children:O||"-"}),s.jsxs("div",{className:"icon-container",children:[0!==O.length&&s.jsx(e,{className:"icon",role:"button",tabIndex:0,onClick:s=>{s.stopPropagation(),c(O)},src:t}),0!==O.length&&s.jsx(e,{src:S?a:n})]})]}),S&&0!==O.length&&s.jsx("div",{className:"url-list",children:null===(N=null==p?void 0:p.servers)||void 0===N?void 0:N.map(((e,i)=>s.jsxs("div",{className:"url-item",onClick:()=>{E(e.url),f(!1)},children:[s.jsx("input",{type:"radio",name:"api-method",checked:O===e.url,readOnly:!0}),s.jsx("span",{children:e.url})]},i)))})]})]}),s.jsx("p",{className:"api-desc",children:`${p.description||"No Description"}`}),h&&s.jsxs("div",{className:"api-product-tag",children:["Product with this API"," ",s.jsx("span",{className:"product-tag",role:"button",tabIndex:-1,onClick:()=>h(p.associatedProduct.productId),children:p.associatedProduct.name})]}),s.jsx("h3",{className:"section-title",children:"Endpoints"}),Object.entries(null==p?void 0:p.tags).map((([n,t])=>s.jsxs("div",{className:"endpoint-group",children:[s.jsx("h4",{className:"tag-title",children:n}),s.jsx("div",{className:"endpoint-list",children:t.map(((t,a)=>{var r,o,d;return s.jsxs("div",{className:"endpoint-card",onClick:()=>(s=>{m(Object.assign(Object.assign({},s),{api:Object.assign({id:p.apiSpecId,title:p.title,description:p.description,version:p.version},p)})),v("ENDPOINT"),Object.entries((null==p?void 0:p.tags)||{}).findIndex((([,e])=>e.some((e=>e.id===s.id))));const e=Object.entries(p.tags).sort((([s],[e])=>"default"===s?1:"default"===e?-1:s.localeCompare(e))).findIndex((([e,i])=>i.find((e=>e.id===s.id))));g(p.apiSpecId,[{type:l.API_SECTION,setTo:!0},{type:l.ENDPOINTS_SECTION,setTo:!0},{type:l.TAG_SECTION,setTo:!0,index:e},{type:l.RESOURCE,setTo:!0,id:s.id}],{resetOthers:!0,filterKeys:[l.OVERVIEW]})})(t),children:[s.jsxs("div",{children:[s.jsxs("div",{className:"endpoint-card-header",children:[s.jsx("span",{className:`method-label ${t.method.toLowerCase()}`,children:t.method}),s.jsx("div",{className:"title-wrapper",children:s.jsxs("h5",{children:[(t.summary||"Endpoint Name").slice(0,40),(null!==(o=null===(r=t.summary)||void 0===r?void 0:r.length)&&void 0!==o?o:0)>40&&"..."]})})]}),s.jsxs("div",{className:"endpoint-meta",children:[s.jsx("p",{children:t.path}),s.jsx("p",{className:"description",children:null!==(d=t.description)&&void 0!==d?d:"No Description "})]})]}),s.jsx("div",{className:"endpoint-arrow",children:s.jsx(e,{src:i})})]},`${n}-${a}`)}))})]},n))),(null===(I=p.apiVersions)||void 0===I?void 0:I.length)>0&&s.jsxs("div",{className:"versions-section",children:[s.jsx("h4",{children:"API Versions"}),s.jsx("div",{className:"version-list",children:p.apiVersions.map(((e,i)=>{var n;return s.jsx("button",{className:"version-btn",onClick:()=>(s=>{if(s.apiSpecId===p.apiSpecId)return void v("OVERVIEW");const e=p.apiVersions.find((e=>e.apiSpecId===s.apiSpecId));if(!e)return;const i=j.find((s=>s.apiSpecId===e.apiSpecId));m(i),v("OVERVIEW"),g(i.apiSpecId,[{type:l.API_SECTION,setTo:!0},{type:l.OVERVIEW,setTo:!0}],{resetOthers:!0,filterKeys:[l.OVERVIEW,l.API_SECTION,l.ENDPOINTS_SECTION,l.TAG_SECTION]})})(e),children:(null===(n=e.metaData)||void 0===n?void 0:n.version)||"N/A"},i)}))})]})]})};export{p as OverviewPage};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/OverviewPage/index.tsx"],"sourcesContent":["import './style.scss'\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport {\n arrowDown,\n arrowRightGray,\n arrowUp,\n newCopyIcon,\n} from '../../../../assets/icons/index'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\nimport { SectionEnum, useSectionToggle } from '../../../../../src/context/SectionToggleContext'\nimport React, { useEffect, useState } from 'react'\n\nexport const OverviewPage = ({\n data,\n setActiveItemData,\n setActiveType,\n onProductNavigate,\n apis,\n}: {\n data: OverviewData\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n onProductNavigate?: (productId: number) => void\n apis: OverviewData[]\n}) => {\n const { toggleSection } = useSectionToggle()\n const [selectedUrl, setSelectedUrl] = useState(data?.servers?.[0]?.url || '')\n const [isUrlDropdownOpen, setIsUrlDropdownOpen] = useState<boolean>(false)\n\n useEffect(() => {\n setSelectedUrl(data?.servers?.[0]?.url || '')\n }, [data])\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 matchedApi = apis.find((api) => api.apiSpecId === matchedVersion.apiSpecId)\n setActiveItemData(matchedApi)\n\n setActiveType('OVERVIEW')\n toggleSection(\n matchedApi.apiSpecId,\n [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.OVERVIEW, setTo: true },\n ],\n {\n resetOthers: true,\n filterKeys: [\n SectionEnum.OVERVIEW,\n SectionEnum.API_SECTION,\n SectionEnum.ENDPOINTS_SECTION,\n SectionEnum.TAG_SECTION,\n ],\n }\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 const tagEntries = Object.entries(data?.tags || {})\n const sectionIndex = tagEntries.findIndex(([, endpoints]) =>\n endpoints.some((e) => e.id === endpoint.id)\n )\n\n const tagSectionIndex = Object.entries(data.tags)\n .sort(([a], [b]) => (a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)))\n .findIndex(([_, tagData]) => tagData.find((t) => t.id === endpoint.id))\n\n toggleSection(\n data.apiSpecId,\n [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.ENDPOINTS_SECTION, setTo: true },\n { type: SectionEnum.TAG_SECTION, setTo: true, index: tagSectionIndex },\n { type: SectionEnum.RESOURCE, setTo: true, id: endpoint.id },\n ],\n { resetOthers: true, filterKeys: [SectionEnum.OVERVIEW] }\n )\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=\"url-container\">\n <div className=\"typeDdl\" onClick={() => setIsUrlDropdownOpen((prev) => !prev)}>\n <span className=\"url-text\">{selectedUrl || '-'}</span>\n <div className=\"icon-container\">\n <span\n className=\"icon\"\n role=\"button\"\n tabIndex={0}\n onClick={(e) => {\n e.stopPropagation()\n navigator.clipboard.writeText(selectedUrl)\n }}\n >\n {selectedUrl.length !== 0 && <SVGLoader src={newCopyIcon} />}\n </span>\n {selectedUrl.length !== 0 && (\n <SVGLoader src={!isUrlDropdownOpen ? arrowDown : arrowUp} />\n )}\n </div>\n </div>\n {isUrlDropdownOpen && selectedUrl.length !== 0 && (\n <div className=\"urlList\">\n {data?.servers?.map((server, index) => (\n <div\n key={index}\n className=\"url-item\"\n onClick={() => {\n setSelectedUrl(server.url)\n setIsUrlDropdownOpen(false)\n }}\n >\n <input\n type=\"radio\"\n name=\"api-method\"\n checked={selectedUrl === server.url}\n readOnly\n />\n <span>{server.url}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n\n <p className=\"api-desc\">{`${data.description || 'No Description'}`}</p>\n {onProductNavigate && (\n <div className=\"api-product-tag\">\n Product with this API{' '}\n <span\n className=\"product-tag\"\n role=\"button\"\n tabIndex={-1}\n onClick={() => onProductNavigate(data.associatedProduct.productId)}\n >\n {data.associatedProduct.name}\n </span>\n </div>\n )}\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, 40)}\n {(endpoint.summary?.length ?? 0) > 40 && '...'}\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":["OverviewPage","data","setActiveItemData","setActiveType","onProductNavigate","apis","toggleSection","useSectionToggle","selectedUrl","setSelectedUrl","useState","_b","_a","servers","url","isUrlDropdownOpen","setIsUrlDropdownOpen","useEffect","_jsxs","className","_jsx","children","title","version","onClick","prev","jsx","role","tabIndex","e","stopPropagation","navigator","clipboard","writeText","length","SVGLoader","src","newCopyIcon","arrowUp","arrowDown","_c","map","server","index","type","name","checked","readOnly","description","associatedProduct","productId","Object","entries","tags","tag","endpoints","endpoint","idx","jsxs","assign","api","id","apiSpecId","findIndex","some","tagSectionIndex","sort","a","b","localeCompare","_","tagData","find","t","SectionEnum","API_SECTION","setTo","ENDPOINTS_SECTION","TAG_SECTION","RESOURCE","resetOthers","filterKeys","OVERVIEW","handleClick","method","toLowerCase","summary","slice","path","arrowRightGray","_d","apiVersions","verObj","matchedVersion","v","matchedApi","handleVersionClick","metaData"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/layout/docsComponents/DocsContent/OverviewPage/index.tsx"],"sourcesContent":["import './style.scss'\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\nimport { arrowDown, arrowRightGray, arrowUp, newCopyIcon } from '../../../../assets/icons/index'\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\nimport { SectionEnum, useSectionToggle } from '../../../../../src/context/SectionToggleContext'\nimport React, { useEffect, useState } from 'react'\nimport { copyToClipboard } from '../../../../utils'\n\nexport const OverviewPage = ({\n data,\n setActiveItemData,\n setActiveType,\n onProductNavigate,\n apis,\n}: {\n data: OverviewData\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\n onProductNavigate?: (productId: number) => void\n apis: OverviewData[]\n}) => {\n const { toggleSection } = useSectionToggle()\n const [selectedUrl, setSelectedUrl] = useState(data?.servers?.[0]?.url || '')\n const [isUrlDropdownOpen, setIsUrlDropdownOpen] = useState<boolean>(false)\n\n useEffect(() => {\n setSelectedUrl(data?.servers?.[0]?.url || '')\n }, [data])\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 matchedApi = apis.find((api) => api.apiSpecId === matchedVersion.apiSpecId)\n setActiveItemData(matchedApi)\n\n setActiveType('OVERVIEW')\n toggleSection(\n matchedApi.apiSpecId,\n [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.OVERVIEW, setTo: true },\n ],\n {\n resetOthers: true,\n filterKeys: [\n SectionEnum.OVERVIEW,\n SectionEnum.API_SECTION,\n SectionEnum.ENDPOINTS_SECTION,\n SectionEnum.TAG_SECTION,\n ],\n }\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 const tagEntries = Object.entries(data?.tags || {})\n const sectionIndex = tagEntries.findIndex(([, endpoints]) =>\n endpoints.some((e) => e.id === endpoint.id)\n )\n\n const tagSectionIndex = Object.entries(data.tags)\n .sort(([a], [b]) => (a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)))\n .findIndex(([_, tagData]) => tagData.find((t) => t.id === endpoint.id))\n\n toggleSection(\n data.apiSpecId,\n [\n { type: SectionEnum.API_SECTION, setTo: true },\n { type: SectionEnum.ENDPOINTS_SECTION, setTo: true },\n { type: SectionEnum.TAG_SECTION, setTo: true, index: tagSectionIndex },\n { type: SectionEnum.RESOURCE, setTo: true, id: endpoint.id },\n ],\n { resetOthers: true, filterKeys: [SectionEnum.OVERVIEW] }\n )\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=\"url-container\">\n <div className=\"type-ddl\" onClick={() => setIsUrlDropdownOpen((prev) => !prev)}>\n <span className=\"url-text\">{selectedUrl || '-'}</span>\n <div className=\"icon-container\">\n {selectedUrl.length !== 0 && (\n <SVGLoader\n className=\"icon\"\n role=\"button\"\n tabIndex={0}\n onClick={(e) => {\n e.stopPropagation()\n copyToClipboard(selectedUrl)\n }}\n src={newCopyIcon}\n />\n )}\n {selectedUrl.length !== 0 && (\n <SVGLoader src={!isUrlDropdownOpen ? arrowDown : arrowUp} />\n )}\n </div>\n </div>\n {isUrlDropdownOpen && selectedUrl.length !== 0 && (\n <div className=\"url-list\">\n {data?.servers?.map((server, index) => (\n <div\n key={index}\n className=\"url-item\"\n onClick={() => {\n setSelectedUrl(server.url)\n setIsUrlDropdownOpen(false)\n }}\n >\n <input\n type=\"radio\"\n name=\"api-method\"\n checked={selectedUrl === server.url}\n readOnly\n />\n <span>{server.url}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n </div>\n\n <p className=\"api-desc\">{`${data.description || 'No Description'}`}</p>\n {onProductNavigate && (\n <div className=\"api-product-tag\">\n Product with this API{' '}\n <span\n className=\"product-tag\"\n role=\"button\"\n tabIndex={-1}\n onClick={() => onProductNavigate(data.associatedProduct.productId)}\n >\n {data.associatedProduct.name}\n </span>\n </div>\n )}\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, 40)}\n {(endpoint.summary?.length ?? 0) > 40 && '...'}\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":["OverviewPage","data","setActiveItemData","setActiveType","onProductNavigate","apis","toggleSection","useSectionToggle","selectedUrl","setSelectedUrl","useState","_b","_a","servers","url","isUrlDropdownOpen","setIsUrlDropdownOpen","useEffect","_jsxs","className","children","_jsx","jsx","title","version","onClick","prev","jsxs","length","SVGLoader","role","tabIndex","e","stopPropagation","copyToClipboard","src","newCopyIcon","arrowUp","arrowDown","_c","map","server","index","type","name","checked","readOnly","description","associatedProduct","productId","Object","entries","tags","tag","endpoints","endpoint","idx","assign","api","id","apiSpecId","findIndex","some","tagSectionIndex","sort","a","b","localeCompare","_","tagData","find","t","SectionEnum","API_SECTION","setTo","ENDPOINTS_SECTION","TAG_SECTION","RESOURCE","resetOthers","filterKeys","OVERVIEW","handleClick","method","toLowerCase","summary","slice","path","arrowRightGray","_d","apiVersions","verObj","matchedVersion","v","matchedApi","handleVersionClick","metaData"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -1422,6 +1422,10 @@ div.endBtnIcon {
1422
1422
  }
1423
1423
  .api-docs-api-tree__section-header:hover {
1424
1424
  background-color: #f3f4f6;
1425
+ width: 100%;
1426
+ }
1427
+ .api-docs-api-tree__section-header svg {
1428
+ min-width: 1rem;
1425
1429
  }
1426
1430
  .api-docs-api-tree__section-header svg:first-child path {
1427
1431
  stroke: #bbbec5;
@@ -1432,6 +1436,8 @@ div.endBtnIcon {
1432
1436
  font-weight: 500;
1433
1437
  color: #000;
1434
1438
  margin-left: 0.25rem;
1439
+ word-break: break-all;
1440
+ line-height: 0.9375rem;
1435
1441
  }
1436
1442
  .api-docs-api-tree__section__overview {
1437
1443
  display: flex;
@@ -1963,14 +1969,14 @@ div.endBtnIcon {
1963
1969
  .api-details-page .custom-url-input .url-container {
1964
1970
  position: relative;
1965
1971
  }
1966
- .api-details-page .custom-url-input .typeDdl {
1972
+ .api-details-page .custom-url-input .type-ddl {
1967
1973
  cursor: pointer;
1968
1974
  display: flex;
1969
1975
  align-items: center;
1970
1976
  justify-content: space-between;
1971
1977
  width: 100%;
1972
1978
  background-color: #edf1fb;
1973
- border: 0.0625rem solid #fff;
1979
+ border: 1px solid #fff;
1974
1980
  border-radius: 0.375rem;
1975
1981
  padding: 0.5rem 1rem;
1976
1982
  }
@@ -1996,7 +2002,10 @@ div.endBtnIcon {
1996
2002
  width: 1.75rem;
1997
2003
  height: 1.75rem;
1998
2004
  }
1999
- .api-details-page .custom-url-input .urlList {
2005
+ .api-details-page .custom-url-input .icon-container .icon:focus {
2006
+ outline: none;
2007
+ }
2008
+ .api-details-page .custom-url-input .url-list {
2000
2009
  position: absolute;
2001
2010
  top: 100%;
2002
2011
  left: 0;
@@ -2004,8 +2013,8 @@ div.endBtnIcon {
2004
2013
  z-index: 10;
2005
2014
  background: white;
2006
2015
  border: 1px solid #ccc;
2007
- border-radius: 6px;
2008
- max-height: 200px;
2016
+ border-radius: 0.375rem;
2017
+ max-height: 12.5rem;
2009
2018
  overflow-y: auto;
2010
2019
  }
2011
2020
  .api-details-page .custom-url-input .url-item {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digi-frontend/dgate-api-documentation",
3
- "version": "1.0.91",
3
+ "version": "1.0.93",
4
4
  "main": "dist/src/index.js",
5
5
  "module": "dist/src/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -1,14 +1,10 @@
1
1
  import './style.scss'
2
2
  import SVGLoader from '../../../../components/SVGLoader/SVGLoader'
3
- import {
4
- arrowDown,
5
- arrowRightGray,
6
- arrowUp,
7
- newCopyIcon,
8
- } from '../../../../assets/icons/index'
3
+ import { arrowDown, arrowRightGray, arrowUp, newCopyIcon } from '../../../../assets/icons/index'
9
4
  import { EndpointData, OverviewData } from 'src/layout/docsLayout'
10
5
  import { SectionEnum, useSectionToggle } from '../../../../../src/context/SectionToggleContext'
11
6
  import React, { useEffect, useState } from 'react'
7
+ import { copyToClipboard } from '../../../../utils'
12
8
 
13
9
  export const OverviewPage = ({
14
10
  data,
@@ -108,27 +104,28 @@ export const OverviewPage = ({
108
104
  <div className="custom-url-input">
109
105
  <label className="input-label">API Base URL</label>
110
106
  <div className="url-container">
111
- <div className="typeDdl" onClick={() => setIsUrlDropdownOpen((prev) => !prev)}>
107
+ <div className="type-ddl" onClick={() => setIsUrlDropdownOpen((prev) => !prev)}>
112
108
  <span className="url-text">{selectedUrl || '-'}</span>
113
109
  <div className="icon-container">
114
- <span
115
- className="icon"
116
- role="button"
117
- tabIndex={0}
118
- onClick={(e) => {
119
- e.stopPropagation()
120
- navigator.clipboard.writeText(selectedUrl)
121
- }}
122
- >
123
- {selectedUrl.length !== 0 && <SVGLoader src={newCopyIcon} />}
124
- </span>
110
+ {selectedUrl.length !== 0 && (
111
+ <SVGLoader
112
+ className="icon"
113
+ role="button"
114
+ tabIndex={0}
115
+ onClick={(e) => {
116
+ e.stopPropagation()
117
+ copyToClipboard(selectedUrl)
118
+ }}
119
+ src={newCopyIcon}
120
+ />
121
+ )}
125
122
  {selectedUrl.length !== 0 && (
126
123
  <SVGLoader src={!isUrlDropdownOpen ? arrowDown : arrowUp} />
127
124
  )}
128
125
  </div>
129
126
  </div>
130
127
  {isUrlDropdownOpen && selectedUrl.length !== 0 && (
131
- <div className="urlList">
128
+ <div className="url-list">
132
129
  {data?.servers?.map((server, index) => (
133
130
  <div
134
131
  key={index}
@@ -42,17 +42,18 @@
42
42
  position: relative;
43
43
  }
44
44
 
45
- .typeDdl {
45
+ .type-ddl {
46
46
  cursor: pointer;
47
47
  display: flex;
48
48
  align-items: center;
49
49
  justify-content: space-between;
50
50
  width: 100%;
51
51
  background-color: #edf1fb;
52
- border: 0.0625rem solid #fff;
52
+ border: 1px solid #fff;
53
53
  border-radius: 0.375rem;
54
54
  padding: 0.5rem 1rem;
55
55
  }
56
+
56
57
  .url-text {
57
58
  flex: 1;
58
59
  padding-right: 0.75rem;
@@ -65,18 +66,24 @@
65
66
  opacity: 0.5;
66
67
  color: #000000;
67
68
  }
69
+
68
70
  .icon-container {
69
71
  display: flex;
70
72
  align-items: center;
71
73
  gap: 0.75rem;
74
+
72
75
  .icon {
73
76
  display: inline-block;
74
77
  width: 1.75rem;
75
78
  height: 1.75rem;
79
+
80
+ &:focus {
81
+ outline: none;
82
+ }
76
83
  }
77
84
  }
78
85
 
79
- .urlList {
86
+ .url-list {
80
87
  position: absolute;
81
88
  top: 100%;
82
89
  left: 0;
@@ -84,8 +91,8 @@
84
91
  z-index: 10;
85
92
  background: white;
86
93
  border: 1px solid #ccc;
87
- border-radius: 6px;
88
- max-height: 200px;
94
+ border-radius: 0.375rem;
95
+ max-height: 12.5rem;
89
96
  overflow-y: auto;
90
97
  }
91
98
 
@@ -95,6 +102,7 @@
95
102
  align-items: center;
96
103
  gap: 0.5rem;
97
104
  cursor: pointer;
105
+
98
106
  &:hover {
99
107
  background-color: #f5f5f5;
100
108
  }
@@ -20,6 +20,11 @@
20
20
 
21
21
  &:hover {
22
22
  background-color: #f3f4f6;
23
+ width: 100%;
24
+ }
25
+
26
+ svg {
27
+ min-width: 1rem;
23
28
  }
24
29
 
25
30
  svg:first-child {
@@ -35,6 +40,8 @@
35
40
  font-weight: 500;
36
41
  color: #000;
37
42
  margin-left: 0.25rem;
43
+ word-break: break-all;
44
+ line-height: .9375rem;
38
45
  }
39
46
 
40
47
  &__overview {
package/variables.txt CHANGED
@@ -1 +1 @@
1
- export APP_VERSION=1.0.90
1
+ export APP_VERSION=1.0.92