@digi-frontend/dgate-api-documentation 1.0.39 → 1.0.47
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/.editorconfig +12 -12
- package/.prettierignore +7 -7
- package/.prettierrc +15 -15
- package/dist/{a7568b270e175038.svg → 070dc6ecd197bc80.svg} +8 -8
- package/dist/16702d92fd6d1730.svg +6 -0
- package/dist/2b546d6e9fdf604a.svg +3 -0
- package/dist/2c3c6c2c3b835504.svg +5 -0
- package/dist/{43595976d1fdccbf.svg → 2e10bbdb265df50e.svg} +4 -4
- package/dist/55b5994c5781482b.svg +5 -0
- package/dist/60bef8083c55f46b.svg +6 -0
- package/dist/68c710e0583e19e6.svg +5 -0
- package/dist/731221b3f242672d.svg +4 -0
- package/dist/{b82c7612e73342f3.svg → 7f54eeb0bb2d1150.svg} +3 -3
- package/dist/8520b6792278d9df.svg +6 -0
- package/dist/{56dc416b683db280.svg → 8789eb84283ea95b.svg} +5 -5
- package/dist/9506ef7a26a74147.svg +12 -0
- package/dist/9b7aee27757b5036.svg +3 -0
- package/dist/{af16a554be8c4d69.svg → 9bdff13f8d8fa48a.svg} +3 -3
- package/dist/_virtual/index3.js +1 -1
- package/dist/_virtual/index4.js +1 -1
- package/dist/_virtual/index5.js +1 -1
- package/dist/{64efc2716808c4a4.svg → bb8b87cace25e052.svg} +3 -3
- package/dist/cceb1e5dc06b0b85.svg +4 -0
- package/dist/d140a601c85bac25.svg +3 -0
- package/dist/{72db3b05a96dd600.svg → d32ce84bbd78babd.svg} +3 -3
- package/dist/{844eba3f2e42a9eb.svg → d501922060662842.svg} +3 -3
- package/dist/d6d0a98ec38e6b77.svg +3 -0
- package/dist/e04479ad425e7d58.svg +4 -0
- package/dist/f4a32992f02af522.svg +5 -0
- package/dist/node_modules/dom-serializer/lib/foreignNames.js +2 -0
- package/dist/node_modules/dom-serializer/lib/foreignNames.js.map +1 -0
- package/dist/node_modules/dom-serializer/lib/index.js +2 -0
- package/dist/node_modules/dom-serializer/lib/index.js.map +1 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js +2 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +1 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +2 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +1 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js +2 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +1 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js +2 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +1 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +2 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +2 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +2 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +1 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js +2 -0
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +1 -0
- package/dist/node_modules/domhandler/lib/index.js +2 -0
- package/dist/node_modules/domhandler/lib/index.js.map +1 -0
- package/dist/node_modules/domhandler/lib/node.js +2 -0
- package/dist/node_modules/domhandler/lib/node.js.map +1 -0
- package/dist/node_modules/domutils/lib/feeds.js +2 -0
- package/dist/node_modules/domutils/lib/feeds.js.map +1 -0
- package/dist/node_modules/domutils/lib/helpers.js +2 -0
- package/dist/node_modules/domutils/lib/helpers.js.map +1 -0
- package/dist/node_modules/domutils/lib/index.js +2 -0
- package/dist/node_modules/domutils/lib/index.js.map +1 -0
- package/dist/node_modules/domutils/lib/legacy.js +2 -0
- package/dist/node_modules/domutils/lib/legacy.js.map +1 -0
- package/dist/node_modules/domutils/lib/manipulation.js +2 -0
- package/dist/node_modules/domutils/lib/manipulation.js.map +1 -0
- package/dist/node_modules/domutils/lib/querying.js +2 -0
- package/dist/node_modules/domutils/lib/querying.js.map +1 -0
- package/dist/node_modules/domutils/lib/stringify.js +2 -0
- package/dist/node_modules/domutils/lib/stringify.js.map +1 -0
- package/dist/node_modules/domutils/lib/traversal.js +2 -0
- package/dist/node_modules/domutils/lib/traversal.js.map +1 -0
- package/dist/node_modules/entities/dist/commonjs/decode-codepoint.js +2 -0
- package/dist/node_modules/entities/dist/commonjs/decode-codepoint.js.map +1 -0
- package/dist/node_modules/entities/dist/commonjs/decode.js +2 -0
- package/dist/node_modules/entities/dist/commonjs/decode.js.map +1 -0
- package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js +2 -0
- package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +1 -0
- package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +2 -0
- package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +1 -0
- package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js +1 -1
- package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js.map +1 -1
- package/dist/node_modules/html-react-parser/lib/index.js +1 -1
- package/dist/node_modules/html-react-parser/lib/index.js.map +1 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/Parser.js +1 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/Parser.js.map +1 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +1 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +1 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/index.js +1 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/index.js.map +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/AddRow.svg.js +1 -1
- package/dist/src/assets/icons/AddRow.svg.js.map +1 -1
- package/dist/src/assets/icons/ApiIcon.svg.js +2 -0
- package/dist/src/assets/icons/ApiIcon.svg.js.map +1 -0
- package/dist/src/assets/icons/ArrowBack.svg.js +2 -0
- package/dist/src/assets/icons/ArrowBack.svg.js.map +1 -0
- package/dist/src/assets/icons/BookIcon.svg.js +2 -0
- package/dist/src/assets/icons/BookIcon.svg.js.map +1 -0
- package/dist/src/assets/icons/CopySticker.svg.js +2 -0
- package/dist/src/assets/icons/CopySticker.svg.js.map +1 -0
- package/dist/src/assets/icons/DeleteIcon.svg.js +1 -1
- package/dist/src/assets/icons/DeleteIcon.svg.js.map +1 -1
- package/dist/src/assets/icons/DeleteOutlinedIcon.svg.js +2 -0
- package/dist/src/assets/icons/DeleteOutlinedIcon.svg.js.map +1 -0
- package/dist/src/assets/icons/DownArrow.svg.js +1 -1
- package/dist/src/assets/icons/DownArrow.svg.js.map +1 -1
- package/dist/src/assets/icons/EditIcon.svg.js +1 -1
- package/dist/src/assets/icons/EditIcon.svg.js.map +1 -1
- package/dist/src/assets/icons/FilterIcon.svg.js +2 -0
- package/dist/src/assets/icons/FilterIcon.svg.js.map +1 -0
- package/dist/src/assets/icons/Plus.svg.js +2 -0
- package/dist/src/assets/icons/Plus.svg.js.map +1 -0
- package/dist/src/assets/icons/PlusSquare.svg.js +2 -0
- package/dist/src/assets/icons/PlusSquare.svg.js.map +1 -0
- package/dist/src/assets/icons/RequestOption.svg.js +2 -0
- package/dist/src/assets/icons/RequestOption.svg.js.map +1 -0
- package/dist/src/assets/icons/arrowDownGray.svg.js +2 -0
- package/dist/src/assets/icons/arrowDownGray.svg.js.map +1 -0
- package/dist/src/assets/icons/arrowRightGray.svg.js +2 -0
- package/dist/src/assets/icons/arrowRightGray.svg.js.map +1 -0
- package/dist/src/assets/icons/close-circle.svg.js +2 -0
- package/dist/src/assets/icons/close-circle.svg.js.map +1 -0
- package/dist/src/assets/icons/document.svg.js +2 -0
- package/dist/src/assets/icons/document.svg.js.map +1 -0
- package/dist/src/assets/icons/eye.svg.js +2 -0
- package/dist/src/assets/icons/eye.svg.js.map +1 -0
- package/dist/src/assets/icons/infoIcon.svg.js +2 -0
- package/dist/src/assets/icons/infoIcon.svg.js.map +1 -0
- package/dist/src/assets/icons/searchIcon.svg.js +2 -0
- package/dist/src/assets/icons/searchIcon.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/JsonInput/JsonInput.js.map +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/MethodAccordion/MethodAccordion.js +1 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.js.map +1 -1
- package/dist/src/components/SVGLoader/SVGLoader.js.map +1 -1
- package/dist/src/components/SectionHead/SectionHead.js.map +1 -1
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js.map +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.map +1 -1
- package/dist/src/constants/index.js +1 -1
- package/dist/src/constants/index.js.map +1 -1
- package/dist/src/constants/methods.constant.js +2 -0
- package/dist/src/constants/methods.constant.js.map +1 -0
- package/dist/src/constants/regex.js.map +1 -1
- package/dist/src/helpers/layout.helper.js +1 -1
- package/dist/src/helpers/layout.helper.js.map +1 -1
- package/dist/src/helpers/methodAccordion.helper.js.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +2 -0
- package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +1 -0
- package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +2 -0
- package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +1 -0
- package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +2 -0
- package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +1 -0
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +2 -0
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +1 -0
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js +2 -0
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js.map +1 -0
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +2 -0
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +1 -0
- package/dist/src/layout/docsComponents/index.js +2 -0
- package/dist/src/layout/docsComponents/index.js.map +1 -0
- package/dist/src/layout/docsLayout.js +2 -0
- package/dist/src/layout/docsLayout.js.map +1 -0
- package/dist/src/layout/layout.js +1 -1
- package/dist/src/layout/layout.js.map +1 -1
- package/dist/src/validator/form.scheme.js +1 -1
- package/dist/src/validator/form.scheme.js.map +1 -1
- package/dist/styles.css +1436 -368
- package/dist/types/assets/icons/index.d.ts +16 -1
- package/dist/types/components/LivePreview/LivePreview.d.ts +1 -0
- package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +2 -1
- package/dist/types/components/dialog/dialog.d.ts +3 -0
- package/dist/types/components/table/table.d.ts +2 -1
- package/dist/types/constants/methods.constant.d.ts +16 -0
- package/dist/types/helpers/docs.helper.d.ts +3 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/layout/docsComponents/DocsAside/DocsAside.d.ts +3 -0
- package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +3 -0
- package/dist/types/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +2 -0
- package/dist/types/layout/docsComponents/DocsContent/TagPage/index.d.ts +2 -0
- package/dist/types/layout/docsComponents/DocsHeader/DocsHeader.d.ts +3 -0
- package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +8 -0
- package/dist/types/layout/docsComponents/index.d.ts +17 -0
- package/dist/types/layout/docsLayout.d.ts +33 -0
- package/dist/types/layout/layout.d.ts +2 -1
- package/dist/types/types/layout.type.d.ts +1 -0
- package/dist/types/types/openApi.d.ts +4 -4
- package/dist/types/validator/form.scheme.d.ts +10 -2
- package/package.json +45 -43
- package/rollup.config.js +35 -35
- package/src/assets/icons/AddRow.svg +3 -3
- package/src/assets/icons/ApiIcon.svg +12 -0
- package/src/assets/icons/ArrowBack.svg +3 -0
- package/src/assets/icons/BookIcon.svg +6 -0
- package/src/assets/icons/CheckMarkSquare.svg +5 -5
- package/src/assets/icons/CloseIcon.svg +4 -4
- package/src/assets/icons/CopySticker.svg +6 -0
- package/src/assets/icons/DeleteIcon.svg +3 -3
- package/src/assets/icons/DeleteOutlinedIcon.svg +8 -0
- package/src/assets/icons/DownArrow.svg +3 -3
- package/src/assets/icons/EditIcon.svg +3 -3
- package/src/assets/icons/FilterIcon.svg +4 -0
- package/src/assets/icons/Plus.svg +5 -0
- package/src/assets/icons/PlusSquare.svg +3 -0
- package/src/assets/icons/RequestOption.svg +5 -0
- package/src/assets/icons/UpArrow.svg +3 -3
- package/src/assets/icons/arrowDownGray.svg +3 -0
- package/src/assets/icons/arrowRightGray.svg +3 -0
- package/src/assets/icons/close-circle.svg +5 -0
- package/src/assets/icons/deleteOutlinedIcon.svg +8 -8
- package/src/assets/icons/document.svg +6 -0
- package/src/assets/icons/eye.svg +4 -0
- package/src/assets/icons/index.ts +23 -8
- package/src/assets/icons/infoIcon.svg +5 -0
- package/src/assets/icons/searchIcon.svg +4 -0
- package/src/components/Chips/Chips.tsx +87 -87
- package/src/components/Chips/style.scss +147 -147
- package/src/components/InfoForm/InfoForm.module.scss +165 -165
- package/src/components/InfoForm/InfoForm.tsx +423 -428
- package/src/components/JsonInput/JsonInput.tsx +149 -149
- package/src/components/JsonInput/style.module.scss +133 -133
- package/src/components/LivePreview/LivePreview.module.scss +180 -24
- package/src/components/LivePreview/LivePreview.tsx +226 -191
- package/src/components/MethodAccordion/MethodAccordion.module.scss +386 -338
- package/src/components/MethodAccordion/MethodAccordion.tsx +670 -514
- package/src/components/SVGLoader/SVGLoader.tsx +96 -94
- package/src/components/SectionHead/SectionHead.scss +29 -29
- package/src/components/SectionHead/SectionHead.tsx +22 -22
- package/src/components/SimpleLabelValue/SimpleLabelValue.tsx +31 -31
- package/src/components/SimpleLabelValue/index.ts +1 -1
- package/src/components/SimpleLabelValue/style.scss +30 -30
- package/src/components/Tooltip/Tooltip.scss +133 -133
- package/src/components/Tooltip/Tooltip.tsx +85 -85
- package/src/components/_global.scss +337 -337
- package/src/components/dialog/dialog.ts +57 -54
- package/src/components/dialog/index.tsx +86 -85
- package/src/components/dialog/style.scss +188 -104
- package/src/components/table/style.scss +217 -190
- package/src/components/table/table.tsx +489 -327
- package/src/components/table/tags-table.tsx +348 -348
- package/src/constants/index.ts +95 -93
- package/src/constants/methods.constant.ts +26 -0
- package/src/constants/regex.ts +7 -7
- package/src/global.d.ts +13 -13
- package/src/helpers/docs.helper.ts +28 -0
- package/src/helpers/layout.helper.ts +176 -174
- package/src/helpers/methodAccordion.helper.ts +19 -19
- package/src/index.ts +2 -1
- package/src/layout/docsComponents/DocsAside/DocsAside.tsx +8 -0
- package/src/layout/docsComponents/DocsAside/style.scss +3 -0
- package/src/layout/docsComponents/DocsContent/DocsContent.tsx +13 -0
- package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +183 -0
- package/src/layout/docsComponents/DocsContent/EndpointPage/style.scss +230 -0
- package/src/layout/docsComponents/DocsContent/TagPage/index.tsx +111 -0
- package/src/layout/docsComponents/DocsContent/TagPage/style.scss +246 -0
- package/src/layout/docsComponents/DocsContent/style.scss +0 -0
- package/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss +198 -0
- package/src/layout/docsComponents/DocsHeader/DocsHeader.tsx +119 -0
- package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +183 -0
- package/src/layout/docsComponents/DocsSideMenuTree/style.scss +195 -0
- package/src/layout/docsComponents/index.scss +47 -0
- package/src/layout/docsComponents/index.tsx +28 -0
- package/src/layout/docsLayout.tsx +69 -0
- package/src/layout/layout.module.css +61 -61
- package/src/layout/layout.tsx +162 -150
- package/src/types/layout.type.ts +31 -30
- package/src/types/openApi.ts +108 -108
- package/src/types/transformedOpenApi.ts +52 -52
- package/src/validator/form.scheme.ts +88 -70
- package/tsconfig.json +33 -33
- package/dist/_virtual/index20.js +0 -2
- package/dist/_virtual/index20.js.map +0 -1
- package/dist/_virtual/index21.js +0 -2
- package/dist/_virtual/index21.js.map +0 -1
- package/dist/_virtual/node2.js +0 -2
- package/dist/_virtual/node2.js.map +0 -1
- package/dist/_virtual/node3.js +0 -2
- package/dist/_virtual/node3.js.map +0 -1
- package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +0 -2
- package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js.map +0 -1
- package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +0 -2
- package/dist/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js.map +0 -1
- package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +0 -2
- package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/index.js.map +0 -1
- package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +0 -2
- package/dist/node_modules/html-react-parser/node_modules/domhandler/lib/node.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/index.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domhandler/lib/node.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/feeds.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/helpers.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/index.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/legacy.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/querying.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/stringify.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/domutils/lib/traversal.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +0 -1
- package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +0 -2
- package/dist/node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +0 -1
- package/dist/src/assets/icons/CheckMarkSquare.svg.js +0 -2
- package/dist/src/assets/icons/CheckMarkSquare.svg.js.map +0 -1
- package/dist/src/assets/icons/CloseIcon.svg.js +0 -2
- package/dist/src/assets/icons/CloseIcon.svg.js.map +0 -1
- package/dist/src/assets/icons/UpArrow.svg.js +0 -2
- package/dist/src/assets/icons/UpArrow.svg.js.map +0 -1
- package/dist/src/assets/icons/deleteOutlinedIcon.svg.js +0 -2
- package/dist/src/assets/icons/deleteOutlinedIcon.svg.js.map +0 -1
- package/dist/src/components/Chips/Chips.js +0 -2
- package/dist/src/components/Chips/Chips.js.map +0 -1
- package/dist/types/types/index.d.ts +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditIcon.svg.js","sources":["../../../../src/assets/icons/EditIcon.svg"],"sourcesContent":["export default \"
|
|
1
|
+
{"version":3,"file":"EditIcon.svg.js","sources":["../../../../src/assets/icons/EditIcon.svg"],"sourcesContent":["export default \"d32ce84bbd78babd.svg\""],"names":["EditIcon"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterIcon.svg.js","sources":["../../../../src/assets/icons/FilterIcon.svg"],"sourcesContent":["export default \"cceb1e5dc06b0b85.svg\""],"names":["FilterIcon"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Plus.svg.js","sources":["../../../../src/assets/icons/Plus.svg"],"sourcesContent":["export default \"2c3c6c2c3b835504.svg\""],"names":["PlusIcon"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlusSquare.svg.js","sources":["../../../../src/assets/icons/PlusSquare.svg"],"sourcesContent":["export default \"d6d0a98ec38e6b77.svg\""],"names":["PlusSquare"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RequestOption.svg.js","sources":["../../../../src/assets/icons/RequestOption.svg"],"sourcesContent":["export default \"68c710e0583e19e6.svg\""],"names":["RequestOption"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrowDownGray.svg.js","sources":["../../../../src/assets/icons/arrowDownGray.svg"],"sourcesContent":["export default \"9b7aee27757b5036.svg\""],"names":["arrowDownGray"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrowRightGray.svg.js","sources":["../../../../src/assets/icons/arrowRightGray.svg"],"sourcesContent":["export default \"d140a601c85bac25.svg\""],"names":["arrowRightGray"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close-circle.svg.js","sources":["../../../../src/assets/icons/close-circle.svg"],"sourcesContent":["export default \"55b5994c5781482b.svg\""],"names":["Closecircle"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.svg.js","sources":["../../../../src/assets/icons/document.svg"],"sourcesContent":["export default \"16702d92fd6d1730.svg\""],"names":["document"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eye.svg.js","sources":["../../../../src/assets/icons/eye.svg"],"sourcesContent":["export default \"731221b3f242672d.svg\""],"names":["eye"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"infoIcon.svg.js","sources":["../../../../src/assets/icons/infoIcon.svg"],"sourcesContent":["export default \"f4a32992f02af522.svg\""],"names":["InfoIcon"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchIcon.svg.js","sources":["../../../../src/assets/icons/searchIcon.svg"],"sourcesContent":["export default \"e04479ad425e7d58.svg\""],"names":["SearchIcon"],"mappings":"AAAA,IAAeA,EAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i,useEffect as t}from"react";import{useFormikContext as o}from"../../../node_modules/formik/dist/formik.esm.js";import{d as n}from"../../../_virtual/index.js";import s from"./InfoForm.module.scss.js";import l from"../../constants/regex.js";import r from"../Tooltip/Tooltip.js";import a from"../../assets/icons/DeleteIcon.svg.js";import d from"../../assets/icons/EditIcon.svg.js";import c from"../../assets/icons/
|
|
1
|
+
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as i,useEffect as t}from"react";import{useFormikContext as o}from"../../../node_modules/formik/dist/formik.esm.js";import{d as n}from"../../../_virtual/index.js";import s from"./InfoForm.module.scss.js";import l from"../../constants/regex.js";import r from"../Tooltip/Tooltip.js";import a from"../../assets/icons/DeleteIcon.svg.js";import d from"../../assets/icons/EditIcon.svg.js";import c from"../../assets/icons/DeleteOutlinedIcon.svg.js";import v from"../SVGLoader/SVGLoader.js";import m from"../dialog/index.js";import{tagsTableHeaders as u}from"../../constants/index.js";import p from"../table/tags-table.js";const g=({readOnly:g})=>{var x,h,j,D,f;const[b,C]=i([]),[y,N]=i(),[I,k]=i(""),[w,O]=i(""),[A,S]=i(""),{values:T,setFieldValue:B,errors:L}=o(),[_,E]=i({}),[z,W]=i({}),[R,V]=i(null),[F,P]=i(null),[$,q]=i(!1),[M,G]=i(!1);t((()=>{if(T&&T.components&&T.components.securitySchemes){const e=Object.keys(T.components.securitySchemes);if(e.length){const i=T.components.securitySchemes[e[0]].scheme||T.components.securitySchemes[e[0]].type;k(i&&"public"==i.toLowerCase()?"Keyless":i)}}}),[]),t((()=>{N(K(b))}),[b]),t((()=>{T.tags&&T.tags.length&&C(T.tags)}),[T.tags]);const H=(e,i,t)=>{const o=b.map(((o,n)=>n===t?Object.assign(Object.assign({},o),{[e]:i}):o));C(o)},K=i=>i.map(((i,t)=>{var o,c,m,u,p,x,h,j,D,f,b,C,y,N,I,k,L,R,F,$,M,G,K,J,Q,U,X,Y;return{id:t,tagName:i.name,description:e.jsxs("div",{className:s.paramDescContainer,children:[e.jsx(r,{allowHTML:!0,disabled:(null===(o=T.tags[t].description)||void 0===o?void 0:o.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:T.tags[t].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=z[t])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center",fontWeight:600,fontSize:"1rem"},children:[T.tags[t].description?T.tags[t].description.substring(0,12):g&&"-",T.tags[t].description&&T.tags[t].description.length>12?"...":""]})},`${t}-description`),e.jsx(r,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>W((i=>Object.assign(Object.assign({},i),{[t]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"Description"}),e.jsx(n.TextArea,{placeholder:"Describe tag...",value:i.description,disabled:g,onChange:e=>{(""===e||l.ASCII.test(e))&&H("description",e,t)},maxLength:25}),!g&&e.jsx(n.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,o;B(`tags[${t}].description`,null===(e=i.description)||void 0===e?void 0:e.trim()),null===(o=z[t])||void 0===o||o.hide()},disabled:!(null===(c=i.description)||void 0===c?void 0:c.trim()),children:"Apply"})]}),children:g||T.tags[t].description?e.jsx(n.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(v,{src:d,width:"1.5rem",height:"1.5rem"})}):e.jsx(n.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(v,{src:d,width:"1.5rem",height:"1.5rem"}),children:g||T.tags[t].description?"View Description":"Add Description"})})]}),externalDocs:e.jsxs("div",{className:s.paramDescContainer,children:[(null===(m=T.tags[t].externalDocs)||void 0===m?void 0:m.description)&&(null===(u=T.tags[t].externalDocs)||void 0===u?void 0:u.url)&&e.jsxs("a",{className:s.externalDocsLink,href:(null===(x=null===(p=T.tags[t])||void 0===p?void 0:p.externalDocs)||void 0===x?void 0:x.url)&&(null===(D=null===(j=null===(h=T.tags[t])||void 0===h?void 0:h.externalDocs)||void 0===j?void 0:j.url)||void 0===D?void 0:D.indexOf("http"))>-1?null===(b=null===(f=T.tags[t])||void 0===f?void 0:f.externalDocs)||void 0===b?void 0:b.url:`https://${null===(y=null===(C=T.tags[t])||void 0===C?void 0:C.externalDocs)||void 0===y?void 0:y.url}`,target:"_blank",style:(null===(N=T.tags[t].externalDocs)||void 0===N?void 0:N.description)?{}:{textDecoration:"none",pointerEvents:"none"},children:[(null===(I=T.tags[t].externalDocs)||void 0===I?void 0:I.description)?null===(L=null===(k=T.tags[t].externalDocs)||void 0===k?void 0:k.description)||void 0===L?void 0:L.substring(0,12):g&&"-",(null===(R=T.tags[t].externalDocs)||void 0===R?void 0:R.description)&&(null===($=null===(F=T.tags[t].externalDocs)||void 0===F?void 0:F.description)||void 0===$?void 0:$.length)>12?"...":""]}),e.jsx(r,{arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>E((i=>Object.assign(Object.assign({},i),{[t]:e}))),content:e.jsxs("div",{className:s.editDescTooltipContent,children:[e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Description"}),e.jsx(n.TextArea,{placeholder:"Describe External Doc...",value:null===(M=i.externalDocs)||void 0===M?void 0:M.description,disabled:g,maxLength:25,onChange:e=>{(""===e||l.ASCII.test(e))&&(H("externalDocs",Object.assign(Object.assign({},i.externalDocs),{description:e}),t),O(e))}}),e.jsx("p",{className:s.editDescTooltipContent_header,children:"External Docs Link"}),e.jsx(n.TextArea,{placeholder:"External Docs Link...",value:null===(G=i.externalDocs)||void 0===G?void 0:G.url,disabled:g,maxLength:200,restrictedCharsRegex:l.urlRegex,onChange:e=>{(""===e||l.ASCII.test(e))&&(H("externalDocs",Object.assign(Object.assign({},i.externalDocs),{url:e}),t),S(e))}}),!g&&e.jsx(n.Button,{className:s.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e;B(`tags[${t}].externalDocs`,{description:null==w?void 0:w.trim(),url:null==A?void 0:A.trim()}),O(""),S(""),null===(e=_[t])||void 0===e||e.hide()},disabled:!((null===(K=T.tags[t].externalDocs)||void 0===K?void 0:K.url)&&!(null==A?void 0:A.trim())||(null==A?void 0:A.trim())&&l.urlRegex.test(A)),children:"Apply"})]}),children:g||(null===(J=T.tags[t].externalDocs)||void 0===J?void 0:J.description)?e.jsx("div",{className:s.editExternalDocs,children:e.jsx(v,{src:d,width:"1.5rem",height:"1.5rem",onClick:e=>{var t,o;null==e||e.stopPropagation(),O(null===(t=i.externalDocs)||void 0===t?void 0:t.description),S(null===(o=i.externalDocs)||void 0===o?void 0:o.url)}})}):e.jsxs(n.Button,{className:s.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(v,{src:d,width:"1.5rem",height:"1.5rem"}),onClick:()=>{var e,t;O(null===(e=i.externalDocs)||void 0===e?void 0:e.description),S(null===(t=i.externalDocs)||void 0===t?void 0:t.url)},children:[g||(null===(Q=T.tags[t])||void 0===Q?void 0:Q.externalDocs)&&((null===(X=null===(U=T.tags[t])||void 0===U?void 0:U.externalDocs)||void 0===X?void 0:X.url)||(null===(Y=T.tags[t].externalDocs)||void 0===Y?void 0:Y.description))?"View ":"Add "," ","External Docs Link"]})}),!g&&e.jsx("div",{className:s.paramDescContainer_separator}),!g&&e.jsx(n.Button,{className:s.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(v,{src:a,width:"1.125rem",height:"1.125rem"}),onClick:()=>{return e=t,o=i.name,V(e),P(o),void q(!0);var e,o}})]})}}));return e.jsxs("form",{className:s.apiInfoForm,onSubmit:e=>e.preventDefault(),children:[e.jsx(n.Input,{size:"large",placeholder:"e.g. Payments",label:"API Name",required:!0,value:null===(x=null==T?void 0:T.info)||void 0===x?void 0:x.title,maxLength:35,onChange:e=>{B("info.title",e)},onClear:()=>{B("info.title","")},errorMsg:null===(h=null==L?void 0:L.info)||void 0===h?void 0:h.title,restrictedCharactersRegex:l.basic}),e.jsx("div",{className:s.apiDocRow,children:e.jsx(n.Input,{size:"large",label:"Version",required:!0,value:null===(j=null==T?void 0:T.info)||void 0===j?void 0:j.version,disabled:!0})}),e.jsx(n.TextArea,{size:"large",placeholder:"Enter a description of the API's functionality...",label:"Description",value:null===(D=null==T?void 0:T.info)||void 0===D?void 0:D.description,maxLength:120,required:!0,onChange:e=>{(""===e||l.ASCII.test(e))&&B("info.description",e)},onClear:()=>{B("info.description","")},errorMsg:null===(f=null==L?void 0:L.info)||void 0===f?void 0:f.description}),e.jsx("div",{className:s.paramsTable,children:e.jsx(p,{id:"paramter-table",data:y,headCells:u,isFormOpen:M,setIsFormOpen:G,saveNewRow:e=>{C([...b,e]);const i=T.tags||[];B("tags",[...i,e])},readOnly:g})}),e.jsx(m,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Tag ",e.jsx("strong",{children:F})]}),"?"]}),onSubmit:{onClick:()=>{var e;null!==R&&(C((e=>e.filter(((e,i)=>i!==R)))),B("tags",null===(e=T.tags)||void 0===e?void 0:e.filter(((e,i)=>i!==R)))),q(!1),V(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>q(!1),open:$,icon:e.jsx(v,{src:c,width:"4.0625rem",height:"4.0625rem"})})]})};export{g as default};
|
|
2
2
|
//# sourceMappingURL=InfoForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoForm.js","sources":["../../../../src/components/InfoForm/InfoForm.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\r\n// @ts-ignore\r\nimport { useFormikContext } from 'formik'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport styles from './InfoForm.module.scss'\r\nimport regex from '../../constants/regex'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { DeleteIcon, deleteOutlinedIcon, EditIcon } from '../../assets/icons'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport CommonDialog from '../../components/dialog'\r\nimport { tagsTableHeaders } from '../../constants/index'\r\nimport TagsTable from '../../components/table/tags-table'\r\n\r\nconst InfoForm = ({ readOnly }: { readOnly?: boolean }) => {\r\n const [tableData, setTableData] = useState([])\r\n const [tableRecords, setTableRecords] = useState()\r\n const [authType, setAuthType] = useState('')\r\n const [description, setDescription] = useState('')\r\n const [url, setURL] = useState('')\r\n const { values, setFieldValue, errors } = useFormikContext<TransformedOpenApi>()\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [selectedTagIndex, setSelectedTagIndex] = useState<number | null>(null)\r\n const [selectedTagName, setSelectedTagName] = useState<string | null>(null)\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [isFormOpen, setIsFormOpen] = useState(false)\r\n\r\n useEffect(() => {\r\n if (values && values.components && values.components.securitySchemes) {\r\n const authenticatorKeys = Object.keys(values.components.securitySchemes)\r\n if (authenticatorKeys.length) {\r\n const _authType = values.components.securitySchemes[authenticatorKeys[0]].scheme ||\r\n values.components.securitySchemes[authenticatorKeys[0]].type;\r\n \r\n setAuthType(\r\n _authType && _authType.toLowerCase() == 'public' ? 'Keyless': _authType \r\n )\r\n }\r\n }\r\n }, [])\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableRecords(tableData))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (values.tags && values.tags.length) {\r\n setTableData(values.tags)\r\n }\r\n }, [values.tags])\r\n\r\n const confirmDeleteTag = () => {\r\n if (selectedTagIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedTagIndex))\r\n setFieldValue(\r\n `tags`,\r\n values.tags?.filter((_, i) => i !== selectedTagIndex)\r\n )\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedTagIndex(null)\r\n }\r\n\r\n const capitalize = (str) => {\r\n if (!str) return ''\r\n return str.charAt(0).toUpperCase() + str.slice(1)\r\n }\r\n\r\n const onTableChange = (key, value, index) => {\r\n const newTableData = tableData.map((item, tIndex) => {\r\n if (tIndex === index) {\r\n return { ...item, [key]: value }\r\n } else {\r\n return item\r\n }\r\n })\r\n\r\n setTableData(newTableData)\r\n }\r\n\r\n const saveNewRow = (tag) => {\r\n setTableData([...tableData, tag])\r\n const oldTags = values.tags || []\r\n setFieldValue(`tags`, [...oldTags, tag])\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedTagIndex(id)\r\n setSelectedTagName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const generateTableRecords = (items) => {\r\n return items.map((item, index) => ({\r\n id: index,\r\n tagName: item.name,\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n key={`${index}-description`}\r\n allowHTML\r\n disabled={values.tags[index].description?.length <= 12}\r\n content={<div style={{ padding: '0.625rem' }}>{values.tags[index].description}</div>}\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n delay={[0, 0]}\r\n onShow={() => tooltipRefs[index]?.hide()}\r\n >\r\n <p style={{ alignSelf: 'center', fontWeight: 600, fontSize: '1rem' }}>\r\n {values.tags[index].description\r\n ? values.tags[index].description.substring(0, 12)\r\n : readOnly && '-'}\r\n {values.tags[index].description && values.tags[index].description.length > 12\r\n ? '...'\r\n : ''}\r\n </p>\r\n </Tooltip>\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n placeholder=\"Describe tag...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value))\r\n onTableChange('description', value, index)\r\n }}\r\n maxLength={25}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`tags[${index}].description`, item.description?.trim())\r\n tooltipRefs[index]?.hide()\r\n }}\r\n disabled={!item.description?.trim()}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly || values.tags[index].description ? (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n ></Button>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n >\r\n {readOnly || values.tags[index].description\r\n ? 'View Description'\r\n : 'Add Description'}\r\n </Button>\r\n )}\r\n </Tooltip>\r\n </div>\r\n ),\r\n externalDocs: (\r\n <div className={styles.paramDescContainer}>\r\n {values.tags[index].externalDocs?.description && values.tags[index].externalDocs?.url && (\r\n <a\r\n className={styles.externalDocsLink}\r\n href={values.tags[index]?.externalDocs?.url && values.tags[index]?.externalDocs?.url?.indexOf('http') > -1\r\n ? values.tags[index]?.externalDocs?.url\r\n : `https://${values.tags[index]?.externalDocs?.url}`}\r\n target=\"_blank\"\r\n style={\r\n !values.tags[index].externalDocs?.description\r\n ? { textDecoration: 'none', pointerEvents: 'none' }\r\n : {}\r\n }\r\n >\r\n {values.tags[index].externalDocs?.description\r\n ? values.tags[index].externalDocs?.description?.substring(0, 12)\r\n : readOnly && '-'}\r\n {values.tags[index].externalDocs?.description &&\r\n values.tags[index].externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </a>\r\n )}\r\n\r\n <Tooltip\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n trigger=\"click\"\r\n delay={[0, 0]}\r\n onCreate={(instance) =>\r\n setExternalTooltipRefs((prev) => ({\r\n ...prev,\r\n [index]: instance,\r\n }))\r\n }\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>External Docs Description</p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={item.externalDocs?.description}\r\n disabled={readOnly}\r\n maxLength={25}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) {\r\n onTableChange(\r\n 'externalDocs',\r\n { ...item.externalDocs, description: value },\r\n index\r\n )\r\n setDescription(value)\r\n }\r\n }}\r\n />\r\n <p className={styles.editDescTooltipContent_header}>External Docs Link</p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n value={item.externalDocs?.url}\r\n disabled={readOnly}\r\n maxLength={200}\r\n restrictedCharsRegex={regex.urlRegex}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) {\r\n onTableChange('externalDocs', { ...item.externalDocs, url: value }, index)\r\n setURL(value)\r\n }\r\n }}\r\n />\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n onClick={() => {\r\n setFieldValue(`tags[${index}].externalDocs`, {\r\n description: description?.trim(),\r\n url: url?.trim(),\r\n })\r\n setDescription('')\r\n setURL('')\r\n externalTooltipRefs[index]?.hide()\r\n }}\r\n disabled={\r\n !(\r\n (values.tags[index].externalDocs?.url && !url?.trim()) ||\r\n (url?.trim() && regex.urlRegex.test(url))\r\n )\r\n }\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly || values.tags[index].externalDocs?.description ? (\r\n <div className={styles.editExternalDocs}>\r\n <SVGLoader\r\n src={EditIcon}\r\n width=\"1.5rem\"\r\n height=\"1.5rem\"\r\n onClick={(e) => {\r\n e?.stopPropagation()\r\n setDescription(item.externalDocs?.description)\r\n setURL(item.externalDocs?.url)\r\n }}\r\n />\r\n </div>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\r\n onClick={() => {\r\n setDescription(item.externalDocs?.description)\r\n setURL(item.externalDocs?.url)\r\n }}\r\n >\r\n {readOnly ||\r\n (values.tags[index]?.externalDocs &&\r\n (values.tags[index]?.externalDocs?.url ||\r\n values.tags[index].externalDocs?.description))\r\n ? 'View '\r\n : 'Add '}{' '}\r\n External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\r\n\r\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\r\n onClick={() => handleDeleteClick(index, item.name)}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }))\r\n }\r\n\r\n return (\r\n <form className={styles.apiInfoForm} onSubmit={(e) => e.preventDefault()}>\r\n <Input\r\n size=\"large\"\r\n placeholder=\"e.g. Payments\"\r\n label=\"API Name\"\r\n required\r\n value={values?.info?.title}\r\n maxLength={35}\r\n onChange={(value) => {\r\n setFieldValue('info.title', value)\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.title', '')\r\n }}\r\n errorMsg={errors?.info?.title}\r\n restrictedCharactersRegex={regex.basic}\r\n />\r\n <div className={styles.apiDocRow}>\r\n <Input\r\n size=\"large\"\r\n label=\"API Authentication Type\"\r\n required\r\n value={capitalize(authType)}\r\n disabled\r\n />\r\n <Input size=\"large\" label=\"Version\" required value={values?.info?.version} disabled />\r\n </div>\r\n <TextArea\r\n size=\"large\"\r\n placeholder=\"Enter a description of the API's functionality...\"\r\n label=\"Description\"\r\n value={values?.info?.description}\r\n maxLength={120}\r\n required\r\n onChange={(value: string) => {\r\n if (value === '' || regex.ASCII.test(value)) {\r\n setFieldValue('info.description', value)\r\n }\r\n }}\r\n onClear={() => {\r\n setFieldValue('info.description', '')\r\n }}\r\n errorMsg={errors?.info?.description}\r\n />\r\n <div className={styles.paramsTable}>\r\n <TagsTable\r\n id=\"paramter-table\"\r\n data={tableRecords}\r\n headCells={tagsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n />\r\n </div>\r\n <CommonDialog\r\n status=\"error\"\r\n content={\r\n <p\r\n style={{\r\n textAlign: 'center',\r\n fontWeight: 400,\r\n fontSize: '1rem',\r\n lineHeight: '1.4375rem',\r\n }}\r\n className=\"delete-msg-container\"\r\n >\r\n Are you sure you want to delete\r\n <span className=\"plan-name\">\r\n {' '}\r\n Tag <strong>{selectedTagName}</strong>\r\n </span>\r\n ?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteTag,\r\n text: 'Delete',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\r\n color: 'normal',\r\n fullWidth: true,\r\n }}\r\n onClose={() => setOpenDeleteDialog(false)}\r\n open={openDeleteDialog}\r\n icon={<SVGLoader src={deleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\r\n />\r\n </form>\r\n )\r\n}\r\n\r\nexport default InfoForm\r\n"],"names":["InfoForm","readOnly","tableData","setTableData","useState","tableRecords","setTableRecords","authType","setAuthType","description","setDescription","url","setURL","values","setFieldValue","errors","useFormikContext","externalTooltipRefs","setExternalTooltipRefs","tooltipRefs","setTooltipRefs","selectedTagIndex","setSelectedTagIndex","selectedTagName","setSelectedTagName","openDeleteDialog","setOpenDeleteDialog","isFormOpen","setIsFormOpen","useEffect","components","securitySchemes","authenticatorKeys","Object","keys","length","_authType","scheme","type","toLowerCase","generateTableRecords","tags","onTableChange","key","value","index","newTableData","map","item","tIndex","assign","items","id","tagName","name","_jsxs","className","styles","paramDescContainer","children","_jsx","Tooltip","allowHTML","disabled","_a","content","style","padding","arrowWithBorder","placement","delay","onShow","hide","jsxs","alignSelf","fontWeight","fontSize","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","onChange","regex","ASCII","test","maxLength","jsx","Button","editDescTooltipContent_btn","variant","size","onClick","trim","_b","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","externalDocs","_c","_d","externalDocsLink","href","_f","_e","_j","_h","_g","indexOf","_l","_k","_o","_m","target","_p","textDecoration","pointerEvents","_s","_r","_t","_v","_u","_w","_x","restrictedCharsRegex","urlRegex","_y","_z","editExternalDocs","e","stopPropagation","_0","_2","_1","_3","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","apiInfoForm","onSubmit","preventDefault","Input","label","required","info","title","onClear","errorMsg","restrictedCharactersRegex","basic","apiDocRow","str","charAt","toUpperCase","slice","version","paramsTable","TagsTable","data","headCells","tagsTableHeaders","saveNewRow","tag","oldTags","CommonDialog","status","textAlign","lineHeight","filter","_","i","text","fullWidth","onCancel","onClose","open","icon","deleteOutlinedIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InfoForm.js","sources":["../../../../src/components/InfoForm/InfoForm.tsx"],"sourcesContent":["import { useEffect, useState } from 'react'\n// @ts-ignore\nimport { useFormikContext } from 'formik'\nimport { Button, Input, TextArea } from 'digitinary-ui'\nimport styles from './InfoForm.module.scss'\nimport regex from '../../constants/regex'\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\nimport Tooltip from '../../components/Tooltip/Tooltip'\nimport { DeleteIcon, DeleteOutlinedIcon, EditIcon } from '../../assets/icons'\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\nimport CommonDialog from '../../components/dialog'\nimport { tagsTableHeaders } from '../../constants/index'\nimport TagsTable from '../../components/table/tags-table'\n\nconst InfoForm = ({ readOnly }: { readOnly?: boolean }) => {\n const [tableData, setTableData] = useState([])\n const [tableRecords, setTableRecords] = useState()\n const [authType, setAuthType] = useState('')\n const [description, setDescription] = useState('')\n const [url, setURL] = useState('')\n const { values, setFieldValue, errors } = useFormikContext<TransformedOpenApi>()\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\n const [selectedTagIndex, setSelectedTagIndex] = useState<number | null>(null)\n const [selectedTagName, setSelectedTagName] = useState<string | null>(null)\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\n const [isFormOpen, setIsFormOpen] = useState(false)\n\n useEffect(() => {\n if (values && values.components && values.components.securitySchemes) {\n const authenticatorKeys = Object.keys(values.components.securitySchemes)\n if (authenticatorKeys.length) {\n const _authType =\n values.components.securitySchemes[authenticatorKeys[0]].scheme ||\n values.components.securitySchemes[authenticatorKeys[0]].type\n\n setAuthType(_authType && _authType.toLowerCase() == 'public' ? 'Keyless' : _authType)\n }\n }\n }, [])\n\n useEffect(() => {\n setTableRecords(generateTableRecords(tableData))\n }, [tableData])\n\n useEffect(() => {\n if (values.tags && values.tags.length) {\n setTableData(values.tags)\n }\n }, [values.tags])\n\n const confirmDeleteTag = () => {\n if (selectedTagIndex !== null) {\n setTableData((prev) => prev.filter((_, i) => i !== selectedTagIndex))\n setFieldValue(\n `tags`,\n values.tags?.filter((_, i) => i !== selectedTagIndex)\n )\n }\n setOpenDeleteDialog(false)\n setSelectedTagIndex(null)\n }\n\n const capitalize = (str) => {\n if (!str) return ''\n return str.charAt(0).toUpperCase() + str.slice(1)\n }\n\n const onTableChange = (key, value, index) => {\n const newTableData = tableData.map((item, tIndex) => {\n if (tIndex === index) {\n return { ...item, [key]: value }\n } else {\n return item\n }\n })\n\n setTableData(newTableData)\n }\n\n const saveNewRow = (tag) => {\n setTableData([...tableData, tag])\n const oldTags = values.tags || []\n setFieldValue(`tags`, [...oldTags, tag])\n }\n\n const handleDeleteClick = (id: number, name: string) => {\n setSelectedTagIndex(id)\n setSelectedTagName(name)\n\n setOpenDeleteDialog(true)\n }\n\n const generateTableRecords = (items) => {\n return items.map((item, index) => ({\n id: index,\n tagName: item.name,\n description: (\n <div className={styles.paramDescContainer}>\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={values.tags[index].description?.length <= 12}\n content={<div style={{ padding: '0.625rem' }}>{values.tags[index].description}</div>}\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n onShow={() => tooltipRefs[index]?.hide()}\n >\n <p style={{ alignSelf: 'center', fontWeight: 600, fontSize: '1rem' }}>\n {values.tags[index].description\n ? values.tags[index].description.substring(0, 12)\n : readOnly && '-'}\n {values.tags[index].description && values.tags[index].description.length > 12\n ? '...'\n : ''}\n </p>\n </Tooltip>\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>Description</p>\n <TextArea\n placeholder=\"Describe tag...\"\n value={item.description}\n disabled={readOnly}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value))\n onTableChange('description', value, index)\n }}\n maxLength={25}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(`tags[${index}].description`, item.description?.trim())\n tooltipRefs[index]?.hide()\n }}\n disabled={!item.description?.trim()}\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly || values.tags[index].description ? (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n ></Button>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n >\n {readOnly || values.tags[index].description\n ? 'View Description'\n : 'Add Description'}\n </Button>\n )}\n </Tooltip>\n </div>\n ),\n externalDocs: (\n <div className={styles.paramDescContainer}>\n {values.tags[index].externalDocs?.description && values.tags[index].externalDocs?.url && (\n <a\n className={styles.externalDocsLink}\n href={\n values.tags[index]?.externalDocs?.url &&\n values.tags[index]?.externalDocs?.url?.indexOf('http') > -1\n ? values.tags[index]?.externalDocs?.url\n : `https://${values.tags[index]?.externalDocs?.url}`\n }\n target=\"_blank\"\n style={\n !values.tags[index].externalDocs?.description\n ? { textDecoration: 'none', pointerEvents: 'none' }\n : {}\n }\n >\n {values.tags[index].externalDocs?.description\n ? values.tags[index].externalDocs?.description?.substring(0, 12)\n : readOnly && '-'}\n {values.tags[index].externalDocs?.description &&\n values.tags[index].externalDocs?.description?.length > 12\n ? '...'\n : ''}\n </a>\n )}\n\n <Tooltip\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n trigger=\"click\"\n delay={[0, 0]}\n onCreate={(instance) =>\n setExternalTooltipRefs((prev) => ({\n ...prev,\n [index]: instance,\n }))\n }\n content={\n <div className={styles.editDescTooltipContent}>\n <p className={styles.editDescTooltipContent_header}>External Docs Description</p>\n <TextArea\n placeholder=\"Describe External Doc...\"\n value={item.externalDocs?.description}\n disabled={readOnly}\n maxLength={25}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) {\n onTableChange(\n 'externalDocs',\n { ...item.externalDocs, description: value },\n index\n )\n setDescription(value)\n }\n }}\n />\n <p className={styles.editDescTooltipContent_header}>External Docs Link</p>\n <TextArea\n placeholder=\"External Docs Link...\"\n value={item.externalDocs?.url}\n disabled={readOnly}\n maxLength={200}\n restrictedCharsRegex={regex.urlRegex}\n onChange={(value) => {\n if (value === '' || regex.ASCII.test(value)) {\n onTableChange('externalDocs', { ...item.externalDocs, url: value }, index)\n setURL(value)\n }\n }}\n />\n {!readOnly && (\n <Button\n className={styles.editDescTooltipContent_btn}\n variant=\"outlined\"\n size=\"small\"\n onClick={() => {\n setFieldValue(`tags[${index}].externalDocs`, {\n description: description?.trim(),\n url: url?.trim(),\n })\n setDescription('')\n setURL('')\n externalTooltipRefs[index]?.hide()\n }}\n disabled={\n !(\n (values.tags[index].externalDocs?.url && !url?.trim()) ||\n (url?.trim() && regex.urlRegex.test(url))\n )\n }\n >\n Apply\n </Button>\n )}\n </div>\n }\n >\n {readOnly || values.tags[index].externalDocs?.description ? (\n <div className={styles.editExternalDocs}>\n <SVGLoader\n src={EditIcon}\n width=\"1.5rem\"\n height=\"1.5rem\"\n onClick={(e) => {\n e?.stopPropagation()\n setDescription(item.externalDocs?.description)\n setURL(item.externalDocs?.url)\n }}\n />\n </div>\n ) : (\n <Button\n className={styles.editDescBtn}\n variant=\"link\"\n color=\"action\"\n endIcon={<SVGLoader src={EditIcon} width=\"1.5rem\" height=\"1.5rem\" />}\n onClick={() => {\n setDescription(item.externalDocs?.description)\n setURL(item.externalDocs?.url)\n }}\n >\n {readOnly ||\n (values.tags[index]?.externalDocs &&\n (values.tags[index]?.externalDocs?.url ||\n values.tags[index].externalDocs?.description))\n ? 'View '\n : 'Add '}{' '}\n External Docs Link\n </Button>\n )}\n </Tooltip>\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n endIcon={<SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />}\n onClick={() => handleDeleteClick(index, item.name)}\n ></Button>\n )}\n </div>\n ),\n }))\n }\n\n return (\n <form className={styles.apiInfoForm} onSubmit={(e) => e.preventDefault()}>\n <Input\n size=\"large\"\n placeholder=\"e.g. Payments\"\n label=\"API Name\"\n required\n value={values?.info?.title}\n maxLength={35}\n onChange={(value) => {\n setFieldValue('info.title', value)\n }}\n onClear={() => {\n setFieldValue('info.title', '')\n }}\n errorMsg={errors?.info?.title}\n restrictedCharactersRegex={regex.basic}\n />\n <div className={styles.apiDocRow}>\n <Input size=\"large\" label=\"Version\" required value={values?.info?.version} disabled />\n </div>\n <TextArea\n size=\"large\"\n placeholder=\"Enter a description of the API's functionality...\"\n label=\"Description\"\n value={values?.info?.description}\n maxLength={120}\n required\n onChange={(value: string) => {\n if (value === '' || regex.ASCII.test(value)) {\n setFieldValue('info.description', value)\n }\n }}\n onClear={() => {\n setFieldValue('info.description', '')\n }}\n errorMsg={errors?.info?.description}\n />\n <div className={styles.paramsTable}>\n <TagsTable\n id=\"paramter-table\"\n data={tableRecords}\n headCells={tagsTableHeaders}\n isFormOpen={isFormOpen}\n setIsFormOpen={setIsFormOpen}\n saveNewRow={saveNewRow}\n readOnly={readOnly}\n />\n </div>\n <CommonDialog\n status=\"error\"\n content={\n <p\n style={{\n textAlign: 'center',\n fontWeight: 400,\n fontSize: '1rem',\n lineHeight: '1.4375rem',\n }}\n className=\"delete-msg-container\"\n >\n Are you sure you want to delete\n <span className=\"plan-name\">\n {' '}\n Tag <strong>{selectedTagName}</strong>\n </span>\n ?\n </p>\n }\n onSubmit={{\n onClick: confirmDeleteTag,\n text: 'Delete',\n color: 'error',\n fullWidth: true,\n }}\n onCancel={{\n text: 'Cancel',\n color: 'normal',\n fullWidth: true,\n }}\n onClose={() => setOpenDeleteDialog(false)}\n open={openDeleteDialog}\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\n />\n </form>\n )\n}\n\nexport default InfoForm\n"],"names":["InfoForm","readOnly","tableData","setTableData","useState","tableRecords","setTableRecords","authType","setAuthType","description","setDescription","url","setURL","values","setFieldValue","errors","useFormikContext","externalTooltipRefs","setExternalTooltipRefs","tooltipRefs","setTooltipRefs","selectedTagIndex","setSelectedTagIndex","selectedTagName","setSelectedTagName","openDeleteDialog","setOpenDeleteDialog","isFormOpen","setIsFormOpen","useEffect","components","securitySchemes","authenticatorKeys","Object","keys","length","_authType","scheme","type","toLowerCase","generateTableRecords","tags","onTableChange","key","value","index","newTableData","map","item","tIndex","assign","items","id","tagName","name","_jsxs","className","styles","paramDescContainer","children","_jsx","Tooltip","allowHTML","disabled","_a","content","style","padding","arrowWithBorder","placement","delay","onShow","hide","jsxs","alignSelf","fontWeight","fontSize","substring","trigger","onCreate","instance","prev","editDescTooltipContent","editDescTooltipContent_header","TextArea","placeholder","onChange","regex","ASCII","test","maxLength","jsx","Button","editDescTooltipContent_btn","variant","size","onClick","trim","_b","editDescBtn","color","endIcon","SVGLoader","src","EditIcon","width","height","externalDocs","_c","_d","externalDocsLink","href","_f","_e","_j","_g","_h","indexOf","_l","_k","_o","_m","target","_p","textDecoration","pointerEvents","_s","_r","_t","_v","_u","_w","_x","restrictedCharsRegex","urlRegex","_y","_z","editExternalDocs","e","stopPropagation","_0","_2","_1","_3","paramDescContainer_separator","deleteParamBtn","DeleteIcon","handleDeleteClick","apiInfoForm","onSubmit","preventDefault","Input","label","required","info","title","onClear","errorMsg","restrictedCharactersRegex","basic","apiDocRow","version","paramsTable","TagsTable","data","headCells","tagsTableHeaders","saveNewRow","tag","oldTags","CommonDialog","status","textAlign","lineHeight","filter","_","i","text","fullWidth","onCancel","onClose","open","icon","DeleteOutlinedIcon"],"mappings":"4qBAcA,MAAMA,EAAW,EAAGC,6BAClB,MAAOC,EAAWC,GAAgBC,EAAS,KACpCC,EAAcC,GAAmBF,KACjCG,EAAUC,GAAeJ,EAAS,KAClCK,EAAaC,GAAkBN,EAAS,KACxCO,EAAKC,GAAUR,EAAS,KACzBS,OAAEA,EAAMC,cAAEA,EAAaC,OAAEA,GAAWC,KACnCC,EAAqBC,GAA0Bd,EAAiC,CAAE,IAClFe,EAAaC,GAAkBhB,EAAiC,CAAE,IAClEiB,EAAkBC,GAAuBlB,EAAwB,OACjEmB,EAAiBC,GAAsBpB,EAAwB,OAC/DqB,EAAkBC,GAAuBtB,GAAS,IAClDuB,EAAYC,GAAiBxB,GAAS,GAE7CyB,GAAU,KACR,GAAIhB,GAAUA,EAAOiB,YAAcjB,EAAOiB,WAAWC,gBAAiB,CACpE,MAAMC,EAAoBC,OAAOC,KAAKrB,EAAOiB,WAAWC,iBACxD,GAAIC,EAAkBG,OAAQ,CAC5B,MAAMC,EACJvB,EAAOiB,WAAWC,gBAAgBC,EAAkB,IAAIK,QACxDxB,EAAOiB,WAAWC,gBAAgBC,EAAkB,IAAIM,KAE1D9B,EAAY4B,GAAwC,UAA3BA,EAAUG,cAA4B,UAAYH,EAC5E,CACF,IACA,IAEHP,GAAU,KACRvB,EAAgBkC,EAAqBtC,GAAW,GAC/C,CAACA,IAEJ2B,GAAU,KACJhB,EAAO4B,MAAQ5B,EAAO4B,KAAKN,QAC7BhC,EAAaU,EAAO4B,KACrB,GACA,CAAC5B,EAAO4B,OAEX,MAiBMC,EAAgB,CAACC,EAAKC,EAAOC,KACjC,MAAMC,EAAe5C,EAAU6C,KAAI,CAACC,EAAMC,IACpCA,IAAWJ,EACbZ,OAAAiB,OAAAjB,OAAAiB,OAAA,CAAA,EAAYF,GAAM,CAAAL,CAACA,GAAMC,IAElBI,IAIX7C,EAAa2C,EAAa,EAgBtBN,EAAwBW,GACrBA,EAAMJ,KAAI,CAACC,EAAMH,iEAAU,MAAC,CACjCO,GAAIP,EACJQ,QAASL,EAAKM,KACd7C,YACE8C,EAAAA,KAAA,MAAA,CAAKC,UAAWC,EAAOC,mBACrBC,SAAA,CAAAC,MAACC,EAAO,CAENC,WACA,EAAAC,kBAAUC,EAAAnD,EAAO4B,KAAKI,GAAOpC,kCAAa0B,SAAU,GACpD8B,QAASL,aAAKM,MAAO,CAAEC,QAAS,YAAeR,SAAA9C,EAAO4B,KAAKI,GAAOpC,cAClE2D,iBACA,EAAAC,UAAU,aACV/B,KAAK,WACLgC,MAAO,CAAC,EAAG,GACXC,OAAQ,KAAM,IAAAP,EAAA,OAAkB,QAAlBA,EAAA7C,EAAY0B,UAAM,IAAAmB,OAAA,EAAAA,EAAEQ,MAAM,EAAAb,SAExCJ,EAAGkB,KAAA,IAAA,CAAAP,MAAO,CAAEQ,UAAW,SAAUC,WAAY,IAAKC,SAAU,QACzDjB,SAAA,CAAA9C,EAAO4B,KAAKI,GAAOpC,YAChBI,EAAO4B,KAAKI,GAAOpC,YAAYoE,UAAU,EAAG,IAC5C5E,GAAY,IACfY,EAAO4B,KAAKI,GAAOpC,aAAeI,EAAO4B,KAAKI,GAAOpC,YAAY0B,OAAS,GACvE,MACA,OAhBD,GAAGU,iBAmBVe,EAAAA,IAACC,EACC,CAAAO,mBACAC,UAAU,aACV/B,KAAK,WACLwC,QAAQ,QACRR,MAAO,CAAC,EAAG,GACXS,SAAWC,GACT5D,GAAgB6D,GAAShD,OAAAiB,OAAAjB,OAAAiB,OAAA,CAAA,EACpB+B,GACH,CAAApC,CAACA,GAAQmC,MAGbf,QACEV,cAAKC,UAAWC,EAAOyB,iCACrBtB,EAAAA,IAAG,IAAA,CAAAJ,UAAWC,EAAO0B,uDACrBvB,EAAAA,IAACwB,EAAAA,SACC,CAAAC,YAAY,kBACZzC,MAAOI,EAAKvC,YACZsD,SAAU9D,EACVqF,SAAW1C,KACK,KAAVA,GAAgB2C,EAAMC,MAAMC,KAAK7C,KACnCF,EAAc,cAAeE,EAAOC,EAAM,EAE9C6C,UAAW,MAEXzF,GACA2D,EAAC+B,IAAAC,UACCpC,UAAWC,EAAOoC,2BAClBC,QAAQ,WACRC,KAAK,QACLC,QAAS,aACPlF,EAAc,QAAQ+B,iBAAsC,QAAhBmB,EAAAhB,EAAKvC,mBAAW,IAAAuD,OAAA,EAAAA,EAAEiC,QAC1C,QAApBC,EAAA/E,EAAY0B,UAAQ,IAAAqD,GAAAA,EAAA1B,MAAM,EAE5BT,WAA2B,UAAhBf,EAAKvC,mBAAW,IAAAyF,OAAA,EAAAA,EAAED,QAGtBtC,SAAA,aAEPA,SAGP1D,GAAYY,EAAO4B,KAAKI,GAAOpC,YAC9BmD,EAAA+B,IAACC,EAAMA,OAAA,CACLpC,UAAWC,EAAO0C,YAClBL,QAAQ,OACRM,MAAM,SACNC,QAASzC,EAAA+B,IAACW,EAAS,CAACC,IAAKC,EAAUC,MAAM,SAASC,OAAO,aAG3D9C,EAAAA,IAACgC,EAAAA,OACC,CAAApC,UAAWC,EAAO0C,YAClBL,QAAQ,OACRM,MAAM,SACNC,QAASzC,EAAAA,IAAC0C,EAAU,CAAAC,IAAKC,EAAUC,MAAM,SAASC,OAAO,WAExD/C,SAAA1D,GAAYY,EAAO4B,KAAKI,GAAOpC,YAC5B,mBACA,yBAMdkG,aACEpD,EAAAA,KAAA,MAAA,CAAKC,UAAWC,EAAOC,mBAAkBC,SAAA,EACP,QAA/BiD,EAAA/F,EAAO4B,KAAKI,GAAO8D,oBAAY,IAAAC,OAAA,EAAAA,EAAEnG,eAAgD,QAAjCoG,EAAAhG,EAAO4B,KAAKI,GAAO8D,oBAAc,IAAAE,OAAA,EAAAA,EAAAlG,MAChF4C,EAAAA,KAAA,IAAA,CACEC,UAAWC,EAAOqD,iBAClBC,MACkC,QAAhCC,EAAkB,QAAlBC,EAAApG,EAAO4B,KAAKI,UAAM,IAAAoE,OAAA,EAAAA,EAAEN,oBAAY,IAAAK,OAAA,EAAAA,EAAErG,eAClCuG,EAAkC,UAAhB,QAAlBC,EAAAtG,EAAO4B,KAAKI,UAAM,IAAAsE,OAAA,EAAAA,EAAER,oBAAc,IAAAS,OAAA,EAAAA,EAAAzG,0BAAK0G,QAAQ,UAAW,EACtB,QAAhCC,EAAkB,QAAlBC,EAAA1G,EAAO4B,KAAKI,UAAM,IAAA0E,OAAA,EAAAA,EAAEZ,oBAAY,IAAAW,OAAA,EAAAA,EAAE3G,IAClC,WAA6C,QAAlC6G,EAAoB,QAApBC,EAAA5G,EAAO4B,KAAKI,UAAQ,IAAA4E,OAAA,EAAAA,EAAAd,oBAAc,IAAAa,OAAA,EAAAA,EAAA7G,MAEnD+G,OAAO,SACPxD,OACkC,UAA/BrD,EAAO4B,KAAKI,GAAO8D,oBAAY,IAAAgB,OAAA,EAAAA,EAAElH,aAE9B,CAAE,EADF,CAAEmH,eAAgB,OAAQC,cAAe,QAI9ClE,SAAA,YAAA9C,EAAO4B,KAAKI,GAAO8D,mCAAclG,aACgB,QAA9CqH,EAA+B,QAA/BC,EAAAlH,EAAO4B,KAAKI,GAAO8D,oBAAY,IAAAoB,OAAA,EAAAA,EAAEtH,mBAAa,IAAAqH,OAAA,EAAAA,EAAAjD,UAAU,EAAG,IAC3D5E,GAAY,aACf+H,EAAAnH,EAAO4B,KAAKI,GAAO8D,mCAAclG,eACY,QAA9CwH,EAAiC,QAAjCC,EAAArH,EAAO4B,KAAKI,GAAO8D,oBAAc,IAAAuB,OAAA,EAAAA,EAAAzH,mBAAa,IAAAwH,OAAA,EAAAA,EAAA9F,QAAS,GACnD,MACA,MAIRyB,EAAAA,IAACC,EACC,CAAAO,iBACA,EAAAC,UAAU,aACV/B,KAAK,WACLwC,QAAQ,QACRR,MAAO,CAAC,EAAG,GACXS,SAAWC,GACT9D,GAAwB+D,GACnBhD,OAAAiB,OAAAjB,OAAAiB,OAAA,CAAA,EAAA+B,GACH,CAAApC,CAACA,GAAQmC,MAGbf,QACEV,EAAKkB,KAAA,MAAA,CAAAjB,UAAWC,EAAOyB,iCACrBtB,EAAAA,IAAG,IAAA,CAAAJ,UAAWC,EAAO0B,8BAA4DxB,SAAA,8BACjFC,MAACwB,EAAAA,SACC,CAAAC,YAAY,2BACZzC,MAA0B,QAAnBuF,EAAAnF,EAAK2D,oBAAc,IAAAwB,OAAA,EAAAA,EAAA1H,YAC1BsD,SAAU9D,EACVyF,UAAW,GACXJ,SAAW1C,KACK,KAAVA,GAAgB2C,EAAMC,MAAMC,KAAK7C,MACnCF,EACE,eACKT,OAAAiB,OAAAjB,OAAAiB,OAAA,CAAA,EAAAF,EAAK2D,cAAc,CAAAlG,YAAamC,IACrCC,GAEFnC,EAAekC,GAChB,IAGLgB,EAAAA,IAAG,IAAA,CAAAJ,UAAWC,EAAO0B,8BAAqDxB,SAAA,uBAC1EC,MAACwB,WAAQ,CACPC,YAAY,wBACZzC,MAA0B,UAAnBI,EAAK2D,oBAAc,IAAAyB,OAAA,EAAAA,EAAAzH,IAC1BoD,SAAU9D,EACVyF,UAAW,IACX2C,qBAAsB9C,EAAM+C,SAC5BhD,SAAW1C,KACK,KAAVA,GAAgB2C,EAAMC,MAAMC,KAAK7C,MACnCF,EAAc,eAAqBT,OAAAiB,OAAAjB,OAAAiB,OAAA,CAAA,EAAAF,EAAK2D,cAAc,CAAAhG,IAAKiC,IAASC,GACpEjC,EAAOgC,GACR,KAGH3C,GACA2D,EAAAA,IAACgC,EAAAA,OAAM,CACLpC,UAAWC,EAAOoC,2BAClBC,QAAQ,WACRC,KAAK,QACLC,QAAS,WACPlF,EAAc,QAAQ+B,kBAAuB,CAC3CpC,YAAaA,eAAAA,EAAawF,OAC1BtF,IAAKA,eAAAA,EAAKsF,SAEZvF,EAAe,IACfE,EAAO,IACqB,QAA5BoD,EAAA/C,EAAoB4B,UAAQ,IAAAmB,GAAAA,EAAAQ,MAAM,EAEpCT,YAEoC,QAA/BwE,EAAA1H,EAAO4B,KAAKI,GAAO8D,oBAAY,IAAA4B,OAAA,EAAAA,EAAE5H,QAAQA,aAAG,EAAHA,EAAKsF,UAC9CtF,eAAAA,EAAKsF,SAAUV,EAAM+C,SAAS7C,KAAK9E,IAKjCgD,SAAA,aAKdA,SAAA1D,IAA2C,QAA/BuI,EAAA3H,EAAO4B,KAAKI,GAAO8D,oBAAY,IAAA6B,OAAA,EAAAA,EAAE/H,aAC5CmD,EAAA+B,IAAA,MAAA,CAAKnC,UAAWC,EAAOgF,iBAAgB9E,SACrCC,MAAC0C,EAAS,CACRC,IAAKC,EACLC,MAAM,SACNC,OAAO,SACPV,QAAU0C,YACRA,SAAAA,EAAGC,kBACHjI,EAAkC,UAAnBsC,EAAK2D,oBAAc,IAAA3C,OAAA,EAAAA,EAAAvD,aAClCG,EAA0B,UAAnBoC,EAAK2D,oBAAc,IAAAT,OAAA,EAAAA,EAAAvF,IAAI,MAKpC4C,OAACqC,SAAM,CACLpC,UAAWC,EAAO0C,YAClBL,QAAQ,OACRM,MAAM,SACNC,QAASzC,MAAC0C,GAAUC,IAAKC,EAAUC,MAAM,SAASC,OAAO,WACzDV,QAAS,aACPtF,EAAkC,UAAnBsC,EAAK2D,oBAAc,IAAA3C,OAAA,EAAAA,EAAAvD,aAClCG,EAA0B,UAAnBoC,EAAK2D,oBAAc,IAAAT,OAAA,EAAAA,EAAAvF,IAAI,YAG/BV,IACkB,UAAlBY,EAAO4B,KAAKI,UAAM,IAAA+F,OAAA,EAAAA,EAAEjC,iBACc,QAAhCkC,EAAkB,QAAlBC,EAAAjI,EAAO4B,KAAKI,UAAM,IAAAiG,OAAA,EAAAA,EAAEnC,oBAAY,IAAAkC,OAAA,EAAAA,EAAElI,OACA,QAAjCoI,EAAAlI,EAAO4B,KAAKI,GAAO8D,oBAAc,IAAAoC,OAAA,EAAAA,EAAAtI,cACjC,QACA,OAAQ,+BAMhBR,GAAY2D,MAAA,MAAA,CAAKJ,UAAWC,EAAOuF,gCAEnC/I,GACA2D,EAAAA,IAACgC,EAAMA,OACL,CAAApC,UAAWC,EAAOwF,eAClBnD,QAAQ,OACRM,MAAM,QACNC,QAASzC,MAAC0C,EAAU,CAAAC,IAAK2C,EAAYzC,MAAM,WAAWC,OAAO,aAC7DV,QAAS,KAAMmD,OAhPA/F,EAgPkBP,EAhPNS,EAgPaN,EAAKM,KA/OvDhC,EAAoB8B,GACpB5B,EAAmB8B,QAEnB5B,GAAoB,GAJI,IAAC0B,EAAYE,CAiPnB,OAIhB,IAGJ,OACEC,EAAMkB,KAAA,OAAA,CAAAjB,UAAWC,EAAO2F,YAAaC,SAAWX,GAAMA,EAAEY,iBACtD3F,SAAA,CAAAC,EAAAA,IAAC2F,EAAKA,MAAA,CACJxD,KAAK,QACLV,YAAY,gBACZmE,MAAM,WACNC,UAAQ,EACR7G,MAAqB,QAAdoB,EAAAnD,aAAA,EAAAA,EAAQ6I,YAAM,IAAA1F,OAAA,EAAAA,EAAA2F,MACrBjE,UAAW,GACXJ,SAAW1C,IACT9B,EAAc,aAAc8B,EAAM,EAEpCgH,QAAS,KACP9I,EAAc,aAAc,GAAG,EAEjC+I,SAAwB,QAAd3D,EAAAnF,eAAAA,EAAQ2I,YAAM,IAAAxD,OAAA,EAAAA,EAAAyD,MACxBG,0BAA2BvE,EAAMwE,QAEnCnG,EAAK+B,IAAA,MAAA,CAAAnC,UAAWC,EAAOuG,UACrBrG,SAAAC,EAAAA,IAAC2F,EAAKA,MAAC,CAAAxD,KAAK,QAAQyD,MAAM,UAAUC,UAAQ,EAAC7G,cAAOgE,EAAA/F,aAAM,EAANA,EAAQ6I,2BAAMO,QAASlG,UAAW,MAExFH,EAAAA,IAACwB,EAAQA,UACPW,KAAK,QACLV,YAAY,oDACZmE,MAAM,cACN5G,MAAmB,QAAZiE,EAAAhG,eAAAA,EAAQ6I,YAAI,IAAA7C,OAAA,EAAAA,EAAEpG,YACrBiF,UAAW,IACX+D,UAAQ,EACRnE,SAAW1C,KACK,KAAVA,GAAgB2C,EAAMC,MAAMC,KAAK7C,KACnC9B,EAAc,mBAAoB8B,EACnC,EAEHgH,QAAS,KACP9I,EAAc,mBAAoB,GAAG,EAEvC+I,SAAsB,QAAZ5C,EAAAlG,aAAM,EAANA,EAAQ2I,YAAI,IAAAzC,OAAA,EAAAA,EAAExG,cAE1BmD,MAAK,MAAA,CAAAJ,UAAWC,EAAOyG,qBACrBtG,EAAAA,IAACuG,EACC,CAAA/G,GAAG,iBACHgH,KAAM/J,EACNgK,UAAWC,EACX3I,WAAYA,EACZC,cAAeA,EACf2I,WA3SYC,IAClBrK,EAAa,IAAID,EAAWsK,IAC5B,MAAMC,EAAU5J,EAAO4B,MAAQ,GAC/B3B,EAAc,OAAQ,IAAI2J,EAASD,GAAK,EAySlCvK,SAAUA,MAGd2D,EAAAA,IAAC8G,EACC,CAAAC,OAAO,QACP1G,QACEV,EAAAA,KAAA,IAAA,CACEW,MAAO,CACL0G,UAAW,SACXjG,WAAY,IACZC,SAAU,OACViG,WAAY,aAEdrH,UAAU,mEAGVD,OAAM,OAAA,CAAAC,UAAU,YAAWG,SAAA,CACxB,IAAG,OACAC,yBAASrC,OAGb,OAEN8H,SAAU,CACRrD,QAjWiB,WACE,OAArB3E,IACFlB,GAAc8E,GAASA,EAAK6F,QAAO,CAACC,EAAGC,IAAMA,IAAM3J,MACnDP,EACE,OACa,QAAbkD,EAAAnD,EAAO4B,YAAM,IAAAuB,OAAA,EAAAA,EAAA8G,QAAO,CAACC,EAAGC,IAAMA,IAAM3J,MAGxCK,GAAoB,GACpBJ,EAAoB,KAAK,EAyVnB2J,KAAM,SACN7E,MAAO,QACP8E,WAAW,GAEbC,SAAU,CACRF,KAAM,SACN7E,MAAO,SACP8E,WAAW,GAEbE,QAAS,IAAM1J,GAAoB,GACnC2J,KAAM5J,EACN6J,KAAM1H,EAAAA,IAAC0C,EAAS,CAACC,IAAKgF,EAAoB9E,MAAM,YAAYC,OAAO,kBAGxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonInput.js","sources":["../../../../src/components/JsonInput/JsonInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\
|
|
1
|
+
{"version":3,"file":"JsonInput.js","sources":["../../../../src/components/JsonInput/JsonInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport yaml from 'js-yaml'\nimport styles from './style.module.scss'\nimport regex from '../../constants/regex'\n\nconst errorMapping = {\n BOTH: 'Invalid JSON or YAML format',\n JSON: 'Invalid JSON format',\n YML: 'Invalid YAML format',\n}\n\nconst JsonInput = ({\n placeholder,\n label,\n value,\n onValidation,\n onChange,\n dataId,\n className = '',\n errorMessage,\n acceptType = 'BOTH',\n fieldIsDisabled,\n withFooter = true,\n}) => {\n const [isValid, setIsValid] = useState()\n const [disabledBeautify, setDisabledBeautify] = useState(true)\n\n const handlePrettify = (e) => {\n if (value === '') return\n e.preventDefault()\n try {\n let prettifiedData\n if ((acceptType === 'BOTH' || acceptType === 'JSON') && isValidJson(value)) {\n // If it's valid JSON, prettify JSON\n prettifiedData = JSON.stringify(JSON.parse(value), null, 2)\n } else if (acceptType === 'BOTH' || acceptType === 'YML') {\n // If it's not valid JSON, prettify YAML\n prettifiedData = yaml.dump(yaml.load(value), { indent: 0 })\n }\n onChange(prettifiedData)\n setIsValid(true) // Reset validity status\n } catch (error) {\n console.error(error)\n setIsValid(false)\n }\n }\n\n // Function to check if input is valid JSON\n const isValidJson = (str) => {\n try {\n JSON.parse(str)\n return true\n } catch (error) {\n return false\n }\n }\n\n const checkIsValid = () => {\n if (acceptType === 'BOTH' || acceptType === 'JSON') {\n return isValidJson(value)\n } else if (acceptType === 'BOTH' || acceptType === 'YML') {\n try {\n // Try parsing as YAML\n yaml.load(value)\n return true\n } catch (error) {\n console.error(error)\n return false\n }\n }\n }\n\n useEffect(() => {\n try {\n handlePrettify(value)\n } catch {}\n }, [])\n\n return (\n <div\n className={`${styles['json-editor-container']} ${className} ${\n fieldIsDisabled ? styles.disabled : ''\n }`}\n >\n {label && <p className={`${styles['json-editor-label']}`}>{label}</p>}\n <div\n className={`${styles['json-editor']} ${\n value !== '' && isValid === false ? styles.invalid : ''\n }`}\n >\n <textarea\n disabled={fieldIsDisabled}\n data-id={dataId}\n value={value}\n onChange={(e) => {\n if (fieldIsDisabled) return\n if (regex.ASCII.test(e.target.value)) {\n setIsValid(undefined)\n setDisabledBeautify(true)\n onChange(e.target.value)\n }\n }}\n onPaste={(e) => {\n if (fieldIsDisabled) return\n if (regex.ASCII.test(e.target.value)) {\n setIsValid(undefined)\n setDisabledBeautify(true)\n onChange(e.target.value)\n }\n }}\n min=\"1\"\n placeholder={placeholder}\n />\n {withFooter && (\n <div className={`${styles['actions-container']}`}>\n <button\n type=\"button\"\n className={styles.validate}\n onClick={() => {\n const valid = checkIsValid()\n setIsValid(valid)\n onValidation(valid)\n setDisabledBeautify(!checkIsValid())\n }}\n data-id={`${dataId}-VALIDATE-BUTTON`}\n disabled={value === ''}\n >\n Validate\n </button>\n <button\n type=\"button\"\n disabled={value === '' || disabledBeautify}\n data-id={`${dataId}-BEAUTIFY-BUTTON`}\n className={styles.beautify}\n onClick={handlePrettify}\n >\n Beautify\n </button>\n </div>\n )}\n </div>\n {(errorMessage || (value !== '' && isValid === false)) && (\n <p className={styles['error-message']}>{errorMessage || errorMapping[acceptType]}</p>\n )}\n </div>\n )\n}\n\nexport default JsonInput\n"],"names":["errorMapping","BOTH","JSON","YML","JsonInput","placeholder","label","value","onValidation","onChange","dataId","className","errorMessage","acceptType","fieldIsDisabled","withFooter","isValid","setIsValid","useState","disabledBeautify","setDisabledBeautify","handlePrettify","e","preventDefault","prettifiedData","isValidJson","yaml","dump","load","indent","stringify","parse","error","console","str","checkIsValid","useEffect","_a","_jsxs","jsxs","styles","disabled","children","_jsx","jsx","invalid","regex","ASCII","test","target","undefined","onPaste","min","type","validate","onClick","valid","beautify"],"mappings":"oPAKA,MAAMA,EAAe,CACnBC,KAAM,8BACNC,KAAM,sBACNC,IAAK,uBAGDC,EAAY,EAChBC,cACAC,QACAC,QACAC,eACAC,WACAC,SACAC,YAAY,GACZC,eACAC,aAAa,OACbC,kBACAC,cAAa,MAEb,MAAOC,EAASC,GAAcC,KACvBC,EAAkBC,GAAuBF,GAAS,GAEnDG,EAAkBC,IACtB,GAAc,KAAVf,EAAJ,CACAe,EAAEC,iBACF,IACE,IAAIC,EACgB,SAAfX,GAAwC,SAAfA,IAA0BY,EAAYlB,GAG1C,SAAfM,GAAwC,QAAfA,IAElCW,EAAiBE,EAAKC,KAAKD,EAAKE,KAAKrB,GAAQ,CAAEsB,OAAQ,KAHvDL,EAAiBtB,KAAK4B,UAAU5B,KAAK6B,MAAMxB,GAAQ,KAAM,GAK3DE,EAASe,GACTP,GAAW,EACZ,CAAC,MAAOe,GACPC,QAAQD,MAAMA,GACdf,GAAW,EACZ,CAhBuB,CAgBvB,EAIGQ,EAAeS,IACnB,IAEE,OADAhC,KAAK6B,MAAMG,IACJ,CACR,CAAC,MAAOF,GACP,OAAO,CACR,GAGGG,EAAe,KACnB,GAAmB,SAAftB,GAAwC,SAAfA,EAC3B,OAAOY,EAAYlB,GACd,GAAmB,SAAfM,GAAwC,QAAfA,EAClC,IAGE,OADAa,EAAKE,KAAKrB,IACH,CACR,CAAC,MAAOyB,GAEP,OADAC,QAAQD,MAAMA,IACP,CACR,CACF,EASH,OANAI,GAAU,KACR,IACEf,EAAed,EAChB,CAAC,MAAM8B,GAAE,IACT,IAGDC,EACEC,KAAA,MAAA,CAAA5B,UAAW,GAAG6B,EAAO,4BAA4B7B,KAC/CG,EAAkB0B,EAAOC,SAAW,KACpCC,SAAA,CAEDpC,GAASqC,EAAAC,IAAA,IAAA,CAAGjC,UAAW,GAAG6B,EAAO,gCAAyBlC,IAC3DgC,EACEC,KAAA,MAAA,CAAA5B,UAAW,GAAG6B,EAAO,kBACT,KAAVjC,IAA4B,IAAZS,EAAoBwB,EAAOK,QAAU,KAGvDH,SAAA,CAAAC,EAAAC,IAAA,WAAA,CACEH,SAAU3B,YACDJ,EACTH,MAAOA,EACPE,SAAWa,IACLR,GACAgC,EAAMC,MAAMC,KAAK1B,EAAE2B,OAAO1C,SAC5BU,OAAWiC,GACX9B,GAAoB,GACpBX,EAASa,EAAE2B,OAAO1C,OACnB,EAEH4C,QAAU7B,IACJR,GACAgC,EAAMC,MAAMC,KAAK1B,EAAE2B,OAAO1C,SAC5BU,OAAWiC,GACX9B,GAAoB,GACpBX,EAASa,EAAE2B,OAAO1C,OACnB,EAEH6C,IAAI,IACJ/C,YAAaA,IAEdU,GACCuB,EAAAA,KAAK,MAAA,CAAA3B,UAAW,GAAG6B,EAAO,uBAAsBE,SAAA,CAC9CC,EAAAA,IACE,SAAA,CAAAU,KAAK,SACL1C,UAAW6B,EAAOc,SAClBC,QAAS,KACP,MAAMC,EAAQrB,IACdlB,EAAWuC,GACXhD,EAAagD,GACbpC,GAAqBe,IAAe,YAE7B,GAAGzB,oBACZ+B,SAAoB,KAAVlC,wBAIZoC,EAAAC,IAAA,SAAA,CACES,KAAK,SACLZ,SAAoB,KAAVlC,GAAgBY,EAAgB,UACjC,GAAGT,oBACZC,UAAW6B,EAAOiB,SAClBF,QAASlC,EAGFqB,SAAA,oBAIb9B,GAA2B,KAAVL,IAA4B,IAAZS,IACjC2B,EAAGC,IAAA,IAAA,CAAAjC,UAAW6B,EAAO,0BAAmB5B,GAAgBZ,EAAaa,OAG1E"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as
|
|
1
|
+
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as l}from"react";import i from"./LivePreview.module.scss.js";import o from"../SimpleLabelValue/SimpleLabelValue.js";import n from"../MethodAccordion/MethodAccordion.js";import{useFormikContext as r}from"../../../node_modules/formik/dist/formik.esm.js";import{tagsTableHeaders as t,methodColorMapping as d}from"../../constants/index.js";import a from"../table/tags-table.js";import{d as c}from"../../../_virtual/index.js";import v from"../Tooltip/Tooltip.js";import m from"../SVGLoader/SVGLoader.js";import p from"../../assets/icons/DownArrow.svg.js";const u=({transformedData:u,openApiErrors:x})=>{var h,j;const[g,D]=s();s({});const[f,N]=s([]);s({});const[b,y]=s(x.length>0),{values:w}=r(),{info:C,components:k,tags:A}=w,{securitySchemes:O}=k,B=O&&"object"==typeof O&&Object.keys(O).length?Object.keys(O)[0]:null;l((()=>{w.tags&&(D(L(w.tags,!0)),N(w.tags))}),[w.tags]);const L=(s,l)=>s.map(((s,o)=>{var n,r,t,d,a,m,p,u,x,h,j,g,D,f,N,b,y,w,C;return{id:o,tagName:s.name,description:e.jsx(v,{allowHTML:!0,disabled:(null===(n=s.description)||void 0===n?void 0:n.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:s.description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],children:e.jsx("div",{className:i.paramDescContainer,children:e.jsxs("p",{className:i.editDescBtn,children:[s.description?s.description.substring(0,12):"-",s.description&&s.description.length>12?"...":""]})})},`${o}-description`),externalDocs:e.jsxs("div",{className:i.paramDescContainer,children:[s.externalDocs&&s.externalDocs.url&&"-"!=s.externalDocs.url?e.jsxs("a",{className:i.editDescBtn,href:(null===(r=s.externalDocs)||void 0===r?void 0:r.url)&&(null===(t=s.externalDocs)||void 0===t?void 0:t.url.indexOf("http"))>-1?null===(d=s.externalDocs)||void 0===d?void 0:d.url:`https://${null===(a=s.externalDocs)||void 0===a?void 0:a.url}`,rel:"noopener noreferrer",target:"_blank",children:[(null===(m=null==s?void 0:s.externalDocs)||void 0===m?void 0:m.url)&&!(null===(p=null==s?void 0:s.externalDocs)||void 0===p?void 0:p.description)?null===(u=null==s?void 0:s.externalDocs)||void 0===u?void 0:u.url:null,(null===(x=null==s?void 0:s.externalDocs)||void 0===x?void 0:x.description)?null===(j=null===(h=null==s?void 0:s.externalDocs)||void 0===h?void 0:h.description)||void 0===j?void 0:j.substring(0,12):(null===(g=null==s?void 0:s.externalDocs)||void 0===g?void 0:g.url)?null:"-",(null===(D=null==s?void 0:s.externalDocs)||void 0===D?void 0:D.description)&&(null===(N=null===(f=null==s?void 0:s.externalDocs)||void 0===f?void 0:f.description)||void 0===N?void 0:N.length)>12?"...":""]}):e.jsxs(c.Button,{className:i.editDescBtn,variant:"link",color:"action",children:[(null===(b=s.externalDocs)||void 0===b?void 0:b.description)?null===(y=s.externalDocs)||void 0===y?void 0:y.description.substring(0,12):"-",(null===(w=s.externalDocs)||void 0===w?void 0:w.description)&&(null===(C=s.externalDocs)||void 0===C?void 0:C.description.length)>12?"...":""]}),!l&&e.jsx("div",{className:i.paramDescContainer_separator}),!l&&e.jsx(c.Button,{className:i.deleteParamBtn,variant:"link",color:"error",onClick:()=>null})]})}}));return!B||(O[B].scheme||O[B].type),e.jsxs("div",{className:i.livePreviewContainer,children:[!!x&&x.length>0&&e.jsx("div",{className:"row",children:e.jsx("div",{className:"col-md-12",children:e.jsx(c.Accordion,{expanded:b,onChange:()=>null,className:i.responseAccordion,summary:e.jsxs("span",{className:i.responseAccordionSummary,onClick:()=>y((e=>!b)),children:[e.jsx("div",{className:i.responseAccordionSummary_title,children:"Errors"}),e.jsx(m,{className:b?i.expanded:"",src:p,width:"2rem",height:"2rem"})]}),children:e.jsxs("div",{className:i.accordionContent,children:[e.jsx("span",{children:"Failed to update the OpenAPI documentation. Please resolve the following issues:"}),e.jsx("br",{}),e.jsx("ol",{children:x.map((s=>e.jsx("li",{children:s},s)))})]})})})}),e.jsx("div",{className:"row",children:e.jsxs("div",{className:"col-md-12",children:[e.jsxs("div",{className:i.titleContainer,children:[e.jsx("p",{className:i.apiName,children:(null===(h=null==C?void 0:C.title)||void 0===h?void 0:h.trim())||"-"}),e.jsx(c.Chip,{className:i.livePreviewChip,children:"Live Preview"})]}),e.jsx(o,{label:"Version: ",value:(null==C?void 0:C.version)||"-"},"version"),e.jsx(o,{label:"Description: ",value:(null===(j=null==C?void 0:C.description)||void 0===j?void 0:j.trim())||"-"},"description"),e.jsx(o,{label:"Tags: "},"tags"),e.jsx(a,{id:"tags-table",data:g,headCells:t,isFormOpen:!1,setIsFormOpen:()=>null,saveNewRow:()=>null,readOnly:!0}),e.jsx(o,{label:"Endpoints "},"endpoints"),w.paths.map((s=>e.jsx("div",{className:i.methodsContainer,children:Object.entries(s.methods.sort(((e,s)=>d[e.type].order+d[s.type].order)).reduce(((e,s)=>{var l;return((null===(l=s.tags)||void 0===l?void 0:l.length)?null==s?void 0:s.tags:["default"]).forEach((l=>{e[l]||(e[l]=[]),e[l].push(s)})),e}),{})).map((([l,i])=>e.jsxs("div",{children:[e.jsx("h3",{children:l}),null==i?void 0:i.map(((l,i)=>e.jsx(n,{readOnly:!0,method:l,path:s.path,tags:w.tags})))]},l)))},s.path)))]})})]})};export{u as default};
|
|
2
2
|
//# sourceMappingURL=LivePreview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LivePreview.js","sources":["../../../../src/components/LivePreview/LivePreview.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport styles from './LivePreview.module.scss'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\nimport MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'\r\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\r\nimport { useFormikContext } from 'formik'\r\nimport { methodColorMapping, tagsTableHeaders } from '../../constants/index'\r\nimport TagsTable from '../table/tags-table'\r\nimport { Button, Chip } from 'digitinary-ui'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\n\r\ninterface LivePreviewProps {\r\n transformedData?: TransformedOpenApi\r\n}\r\n\r\nconst LivePreview: React.FC<LivePreviewProps> = ({ transformedData }) => {\r\n const [tableRecords, setTableRecords] = useState()\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const { values } = useFormikContext<TransformedOpenApi>()\r\n const { info, components, tags } = values\r\n const { securitySchemes } = components\r\n const securityKey =\r\n securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length\r\n ? Object.keys(securitySchemes)[0]\r\n : null\r\n\r\n useEffect(() => {\r\n if (values.tags) {\r\n setTableRecords(generateTableData(values.tags, true))\r\n setTableData(values.tags)\r\n }\r\n }, [values.tags])\r\n\r\n const generateTableData = (items, readOnly) => {\r\n return items.map((item, index) => ({\r\n id: index,\r\n tagName: item.name,\r\n description: (\r\n <Tooltip\r\n key={`${index}-description`}\r\n allowHTML\r\n disabled={item.description?.length <= 12}\r\n content={<div style={{ padding: '0.625rem' }}>{item.description}</div>}\r\n arrowWithBorder\r\n placement=\"bottom-end\"\r\n type=\"function\"\r\n delay={[0, 0]}\r\n >\r\n <div className={styles.paramDescContainer}>\r\n <p className={styles.editDescBtn}>\r\n {item.description ? item.description.substring(0, 12) : '-'}\r\n {item.description && item.description.length > 12 ? '...' : ''}\r\n </p>\r\n </div>\r\n </Tooltip>\r\n ),\r\n externalDocs: (\r\n <div className={styles.paramDescContainer}>\r\n {item.externalDocs && item.externalDocs.url && item.externalDocs.url != '-' ? (\r\n <a\r\n className={styles.editDescBtn}\r\n href={\r\n item.externalDocs?.url && item.externalDocs?.url.indexOf('http') > -1\r\n ? item.externalDocs?.url\r\n : `https://${item.externalDocs?.url}`\r\n }\r\n rel=\"noopener noreferrer\"\r\n target=\"_blank\"\r\n >\r\n {item?.externalDocs?.url && !item?.externalDocs?.description\r\n ? item?.externalDocs?.url\r\n : null}\r\n {item?.externalDocs?.description\r\n ? item?.externalDocs?.description?.substring(0, 12)\r\n : !item?.externalDocs?.url ? '-': null}\r\n {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </a>\r\n ) : (\r\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\r\n {item.externalDocs?.description\r\n ? item.externalDocs?.description.substring(0, 12)\r\n : '-'}\r\n {item.externalDocs?.description && item.externalDocs?.description.length > 12\r\n ? '...'\r\n : ''}\r\n </Button>\r\n )}\r\n\r\n {/* </Tooltip> */}\r\n\r\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n onClick={() => null}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n }))\r\n }\r\n\r\n const securityScheme = !!securityKey\r\n ? securitySchemes[securityKey].scheme || securitySchemes[securityKey].type\r\n : '-'\r\n\r\n return (\r\n <div className={styles.livePreviewContainer}>\r\n <div className=\"row\">\r\n <div className=\"col-md-12\">\r\n <div className={styles.titleContainer}>\r\n <p className={styles.apiName}>{info?.title?.trim() || '-'}</p>\r\n <Chip className={styles.livePreviewChip}>Live Preview</Chip>\r\n </div>\r\n <SimpleLabelValue\r\n key={'APIAuthenticationType'}\r\n label={'API authentication type: '}\r\n value={\r\n !!securityScheme && securityScheme.toLowerCase() === 'public'\r\n ? 'Keyless'\r\n : securityScheme\r\n }\r\n />\r\n <SimpleLabelValue key={'version'} label={'Version: '} value={info?.version || '-'} />\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={info?.description?.trim() || '-'}\r\n />\r\n\r\n <SimpleLabelValue key={'tags'} label={'Tags: '} />\r\n <TagsTable\r\n id=\"tags-table\"\r\n data={tableRecords}\r\n headCells={tagsTableHeaders}\r\n isFormOpen={false}\r\n setIsFormOpen={() => null}\r\n saveNewRow={() => null}\r\n readOnly={true}\r\n />\r\n\r\n <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />\r\n {values.paths.map((path) => (\r\n <div className={styles.methodsContainer} key={path.path}>\r\n {Object.entries(\r\n path.methods\r\n .sort(\r\n (a, b) => methodColorMapping[a.type].order + methodColorMapping[b.type].order\r\n )\r\n .reduce((groupedMethods, method) => {\r\n // Handle methods without tags\r\n const tags = method.tags?.length ? method?.tags : ['default']\r\n\r\n tags.forEach((tag) => {\r\n if (!groupedMethods[tag]) {\r\n groupedMethods[tag] = []\r\n }\r\n groupedMethods[tag].push(method)\r\n })\r\n\r\n return groupedMethods\r\n }, {})\r\n ).map(([tag, methods]) => (\r\n <div key={tag}>\r\n <h3>{tag}</h3>\r\n {methods?.map((method, methodIndex) => (\r\n <MethodsAccordion\r\n readOnly\r\n method={method}\r\n path={path.path}\r\n tags={values.tags}\r\n />\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default LivePreview\r\n"],"names":["LivePreview","transformedData","tableRecords","setTableRecords","useState","tableData","setTableData","values","useFormikContext","info","components","tags","securitySchemes","securityKey","Object","keys","length","useEffect","generateTableData","items","readOnly","map","item","index","id","tagName","name","description","_jsx","jsx","Tooltip","allowHTML","disabled","_a","content","style","padding","children","arrowWithBorder","placement","type","delay","className","styles","paramDescContainer","_jsxs","jsxs","editDescBtn","substring","externalDocs","url","href","_b","_c","indexOf","_d","_e","rel","target","_f","_g","_h","_j","_l","_k","_m","_o","_q","_p","Button","variant","color","_r","_s","_t","_u","paramDescContainer_separator","deleteParamBtn","onClick","securityScheme","scheme","livePreviewContainer","titleContainer","apiName","title","trim","Chip","livePreviewChip","SimpleLabelValue","label","value","toLowerCase","version","TagsTable","data","headCells","tagsTableHeaders","isFormOpen","setIsFormOpen","saveNewRow","paths","path","methodsContainer","entries","methods","sort","a","b","methodColorMapping","order","reduce","groupedMethods","method","forEach","tag","push","methodIndex","MethodsAccordion"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LivePreview.js","sources":["../../../../src/components/LivePreview/LivePreview.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport styles from './LivePreview.module.scss'\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\nimport MethodsAccordion from '../../components/MethodAccordion/MethodAccordion'\nimport { TransformedOpenApi } from '../../types/transformedOpenApi'\nimport { useFormikContext } from 'formik'\nimport { methodColorMapping, tagsTableHeaders } from '../../constants/index'\nimport TagsTable from '../table/tags-table'\nimport { Accordion, Button, Chip } from 'digitinary-ui'\nimport Tooltip from '../../components/Tooltip/Tooltip'\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\nimport { DownArrowIcon } from '../../assets/icons'\n\ninterface LivePreviewProps {\n transformedData?: TransformedOpenApi\n openApiErrors?: any[]\n}\n\nconst LivePreview: React.FC<LivePreviewProps> = ({ transformedData, openApiErrors }) => {\n const [tableRecords, setTableRecords] = useState()\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\n const [tableData, setTableData] = useState([])\n const [externalTooltipRefs, setExternalTooltipRefs] = useState<{ [key: number]: any }>({})\n const [errorExpanded, setErrorExpanded] = useState(openApiErrors.length > 0)\n const { values } = useFormikContext<TransformedOpenApi>()\n const { info, components, tags } = values\n const { securitySchemes } = components\n const securityKey =\n securitySchemes && typeof securitySchemes == 'object' && Object.keys(securitySchemes).length\n ? Object.keys(securitySchemes)[0]\n : null\n\n useEffect(() => {\n if (values.tags) {\n setTableRecords(generateTableData(values.tags, true))\n setTableData(values.tags)\n }\n }, [values.tags])\n\n const generateTableData = (items, readOnly) => {\n return items.map((item, index) => ({\n id: index,\n tagName: item.name,\n description: (\n <Tooltip\n key={`${index}-description`}\n allowHTML\n disabled={item.description?.length <= 12}\n content={<div style={{ padding: '0.625rem' }}>{item.description}</div>}\n arrowWithBorder\n placement=\"bottom-end\"\n type=\"function\"\n delay={[0, 0]}\n >\n <div className={styles.paramDescContainer}>\n <p className={styles.editDescBtn}>\n {item.description ? item.description.substring(0, 12) : '-'}\n {item.description && item.description.length > 12 ? '...' : ''}\n </p>\n </div>\n </Tooltip>\n ),\n externalDocs: (\n <div className={styles.paramDescContainer}>\n {item.externalDocs && item.externalDocs.url && item.externalDocs.url != '-' ? (\n <a\n className={styles.editDescBtn}\n href={\n item.externalDocs?.url && item.externalDocs?.url.indexOf('http') > -1\n ? item.externalDocs?.url\n : `https://${item.externalDocs?.url}`\n }\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {item?.externalDocs?.url && !item?.externalDocs?.description\n ? item?.externalDocs?.url\n : null}\n {item?.externalDocs?.description\n ? item?.externalDocs?.description?.substring(0, 12)\n : !item?.externalDocs?.url\n ? '-'\n : null}\n {item?.externalDocs?.description && item?.externalDocs?.description?.length > 12\n ? '...'\n : ''}\n </a>\n ) : (\n <Button className={styles.editDescBtn} variant=\"link\" color=\"action\">\n {item.externalDocs?.description\n ? item.externalDocs?.description.substring(0, 12)\n : '-'}\n {item.externalDocs?.description && item.externalDocs?.description.length > 12\n ? '...'\n : ''}\n </Button>\n )}\n\n {/* </Tooltip> */}\n\n {!readOnly && <div className={styles.paramDescContainer_separator}></div>}\n\n {!readOnly && (\n <Button\n className={styles.deleteParamBtn}\n variant=\"link\"\n color=\"error\"\n onClick={() => null}\n ></Button>\n )}\n </div>\n ),\n }))\n }\n\n const securityScheme = !!securityKey\n ? securitySchemes[securityKey].scheme || securitySchemes[securityKey].type\n : '-'\n\n return (\n <div className={styles.livePreviewContainer}>\n {!!openApiErrors && openApiErrors.length > 0 && (\n <div className=\"row\">\n <div className=\"col-md-12\">\n <Accordion\n expanded={errorExpanded}\n onChange={() => null}\n className={styles.responseAccordion}\n summary={\n <span\n className={styles.responseAccordionSummary}\n onClick={() => setErrorExpanded((prev) => !errorExpanded)}\n >\n <div className={styles.responseAccordionSummary_title}>Errors</div>\n <SVGLoader\n className={errorExpanded ? styles.expanded : ''}\n src={DownArrowIcon}\n width=\"2rem\"\n height=\"2rem\"\n />\n </span>\n }\n children={\n <div className={styles.accordionContent}>\n <span>\n Failed to update the OpenAPI documentation. Please resolve the following issues:\n </span>\n <br />\n <ol>\n {openApiErrors.map((errItem) => (\n <li key={errItem}>{errItem}</li>\n ))}\n </ol>\n </div>\n }\n />\n </div>\n </div>\n )}\n <div className=\"row\">\n <div className=\"col-md-12\">\n <div className={styles.titleContainer}>\n <p className={styles.apiName}>{info?.title?.trim() || '-'}</p>\n <Chip className={styles.livePreviewChip}>Live Preview</Chip>\n </div>\n <SimpleLabelValue key={'version'} label={'Version: '} value={info?.version || '-'} />\n <SimpleLabelValue\n key={'description'}\n label={'Description: '}\n value={info?.description?.trim() || '-'}\n />\n\n <SimpleLabelValue key={'tags'} label={'Tags: '} />\n <TagsTable\n id=\"tags-table\"\n data={tableRecords}\n headCells={tagsTableHeaders}\n isFormOpen={false}\n setIsFormOpen={() => null}\n saveNewRow={() => null}\n readOnly={true}\n />\n\n <SimpleLabelValue key={'endpoints'} label={'Endpoints '} />\n {values.paths.map((path) => (\n <div className={styles.methodsContainer} key={path.path}>\n {Object.entries(\n path.methods\n .sort(\n (a, b) => methodColorMapping[a.type].order + methodColorMapping[b.type].order\n )\n .reduce((groupedMethods, method) => {\n // Handle methods without tags\n const tags = method.tags?.length ? method?.tags : ['default']\n\n tags.forEach((tag) => {\n if (!groupedMethods[tag]) {\n groupedMethods[tag] = []\n }\n groupedMethods[tag].push(method)\n })\n\n return groupedMethods\n }, {})\n ).map(([tag, methods]) => (\n <div key={tag}>\n <h3>{tag}</h3>\n {methods?.map((method, methodIndex) => (\n <MethodsAccordion\n readOnly\n method={method}\n path={path.path}\n tags={values.tags}\n />\n ))}\n </div>\n ))}\n </div>\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nexport default LivePreview\n"],"names":["LivePreview","transformedData","openApiErrors","tableRecords","setTableRecords","useState","tableData","setTableData","errorExpanded","setErrorExpanded","length","values","useFormikContext","info","components","tags","securitySchemes","securityKey","Object","keys","useEffect","generateTableData","items","readOnly","map","item","index","id","tagName","name","description","_jsx","jsx","Tooltip","allowHTML","disabled","_a","content","style","padding","children","arrowWithBorder","placement","type","delay","className","styles","paramDescContainer","_jsxs","jsxs","editDescBtn","substring","externalDocs","url","href","_b","_c","indexOf","_d","_e","rel","target","_f","_g","_h","_j","_l","_k","_m","_o","_q","_p","Button","variant","color","_r","_s","_t","_u","paramDescContainer_separator","deleteParamBtn","onClick","scheme","livePreviewContainer","Accordion","expanded","onChange","responseAccordion","summary","responseAccordionSummary","prev","responseAccordionSummary_title","SVGLoader","src","DownArrowIcon","width","height","accordionContent","errItem","titleContainer","apiName","title","trim","Chip","livePreviewChip","SimpleLabelValue","label","value","version","TagsTable","data","headCells","tagsTableHeaders","isFormOpen","setIsFormOpen","saveNewRow","paths","path","methodsContainer","entries","methods","sort","a","b","methodColorMapping","order","reduce","groupedMethods","method","forEach","tag","push","methodIndex","MethodsAccordion"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as r}from"react";import{d as o}from"../../../_virtual/index.js";import n from"../SVGLoader/SVGLoader.js";import t from"../../assets/icons/DownArrow.svg.js";import i from"../../assets/icons/DeleteIcon.svg.js";import a from"../../assets/icons/EditIcon.svg.js";import l from"../../assets/icons/deleteOutlinedIcon.svg.js";import{httpStatusCodes as d,methodColorMapping as c,paramsTableHeaders as m}from"../../constants/index.js";import p from"../Tooltip/Tooltip.js";import u from"../SimpleLabelValue/SimpleLabelValue.js";import{handleStatusColor as h,capitalize as v}from"../../helpers/methodAccordion.helper.js";import j from"../table/table.js";import x from"../dialog/index.js";import g from"../JsonInput/JsonInput.js";import b from"./MethodAccordion.module.scss.js";import y from"../../constants/regex.js";const N=d.map((s=>({label:e.jsxs("div",{className:b.statusCodeOptionContainer,children:[e.jsx("div",{className:b.statusCodeOptionCircle,style:{backgroundColor:h(s)}}),e.jsx("span",{children:s})]}),value:s}))),C=({method:d,path:h,setFieldValue:C,readOnly:f,tags:S,isOpen:w,setIsOpen:A})=>{var O,D,q,I,T,k,B,F;const[L,$]=s({request:!1,response:!1,method:!1}),[V,_]=s(!1),[J,M]=s({}),[W,E]=s([]),[G,H]=s(!1),[P,R]=s(null),[z,K]=s(null),[Q,U]=s(),[X,Y]=s([]),[Z,ee]=s(N[4]),se=d.responses.find((e=>Number(e.code)===Z.value))||"{}",re=(e,s,r)=>{const o=W.map(((o,n)=>n===r?Object.assign(Object.assign({},o),{[e]:s}):o));E(o)},oe=(e,s)=>{R(e),K(s),H(!0)};return r((()=>{U(W.map(((s,r)=>{var t,l,c,m;return{id:r,paramName:s.name,paramType:v(s.in),schemaType:v(null===(t=s.schema)||void 0===t?void 0:t.type)||"",required:e.jsx(e.Fragment,{children:f?s.required?"True":"False":e.jsx(o.Switch,{checked:s.required,onClick:()=>{if(f)return null;re("required",!s.required,r),C(`parameters[${r}][required]`,!s.required)}})}),description:e.jsxs("div",{className:b.paramDescContainer,children:[e.jsx(p,{allowHTML:!0,disabled:(null===(l=d.parameters[r].description)||void 0===l?void 0:l.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:d.parameters[r].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=J[r])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center"},children:[d.parameters[r].description?d.parameters[r].description.substring(0,12):f&&"-",d.parameters[r].description&&d.parameters[r].description.length>12?"...":""]})},`${r}-description`),!f&&e.jsx(p,{allowHTML:!0,arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>M((s=>Object.assign(Object.assign({},s),{[r]:e}))),content:e.jsxs("div",{className:b.editDescTooltipContent,children:[e.jsx("p",{className:b.editDescTooltipContent_header,children:"Description"}),e.jsx(o.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:f,maxLength:120,onChange:e=>{(""===e||y.ASCII.test(e))&&re("description",e,r)}}),!f&&e.jsx(o.Button,{className:b.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,o;C(`parameters[${r}].description`,null===(e=s.description)||void 0===e?void 0:e.trim()),null===(o=J[r])||void 0===o||o.hide()},disabled:!(null===(c=s.description)||void 0===c?void 0:c.trim()),children:"Apply"})]}),children:f||(null===(m=d.parameters[r].description)||void 0===m?void 0:m.length)>0?e.jsx(o.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"})}):e.jsxs(o.Button,{className:b.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:a,width:"1.5rem",height:"1.5rem"}),children:[f?"View ":"Add "," Description"]})},`${r}-add-edit-description`),!f&&e.jsx("div",{className:b.paramDescContainer_separator}),!f&&e.jsx(o.Button,{className:b.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:i,width:"1.125rem",height:"1.125rem"}),onClick:()=>oe(r,s.name)})]})}})))}),[W]),r((()=>{(null==d?void 0:d.parameters)&&E(d.parameters)}),[d,h]),r((()=>{var e;if((null==d?void 0:d.tags.length)||(null==S?void 0:S.length)){const s=[...null===(e=(null==d?void 0:d.tags)||[])||void 0===e?void 0:e.map((e=>({label:v(e),value:e}))),...(S||[]).map((e=>({label:v(e.name),value:e.name})))].filter(((e,s,r)=>s===r.findIndex((s=>s.value===e.value))));Y(s)}}),[S,d]),e.jsxs("div",{children:[e.jsx(o.Accordion,{expanded:w,onChange:()=>A(!w),className:`${b.methodAccordion} ${f?b.readOnly:""}`,summary:e.jsxs("div",{className:b.methodSummaryContainer,children:[e.jsxs("div",{className:b.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(O=null==c?void 0:c[null==d?void 0:d.type])||void 0===O?void 0:O.color)||"#3A6CD1"},className:b.methodLabel,children:(null===(D=null==c?void 0:c[null==d?void 0:d.type])||void 0===D?void 0:D.label)||(null==d?void 0:d.type)}),e.jsx("span",{className:b.methodPath,children:h})]}),e.jsx("div",{className:`${b.methodExpandArrowContainer} ${w?b.expanded:""}`,children:e.jsx(n,{src:t,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:b.methodAccordionContent,children:[e.jsx(o.SelectGroup,{className:b.methodDesc,disabled:f,placeholder:"Select Tags",label:"Tags",value:null===(q=d.tags)||void 0===q?void 0:q.map((e=>({label:v(e),value:e}))),onChange:e=>{C("tags",e.map((e=>e.value)))},options:[{list:X}],isMultiple:!0,withSearch:!1,clearable:!1}),f?e.jsx(u,{label:"Description: ",value:(null==d?void 0:d.description)||"-"},"description"):e.jsx(o.TextArea,{className:b.methodDesc,label:"Description",placeholder:"Describe the method's purpose and functionality...",maxLength:120,value:null==d?void 0:d.description,onChange:e=>{(""===e||y.ASCII.test(e))&&C("description",e)}}),e.jsx("div",{className:b.paramsTable,children:e.jsx(j,{id:"paramter-table",data:Q,headCells:m,isFormOpen:V,setIsFormOpen:_,saveNewRow:e=>{E([...W,e]),C("parameters",[...d.parameters,e])},readOnly:f})}),"get"!==(null==d?void 0:d.type)&&e.jsx(o.Accordion,{expanded:L.request,onChange:()=>null,className:b.requestAccordion,summary:e.jsx("span",{className:b.requestAccordionSummary,children:e.jsxs("div",{className:b.requestAccordionSummary_title,onClick:()=>$((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(n,{className:L.request?b.expanded:"",src:t,width:"2rem",height:"2rem"}),"Request","delete"!==(null==d?void 0:d.type)&&e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(g,{acceptType:"JSON",withFooter:!f,className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:f,value:(null===(k=null===(T=null===(I=null==d?void 0:d.requestBody)||void 0===I?void 0:I.content)||void 0===T?void 0:T.schema)||void 0===k?void 0:k.properties)||"{}",onChange:e=>{C("requestBody.content.schema.properties",e)},onValidation:()=>null})}),e.jsx(o.Accordion,{expanded:L.response,onChange:()=>null,className:b.responseAccordion,summary:e.jsxs("span",{className:b.responseAccordionSummary,children:[e.jsxs("div",{className:b.responseAccordionSummary_title,onClick:()=>$((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(n,{className:L.response?b.expanded:"",src:t,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]}),e.jsx(o.SelectGroup,{withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:N}],value:Z,onChange:e=>{ee(e)}})]}),children:e.jsx(g,{acceptType:"JSON",withFooter:!f,className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:f,value:(null===(F=null===(B=null==se?void 0:se.content)||void 0===B?void 0:B.schema)||void 0===F?void 0:F.properties)||"{}",onChange:e=>{const s=d.responses.findIndex((e=>e.code===se.code));if(-1!==s)C(`responses[${s}].content.schema.properties`,e);else{const s=structuredClone(d.responses);s.push({code:Z.value.toString(),content:{contentType:"application/json",schema:{type:"object",properties:e}}}),C("responses",s)}},onValidation:e=>null})})]})}),e.jsx(x,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Parameter ",e.jsx("strong",{children:z})]}),"?"]}),onSubmit:{onClick:()=>{var e;null!==P&&(E((e=>e.filter(((e,s)=>s!==P)))),C("parameters",null===(e=null==d?void 0:d.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==P)))),H(!1),R(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>H(!1),open:G,icon:e.jsx(n,{src:l,width:"4.0625rem",height:"4.0625rem"})})]})};export{C as default};
|
|
1
|
+
import{j as e}from"../../../_virtual/jsx-runtime.js";import{useState as s,useEffect as o}from"react";import{d as l}from"../../../_virtual/index.js";import n from"../SVGLoader/SVGLoader.js";import a from"../../assets/icons/DownArrow.svg.js";import i from"../../assets/icons/DeleteIcon.svg.js";import r from"../../assets/icons/EditIcon.svg.js";import t from"../../assets/icons/DeleteOutlinedIcon.svg.js";import d from"../../assets/icons/Plus.svg.js";import c from"../../assets/icons/PlusSquare.svg.js";import{httpStatusCodes as m,methodColorMapping as u,paramsTableHeaders as p}from"../../constants/index.js";import v from"../Tooltip/Tooltip.js";import h from"../SimpleLabelValue/SimpleLabelValue.js";import{handleStatusColor as j,capitalize as x}from"../../helpers/methodAccordion.helper.js";import g from"../table/table.js";import y from"../dialog/index.js";import b from"../JsonInput/JsonInput.js";import C from"./MethodAccordion.module.scss.js";import N from"../../constants/regex.js";const f=m.map((s=>({label:e.jsxs("div",{className:C.statusCodeOptionContainer,children:[e.jsx("div",{className:C.statusCodeOptionCircle,style:{backgroundColor:j(s)}}),e.jsx("span",{children:s})]}),value:s}))),w=({method:m,path:j,setFieldValue:w,readOnly:D,tags:S,isOpen:A,setIsOpen:q,errors:I})=>{var T,O,B,k,E,L,F,$;const[R,_]=s({request:!1,response:!1,method:!1}),[V,H]=s(void 0),[J,M]=s({}),[P,W]=s([]),[G,z]=s(!1),[X,K]=s(null),[Q,U]=s(null),[Y,Z]=s(),[ee,se]=s(),[oe,le]=s([]),[ne,ae]=s(f[4]),[ie,re]=s([]),[te,de]=s(null),ce=m.responses.find((e=>Number(e.code)===ne.value))||"{}",me=(e,s,o)=>{const l=P.map(((l,n)=>n===o?Object.assign(Object.assign({},l),{[e]:s}):l));W(l)},ue=(s,o)=>(o?s.filter((e=>e.in&&"header"!=e.in.toLowerCase())):s.filter((e=>e.in&&"header"==e.in.toLowerCase()))).map(((s,o)=>{var a,t,u,p,h,j,g,y,b,f,S,A,q,I,T,O,B,k,E,L,F,$,R,_,V,H,P,W,G,z,X,K,Q,U;return{id:o,paramName:s.name,paramType:x(s.in),schemaType:x(null===(a=s.schema)||void 0===a?void 0:a.type)||"",required:e.jsx(e.Fragment,{children:D?s.required?"True":"False":e.jsx(l.Switch,{checked:s.required,onClick:()=>{if(D)return null;me("required",!s.required,o),w(`parameters[${o}][required]`,!s.required)}})}),description:e.jsxs("div",{className:C.paramDescContainer,children:[e.jsx(v,{allowHTML:!0,disabled:(null===(t=m.parameters[o].description)||void 0===t?void 0:t.length)<=12,content:e.jsx("div",{style:{padding:"0.625rem"},children:m.parameters[o].description}),arrowWithBorder:!0,placement:"bottom-end",type:"function",delay:[0,0],onShow:()=>{var e;return null===(e=J[o])||void 0===e?void 0:e.hide()},children:e.jsxs("p",{style:{alignSelf:"center"},children:[m.parameters[o].description?m.parameters[o].description.substring(0,12):D&&"-",m.parameters[o].description&&m.parameters[o].description.length>12?"...":""]})},`${o}-description`),!D&&e.jsx(v,{allowHTML:!0,arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>M((s=>Object.assign(Object.assign({},s),{[o]:e}))),content:e.jsxs("div",{className:C.editDescTooltipContent,children:[e.jsx("p",{className:C.editDescTooltipContent_header,children:"Description"}),e.jsx(l.TextArea,{placeholder:"Describe parameter...",value:s.description,disabled:D,maxLength:120,onChange:e=>{(""===e||N.ASCII.test(e))&&me("description",e,o)}}),!D&&e.jsx(l.Button,{className:C.editDescTooltipContent_btn,variant:"outlined",size:"small",onClick:()=>{var e,l;w(`parameters[${o}].description`,null===(e=s.description)||void 0===e?void 0:e.trim()),null===(l=J[o])||void 0===l||l.hide()},disabled:!(null===(u=s.description)||void 0===u?void 0:u.trim()),children:"Apply"})]}),children:D||(null===(p=m.parameters[o].description)||void 0===p?void 0:p.length)>0?e.jsx(l.Button,{className:C.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:r,width:"1.5rem",height:"1.5rem"})}):e.jsxs(l.Button,{className:C.editDescBtn,variant:"link",color:"action",endIcon:e.jsx(n,{src:r,width:"1.5rem",height:"1.5rem"}),children:[D?"View ":"Add "," Description"]})},`${o}-add-edit-description`),!D&&e.jsx("div",{className:C.paramDescContainer_separator}),!D&&e.jsx(l.Button,{className:C.deleteParamBtn,variant:"link",color:"error",endIcon:e.jsx(n,{src:i,width:"1.125rem",height:"1.125rem"}),onClick:()=>pe(o,s.name)})]}),enum:e.jsx(e.Fragment,{children:D?null===(j=null===(h=null==s?void 0:s.schema)||void 0===h?void 0:h.enum)||void 0===j?void 0:j.join(" / "):e.jsxs("div",{"data-id":"TEXT_DESCRIPTION",className:"tableData",children:[(null===(g=m.parameters[o])||void 0===g?void 0:g.schema)&&"array"!=(null===(f=null===(b=null===(y=m.parameters[o])||void 0===y?void 0:y.schema)||void 0===b?void 0:b.type)||void 0===f?void 0:f.toLowerCase())&&"object"!=(null===(q=null===(A=null===(S=m.parameters[o])||void 0===S?void 0:S.schema)||void 0===A?void 0:A.type)||void 0===q?void 0:q.toLowerCase())?e.jsx(v,{disabled:"array"==(null===(O=null===(T=null===(I=m.parameters[o])||void 0===I?void 0:I.schema)||void 0===T?void 0:T.type)||void 0===O?void 0:O.toLowerCase())||"object"==(null===(E=null===(k=null===(B=m.parameters[o])||void 0===B?void 0:B.schema)||void 0===k?void 0:k.type)||void 0===E?void 0:E.toLowerCase()),arrowWithBorder:!0,placement:"bottom-end",type:"function",trigger:"click",delay:[0,0],onCreate:e=>de(e),content:e.jsxs("div",{className:C.editDescTooltipContent,children:[e.jsx("p",{className:C.editDescTooltipContent_header,children:"Enum"}),!!(null===(F=null===(L=m.parameters[o])||void 0===L?void 0:L.schema)||void 0===F?void 0:F.enum)&&!!(null===(R=null===($=m.parameters[o])||void 0===$?void 0:$.schema)||void 0===R?void 0:R.enum.length)&&(null===(H=null===(V=null===(_=m.parameters[o])||void 0===_?void 0:_.schema)||void 0===V?void 0:V.enum)||void 0===H?void 0:H.map(((s,n)=>e.jsx(l.Input,{className:"methodDescForEnum",required:!0,clearable:!1,placeholder:"Enter Enum value...",value:s,onChange:e=>{w(`parameters[${o}].schema.enum[${n}]`,e)}},o)))),e.jsxs("p",{className:"addEnumButton",onClick:()=>{var e,s;w(`parameters[${o}].schema.enum`,[...null===(s=null===(e=m.parameters[o])||void 0===e?void 0:e.schema)||void 0===s?void 0:s.enum,""])},children:[e.jsx(n,{src:c}),"Add New Enum"]}),!D&&e.jsx(l.Button,{className:C.editDescTooltipContent_btn,variant:"outlined",size:"small",type:"button",onClick:()=>{w(`parameters[${o}].schema.enum`,[...m.parameters[o].schema.enum]),re([]),null==te||te.hide()},disabled:ie.length>0&&(null==ie?void 0:ie.filter((e=>!e)).length)||(null===(W=null===(P=null==m?void 0:m.parameters[o])||void 0===P?void 0:P.schema)||void 0===W?void 0:W.enum)&&(null===(X=null===(z=null===(G=null==m?void 0:m.parameters[o])||void 0===G?void 0:G.schema)||void 0===z?void 0:z.enum)||void 0===X?void 0:X.length)>0&&(null===(U=null===(Q=null===(K=null==m?void 0:m.parameters[o])||void 0===K?void 0:K.schema)||void 0===Q?void 0:Q.enum)||void 0===U?void 0:U.filter((e=>!e)).length),children:"Apply"})]}),children:e.jsx(l.Button,{className:C.editDescBtn,id:"EnumButton",variant:"link",color:"action",endIcon:e.jsx(n,{id:"enumIcon",src:d,width:"1.5rem",height:"1.5rem"}),children:"Add"})}):"-"," "]})})}})),pe=(e,s)=>{K(e),U(s),z(!0)},ve=e=>{W([...P,e]),w("parameters",[...m.parameters,e])};return o((()=>{Z(ue(P,!0)),se(ue(P,!1))}),[P]),o((()=>{(null==m?void 0:m.parameters)&&W(m.parameters)}),[m,j]),o((()=>{var e;if((null==m?void 0:m.tags.length)||(null==S?void 0:S.length)){const s=[...null===(e=(null==m?void 0:m.tags)||[])||void 0===e?void 0:e.map((e=>({label:x(e),value:e}))),...(S||[]).map((e=>({label:x(e.name),value:e.name})))].filter(((e,s,o)=>s===o.findIndex((s=>s.value===e.value))));le(s)}}),[S,m]),e.jsxs("div",{children:[e.jsx(l.Accordion,{expanded:A,onChange:()=>q(!A),className:`${C.methodAccordion} ${D?C.readOnly:""}`,summary:e.jsxs("div",{className:C.methodSummaryContainer,children:[e.jsxs("div",{className:C.methodSummary,children:[e.jsx("span",{style:{backgroundColor:(null===(T=null==u?void 0:u[null==m?void 0:m.type])||void 0===T?void 0:T.color)||"#3A6CD1"},className:C.methodLabel,children:(null===(O=null==u?void 0:u[null==m?void 0:m.type])||void 0===O?void 0:O.label)||(null==m?void 0:m.type)}),e.jsx("span",{className:C.methodPath,children:j})]}),e.jsx("div",{className:`${C.methodExpandArrowContainer} ${A?C.expanded:""}`,children:e.jsx(n,{src:a,width:"2rem",height:"2rem"})})]}),children:e.jsxs("div",{className:C.methodAccordionContent,children:[D?e.jsx(h,{label:"Endpoint Name: ",value:(null==m?void 0:m.summary)||"-"},"summary"):e.jsx(l.Input,{className:C.methodDesc,label:"Endpoint Name",required:!0,placeholder:"Endpoint name...",value:null==m?void 0:m.summary,onChange:e=>{(""===(e=e||"")||N.ASCII.test(e))&&w("summary",e)},onClear:()=>{w("summary","")},errorMsg:null==I?void 0:I.summary}),e.jsx(l.SelectGroup,{className:C.methodDesc,disabled:D,placeholder:"Select Tags",label:"Tags",value:null===(B=m.tags)||void 0===B?void 0:B.map((e=>({label:x(e),value:e}))),onChange:e=>{w("tags",e.map((e=>e.value)))},options:[{list:oe}],isMultiple:!0,withSearch:!1,clearable:!1}),D?e.jsx(h,{label:"Description: ",value:(null==m?void 0:m.description)||"-"},"description"):e.jsx(l.TextArea,{className:C.methodDesc,label:"Description",placeholder:"Describe the method's purpose and functionality...",maxLength:120,value:null==m?void 0:m.description,onChange:e=>{(""===e||N.ASCII.test(e))&&w("description",e)}}),e.jsxs("div",{className:C.paramsTable,children:[e.jsx("h4",{className:C.paramsTableBodyHead,children:"Request Details"}),e.jsx(g,{id:"paramter-request-table",data:Y,headCells:p,isFormOpen:V&&"Req"==V,setIsFormOpen:H,saveNewRow:ve,readOnly:D,isRequest:!0}),"get"!==(null==m?void 0:m.type)&&"delete"!==(null==m?void 0:m.type)&&e.jsx(l.Accordion,{expanded:R.request,onChange:()=>null,className:C.requestAccordion,summary:e.jsx("span",{className:C.requestAccordionSummary,children:e.jsxs("div",{className:C.requestAccordionSummary_title,onClick:()=>_((e=>Object.assign(Object.assign({},e),{request:!e.request}))),children:[e.jsx(n,{className:R.request?C.expanded:"",src:a,width:"2rem",height:"2rem"}),"Request","delete"!==(null==m?void 0:m.type)&&e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(b,{acceptType:"JSON",withFooter:!D,className:"jsonField",placeholder:"Enter your request body as a JSON object....",fieldIsDisabled:D,value:(null===(L=null===(E=null===(k=null==m?void 0:m.requestBody)||void 0===k?void 0:k.content)||void 0===E?void 0:E.schema)||void 0===L?void 0:L.properties)||"{}",onChange:e=>{w("requestBody.content.schema.properties",e)},onValidation:()=>null})})]}),e.jsxs("div",{className:C.paramsTable,children:[e.jsxs("div",{className:C.responseHeader,children:[e.jsx("h4",{className:C.paramsTableBodyHead,children:"Response Details"}),e.jsx(l.SelectGroup,{withSearch:!1,isMultiple:!1,clearable:!1,placeholder:"200",options:[{list:f}],value:ne,onChange:e=>{ae(e)}})]}),e.jsx(g,{id:"paramter-response-table",data:ee,headCells:p,isFormOpen:V&&"Res"==V,setIsFormOpen:H,saveNewRow:ve,readOnly:D,isRequest:!1}),e.jsx(l.Accordion,{expanded:R.response,onChange:()=>null,className:C.responseAccordion,summary:e.jsx("span",{className:C.responseAccordionSummary,children:e.jsxs("div",{className:C.responseAccordionSummary_title,onClick:()=>_((e=>Object.assign(Object.assign({},e),{response:!e.response}))),children:[e.jsx(n,{className:R.response?C.expanded:"",src:a,width:"2rem",height:"2rem"}),"Response",e.jsx("span",{style:{color:"red"},children:"*"})]})}),children:e.jsx(b,{acceptType:"JSON",withFooter:!D,className:"jsonField",placeholder:"Enter your response as a JSON object...",fieldIsDisabled:D,value:(null===($=null===(F=null==ce?void 0:ce.content)||void 0===F?void 0:F.schema)||void 0===$?void 0:$.properties)||"{}",onChange:e=>{const s=m.responses.findIndex((e=>e.code===ce.code));if(-1!==s)w(`responses[${s}].content.schema.properties`,e);else{const s=structuredClone(m.responses);s.push({code:ne.value.toString(),content:{contentType:"application/json",schema:{type:"object",properties:e}}}),w("responses",s)}},onValidation:e=>null})})]})]})}),e.jsx(y,{status:"error",content:e.jsxs("p",{style:{textAlign:"center",fontWeight:400,fontSize:"1rem",lineHeight:"1.4375rem"},className:"delete-msg-container",children:["Are you sure you want to delete",e.jsxs("span",{className:"plan-name",children:[" ","Parameter ",e.jsx("strong",{children:Q})]}),"?"]}),onSubmit:{onClick:()=>{var e;null!==X&&(W((e=>e.filter(((e,s)=>s!==X)))),w("parameters",null===(e=null==m?void 0:m.parameters)||void 0===e?void 0:e.filter(((e,s)=>s!==X)))),z(!1),K(null)},text:"Delete",color:"error",fullWidth:!0},onCancel:{text:"Cancel",color:"normal",fullWidth:!0},onClose:()=>z(!1),open:G,icon:e.jsx(n,{src:t,width:"4.0625rem",height:"4.0625rem"})})]})};export{w as default};
|
|
2
2
|
//# sourceMappingURL=MethodAccordion.js.map
|