@digi-frontend/dgate-api-documentation 1.4.7 → 1.4.9
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/src/components/InfoForm/InfoForm.js +1 -1
- package/dist/src/components/InfoForm/InfoForm.js.map +1 -1
- package/dist/src/components/InfoForm/InfoForm.module.scss.js +1 -1
- package/dist/src/components/JsonInput/JsonInput.js +1 -1
- package/dist/src/components/JsonInput/JsonInput.js.map +1 -1
- package/dist/src/components/JsonInput/style.module.scss.js +1 -1
- package/dist/src/components/LivePreview/LivePreview.js +1 -1
- package/dist/src/components/LivePreview/LivePreview.js.map +1 -1
- package/dist/src/components/LivePreview/LivePreview.module.scss.js +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/MethodAccordion/MethodAccordion.module.scss.js +1 -1
- package/dist/src/components/SVGLoader/SVGLoader.js +1 -1
- package/dist/src/components/SVGLoader/SVGLoader.js.map +1 -1
- package/dist/src/components/SectionHead/SectionHead.js +1 -1
- package/dist/src/components/SectionHead/SectionHead.js.map +1 -1
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js +1 -1
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js.map +1 -1
- package/dist/src/components/Tooltip/Tooltip.js +1 -1
- package/dist/src/components/Tooltip/Tooltip.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/components/table/table.js +1 -1
- package/dist/src/components/table/table.js.map +1 -1
- package/dist/src/components/table/tags-table.js +1 -1
- package/dist/src/components/table/tags-table.js.map +1 -1
- package/dist/src/context/SectionToggleContext.js +1 -1
- package/dist/src/context/SectionToggleContext.js.map +1 -1
- package/dist/src/layout/docsComponents/Codebox/Codebox.js +1 -1
- package/dist/src/layout/docsComponents/Codebox/Codebox.js.map +1 -1
- package/dist/src/layout/docsComponents/Codebox/style.module.scss.js +1 -1
- package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +1 -1
- package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsAside/style.module.scss.js +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/EndpointPage/index.js +1 -1
- package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -1
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js +1 -1
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js.map +1 -1
- 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/DocsHeader/DocsHeader.module.scss.js +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/docsComponents/index.js +1 -1
- package/dist/src/layout/docsComponents/index.js.map +1 -1
- package/dist/src/layout/docsLayout.js +1 -1
- package/dist/src/layout/docsLayout.js.map +1 -1
- package/dist/src/layout/layout.js +1 -1
- package/dist/src/layout/layout.js.map +1 -1
- package/dist/types/components/Chips/Chips.d.ts +2 -1
- package/dist/types/components/InfoForm/InfoForm.d.ts +1 -1
- package/dist/types/components/JsonInput/JsonInput.d.ts +2 -1
- package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +1 -1
- package/dist/types/components/dialog/index.d.ts +2 -1
- package/dist/types/components/table/table.d.ts +2 -1
- package/dist/types/components/table/tags-table.d.ts +1 -1
- package/dist/types/context/SectionToggleContext.d.ts +2 -2
- package/dist/types/index.d.ts +2 -27
- package/dist/types/layout/docsComponents/Codebox/Codebox.d.ts +2 -1
- package/dist/types/layout/docsComponents/DocsAside/DocsAside.d.ts +2 -1
- package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +1 -1
- package/dist/types/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +1 -1
- package/dist/types/layout/docsComponents/DocsContent/OverviewPage/index.d.ts +1 -1
- package/dist/types/layout/docsComponents/DocsHeader/DocsHeader.d.ts +2 -1
- package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +1 -1
- package/package.json +1 -1
- package/rollup.config.js +39 -4
- package/tsconfig.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docsLayout.js","sources":["../../../src/layout/docsLayout.tsx"],"sourcesContent":["'use client'\nimport 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'\nimport { SectionToggleProvider } from '../../src/context/SectionToggleContext'\nimport { ToastContainer } from 'react-toastify'\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: OverviewData\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 allData = useRef([])\n const [pending, setPending] = useState(true)\n const [canSelectFirstApi, setCanSelectFirstApi] = useState(false)\n const [canFocusSection, setCanFocusSection] = useState(false)\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: OverviewData[], isReset = false) => {\n if (isReset) {\n setTransformedOpenApis(allData.current)\n return\n }\n setTransformedOpenApis(filteredItems)\n }\n\n return (\n <Layout>\n <SectionToggleProvider>\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 isFirstApiExpanded={isFirstApiExpanded}\n activeType={activeType}\n setIsFirstApiExpanded={setIsFirstApiExpanded}\n setActiveType={setActiveType}\n canSelectFirstApi={canSelectFirstApi}\n canFocusSection={canFocusSection}\n setCanFocusSection={setCanFocusSection}\n activeApiId={activeApiId}\n setCanSelectFirstApi={setCanSelectFirstApi}\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 onProductNavigate={onProductNavigate}\n apis={transformedOpenApis}\n />\n )}\n {activeType === 'ENDPOINT' && <Layout.DocsAside data={activeItemData as EndpointData} />}\n </SectionToggleProvider>\n\n <ToastContainer />\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","allData","useRef","pending","setPending","canSelectFirstApi","setCanSelectFirstApi","canFocusSection","setCanFocusSection","useEffect","length","t","_a","structuredClone","map","o3","transformOpenApiToDocs","sort","a","b","title","toLowerCase","localeCompare","current","
|
|
1
|
+
{"version":3,"file":"docsLayout.js","sources":["../../../src/layout/docsLayout.tsx"],"sourcesContent":["'use client'\nimport 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'\nimport { SectionToggleProvider } from '../../src/context/SectionToggleContext'\nimport { ToastContainer } from 'react-toastify'\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: OverviewData\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 allData = useRef([])\n const [pending, setPending] = useState(true)\n const [canSelectFirstApi, setCanSelectFirstApi] = useState(false)\n const [canFocusSection, setCanFocusSection] = useState(false)\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: OverviewData[], isReset = false) => {\n if (isReset) {\n setTransformedOpenApis(allData.current)\n return\n }\n setTransformedOpenApis(filteredItems)\n }\n\n return (\n <Layout>\n <SectionToggleProvider>\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 isFirstApiExpanded={isFirstApiExpanded}\n activeType={activeType}\n setIsFirstApiExpanded={setIsFirstApiExpanded}\n setActiveType={setActiveType}\n canSelectFirstApi={canSelectFirstApi}\n canFocusSection={canFocusSection}\n setCanFocusSection={setCanFocusSection}\n activeApiId={activeApiId}\n setCanSelectFirstApi={setCanSelectFirstApi}\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 onProductNavigate={onProductNavigate}\n apis={transformedOpenApis}\n />\n )}\n {activeType === 'ENDPOINT' && <Layout.DocsAside data={activeItemData as EndpointData} />}\n </SectionToggleProvider>\n\n <ToastContainer />\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","allData","useRef","pending","setPending","canSelectFirstApi","setCanSelectFirstApi","canFocusSection","setCanFocusSection","useEffect","length","t","_a","structuredClone","map","o3","transformOpenApiToDocs","sort","a","b","title","toLowerCase","localeCompare","current","Layout","createElement","SectionToggleProvider","DocsHeader","updateFilteredData","filteredItems","isReset","DocsSideMenuTree","Object","keys","DocsContent","data","DocsAside","ToastContainer","prev","next","stableStringify","_b"],"mappings":"mXA2HA,IAAAA,EAAeC,EAAMC,KA5EF,EAAGC,OAAMC,cAAaC,wBACvC,MAAOC,EAAqBC,GAA0BC,EAAyB,KACxEC,EAAoBC,GAAyBF,GAAS,IACtDG,EAAgBC,GAAqBJ,EAE1C,CAAE,IACGK,EAAYC,GAAiBN,EAAkC,YAChEO,EAAUC,EAAO,KAChBC,EAASC,GAAcV,GAAS,IAChCW,EAAmBC,GAAwBZ,GAAS,IACpDa,EAAiBC,GAAsBd,GAAS,GAEvDe,EAAU,WACR,GAAmC,IAA/BjB,EAAoBkB,OAAc,CACpCJ,IAAuBhB,GACvB,MAAMqB,UAAIC,EAAAC,gBAAgBxB,yBACtByB,IAAKC,GAAOC,EAAuBD,IACpCE,KAAK,CAACC,EAAGC,IAAMD,EAAEE,MAAMC,cAAcC,cAAcH,EAAEC,MAAMC,gBAC9D5B,EAAuBkB,GACvBV,EAAQsB,QAAUZ,EACdA,EAAED,OAAS,GACbN,GAAW,EAEd,GACA,CAACf,IAUJ,OACEF,gBAACqC,EAAM,KACLrC,EAAAsC,cAACC,EAAqB,KACpBvC,EAACsC,cAAAD,EAAOG,WACN,CAAAnC,oBAAqBA,EACrBoC,mBAbmB,CAACC,EAA+BC,GAAU,KAEjErC,EADEqC,EACqB7B,EAAQsB,QAGVM,OAUjB1B,GACAhB,EAACsC,cAAAD,EAAOO,iBACN,CAAA1C,KAAMG,EACNM,kBAAmBA,EACnBD,eAAgBA,EAChBF,mBAAoBA,EACpBI,WAAYA,EACZH,sBAAuBA,EACvBI,cAAeA,EACfK,kBAAmBA,EACnBE,gBAAiBA,EACjBC,mBAAoBA,EACpBlB,YAAaA,EACbgB,qBAAsBA,KAIxBH,GAAW6B,OAAOC,KAAKpC,GAAgBa,OAAS,GAChDvB,EAAAsC,cAACD,EAAOU,aACNC,KAAMtC,EACNE,WAAYA,EACZD,kBAAmBA,EACnBE,cAAeA,EACfT,kBAAmBA,EACnBF,KAAMG,IAGM,aAAfO,GAA6BZ,EAAAsC,cAACD,EAAOY,UAAS,CAACD,KAAMtC,KAGxDV,EAAAsC,cAACY,EAAc,QA9ErB,SAAkBC,EAAoBC,WACpC,OACEC,EAA6B,UAAbF,EAAKjD,YAAQ,IAAAuB,EAAAA,EAAA,MAAQ4B,EAAyB,QAATC,EAAAF,EAAKlD,YAAI,IAAAoD,EAAAA,EAAI,KAClEH,EAAKhD,cAAgBiD,EAAKjD,WAE9B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{useState as e,useEffect as t}from"react";import{d as a}from"../../_virtual/index.js";import o from"../components/MethodAccordion/MethodAccordion.js";import r from"./layout.module.css.js";import n from"../components/InfoForm/InfoForm.js";import i from"../components/SectionHead/SectionHead.js";import{transformOpenApiObject as l,transformOpenApiObjectToOrigin as s}from"../helpers/layout.helper.js";import m from"../components/LivePreview/LivePreview.js";import{useFormik as c,FormikProvider as d}from"../../node_modules/formik/dist/formik.esm.js";import{schemaValidation as u}from"../validator/form.scheme.js";import{methodColorMapping as p}from"../constants/index.js";import h from"../components/dialog/index.js";const v=({openApiJson:v,handleSave:f,setIsFormDirty:E,openApiErrors:R})=>{const g=structuredClone(v),S=l(g),y=c({initialValues:structuredClone(S),validationSchema:u,validateOnMount:!0,onSubmit:(e,{validateForm:t,resetForm:a,setSubmitting:o})=>{try{const o=s(e);f(o),a({values:e}),t(e)}catch(e){o(!1)}}}),{dirty:A,isValid:b,isSubmitting:j,values:F,setFieldValue:$,handleSubmit:x,errors:C}=y,[N,w]=e(!1),[H,I]=e(null);return t(()=>{E&&E(A)},[A]),React.createElement("div",{className:r.docsLayout},A&&React.createElement(a.Alert,{className:r.apiDocAlert,color:"warning",severity:"warning"},"There are changes you made may not be saved"),React.createElement("div",{className:r.layoutContainer},React.createElement("div",{className:`${r.editorSide} ${r.docSide}`},React.createElement(i,{className:r.editorSectionHead_title,text:React.createElement("div",{className:r.editorSectionHead_content},"API Documentation",React.createElement(a.Button,{className:r.methodForm_submitBtn,size:"medium",fullWidth:!1,type:"submit",variant:"contained",color:"primary",onClick:()=>w(!0),disabled:!b||j||!A},"Save"))}),React.createElement(d,{value:y},React.createElement(n,null)),React.createElement(i,{className:r.editorSectionHead,text:"Endpoints"}),React.createElement(d,{value:y},F.paths.map((e,t)=>React.createElement(React.Fragment,null,e.methods.sort((e,t)=>p[e.type].order-p[t.type].order).map((a,r)=>{var n,i,l;return React.createElement(o,{tags:F.tags,method:a,path:e.path,setFieldValue:(e,a)=>{$(`paths[${t}].methods[${r}].${e}`,a)},isOpen:H===parseInt(`${t}${r}`),setIsOpen:e=>I(e?parseInt(`${t}${r}`):null),errors:null===(l=null===(i=null===(n=y.errors.paths)||void 0===n?void 0:n[t])||void 0===i?void 0:i.methods)||void 0===l?void 0:l[r]})}))))),React.createElement("div",{className:`${r.livePreviewSide} ${r.docSide}`},S&&React.createElement(d,{value:y},React.createElement(m,{transformedData:S,openApiErrors:R})))),React.createElement(h,{status:"warning",content:React.createElement(React.Fragment,null,React.createElement("h5",{style:{fontWeight:600,fontSize:"1.5rem",lineHeight:"1.875rem",color:"#FAAD14",textAlign:"center",margin:0}},"Publish Changes"),React.createElement("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"}},"Are you sure to Publish the changes?")),onSubmit:{onClick:()=>{x(),w(!1)},text:"Publish",color:"warning",fullWidth:!0},onCancel:{text:"Cancel",color:"action",fullWidth:!0,variant:"outlined"},onClose:()=>w(!1),open:N}))};export{v as default};
|
|
2
2
|
//# sourceMappingURL=layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["'use client'\nimport { JSX, useEffect, useState } from 'react'\nimport { Alert, Button } from 'digitinary-ui'\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\nimport styles from './layout.module.css'\nimport InfoForm from '../components/InfoForm/InfoForm'\nimport SectionHead from '../components/SectionHead/SectionHead'\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\nimport { OpenAPIFile } from '../types/openApi'\nimport LivePreview from '../components/LivePreview/LivePreview'\nimport { FormikProvider, useFormik } from 'formik'\nimport { schemaValidation } from '../validator/form.scheme'\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\nimport { methodColorMapping } from '../constants/index'\nimport CommonDialog from '../components/dialog'\n\ninterface ILayoutProps {\n openApiJson?: OpenAPIFile\n handleSave?: (values: unknown) => unknown\n setIsFormDirty?: any\n openApiErrors?: any\n}\n\nconst Layout = ({\n openApiJson,\n handleSave,\n setIsFormDirty,\n openApiErrors,\n}: ILayoutProps): JSX.Element => {\n const clonedOpenApiJson = structuredClone(openApiJson)\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\n const formik = useFormik<TransformedOpenApi>({\n initialValues: structuredClone(transformedOpenApi),\n validationSchema: schemaValidation,\n validateOnMount: true,\n onSubmit: (values, { validateForm, resetForm, setSubmitting }) => {\n // Handle save logic\n try {\n const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\n handleSave(originalOpenApiForm)\n resetForm({\n values: values, // You can reset it to the same values if you want\n })\n\n validateForm(values)\n } catch (err) {\n setSubmitting(false)\n }\n },\n })\n const { dirty, isValid, isSubmitting, values, setFieldValue, handleSubmit, errors } = formik\n const [isPublishDialogOpen, setIsPublishDialogOpen] = useState(false)\n\n const [openMethodIndex, setOpenMethodIndex] = useState<number | null>(null)\n\n useEffect(() => {\n if (setIsFormDirty) {\n setIsFormDirty(dirty)\n }\n }, [dirty])\n\n return (\n <div className={styles.docsLayout}>\n {dirty && (\n <Alert className={styles.apiDocAlert} color=\"warning\" severity=\"warning\">\n There are changes you made may not be saved\n </Alert>\n )}\n <div className={styles.layoutContainer}>\n <div className={`${styles.editorSide} ${styles.docSide}`}>\n <SectionHead\n className={styles.editorSectionHead_title}\n text={\n <div className={styles.editorSectionHead_content}>\n API Documentation\n <Button\n className={styles.methodForm_submitBtn}\n size=\"medium\"\n fullWidth={false}\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n onClick={() => setIsPublishDialogOpen(true)}\n disabled={!isValid || isSubmitting || !dirty}\n >\n Save\n </Button>\n </div>\n }\n />\n <FormikProvider value={formik}>\n <InfoForm />\n </FormikProvider>\n <SectionHead className={styles.editorSectionHead} text=\"Endpoints\" />\n <FormikProvider value={formik}>\n {values.paths.map((path, pathIndex) => (\n <>\n {path.methods\n .sort(\n (a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order\n )\n .map((method, methodIndex) => (\n <MethodsAccordion\n tags={values.tags}\n method={method}\n path={path.path}\n setFieldValue={(key, value) => {\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\n setFieldValue(h, value)\n }}\n isOpen={openMethodIndex === parseInt(`${pathIndex}${methodIndex}`)}\n setIsOpen={(open) =>\n setOpenMethodIndex(open ? parseInt(`${pathIndex}${methodIndex}`) : null)\n }\n errors={(formik.errors.paths?.[pathIndex] as any)?.methods?.[methodIndex]}\n />\n ))}\n </>\n ))}\n </FormikProvider>\n </div>\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\n {transformedOpenApi && (\n <FormikProvider value={formik}>\n <LivePreview transformedData={transformedOpenApi} openApiErrors={openApiErrors} />\n </FormikProvider>\n )}\n </div>\n </div>\n <CommonDialog\n status=\"warning\"\n content={\n <>\n <h5\n style={{\n fontWeight: 600,\n fontSize: '1.5rem',\n lineHeight: '1.875rem',\n color: '#FAAD14',\n textAlign: 'center',\n margin: 0,\n }}\n >\n Publish Changes\n </h5>\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n >\n Are you sure to Publish the changes?\n </p>\n </>\n }\n onSubmit={{\n onClick: () => {\n handleSubmit()\n setIsPublishDialogOpen(false)\n },\n text: 'Publish',\n color: 'warning',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'action',\n fullWidth: true,\n variant: 'outlined',\n }}\n onClose={() => setIsPublishDialogOpen(false)}\n open={isPublishDialogOpen}\n />\n </div>\n )\n}\n\nexport default Layout\n"],"names":["Layout","openApiJson","handleSave","setIsFormDirty","openApiErrors","clonedOpenApiJson","structuredClone","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","resetForm","setSubmitting","originalOpenApiForm","transformOpenApiObjectToOrigin","err","dirty","isValid","isSubmitting","setFieldValue","handleSubmit","errors","isPublishDialogOpen","setIsPublishDialogOpen","useState","openMethodIndex","setOpenMethodIndex","useEffect","_jsxs","jsxs","className","styles","docsLayout","children","_jsx","Alert","apiDocAlert","color","severity","layoutContainer","editorSide","docSide","SectionHead","editorSectionHead_title","text","editorSectionHead_content","Button","methodForm_submitBtn","size","fullWidth","type","variant","onClick","disabled","FormikProvider","value","InfoForm","jsx","editorSectionHead","paths","map","path","pathIndex","_Fragment","methods","sort","a","b","methodColorMapping","order","method","methodIndex","MethodsAccordion","tags","key","isOpen","parseInt","setIsOpen","open","_c","_b","_a","livePreviewSide","LivePreview","transformedData","CommonDialog","status","content","style","fontWeight","fontSize","lineHeight","textAlign","margin","onCancel","onClose"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout.js","sources":["../../../src/layout/layout.tsx"],"sourcesContent":["'use client'\nimport { JSX, useEffect, useState } from 'react'\nimport { Alert, Button } from 'digitinary-ui'\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\nimport styles from './layout.module.css'\nimport InfoForm from '../components/InfoForm/InfoForm'\nimport SectionHead from '../components/SectionHead/SectionHead'\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\nimport { OpenAPIFile } from '../types/openApi'\nimport LivePreview from '../components/LivePreview/LivePreview'\nimport { FormikProvider, useFormik } from 'formik'\nimport { schemaValidation } from '../validator/form.scheme'\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\nimport { methodColorMapping } from '../constants/index'\nimport CommonDialog from '../components/dialog'\n\ninterface ILayoutProps {\n openApiJson?: OpenAPIFile\n handleSave?: (values: unknown) => unknown\n setIsFormDirty?: any\n openApiErrors?: any\n}\n\nconst Layout = ({\n openApiJson,\n handleSave,\n setIsFormDirty,\n openApiErrors,\n}: ILayoutProps): JSX.Element => {\n const clonedOpenApiJson = structuredClone(openApiJson)\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\n const formik = useFormik<TransformedOpenApi>({\n initialValues: structuredClone(transformedOpenApi),\n validationSchema: schemaValidation,\n validateOnMount: true,\n onSubmit: (values, { validateForm, resetForm, setSubmitting }) => {\n // Handle save logic\n try {\n const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\n handleSave(originalOpenApiForm)\n resetForm({\n values: values, // You can reset it to the same values if you want\n })\n\n validateForm(values)\n } catch (err) {\n setSubmitting(false)\n }\n },\n })\n const { dirty, isValid, isSubmitting, values, setFieldValue, handleSubmit, errors } = formik\n const [isPublishDialogOpen, setIsPublishDialogOpen] = useState(false)\n\n const [openMethodIndex, setOpenMethodIndex] = useState<number | null>(null)\n\n useEffect(() => {\n if (setIsFormDirty) {\n setIsFormDirty(dirty)\n }\n }, [dirty])\n\n return (\n <div className={styles.docsLayout}>\n {dirty && (\n <Alert className={styles.apiDocAlert} color=\"warning\" severity=\"warning\">\n There are changes you made may not be saved\n </Alert>\n )}\n <div className={styles.layoutContainer}>\n <div className={`${styles.editorSide} ${styles.docSide}`}>\n <SectionHead\n className={styles.editorSectionHead_title}\n text={\n <div className={styles.editorSectionHead_content}>\n API Documentation\n <Button\n className={styles.methodForm_submitBtn}\n size=\"medium\"\n fullWidth={false}\n type=\"submit\"\n variant=\"contained\"\n color=\"primary\"\n onClick={() => setIsPublishDialogOpen(true)}\n disabled={!isValid || isSubmitting || !dirty}\n >\n Save\n </Button>\n </div>\n }\n />\n <FormikProvider value={formik}>\n <InfoForm />\n </FormikProvider>\n <SectionHead className={styles.editorSectionHead} text=\"Endpoints\" />\n <FormikProvider value={formik}>\n {values.paths.map((path, pathIndex) => (\n <>\n {path.methods\n .sort(\n (a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order\n )\n .map((method, methodIndex) => (\n <MethodsAccordion\n tags={values.tags}\n method={method}\n path={path.path}\n setFieldValue={(key, value) => {\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\n setFieldValue(h, value)\n }}\n isOpen={openMethodIndex === parseInt(`${pathIndex}${methodIndex}`)}\n setIsOpen={(open) =>\n setOpenMethodIndex(open ? parseInt(`${pathIndex}${methodIndex}`) : null)\n }\n errors={(formik.errors.paths?.[pathIndex] as any)?.methods?.[methodIndex]}\n />\n ))}\n </>\n ))}\n </FormikProvider>\n </div>\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\n {transformedOpenApi && (\n <FormikProvider value={formik}>\n <LivePreview transformedData={transformedOpenApi} openApiErrors={openApiErrors} />\n </FormikProvider>\n )}\n </div>\n </div>\n <CommonDialog\n status=\"warning\"\n content={\n <>\n <h5\n style={{\n fontWeight: 600,\n fontSize: '1.5rem',\n lineHeight: '1.875rem',\n color: '#FAAD14',\n textAlign: 'center',\n margin: 0,\n }}\n >\n Publish Changes\n </h5>\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n >\n Are you sure to Publish the changes?\n </p>\n </>\n }\n onSubmit={{\n onClick: () => {\n handleSubmit()\n setIsPublishDialogOpen(false)\n },\n text: 'Publish',\n color: 'warning',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'action',\n fullWidth: true,\n variant: 'outlined',\n }}\n onClose={() => setIsPublishDialogOpen(false)}\n open={isPublishDialogOpen}\n />\n </div>\n )\n}\n\nexport default Layout\n"],"names":["Layout","openApiJson","handleSave","setIsFormDirty","openApiErrors","clonedOpenApiJson","structuredClone","transformedOpenApi","transformOpenApiObject","formik","useFormik","initialValues","validationSchema","schemaValidation","validateOnMount","onSubmit","values","validateForm","resetForm","setSubmitting","originalOpenApiForm","transformOpenApiObjectToOrigin","err","dirty","isValid","isSubmitting","setFieldValue","handleSubmit","errors","isPublishDialogOpen","setIsPublishDialogOpen","useState","openMethodIndex","setOpenMethodIndex","useEffect","React","createElement","className","styles","docsLayout","Alert","apiDocAlert","color","severity","layoutContainer","editorSide","docSide","SectionHead","editorSectionHead_title","text","editorSectionHead_content","Button","methodForm_submitBtn","size","fullWidth","type","variant","onClick","disabled","FormikProvider","value","InfoForm","editorSectionHead","paths","map","path","pathIndex","Fragment","methods","sort","a","b","methodColorMapping","order","method","methodIndex","MethodsAccordion","tags","key","isOpen","parseInt","setIsOpen","open","_c","_b","_a","livePreviewSide","LivePreview","transformedData","CommonDialog","status","content","style","fontWeight","fontSize","lineHeight","textAlign","margin","onCancel","onClose"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import './style.scss';
|
|
2
3
|
type ChipItemType = {
|
|
3
4
|
id: number | string;
|
|
@@ -12,5 +13,5 @@ export type CustomChipsType = {
|
|
|
12
13
|
onDelete?: (items: ChipItemType[]) => void;
|
|
13
14
|
onClick?: (item: ChipItemType) => void;
|
|
14
15
|
};
|
|
15
|
-
declare const Chips: ({ className, items, onDelete, onClick }: CustomChipsType) =>
|
|
16
|
+
declare const Chips: ({ className, items, onDelete, onClick }: CustomChipsType) => React.JSX.Element;
|
|
16
17
|
export default Chips;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
declare const JsonInput: ({ placeholder, label, value, onValidation, onChange, dataId, className, errorMessage, acceptType, fieldIsDisabled, withFooter, }: {
|
|
2
3
|
placeholder: any;
|
|
3
4
|
label: any;
|
|
@@ -10,5 +11,5 @@ declare const JsonInput: ({ placeholder, label, value, onValidation, onChange, d
|
|
|
10
11
|
acceptType?: string;
|
|
11
12
|
fieldIsDisabled: any;
|
|
12
13
|
withFooter?: boolean;
|
|
13
|
-
}) =>
|
|
14
|
+
}) => React.JSX.Element;
|
|
14
15
|
export default JsonInput;
|
|
@@ -9,5 +9,5 @@ declare const MethodsAccordion: ({ method, path, setFieldValue, readOnly, tags,
|
|
|
9
9
|
isOpen: boolean;
|
|
10
10
|
setIsOpen: (open: boolean) => void;
|
|
11
11
|
errors?: string;
|
|
12
|
-
}) => import("react
|
|
12
|
+
}) => import("react").JSX.Element;
|
|
13
13
|
export default MethodsAccordion;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import './style.scss';
|
|
2
3
|
import { CommonDialogProps } from './dialog';
|
|
3
|
-
declare const CommonDialog: ({ status, content, onSubmit, onCancel, onClose, open, size, icon, noActions, closeIcon, }: CommonDialogProps) =>
|
|
4
|
+
declare const CommonDialog: ({ status, content, onSubmit, onCancel, onClose, open, size, icon, noActions, closeIcon, }: CommonDialogProps) => React.JSX.Element;
|
|
4
5
|
export default CommonDialog;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import './style.scss';
|
|
2
3
|
declare const ParamterTable: ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly, isRequest, }: {
|
|
3
4
|
id: any;
|
|
@@ -8,5 +9,5 @@ declare const ParamterTable: ({ id, headCells, data, isFormOpen, setIsFormOpen,
|
|
|
8
9
|
saveNewRow: any;
|
|
9
10
|
readOnly: any;
|
|
10
11
|
isRequest?: boolean;
|
|
11
|
-
}) =>
|
|
12
|
+
}) => React.JSX.Element;
|
|
12
13
|
export default ParamterTable;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
2
|
export declare enum SectionEnum {
|
|
3
3
|
OVERVIEW = "overview",
|
|
4
4
|
RESOURCE = "resource",
|
|
@@ -33,5 +33,5 @@ interface GenerateSectionKeyParams {
|
|
|
33
33
|
id?: string | number;
|
|
34
34
|
}
|
|
35
35
|
export declare const useSectionToggle: () => SectionToggleContextType;
|
|
36
|
-
export declare const SectionToggleProvider: ({ children }: SectionToggleProviderProps) =>
|
|
36
|
+
export declare const SectionToggleProvider: ({ children }: SectionToggleProviderProps) => React.JSX.Element;
|
|
37
37
|
export {};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,27 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
apiSpecId: string;
|
|
4
|
-
contextPath: string;
|
|
5
|
-
apiVersions: {
|
|
6
|
-
addVersionToContextPath: boolean;
|
|
7
|
-
apiSpecId: string;
|
|
8
|
-
name: string;
|
|
9
|
-
metaData: {
|
|
10
|
-
version: string;
|
|
11
|
-
};
|
|
12
|
-
}[];
|
|
13
|
-
associatedProduct: {
|
|
14
|
-
availableOnDevPortal: boolean;
|
|
15
|
-
name: string;
|
|
16
|
-
premium: boolean;
|
|
17
|
-
productId: number;
|
|
18
|
-
};
|
|
19
|
-
metaData: {
|
|
20
|
-
version: string;
|
|
21
|
-
apiVersionOf: string;
|
|
22
|
-
openApiJson: OpenAPIFile;
|
|
23
|
-
tags: string[];
|
|
24
|
-
createdDateTime: string;
|
|
25
|
-
lastUpdatedDateTime: string;
|
|
26
|
-
};
|
|
27
|
-
}
|
|
1
|
+
export { default as Layout } from './layout/layout';
|
|
2
|
+
export { default as DocsLayout } from './layout/docsLayout';
|
|
@@ -8,5 +8,5 @@ declare const DocsContent: ({ data, activeType, setActiveItemData, setActiveType
|
|
|
8
8
|
setActiveType: React.Dispatch<React.SetStateAction<"OVERVIEW" | "ENDPOINT">>;
|
|
9
9
|
onProductNavigate?: (productId: number) => void;
|
|
10
10
|
apis: OverviewData[];
|
|
11
|
-
}) =>
|
|
11
|
+
}) => React.JSX.Element;
|
|
12
12
|
export default DocsContent;
|
|
@@ -4,4 +4,4 @@ export declare const EndpointPage: ({ data, setActiveType, setActiveItemData, }:
|
|
|
4
4
|
data: EndpointData;
|
|
5
5
|
setActiveType: React.Dispatch<React.SetStateAction<"OVERVIEW" | "ENDPOINT">>;
|
|
6
6
|
setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>;
|
|
7
|
-
}) => import("react
|
|
7
|
+
}) => import("react").JSX.Element;
|
|
@@ -7,4 +7,4 @@ export declare const OverviewPage: ({ data, setActiveItemData, setActiveType, on
|
|
|
7
7
|
setActiveType: React.Dispatch<React.SetStateAction<"OVERVIEW" | "ENDPOINT">>;
|
|
8
8
|
onProductNavigate?: (productId: number) => void;
|
|
9
9
|
apis: OverviewData[];
|
|
10
|
-
}) =>
|
|
10
|
+
}) => React.JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { OverviewData } from '../../../../src/layout/docsLayout';
|
|
2
3
|
declare const DocsHeader: ({ transformedOpenApis, updateFilteredData, }: {
|
|
3
4
|
transformedOpenApis: OverviewData[];
|
|
4
5
|
updateFilteredData: (filteredItems: OverviewData[], isReset?: boolean) => void;
|
|
5
|
-
}) =>
|
|
6
|
+
}) => React.JSX.Element;
|
|
6
7
|
export default DocsHeader;
|
|
@@ -14,5 +14,5 @@ declare const DocsSideMenuTree: ({ apis, setActiveItemData, isFirstApiExpanded,
|
|
|
14
14
|
setCanFocusSection: React.Dispatch<React.SetStateAction<boolean>>;
|
|
15
15
|
activeApiId: string;
|
|
16
16
|
setCanSelectFirstApi: React.Dispatch<React.SetStateAction<boolean>>;
|
|
17
|
-
}) =>
|
|
17
|
+
}) => React.JSX.Element;
|
|
18
18
|
export default DocsSideMenuTree;
|
package/package.json
CHANGED
package/rollup.config.js
CHANGED
|
@@ -4,18 +4,52 @@ import typescript from '@rollup/plugin-typescript'
|
|
|
4
4
|
import postcss from 'rollup-plugin-postcss'
|
|
5
5
|
import { terser } from 'rollup-plugin-terser'
|
|
6
6
|
import url from '@rollup/plugin-url'
|
|
7
|
-
import sass from 'rollup-plugin-sass'
|
|
8
7
|
import json from '@rollup/plugin-json'
|
|
8
|
+
import fs from 'fs'
|
|
9
|
+
import path from 'path'
|
|
10
|
+
|
|
11
|
+
// Helper to rename .module.scss → .scss in dist
|
|
12
|
+
function renameModuleScss() {
|
|
13
|
+
return {
|
|
14
|
+
name: 'rename-module-scss',
|
|
15
|
+
generateBundle() {
|
|
16
|
+
const distFolder = path.resolve(__dirname, 'dist')
|
|
17
|
+
function walk(dir) {
|
|
18
|
+
fs.readdirSync(dir).forEach((file) => {
|
|
19
|
+
const fullPath = path.join(dir, file)
|
|
20
|
+
if (fs.statSync(fullPath).isDirectory()) walk(fullPath)
|
|
21
|
+
else if (file.endsWith('.module.scss')) {
|
|
22
|
+
const newPath = fullPath.replace('.module.scss', '.scss')
|
|
23
|
+
fs.renameSync(fullPath, newPath)
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
}
|
|
27
|
+
walk(distFolder)
|
|
28
|
+
},
|
|
29
|
+
}
|
|
30
|
+
}
|
|
9
31
|
|
|
10
32
|
export default {
|
|
11
33
|
input: 'src/index.ts',
|
|
12
|
-
output: [
|
|
34
|
+
output: [
|
|
35
|
+
{
|
|
36
|
+
dir: 'dist',
|
|
37
|
+
format: 'esm',
|
|
38
|
+
sourcemap: true,
|
|
39
|
+
preserveModules: true, // keeps your folder structure
|
|
40
|
+
},
|
|
41
|
+
],
|
|
13
42
|
plugins: [
|
|
14
43
|
resolve(),
|
|
15
44
|
commonjs(),
|
|
16
|
-
typescript({
|
|
45
|
+
typescript({
|
|
46
|
+
tsconfig: './tsconfig.json',
|
|
47
|
+
declaration: true,
|
|
48
|
+
declarationMap: false,
|
|
49
|
+
declarationDir: 'dist/types',
|
|
50
|
+
}),
|
|
17
51
|
postcss({
|
|
18
|
-
modules: false,
|
|
52
|
+
modules: false, // no CSS modules in dist
|
|
19
53
|
extract: 'style.css',
|
|
20
54
|
use: ['sass'],
|
|
21
55
|
minimize: true,
|
|
@@ -23,6 +57,7 @@ export default {
|
|
|
23
57
|
terser(),
|
|
24
58
|
url({ limit: 0 }),
|
|
25
59
|
json(),
|
|
60
|
+
renameModuleScss(),
|
|
26
61
|
],
|
|
27
62
|
external: ['react', 'react-dom'],
|
|
28
63
|
}
|