@digi-frontend/dgate-api-documentation 1.4.91 → 1.4.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{7f54eeb0bb2d1150.svg → AddRow-LMCRPSUE.svg} +3 -3
- package/dist/{assets/icons/ApiIcon.svg → ApiIcon-KLALYTGU.svg} +12 -12
- package/dist/{assets/ArrowBack.svg → ArrowBack-WPO44MCE.svg} +3 -3
- package/dist/{assets/icons/BookIcon.svg → BookIcon-DTFFNNUI.svg} +6 -6
- package/dist/{assets/icons/CloseIcon.svg → CloseIcon-XBFFXNHO.svg} +4 -4
- package/dist/{assets/icons/DeleteIcon.svg → DeleteIcon-YY2BMSSQ.svg} +3 -3
- package/dist/{assets/deleteOutlinedIcon.svg → DeleteOutlinedIcon-LWAYUQTY.svg} +8 -8
- package/dist/{assets/icons/DownArrow.svg → DownArrow-GW2NYAGY.svg} +3 -3
- package/dist/{assets/icons/EditIcon.svg → EditIcon-VKJX2S7G.svg} +3 -3
- package/dist/{assets/icons/FilterIcon.svg → FilterIcon-HCGAU2UE.svg} +4 -4
- package/dist/{assets/Plus.svg → Plus-2CAURJBA.svg} +5 -5
- package/dist/{assets/icons/PlusSquare.svg → PlusSquare-6RCDSXK5.svg} +3 -3
- package/dist/{assets/icons/RequestOption.svg → RequestOption-SML2S2JS.svg} +5 -5
- package/dist/{d501922060662842.svg → UpArrow-RPWA4MT7.svg} +3 -3
- package/dist/{assets/arrow-down.svg → arrow-down-3YOV5T5P.svg} +3 -3
- package/dist/{ce94023947952cc6.svg → arrow-up-3ILQRWFS.svg} +10 -10
- package/dist/{9b7aee27757b5036.svg → arrowDownGray-F2OI2T62.svg} +3 -3
- package/dist/{assets/icons/arrowRightGray.svg → arrowRightGray-MQJPGBPB.svg} +3 -3
- package/dist/{assets/close-circle.svg → close-circle-B4ENVLSJ.svg} +5 -5
- package/dist/{assets/copy.svg → copy-MB67BG7A.svg} +4 -4
- package/dist/{16702d92fd6d1730.svg → document-CB3F2C54.svg} +6 -6
- package/dist/{assets/icons/eye.svg → eye-BXRFBT6A.svg} +4 -4
- package/dist/index.css +2730 -0
- package/dist/index.css.map +1 -0
- package/dist/{types/openApi.d.ts → index.d.mts} +52 -15
- package/dist/index.d.ts +135 -2
- package/dist/index.js +7867 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7833 -0
- package/dist/index.mjs.map +1 -0
- package/dist/{assets/icons/infoIcon.svg → infoIcon-U6UFYEH2.svg} +5 -5
- package/dist/{assets/newCopyIcon.svg → newCopyIcon-6SVKOS4O.svg} +4 -4
- package/dist/{assets/searchIcon.svg → searchIcon-NZDY7VDR.svg} +4 -4
- package/package.json +64 -53
- package/src/components/Chips/style.scss +147 -147
- package/src/components/InfoForm/InfoForm.module.scss +165 -165
- package/src/components/JsonInput/style.module.scss +133 -133
- package/src/components/LivePreview/LivePreview.module.scss +181 -181
- package/src/components/MethodAccordion/MethodAccordion.module.scss +399 -399
- package/src/components/SectionHead/SectionHead.scss +29 -29
- package/src/components/SimpleLabelValue/style.scss +30 -30
- package/src/components/Tooltip/Tooltip.scss +133 -133
- package/src/components/_global.scss +337 -337
- package/src/components/dialog/style.scss +188 -188
- package/src/components/table/style.scss +223 -223
- package/src/layout/docsComponents/Codebox/style.module.scss +43 -43
- package/src/layout/docsComponents/DocsAside/style.module.scss +113 -113
- package/src/layout/docsComponents/DocsContent/EndpointPage/style.scss +382 -382
- package/src/layout/docsComponents/DocsContent/OverviewPage/style.scss +332 -332
- package/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss +297 -297
- package/src/layout/docsComponents/DocsSideMenuTree/style.scss +202 -202
- package/src/layout/docsComponents/index.scss +49 -49
- package/.editorconfig +0 -13
- package/.prettierignore +0 -8
- package/.prettierrc +0 -15
- package/dist/070dc6ecd197bc80.svg +0 -8
- package/dist/2b546d6e9fdf604a.svg +0 -3
- package/dist/2c3c6c2c3b835504.svg +0 -5
- package/dist/2e10bbdb265df50e.svg +0 -4
- package/dist/55b5994c5781482b.svg +0 -5
- package/dist/60bef8083c55f46b.svg +0 -6
- package/dist/68c710e0583e19e6.svg +0 -5
- package/dist/6ec653b209606e22.svg +0 -4
- package/dist/731221b3f242672d.svg +0 -4
- package/dist/8520b6792278d9df.svg +0 -6
- package/dist/8789eb84283ea95b.svg +0 -5
- package/dist/9506ef7a26a74147.svg +0 -12
- package/dist/9bdff13f8d8fa48a.svg +0 -3
- package/dist/_virtual/Parser.js +0 -2
- package/dist/_virtual/Parser.js.map +0 -1
- package/dist/_virtual/Tokenizer.js +0 -2
- package/dist/_virtual/Tokenizer.js.map +0 -1
- package/dist/_virtual/_commonjsHelpers.js +0 -2
- package/dist/_virtual/_commonjsHelpers.js.map +0 -1
- package/dist/_virtual/attributes-to-props.js +0 -2
- package/dist/_virtual/attributes-to-props.js.map +0 -1
- package/dist/_virtual/core.js +0 -2
- package/dist/_virtual/core.js.map +0 -1
- package/dist/_virtual/core2.js +0 -2
- package/dist/_virtual/core2.js.map +0 -1
- package/dist/_virtual/decode-codepoint.js +0 -2
- package/dist/_virtual/decode-codepoint.js.map +0 -1
- package/dist/_virtual/decode-data-html.js +0 -2
- package/dist/_virtual/decode-data-html.js.map +0 -1
- package/dist/_virtual/decode-data-html2.js +0 -2
- package/dist/_virtual/decode-data-html2.js.map +0 -1
- package/dist/_virtual/decode-data-xml.js +0 -2
- package/dist/_virtual/decode-data-xml.js.map +0 -1
- package/dist/_virtual/decode-data-xml2.js +0 -2
- package/dist/_virtual/decode-data-xml2.js.map +0 -1
- package/dist/_virtual/decode.js +0 -2
- package/dist/_virtual/decode.js.map +0 -1
- package/dist/_virtual/decode2.js +0 -2
- package/dist/_virtual/decode2.js.map +0 -1
- package/dist/_virtual/decode_codepoint.js +0 -2
- package/dist/_virtual/decode_codepoint.js.map +0 -1
- package/dist/_virtual/dom-to-react.js +0 -2
- package/dist/_virtual/dom-to-react.js.map +0 -1
- package/dist/_virtual/encode-html.js +0 -2
- package/dist/_virtual/encode-html.js.map +0 -1
- package/dist/_virtual/encode.js +0 -2
- package/dist/_virtual/encode.js.map +0 -1
- package/dist/_virtual/escape.js +0 -2
- package/dist/_virtual/escape.js.map +0 -1
- package/dist/_virtual/feeds.js +0 -2
- package/dist/_virtual/feeds.js.map +0 -1
- package/dist/_virtual/foreignNames.js +0 -2
- package/dist/_virtual/foreignNames.js.map +0 -1
- package/dist/_virtual/format.js +0 -2
- package/dist/_virtual/format.js.map +0 -1
- package/dist/_virtual/helpers.js +0 -2
- package/dist/_virtual/helpers.js.map +0 -1
- package/dist/_virtual/hoist-non-react-statics.cjs.js +0 -2
- package/dist/_virtual/hoist-non-react-statics.cjs.js.map +0 -1
- package/dist/_virtual/html-to-dom.js +0 -2
- package/dist/_virtual/html-to-dom.js.map +0 -1
- package/dist/_virtual/index.js +0 -2
- package/dist/_virtual/index.js.map +0 -1
- package/dist/_virtual/index10.js +0 -2
- package/dist/_virtual/index10.js.map +0 -1
- package/dist/_virtual/index11.js +0 -2
- package/dist/_virtual/index11.js.map +0 -1
- package/dist/_virtual/index12.js +0 -2
- package/dist/_virtual/index12.js.map +0 -1
- package/dist/_virtual/index13.js +0 -2
- package/dist/_virtual/index13.js.map +0 -1
- package/dist/_virtual/index14.js +0 -2
- package/dist/_virtual/index14.js.map +0 -1
- package/dist/_virtual/index15.js +0 -2
- package/dist/_virtual/index15.js.map +0 -1
- package/dist/_virtual/index16.js +0 -2
- package/dist/_virtual/index16.js.map +0 -1
- package/dist/_virtual/index17.js +0 -2
- package/dist/_virtual/index17.js.map +0 -1
- package/dist/_virtual/index18.js +0 -2
- package/dist/_virtual/index18.js.map +0 -1
- package/dist/_virtual/index19.js +0 -2
- package/dist/_virtual/index19.js.map +0 -1
- package/dist/_virtual/index2.js +0 -2
- package/dist/_virtual/index2.js.map +0 -1
- package/dist/_virtual/index20.js +0 -2
- package/dist/_virtual/index20.js.map +0 -1
- package/dist/_virtual/index3.js +0 -2
- package/dist/_virtual/index3.js.map +0 -1
- package/dist/_virtual/index4.js +0 -2
- package/dist/_virtual/index4.js.map +0 -1
- package/dist/_virtual/index5.js +0 -2
- package/dist/_virtual/index5.js.map +0 -1
- package/dist/_virtual/index6.js +0 -2
- package/dist/_virtual/index6.js.map +0 -1
- package/dist/_virtual/index7.js +0 -2
- package/dist/_virtual/index7.js.map +0 -1
- package/dist/_virtual/index8.js +0 -2
- package/dist/_virtual/index8.js.map +0 -1
- package/dist/_virtual/index9.js +0 -2
- package/dist/_virtual/index9.js.map +0 -1
- package/dist/_virtual/json.js +0 -2
- package/dist/_virtual/json.js.map +0 -1
- package/dist/_virtual/jsx-runtime.js +0 -2
- package/dist/_virtual/jsx-runtime.js.map +0 -1
- package/dist/_virtual/jsx-runtime2.js +0 -2
- package/dist/_virtual/jsx-runtime2.js.map +0 -1
- package/dist/_virtual/legacy.js +0 -2
- package/dist/_virtual/legacy.js.map +0 -1
- package/dist/_virtual/manipulation.js +0 -2
- package/dist/_virtual/manipulation.js.map +0 -1
- package/dist/_virtual/node.js +0 -2
- package/dist/_virtual/node.js.map +0 -1
- package/dist/_virtual/possibleStandardNamesOptimized.js +0 -2
- package/dist/_virtual/possibleStandardNamesOptimized.js.map +0 -1
- package/dist/_virtual/querying.js +0 -2
- package/dist/_virtual/querying.js.map +0 -1
- package/dist/_virtual/react-is.development.js +0 -2
- package/dist/_virtual/react-is.development.js.map +0 -1
- package/dist/_virtual/react-is.production.min.js +0 -2
- package/dist/_virtual/react-is.production.min.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.development.js +0 -2
- package/dist/_virtual/react-jsx-runtime.development.js.map +0 -1
- package/dist/_virtual/react-jsx-runtime.production.min.js +0 -2
- package/dist/_virtual/react-jsx-runtime.production.min.js.map +0 -1
- package/dist/_virtual/stringify.js +0 -2
- package/dist/_virtual/stringify.js.map +0 -1
- package/dist/_virtual/traversal.js +0 -2
- package/dist/_virtual/traversal.js.map +0 -1
- package/dist/_virtual/types.js +0 -2
- package/dist/_virtual/types.js.map +0 -1
- package/dist/_virtual/utilities.js +0 -2
- package/dist/_virtual/utilities.js.map +0 -1
- package/dist/_virtual/utilities2.js +0 -2
- package/dist/_virtual/utilities2.js.map +0 -1
- package/dist/_virtual/utilities3.js +0 -2
- package/dist/_virtual/utilities3.js.map +0 -1
- package/dist/assets/AddRow.svg +0 -3
- package/dist/assets/ApiIcon.svg +0 -12
- package/dist/assets/BookIcon.svg +0 -6
- package/dist/assets/CheckMarkSquare.svg +0 -5
- package/dist/assets/CloseIcon.svg +0 -4
- package/dist/assets/CopySticker.svg +0 -6
- package/dist/assets/DeleteIcon.svg +0 -3
- package/dist/assets/DownArrow.svg +0 -3
- package/dist/assets/EditIcon.svg +0 -3
- package/dist/assets/FilterIcon.svg +0 -4
- package/dist/assets/PlusSquare.svg +0 -3
- package/dist/assets/RequestOption.svg +0 -5
- package/dist/assets/UpArrow.svg +0 -3
- package/dist/assets/arrow-up.svg +0 -10
- package/dist/assets/arrowDownGray.svg +0 -3
- package/dist/assets/arrowRightGray.svg +0 -3
- package/dist/assets/document.svg +0 -6
- package/dist/assets/eye.svg +0 -4
- package/dist/assets/icons/AddRow.svg +0 -3
- package/dist/assets/icons/ArrowBack.svg +0 -3
- package/dist/assets/icons/CheckMarkSquare.svg +0 -5
- package/dist/assets/icons/CopySticker.svg +0 -6
- package/dist/assets/icons/Plus.svg +0 -5
- package/dist/assets/icons/UpArrow.svg +0 -3
- package/dist/assets/icons/arrow-down.svg +0 -3
- package/dist/assets/icons/arrow-up.svg +0 -10
- package/dist/assets/icons/arrowDownGray.svg +0 -3
- package/dist/assets/icons/close-circle.svg +0 -5
- package/dist/assets/icons/copy.svg +0 -4
- package/dist/assets/icons/deleteOutlinedIcon.svg +0 -8
- package/dist/assets/icons/document.svg +0 -6
- package/dist/assets/icons/index.d.ts +0 -27
- package/dist/assets/icons/index.ts +0 -27
- package/dist/assets/icons/newCopyIcon.svg +0 -4
- package/dist/assets/icons/searchIcon.svg +0 -4
- package/dist/assets/index.ts +0 -27
- package/dist/assets/infoIcon.svg +0 -5
- package/dist/bb8b87cace25e052.svg +0 -3
- package/dist/cceb1e5dc06b0b85.svg +0 -4
- package/dist/components/Chips/Chips.d.ts +0 -17
- package/dist/components/InfoForm/InfoForm.d.ts +0 -4
- package/dist/components/JsonInput/JsonInput.d.ts +0 -15
- package/dist/components/LivePreview/LivePreview.d.ts +0 -8
- package/dist/components/MethodAccordion/MethodAccordion.d.ts +0 -13
- package/dist/components/SVGLoader/SVGLoader.d.ts +0 -8
- package/dist/components/SectionHead/SectionHead.d.ts +0 -10
- package/dist/components/SimpleLabelValue/SimpleLabelValue.d.ts +0 -11
- package/dist/components/SimpleLabelValue/index.d.ts +0 -1
- package/dist/components/Tooltip/Tooltip.d.ts +0 -19
- package/dist/components/dialog/dialog.d.ts +0 -47
- package/dist/components/dialog/index.d.ts +0 -5
- package/dist/components/table/table.d.ts +0 -13
- package/dist/components/table/tags-table.d.ts +0 -11
- package/dist/constants/index.d.ts +0 -73
- package/dist/constants/methods.constant.d.ts +0 -16
- package/dist/constants/regex.d.ts +0 -7
- package/dist/context/SectionToggleContext.d.ts +0 -37
- package/dist/d140a601c85bac25.svg +0 -3
- package/dist/d318fe83a89fd75b.svg +0 -3
- package/dist/d32ce84bbd78babd.svg +0 -3
- package/dist/d6d0a98ec38e6b77.svg +0 -3
- package/dist/e04479ad425e7d58.svg +0 -4
- package/dist/f4452c3ebcf0d5da.svg +0 -4
- package/dist/f4a32992f02af522.svg +0 -5
- package/dist/helpers/docs.helper.d.ts +0 -3
- package/dist/helpers/layout.helper.d.ts +0 -7
- package/dist/helpers/methodAccordion.helper.d.ts +0 -2
- package/dist/layout/docsComponents/Codebox/Codebox.d.ts +0 -5
- package/dist/layout/docsComponents/DocsAside/DocsAside.d.ts +0 -6
- package/dist/layout/docsComponents/DocsContent/DocsContent.d.ts +0 -12
- package/dist/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +0 -7
- package/dist/layout/docsComponents/DocsContent/OverviewPage/index.d.ts +0 -10
- package/dist/layout/docsComponents/DocsHeader/DocsHeader.d.ts +0 -7
- package/dist/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +0 -18
- package/dist/layout/docsComponents/index.d.ts +0 -17
- package/dist/layout/docsLayout.d.ts +0 -31
- package/dist/layout/layout.d.ts +0 -10
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/defineProperty.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/defineProperty.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/extends.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/extends.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/iterableToArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/toConsumableArray.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/toPrimitive.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/typeof.js.map +0 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js +0 -2
- package/dist/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/createPopper.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/createPopper.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/contains.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/contains.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeName.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getParentNode.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindow.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindow.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/instanceOf.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/isTableElement.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/enums.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/enums.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/modifiers/applyStyles.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/modifiers/arrow.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/modifiers/arrow.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/modifiers/computeStyles.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/modifiers/computeStyles.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/modifiers/eventListeners.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/modifiers/flip.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/modifiers/hide.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/modifiers/offset.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/modifiers/popperOffsets.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/modifiers/preventOverflow.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/popper.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/popper.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/computeOffsets.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/computeOffsets.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/debounce.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/debounce.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/detectOverflow.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/expandToHashMap.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/getAltAxis.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/getAltAxis.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/getBasePlacement.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/getBasePlacement.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/getFreshSideObject.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositePlacement.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/getVariation.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/getVariation.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/math.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/math.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/mergeByName.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/mergePaddingObject.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/orderModifiers.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/rectToClientRect.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/rectToClientRect.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/userAgent.js.map +0 -1
- package/dist/node_modules/@popperjs/core/lib/utils/within.js +0 -2
- package/dist/node_modules/@popperjs/core/lib/utils/within.js.map +0 -1
- package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js +0 -2
- package/dist/node_modules/@tippyjs/react/dist/tippy-react.esm.js.map +0 -1
- package/dist/node_modules/clsx/dist/clsx.mjs.js +0 -2
- package/dist/node_modules/clsx/dist/clsx.mjs.js.map +0 -1
- package/dist/node_modules/digitinary-ui/dist/index.js +0 -3
- package/dist/node_modules/digitinary-ui/dist/index.js.map +0 -1
- package/dist/node_modules/dom-serializer/lib/foreignNames.js +0 -2
- package/dist/node_modules/dom-serializer/lib/foreignNames.js.map +0 -1
- package/dist/node_modules/dom-serializer/lib/index.js +0 -2
- package/dist/node_modules/dom-serializer/lib/index.js.map +0 -1
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js +0 -2
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode.js.map +0 -1
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js +0 -2
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js.map +0 -1
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js +0 -2
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/encode.js.map +0 -1
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js +0 -2
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/escape.js.map +0 -1
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js +0 -2
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js +0 -2
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js +0 -2
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js.map +0 -1
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js +0 -2
- package/dist/node_modules/dom-serializer/node_modules/entities/lib/index.js.map +0 -1
- package/dist/node_modules/domelementtype/lib/index.js +0 -2
- package/dist/node_modules/domelementtype/lib/index.js.map +0 -1
- package/dist/node_modules/domhandler/lib/index.js +0 -2
- package/dist/node_modules/domhandler/lib/index.js.map +0 -1
- package/dist/node_modules/domhandler/lib/node.js +0 -2
- package/dist/node_modules/domhandler/lib/node.js.map +0 -1
- package/dist/node_modules/domutils/lib/feeds.js +0 -2
- package/dist/node_modules/domutils/lib/feeds.js.map +0 -1
- package/dist/node_modules/domutils/lib/helpers.js +0 -2
- package/dist/node_modules/domutils/lib/helpers.js.map +0 -1
- package/dist/node_modules/domutils/lib/index.js +0 -2
- package/dist/node_modules/domutils/lib/index.js.map +0 -1
- package/dist/node_modules/domutils/lib/legacy.js +0 -2
- package/dist/node_modules/domutils/lib/legacy.js.map +0 -1
- package/dist/node_modules/domutils/lib/manipulation.js +0 -2
- package/dist/node_modules/domutils/lib/manipulation.js.map +0 -1
- package/dist/node_modules/domutils/lib/querying.js +0 -2
- package/dist/node_modules/domutils/lib/querying.js.map +0 -1
- package/dist/node_modules/domutils/lib/stringify.js +0 -2
- package/dist/node_modules/domutils/lib/stringify.js.map +0 -1
- package/dist/node_modules/domutils/lib/traversal.js +0 -2
- package/dist/node_modules/domutils/lib/traversal.js.map +0 -1
- package/dist/node_modules/entities/dist/commonjs/decode-codepoint.js +0 -2
- package/dist/node_modules/entities/dist/commonjs/decode-codepoint.js.map +0 -1
- package/dist/node_modules/entities/dist/commonjs/decode.js +0 -2
- package/dist/node_modules/entities/dist/commonjs/decode.js.map +0 -1
- package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js +0 -2
- package/dist/node_modules/entities/dist/commonjs/generated/decode-data-html.js.map +0 -1
- package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +0 -2
- package/dist/node_modules/entities/dist/commonjs/generated/decode-data-xml.js.map +0 -1
- package/dist/node_modules/fast-json-stable-stringify/index.js +0 -2
- package/dist/node_modules/fast-json-stable-stringify/index.js.map +0 -1
- package/dist/node_modules/fault/index.js +0 -2
- package/dist/node_modules/fault/index.js.map +0 -1
- package/dist/node_modules/format/format.js +0 -2
- package/dist/node_modules/format/format.js.map +0 -1
- package/dist/node_modules/formik/dist/formik.esm.js +0 -2
- package/dist/node_modules/formik/dist/formik.esm.js.map +0 -1
- package/dist/node_modules/formik/node_modules/deepmerge/dist/es.js +0 -2
- package/dist/node_modules/formik/node_modules/deepmerge/dist/es.js.map +0 -1
- package/dist/node_modules/highlight.js/lib/core.js +0 -2
- package/dist/node_modules/highlight.js/lib/core.js.map +0 -1
- package/dist/node_modules/highlight.js/lib/languages/json.js +0 -2
- package/dist/node_modules/highlight.js/lib/languages/json.js.map +0 -1
- package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +0 -2
- package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js.map +0 -1
- package/dist/node_modules/html-dom-parser/lib/index.js +0 -2
- package/dist/node_modules/html-dom-parser/lib/index.js.map +0 -1
- package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js +0 -2
- package/dist/node_modules/html-dom-parser/lib/server/html-to-dom.js.map +0 -1
- package/dist/node_modules/html-dom-parser/lib/server/utilities.js +0 -2
- package/dist/node_modules/html-dom-parser/lib/server/utilities.js.map +0 -1
- package/dist/node_modules/html-dom-parser/lib/types.js +0 -2
- package/dist/node_modules/html-dom-parser/lib/types.js.map +0 -1
- package/dist/node_modules/html-react-parser/esm/index.mjs.js +0 -2
- package/dist/node_modules/html-react-parser/esm/index.mjs.js.map +0 -1
- package/dist/node_modules/html-react-parser/lib/attributes-to-props.js +0 -2
- package/dist/node_modules/html-react-parser/lib/attributes-to-props.js.map +0 -1
- package/dist/node_modules/html-react-parser/lib/dom-to-react.js +0 -2
- package/dist/node_modules/html-react-parser/lib/dom-to-react.js.map +0 -1
- package/dist/node_modules/html-react-parser/lib/index.js +0 -2
- package/dist/node_modules/html-react-parser/lib/index.js.map +0 -1
- package/dist/node_modules/html-react-parser/lib/utilities.js +0 -2
- package/dist/node_modules/html-react-parser/lib/utilities.js.map +0 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/Parser.js +0 -2
- package/dist/node_modules/htmlparser2/dist/commonjs/Parser.js.map +0 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js +0 -2
- package/dist/node_modules/htmlparser2/dist/commonjs/Tokenizer.js.map +0 -1
- package/dist/node_modules/htmlparser2/dist/commonjs/index.js +0 -2
- package/dist/node_modules/htmlparser2/dist/commonjs/index.js.map +0 -1
- package/dist/node_modules/inline-style-parser/index.js +0 -2
- package/dist/node_modules/inline-style-parser/index.js.map +0 -1
- package/dist/node_modules/js-yaml/dist/js-yaml.mjs.js +0 -3
- package/dist/node_modules/js-yaml/dist/js-yaml.mjs.js.map +0 -1
- package/dist/node_modules/lodash-es/_DataView.js +0 -2
- package/dist/node_modules/lodash-es/_DataView.js.map +0 -1
- package/dist/node_modules/lodash-es/_Hash.js +0 -2
- package/dist/node_modules/lodash-es/_Hash.js.map +0 -1
- package/dist/node_modules/lodash-es/_ListCache.js +0 -2
- package/dist/node_modules/lodash-es/_ListCache.js.map +0 -1
- package/dist/node_modules/lodash-es/_Map.js +0 -2
- package/dist/node_modules/lodash-es/_Map.js.map +0 -1
- package/dist/node_modules/lodash-es/_MapCache.js +0 -2
- package/dist/node_modules/lodash-es/_MapCache.js.map +0 -1
- package/dist/node_modules/lodash-es/_Promise.js +0 -2
- package/dist/node_modules/lodash-es/_Promise.js.map +0 -1
- package/dist/node_modules/lodash-es/_Set.js +0 -2
- package/dist/node_modules/lodash-es/_Set.js.map +0 -1
- package/dist/node_modules/lodash-es/_Stack.js +0 -2
- package/dist/node_modules/lodash-es/_Stack.js.map +0 -1
- package/dist/node_modules/lodash-es/_Symbol.js +0 -2
- package/dist/node_modules/lodash-es/_Symbol.js.map +0 -1
- package/dist/node_modules/lodash-es/_Uint8Array.js +0 -2
- package/dist/node_modules/lodash-es/_Uint8Array.js.map +0 -1
- package/dist/node_modules/lodash-es/_WeakMap.js +0 -2
- package/dist/node_modules/lodash-es/_WeakMap.js.map +0 -1
- package/dist/node_modules/lodash-es/_arrayEach.js +0 -2
- package/dist/node_modules/lodash-es/_arrayEach.js.map +0 -1
- package/dist/node_modules/lodash-es/_arrayFilter.js +0 -2
- package/dist/node_modules/lodash-es/_arrayFilter.js.map +0 -1
- package/dist/node_modules/lodash-es/_arrayLikeKeys.js +0 -2
- package/dist/node_modules/lodash-es/_arrayLikeKeys.js.map +0 -1
- package/dist/node_modules/lodash-es/_arrayMap.js +0 -2
- package/dist/node_modules/lodash-es/_arrayMap.js.map +0 -1
- package/dist/node_modules/lodash-es/_arrayPush.js +0 -2
- package/dist/node_modules/lodash-es/_arrayPush.js.map +0 -1
- package/dist/node_modules/lodash-es/_assignValue.js +0 -2
- package/dist/node_modules/lodash-es/_assignValue.js.map +0 -1
- package/dist/node_modules/lodash-es/_assocIndexOf.js +0 -2
- package/dist/node_modules/lodash-es/_assocIndexOf.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseAssign.js +0 -2
- package/dist/node_modules/lodash-es/_baseAssign.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseAssignIn.js +0 -2
- package/dist/node_modules/lodash-es/_baseAssignIn.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseAssignValue.js +0 -2
- package/dist/node_modules/lodash-es/_baseAssignValue.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseClone.js +0 -2
- package/dist/node_modules/lodash-es/_baseClone.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseCreate.js +0 -2
- package/dist/node_modules/lodash-es/_baseCreate.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseGetAllKeys.js +0 -2
- package/dist/node_modules/lodash-es/_baseGetAllKeys.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseGetTag.js +0 -2
- package/dist/node_modules/lodash-es/_baseGetTag.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseIsArguments.js +0 -2
- package/dist/node_modules/lodash-es/_baseIsArguments.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseIsMap.js +0 -2
- package/dist/node_modules/lodash-es/_baseIsMap.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseIsNative.js +0 -2
- package/dist/node_modules/lodash-es/_baseIsNative.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseIsSet.js +0 -2
- package/dist/node_modules/lodash-es/_baseIsSet.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseIsTypedArray.js +0 -2
- package/dist/node_modules/lodash-es/_baseIsTypedArray.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseKeys.js +0 -2
- package/dist/node_modules/lodash-es/_baseKeys.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseKeysIn.js +0 -2
- package/dist/node_modules/lodash-es/_baseKeysIn.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseTimes.js +0 -2
- package/dist/node_modules/lodash-es/_baseTimes.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseToString.js +0 -2
- package/dist/node_modules/lodash-es/_baseToString.js.map +0 -1
- package/dist/node_modules/lodash-es/_baseUnary.js +0 -2
- package/dist/node_modules/lodash-es/_baseUnary.js.map +0 -1
- package/dist/node_modules/lodash-es/_cloneArrayBuffer.js +0 -2
- package/dist/node_modules/lodash-es/_cloneArrayBuffer.js.map +0 -1
- package/dist/node_modules/lodash-es/_cloneBuffer.js +0 -2
- package/dist/node_modules/lodash-es/_cloneBuffer.js.map +0 -1
- package/dist/node_modules/lodash-es/_cloneDataView.js +0 -2
- package/dist/node_modules/lodash-es/_cloneDataView.js.map +0 -1
- package/dist/node_modules/lodash-es/_cloneRegExp.js +0 -2
- package/dist/node_modules/lodash-es/_cloneRegExp.js.map +0 -1
- package/dist/node_modules/lodash-es/_cloneSymbol.js +0 -2
- package/dist/node_modules/lodash-es/_cloneSymbol.js.map +0 -1
- package/dist/node_modules/lodash-es/_cloneTypedArray.js +0 -2
- package/dist/node_modules/lodash-es/_cloneTypedArray.js.map +0 -1
- package/dist/node_modules/lodash-es/_copyArray.js +0 -2
- package/dist/node_modules/lodash-es/_copyArray.js.map +0 -1
- package/dist/node_modules/lodash-es/_copyObject.js +0 -2
- package/dist/node_modules/lodash-es/_copyObject.js.map +0 -1
- package/dist/node_modules/lodash-es/_copySymbols.js +0 -2
- package/dist/node_modules/lodash-es/_copySymbols.js.map +0 -1
- package/dist/node_modules/lodash-es/_copySymbolsIn.js +0 -2
- package/dist/node_modules/lodash-es/_copySymbolsIn.js.map +0 -1
- package/dist/node_modules/lodash-es/_coreJsData.js +0 -2
- package/dist/node_modules/lodash-es/_coreJsData.js.map +0 -1
- package/dist/node_modules/lodash-es/_defineProperty.js +0 -2
- package/dist/node_modules/lodash-es/_defineProperty.js.map +0 -1
- package/dist/node_modules/lodash-es/_freeGlobal.js +0 -2
- package/dist/node_modules/lodash-es/_freeGlobal.js.map +0 -1
- package/dist/node_modules/lodash-es/_getAllKeys.js +0 -2
- package/dist/node_modules/lodash-es/_getAllKeys.js.map +0 -1
- package/dist/node_modules/lodash-es/_getAllKeysIn.js +0 -2
- package/dist/node_modules/lodash-es/_getAllKeysIn.js.map +0 -1
- package/dist/node_modules/lodash-es/_getMapData.js +0 -2
- package/dist/node_modules/lodash-es/_getMapData.js.map +0 -1
- package/dist/node_modules/lodash-es/_getNative.js +0 -2
- package/dist/node_modules/lodash-es/_getNative.js.map +0 -1
- package/dist/node_modules/lodash-es/_getPrototype.js +0 -2
- package/dist/node_modules/lodash-es/_getPrototype.js.map +0 -1
- package/dist/node_modules/lodash-es/_getRawTag.js +0 -2
- package/dist/node_modules/lodash-es/_getRawTag.js.map +0 -1
- package/dist/node_modules/lodash-es/_getSymbols.js +0 -2
- package/dist/node_modules/lodash-es/_getSymbols.js.map +0 -1
- package/dist/node_modules/lodash-es/_getSymbolsIn.js +0 -2
- package/dist/node_modules/lodash-es/_getSymbolsIn.js.map +0 -1
- package/dist/node_modules/lodash-es/_getTag.js +0 -2
- package/dist/node_modules/lodash-es/_getTag.js.map +0 -1
- package/dist/node_modules/lodash-es/_getValue.js +0 -2
- package/dist/node_modules/lodash-es/_getValue.js.map +0 -1
- package/dist/node_modules/lodash-es/_hashClear.js +0 -2
- package/dist/node_modules/lodash-es/_hashClear.js.map +0 -1
- package/dist/node_modules/lodash-es/_hashDelete.js +0 -2
- package/dist/node_modules/lodash-es/_hashDelete.js.map +0 -1
- package/dist/node_modules/lodash-es/_hashGet.js +0 -2
- package/dist/node_modules/lodash-es/_hashGet.js.map +0 -1
- package/dist/node_modules/lodash-es/_hashHas.js +0 -2
- package/dist/node_modules/lodash-es/_hashHas.js.map +0 -1
- package/dist/node_modules/lodash-es/_hashSet.js +0 -2
- package/dist/node_modules/lodash-es/_hashSet.js.map +0 -1
- package/dist/node_modules/lodash-es/_initCloneArray.js +0 -2
- package/dist/node_modules/lodash-es/_initCloneArray.js.map +0 -1
- package/dist/node_modules/lodash-es/_initCloneByTag.js +0 -2
- package/dist/node_modules/lodash-es/_initCloneByTag.js.map +0 -1
- package/dist/node_modules/lodash-es/_initCloneObject.js +0 -2
- package/dist/node_modules/lodash-es/_initCloneObject.js.map +0 -1
- package/dist/node_modules/lodash-es/_isIndex.js +0 -2
- package/dist/node_modules/lodash-es/_isIndex.js.map +0 -1
- package/dist/node_modules/lodash-es/_isKeyable.js +0 -2
- package/dist/node_modules/lodash-es/_isKeyable.js.map +0 -1
- package/dist/node_modules/lodash-es/_isMasked.js +0 -2
- package/dist/node_modules/lodash-es/_isMasked.js.map +0 -1
- package/dist/node_modules/lodash-es/_isPrototype.js +0 -2
- package/dist/node_modules/lodash-es/_isPrototype.js.map +0 -1
- package/dist/node_modules/lodash-es/_listCacheClear.js +0 -2
- package/dist/node_modules/lodash-es/_listCacheClear.js.map +0 -1
- package/dist/node_modules/lodash-es/_listCacheDelete.js +0 -2
- package/dist/node_modules/lodash-es/_listCacheDelete.js.map +0 -1
- package/dist/node_modules/lodash-es/_listCacheGet.js +0 -2
- package/dist/node_modules/lodash-es/_listCacheGet.js.map +0 -1
- package/dist/node_modules/lodash-es/_listCacheHas.js +0 -2
- package/dist/node_modules/lodash-es/_listCacheHas.js.map +0 -1
- package/dist/node_modules/lodash-es/_listCacheSet.js +0 -2
- package/dist/node_modules/lodash-es/_listCacheSet.js.map +0 -1
- package/dist/node_modules/lodash-es/_mapCacheClear.js +0 -2
- package/dist/node_modules/lodash-es/_mapCacheClear.js.map +0 -1
- package/dist/node_modules/lodash-es/_mapCacheDelete.js +0 -2
- package/dist/node_modules/lodash-es/_mapCacheDelete.js.map +0 -1
- package/dist/node_modules/lodash-es/_mapCacheGet.js +0 -2
- package/dist/node_modules/lodash-es/_mapCacheGet.js.map +0 -1
- package/dist/node_modules/lodash-es/_mapCacheHas.js +0 -2
- package/dist/node_modules/lodash-es/_mapCacheHas.js.map +0 -1
- package/dist/node_modules/lodash-es/_mapCacheSet.js +0 -2
- package/dist/node_modules/lodash-es/_mapCacheSet.js.map +0 -1
- package/dist/node_modules/lodash-es/_memoizeCapped.js +0 -2
- package/dist/node_modules/lodash-es/_memoizeCapped.js.map +0 -1
- package/dist/node_modules/lodash-es/_nativeCreate.js +0 -2
- package/dist/node_modules/lodash-es/_nativeCreate.js.map +0 -1
- package/dist/node_modules/lodash-es/_nativeKeys.js +0 -2
- package/dist/node_modules/lodash-es/_nativeKeys.js.map +0 -1
- package/dist/node_modules/lodash-es/_nativeKeysIn.js +0 -2
- package/dist/node_modules/lodash-es/_nativeKeysIn.js.map +0 -1
- package/dist/node_modules/lodash-es/_nodeUtil.js +0 -2
- package/dist/node_modules/lodash-es/_nodeUtil.js.map +0 -1
- package/dist/node_modules/lodash-es/_objectToString.js +0 -2
- package/dist/node_modules/lodash-es/_objectToString.js.map +0 -1
- package/dist/node_modules/lodash-es/_overArg.js +0 -2
- package/dist/node_modules/lodash-es/_overArg.js.map +0 -1
- package/dist/node_modules/lodash-es/_root.js +0 -2
- package/dist/node_modules/lodash-es/_root.js.map +0 -1
- package/dist/node_modules/lodash-es/_stackClear.js +0 -2
- package/dist/node_modules/lodash-es/_stackClear.js.map +0 -1
- package/dist/node_modules/lodash-es/_stackDelete.js +0 -2
- package/dist/node_modules/lodash-es/_stackDelete.js.map +0 -1
- package/dist/node_modules/lodash-es/_stackGet.js +0 -2
- package/dist/node_modules/lodash-es/_stackGet.js.map +0 -1
- package/dist/node_modules/lodash-es/_stackHas.js +0 -2
- package/dist/node_modules/lodash-es/_stackHas.js.map +0 -1
- package/dist/node_modules/lodash-es/_stackSet.js +0 -2
- package/dist/node_modules/lodash-es/_stackSet.js.map +0 -1
- package/dist/node_modules/lodash-es/_stringToPath.js +0 -2
- package/dist/node_modules/lodash-es/_stringToPath.js.map +0 -1
- package/dist/node_modules/lodash-es/_toKey.js +0 -2
- package/dist/node_modules/lodash-es/_toKey.js.map +0 -1
- package/dist/node_modules/lodash-es/_toSource.js +0 -2
- package/dist/node_modules/lodash-es/_toSource.js.map +0 -1
- package/dist/node_modules/lodash-es/clone.js +0 -2
- package/dist/node_modules/lodash-es/clone.js.map +0 -1
- package/dist/node_modules/lodash-es/cloneDeep.js +0 -2
- package/dist/node_modules/lodash-es/cloneDeep.js.map +0 -1
- package/dist/node_modules/lodash-es/eq.js +0 -2
- package/dist/node_modules/lodash-es/eq.js.map +0 -1
- package/dist/node_modules/lodash-es/isArguments.js +0 -2
- package/dist/node_modules/lodash-es/isArguments.js.map +0 -1
- package/dist/node_modules/lodash-es/isArray.js +0 -2
- package/dist/node_modules/lodash-es/isArray.js.map +0 -1
- package/dist/node_modules/lodash-es/isArrayLike.js +0 -2
- package/dist/node_modules/lodash-es/isArrayLike.js.map +0 -1
- package/dist/node_modules/lodash-es/isBuffer.js +0 -2
- package/dist/node_modules/lodash-es/isBuffer.js.map +0 -1
- package/dist/node_modules/lodash-es/isFunction.js +0 -2
- package/dist/node_modules/lodash-es/isFunction.js.map +0 -1
- package/dist/node_modules/lodash-es/isLength.js +0 -2
- package/dist/node_modules/lodash-es/isLength.js.map +0 -1
- package/dist/node_modules/lodash-es/isMap.js +0 -2
- package/dist/node_modules/lodash-es/isMap.js.map +0 -1
- package/dist/node_modules/lodash-es/isObject.js +0 -2
- package/dist/node_modules/lodash-es/isObject.js.map +0 -1
- package/dist/node_modules/lodash-es/isObjectLike.js +0 -2
- package/dist/node_modules/lodash-es/isObjectLike.js.map +0 -1
- package/dist/node_modules/lodash-es/isPlainObject.js +0 -2
- package/dist/node_modules/lodash-es/isPlainObject.js.map +0 -1
- package/dist/node_modules/lodash-es/isSet.js +0 -2
- package/dist/node_modules/lodash-es/isSet.js.map +0 -1
- package/dist/node_modules/lodash-es/isSymbol.js +0 -2
- package/dist/node_modules/lodash-es/isSymbol.js.map +0 -1
- package/dist/node_modules/lodash-es/isTypedArray.js +0 -2
- package/dist/node_modules/lodash-es/isTypedArray.js.map +0 -1
- package/dist/node_modules/lodash-es/keys.js +0 -2
- package/dist/node_modules/lodash-es/keys.js.map +0 -1
- package/dist/node_modules/lodash-es/keysIn.js +0 -2
- package/dist/node_modules/lodash-es/keysIn.js.map +0 -1
- package/dist/node_modules/lodash-es/memoize.js +0 -2
- package/dist/node_modules/lodash-es/memoize.js.map +0 -1
- package/dist/node_modules/lodash-es/stubArray.js +0 -2
- package/dist/node_modules/lodash-es/stubArray.js.map +0 -1
- package/dist/node_modules/lodash-es/stubFalse.js +0 -2
- package/dist/node_modules/lodash-es/stubFalse.js.map +0 -1
- package/dist/node_modules/lodash-es/toPath.js +0 -2
- package/dist/node_modules/lodash-es/toPath.js.map +0 -1
- package/dist/node_modules/lodash-es/toString.js +0 -2
- package/dist/node_modules/lodash-es/toString.js.map +0 -1
- package/dist/node_modules/lowlight/lib/core.js +0 -2
- package/dist/node_modules/lowlight/lib/core.js.map +0 -1
- package/dist/node_modules/nanoid/index.js +0 -2
- package/dist/node_modules/nanoid/index.js.map +0 -1
- package/dist/node_modules/nanoid/url-alphabet/index.js +0 -2
- package/dist/node_modules/nanoid/url-alphabet/index.js.map +0 -1
- package/dist/node_modules/property-expr/index.js +0 -2
- package/dist/node_modules/property-expr/index.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.js +0 -11
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +0 -1
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +0 -11
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js.map +0 -1
- package/dist/node_modules/react/jsx-runtime.js +0 -2
- package/dist/node_modules/react/jsx-runtime.js.map +0 -1
- package/dist/node_modules/react-fast-compare/index.js +0 -2
- package/dist/node_modules/react-fast-compare/index.js.map +0 -1
- package/dist/node_modules/react-is/cjs/react-is.development.js +0 -10
- package/dist/node_modules/react-is/cjs/react-is.development.js.map +0 -1
- package/dist/node_modules/react-is/cjs/react-is.production.min.js +0 -10
- package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
- package/dist/node_modules/react-is/index.js +0 -2
- package/dist/node_modules/react-is/index.js.map +0 -1
- package/dist/node_modules/react-property/lib/index.js +0 -2
- package/dist/node_modules/react-property/lib/index.js.map +0 -1
- package/dist/node_modules/react-property/lib/possibleStandardNamesOptimized.js +0 -2
- package/dist/node_modules/react-property/lib/possibleStandardNamesOptimized.js.map +0 -1
- package/dist/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js +0 -2
- package/dist/node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js.map +0 -1
- package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js +0 -2
- package/dist/node_modules/react-syntax-highlighter/dist/esm/create-element.js.map +0 -1
- package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js +0 -2
- package/dist/node_modules/react-syntax-highlighter/dist/esm/highlight.js.map +0 -1
- package/dist/node_modules/react-syntax-highlighter/dist/esm/languages/hljs/json.js +0 -2
- package/dist/node_modules/react-syntax-highlighter/dist/esm/languages/hljs/json.js.map +0 -1
- package/dist/node_modules/react-syntax-highlighter/dist/esm/light.js +0 -2
- package/dist/node_modules/react-syntax-highlighter/dist/esm/light.js.map +0 -1
- package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js +0 -2
- package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-dark.js.map +0 -1
- package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js +0 -2
- package/dist/node_modules/react-syntax-highlighter/dist/esm/styles/hljs/stackoverflow-light.js.map +0 -1
- package/dist/node_modules/react-toastify/dist/index.mjs.js +0 -2
- package/dist/node_modules/react-toastify/dist/index.mjs.js.map +0 -1
- package/dist/node_modules/style-inject/dist/style-inject.es.js +0 -2
- package/dist/node_modules/style-inject/dist/style-inject.es.js.map +0 -1
- package/dist/node_modules/style-to-js/cjs/index.js +0 -2
- package/dist/node_modules/style-to-js/cjs/index.js.map +0 -1
- package/dist/node_modules/style-to-js/cjs/utilities.js +0 -2
- package/dist/node_modules/style-to-js/cjs/utilities.js.map +0 -1
- package/dist/node_modules/style-to-object/cjs/index.js +0 -2
- package/dist/node_modules/style-to-object/cjs/index.js.map +0 -1
- package/dist/node_modules/tiny-case/index.js +0 -2
- package/dist/node_modules/tiny-case/index.js.map +0 -1
- package/dist/node_modules/tiny-warning/dist/tiny-warning.esm.js +0 -2
- package/dist/node_modules/tiny-warning/dist/tiny-warning.esm.js.map +0 -1
- package/dist/node_modules/tippy.js/dist/tippy.css.js +0 -2
- package/dist/node_modules/tippy.js/dist/tippy.css.js.map +0 -1
- package/dist/node_modules/tippy.js/dist/tippy.esm.js +0 -7
- package/dist/node_modules/tippy.js/dist/tippy.esm.js.map +0 -1
- package/dist/node_modules/toposort/index.js +0 -2
- package/dist/node_modules/toposort/index.js.map +0 -1
- package/dist/node_modules/tslib/tslib.es6.js +0 -2
- package/dist/node_modules/tslib/tslib.es6.js.map +0 -1
- package/dist/node_modules/yup/index.esm.js +0 -2
- package/dist/node_modules/yup/index.esm.js.map +0 -1
- package/dist/src/assets/icons/AddRow.svg.js +0 -2
- package/dist/src/assets/icons/AddRow.svg.js.map +0 -1
- package/dist/src/assets/icons/ApiIcon.svg.js +0 -2
- package/dist/src/assets/icons/ApiIcon.svg.js.map +0 -1
- package/dist/src/assets/icons/ArrowBack.svg.js +0 -2
- package/dist/src/assets/icons/ArrowBack.svg.js.map +0 -1
- package/dist/src/assets/icons/BookIcon.svg.js +0 -2
- package/dist/src/assets/icons/BookIcon.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/DeleteIcon.svg.js +0 -2
- package/dist/src/assets/icons/DeleteIcon.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/assets/icons/DownArrow.svg.js +0 -2
- package/dist/src/assets/icons/DownArrow.svg.js.map +0 -1
- package/dist/src/assets/icons/EditIcon.svg.js +0 -2
- package/dist/src/assets/icons/EditIcon.svg.js.map +0 -1
- package/dist/src/assets/icons/FilterIcon.svg.js +0 -2
- package/dist/src/assets/icons/FilterIcon.svg.js.map +0 -1
- package/dist/src/assets/icons/Plus.svg.js +0 -2
- package/dist/src/assets/icons/Plus.svg.js.map +0 -1
- package/dist/src/assets/icons/PlusSquare.svg.js +0 -2
- package/dist/src/assets/icons/PlusSquare.svg.js.map +0 -1
- package/dist/src/assets/icons/RequestOption.svg.js +0 -2
- package/dist/src/assets/icons/RequestOption.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/arrow-down.svg.js +0 -2
- package/dist/src/assets/icons/arrow-down.svg.js.map +0 -1
- package/dist/src/assets/icons/arrow-up.svg.js +0 -2
- package/dist/src/assets/icons/arrow-up.svg.js.map +0 -1
- package/dist/src/assets/icons/arrowDownGray.svg.js +0 -2
- package/dist/src/assets/icons/arrowDownGray.svg.js.map +0 -1
- package/dist/src/assets/icons/arrowRightGray.svg.js +0 -2
- package/dist/src/assets/icons/arrowRightGray.svg.js.map +0 -1
- package/dist/src/assets/icons/close-circle.svg.js +0 -2
- package/dist/src/assets/icons/close-circle.svg.js.map +0 -1
- package/dist/src/assets/icons/copy.svg.js +0 -2
- package/dist/src/assets/icons/copy.svg.js.map +0 -1
- package/dist/src/assets/icons/document.svg.js +0 -2
- package/dist/src/assets/icons/document.svg.js.map +0 -1
- package/dist/src/assets/icons/eye.svg.js +0 -2
- package/dist/src/assets/icons/eye.svg.js.map +0 -1
- package/dist/src/assets/icons/infoIcon.svg.js +0 -2
- package/dist/src/assets/icons/infoIcon.svg.js.map +0 -1
- package/dist/src/assets/icons/newCopyIcon.svg.js +0 -2
- package/dist/src/assets/icons/newCopyIcon.svg.js.map +0 -1
- package/dist/src/assets/icons/searchIcon.svg.js +0 -2
- package/dist/src/assets/icons/searchIcon.svg.js.map +0 -1
- package/dist/src/components/InfoForm/InfoForm.js +0 -2
- package/dist/src/components/InfoForm/InfoForm.js.map +0 -1
- package/dist/src/components/InfoForm/InfoForm.module.scss.js +0 -2
- package/dist/src/components/InfoForm/InfoForm.module.scss.js.map +0 -1
- package/dist/src/components/JsonInput/JsonInput.js +0 -2
- package/dist/src/components/JsonInput/JsonInput.js.map +0 -1
- package/dist/src/components/JsonInput/style.module.scss.js +0 -2
- package/dist/src/components/JsonInput/style.module.scss.js.map +0 -1
- package/dist/src/components/LivePreview/LivePreview.js +0 -2
- package/dist/src/components/LivePreview/LivePreview.js.map +0 -1
- package/dist/src/components/LivePreview/LivePreview.module.scss.js +0 -2
- package/dist/src/components/LivePreview/LivePreview.module.scss.js.map +0 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.js +0 -2
- package/dist/src/components/MethodAccordion/MethodAccordion.js.map +0 -1
- package/dist/src/components/MethodAccordion/MethodAccordion.module.scss.js +0 -2
- package/dist/src/components/MethodAccordion/MethodAccordion.module.scss.js.map +0 -1
- package/dist/src/components/SVGLoader/SVGLoader.js +0 -2
- package/dist/src/components/SVGLoader/SVGLoader.js.map +0 -1
- package/dist/src/components/SectionHead/SectionHead.js +0 -2
- package/dist/src/components/SectionHead/SectionHead.js.map +0 -1
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js +0 -2
- package/dist/src/components/SimpleLabelValue/SimpleLabelValue.js.map +0 -1
- package/dist/src/components/Tooltip/Tooltip.js +0 -2
- package/dist/src/components/Tooltip/Tooltip.js.map +0 -1
- package/dist/src/components/dialog/index.js +0 -2
- package/dist/src/components/dialog/index.js.map +0 -1
- package/dist/src/components/table/table.js +0 -2
- package/dist/src/components/table/table.js.map +0 -1
- package/dist/src/components/table/tags-table.js +0 -2
- package/dist/src/components/table/tags-table.js.map +0 -1
- package/dist/src/constants/index.js +0 -2
- package/dist/src/constants/index.js.map +0 -1
- package/dist/src/constants/methods.constant.js +0 -2
- package/dist/src/constants/methods.constant.js.map +0 -1
- package/dist/src/constants/regex.js +0 -2
- package/dist/src/constants/regex.js.map +0 -1
- package/dist/src/context/SectionToggleContext.js +0 -2
- package/dist/src/context/SectionToggleContext.js.map +0 -1
- package/dist/src/helpers/docs.helper.js +0 -2
- package/dist/src/helpers/docs.helper.js.map +0 -1
- package/dist/src/helpers/layout.helper.js +0 -2
- package/dist/src/helpers/layout.helper.js.map +0 -1
- package/dist/src/helpers/methodAccordion.helper.js +0 -2
- package/dist/src/helpers/methodAccordion.helper.js.map +0 -1
- package/dist/src/index.js +0 -2
- package/dist/src/index.js.map +0 -1
- package/dist/src/layout/docsComponents/Codebox/Codebox.js +0 -2
- package/dist/src/layout/docsComponents/Codebox/Codebox.js.map +0 -1
- package/dist/src/layout/docsComponents/Codebox/style.module.scss.js +0 -2
- package/dist/src/layout/docsComponents/Codebox/style.module.scss.js.map +0 -1
- package/dist/src/layout/docsComponents/DocsAside/DocsAside.js +0 -2
- package/dist/src/layout/docsComponents/DocsAside/DocsAside.js.map +0 -1
- package/dist/src/layout/docsComponents/DocsAside/style.module.scss.js +0 -2
- package/dist/src/layout/docsComponents/DocsAside/style.module.scss.js.map +0 -1
- package/dist/src/layout/docsComponents/DocsContent/DocsContent.js +0 -2
- package/dist/src/layout/docsComponents/DocsContent/DocsContent.js.map +0 -1
- package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js +0 -2
- package/dist/src/layout/docsComponents/DocsContent/EndpointPage/index.js.map +0 -1
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js +0 -2
- package/dist/src/layout/docsComponents/DocsContent/OverviewPage/index.js.map +0 -1
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js +0 -2
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.js.map +0 -1
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js +0 -2
- package/dist/src/layout/docsComponents/DocsHeader/DocsHeader.module.scss.js.map +0 -1
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js +0 -2
- package/dist/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.js.map +0 -1
- package/dist/src/layout/docsComponents/index.js +0 -2
- package/dist/src/layout/docsComponents/index.js.map +0 -1
- package/dist/src/layout/docsLayout.js +0 -2
- package/dist/src/layout/docsLayout.js.map +0 -1
- package/dist/src/layout/layout.js +0 -2
- package/dist/src/layout/layout.js.map +0 -1
- package/dist/src/layout/layout.module.css.js +0 -2
- package/dist/src/layout/layout.module.css.js.map +0 -1
- package/dist/src/utils/index.js +0 -2
- package/dist/src/utils/index.js.map +0 -1
- package/dist/src/validator/form.scheme.js +0 -2
- package/dist/src/validator/form.scheme.js.map +0 -1
- package/dist/style.css +0 -1
- package/dist/styles.css +0 -2557
- package/dist/types/assets/icons/index.d.ts +0 -27
- package/dist/types/components/Chips/Chips.d.ts +0 -17
- package/dist/types/components/InfoForm/InfoForm.d.ts +0 -4
- package/dist/types/components/JsonInput/JsonInput.d.ts +0 -15
- package/dist/types/components/LivePreview/LivePreview.d.ts +0 -8
- package/dist/types/components/MethodAccordion/MethodAccordion.d.ts +0 -13
- package/dist/types/components/SVGLoader/SVGLoader.d.ts +0 -8
- package/dist/types/components/SectionHead/SectionHead.d.ts +0 -10
- package/dist/types/components/SimpleLabelValue/SimpleLabelValue.d.ts +0 -11
- package/dist/types/components/SimpleLabelValue/index.d.ts +0 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts +0 -19
- package/dist/types/components/dialog/dialog.d.ts +0 -47
- package/dist/types/components/dialog/index.d.ts +0 -5
- package/dist/types/components/table/table.d.ts +0 -13
- package/dist/types/components/table/tags-table.d.ts +0 -11
- package/dist/types/constants/index.d.ts +0 -73
- package/dist/types/constants/methods.constant.d.ts +0 -16
- package/dist/types/constants/regex.d.ts +0 -7
- package/dist/types/context/SectionToggleContext.d.ts +0 -37
- package/dist/types/docsLayout.type.d.ts +0 -7
- package/dist/types/helpers/docs.helper.d.ts +0 -3
- package/dist/types/helpers/layout.helper.d.ts +0 -7
- package/dist/types/helpers/methodAccordion.helper.d.ts +0 -2
- package/dist/types/index.d.ts +0 -2
- package/dist/types/layout/docsComponents/Codebox/Codebox.d.ts +0 -5
- package/dist/types/layout/docsComponents/DocsAside/DocsAside.d.ts +0 -6
- package/dist/types/layout/docsComponents/DocsContent/DocsContent.d.ts +0 -12
- package/dist/types/layout/docsComponents/DocsContent/EndpointPage/index.d.ts +0 -7
- package/dist/types/layout/docsComponents/DocsContent/OverviewPage/index.d.ts +0 -10
- package/dist/types/layout/docsComponents/DocsHeader/DocsHeader.d.ts +0 -7
- package/dist/types/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.d.ts +0 -18
- package/dist/types/layout/docsComponents/index.d.ts +0 -17
- package/dist/types/layout/docsLayout.d.ts +0 -31
- package/dist/types/layout/layout.d.ts +0 -10
- package/dist/types/layout.type.d.ts +0 -29
- package/dist/types/transformedOpenApi.d.ts +0 -50
- package/dist/types/types/docsLayout.type.d.ts +0 -7
- package/dist/types/types/index.d.ts +0 -27
- package/dist/types/types/layout.type.d.ts +0 -29
- package/dist/types/types/openApi.d.ts +0 -98
- package/dist/types/types/transformedOpenApi.d.ts +0 -50
- package/dist/types/utils/index.d.ts +0 -2
- package/dist/types/validator/form.scheme.d.ts +0 -49
- package/dist/utils/index.d.ts +0 -2
- package/dist/validator/form.scheme.d.ts +0 -49
- package/rollup.config.js +0 -63
- package/src/assets/icons/AddRow.svg +0 -3
- package/src/assets/icons/ApiIcon.svg +0 -12
- package/src/assets/icons/ArrowBack.svg +0 -3
- package/src/assets/icons/BookIcon.svg +0 -6
- package/src/assets/icons/CheckMarkSquare.svg +0 -5
- package/src/assets/icons/CloseIcon.svg +0 -4
- package/src/assets/icons/CopySticker.svg +0 -6
- package/src/assets/icons/DeleteIcon.svg +0 -3
- package/src/assets/icons/DownArrow.svg +0 -3
- package/src/assets/icons/EditIcon.svg +0 -3
- package/src/assets/icons/FilterIcon.svg +0 -4
- package/src/assets/icons/Plus.svg +0 -5
- package/src/assets/icons/PlusSquare.svg +0 -3
- package/src/assets/icons/RequestOption.svg +0 -5
- package/src/assets/icons/UpArrow.svg +0 -3
- package/src/assets/icons/arrow-down.svg +0 -3
- package/src/assets/icons/arrow-up.svg +0 -10
- package/src/assets/icons/arrowDownGray.svg +0 -3
- package/src/assets/icons/arrowRightGray.svg +0 -3
- package/src/assets/icons/close-circle.svg +0 -5
- package/src/assets/icons/copy.svg +0 -4
- package/src/assets/icons/deleteOutlinedIcon.svg +0 -8
- package/src/assets/icons/document.svg +0 -6
- package/src/assets/icons/eye.svg +0 -4
- package/src/assets/icons/index.ts +0 -27
- package/src/assets/icons/infoIcon.svg +0 -5
- package/src/assets/icons/newCopyIcon.svg +0 -4
- package/src/assets/icons/searchIcon.svg +0 -4
- package/src/components/Chips/Chips.tsx +0 -87
- package/src/components/InfoForm/InfoForm.tsx +0 -432
- package/src/components/JsonInput/JsonInput.tsx +0 -149
- package/src/components/LivePreview/LivePreview.tsx +0 -224
- package/src/components/MethodAccordion/MethodAccordion.tsx +0 -1070
- package/src/components/SVGLoader/SVGLoader.tsx +0 -96
- package/src/components/SectionHead/SectionHead.tsx +0 -22
- package/src/components/SimpleLabelValue/SimpleLabelValue.tsx +0 -31
- package/src/components/SimpleLabelValue/index.ts +0 -1
- package/src/components/Tooltip/Tooltip.tsx +0 -85
- package/src/components/dialog/dialog.ts +0 -61
- package/src/components/dialog/index.tsx +0 -88
- package/src/components/table/table.tsx +0 -508
- package/src/components/table/tags-table.tsx +0 -348
- package/src/constants/index.ts +0 -95
- package/src/constants/methods.constant.ts +0 -26
- package/src/constants/regex.ts +0 -7
- package/src/context/SectionToggleContext.tsx +0 -121
- package/src/global.d.ts +0 -13
- package/src/helpers/docs.helper.ts +0 -42
- package/src/helpers/layout.helper.ts +0 -290
- package/src/helpers/methodAccordion.helper.ts +0 -20
- package/src/index.ts +0 -3
- package/src/layout/docsComponents/Codebox/Codebox.tsx +0 -61
- package/src/layout/docsComponents/DocsAside/DocsAside.tsx +0 -112
- package/src/layout/docsComponents/DocsContent/DocsContent.tsx +0 -51
- package/src/layout/docsComponents/DocsContent/EndpointPage/index.tsx +0 -307
- package/src/layout/docsComponents/DocsContent/OverviewPage/index.tsx +0 -223
- package/src/layout/docsComponents/DocsHeader/DocsHeader.tsx +0 -188
- package/src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx +0 -229
- package/src/layout/docsComponents/index.tsx +0 -28
- package/src/layout/docsLayout.tsx +0 -124
- package/src/layout/layout.module.css +0 -65
- package/src/layout/layout.tsx +0 -180
- package/src/types/docsLayout.type.ts +0 -7
- package/src/types/index.ts +0 -28
- package/src/types/layout.type.ts +0 -32
- package/src/types/openApi.ts +0 -109
- package/src/types/transformedOpenApi.ts +0 -52
- package/src/utils/index.ts +0 -15
- package/src/validator/form.scheme.ts +0 -96
- package/tsconfig.json +0 -33
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/layout/layout.tsx","../src/components/MethodAccordion/MethodAccordion.tsx","../src/components/SVGLoader/SVGLoader.tsx","../src/constants/index.ts","../src/components/Tooltip/Tooltip.tsx","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/tippy.js/src/constants.ts","../node_modules/tippy.js/src/utils.ts","../node_modules/tippy.js/src/dom-utils.ts","../node_modules/tippy.js/src/bindGlobalEventListeners.ts","../node_modules/tippy.js/src/browser.ts","../node_modules/tippy.js/src/validation.ts","../node_modules/tippy.js/src/props.ts","../node_modules/tippy.js/src/template.ts","../node_modules/tippy.js/src/createTippy.ts","../node_modules/tippy.js/src/index.ts","../node_modules/tippy.js/src/addons/createSingleton.ts","../node_modules/tippy.js/src/addons/delegate.ts","../node_modules/tippy.js/src/plugins/animateFill.ts","../node_modules/tippy.js/src/plugins/followCursor.ts","../node_modules/tippy.js/src/plugins/inlinePositioning.ts","../node_modules/tippy.js/src/plugins/sticky.ts","../node_modules/tippy.js/build/base.js","../node_modules/@tippyjs/react/src/utils.js","../node_modules/@tippyjs/react/src/util-hooks.js","../node_modules/@tippyjs/react/src/className-plugin.js","../node_modules/@tippyjs/react/src/Tippy.js","../node_modules/@tippyjs/react/src/useSingleton.js","../node_modules/@tippyjs/react/src/forwardRef.js","../node_modules/@tippyjs/react/src/index.js","../src/components/SimpleLabelValue/SimpleLabelValue.tsx","../src/helpers/methodAccordion.helper.ts","../src/components/table/table.tsx","../src/components/MethodAccordion/MethodAccordion.module.scss","../src/constants/regex.ts","../src/components/dialog/index.tsx","../src/components/JsonInput/JsonInput.tsx","../src/components/JsonInput/style.module.scss","../src/layout/layout.module.css","../src/components/InfoForm/InfoForm.tsx","../src/components/InfoForm/InfoForm.module.scss","../src/components/table/tags-table.tsx","../src/components/SectionHead/SectionHead.tsx","../src/helpers/layout.helper.ts","../src/components/LivePreview/LivePreview.tsx","../src/components/LivePreview/LivePreview.module.scss","../src/validator/form.scheme.ts","../src/layout/docsLayout.tsx","../src/layout/docsComponents/DocsHeader/DocsHeader.tsx","../src/constants/methods.constant.ts","../src/layout/docsComponents/DocsHeader/DocsHeader.module.scss","../src/layout/docsComponents/DocsSideMenuTree/DocsSideMenuTree.tsx","../src/context/SectionToggleContext.tsx","../src/layout/docsComponents/DocsContent/DocsContent.tsx","../src/layout/docsComponents/DocsContent/OverviewPage/index.tsx","../src/utils/index.ts","../src/layout/docsComponents/DocsContent/EndpointPage/index.tsx","../src/layout/docsComponents/DocsAside/DocsAside.tsx","../src/layout/docsComponents/Codebox/Codebox.tsx","../src/layout/docsComponents/Codebox/style.module.scss","../src/layout/docsComponents/DocsAside/style.module.scss","../src/layout/docsComponents/index.tsx","../src/helpers/docs.helper.ts"],"sourcesContent":["import { JSX, useEffect, useState } from 'react'\r\nimport { Alert, Button } from 'digitinary-ui'\r\nimport MethodsAccordion from '../components/MethodAccordion/MethodAccordion'\r\nimport styles from './layout.module.css'\r\nimport InfoForm from '../components/InfoForm/InfoForm'\r\nimport SectionHead from '../components/SectionHead/SectionHead'\r\nimport { transformOpenApiObject, transformOpenApiObjectToOrigin } from '../helpers/layout.helper'\r\nimport { OpenAPIFile } from '../types/openApi'\r\nimport LivePreview from '../components/LivePreview/LivePreview'\r\nimport { FormikProvider, useFormik } from 'formik'\r\nimport { schemaValidation } from '../validator/form.scheme'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\nimport { methodColorMapping } from '../constants/index'\r\nimport CommonDialog from '../components/dialog'\r\n\r\ninterface ILayoutProps {\r\n openApiJson?: OpenAPIFile\r\n handleSave?: (values: unknown) => unknown\r\n setIsFormDirty?: any\r\n openApiErrors?: any\r\n}\r\n\r\nconst Layout = ({\r\n openApiJson,\r\n handleSave,\r\n setIsFormDirty,\r\n openApiErrors,\r\n}: ILayoutProps): JSX.Element => {\r\n const clonedOpenApiJson = structuredClone(openApiJson)\r\n const transformedOpenApi = transformOpenApiObject(clonedOpenApiJson)\r\n const formik = useFormik<TransformedOpenApi>({\r\n initialValues: structuredClone(transformedOpenApi),\r\n validationSchema: schemaValidation,\r\n validateOnMount: true,\r\n onSubmit: (values, { validateForm, resetForm, setSubmitting }) => {\r\n // Handle save logic\r\n try {\r\n const originalOpenApiForm = transformOpenApiObjectToOrigin(values)\r\n handleSave(originalOpenApiForm)\r\n resetForm({\r\n values: values, // You can reset it to the same values if you want\r\n })\r\n\r\n validateForm(values)\r\n } catch (err) {\r\n setSubmitting(false)\r\n }\r\n },\r\n })\r\n const { dirty, isValid, isSubmitting, values, setFieldValue, handleSubmit, errors } = formik\r\n const [isPublishDialogOpen, setIsPublishDialogOpen] = useState(false)\r\n\r\n const [openMethodIndex, setOpenMethodIndex] = useState<number | null>(null)\r\n\r\n useEffect(() => {\r\n if (setIsFormDirty) {\r\n setIsFormDirty(dirty)\r\n }\r\n }, [dirty])\r\n\r\n return (\r\n <div className={styles.docsLayout}>\r\n {dirty && (\r\n <Alert className={styles.apiDocAlert} color=\"warning\" severity=\"warning\">\r\n There are changes you made may not be saved\r\n </Alert>\r\n )}\r\n <div className={styles.layoutContainer}>\r\n <div className={`${styles.editorSide} ${styles.docSide}`}>\r\n <SectionHead\r\n className={styles.editorSectionHead_title}\r\n text={\r\n <div className={styles.editorSectionHead_content}>\r\n API Documentation\r\n <Button\r\n className={styles.methodForm_submitBtn}\r\n size=\"medium\"\r\n fullWidth={false}\r\n type=\"submit\"\r\n variant=\"contained\"\r\n color=\"primary\"\r\n onClick={() => setIsPublishDialogOpen(true)}\r\n disabled={!isValid || isSubmitting || !dirty}\r\n >\r\n Save\r\n </Button>\r\n </div>\r\n }\r\n />\r\n <FormikProvider value={formik}>\r\n <InfoForm />\r\n </FormikProvider>\r\n <SectionHead className={styles.editorSectionHead} text=\"Endpoints\" />\r\n <FormikProvider value={formik}>\r\n {values.paths.map((path, pathIndex) => (\r\n <>\r\n {path.methods\r\n .sort(\r\n (a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order\r\n )\r\n .map((method, methodIndex) => (\r\n <MethodsAccordion\r\n tags={values.tags}\r\n method={method}\r\n path={path.path}\r\n setFieldValue={(key, value) => {\r\n const h = `paths[${pathIndex}].methods[${methodIndex}].${key}`\r\n setFieldValue(h, value)\r\n }}\r\n isOpen={openMethodIndex === parseInt(`${pathIndex}${methodIndex}`)}\r\n setIsOpen={(open) => setOpenMethodIndex(open ? parseInt(`${pathIndex}${methodIndex}`) : null)}\r\n errors={(formik.errors.paths?.[pathIndex] as any)?.methods?.[methodIndex]}\r\n />\r\n ))}\r\n </>\r\n ))}\r\n </FormikProvider>\r\n </div>\r\n <div className={`${styles.livePreviewSide} ${styles.docSide}`}>\r\n {transformedOpenApi && (\r\n <FormikProvider value={formik}>\r\n <LivePreview transformedData={transformedOpenApi} openApiErrors={openApiErrors} />\r\n </FormikProvider>\r\n )}\r\n </div>\r\n </div>\r\n <CommonDialog\r\n status=\"warning\"\r\n content={\r\n <>\r\n <h5\r\n style={{\r\n fontWeight: 600,\r\n fontSize: '1.5rem',\r\n lineHeight: '1.875rem',\r\n color: '#FAAD14',\r\n textAlign: 'center',\r\n margin: 0,\r\n }}\r\n >\r\n Publish Changes\r\n </h5>\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 >\r\n Are you sure to Publish the changes?\r\n </p>\r\n </>\r\n }\r\n onSubmit={{\r\n onClick: () => {\r\n handleSubmit()\r\n setIsPublishDialogOpen(false)\r\n },\r\n text: 'Publish',\r\n color: 'warning',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\r\n color: 'action',\r\n fullWidth: true,\r\n variant: 'outlined',\r\n }}\r\n onClose={() => setIsPublishDialogOpen(false)}\r\n open={isPublishDialogOpen}\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default Layout\r\n","import { useEffect, useRef, useState } from 'react'\r\nimport { Accordion, Button, Input, SelectGroup, Switch, TextArea } from 'digitinary-ui'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport {\r\n DeleteIcon,\r\n DownArrowIcon,\r\n EditIcon,\r\n DeleteOutlinedIcon,\r\n CloseIcon,\r\n} from '../../assets/icons'\r\nimport PlusIcon from '../../assets/icons/Plus.svg'\r\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\r\nimport { httpStatusCodes, methodColorMapping, paramsTableHeaders } from '../../constants/index'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport { TransformedMethod } from '../../types/layout.type'\r\nimport SimpleLabelValue from '../../components/SimpleLabelValue'\r\nimport { capitalize, handleStatusColor } from '../../helpers/methodAccordion.helper'\r\nimport ParamterTable from '../table/table'\r\nimport CommonDialog from '../../components/dialog'\r\nimport JsonInput from '../../components/JsonInput/JsonInput'\r\nimport styles from './MethodAccordion.module.scss'\r\nimport { Tags } from '@entities/openApi'\r\nimport regex from '../../constants/regex'\r\n\r\nconst httpStatusCodeOptions = httpStatusCodes.map((code) => ({\r\n label: (\r\n <div className={styles.statusCodeOptionContainer}>\r\n <div\r\n className={styles.statusCodeOptionCircle}\r\n style={{ backgroundColor: handleStatusColor(code) }}\r\n ></div>\r\n <span>{code}</span>\r\n </div>\r\n ),\r\n value: code,\r\n}))\r\n\r\nconst MethodsAccordion = ({\r\n method,\r\n path,\r\n setFieldValue,\r\n readOnly,\r\n tags,\r\n isOpen,\r\n setIsOpen,\r\n errors,\r\n}: {\r\n method: TransformedMethod\r\n path: string\r\n setFieldValue?: (key: string, value: string | string[]) => void\r\n readOnly?: boolean\r\n tags: Tags[]\r\n isOpen: boolean\r\n setIsOpen: (open: boolean) => void\r\n errors?: string\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState({\r\n request: false,\r\n response: false,\r\n method: false,\r\n })\r\n const [isFormOpen, setIsFormOpen] = useState<boolean>(false)\r\n const [isHeaderFormOpen, setIsHeaderFormOpen] = useState<boolean>(false)\r\n const [tooltipRefs, setTooltipRefs] = useState<{ [key: number]: any }>({})\r\n const [tableData, setTableData] = useState([])\r\n const [tableResponseData, setTableResponseData] = useState([])\r\n const [openDeleteDialog, setOpenDeleteDialog] = useState(false)\r\n const [openHeaderDeleteDialog, setOpenHeaderDeleteDialog] = useState(false)\r\n const [selectedParamIndex, setSelectedParamIndex] = useState<number | null>(null)\r\n const [selectedHeaderIndex, setSelectedHeaderIndex] = useState<number | null>(null)\r\n const [selectedParamName, setSelectedParamName] = useState<string | null>(null)\r\n const [tableRecords, setTableRecords] = useState()\r\n const [tableResponseRecords, setTableResponseRecords] = useState([])\r\n const [selectionTags, setSelectionTags] = useState([])\r\n const [selectedStatusCode, setSelectedStatusCode] = useState(httpStatusCodeOptions[4])\r\n const [enumFields, setEnumFields] = useState([])\r\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\r\n const [currentResponseIndex, setCurrentResponseIndex] = useState<number>(-1)\r\n const activeAccordionRef = useRef<HTMLDivElement | null>(null)\r\n const currentResponse =\r\n method.responses.find((res) => Number(res.code) === selectedStatusCode.value) || '{}'\r\n const indexRef = useRef(-1)\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 useEffect(() => {\r\n if (isOpen && activeAccordionRef.current) {\r\n activeAccordionRef.current.scrollIntoView({ behavior: 'smooth', block: 'start' })\r\n }\r\n }, [isOpen])\r\n\r\n const generateResponseTableData = (headersObj: any, responseIndex: number) => {\r\n const headersByName = Object.keys(headersObj)\r\n return headersByName.map((item, index) => {\r\n const data = headersObj[item]\r\n return {\r\n id: `header_${index}`,\r\n paramName: item,\r\n paramType: capitalize('header'),\r\n schemaType: `${capitalize(data?.schema?.type) || ''} ${\r\n data?.schema?.type?.toLowerCase() == 'array' &&\r\n data?.schema?.items &&\r\n data?.schema?.items?.type\r\n ? ` _ ${capitalize(data?.schema?.items?.type)}`\r\n : ''\r\n }`,\r\n required: (\r\n <>\r\n {readOnly ? (\r\n data.required ? (\r\n 'True'\r\n ) : (\r\n 'False'\r\n )\r\n ) : (\r\n <Switch\r\n checked={data.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return null\r\n }\r\n setFieldValue(\r\n `responses[${responseIndex}].headers[${item}].required`,\r\n !data.required\r\n )\r\n }}\r\n />\r\n )}\r\n </>\r\n ),\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n key={`${index}-description`}\r\n allowHTML\r\n disabled={method.responses[responseIndex].headers[item].description?.length <= 12}\r\n content={\r\n <div style={{ padding: '0.625rem' }}>\r\n {method.responses[responseIndex].headers[item].description}\r\n </div>\r\n }\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' }}>\r\n {method.responses[responseIndex].headers[item].description\r\n ? method.responses[responseIndex].headers[item].description.substring(0, 12)\r\n : readOnly && '-'}\r\n {method.responses[responseIndex].headers[item].description &&\r\n method.responses[responseIndex].headers[item].description.length > 12\r\n ? '...'\r\n : ''}\r\n </p>\r\n </Tooltip>\r\n {!readOnly && (\r\n <Tooltip\r\n key={`${index}-add-edit-description`}\r\n allowHTML\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 parameter...\"\r\n value={data.description}\r\n disabled={readOnly}\r\n maxLength={120}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) {\r\n setFieldValue(\r\n `responses[${indexRef.current}].headers[${item}].description`,\r\n value\r\n )\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(\r\n `responses[${responseIndex}].headers[${item}].description`,\r\n data.description?.trim()\r\n )\r\n tooltipRefs[index]?.hide()\r\n }}\r\n disabled={!data.description?.trim()}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ||\r\n method.responses[responseIndex].headers[item].description?.length > 0 ? (\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 ? 'View ' : 'Add '} Description\r\n </Button>\r\n )}\r\n </Tooltip>\r\n )}\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={() => handleDeleteResponseHeader(index, item)}\r\n ></Button>\r\n )}\r\n </div>\r\n ),\r\n enum: (\r\n <>\r\n {readOnly ? (\r\n <span className=\"enumText\">{data?.schema?.enum?.join('/\\u200B')}</span>\r\n ) : (\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n {(() => {\r\n const schema = method?.responses[currentResponseIndex]?.headers[item]?.schema\r\n const schemaType = schema?.type?.toLowerCase()\r\n const isComplex = schemaType === 'array' || schemaType === 'object'\r\n const enumList = schema?.enum || []\r\n\r\n if (!schema || isComplex) return '-'\r\n\r\n return (\r\n <Tooltip\r\n disabled={isComplex}\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) => setTooltipEnumRef(instance)}\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Enum</p>\r\n\r\n {enumList.map((enumVal, enumIndex) => (\r\n <Input\r\n key={enumIndex}\r\n className=\"methodDescForEnum\"\r\n required\r\n clearable={false}\r\n placeholder=\"Enter Enum value...\"\r\n value={enumVal}\r\n onChange={(value) => {\r\n setFieldValue(\r\n `responses[${currentResponseIndex}].headers[\"${item}\"].schema.enum[${enumIndex}]`,\r\n value\r\n )\r\n }}\r\n />\r\n ))}\r\n\r\n <p\r\n className=\"addEnumButton\"\r\n onClick={() => {\r\n setFieldValue(\r\n `responses[${currentResponseIndex}].headers[\"${item}\"].schema.enum`,\r\n [...enumList, '']\r\n )\r\n }}\r\n >\r\n <SVGLoader src={PlusSquare} />\r\n Add New Enum\r\n </p>\r\n\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n type=\"button\"\r\n onClick={() => {\r\n setFieldValue(\r\n `responses[${currentResponseIndex}].headers[\"${item}\"].schema.enum`,\r\n [...enumList]\r\n )\r\n setEnumFields([])\r\n tooltipEnumRef?.hide()\r\n }}\r\n disabled={enumList.length === 0 || enumList.some((val) => !val)}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {enumList.length > 0 ? (\r\n <span className=\"enumText\">{enumList.join('/\\u200B')}</span>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n id=\"EnumButton\"\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={\r\n <SVGLoader\r\n id=\"enumIcon\"\r\n src={PlusIcon}\r\n width=\"1.5rem\"\r\n height=\"1.5rem\"\r\n />\r\n }\r\n >\r\n Add\r\n </Button>\r\n )}\r\n </Tooltip>\r\n )\r\n })()}\r\n </div>\r\n )}\r\n </>\r\n ),\r\n }\r\n })\r\n }\r\n\r\n const generateTableData = (items, isForRequest?: boolean) => {\r\n return items?.map((item, index) => {\r\n return {\r\n id: index,\r\n paramName: item.name,\r\n paramType: capitalize(item.in),\r\n schemaType: `${capitalize(item?.schema?.type) || ''} ${\r\n item?.schema?.type?.toLowerCase() == 'array' &&\r\n item?.schema?.items &&\r\n item?.schema?.items?.type\r\n ? ` _ ${capitalize(item?.schema?.items?.type)}`\r\n : ''\r\n }`,\r\n required: (\r\n <>\r\n {readOnly ? (\r\n item.required ? (\r\n 'True'\r\n ) : (\r\n 'False'\r\n )\r\n ) : (\r\n <Switch\r\n checked={item.required}\r\n onClick={() => {\r\n if (readOnly) {\r\n return null\r\n }\r\n onTableChange('required', !item.required, index)\r\n setFieldValue(`parameters[${index}][required]`, !item.required)\r\n }}\r\n />\r\n )}\r\n </>\r\n ),\r\n description: (\r\n <div className={styles.paramDescContainer}>\r\n <Tooltip\r\n key={`${index}-description`}\r\n allowHTML\r\n disabled={method.parameters[index].description?.length <= 12}\r\n content={\r\n <div style={{ padding: '0.625rem' }}>{method.parameters[index].description}</div>\r\n }\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' }}>\r\n {method.parameters[index].description\r\n ? method.parameters[index].description.substring(0, 12)\r\n : readOnly && '-'}\r\n {method.parameters[index].description &&\r\n method.parameters[index].description.length > 12\r\n ? '...'\r\n : ''}\r\n </p>\r\n </Tooltip>\r\n {!readOnly && (\r\n <Tooltip\r\n key={`${index}-add-edit-description`}\r\n allowHTML\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 parameter...\"\r\n value={item.description}\r\n disabled={readOnly}\r\n maxLength={120}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value))\r\n onTableChange('description', value, index)\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(\r\n `parameters[${index}].description`,\r\n item.description?.trim()\r\n )\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 || method.parameters[index].description?.length > 0 ? (\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 ? 'View ' : 'Add '} Description\r\n </Button>\r\n )}\r\n </Tooltip>\r\n )}\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 enum: (\r\n <>\r\n {readOnly ? (\r\n <span className=\"enumText\">{item?.schema?.enum?.join('/\\u200B')}</span>\r\n ) : (\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n {method.parameters[index]?.schema &&\r\n method.parameters[index]?.schema?.type?.toLowerCase() != 'array' &&\r\n method.parameters[index]?.schema?.type?.toLowerCase() != 'object' ? (\r\n <Tooltip\r\n disabled={\r\n method.parameters[index]?.schema?.type?.toLowerCase() == 'array' ||\r\n method.parameters[index]?.schema?.type?.toLowerCase() == 'object'\r\n }\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) => setTooltipEnumRef(instance)}\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Enum</p>\r\n {!!method.parameters[index]?.schema?.enum &&\r\n !!method.parameters[index]?.schema?.enum.length &&\r\n method.parameters[index]?.schema?.enum?.map((item, _index) => (\r\n <Input\r\n key={index}\r\n className={'methodDescForEnum'}\r\n required\r\n clearable={false}\r\n placeholder=\"Enter Enum value...\"\r\n value={item}\r\n onChange={(value) => {\r\n setFieldValue(`parameters[${index}].schema.enum[${_index}]`, value)\r\n }}\r\n />\r\n ))}\r\n <p\r\n className={'addEnumButton'}\r\n onClick={() => {\r\n setFieldValue(`parameters[${index}].schema.enum`, [\r\n ...method.parameters[index]?.schema?.enum,\r\n '',\r\n ])\r\n }}\r\n >\r\n <SVGLoader src={PlusSquare} />\r\n Add New Enum\r\n </p>\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n type=\"button\"\r\n onClick={() => {\r\n setFieldValue(`parameters[${index}].schema.enum`, [\r\n ...method.parameters[index].schema.enum,\r\n ])\r\n setEnumFields([])\r\n tooltipEnumRef?.hide()\r\n }}\r\n disabled={\r\n (enumFields.length > 0 &&\r\n enumFields?.filter((item) => !item).length) ||\r\n (method?.parameters[index]?.schema?.enum &&\r\n method?.parameters[index]?.schema?.enum?.length > 0 &&\r\n method?.parameters[index]?.schema?.enum?.filter((item) => !item)\r\n .length)\r\n }\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {method.parameters[index]?.schema?.enum &&\r\n method.parameters[index]?.schema?.enum?.length > 0 ? (\r\n <span className={'enumText'}>\r\n {method.parameters[index]?.schema?.enum?.join('/\\u200B')}\r\n </span>\r\n ) : (\r\n <Button\r\n className={styles.editDescBtn}\r\n id=\"EnumButton\"\r\n variant=\"link\"\r\n color=\"action\"\r\n endIcon={\r\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\r\n }\r\n >\r\n Add\r\n </Button>\r\n )}\r\n </Tooltip>\r\n ) : (\r\n '-'\r\n )}{' '}\r\n </div>\r\n )}\r\n </>\r\n ),\r\n }\r\n })\r\n }\r\n\r\n const confirmDeleteParameter = () => {\r\n if (selectedParamIndex !== null) {\r\n setTableData((prev) => prev.filter((_, i) => i !== selectedParamIndex))\r\n setFieldValue(\r\n `parameters`,\r\n method?.parameters?.filter((_, i) => i !== selectedParamIndex)\r\n )\r\n }\r\n setOpenDeleteDialog(false)\r\n setSelectedParamIndex(null)\r\n }\r\n\r\n const confirmDeleteHeader = () => {\r\n if (setSelectedHeaderIndex !== null) {\r\n let headers = Object.fromEntries(\r\n Object.entries(method.responses[indexRef.current].headers).filter(\r\n ([key]) => key != selectedParamName\r\n )\r\n )\r\n setFieldValue(`responses[${indexRef.current}].headers`, headers)\r\n }\r\n setOpenHeaderDeleteDialog(false)\r\n setSelectedHeaderIndex(null)\r\n }\r\n\r\n const handleDeleteClick = (id: number, name: string) => {\r\n setSelectedParamIndex(id)\r\n setSelectedParamName(name)\r\n\r\n setOpenDeleteDialog(true)\r\n }\r\n\r\n const handleDeleteResponseHeader = (index, name) => {\r\n setSelectedHeaderIndex(index)\r\n setSelectedParamName(name)\r\n\r\n setOpenHeaderDeleteDialog(true)\r\n }\r\n\r\n const saveNewRow = (values) => {\r\n setTableData([...tableData, values])\r\n setFieldValue(`parameters`, [...method.parameters, values])\r\n }\r\n\r\n const saveNewResponseRow = (value) => {\r\n setFieldValue(`responses[${indexRef.current}].headers[${value.name}]`, value)\r\n }\r\n\r\n useEffect(() => {\r\n setTableRecords(generateTableData(tableData, true))\r\n }, [tableData])\r\n\r\n useEffect(() => {\r\n if (method?.parameters) {\r\n setTableData(method.parameters)\r\n }\r\n }, [method, path])\r\n\r\n useEffect(() => {\r\n if (selectedStatusCode && method.responses) {\r\n let responseIndex = method.responses.findIndex(\r\n (_r) => _r.code.toString() == selectedStatusCode.value.toString()\r\n )\r\n if (responseIndex < 0) {\r\n const clonedResponses = structuredClone(method.responses)\r\n\r\n clonedResponses.push({\r\n code: selectedStatusCode.value.toString(),\r\n content: {\r\n contentType: 'application/json',\r\n schema: {},\r\n },\r\n headers: {},\r\n })\r\n\r\n if (setFieldValue) {\r\n setFieldValue('responses', clonedResponses)\r\n responseIndex = 0\r\n }\r\n }\r\n setCurrentResponseIndex(responseIndex)\r\n indexRef.current = responseIndex\r\n if (responseIndex >= 0) {\r\n setTableResponseRecords(\r\n generateResponseTableData(method.responses[responseIndex].headers, responseIndex)\r\n )\r\n }\r\n }\r\n }, [selectedStatusCode, method.responses, setFieldValue])\r\n\r\n useEffect(() => {\r\n if (indexRef.current && indexRef.current > -1) {\r\n setTableResponseRecords(\r\n generateResponseTableData(method.responses[indexRef.current].headers, indexRef.current)\r\n )\r\n }\r\n }, [method.responses, indexRef.current])\r\n\r\n useEffect(() => {\r\n // prepare tags selection list\r\n if (method?.tags.length || tags?.length) {\r\n const convertedStringArray = (method?.tags || [])?.map((item) => ({\r\n label: capitalize(item),\r\n value: item,\r\n }))\r\n const mergedArray = [\r\n ...convertedStringArray,\r\n ...(tags || []).map((item) => ({ label: capitalize(item.name), value: item.name })),\r\n ]\r\n\r\n const filteredArray = mergedArray.filter(\r\n (value, index, self) => index === self.findIndex((t) => t.value === value.value)\r\n )\r\n\r\n setSelectionTags(filteredArray)\r\n }\r\n }, [tags, method])\r\n\r\n return (\r\n <div ref={activeAccordionRef}>\r\n <Accordion\r\n expanded={isOpen}\r\n onChange={() => setIsOpen(!isOpen)}\r\n className={`${styles.methodAccordion} ${readOnly ? styles.readOnly : ''}`}\r\n summary={\r\n <div className={styles.methodSummaryContainer}>\r\n <div className={styles.methodSummary}>\r\n <span\r\n style={{\r\n backgroundColor: methodColorMapping?.[method?.type]?.color || '#3A6CD1',\r\n }}\r\n className={styles.methodLabel}\r\n >\r\n {methodColorMapping?.[method?.type]?.label || method?.type}\r\n </span>\r\n <span className={styles.methodPath}>{path}</span>\r\n </div>\r\n <div\r\n className={`${styles.methodExpandArrowContainer} ${isOpen ? styles.expanded : ''}`}\r\n >\r\n <SVGLoader src={DownArrowIcon} width=\"2rem\" height=\"2rem\" />\r\n </div>\r\n </div>\r\n }\r\n children={\r\n <div className={styles.methodAccordionContent}>\r\n {!readOnly ? (\r\n <Input\r\n className={styles.methodDesc}\r\n label=\"Endpoint Name\"\r\n required\r\n placeholder=\"Endpoint name...\"\r\n value={method?.summary}\r\n onChange={(value) => {\r\n value = value || ''\r\n if (value === '' || regex.ASCII.test(value)) {\r\n setFieldValue('summary', value)\r\n }\r\n }}\r\n onClear={() => {\r\n setFieldValue('summary', '')\r\n }}\r\n errorMsg={errors?.summary}\r\n />\r\n ) : (\r\n <SimpleLabelValue\r\n key={'summary'}\r\n label={'Endpoint Name: '}\r\n value={method?.summary || '-'}\r\n />\r\n )}\r\n <SelectGroup\r\n className={styles.methodDesc}\r\n disabled={readOnly}\r\n placeholder=\"Select Tags\"\r\n label=\"Tags\"\r\n value={method.tags?.map((t) => ({\r\n label: capitalize(t),\r\n value: t,\r\n }))}\r\n onChange={(item) => {\r\n setFieldValue(\r\n 'tags',\r\n item.map((i) => i.value)\r\n )\r\n }}\r\n options={[\r\n {\r\n list: selectionTags,\r\n },\r\n ]}\r\n isMultiple={true}\r\n withSearch={false}\r\n clearable={false}\r\n />\r\n {!readOnly ? (\r\n <TextArea\r\n className={styles.methodDesc}\r\n label=\"Description\"\r\n placeholder=\"Describe the method's purpose and functionality...\"\r\n maxLength={120}\r\n value={method?.description}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setFieldValue('description', value)\r\n }}\r\n />\r\n ) : (\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n value={method?.description || '-'}\r\n className={styles.multiLineText}\r\n />\r\n )}\r\n <div className={styles.paramsTable}>\r\n <h4 className={styles.paramsTableBodyHead}>Request Details</h4>\r\n <ParamterTable\r\n id=\"paramter-request-table\"\r\n data={tableRecords}\r\n headCells={paramsTableHeaders}\r\n isFormOpen={isFormOpen}\r\n setIsFormOpen={setIsFormOpen}\r\n saveNewRow={saveNewRow}\r\n readOnly={readOnly}\r\n isRequest={true}\r\n />\r\n {method?.type !== 'get' && method?.type !== 'delete' && (\r\n <Accordion\r\n expanded={isExpanded.request}\r\n onChange={() => null}\r\n className={styles.requestAccordion}\r\n summary={\r\n <span className={styles.requestAccordionSummary}>\r\n <div\r\n className={styles.requestAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n request: !prev.request,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.request ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Request\r\n {method?.type !== 'delete' && <span style={{ color: 'red' }}>*</span>}\r\n </div>\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n acceptType=\"JSON\"\r\n withFooter={!readOnly}\r\n className={'jsonField'}\r\n placeholder=\"Enter your request body as a JSON object....\"\r\n fieldIsDisabled={readOnly}\r\n value={method?.requestBody?.content?.schema?.properties || '{}'}\r\n onChange={(value: string) => {\r\n setFieldValue('requestBody.content.schema.properties', value)\r\n }}\r\n onValidation={() => null}\r\n />\r\n }\r\n />\r\n )}\r\n </div>\r\n <div className={styles.paramsTable}>\r\n <div className={styles.responseHeader}>\r\n <h4 className={styles.paramsTableBodyHead}>Response Details</h4>\r\n <SelectGroup\r\n withSearch={false}\r\n isMultiple={false}\r\n clearable={false}\r\n placeholder=\"200\"\r\n options={[\r\n {\r\n list: httpStatusCodeOptions,\r\n },\r\n ]}\r\n value={selectedStatusCode}\r\n onChange={(value) => {\r\n setSelectedStatusCode(value)\r\n }}\r\n />\r\n </div>\r\n <ParamterTable\r\n id=\"paramter-response-table\"\r\n data={tableResponseRecords}\r\n headCells={paramsTableHeaders}\r\n isFormOpen={isHeaderFormOpen}\r\n setIsFormOpen={setIsHeaderFormOpen}\r\n saveNewRow={saveNewResponseRow}\r\n readOnly={readOnly}\r\n isRequest={false}\r\n />\r\n <Accordion\r\n expanded={isExpanded.response}\r\n onChange={() => null}\r\n className={styles.responseAccordion}\r\n summary={\r\n <span className={styles.responseAccordionSummary}>\r\n <div\r\n className={styles.responseAccordionSummary_title}\r\n onClick={() =>\r\n setIsExpanded((prev) => ({\r\n ...prev,\r\n response: !prev.response,\r\n }))\r\n }\r\n >\r\n <SVGLoader\r\n className={isExpanded.response ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n Response<span style={{ color: 'red' }}>*</span>\r\n </div>\r\n </span>\r\n }\r\n children={\r\n <JsonInput\r\n acceptType=\"JSON\"\r\n withFooter={!readOnly}\r\n className={'jsonField'}\r\n placeholder=\"Enter your response as a JSON object...\"\r\n fieldIsDisabled={readOnly}\r\n value={currentResponse?.content?.schema?.properties || '{}'}\r\n onChange={(value) => {\r\n const currentResIndex = method.responses.findIndex(\r\n (res) => res.code === currentResponse.code\r\n )\r\n if (currentResIndex !== -1) {\r\n setFieldValue(\r\n `responses[${currentResIndex}].content.schema.properties`,\r\n value\r\n )\r\n } else {\r\n const clonedResponses = structuredClone(method.responses)\r\n\r\n clonedResponses.push({\r\n code: selectedStatusCode.value.toString(),\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n type: 'object',\r\n properties: value,\r\n },\r\n },\r\n })\r\n\r\n setFieldValue('responses', clonedResponses)\r\n }\r\n }}\r\n onValidation={(valid) => null}\r\n />\r\n }\r\n />\r\n </div>\r\n </div>\r\n }\r\n />\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 Parameter <strong>{selectedParamName}</strong>\r\n </span>\r\n ?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteParameter,\r\n text: 'Delete',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\r\n color: 'action',\r\n fullWidth: true,\r\n variant: 'outlined',\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 closeIcon={\r\n <SVGLoader\r\n src={CloseIcon}\r\n width=\"1.5rem\"\r\n height=\"1.5rem\"\r\n onClick={() => setOpenDeleteDialog(false)}\r\n />\r\n }\r\n />\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 Header <strong>{selectedParamName}</strong>\r\n </span>\r\n ?\r\n </p>\r\n }\r\n onSubmit={{\r\n onClick: confirmDeleteHeader,\r\n text: 'Delete',\r\n color: 'error',\r\n fullWidth: true,\r\n }}\r\n onCancel={{\r\n text: 'Cancel',\r\n color: 'action',\r\n fullWidth: true,\r\n variant: 'outlined',\r\n }}\r\n onClose={() => setOpenHeaderDeleteDialog(false)}\r\n open={openHeaderDeleteDialog}\r\n icon={<SVGLoader src={DeleteOutlinedIcon} width=\"4.0625rem\" height=\"4.0625rem\" />}\r\n closeIcon={\r\n <SVGLoader\r\n src={CloseIcon}\r\n width=\"1.5rem\"\r\n height=\"1.5rem\"\r\n onClick={() => setOpenDeleteDialog(false)}\r\n />\r\n }\r\n />\r\n </div>\r\n )\r\n}\r\n\r\nexport default MethodsAccordion\r\n","import React, { useState, useEffect } from 'react'\r\nimport parse from 'html-react-parser'\r\n\r\n// Utility function to create an SVG element from a string\r\nconst createSvgElement = (svgString: string): SVGSVGElement | null => {\r\n const parser = new DOMParser()\r\n const doc = parser.parseFromString(svgString, 'image/svg+xml')\r\n return doc.querySelector('svg')\r\n}\r\n\r\n// Define the type for SVG attributes\r\ntype SVGAttributes = React.SVGProps<SVGSVGElement>\r\n\r\ninterface SVGLoaderProps extends SVGAttributes {\r\n src: string\r\n cache?: boolean\r\n}\r\n\r\nconst SVGLoader: React.FC<SVGLoaderProps> | any = ({ src, cache = true, ...props }) => {\r\n const [svgMarkup, setSvgMarkup] = useState<string | null>(null)\r\n\r\n useEffect(() => {\r\n if (!src) return\r\n if (typeof src !== 'string') console.log({ src })\r\n const isUrl = src.startsWith('http') || src.startsWith('/')\r\n\r\n const cacheName = 'svg-cache'\r\n\r\n const fetchSvg = async () => {\r\n try {\r\n let svgString: string | null = null\r\n\r\n // Use the Cache API if caching is enabled\r\n if (cache && isUrl && 'caches' in window) {\r\n const cacheStorage = await caches.open(cacheName)\r\n const cachedResponse = await cacheStorage.match(src)\r\n\r\n // If SVG is found in cache, use it\r\n if (cachedResponse && cachedResponse.ok) {\r\n svgString = await cachedResponse.text()\r\n setSvgMarkup(svgString)\r\n return\r\n }\r\n }\r\n\r\n // If not cached, fetch from URL\r\n if (isUrl) {\r\n const response = await fetch(src)\r\n\r\n // Clone the response before consuming it\r\n const responseClone = response.clone()\r\n\r\n // Consume the response body for the SVG content\r\n svgString = await response.text()\r\n\r\n // Store the cloned response in the cache\r\n if (cache && 'caches' in window) {\r\n const cacheStorage = await caches.open(cacheName)\r\n await cacheStorage.put(src, responseClone)\r\n }\r\n } else {\r\n // If it's not a URL (it's inline), just use the source string\r\n svgString = src\r\n }\r\n\r\n // If we have valid SVG content, set it\r\n if (svgString) {\r\n const svg = createSvgElement(svgString)\r\n if (svg) {\r\n const svgStringWithProps = new XMLSerializer().serializeToString(svg)\r\n setSvgMarkup(svgStringWithProps)\r\n }\r\n }\r\n } catch (error) {\r\n console.error('Error loading SVG:', error)\r\n }\r\n }\r\n\r\n fetchSvg()\r\n }, [src, props])\r\n\r\n if (!svgMarkup) return null\r\n\r\n // Parse the SVG string and return it as JSX\r\n const parsedSvg = parse(svgMarkup)\r\n // Sometimes parse returns an array which includes the element\r\n const toBeClonedElement = Array.isArray(parsedSvg)\r\n ? parsedSvg.find((item) => React.isValidElement(item))\r\n : parsedSvg\r\n // Clone the parsed SVG element to apply the props\r\n const clonedSvg = React.cloneElement(toBeClonedElement as React.ReactElement, props)\r\n\r\n return <>{clonedSvg}</>\r\n}\r\n\r\nexport default SVGLoader\r\n","export const methodColorMapping = {\r\n get: {\r\n label: 'Get',\r\n color: '#3A6CD1',\r\n order: 1,\r\n },\r\n post: {\r\n label: 'Post',\r\n color: '#3AAA35',\r\n order: 2,\r\n },\r\n put: {\r\n label: 'Put',\r\n color: '#FAAD14',\r\n order: 3,\r\n },\r\n delete: {\r\n label: 'Delete',\r\n color: '#DA3F3F',\r\n order: 4,\r\n },\r\n patch: {\r\n label: 'Patch',\r\n color: '#58E2C2',\r\n order: 5,\r\n },\r\n options: {\r\n label: 'Options',\r\n color: '#495D97',\r\n order: 6,\r\n },\r\n trace: {\r\n label: 'Trace',\r\n color: '#FFA28F',\r\n order: 7,\r\n },\r\n head: {\r\n label: 'Head',\r\n color: '#9461C9',\r\n order: 8,\r\n },\r\n}\r\n\r\nexport const tagsTableHeaders = [\r\n {\r\n id: 'tagName',\r\n label: 'Tag Name',\r\n sortable: false,\r\n classes: 'requiredParam',\r\n },\r\n {\r\n id: 'description',\r\n label: 'Description',\r\n sortable: false,\r\n },\r\n {\r\n id: 'externalDocs',\r\n label: 'External Docs',\r\n sortable: false,\r\n },\r\n]\r\n\r\nexport const paramsTableHeaders = [\r\n {\r\n id: 'paramName',\r\n label: 'Parameter Name',\r\n sortable: false,\r\n required: true,\r\n classes: 'requiredParam',\r\n },\r\n { id: 'paramType', label: 'In', sortable: false, classes: 'requiredParam' },\r\n { id: 'schemaType', label: 'Schema-Type', sortable: false, classes: 'requiredParam' },\r\n // { id: 'arraySchemaType', label: 'Array Schema Type', sortable: false },\r\n { id: 'enum', label: 'Enum', sortable: false },\r\n { id: 'required', label: 'Required', sortable: false, classes: 'requiredParam' },\r\n { id: 'description', label: 'Description', sortable: false },\r\n]\r\n\r\nexport const httpStatusCodes = [\r\n // 1xx: Informational responses\r\n 100, 101, 102, 103,\r\n\r\n // 2xx: Success\r\n 200, 201, 202, 203, 204, 205, 206, 207, 208, 226,\r\n\r\n // 3xx: Redirection\r\n 300, 301, 302, 303, 304, 305, 306, 307, 308,\r\n\r\n // 4xx: Client errors\r\n 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418,\r\n 421, 422, 423, 424, 425, 426, 428, 429, 431, 451,\r\n\r\n // 5xx: Server errors\r\n 500, 501, 502, 503, 504, 505, 506, 507, 508, 510, 511,\r\n]\r\n","import React, { useState, useEffect, ReactNode } from 'react'\r\nimport Tippy, { TippyProps } from '@tippyjs/react'\r\nimport 'tippy.js/dist/tippy.css'\r\nimport './Tooltip.scss'\r\n\r\ninterface TooltipProps extends TippyProps {\r\n content: ReactNode\r\n success?: boolean\r\n onMouseEnter?: (event: React.MouseEvent<HTMLDivElement>) => void\r\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void\r\n visible?: boolean\r\n delay?: [number, number]\r\n type?: 'info' | 'function'\r\n maxWidth?: number\r\n className?: string\r\n arrowWithBorder?: boolean\r\n disabled?: boolean\r\n}\r\n\r\nconst Tooltip: React.FC<TooltipProps> = ({\r\n children,\r\n content,\r\n success,\r\n onMouseEnter,\r\n onMouseLeave,\r\n visible,\r\n delay = [200, 400],\r\n type = 'info',\r\n maxWidth = 390,\r\n className,\r\n arrowWithBorder,\r\n disabled,\r\n ...props\r\n}) => {\r\n const [rootFontSize, setRootFontSize] = useState(16)\r\n\r\n useEffect(() => {\r\n const handleFontSizeChange = (fontSize: number) => {\r\n setRootFontSize((prev) => (prev !== fontSize ? fontSize : prev))\r\n }\r\n\r\n if (\r\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\r\n window.applicationUIScaling &&\r\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\r\n typeof window.applicationUIScaling.addEventHandler === 'function'\r\n ) {\r\n // @ts-ignore - Ignoring if `applicationUIScaling` doesn't exist\r\n window.applicationUIScaling.addEventHandler(handleFontSizeChange)\r\n }\r\n }, [])\r\n\r\n return (\r\n <Tippy\r\n visible={visible}\r\n allowHTML={typeof content !== 'string'}\r\n interactive\r\n maxWidth={(maxWidth / 16) * rootFontSize}\r\n delay={delay}\r\n content={content}\r\n placement=\"bottom-start\"\r\n className={`${success ? 'success' : ''} ${type} ${className || ''} ${\r\n arrowWithBorder ? 'arrow-with-border' : ''\r\n }`}\r\n disabled={disabled}\r\n {...props}\r\n >\r\n <div\r\n className=\"tooltip-custom-wrapper\"\r\n onMouseEnter={onMouseEnter}\r\n onMouseLeave={onMouseLeave}\r\n >\r\n <div\r\n className=\"tooltip-custom-wrapper\"\r\n onMouseEnter={onMouseEnter}\r\n onMouseLeave={onMouseLeave}\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n </Tippy>\r\n )\r\n}\r\n\r\nexport default Tooltip\r\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","export const ROUND_ARROW =\n '<svg width=\"16\" height=\"6\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z\"></svg>';\n\nexport const BOX_CLASS = `__NAMESPACE_PREFIX__-box`;\nexport const CONTENT_CLASS = `__NAMESPACE_PREFIX__-content`;\nexport const BACKDROP_CLASS = `__NAMESPACE_PREFIX__-backdrop`;\nexport const ARROW_CLASS = `__NAMESPACE_PREFIX__-arrow`;\nexport const SVG_ARROW_CLASS = `__NAMESPACE_PREFIX__-svg-arrow`;\n\nexport const TOUCH_OPTIONS = {passive: true, capture: true};\n\nexport const TIPPY_DEFAULT_APPEND_TO = () => document.body;\n","import {BasePlacement, Placement} from './types';\n\nexport function hasOwnProperty(\n obj: Record<string, unknown>,\n key: string\n): boolean {\n return {}.hasOwnProperty.call(obj, key);\n}\n\nexport function getValueAtIndexOrReturn<T>(\n value: T | [T | null, T | null],\n index: number,\n defaultValue: T | [T, T]\n): T {\n if (Array.isArray(value)) {\n const v = value[index];\n return v == null\n ? Array.isArray(defaultValue)\n ? defaultValue[index]\n : defaultValue\n : v;\n }\n\n return value;\n}\n\nexport function isType(value: any, type: string): boolean {\n const str = {}.toString.call(value);\n return str.indexOf('[object') === 0 && str.indexOf(`${type}]`) > -1;\n}\n\nexport function invokeWithArgsOrReturn(value: any, args: any[]): any {\n return typeof value === 'function' ? value(...args) : value;\n}\n\nexport function debounce<T>(\n fn: (arg: T) => void,\n ms: number\n): (arg: T) => void {\n // Avoid wrapping in `setTimeout` if ms is 0 anyway\n if (ms === 0) {\n return fn;\n }\n\n let timeout: any;\n\n return (arg): void => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(arg);\n }, ms);\n };\n}\n\nexport function removeProperties<T>(obj: T, keys: string[]): Partial<T> {\n const clone = {...obj};\n keys.forEach((key) => {\n delete (clone as any)[key];\n });\n return clone;\n}\n\nexport function splitBySpaces(value: string): string[] {\n return value.split(/\\s+/).filter(Boolean);\n}\n\nexport function normalizeToArray<T>(value: T | T[]): T[] {\n return ([] as T[]).concat(value);\n}\n\nexport function pushIfUnique<T>(arr: T[], value: T): void {\n if (arr.indexOf(value) === -1) {\n arr.push(value);\n }\n}\n\nexport function appendPxIfNumber(value: string | number): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport function unique<T>(arr: T[]): T[] {\n return arr.filter((item, index) => arr.indexOf(item) === index);\n}\n\nexport function getNumber(value: string | number): number {\n return typeof value === 'number' ? value : parseFloat(value);\n}\n\nexport function getBasePlacement(placement: Placement): BasePlacement {\n return placement.split('-')[0] as BasePlacement;\n}\n\nexport function arrayFrom(value: ArrayLike<any>): any[] {\n return [].slice.call(value);\n}\n\nexport function removeUndefinedProps(\n obj: Record<string, unknown>\n): Partial<Record<string, unknown>> {\n return Object.keys(obj).reduce((acc, key) => {\n if (obj[key] !== undefined) {\n (acc as any)[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n","import {ReferenceElement, Targets} from './types';\nimport {PopperTreeData} from './types-internal';\nimport {arrayFrom, isType, normalizeToArray, getBasePlacement} from './utils';\n\nexport function div(): HTMLDivElement {\n return document.createElement('div');\n}\n\nexport function isElement(value: unknown): value is Element | DocumentFragment {\n return ['Element', 'Fragment'].some((type) => isType(value, type));\n}\n\nexport function isNodeList(value: unknown): value is NodeList {\n return isType(value, 'NodeList');\n}\n\nexport function isMouseEvent(value: unknown): value is MouseEvent {\n return isType(value, 'MouseEvent');\n}\n\nexport function isReferenceElement(value: any): value is ReferenceElement {\n return !!(value && value._tippy && value._tippy.reference === value);\n}\n\nexport function getArrayOfElements(value: Targets): Element[] {\n if (isElement(value)) {\n return [value];\n }\n\n if (isNodeList(value)) {\n return arrayFrom(value);\n }\n\n if (Array.isArray(value)) {\n return value;\n }\n\n return arrayFrom(document.querySelectorAll(value));\n}\n\nexport function setTransitionDuration(\n els: (HTMLDivElement | null)[],\n value: number\n): void {\n els.forEach((el) => {\n if (el) {\n el.style.transitionDuration = `${value}ms`;\n }\n });\n}\n\nexport function setVisibilityState(\n els: (HTMLDivElement | null)[],\n state: 'visible' | 'hidden'\n): void {\n els.forEach((el) => {\n if (el) {\n el.setAttribute('data-state', state);\n }\n });\n}\n\nexport function getOwnerDocument(\n elementOrElements: Element | Element[]\n): Document {\n const [element] = normalizeToArray(elementOrElements);\n\n // Elements created via a <template> have an ownerDocument with no reference to the body\n return element?.ownerDocument?.body ? element.ownerDocument : document;\n}\n\nexport function isCursorOutsideInteractiveBorder(\n popperTreeData: PopperTreeData[],\n event: MouseEvent\n): boolean {\n const {clientX, clientY} = event;\n\n return popperTreeData.every(({popperRect, popperState, props}) => {\n const {interactiveBorder} = props;\n const basePlacement = getBasePlacement(popperState.placement);\n const offsetData = popperState.modifiersData.offset;\n\n if (!offsetData) {\n return true;\n }\n\n const topDistance = basePlacement === 'bottom' ? offsetData.top!.y : 0;\n const bottomDistance = basePlacement === 'top' ? offsetData.bottom!.y : 0;\n const leftDistance = basePlacement === 'right' ? offsetData.left!.x : 0;\n const rightDistance = basePlacement === 'left' ? offsetData.right!.x : 0;\n\n const exceedsTop =\n popperRect.top - clientY + topDistance > interactiveBorder;\n const exceedsBottom =\n clientY - popperRect.bottom - bottomDistance > interactiveBorder;\n const exceedsLeft =\n popperRect.left - clientX + leftDistance > interactiveBorder;\n const exceedsRight =\n clientX - popperRect.right - rightDistance > interactiveBorder;\n\n return exceedsTop || exceedsBottom || exceedsLeft || exceedsRight;\n });\n}\n\nexport function updateTransitionEndListener(\n box: HTMLDivElement,\n action: 'add' | 'remove',\n listener: (event: TransitionEvent) => void\n): void {\n const method = `${action}EventListener` as\n | 'addEventListener'\n | 'removeEventListener';\n\n // some browsers apparently support `transition` (unprefixed) but only fire\n // `webkitTransitionEnd`...\n ['transitionend', 'webkitTransitionEnd'].forEach((event) => {\n box[method](event, listener as EventListener);\n });\n}\n\n/**\n * Compared to xxx.contains, this function works for dom structures with shadow\n * dom\n */\nexport function actualContains(parent: Element, child: Element): boolean {\n let target = child;\n while (target) {\n if (parent.contains(target)) {\n return true;\n }\n target = (target.getRootNode?.() as any)?.host;\n }\n return false;\n}\n","import {TOUCH_OPTIONS} from './constants';\nimport {isReferenceElement} from './dom-utils';\n\nexport const currentInput = {isTouch: false};\nlet lastMouseMoveTime = 0;\n\n/**\n * When a `touchstart` event is fired, it's assumed the user is using touch\n * input. We'll bind a `mousemove` event listener to listen for mouse input in\n * the future. This way, the `isTouch` property is fully dynamic and will handle\n * hybrid devices that use a mix of touch + mouse input.\n */\nexport function onDocumentTouchStart(): void {\n if (currentInput.isTouch) {\n return;\n }\n\n currentInput.isTouch = true;\n\n if (window.performance) {\n document.addEventListener('mousemove', onDocumentMouseMove);\n }\n}\n\n/**\n * When two `mousemove` event are fired consecutively within 20ms, it's assumed\n * the user is using mouse input again. `mousemove` can fire on touch devices as\n * well, but very rarely that quickly.\n */\nexport function onDocumentMouseMove(): void {\n const now = performance.now();\n\n if (now - lastMouseMoveTime < 20) {\n currentInput.isTouch = false;\n\n document.removeEventListener('mousemove', onDocumentMouseMove);\n }\n\n lastMouseMoveTime = now;\n}\n\n/**\n * When an element is in focus and has a tippy, leaving the tab/window and\n * returning causes it to show again. For mouse users this is unexpected, but\n * for keyboard use it makes sense.\n * TODO: find a better technique to solve this problem\n */\nexport function onWindowBlur(): void {\n const activeElement = document.activeElement as HTMLElement | null;\n\n if (isReferenceElement(activeElement)) {\n const instance = activeElement._tippy!;\n\n if (activeElement.blur && !instance.state.isVisible) {\n activeElement.blur();\n }\n }\n}\n\nexport default function bindGlobalEventListeners(): void {\n document.addEventListener('touchstart', onDocumentTouchStart, TOUCH_OPTIONS);\n window.addEventListener('blur', onWindowBlur);\n}\n","export const isBrowser =\n typeof window !== 'undefined' && typeof document !== 'undefined';\n\nexport const isIE11 = isBrowser\n ? // @ts-ignore\n !!window.msCrypto\n : false;\n","import {Targets} from './types';\n\nexport function createMemoryLeakWarning(method: string): string {\n const txt = method === 'destroy' ? 'n already-' : ' ';\n\n return [\n `${method}() was called on a${txt}destroyed instance. This is a no-op but`,\n 'indicates a potential memory leak.',\n ].join(' ');\n}\n\nexport function clean(value: string): string {\n const spacesAndTabs = /[ \\t]{2,}/g;\n const lineStartWithSpaces = /^[ \\t]*/gm;\n\n return value\n .replace(spacesAndTabs, ' ')\n .replace(lineStartWithSpaces, '')\n .trim();\n}\n\nfunction getDevMessage(message: string): string {\n return clean(`\n %ctippy.js\n\n %c${clean(message)}\n\n %c👷 This is a development-only message. It will be removed in production.\n `);\n}\n\nexport function getFormattedMessage(message: string): string[] {\n return [\n getDevMessage(message),\n // title\n 'color: #00C584; font-size: 1.3em; font-weight: bold;',\n // message\n 'line-height: 1.5',\n // footer\n 'color: #a6a095;',\n ];\n}\n\n// Assume warnings and errors never have the same message\nlet visitedMessages: Set<string>;\nif (__DEV__) {\n resetVisitedMessages();\n}\n\nexport function resetVisitedMessages(): void {\n visitedMessages = new Set();\n}\n\nexport function warnWhen(condition: boolean, message: string): void {\n if (condition && !visitedMessages.has(message)) {\n visitedMessages.add(message);\n console.warn(...getFormattedMessage(message));\n }\n}\n\nexport function errorWhen(condition: boolean, message: string): void {\n if (condition && !visitedMessages.has(message)) {\n visitedMessages.add(message);\n console.error(...getFormattedMessage(message));\n }\n}\n\nexport function validateTargets(targets: Targets): void {\n const didPassFalsyValue = !targets;\n const didPassPlainObject =\n Object.prototype.toString.call(targets) === '[object Object]' &&\n !(targets as any).addEventListener;\n\n errorWhen(\n didPassFalsyValue,\n [\n 'tippy() was passed',\n '`' + String(targets) + '`',\n 'as its targets (first) argument. Valid types are: String, Element,',\n 'Element[], or NodeList.',\n ].join(' ')\n );\n\n errorWhen(\n didPassPlainObject,\n [\n 'tippy() was passed a plain object which is not supported as an argument',\n 'for virtual positioning. Use props.getReferenceClientRect instead.',\n ].join(' ')\n );\n}\n","import {DefaultProps, Plugin, Props, ReferenceElement, Tippy} from './types';\nimport {\n hasOwnProperty,\n removeProperties,\n invokeWithArgsOrReturn,\n} from './utils';\nimport {warnWhen} from './validation';\nimport {TIPPY_DEFAULT_APPEND_TO} from './constants';\n\nconst pluginProps = {\n animateFill: false,\n followCursor: false,\n inlinePositioning: false,\n sticky: false,\n};\n\nconst renderProps = {\n allowHTML: false,\n animation: 'fade',\n arrow: true,\n content: '',\n inertia: false,\n maxWidth: 350,\n role: 'tooltip',\n theme: '',\n zIndex: 9999,\n};\n\nexport const defaultProps: DefaultProps = {\n appendTo: TIPPY_DEFAULT_APPEND_TO,\n aria: {\n content: 'auto',\n expanded: 'auto',\n },\n delay: 0,\n duration: [300, 250],\n getReferenceClientRect: null,\n hideOnClick: true,\n ignoreAttributes: false,\n interactive: false,\n interactiveBorder: 2,\n interactiveDebounce: 0,\n moveTransition: '',\n offset: [0, 10],\n onAfterUpdate() {},\n onBeforeUpdate() {},\n onCreate() {},\n onDestroy() {},\n onHidden() {},\n onHide() {},\n onMount() {},\n onShow() {},\n onShown() {},\n onTrigger() {},\n onUntrigger() {},\n onClickOutside() {},\n placement: 'top',\n plugins: [],\n popperOptions: {},\n render: null,\n showOnCreate: false,\n touch: true,\n trigger: 'mouseenter focus',\n triggerTarget: null,\n ...pluginProps,\n ...renderProps,\n};\n\nconst defaultKeys = Object.keys(defaultProps);\n\nexport const setDefaultProps: Tippy['setDefaultProps'] = (partialProps) => {\n /* istanbul ignore else */\n if (__DEV__) {\n validateProps(partialProps, []);\n }\n\n const keys = Object.keys(partialProps) as Array<keyof DefaultProps>;\n keys.forEach((key) => {\n (defaultProps as any)[key] = partialProps[key];\n });\n};\n\nexport function getExtendedPassedProps(\n passedProps: Partial<Props> & Record<string, unknown>\n): Partial<Props> {\n const plugins = passedProps.plugins || [];\n const pluginProps = plugins.reduce<Record<string, unknown>>((acc, plugin) => {\n const {name, defaultValue} = plugin;\n\n if (name) {\n acc[name] =\n passedProps[name] !== undefined\n ? passedProps[name]\n : (defaultProps as any)[name] ?? defaultValue;\n }\n\n return acc;\n }, {});\n\n return {\n ...passedProps,\n ...pluginProps,\n };\n}\n\nexport function getDataAttributeProps(\n reference: ReferenceElement,\n plugins: Plugin[]\n): Record<string, unknown> {\n const propKeys = plugins\n ? Object.keys(getExtendedPassedProps({...defaultProps, plugins}))\n : defaultKeys;\n\n const props = propKeys.reduce(\n (acc: Partial<Props> & Record<string, unknown>, key) => {\n const valueAsString = (\n reference.getAttribute(`data-tippy-${key}`) || ''\n ).trim();\n\n if (!valueAsString) {\n return acc;\n }\n\n if (key === 'content') {\n acc[key] = valueAsString;\n } else {\n try {\n acc[key] = JSON.parse(valueAsString);\n } catch (e) {\n acc[key] = valueAsString;\n }\n }\n\n return acc;\n },\n {}\n );\n\n return props;\n}\n\nexport function evaluateProps(\n reference: ReferenceElement,\n props: Props\n): Props {\n const out = {\n ...props,\n content: invokeWithArgsOrReturn(props.content, [reference]),\n ...(props.ignoreAttributes\n ? {}\n : getDataAttributeProps(reference, props.plugins)),\n };\n\n out.aria = {\n ...defaultProps.aria,\n ...out.aria,\n };\n\n out.aria = {\n expanded:\n out.aria.expanded === 'auto' ? props.interactive : out.aria.expanded,\n content:\n out.aria.content === 'auto'\n ? props.interactive\n ? null\n : 'describedby'\n : out.aria.content,\n };\n\n return out;\n}\n\nexport function validateProps(\n partialProps: Partial<Props> = {},\n plugins: Plugin[] = []\n): void {\n const keys = Object.keys(partialProps) as Array<keyof Props>;\n keys.forEach((prop) => {\n const nonPluginProps = removeProperties(\n defaultProps,\n Object.keys(pluginProps)\n );\n\n let didPassUnknownProp = !hasOwnProperty(nonPluginProps, prop);\n\n // Check if the prop exists in `plugins`\n if (didPassUnknownProp) {\n didPassUnknownProp =\n plugins.filter((plugin) => plugin.name === prop).length === 0;\n }\n\n warnWhen(\n didPassUnknownProp,\n [\n `\\`${prop}\\``,\n \"is not a valid prop. You may have spelled it incorrectly, or if it's\",\n 'a plugin, forgot to pass it in an array as props.plugins.',\n '\\n\\n',\n 'All props: https://atomiks.github.io/tippyjs/v6/all-props/\\n',\n 'Plugins: https://atomiks.github.io/tippyjs/v6/plugins/',\n ].join(' ')\n );\n });\n}\n","import {\n ARROW_CLASS,\n BACKDROP_CLASS,\n BOX_CLASS,\n CONTENT_CLASS,\n SVG_ARROW_CLASS,\n} from './constants';\nimport {div, isElement} from './dom-utils';\nimport {Instance, PopperElement, Props} from './types';\nimport {PopperChildren} from './types-internal';\nimport {arrayFrom} from './utils';\n\n// Firefox extensions don't allow .innerHTML = \"...\" property. This tricks it.\nconst innerHTML = (): 'innerHTML' => 'innerHTML';\n\nfunction dangerouslySetInnerHTML(element: Element, html: string): void {\n element[innerHTML()] = html;\n}\n\nfunction createArrowElement(value: Props['arrow']): HTMLDivElement {\n const arrow = div();\n\n if (value === true) {\n arrow.className = ARROW_CLASS;\n } else {\n arrow.className = SVG_ARROW_CLASS;\n\n if (isElement(value)) {\n arrow.appendChild(value);\n } else {\n dangerouslySetInnerHTML(arrow, value as string);\n }\n }\n\n return arrow;\n}\n\nexport function setContent(content: HTMLDivElement, props: Props): void {\n if (isElement(props.content)) {\n dangerouslySetInnerHTML(content, '');\n content.appendChild(props.content);\n } else if (typeof props.content !== 'function') {\n if (props.allowHTML) {\n dangerouslySetInnerHTML(content, props.content);\n } else {\n content.textContent = props.content;\n }\n }\n}\n\nexport function getChildren(popper: PopperElement): PopperChildren {\n const box = popper.firstElementChild as HTMLDivElement;\n const boxChildren = arrayFrom(box.children);\n\n return {\n box,\n content: boxChildren.find((node) => node.classList.contains(CONTENT_CLASS)),\n arrow: boxChildren.find(\n (node) =>\n node.classList.contains(ARROW_CLASS) ||\n node.classList.contains(SVG_ARROW_CLASS)\n ),\n backdrop: boxChildren.find((node) =>\n node.classList.contains(BACKDROP_CLASS)\n ),\n };\n}\n\nexport function render(\n instance: Instance\n): {\n popper: PopperElement;\n onUpdate?: (prevProps: Props, nextProps: Props) => void;\n} {\n const popper = div();\n\n const box = div();\n box.className = BOX_CLASS;\n box.setAttribute('data-state', 'hidden');\n box.setAttribute('tabindex', '-1');\n\n const content = div();\n content.className = CONTENT_CLASS;\n content.setAttribute('data-state', 'hidden');\n\n setContent(content, instance.props);\n\n popper.appendChild(box);\n box.appendChild(content);\n\n onUpdate(instance.props, instance.props);\n\n function onUpdate(prevProps: Props, nextProps: Props): void {\n const {box, content, arrow} = getChildren(popper);\n\n if (nextProps.theme) {\n box.setAttribute('data-theme', nextProps.theme);\n } else {\n box.removeAttribute('data-theme');\n }\n\n if (typeof nextProps.animation === 'string') {\n box.setAttribute('data-animation', nextProps.animation);\n } else {\n box.removeAttribute('data-animation');\n }\n\n if (nextProps.inertia) {\n box.setAttribute('data-inertia', '');\n } else {\n box.removeAttribute('data-inertia');\n }\n\n box.style.maxWidth =\n typeof nextProps.maxWidth === 'number'\n ? `${nextProps.maxWidth}px`\n : nextProps.maxWidth;\n\n if (nextProps.role) {\n box.setAttribute('role', nextProps.role);\n } else {\n box.removeAttribute('role');\n }\n\n if (\n prevProps.content !== nextProps.content ||\n prevProps.allowHTML !== nextProps.allowHTML\n ) {\n setContent(content, instance.props);\n }\n\n if (nextProps.arrow) {\n if (!arrow) {\n box.appendChild(createArrowElement(nextProps.arrow));\n } else if (prevProps.arrow !== nextProps.arrow) {\n box.removeChild(arrow);\n box.appendChild(createArrowElement(nextProps.arrow));\n }\n } else if (arrow) {\n box.removeChild(arrow!);\n }\n }\n\n return {\n popper,\n onUpdate,\n };\n}\n\n// Runtime check to identify if the render function is the default one; this\n// way we can apply default CSS transitions logic and it can be tree-shaken away\nrender.$$tippy = true;\n","import {createPopper, StrictModifiers, Modifier} from '@popperjs/core';\nimport {currentInput} from './bindGlobalEventListeners';\nimport {isIE11} from './browser';\nimport {TIPPY_DEFAULT_APPEND_TO, TOUCH_OPTIONS} from './constants';\nimport {\n actualContains,\n div,\n getOwnerDocument,\n isCursorOutsideInteractiveBorder,\n isMouseEvent,\n setTransitionDuration,\n setVisibilityState,\n updateTransitionEndListener,\n} from './dom-utils';\nimport {defaultProps, evaluateProps, getExtendedPassedProps} from './props';\nimport {getChildren} from './template';\nimport {\n Content,\n Instance,\n LifecycleHooks,\n PopperElement,\n Props,\n ReferenceElement,\n} from './types';\nimport {ListenerObject, PopperTreeData, PopperChildren} from './types-internal';\nimport {\n arrayFrom,\n debounce,\n getValueAtIndexOrReturn,\n invokeWithArgsOrReturn,\n normalizeToArray,\n pushIfUnique,\n splitBySpaces,\n unique,\n removeUndefinedProps,\n} from './utils';\nimport {createMemoryLeakWarning, errorWhen, warnWhen} from './validation';\n\nlet idCounter = 1;\nlet mouseMoveListeners: ((event: MouseEvent) => void)[] = [];\n\n// Used by `hideAll()`\nexport let mountedInstances: Instance[] = [];\n\nexport default function createTippy(\n reference: ReferenceElement,\n passedProps: Partial<Props>\n): Instance {\n const props = evaluateProps(reference, {\n ...defaultProps,\n ...getExtendedPassedProps(removeUndefinedProps(passedProps)),\n });\n\n // ===========================================================================\n // 🔒 Private members\n // ===========================================================================\n let showTimeout: any;\n let hideTimeout: any;\n let scheduleHideAnimationFrame: number;\n let isVisibleFromClick = false;\n let didHideDueToDocumentMouseDown = false;\n let didTouchMove = false;\n let ignoreOnFirstUpdate = false;\n let lastTriggerEvent: Event | undefined;\n let currentTransitionEndListener: (event: TransitionEvent) => void;\n let onFirstUpdate: () => void;\n let listeners: ListenerObject[] = [];\n let debouncedOnMouseMove = debounce(onMouseMove, props.interactiveDebounce);\n let currentTarget: Element;\n\n // ===========================================================================\n // 🔑 Public members\n // ===========================================================================\n const id = idCounter++;\n const popperInstance = null;\n const plugins = unique(props.plugins);\n\n const state = {\n // Is the instance currently enabled?\n isEnabled: true,\n // Is the tippy currently showing and not transitioning out?\n isVisible: false,\n // Has the instance been destroyed?\n isDestroyed: false,\n // Is the tippy currently mounted to the DOM?\n isMounted: false,\n // Has the tippy finished transitioning in?\n isShown: false,\n };\n\n const instance: Instance = {\n // properties\n id,\n reference,\n popper: div(),\n popperInstance,\n props,\n state,\n plugins,\n // methods\n clearDelayTimeouts,\n setProps,\n setContent,\n show,\n hide,\n hideWithInteractivity,\n enable,\n disable,\n unmount,\n destroy,\n };\n\n // TODO: Investigate why this early return causes a TDZ error in the tests —\n // it doesn't seem to happen in the browser\n /* istanbul ignore if */\n if (!props.render) {\n if (__DEV__) {\n errorWhen(true, 'render() function has not been supplied.');\n }\n\n return instance;\n }\n\n // ===========================================================================\n // Initial mutations\n // ===========================================================================\n const {popper, onUpdate} = props.render(instance);\n\n popper.setAttribute('data-__NAMESPACE_PREFIX__-root', '');\n popper.id = `__NAMESPACE_PREFIX__-${instance.id}`;\n\n instance.popper = popper;\n reference._tippy = instance;\n popper._tippy = instance;\n\n const pluginsHooks = plugins.map((plugin) => plugin.fn(instance));\n const hasAriaExpanded = reference.hasAttribute('aria-expanded');\n\n addListeners();\n handleAriaExpandedAttribute();\n handleStyles();\n\n invokeHook('onCreate', [instance]);\n\n if (props.showOnCreate) {\n scheduleShow();\n }\n\n // Prevent a tippy with a delay from hiding if the cursor left then returned\n // before it started hiding\n popper.addEventListener('mouseenter', () => {\n if (instance.props.interactive && instance.state.isVisible) {\n instance.clearDelayTimeouts();\n }\n });\n\n popper.addEventListener('mouseleave', () => {\n if (\n instance.props.interactive &&\n instance.props.trigger.indexOf('mouseenter') >= 0\n ) {\n getDocument().addEventListener('mousemove', debouncedOnMouseMove);\n }\n });\n\n return instance;\n\n // ===========================================================================\n // 🔒 Private methods\n // ===========================================================================\n function getNormalizedTouchSettings(): [string | boolean, number] {\n const {touch} = instance.props;\n return Array.isArray(touch) ? touch : [touch, 0];\n }\n\n function getIsCustomTouchBehavior(): boolean {\n return getNormalizedTouchSettings()[0] === 'hold';\n }\n\n function getIsDefaultRenderFn(): boolean {\n // @ts-ignore\n return !!instance.props.render?.$$tippy;\n }\n\n function getCurrentTarget(): Element {\n return currentTarget || reference;\n }\n\n function getDocument(): Document {\n const parent = getCurrentTarget().parentNode as Element;\n return parent ? getOwnerDocument(parent) : document;\n }\n\n function getDefaultTemplateChildren(): PopperChildren {\n return getChildren(popper);\n }\n\n function getDelay(isShow: boolean): number {\n // For touch or keyboard input, force `0` delay for UX reasons\n // Also if the instance is mounted but not visible (transitioning out),\n // ignore delay\n if (\n (instance.state.isMounted && !instance.state.isVisible) ||\n currentInput.isTouch ||\n (lastTriggerEvent && lastTriggerEvent.type === 'focus')\n ) {\n return 0;\n }\n\n return getValueAtIndexOrReturn(\n instance.props.delay,\n isShow ? 0 : 1,\n defaultProps.delay\n );\n }\n\n function handleStyles(fromHide = false): void {\n popper.style.pointerEvents =\n instance.props.interactive && !fromHide ? '' : 'none';\n popper.style.zIndex = `${instance.props.zIndex}`;\n }\n\n function invokeHook(\n hook: keyof LifecycleHooks,\n args: [Instance, any?],\n shouldInvokePropsHook = true\n ): void {\n pluginsHooks.forEach((pluginHooks) => {\n if (pluginHooks[hook]) {\n pluginHooks[hook]!(...args);\n }\n });\n\n if (shouldInvokePropsHook) {\n instance.props[hook](...args);\n }\n }\n\n function handleAriaContentAttribute(): void {\n const {aria} = instance.props;\n\n if (!aria.content) {\n return;\n }\n\n const attr = `aria-${aria.content}`;\n const id = popper.id;\n const nodes = normalizeToArray(instance.props.triggerTarget || reference);\n\n nodes.forEach((node) => {\n const currentValue = node.getAttribute(attr);\n\n if (instance.state.isVisible) {\n node.setAttribute(attr, currentValue ? `${currentValue} ${id}` : id);\n } else {\n const nextValue = currentValue && currentValue.replace(id, '').trim();\n\n if (nextValue) {\n node.setAttribute(attr, nextValue);\n } else {\n node.removeAttribute(attr);\n }\n }\n });\n }\n\n function handleAriaExpandedAttribute(): void {\n if (hasAriaExpanded || !instance.props.aria.expanded) {\n return;\n }\n\n const nodes = normalizeToArray(instance.props.triggerTarget || reference);\n\n nodes.forEach((node) => {\n if (instance.props.interactive) {\n node.setAttribute(\n 'aria-expanded',\n instance.state.isVisible && node === getCurrentTarget()\n ? 'true'\n : 'false'\n );\n } else {\n node.removeAttribute('aria-expanded');\n }\n });\n }\n\n function cleanupInteractiveMouseListeners(): void {\n getDocument().removeEventListener('mousemove', debouncedOnMouseMove);\n mouseMoveListeners = mouseMoveListeners.filter(\n (listener) => listener !== debouncedOnMouseMove\n );\n }\n\n function onDocumentPress(event: MouseEvent | TouchEvent): void {\n // Moved finger to scroll instead of an intentional tap outside\n if (currentInput.isTouch) {\n if (didTouchMove || event.type === 'mousedown') {\n return;\n }\n }\n\n const actualTarget =\n (event.composedPath && event.composedPath()[0]) || event.target;\n\n // Clicked on interactive popper\n if (\n instance.props.interactive &&\n actualContains(popper, actualTarget as Element)\n ) {\n return;\n }\n\n // Clicked on the event listeners target\n if (\n normalizeToArray(instance.props.triggerTarget || reference).some((el) =>\n actualContains(el, actualTarget as Element)\n )\n ) {\n if (currentInput.isTouch) {\n return;\n }\n\n if (\n instance.state.isVisible &&\n instance.props.trigger.indexOf('click') >= 0\n ) {\n return;\n }\n } else {\n invokeHook('onClickOutside', [instance, event]);\n }\n\n if (instance.props.hideOnClick === true) {\n instance.clearDelayTimeouts();\n instance.hide();\n\n // `mousedown` event is fired right before `focus` if pressing the\n // currentTarget. This lets a tippy with `focus` trigger know that it\n // should not show\n didHideDueToDocumentMouseDown = true;\n setTimeout(() => {\n didHideDueToDocumentMouseDown = false;\n });\n\n // The listener gets added in `scheduleShow()`, but this may be hiding it\n // before it shows, and hide()'s early bail-out behavior can prevent it\n // from being cleaned up\n if (!instance.state.isMounted) {\n removeDocumentPress();\n }\n }\n }\n\n function onTouchMove(): void {\n didTouchMove = true;\n }\n\n function onTouchStart(): void {\n didTouchMove = false;\n }\n\n function addDocumentPress(): void {\n const doc = getDocument();\n doc.addEventListener('mousedown', onDocumentPress, true);\n doc.addEventListener('touchend', onDocumentPress, TOUCH_OPTIONS);\n doc.addEventListener('touchstart', onTouchStart, TOUCH_OPTIONS);\n doc.addEventListener('touchmove', onTouchMove, TOUCH_OPTIONS);\n }\n\n function removeDocumentPress(): void {\n const doc = getDocument();\n doc.removeEventListener('mousedown', onDocumentPress, true);\n doc.removeEventListener('touchend', onDocumentPress, TOUCH_OPTIONS);\n doc.removeEventListener('touchstart', onTouchStart, TOUCH_OPTIONS);\n doc.removeEventListener('touchmove', onTouchMove, TOUCH_OPTIONS);\n }\n\n function onTransitionedOut(duration: number, callback: () => void): void {\n onTransitionEnd(duration, () => {\n if (\n !instance.state.isVisible &&\n popper.parentNode &&\n popper.parentNode.contains(popper)\n ) {\n callback();\n }\n });\n }\n\n function onTransitionedIn(duration: number, callback: () => void): void {\n onTransitionEnd(duration, callback);\n }\n\n function onTransitionEnd(duration: number, callback: () => void): void {\n const box = getDefaultTemplateChildren().box;\n\n function listener(event: TransitionEvent): void {\n if (event.target === box) {\n updateTransitionEndListener(box, 'remove', listener);\n callback();\n }\n }\n\n // Make callback synchronous if duration is 0\n // `transitionend` won't fire otherwise\n if (duration === 0) {\n return callback();\n }\n\n updateTransitionEndListener(box, 'remove', currentTransitionEndListener);\n updateTransitionEndListener(box, 'add', listener);\n\n currentTransitionEndListener = listener;\n }\n\n function on(\n eventType: string,\n handler: EventListener,\n options: boolean | Record<string, unknown> = false\n ): void {\n const nodes = normalizeToArray(instance.props.triggerTarget || reference);\n nodes.forEach((node) => {\n node.addEventListener(eventType, handler, options);\n listeners.push({node, eventType, handler, options});\n });\n }\n\n function addListeners(): void {\n if (getIsCustomTouchBehavior()) {\n on('touchstart', onTrigger, {passive: true});\n on('touchend', onMouseLeave as EventListener, {passive: true});\n }\n\n splitBySpaces(instance.props.trigger).forEach((eventType) => {\n if (eventType === 'manual') {\n return;\n }\n\n on(eventType, onTrigger);\n\n switch (eventType) {\n case 'mouseenter':\n on('mouseleave', onMouseLeave as EventListener);\n break;\n case 'focus':\n on(isIE11 ? 'focusout' : 'blur', onBlurOrFocusOut as EventListener);\n break;\n case 'focusin':\n on('focusout', onBlurOrFocusOut as EventListener);\n break;\n }\n });\n }\n\n function removeListeners(): void {\n listeners.forEach(({node, eventType, handler, options}: ListenerObject) => {\n node.removeEventListener(eventType, handler, options);\n });\n listeners = [];\n }\n\n function onTrigger(event: Event): void {\n let shouldScheduleClickHide = false;\n\n if (\n !instance.state.isEnabled ||\n isEventListenerStopped(event) ||\n didHideDueToDocumentMouseDown\n ) {\n return;\n }\n\n const wasFocused = lastTriggerEvent?.type === 'focus';\n\n lastTriggerEvent = event;\n currentTarget = event.currentTarget as Element;\n\n handleAriaExpandedAttribute();\n\n if (!instance.state.isVisible && isMouseEvent(event)) {\n // If scrolling, `mouseenter` events can be fired if the cursor lands\n // over a new target, but `mousemove` events don't get fired. This\n // causes interactive tooltips to get stuck open until the cursor is\n // moved\n mouseMoveListeners.forEach((listener) => listener(event));\n }\n\n // Toggle show/hide when clicking click-triggered tooltips\n if (\n event.type === 'click' &&\n (instance.props.trigger.indexOf('mouseenter') < 0 ||\n isVisibleFromClick) &&\n instance.props.hideOnClick !== false &&\n instance.state.isVisible\n ) {\n shouldScheduleClickHide = true;\n } else {\n scheduleShow(event);\n }\n\n if (event.type === 'click') {\n isVisibleFromClick = !shouldScheduleClickHide;\n }\n\n if (shouldScheduleClickHide && !wasFocused) {\n scheduleHide(event);\n }\n }\n\n function onMouseMove(event: MouseEvent): void {\n const target = event.target as Node;\n const isCursorOverReferenceOrPopper =\n getCurrentTarget().contains(target) || popper.contains(target);\n\n if (event.type === 'mousemove' && isCursorOverReferenceOrPopper) {\n return;\n }\n\n const popperTreeData = getNestedPopperTree()\n .concat(popper)\n .map((popper) => {\n const instance = popper._tippy!;\n const state = instance.popperInstance?.state;\n\n if (state) {\n return {\n popperRect: popper.getBoundingClientRect(),\n popperState: state,\n props,\n };\n }\n\n return null;\n })\n .filter(Boolean) as PopperTreeData[];\n\n if (isCursorOutsideInteractiveBorder(popperTreeData, event)) {\n cleanupInteractiveMouseListeners();\n scheduleHide(event);\n }\n }\n\n function onMouseLeave(event: MouseEvent): void {\n const shouldBail =\n isEventListenerStopped(event) ||\n (instance.props.trigger.indexOf('click') >= 0 && isVisibleFromClick);\n\n if (shouldBail) {\n return;\n }\n\n if (instance.props.interactive) {\n instance.hideWithInteractivity(event);\n return;\n }\n\n scheduleHide(event);\n }\n\n function onBlurOrFocusOut(event: FocusEvent): void {\n if (\n instance.props.trigger.indexOf('focusin') < 0 &&\n event.target !== getCurrentTarget()\n ) {\n return;\n }\n\n // If focus was moved to within the popper\n if (\n instance.props.interactive &&\n event.relatedTarget &&\n popper.contains(event.relatedTarget as Element)\n ) {\n return;\n }\n\n scheduleHide(event);\n }\n\n function isEventListenerStopped(event: Event): boolean {\n return currentInput.isTouch\n ? getIsCustomTouchBehavior() !== event.type.indexOf('touch') >= 0\n : false;\n }\n\n function createPopperInstance(): void {\n destroyPopperInstance();\n\n const {\n popperOptions,\n placement,\n offset,\n getReferenceClientRect,\n moveTransition,\n } = instance.props;\n\n const arrow = getIsDefaultRenderFn() ? getChildren(popper).arrow : null;\n\n const computedReference = getReferenceClientRect\n ? {\n getBoundingClientRect: getReferenceClientRect,\n contextElement:\n getReferenceClientRect.contextElement || getCurrentTarget(),\n }\n : reference;\n\n const tippyModifier: Modifier<'$$tippy', Record<string, unknown>> = {\n name: '$$tippy',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn({state}) {\n if (getIsDefaultRenderFn()) {\n const {box} = getDefaultTemplateChildren();\n\n ['placement', 'reference-hidden', 'escaped'].forEach((attr) => {\n if (attr === 'placement') {\n box.setAttribute('data-placement', state.placement);\n } else {\n if (state.attributes.popper[`data-popper-${attr}`]) {\n box.setAttribute(`data-${attr}`, '');\n } else {\n box.removeAttribute(`data-${attr}`);\n }\n }\n });\n\n state.attributes.popper = {};\n }\n },\n };\n\n type TippyModifier = Modifier<'$$tippy', Record<string, unknown>>;\n type ExtendedModifiers = StrictModifiers | Partial<TippyModifier>;\n\n const modifiers: Array<ExtendedModifiers> = [\n {\n name: 'offset',\n options: {\n offset,\n },\n },\n {\n name: 'preventOverflow',\n options: {\n padding: {\n top: 2,\n bottom: 2,\n left: 5,\n right: 5,\n },\n },\n },\n {\n name: 'flip',\n options: {\n padding: 5,\n },\n },\n {\n name: 'computeStyles',\n options: {\n adaptive: !moveTransition,\n },\n },\n tippyModifier,\n ];\n\n if (getIsDefaultRenderFn() && arrow) {\n modifiers.push({\n name: 'arrow',\n options: {\n element: arrow,\n padding: 3,\n },\n });\n }\n\n modifiers.push(...(popperOptions?.modifiers || []));\n\n instance.popperInstance = createPopper<ExtendedModifiers>(\n computedReference,\n popper,\n {\n ...popperOptions,\n placement,\n onFirstUpdate,\n modifiers,\n }\n );\n }\n\n function destroyPopperInstance(): void {\n if (instance.popperInstance) {\n instance.popperInstance.destroy();\n instance.popperInstance = null;\n }\n }\n\n function mount(): void {\n const {appendTo} = instance.props;\n\n let parentNode: any;\n\n // By default, we'll append the popper to the triggerTargets's parentNode so\n // it's directly after the reference element so the elements inside the\n // tippy can be tabbed to\n // If there are clipping issues, the user can specify a different appendTo\n // and ensure focus management is handled correctly manually\n const node = getCurrentTarget();\n\n if (\n (instance.props.interactive && appendTo === TIPPY_DEFAULT_APPEND_TO) ||\n appendTo === 'parent'\n ) {\n parentNode = node.parentNode;\n } else {\n parentNode = invokeWithArgsOrReturn(appendTo, [node]);\n }\n\n // The popper element needs to exist on the DOM before its position can be\n // updated as Popper needs to read its dimensions\n if (!parentNode.contains(popper)) {\n parentNode.appendChild(popper);\n }\n\n instance.state.isMounted = true;\n\n createPopperInstance();\n\n /* istanbul ignore else */\n if (__DEV__) {\n // Accessibility check\n warnWhen(\n instance.props.interactive &&\n appendTo === defaultProps.appendTo &&\n node.nextElementSibling !== popper,\n [\n 'Interactive tippy element may not be accessible via keyboard',\n 'navigation because it is not directly after the reference element',\n 'in the DOM source order.',\n '\\n\\n',\n 'Using a wrapper <div> or <span> tag around the reference element',\n 'solves this by creating a new parentNode context.',\n '\\n\\n',\n 'Specifying `appendTo: document.body` silences this warning, but it',\n 'assumes you are using a focus management solution to handle',\n 'keyboard navigation.',\n '\\n\\n',\n 'See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity',\n ].join(' ')\n );\n }\n }\n\n function getNestedPopperTree(): PopperElement[] {\n return arrayFrom(\n popper.querySelectorAll('[data-__NAMESPACE_PREFIX__-root]')\n );\n }\n\n function scheduleShow(event?: Event): void {\n instance.clearDelayTimeouts();\n\n if (event) {\n invokeHook('onTrigger', [instance, event]);\n }\n\n addDocumentPress();\n\n let delay = getDelay(true);\n const [touchValue, touchDelay] = getNormalizedTouchSettings();\n\n if (currentInput.isTouch && touchValue === 'hold' && touchDelay) {\n delay = touchDelay;\n }\n\n if (delay) {\n showTimeout = setTimeout(() => {\n instance.show();\n }, delay);\n } else {\n instance.show();\n }\n }\n\n function scheduleHide(event: Event): void {\n instance.clearDelayTimeouts();\n\n invokeHook('onUntrigger', [instance, event]);\n\n if (!instance.state.isVisible) {\n removeDocumentPress();\n\n return;\n }\n\n // For interactive tippies, scheduleHide is added to a document.body handler\n // from onMouseLeave so must intercept scheduled hides from mousemove/leave\n // events when trigger contains mouseenter and click, and the tip is\n // currently shown as a result of a click.\n if (\n instance.props.trigger.indexOf('mouseenter') >= 0 &&\n instance.props.trigger.indexOf('click') >= 0 &&\n ['mouseleave', 'mousemove'].indexOf(event.type) >= 0 &&\n isVisibleFromClick\n ) {\n return;\n }\n\n const delay = getDelay(false);\n\n if (delay) {\n hideTimeout = setTimeout(() => {\n if (instance.state.isVisible) {\n instance.hide();\n }\n }, delay);\n } else {\n // Fixes a `transitionend` problem when it fires 1 frame too\n // late sometimes, we don't want hide() to be called.\n scheduleHideAnimationFrame = requestAnimationFrame(() => {\n instance.hide();\n });\n }\n }\n\n // ===========================================================================\n // 🔑 Public methods\n // ===========================================================================\n function enable(): void {\n instance.state.isEnabled = true;\n }\n\n function disable(): void {\n // Disabling the instance should also hide it\n // https://github.com/atomiks/tippy.js-react/issues/106\n instance.hide();\n instance.state.isEnabled = false;\n }\n\n function clearDelayTimeouts(): void {\n clearTimeout(showTimeout);\n clearTimeout(hideTimeout);\n cancelAnimationFrame(scheduleHideAnimationFrame);\n }\n\n function setProps(partialProps: Partial<Props>): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('setProps'));\n }\n\n if (instance.state.isDestroyed) {\n return;\n }\n\n invokeHook('onBeforeUpdate', [instance, partialProps]);\n\n removeListeners();\n\n const prevProps = instance.props;\n const nextProps = evaluateProps(reference, {\n ...prevProps,\n ...removeUndefinedProps(partialProps),\n ignoreAttributes: true,\n });\n\n instance.props = nextProps;\n\n addListeners();\n\n if (prevProps.interactiveDebounce !== nextProps.interactiveDebounce) {\n cleanupInteractiveMouseListeners();\n debouncedOnMouseMove = debounce(\n onMouseMove,\n nextProps.interactiveDebounce\n );\n }\n\n // Ensure stale aria-expanded attributes are removed\n if (prevProps.triggerTarget && !nextProps.triggerTarget) {\n normalizeToArray(prevProps.triggerTarget).forEach((node) => {\n node.removeAttribute('aria-expanded');\n });\n } else if (nextProps.triggerTarget) {\n reference.removeAttribute('aria-expanded');\n }\n\n handleAriaExpandedAttribute();\n handleStyles();\n\n if (onUpdate) {\n onUpdate(prevProps, nextProps);\n }\n\n if (instance.popperInstance) {\n createPopperInstance();\n\n // Fixes an issue with nested tippies if they are all getting re-rendered,\n // and the nested ones get re-rendered first.\n // https://github.com/atomiks/tippyjs-react/issues/177\n // TODO: find a cleaner / more efficient solution(!)\n getNestedPopperTree().forEach((nestedPopper) => {\n // React (and other UI libs likely) requires a rAF wrapper as it flushes\n // its work in one\n requestAnimationFrame(nestedPopper._tippy!.popperInstance!.forceUpdate);\n });\n }\n\n invokeHook('onAfterUpdate', [instance, partialProps]);\n }\n\n function setContent(content: Content): void {\n instance.setProps({content});\n }\n\n function show(): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('show'));\n }\n\n // Early bail-out\n const isAlreadyVisible = instance.state.isVisible;\n const isDestroyed = instance.state.isDestroyed;\n const isDisabled = !instance.state.isEnabled;\n const isTouchAndTouchDisabled =\n currentInput.isTouch && !instance.props.touch;\n const duration = getValueAtIndexOrReturn(\n instance.props.duration,\n 0,\n defaultProps.duration\n );\n\n if (\n isAlreadyVisible ||\n isDestroyed ||\n isDisabled ||\n isTouchAndTouchDisabled\n ) {\n return;\n }\n\n // Normalize `disabled` behavior across browsers.\n // Firefox allows events on disabled elements, but Chrome doesn't.\n // Using a wrapper element (i.e. <span>) is recommended.\n if (getCurrentTarget().hasAttribute('disabled')) {\n return;\n }\n\n invokeHook('onShow', [instance], false);\n if (instance.props.onShow(instance) === false) {\n return;\n }\n\n instance.state.isVisible = true;\n\n if (getIsDefaultRenderFn()) {\n popper.style.visibility = 'visible';\n }\n\n handleStyles();\n addDocumentPress();\n\n if (!instance.state.isMounted) {\n popper.style.transition = 'none';\n }\n\n // If flipping to the opposite side after hiding at least once, the\n // animation will use the wrong placement without resetting the duration\n if (getIsDefaultRenderFn()) {\n const {box, content} = getDefaultTemplateChildren();\n setTransitionDuration([box, content], 0);\n }\n\n onFirstUpdate = (): void => {\n if (!instance.state.isVisible || ignoreOnFirstUpdate) {\n return;\n }\n\n ignoreOnFirstUpdate = true;\n\n // reflow\n void popper.offsetHeight;\n\n popper.style.transition = instance.props.moveTransition;\n\n if (getIsDefaultRenderFn() && instance.props.animation) {\n const {box, content} = getDefaultTemplateChildren();\n setTransitionDuration([box, content], duration);\n setVisibilityState([box, content], 'visible');\n }\n\n handleAriaContentAttribute();\n handleAriaExpandedAttribute();\n\n pushIfUnique(mountedInstances, instance);\n\n // certain modifiers (e.g. `maxSize`) require a second update after the\n // popper has been positioned for the first time\n instance.popperInstance?.forceUpdate();\n\n invokeHook('onMount', [instance]);\n\n if (instance.props.animation && getIsDefaultRenderFn()) {\n onTransitionedIn(duration, () => {\n instance.state.isShown = true;\n invokeHook('onShown', [instance]);\n });\n }\n };\n\n mount();\n }\n\n function hide(): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('hide'));\n }\n\n // Early bail-out\n const isAlreadyHidden = !instance.state.isVisible;\n const isDestroyed = instance.state.isDestroyed;\n const isDisabled = !instance.state.isEnabled;\n const duration = getValueAtIndexOrReturn(\n instance.props.duration,\n 1,\n defaultProps.duration\n );\n\n if (isAlreadyHidden || isDestroyed || isDisabled) {\n return;\n }\n\n invokeHook('onHide', [instance], false);\n if (instance.props.onHide(instance) === false) {\n return;\n }\n\n instance.state.isVisible = false;\n instance.state.isShown = false;\n ignoreOnFirstUpdate = false;\n isVisibleFromClick = false;\n\n if (getIsDefaultRenderFn()) {\n popper.style.visibility = 'hidden';\n }\n\n cleanupInteractiveMouseListeners();\n removeDocumentPress();\n handleStyles(true);\n\n if (getIsDefaultRenderFn()) {\n const {box, content} = getDefaultTemplateChildren();\n\n if (instance.props.animation) {\n setTransitionDuration([box, content], duration);\n setVisibilityState([box, content], 'hidden');\n }\n }\n\n handleAriaContentAttribute();\n handleAriaExpandedAttribute();\n\n if (instance.props.animation) {\n if (getIsDefaultRenderFn()) {\n onTransitionedOut(duration, instance.unmount);\n }\n } else {\n instance.unmount();\n }\n }\n\n function hideWithInteractivity(event: MouseEvent): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(\n instance.state.isDestroyed,\n createMemoryLeakWarning('hideWithInteractivity')\n );\n }\n\n getDocument().addEventListener('mousemove', debouncedOnMouseMove);\n pushIfUnique(mouseMoveListeners, debouncedOnMouseMove);\n debouncedOnMouseMove(event);\n }\n\n function unmount(): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('unmount'));\n }\n\n if (instance.state.isVisible) {\n instance.hide();\n }\n\n if (!instance.state.isMounted) {\n return;\n }\n\n destroyPopperInstance();\n\n // If a popper is not interactive, it will be appended outside the popper\n // tree by default. This seems mainly for interactive tippies, but we should\n // find a workaround if possible\n getNestedPopperTree().forEach((nestedPopper) => {\n nestedPopper._tippy!.unmount();\n });\n\n if (popper.parentNode) {\n popper.parentNode.removeChild(popper);\n }\n\n mountedInstances = mountedInstances.filter((i) => i !== instance);\n\n instance.state.isMounted = false;\n invokeHook('onHidden', [instance]);\n }\n\n function destroy(): void {\n /* istanbul ignore else */\n if (__DEV__) {\n warnWhen(instance.state.isDestroyed, createMemoryLeakWarning('destroy'));\n }\n\n if (instance.state.isDestroyed) {\n return;\n }\n\n instance.clearDelayTimeouts();\n instance.unmount();\n\n removeListeners();\n\n delete reference._tippy;\n\n instance.state.isDestroyed = true;\n\n invokeHook('onDestroy', [instance]);\n }\n}\n","import bindGlobalEventListeners, {\n currentInput,\n} from './bindGlobalEventListeners';\nimport createTippy, {mountedInstances} from './createTippy';\nimport {getArrayOfElements, isElement, isReferenceElement} from './dom-utils';\nimport {defaultProps, setDefaultProps, validateProps} from './props';\nimport {HideAll, HideAllOptions, Instance, Props, Targets} from './types';\nimport {validateTargets, warnWhen} from './validation';\n\nfunction tippy(\n targets: Targets,\n optionalProps: Partial<Props> = {}\n): Instance | Instance[] {\n const plugins = defaultProps.plugins.concat(optionalProps.plugins || []);\n\n /* istanbul ignore else */\n if (__DEV__) {\n validateTargets(targets);\n validateProps(optionalProps, plugins);\n }\n\n bindGlobalEventListeners();\n\n const passedProps: Partial<Props> = {...optionalProps, plugins};\n\n const elements = getArrayOfElements(targets);\n\n /* istanbul ignore else */\n if (__DEV__) {\n const isSingleContentElement = isElement(passedProps.content);\n const isMoreThanOneReferenceElement = elements.length > 1;\n warnWhen(\n isSingleContentElement && isMoreThanOneReferenceElement,\n [\n 'tippy() was passed an Element as the `content` prop, but more than',\n 'one tippy instance was created by this invocation. This means the',\n 'content element will only be appended to the last tippy instance.',\n '\\n\\n',\n 'Instead, pass the .innerHTML of the element, or use a function that',\n 'returns a cloned version of the element instead.',\n '\\n\\n',\n '1) content: element.innerHTML\\n',\n '2) content: () => element.cloneNode(true)',\n ].join(' ')\n );\n }\n\n const instances = elements.reduce<Instance[]>(\n (acc, reference): Instance[] => {\n const instance = reference && createTippy(reference, passedProps);\n\n if (instance) {\n acc.push(instance);\n }\n\n return acc;\n },\n []\n );\n\n return isElement(targets) ? instances[0] : instances;\n}\n\ntippy.defaultProps = defaultProps;\ntippy.setDefaultProps = setDefaultProps;\ntippy.currentInput = currentInput;\n\nexport default tippy;\n\nexport const hideAll: HideAll = ({\n exclude: excludedReferenceOrInstance,\n duration,\n}: HideAllOptions = {}) => {\n mountedInstances.forEach((instance) => {\n let isExcluded = false;\n\n if (excludedReferenceOrInstance) {\n isExcluded = isReferenceElement(excludedReferenceOrInstance)\n ? instance.reference === excludedReferenceOrInstance\n : instance.popper === (excludedReferenceOrInstance as Instance).popper;\n }\n\n if (!isExcluded) {\n const originalDuration = instance.props.duration;\n\n instance.setProps({duration});\n instance.hide();\n\n if (!instance.state.isDestroyed) {\n instance.setProps({duration: originalDuration});\n }\n }\n });\n};\n","import tippy from '..';\nimport {div} from '../dom-utils';\nimport {\n CreateSingleton,\n Plugin,\n CreateSingletonProps,\n ReferenceElement,\n CreateSingletonInstance,\n Instance,\n Props,\n} from '../types';\nimport {normalizeToArray, removeProperties} from '../utils';\nimport {errorWhen} from '../validation';\nimport {applyStyles, Modifier} from '@popperjs/core';\n\n// The default `applyStyles` modifier has a cleanup function that gets called\n// every time the popper is destroyed (i.e. a new target), removing the styles\n// and causing transitions to break for singletons when the console is open, but\n// most notably for non-transform styles being used, `gpuAcceleration: false`.\nconst applyStylesModifier: Modifier<'applyStyles', Record<string, unknown>> = {\n ...applyStyles,\n effect({state}) {\n const initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0',\n },\n arrow: {\n position: 'absolute',\n },\n reference: {},\n };\n\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n // intentionally return no cleanup function\n // return () => { ... }\n },\n};\n\nconst createSingleton: CreateSingleton = (\n tippyInstances,\n optionalProps = {}\n) => {\n /* istanbul ignore else */\n if (__DEV__) {\n errorWhen(\n !Array.isArray(tippyInstances),\n [\n 'The first argument passed to createSingleton() must be an array of',\n 'tippy instances. The passed value was',\n String(tippyInstances),\n ].join(' ')\n );\n }\n\n let individualInstances = tippyInstances;\n let references: Array<ReferenceElement> = [];\n let triggerTargets: Array<Element> = [];\n let currentTarget: Element | null;\n let overrides = optionalProps.overrides;\n let interceptSetPropsCleanups: Array<() => void> = [];\n let shownOnCreate = false;\n\n function setTriggerTargets(): void {\n triggerTargets = individualInstances\n .map((instance) =>\n normalizeToArray(instance.props.triggerTarget || instance.reference)\n )\n .reduce((acc, item) => acc.concat(item), []);\n }\n\n function setReferences(): void {\n references = individualInstances.map((instance) => instance.reference);\n }\n\n function enableInstances(isEnabled: boolean): void {\n individualInstances.forEach((instance) => {\n if (isEnabled) {\n instance.enable();\n } else {\n instance.disable();\n }\n });\n }\n\n function interceptSetProps(singleton: Instance): Array<() => void> {\n return individualInstances.map((instance) => {\n const originalSetProps = instance.setProps;\n\n instance.setProps = (props): void => {\n originalSetProps(props);\n\n if (instance.reference === currentTarget) {\n singleton.setProps(props);\n }\n };\n\n return (): void => {\n instance.setProps = originalSetProps;\n };\n });\n }\n\n // have to pass singleton, as it maybe undefined on first call\n function prepareInstance(\n singleton: Instance,\n target: ReferenceElement\n ): void {\n const index = triggerTargets.indexOf(target);\n\n // bail-out\n if (target === currentTarget) {\n return;\n }\n\n currentTarget = target;\n\n const overrideProps: Partial<Props> = (overrides || [])\n .concat('content')\n .reduce((acc, prop) => {\n (acc as any)[prop] = individualInstances[index].props[prop];\n return acc;\n }, {});\n\n singleton.setProps({\n ...overrideProps,\n getReferenceClientRect:\n typeof overrideProps.getReferenceClientRect === 'function'\n ? overrideProps.getReferenceClientRect\n : (): ClientRect => references[index]?.getBoundingClientRect(),\n });\n }\n\n enableInstances(false);\n setReferences();\n setTriggerTargets();\n\n const plugin: Plugin = {\n fn() {\n return {\n onDestroy(): void {\n enableInstances(true);\n },\n onHidden(): void {\n currentTarget = null;\n },\n onClickOutside(instance): void {\n if (instance.props.showOnCreate && !shownOnCreate) {\n shownOnCreate = true;\n currentTarget = null;\n }\n },\n onShow(instance): void {\n if (instance.props.showOnCreate && !shownOnCreate) {\n shownOnCreate = true;\n prepareInstance(instance, references[0]);\n }\n },\n onTrigger(instance, event): void {\n prepareInstance(instance, event.currentTarget as Element);\n },\n };\n },\n };\n\n const singleton = tippy(div(), {\n ...removeProperties(optionalProps, ['overrides']),\n plugins: [plugin, ...(optionalProps.plugins || [])],\n triggerTarget: triggerTargets,\n popperOptions: {\n ...optionalProps.popperOptions,\n modifiers: [\n ...(optionalProps.popperOptions?.modifiers || []),\n applyStylesModifier,\n ],\n },\n }) as CreateSingletonInstance<CreateSingletonProps>;\n\n const originalShow = singleton.show;\n\n singleton.show = (target?: ReferenceElement | Instance | number): void => {\n originalShow();\n\n // first time, showOnCreate or programmatic call with no params\n // default to showing first instance\n if (!currentTarget && target == null) {\n return prepareInstance(singleton, references[0]);\n }\n\n // triggered from event (do nothing as prepareInstance already called by onTrigger)\n // programmatic call with no params when already visible (do nothing again)\n if (currentTarget && target == null) {\n return;\n }\n\n // target is index of instance\n if (typeof target === 'number') {\n return (\n references[target] && prepareInstance(singleton, references[target])\n );\n }\n\n // target is a child tippy instance\n if (individualInstances.indexOf(target as Instance) >= 0) {\n const ref = (target as Instance).reference;\n return prepareInstance(singleton, ref);\n }\n\n // target is a ReferenceElement\n if (references.indexOf(target as ReferenceElement) >= 0) {\n return prepareInstance(singleton, target as ReferenceElement);\n }\n };\n\n singleton.showNext = (): void => {\n const first = references[0];\n if (!currentTarget) {\n return singleton.show(0);\n }\n const index = references.indexOf(currentTarget);\n singleton.show(references[index + 1] || first);\n };\n\n singleton.showPrevious = (): void => {\n const last = references[references.length - 1];\n if (!currentTarget) {\n return singleton.show(last);\n }\n const index = references.indexOf(currentTarget);\n const target = references[index - 1] || last;\n singleton.show(target);\n };\n\n const originalSetProps = singleton.setProps;\n\n singleton.setProps = (props): void => {\n overrides = props.overrides || overrides;\n originalSetProps(props);\n };\n\n singleton.setInstances = (nextInstances): void => {\n enableInstances(true);\n interceptSetPropsCleanups.forEach((fn) => fn());\n\n individualInstances = nextInstances;\n\n enableInstances(false);\n setReferences();\n setTriggerTargets();\n interceptSetPropsCleanups = interceptSetProps(singleton);\n\n singleton.setProps({triggerTarget: triggerTargets});\n };\n\n interceptSetPropsCleanups = interceptSetProps(singleton);\n\n return singleton;\n};\n\nexport default createSingleton;\n","import tippy from '..';\nimport {TOUCH_OPTIONS} from '../constants';\nimport {defaultProps} from '../props';\nimport {Instance, Props, Targets} from '../types';\nimport {ListenerObject} from '../types-internal';\nimport {normalizeToArray, removeProperties} from '../utils';\nimport {errorWhen} from '../validation';\n\nconst BUBBLING_EVENTS_MAP = {\n mouseover: 'mouseenter',\n focusin: 'focus',\n click: 'click',\n};\n\n/**\n * Creates a delegate instance that controls the creation of tippy instances\n * for child elements (`target` CSS selector).\n */\nfunction delegate(\n targets: Targets,\n props: Partial<Props> & {target: string}\n): Instance | Instance[] {\n /* istanbul ignore else */\n if (__DEV__) {\n errorWhen(\n !(props && props.target),\n [\n 'You must specity a `target` prop indicating a CSS selector string matching',\n 'the target elements that should receive a tippy.',\n ].join(' ')\n );\n }\n\n let listeners: ListenerObject[] = [];\n let childTippyInstances: Instance[] = [];\n let disabled = false;\n\n const {target} = props;\n\n const nativeProps = removeProperties(props, ['target']);\n const parentProps = {...nativeProps, trigger: 'manual', touch: false};\n const childProps = {\n touch: defaultProps.touch,\n ...nativeProps,\n showOnCreate: true,\n };\n\n const returnValue = tippy(targets, parentProps);\n const normalizedReturnValue = normalizeToArray(returnValue);\n\n function onTrigger(event: Event): void {\n if (!event.target || disabled) {\n return;\n }\n\n const targetNode = (event.target as Element).closest(target);\n\n if (!targetNode) {\n return;\n }\n\n // Get relevant trigger with fallbacks:\n // 1. Check `data-tippy-trigger` attribute on target node\n // 2. Fallback to `trigger` passed to `delegate()`\n // 3. Fallback to `defaultProps.trigger`\n const trigger =\n targetNode.getAttribute('data-tippy-trigger') ||\n props.trigger ||\n defaultProps.trigger;\n\n // @ts-ignore\n if (targetNode._tippy) {\n return;\n }\n\n if (event.type === 'touchstart' && typeof childProps.touch === 'boolean') {\n return;\n }\n\n if (\n event.type !== 'touchstart' &&\n trigger.indexOf((BUBBLING_EVENTS_MAP as any)[event.type]) < 0\n ) {\n return;\n }\n\n const instance = tippy(targetNode, childProps);\n\n if (instance) {\n childTippyInstances = childTippyInstances.concat(instance);\n }\n }\n\n function on(\n node: Element,\n eventType: string,\n handler: EventListener,\n options: boolean | Record<string, unknown> = false\n ): void {\n node.addEventListener(eventType, handler, options);\n listeners.push({node, eventType, handler, options});\n }\n\n function addEventListeners(instance: Instance): void {\n const {reference} = instance;\n\n on(reference, 'touchstart', onTrigger, TOUCH_OPTIONS);\n on(reference, 'mouseover', onTrigger);\n on(reference, 'focusin', onTrigger);\n on(reference, 'click', onTrigger);\n }\n\n function removeEventListeners(): void {\n listeners.forEach(({node, eventType, handler, options}: ListenerObject) => {\n node.removeEventListener(eventType, handler, options);\n });\n listeners = [];\n }\n\n function applyMutations(instance: Instance): void {\n const originalDestroy = instance.destroy;\n const originalEnable = instance.enable;\n const originalDisable = instance.disable;\n\n instance.destroy = (shouldDestroyChildInstances = true): void => {\n if (shouldDestroyChildInstances) {\n childTippyInstances.forEach((instance) => {\n instance.destroy();\n });\n }\n\n childTippyInstances = [];\n\n removeEventListeners();\n originalDestroy();\n };\n\n instance.enable = (): void => {\n originalEnable();\n childTippyInstances.forEach((instance) => instance.enable());\n disabled = false;\n };\n\n instance.disable = (): void => {\n originalDisable();\n childTippyInstances.forEach((instance) => instance.disable());\n disabled = true;\n };\n\n addEventListeners(instance);\n }\n\n normalizedReturnValue.forEach(applyMutations);\n\n return returnValue;\n}\n\nexport default delegate;\n","import {BACKDROP_CLASS} from '../constants';\nimport {div, setVisibilityState} from '../dom-utils';\nimport {getChildren} from '../template';\nimport {AnimateFill} from '../types';\nimport {errorWhen} from '../validation';\n\nconst animateFill: AnimateFill = {\n name: 'animateFill',\n defaultValue: false,\n fn(instance) {\n // @ts-ignore\n if (!instance.props.render?.$$tippy) {\n if (__DEV__) {\n errorWhen(\n instance.props.animateFill,\n 'The `animateFill` plugin requires the default render function.'\n );\n }\n\n return {};\n }\n\n const {box, content} = getChildren(instance.popper);\n\n const backdrop = instance.props.animateFill\n ? createBackdropElement()\n : null;\n\n return {\n onCreate(): void {\n if (backdrop) {\n box.insertBefore(backdrop, box.firstElementChild!);\n box.setAttribute('data-animatefill', '');\n box.style.overflow = 'hidden';\n\n instance.setProps({arrow: false, animation: 'shift-away'});\n }\n },\n onMount(): void {\n if (backdrop) {\n const {transitionDuration} = box.style;\n const duration = Number(transitionDuration.replace('ms', ''));\n\n // The content should fade in after the backdrop has mostly filled the\n // tooltip element. `clip-path` is the other alternative but is not\n // well-supported and is buggy on some devices.\n content.style.transitionDelay = `${Math.round(duration / 10)}ms`;\n\n backdrop.style.transitionDuration = transitionDuration;\n setVisibilityState([backdrop], 'visible');\n }\n },\n onShow(): void {\n if (backdrop) {\n backdrop.style.transitionDuration = '0ms';\n }\n },\n onHide(): void {\n if (backdrop) {\n setVisibilityState([backdrop], 'hidden');\n }\n },\n };\n },\n};\n\nexport default animateFill;\n\nfunction createBackdropElement(): HTMLDivElement {\n const backdrop = div();\n backdrop.className = BACKDROP_CLASS;\n setVisibilityState([backdrop], 'hidden');\n return backdrop;\n}\n","import {getOwnerDocument, isMouseEvent} from '../dom-utils';\nimport {FollowCursor, Instance} from '../types';\n\nlet mouseCoords = {clientX: 0, clientY: 0};\nlet activeInstances: Array<{instance: Instance; doc: Document}> = [];\n\nfunction storeMouseCoords({clientX, clientY}: MouseEvent): void {\n mouseCoords = {clientX, clientY};\n}\n\nfunction addMouseCoordsListener(doc: Document): void {\n doc.addEventListener('mousemove', storeMouseCoords);\n}\n\nfunction removeMouseCoordsListener(doc: Document): void {\n doc.removeEventListener('mousemove', storeMouseCoords);\n}\n\nconst followCursor: FollowCursor = {\n name: 'followCursor',\n defaultValue: false,\n fn(instance) {\n const reference = instance.reference;\n const doc = getOwnerDocument(instance.props.triggerTarget || reference);\n\n let isInternalUpdate = false;\n let wasFocusEvent = false;\n let isUnmounted = true;\n let prevProps = instance.props;\n\n function getIsInitialBehavior(): boolean {\n return (\n instance.props.followCursor === 'initial' && instance.state.isVisible\n );\n }\n\n function addListener(): void {\n doc.addEventListener('mousemove', onMouseMove);\n }\n\n function removeListener(): void {\n doc.removeEventListener('mousemove', onMouseMove);\n }\n\n function unsetGetReferenceClientRect(): void {\n isInternalUpdate = true;\n instance.setProps({getReferenceClientRect: null});\n isInternalUpdate = false;\n }\n\n function onMouseMove(event: MouseEvent): void {\n // If the instance is interactive, avoid updating the position unless it's\n // over the reference element\n const isCursorOverReference = event.target\n ? reference.contains(event.target as Node)\n : true;\n const {followCursor} = instance.props;\n const {clientX, clientY} = event;\n\n const rect = reference.getBoundingClientRect();\n const relativeX = clientX - rect.left;\n const relativeY = clientY - rect.top;\n\n if (isCursorOverReference || !instance.props.interactive) {\n instance.setProps({\n // @ts-ignore - unneeded DOMRect properties\n getReferenceClientRect() {\n const rect = reference.getBoundingClientRect();\n\n let x = clientX;\n let y = clientY;\n\n if (followCursor === 'initial') {\n x = rect.left + relativeX;\n y = rect.top + relativeY;\n }\n\n const top = followCursor === 'horizontal' ? rect.top : y;\n const right = followCursor === 'vertical' ? rect.right : x;\n const bottom = followCursor === 'horizontal' ? rect.bottom : y;\n const left = followCursor === 'vertical' ? rect.left : x;\n\n return {\n width: right - left,\n height: bottom - top,\n top,\n right,\n bottom,\n left,\n };\n },\n });\n }\n }\n\n function create(): void {\n if (instance.props.followCursor) {\n activeInstances.push({instance, doc});\n addMouseCoordsListener(doc);\n }\n }\n\n function destroy(): void {\n activeInstances = activeInstances.filter(\n (data) => data.instance !== instance\n );\n\n if (activeInstances.filter((data) => data.doc === doc).length === 0) {\n removeMouseCoordsListener(doc);\n }\n }\n\n return {\n onCreate: create,\n onDestroy: destroy,\n onBeforeUpdate(): void {\n prevProps = instance.props;\n },\n onAfterUpdate(_, {followCursor}): void {\n if (isInternalUpdate) {\n return;\n }\n\n if (\n followCursor !== undefined &&\n prevProps.followCursor !== followCursor\n ) {\n destroy();\n\n if (followCursor) {\n create();\n\n if (\n instance.state.isMounted &&\n !wasFocusEvent &&\n !getIsInitialBehavior()\n ) {\n addListener();\n }\n } else {\n removeListener();\n unsetGetReferenceClientRect();\n }\n }\n },\n onMount(): void {\n if (instance.props.followCursor && !wasFocusEvent) {\n if (isUnmounted) {\n onMouseMove(mouseCoords as MouseEvent);\n isUnmounted = false;\n }\n\n if (!getIsInitialBehavior()) {\n addListener();\n }\n }\n },\n onTrigger(_, event): void {\n if (isMouseEvent(event)) {\n mouseCoords = {clientX: event.clientX, clientY: event.clientY};\n }\n wasFocusEvent = event.type === 'focus';\n },\n onHidden(): void {\n if (instance.props.followCursor) {\n unsetGetReferenceClientRect();\n removeListener();\n isUnmounted = true;\n }\n },\n };\n },\n};\n\nexport default followCursor;\n","import {Modifier, Placement} from '@popperjs/core';\nimport {isMouseEvent} from '../dom-utils';\nimport {BasePlacement, InlinePositioning, Props} from '../types';\nimport {arrayFrom, getBasePlacement} from '../utils';\n\nfunction getProps(props: Props, modifier: Modifier<any, any>): Partial<Props> {\n return {\n popperOptions: {\n ...props.popperOptions,\n modifiers: [\n ...(props.popperOptions?.modifiers || []).filter(\n ({name}) => name !== modifier.name\n ),\n modifier,\n ],\n },\n };\n}\n\nconst inlinePositioning: InlinePositioning = {\n name: 'inlinePositioning',\n defaultValue: false,\n fn(instance) {\n const {reference} = instance;\n\n function isEnabled(): boolean {\n return !!instance.props.inlinePositioning;\n }\n\n let placement: Placement;\n let cursorRectIndex = -1;\n let isInternalUpdate = false;\n let triedPlacements: Array<string> = [];\n\n const modifier: Modifier<\n 'tippyInlinePositioning',\n Record<string, unknown>\n > = {\n name: 'tippyInlinePositioning',\n enabled: true,\n phase: 'afterWrite',\n fn({state}) {\n if (isEnabled()) {\n if (triedPlacements.indexOf(state.placement) !== -1) {\n triedPlacements = [];\n }\n\n if (\n placement !== state.placement &&\n triedPlacements.indexOf(state.placement) === -1\n ) {\n triedPlacements.push(state.placement);\n instance.setProps({\n // @ts-ignore - unneeded DOMRect properties\n getReferenceClientRect: () =>\n getReferenceClientRect(state.placement),\n });\n }\n\n placement = state.placement;\n }\n },\n };\n\n function getReferenceClientRect(placement: Placement): Partial<DOMRect> {\n return getInlineBoundingClientRect(\n getBasePlacement(placement),\n reference.getBoundingClientRect(),\n arrayFrom(reference.getClientRects()),\n cursorRectIndex\n );\n }\n\n function setInternalProps(partialProps: Partial<Props>): void {\n isInternalUpdate = true;\n instance.setProps(partialProps);\n isInternalUpdate = false;\n }\n\n function addModifier(): void {\n if (!isInternalUpdate) {\n setInternalProps(getProps(instance.props, modifier));\n }\n }\n\n return {\n onCreate: addModifier,\n onAfterUpdate: addModifier,\n onTrigger(_, event): void {\n if (isMouseEvent(event)) {\n const rects = arrayFrom(instance.reference.getClientRects());\n const cursorRect = rects.find(\n (rect) =>\n rect.left - 2 <= event.clientX &&\n rect.right + 2 >= event.clientX &&\n rect.top - 2 <= event.clientY &&\n rect.bottom + 2 >= event.clientY\n );\n const index = rects.indexOf(cursorRect);\n cursorRectIndex = index > -1 ? index : cursorRectIndex;\n }\n },\n onHidden(): void {\n cursorRectIndex = -1;\n },\n };\n },\n};\n\nexport default inlinePositioning;\n\nexport function getInlineBoundingClientRect(\n currentBasePlacement: BasePlacement | null,\n boundingRect: DOMRect,\n clientRects: DOMRect[],\n cursorRectIndex: number\n): {\n top: number;\n bottom: number;\n left: number;\n right: number;\n width: number;\n height: number;\n} {\n // Not an inline element, or placement is not yet known\n if (clientRects.length < 2 || currentBasePlacement === null) {\n return boundingRect;\n }\n\n // There are two rects and they are disjoined\n if (\n clientRects.length === 2 &&\n cursorRectIndex >= 0 &&\n clientRects[0].left > clientRects[1].right\n ) {\n return clientRects[cursorRectIndex] || boundingRect;\n }\n\n switch (currentBasePlacement) {\n case 'top':\n case 'bottom': {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = currentBasePlacement === 'top';\n\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n\n return {top, bottom, left, right, width, height};\n }\n case 'left':\n case 'right': {\n const minLeft = Math.min(...clientRects.map((rects) => rects.left));\n const maxRight = Math.max(...clientRects.map((rects) => rects.right));\n const measureRects = clientRects.filter((rect) =>\n currentBasePlacement === 'left'\n ? rect.left === minLeft\n : rect.right === maxRight\n );\n\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n\n return {top, bottom, left, right, width, height};\n }\n default: {\n return boundingRect;\n }\n }\n}\n","import {VirtualElement} from '@popperjs/core';\nimport {ReferenceElement, Sticky} from '../types';\n\nconst sticky: Sticky = {\n name: 'sticky',\n defaultValue: false,\n fn(instance) {\n const {reference, popper} = instance;\n\n function getReference(): ReferenceElement | VirtualElement {\n return instance.popperInstance\n ? instance.popperInstance.state.elements.reference\n : reference;\n }\n\n function shouldCheck(value: 'reference' | 'popper'): boolean {\n return instance.props.sticky === true || instance.props.sticky === value;\n }\n\n let prevRefRect: ClientRect | null = null;\n let prevPopRect: ClientRect | null = null;\n\n function updatePosition(): void {\n const currentRefRect = shouldCheck('reference')\n ? getReference().getBoundingClientRect()\n : null;\n const currentPopRect = shouldCheck('popper')\n ? popper.getBoundingClientRect()\n : null;\n\n if (\n (currentRefRect && areRectsDifferent(prevRefRect, currentRefRect)) ||\n (currentPopRect && areRectsDifferent(prevPopRect, currentPopRect))\n ) {\n if (instance.popperInstance) {\n instance.popperInstance.update();\n }\n }\n\n prevRefRect = currentRefRect;\n prevPopRect = currentPopRect;\n\n if (instance.state.isMounted) {\n requestAnimationFrame(updatePosition);\n }\n }\n\n return {\n onMount(): void {\n if (instance.props.sticky) {\n updatePosition();\n }\n },\n };\n },\n};\n\nexport default sticky;\n\nfunction areRectsDifferent(\n rectA: ClientRect | null,\n rectB: ClientRect | null\n): boolean {\n if (rectA && rectB) {\n return (\n rectA.top !== rectB.top ||\n rectA.right !== rectB.right ||\n rectA.bottom !== rectB.bottom ||\n rectA.left !== rectB.left\n );\n }\n\n return true;\n}\n","import tippy from '../src';\nimport {render} from '../src/template';\n\ntippy.setDefaultProps({render});\n\nexport {default, hideAll} from '../src';\nexport {default as createSingleton} from '../src/addons/createSingleton';\nexport {default as delegate} from '../src/addons/delegate';\nexport {default as animateFill} from '../src/plugins/animateFill';\nexport {default as followCursor} from '../src/plugins/followCursor';\nexport {default as inlinePositioning} from '../src/plugins/inlinePositioning';\nexport {default as sticky} from '../src/plugins/sticky';\nexport {ROUND_ARROW as roundArrow} from '../src/constants';\n","export const isBrowser =\n typeof window !== 'undefined' && typeof document !== 'undefined';\n\nexport function preserveRef(ref, node) {\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n }\n if ({}.hasOwnProperty.call(ref, 'current')) {\n ref.current = node;\n }\n }\n}\n\nexport function ssrSafeCreateDiv() {\n return isBrowser && document.createElement('div');\n}\n\nexport function toDataAttributes(attrs) {\n const dataAttrs = {\n 'data-placement': attrs.placement,\n };\n\n if (attrs.referenceHidden) {\n dataAttrs['data-reference-hidden'] = '';\n }\n\n if (attrs.escaped) {\n dataAttrs['data-escaped'] = '';\n }\n\n return dataAttrs;\n}\n\nfunction deepEqual(x, y) {\n if (x === y) {\n return true;\n } else if (\n typeof x === 'object' &&\n x != null &&\n typeof y === 'object' &&\n y != null\n ) {\n if (Object.keys(x).length !== Object.keys(y).length) {\n return false;\n }\n\n for (const prop in x) {\n if (y.hasOwnProperty(prop)) {\n if (!deepEqual(x[prop], y[prop])) {\n return false;\n }\n } else {\n return false;\n }\n }\n\n return true;\n } else {\n return false;\n }\n}\n\nexport function uniqueByShape(arr) {\n const output = [];\n\n arr.forEach(item => {\n if (!output.find(outputItem => deepEqual(item, outputItem))) {\n output.push(item);\n }\n });\n\n return output;\n}\n\nexport function deepPreserveProps(instanceProps, componentProps) {\n return {\n ...componentProps,\n popperOptions: {\n ...instanceProps.popperOptions,\n ...componentProps.popperOptions,\n modifiers: uniqueByShape([\n ...(instanceProps.popperOptions?.modifiers || []),\n ...(componentProps.popperOptions?.modifiers || []),\n ]),\n },\n };\n}\n","import {isBrowser} from './utils';\nimport {useLayoutEffect, useEffect, useRef} from 'react';\n\nexport const useIsomorphicLayoutEffect = isBrowser\n ? useLayoutEffect\n : useEffect;\n\nexport function useMutableBox(initialValue) {\n // Using refs instead of state as it's recommended to not store imperative\n // values in state due to memory problems in React(?)\n const ref = useRef();\n\n if (!ref.current) {\n ref.current =\n typeof initialValue === 'function' ? initialValue() : initialValue;\n }\n\n return ref.current;\n}\n","function updateClassName(box, action, classNames) {\n classNames.split(/\\s+/).forEach(name => {\n if (name) {\n box.classList[action](name);\n }\n });\n}\n\nexport const classNamePlugin = {\n name: 'className',\n defaultValue: '',\n fn(instance) {\n const box = instance.popper.firstElementChild;\n const isDefaultRenderFn = () => !!instance.props.render?.$$tippy;\n\n function add() {\n if (instance.props.className && !isDefaultRenderFn()) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\n [\n '@tippyjs/react: Cannot use `className` prop in conjunction with',\n '`render` prop. Place the className on the element you are',\n 'rendering.',\n ].join(' '),\n );\n }\n\n return;\n }\n\n updateClassName(box, 'add', instance.props.className);\n }\n\n function remove() {\n if (isDefaultRenderFn()) {\n updateClassName(box, 'remove', instance.props.className);\n }\n }\n\n return {\n onCreate: add,\n onBeforeUpdate: remove,\n onAfterUpdate: add,\n };\n },\n};\n","import React, {cloneElement, useState} from 'react';\nimport {createPortal} from 'react-dom';\nimport {\n preserveRef,\n ssrSafeCreateDiv,\n toDataAttributes,\n deepPreserveProps,\n} from './utils';\nimport {useMutableBox, useIsomorphicLayoutEffect} from './util-hooks';\nimport {classNamePlugin} from './className-plugin';\n\nexport default function TippyGenerator(tippy) {\n function Tippy({\n children,\n content,\n visible,\n singleton,\n render,\n reference,\n disabled = false,\n ignoreAttributes = true,\n // Filter React development reserved props\n // added by babel-preset-react dev plugins:\n // transform-react-jsx-self and transform-react-jsx-source\n __source,\n __self,\n ...restOfNativeProps\n }) {\n const isControlledMode = visible !== undefined;\n const isSingletonMode = singleton !== undefined;\n\n const [mounted, setMounted] = useState(false);\n const [attrs, setAttrs] = useState({});\n const [singletonContent, setSingletonContent] = useState();\n const mutableBox = useMutableBox(() => ({\n container: ssrSafeCreateDiv(),\n renders: 1,\n }));\n\n const props = {\n ignoreAttributes,\n ...restOfNativeProps,\n content: mutableBox.container,\n };\n\n if (isControlledMode) {\n if (process.env.NODE_ENV !== 'production') {\n ['trigger', 'hideOnClick', 'showOnCreate'].forEach(nativeStateProp => {\n if (props[nativeStateProp] !== undefined) {\n console.warn(\n [\n `@tippyjs/react: Cannot specify \\`${nativeStateProp}\\` prop in`,\n `controlled mode (\\`visible\\` prop)`,\n ].join(' '),\n );\n }\n });\n }\n\n props.trigger = 'manual';\n props.hideOnClick = false;\n }\n\n if (isSingletonMode) {\n disabled = true;\n }\n\n let computedProps = props;\n const plugins = props.plugins || [];\n\n if (render) {\n computedProps = {\n ...props,\n plugins:\n isSingletonMode && singleton.data != null\n ? [\n ...plugins,\n {\n fn() {\n return {\n onTrigger(instance, event) {\n const node = singleton.data.children.find(\n ({instance}) =>\n instance.reference === event.currentTarget,\n );\n instance.state.$$activeSingletonInstance =\n node.instance;\n setSingletonContent(node.content);\n },\n };\n },\n },\n ]\n : plugins,\n render: () => ({popper: mutableBox.container}),\n };\n }\n\n const deps = [reference].concat(children ? [children.type] : []);\n\n // CREATE\n useIsomorphicLayoutEffect(() => {\n let element = reference;\n if (reference && reference.hasOwnProperty('current')) {\n element = reference.current;\n }\n\n const instance = tippy(element || mutableBox.ref || ssrSafeCreateDiv(), {\n ...computedProps,\n plugins: [classNamePlugin, ...(props.plugins || [])],\n });\n\n mutableBox.instance = instance;\n\n if (disabled) {\n instance.disable();\n }\n\n if (visible) {\n instance.show();\n }\n\n if (isSingletonMode) {\n singleton.hook({\n instance,\n content,\n props: computedProps,\n setSingletonContent,\n });\n }\n\n setMounted(true);\n\n return () => {\n instance.destroy();\n singleton?.cleanup(instance);\n };\n }, deps);\n\n // UPDATE\n useIsomorphicLayoutEffect(() => {\n // Prevent this effect from running on 1st render\n if (mutableBox.renders === 1) {\n mutableBox.renders++;\n return;\n }\n\n const {instance} = mutableBox;\n\n instance.setProps(deepPreserveProps(instance.props, computedProps));\n\n // Fixes #264\n instance.popperInstance?.forceUpdate();\n\n if (disabled) {\n instance.disable();\n } else {\n instance.enable();\n }\n\n if (isControlledMode) {\n if (visible) {\n instance.show();\n } else {\n instance.hide();\n }\n }\n\n if (isSingletonMode) {\n singleton.hook({\n instance,\n content,\n props: computedProps,\n setSingletonContent,\n });\n }\n });\n\n useIsomorphicLayoutEffect(() => {\n if (!render) {\n return;\n }\n\n const {instance} = mutableBox;\n\n instance.setProps({\n popperOptions: {\n ...instance.props.popperOptions,\n modifiers: [\n ...(instance.props.popperOptions?.modifiers || []).filter(\n ({name}) => name !== '$$tippyReact',\n ),\n {\n name: '$$tippyReact',\n enabled: true,\n phase: 'beforeWrite',\n requires: ['computeStyles'],\n fn({state}) {\n const hideData = state.modifiersData?.hide;\n\n // WARNING: this is a high-risk path that can cause an infinite\n // loop. This expression _must_ evaluate to false when required\n if (\n attrs.placement !== state.placement ||\n attrs.referenceHidden !== hideData?.isReferenceHidden ||\n attrs.escaped !== hideData?.hasPopperEscaped\n ) {\n setAttrs({\n placement: state.placement,\n referenceHidden: hideData?.isReferenceHidden,\n escaped: hideData?.hasPopperEscaped,\n });\n }\n\n state.attributes.popper = {};\n },\n },\n ],\n },\n });\n }, [attrs.placement, attrs.referenceHidden, attrs.escaped, ...deps]);\n\n return (\n <>\n {children\n ? cloneElement(children, {\n ref(node) {\n mutableBox.ref = node;\n preserveRef(children.ref, node);\n },\n })\n : null}\n {mounted &&\n createPortal(\n render\n ? render(\n toDataAttributes(attrs),\n singletonContent,\n mutableBox.instance,\n )\n : content,\n mutableBox.container,\n )}\n </>\n );\n }\n\n return Tippy;\n}\n","import {useMutableBox, useIsomorphicLayoutEffect} from './util-hooks';\nimport {deepPreserveProps} from './utils';\nimport {classNamePlugin} from './className-plugin';\nimport {useMemo, useState} from 'react';\n\nexport default function useSingletonGenerator(createSingleton) {\n return function useSingleton({disabled = false, overrides = []} = {}) {\n const [mounted, setMounted] = useState(false);\n const mutableBox = useMutableBox({\n children: [],\n renders: 1,\n });\n\n useIsomorphicLayoutEffect(() => {\n if (!mounted) {\n setMounted(true);\n return;\n }\n\n const {children, sourceData} = mutableBox;\n\n if (!sourceData) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n [\n '@tippyjs/react: The `source` variable from `useSingleton()` has',\n 'not been passed to a <Tippy /> component.',\n ].join(' '),\n );\n }\n\n return;\n }\n\n const instance = createSingleton(\n children.map(child => child.instance),\n {\n ...sourceData.props,\n popperOptions: sourceData.instance.props.popperOptions,\n overrides,\n plugins: [classNamePlugin, ...(sourceData.props.plugins || [])],\n },\n );\n\n mutableBox.instance = instance;\n\n if (disabled) {\n instance.disable();\n }\n\n return () => {\n instance.destroy();\n mutableBox.children = children.filter(\n ({instance}) => !instance.state.isDestroyed,\n );\n };\n }, [mounted]);\n\n useIsomorphicLayoutEffect(() => {\n if (!mounted) {\n return;\n }\n\n if (mutableBox.renders === 1) {\n mutableBox.renders++;\n return;\n }\n\n const {children, instance, sourceData} = mutableBox;\n\n if (!(instance && sourceData)) {\n return;\n }\n\n const {content, ...props} = sourceData.props;\n\n instance.setProps(\n deepPreserveProps(instance.props, {\n ...props,\n overrides,\n }),\n );\n\n instance.setInstances(children.map(child => child.instance));\n\n if (disabled) {\n instance.disable();\n } else {\n instance.enable();\n }\n });\n\n return useMemo(() => {\n const source = {\n data: mutableBox,\n hook(data) {\n mutableBox.sourceData = data;\n mutableBox.setSingletonContent = data.setSingletonContent;\n },\n cleanup() {\n mutableBox.sourceData = null;\n },\n };\n\n const target = {\n hook(data) {\n mutableBox.children = mutableBox.children.filter(\n ({instance}) => data.instance !== instance,\n );\n mutableBox.children.push(data);\n\n if (\n mutableBox.instance?.state.isMounted &&\n mutableBox.instance?.state.$$activeSingletonInstance ===\n data.instance\n ) {\n mutableBox.setSingletonContent?.(data.content);\n }\n\n if (mutableBox.instance && !mutableBox.instance.state.isDestroyed) {\n mutableBox.instance.setInstances(\n mutableBox.children.map(child => child.instance),\n );\n }\n },\n cleanup(instance) {\n mutableBox.children = mutableBox.children.filter(\n data => data.instance !== instance,\n );\n\n if (mutableBox.instance && !mutableBox.instance.state.isDestroyed) {\n mutableBox.instance.setInstances(\n mutableBox.children.map(child => child.instance),\n );\n }\n },\n };\n\n return [source, target];\n }, []);\n };\n}\n","import React, {cloneElement, forwardRef} from 'react';\nimport {preserveRef} from './utils';\n\nexport default (Tippy, defaultProps) =>\n forwardRef(function TippyWrapper({children, ...props}, ref) {\n return (\n // If I spread them separately here, Babel adds the _extends ponyfill for\n // some reason\n <Tippy {...{...defaultProps, ...props}}>\n {children\n ? cloneElement(children, {\n ref(node) {\n preserveRef(ref, node);\n preserveRef(children.ref, node);\n },\n })\n : null}\n </Tippy>\n );\n });\n","import tippy, {createSingleton} from 'tippy.js';\nimport TippyGenerator from './Tippy';\nimport useSingletonGenerator from './useSingleton';\nimport forwardRef from './forwardRef';\n\nconst useSingleton = useSingletonGenerator(createSingleton);\n\nexport default forwardRef(TippyGenerator(tippy));\nexport {useSingleton, tippy};\n","import React from 'react'\r\nimport './style.scss'\r\n\r\ntype SimpleLabelValueProps = {\r\n label?: string | JSX.Element\r\n value?: string | number | JSX.Element | JSX.Element[]\r\n color?: string\r\n className?: string\r\n dataId?: string\r\n}\r\n\r\nconst SimpleLabelValue: React.FC<SimpleLabelValueProps> = ({\r\n label,\r\n value,\r\n color,\r\n className = '',\r\n dataId,\r\n}: SimpleLabelValueProps) => {\r\n const dataIdLabel =\r\n typeof label === 'string' ? label?.toUpperCase()?.replaceAll(' ', '_') + '_LABEL_ID' : dataId\r\n return (\r\n <div className={`drawerItemContainer ${className}`}>\r\n <span className=\"title\" data-id={dataIdLabel}>\r\n {label}\r\n </span>\r\n <span className={`text ${color ? `color-${color}` : ''}`}>{value}</span>\r\n </div>\r\n )\r\n}\r\n\r\nexport default SimpleLabelValue\r\n","export const handleStatusColor = (code: number): string => {\r\n if (code >= 200 && code < 300) {\r\n return 'green' // 2xx codes\r\n } else if (code >= 400 && code < 500) {\r\n return 'red' // 4xx codes\r\n } else if (code >= 500 && code < 600) {\r\n return 'red' // 5xx codes\r\n } else if (code >= 100 && code < 200) {\r\n return 'blue' // 1xx codes (Informational)\r\n } else if (code >= 300 && code < 400) {\r\n return 'orange' // 3xx codes (Redirection)\r\n } else {\r\n return 'gray' // Default or invalid status codes\r\n }\r\n}\r\n\r\nexport const capitalize = (str)=> {\r\n if (!str) return \"\";\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n}","import React, { useState } from 'react'\r\nimport './style.scss'\r\nimport { Button, Input, SelectGroupV2, Switch, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../Tooltip/Tooltip'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\r\nimport PlusIcon from '../../assets/icons/Plus.svg'\r\nimport PlusSquare from '../../assets/icons/PlusSquare.svg'\r\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\r\nimport { useFormik } from 'formik'\r\nimport * as yup from 'yup'\r\nimport { capitalize } from '../../helpers/methodAccordion.helper'\r\nimport regex from '../../constants/regex'\r\n\r\nconst ParamterTable = ({\r\n id,\r\n headCells,\r\n data,\r\n isFormOpen,\r\n setIsFormOpen,\r\n saveNewRow,\r\n readOnly,\r\n isRequest = true,\r\n}) => {\r\n const [text, setText] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const [tooltipEnumRef, setTooltipEnumRef] = useState(null)\r\n const [enumFields, setEnumFields] = useState<string[]>([])\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm } = useFormik({\r\n validateOnMount: true,\r\n initialValues: {\r\n name: '',\r\n in: isRequest ? 'query' : 'header',\r\n schema: {\r\n type: 'string',\r\n enum: [],\r\n items: {\r\n type: 'string',\r\n },\r\n },\r\n required: true,\r\n description: '',\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().default('').trim().required('Parameter name is required'),\r\n in: yup.string().required('Paramter type is required'),\r\n schema: yup.object().shape({\r\n type: yup.string().required('Parameter schema type is required'),\r\n enum: yup.array(yup.string()).optional(),\r\n items: yup.object().shape({\r\n type: yup.string().optional(),\r\n }),\r\n }),\r\n required: yup.boolean().when('in', {\r\n is: 'path',\r\n then: (schema) => schema.oneOf([true], 'Path parameters must be required.'),\r\n otherwise: (schema) => schema.optional(),\r\n }),\r\n description: yup.string().default('').trim().optional(),\r\n }),\r\n onSubmit: (values) => {\r\n if (values && !values?.schema?.items?.type) {\r\n delete values?.schema?.items?.type\r\n }\r\n saveNewRow(values)\r\n setIsFormOpen(undefined)\r\n setText('')\r\n resetForm()\r\n },\r\n })\r\n\r\n return (\r\n <div className=\"tableSectionContainer\">\r\n <div className=\"tableContainer\">\r\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\r\n <thead className=\"tableHead\">\r\n <tr>\r\n {headCells?.map((headCell) => (\r\n <th\r\n key={headCell.id}\r\n className={`tableHeadCell ${headCell.classes || ''}`}\r\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\r\n >\r\n <div\r\n className=\"headContainer\"\r\n data-id={`${\r\n typeof headCell.label === 'string'\r\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\r\n : 'UNKNOWN_LABEL'\r\n }_COLUMN`}\r\n >\r\n {headCell.label}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\r\n {data?.map((row, rowIndex) => {\r\n return (\r\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\r\n {headCells?.map((headCell) => {\r\n const cellContent = row[headCell.id] !== '_' && (\r\n <div\r\n data-id=\"TEXT_DESCRIPTION\"\r\n className=\"tableData\"\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {row[headCell.id]}\r\n </div>\r\n )\r\n\r\n return (\r\n <td\r\n key={headCell.id}\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {cellContent}\r\n </td>\r\n )\r\n })}\r\n </tr>\r\n )\r\n })}\r\n {data?.length === 0 && readOnly && (\r\n <tr className=\"fallbackTableRow\">\r\n <td className=\"fallbackContainer\" colSpan={headCells?.length}>\r\n <div className=\"fallbackTextContainer\">\r\n <span className=\"fallbackText\"> No Data Available</span>\r\n </div>\r\n </td>\r\n </tr>\r\n )}\r\n\r\n {isFormOpen && !readOnly ? (\r\n <tr className={`row`}>\r\n <td key={'Parameter name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"Parameter name\"\r\n size=\"large\"\r\n type=\"text\"\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value as string))\r\n setFieldValue('name', value)\r\n }}\r\n value={values.name}\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter in'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <SelectGroupV2\r\n disabled={readOnly}\r\n value={{\r\n label: capitalize(values.in),\r\n value: values.in,\r\n }}\r\n onChange={(item) => {\r\n setFieldValue('in', item?.value?.toLowerCase())\r\n if (item?.value == 'in') {\r\n setFieldValue('required', true)\r\n }\r\n }} // Updates state on selection\r\n options={[\r\n {\r\n list: isRequest\r\n ? [\r\n { label: 'Query', value: 'query' },\r\n { label: 'Header', value: 'header' },\r\n { label: 'Path', value: 'path' },\r\n ]\r\n : [{ label: 'Header', value: 'header' }],\r\n },\r\n ]}\r\n errorMsg={!!errors.in && errors.in}\r\n isMultiple={false}\r\n withSearch={false}\r\n clearable={false}\r\n />{' '}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter schema type'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData select-inputs\">\r\n <SelectGroupV2\r\n disabled={readOnly}\r\n clearable={false}\r\n value={{\r\n label: capitalize(values?.schema?.type),\r\n value: values?.schema?.type,\r\n }}\r\n errorMsg={!!errors.schema && errors.schema}\r\n onChange={(item) => {\r\n setFieldValue('schema.type', item?.value?.toLowerCase())\r\n if (item.value?.toLowerCase() == 'array' && !values.schema.items) {\r\n setFieldValue('schema.items', {})\r\n }\r\n if (item.value?.toLowerCase() != 'array' && values.schema.items) {\r\n const newVal = { ...values.schema }\r\n delete newVal.items\r\n setFieldValue('schema', newVal)\r\n }\r\n }} // Updates state on selection\r\n options={[\r\n {\r\n list: [\r\n { label: 'String', value: 'string' },\r\n { label: 'Integer', value: 'integer' },\r\n { label: 'Boolean', value: 'boolean' },\r\n { label: 'Object', value: 'object' },\r\n { label: 'Array', value: 'array' },\r\n { label: 'Number', value: 'number' },\r\n ],\r\n },\r\n ]}\r\n isMultiple={false}\r\n withSearch={false}\r\n />{' '}\r\n {!!values?.schema?.type && values?.schema?.type.toLowerCase() === 'array' ? (\r\n <SelectGroupV2\r\n disabled={readOnly}\r\n clearable={false}\r\n value={{\r\n label: capitalize(values?.schema?.items?.type),\r\n value: values.schema?.items?.type,\r\n }}\r\n errorMsg={!!errors?.schema?.items?.type && errors?.schema?.items?.type}\r\n onChange={(item) => {\r\n setFieldValue('schema.items.type', item?.value?.toLowerCase())\r\n if (item.value?.toLowerCase() == 'array' && !values.schema.items?.items) {\r\n setFieldValue('schema.items.items', {})\r\n }\r\n if (item.value?.toLowerCase() != 'array' && values.schema.items?.items) {\r\n const newVal = { ...values.schema.items }\r\n delete newVal?.items\r\n setFieldValue('schema.items', newVal)\r\n }\r\n }} // Updates state on selection\r\n options={[\r\n {\r\n list: [\r\n { label: 'String', value: 'string' },\r\n { label: 'Integer', value: 'integer' },\r\n { label: 'Boolean', value: 'boolean' },\r\n { label: 'Object', value: 'object' },\r\n { label: 'Array', value: 'array' },\r\n { label: 'Number', value: 'number' },\r\n ],\r\n },\r\n ]}\r\n isMultiple={false}\r\n withSearch={false}\r\n />\r\n ) : (\r\n ''\r\n )}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter enum'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Tooltip\r\n disabled={\r\n values?.schema?.type?.toLowerCase() == 'array' ||\r\n values?.schema?.type?.toLowerCase() == 'object'\r\n }\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) => setTooltipEnumRef(instance)}\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Enum</p>\r\n {!!values?.schema?.enum &&\r\n !!values?.schema?.enum.length &&\r\n values?.schema?.enum?.map((item, index) => (\r\n <Input\r\n key={index}\r\n className={'methodDescForEnum'}\r\n required\r\n clearable={false}\r\n placeholder=\"Enter Enum value...\"\r\n value={item}\r\n onChange={(value) => {\r\n setFieldValue(`schema.enum[${index}]`, value)\r\n }}\r\n />\r\n ))}\r\n {enumFields &&\r\n enumFields?.map((item, index) => (\r\n <Input\r\n key={index}\r\n className={'methodDescForEnum'}\r\n required\r\n clearable={false}\r\n placeholder={`Enter Enum value...`}\r\n value={item}\r\n onChange={(value) => {\r\n let _values = [...enumFields]\r\n _values[index] = value\r\n setEnumFields(_values)\r\n }}\r\n />\r\n ))}\r\n <p\r\n className={'addEnumButton'}\r\n onClick={() => {\r\n setEnumFields((prev) => [...prev, ''])\r\n }}\r\n >\r\n <SVGLoader src={PlusSquare} />\r\n Add New Enum\r\n </p>\r\n {!readOnly && (\r\n <Button\r\n className={styles.editDescTooltipContent_btn}\r\n variant=\"outlined\"\r\n size=\"small\"\r\n type=\"button\"\r\n onClick={() => {\r\n setFieldValue('schema.enum', [\r\n ...values?.schema?.enum,\r\n ...enumFields,\r\n ])\r\n setEnumFields([])\r\n tooltipEnumRef?.hide()\r\n }}\r\n disabled={\r\n (enumFields.length > 0 &&\r\n enumFields?.filter((item) => !item).length) ||\r\n (values?.schema?.enum.length > 0 &&\r\n values?.schema?.enum?.filter((item) => !item).length)\r\n }\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n <Button\r\n className={styles.editDescBtn}\r\n id=\"EnumButton\"\r\n variant=\"link\"\r\n color=\"action\"\r\n disabled={\r\n values?.schema?.type?.toLowerCase() == 'array' ||\r\n values?.schema?.type?.toLowerCase() == 'object'\r\n }\r\n endIcon={\r\n <SVGLoader id=\"enumIcon\" src={PlusIcon} width=\"1.5rem\" height=\"1.5rem\" />\r\n }\r\n >\r\n Add\r\n </Button>\r\n </Tooltip>\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter required'}>\r\n <div data-id=\"is required\" className=\"tableData\">\r\n {readOnly ? (\r\n <>{values.required ? 'True' : 'False'}</>\r\n ) : (\r\n <Switch\r\n checked={\r\n values && values.in && values.in.toLowerCase() == 'path'\r\n ? true\r\n : values.required\r\n }\r\n disabled={values && values.in && values.in.toLowerCase() == 'path'}\r\n onClick={() => {\r\n if (readOnly) {\r\n return\r\n }\r\n setFieldValue('required', !values.required)\r\n }}\r\n />\r\n )}\r\n </div>\r\n </td>\r\n\r\n <td key={'parameter schema desc'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <div className={styles.paramDescContainer}>\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) => setTooltipRef(instance)}\r\n content={\r\n <div className={styles.editDescTooltipContent}>\r\n <p className={styles.editDescTooltipContent_header}>Description</p>\r\n <TextArea\r\n value={text || values.description}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setText(value)\r\n }}\r\n disabled={readOnly}\r\n placeholder=\"Describe parameter...\"\r\n maxLength={120}\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('description', text?.trim())\r\n tooltipRef?.hide()\r\n }}\r\n disabled={text?.trim() === ''}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\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 ? 'View ' : 'Add '} Description\r\n </Button>\r\n </Tooltip>\r\n\r\n <div className={styles.paramDescContainer_separator}></div>\r\n {!readOnly && (\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={\r\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\r\n }\r\n onClick={() => {\r\n resetForm()\r\n setText('')\r\n setIsFormOpen(undefined)\r\n }} // Correctly delete the new row\r\n />\r\n )}\r\n\r\n {!readOnly && (\r\n <Tooltip\r\n disabled={!!values.name.trim()}\r\n content={`Parameter name can't be empty `}\r\n >\r\n <Button\r\n className={styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"success\"\r\n disabled={!values.name.trim()}\r\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\r\n onClick={() => {\r\n setText('')\r\n submitForm()\r\n }} // Save the new row when clicked\r\n />\r\n </Tooltip>\r\n )}\r\n </div>{' '}\r\n </div>\r\n </td>\r\n </tr>\r\n ) : (\r\n <>\r\n {!readOnly && (\r\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\r\n <td colSpan={6}>\r\n <Button\r\n variant=\"link\"\r\n color=\"primary\"\r\n onClick={() => {\r\n setIsFormOpen((prev) => (!prev ? (isRequest ? 'Req' : 'Res') : undefined))\r\n }}\r\n >\r\n + Add Parameter\r\n </Button>\r\n </td>\r\n </tr>\r\n )}\r\n </>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default ParamterTable\r\n","import 'css-chunk:src/components/MethodAccordion/MethodAccordion.module.scss';export default {\n \"methodAccordion\": \"_methodAccordion_9wpeo_1\",\n \"methodSummaryContainer\": \"_methodSummaryContainer_9wpeo_28\",\n \"methodSummary\": \"_methodSummary_9wpeo_28\",\n \"methodLabel\": \"_methodLabel_9wpeo_44\",\n \"methodPath\": \"_methodPath_9wpeo_53\",\n \"methodExpandArrowContainer\": \"_methodExpandArrowContainer_9wpeo_57\",\n \"expanded\": \"_expanded_9wpeo_16\",\n \"methodAccordionContent\": \"_methodAccordionContent_9wpeo_72\",\n \"multiLineText\": \"_multiLineText_9wpeo_77\",\n \"methodDesc\": \"_methodDesc_9wpeo_80\",\n \"paramsTable\": \"_paramsTable_9wpeo_83\",\n \"paramsTableBodyHead\": \"_paramsTableBodyHead_9wpeo_86\",\n \"responseHeader\": \"_responseHeader_9wpeo_94\",\n \"statusCodeOptionContainer\": \"_statusCodeOptionContainer_9wpeo_116\",\n \"statusCodeOptionCircle\": \"_statusCodeOptionCircle_9wpeo_122\",\n \"paramDescContainer\": \"_paramDescContainer_9wpeo_127\",\n \"paramDescContainer_separator\": \"_paramDescContainer_separator_9wpeo_130\",\n \"editDescBtn\": \"_editDescBtn_9wpeo_138\",\n \"deleteParamBtn\": \"_deleteParamBtn_9wpeo_157\",\n \"editDescTooltipContent\": \"_editDescTooltipContent_9wpeo_175\",\n \"editDescTooltipContent_header\": \"_editDescTooltipContent_header_9wpeo_181\",\n \"requestAccordion\": \"_requestAccordion_9wpeo_196\",\n \"responseAccordion\": \"_responseAccordion_9wpeo_197\",\n \"requestAccordionSummary\": \"_requestAccordionSummary_9wpeo_237\",\n \"responseAccordionSummary\": \"_responseAccordionSummary_9wpeo_238\",\n \"responseAccordionSummary_title\": \"_responseAccordionSummary_title_9wpeo_252\",\n \"requestAccordionSummary_title\": \"_requestAccordionSummary_title_9wpeo_253\",\n \"readOnly\": \"_readOnly_9wpeo_318\"\n};","const regex = {\r\n basic: /[^a-zA-Z0-9-_ ]/, // not (alphanumeric + underscore + dash + space)\r\n restrictNone: /^$/, // restrict nothing\r\n ASCII: /^[\\x00-\\x7F]+$/,\r\n urlRegex: /^(https?:\\/\\/|www\\.)[a-zA-Z0-9-]+(\\.[a-zA-Z]{2,})+(\\/[^\\s]*)?$/,\r\n}\r\nexport default regex\r\n","import React from 'react'\r\n// @ts-ignore\r\nimport { Dialog, Button } from 'digitinary-ui'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport './style.scss'\r\nimport { CommonDialogProps } from './dialog'\r\nimport { Closecircle, InfoIcon } from './../../assets/icons'\r\n\r\nconst CommonDialog = ({\r\n status = 'info',\r\n content,\r\n onSubmit,\r\n onCancel,\r\n onClose,\r\n open,\r\n size = 'xs',\r\n icon = (\r\n <>\r\n <SVGLoader src={InfoIcon} width=\"4.0625rem\" height=\"4.0625rem\" />\r\n </>\r\n ),\r\n noActions = false,\r\n closeIcon,\r\n}: CommonDialogProps) => {\r\n const handleClose = () => {\r\n onClose() // Always close the dialog first\r\n\r\n if (onCancel && onCancel.onClick) {\r\n onCancel.onClick() // If onCancel.onClick is provided, invoke it after closing the dialog\r\n }\r\n }\r\n\r\n const body = (\r\n <div className=\"common-dialog\">\r\n {icon && (\r\n <div className=\"confirmation-dialog-header\">\r\n <div className={`icon ${status}`}>{icon}</div>\r\n </div>\r\n )}\r\n <div className=\"close-icon\">\r\n {closeIcon ?? (\r\n <SVGLoader src={Closecircle} width={'1.5rem'} height={'1.5rem'} onClick={handleClose} />\r\n )}\r\n </div>\r\n\r\n {content}\r\n {!!noActions ? null : (\r\n <div\r\n className=\"confirmation-dialog-footer\"\r\n style={{ marginBottom: onCancel || onSubmit ? '1.5rem' : '1rem' }}\r\n >\r\n {onCancel && (\r\n <Button\r\n {...onCancel}\r\n onClick={handleClose}\r\n variant={onCancel.variant || 'outlined'}\r\n color={onCancel.color || 'normal'}\r\n >\r\n {onCancel.text}\r\n </Button>\r\n )}\r\n {onSubmit && (\r\n <Button\r\n {...onSubmit}\r\n variant={onSubmit.variant || 'contained'}\r\n color={onSubmit.color || 'secondary'}\r\n >\r\n {onSubmit.text}\r\n </Button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n\r\n return (\r\n <Dialog\r\n open={open}\r\n onClose={handleClose}\r\n content={body}\r\n fullWidth={false}\r\n size={size}\r\n id=\"common-dialog\"\r\n />\r\n )\r\n}\r\n\r\nexport default CommonDialog\r\n","import React, { useEffect, useState } from 'react'\r\nimport yaml from 'js-yaml'\r\nimport styles from './style.module.scss'\r\nimport regex from '../../constants/regex'\r\n\r\nconst errorMapping = {\r\n BOTH: 'Invalid JSON or YAML format',\r\n JSON: 'Invalid JSON format',\r\n YML: 'Invalid YAML format',\r\n}\r\n\r\nconst JsonInput = ({\r\n placeholder,\r\n label,\r\n value,\r\n onValidation,\r\n onChange,\r\n dataId,\r\n className = '',\r\n errorMessage,\r\n acceptType = 'BOTH',\r\n fieldIsDisabled,\r\n withFooter = true,\r\n}) => {\r\n const [isValid, setIsValid] = useState()\r\n const [disabledBeautify, setDisabledBeautify] = useState(true)\r\n\r\n const handlePrettify = (e) => {\r\n if (value === '') return\r\n e.preventDefault()\r\n try {\r\n let prettifiedData\r\n if ((acceptType === 'BOTH' || acceptType === 'JSON') && isValidJson(value)) {\r\n // If it's valid JSON, prettify JSON\r\n prettifiedData = JSON.stringify(JSON.parse(value), null, 2)\r\n } else if (acceptType === 'BOTH' || acceptType === 'YML') {\r\n // If it's not valid JSON, prettify YAML\r\n prettifiedData = yaml.dump(yaml.load(value), { indent: 0 })\r\n }\r\n onChange(prettifiedData)\r\n setIsValid(true) // Reset validity status\r\n } catch (error) {\r\n console.error(error)\r\n setIsValid(false)\r\n }\r\n }\r\n\r\n // Function to check if input is valid JSON\r\n const isValidJson = (str) => {\r\n try {\r\n JSON.parse(str)\r\n return true\r\n } catch (error) {\r\n return false\r\n }\r\n }\r\n\r\n const checkIsValid = () => {\r\n if (acceptType === 'BOTH' || acceptType === 'JSON') {\r\n return isValidJson(value)\r\n } else if (acceptType === 'BOTH' || acceptType === 'YML') {\r\n try {\r\n // Try parsing as YAML\r\n yaml.load(value)\r\n return true\r\n } catch (error) {\r\n console.error(error)\r\n return false\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n try {\r\n handlePrettify(value)\r\n } catch {}\r\n }, [])\r\n\r\n return (\r\n <div\r\n className={`${styles['json-editor-container']} ${className} ${\r\n fieldIsDisabled ? styles.disabled : ''\r\n }`}\r\n >\r\n {label && <p className={`${styles['json-editor-label']}`}>{label}</p>}\r\n <div\r\n className={`${styles['json-editor']} ${\r\n value !== '' && isValid === false ? styles.invalid : ''\r\n }`}\r\n >\r\n <textarea\r\n disabled={fieldIsDisabled}\r\n data-id={dataId}\r\n value={value}\r\n onChange={(e) => {\r\n if (fieldIsDisabled) return\r\n if (regex.ASCII.test(e.target.value)) {\r\n setIsValid(undefined)\r\n setDisabledBeautify(true)\r\n onChange(e.target.value)\r\n }\r\n }}\r\n onPaste={(e) => {\r\n if (fieldIsDisabled) return\r\n if (regex.ASCII.test(e.target.value)) {\r\n setIsValid(undefined)\r\n setDisabledBeautify(true)\r\n onChange(e.target.value)\r\n }\r\n }}\r\n min=\"1\"\r\n placeholder={placeholder}\r\n />\r\n {withFooter && (\r\n <div className={`${styles['actions-container']}`}>\r\n <button\r\n type=\"button\"\r\n className={styles.validate}\r\n onClick={() => {\r\n const valid = checkIsValid()\r\n setIsValid(valid)\r\n onValidation(valid)\r\n setDisabledBeautify(!checkIsValid())\r\n }}\r\n data-id={`${dataId}-VALIDATE-BUTTON`}\r\n disabled={value === ''}\r\n >\r\n Validate\r\n </button>\r\n <button\r\n type=\"button\"\r\n disabled={value === '' || disabledBeautify}\r\n data-id={`${dataId}-BEAUTIFY-BUTTON`}\r\n className={styles.beautify}\r\n onClick={handlePrettify}\r\n >\r\n Beautify\r\n </button>\r\n </div>\r\n )}\r\n </div>\r\n {(errorMessage || (value !== '' && isValid === false)) && (\r\n <p className={styles['error-message']}>{errorMessage || errorMapping[acceptType]}</p>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default JsonInput\r\n","import 'css-chunk:src/components/JsonInput/style.module.scss';export default {\n \"json-editor-container\": \"_json-editor-container_1hwe9_1\",\n \"json-editor-label\": \"_json-editor-label_1hwe9_6\",\n \"json-editor\": \"_json-editor_1hwe9_1\",\n \"actions-container\": \"_actions-container_1hwe9_21\",\n \"validate\": \"_validate_1hwe9_32\",\n \"beautify\": \"_beautify_1hwe9_50\",\n \"invalid\": \"_invalid_1hwe9_100\",\n \"error-message\": \"_error-message_1hwe9_103\",\n \"disabled\": \"_disabled_1hwe9_109\"\n};",".docsLayout {\r\n display: flex;\r\n flex-direction: column;\r\n overflow: hidden;\r\n height: 100vh;\r\n max-height: 100%;\r\n\r\n .apiDocAlert {\r\n border-radius: 0;\r\n z-index: 3;\r\n }\r\n\r\n .layoutContainer {\r\n display: grid;\r\n grid-template-columns: 60% 40%;\r\n width: 100%;\r\n height: 100%;\r\n max-width: 100%;\r\n max-height: 100%;\r\n overflow: hidden;\r\n\r\n .editorSide {\r\n background-color: #fff;\r\n padding-bottom: 1.25rem;\r\n .editorSectionHead_title {\r\n position: sticky;\r\n top: 0;\r\n z-index: 1399 !important;\r\n }\r\n .editorSectionHead,\r\n .editorSectionHead_title {\r\n span {\r\n width: 100%;\r\n }\r\n\r\n .editorSectionHead_content {\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n\r\n button {\r\n width: 6.25rem;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .livePreviewSide {\r\n background-color: #f8f9fb;\r\n padding: 1.25rem 1.875rem;\r\n }\r\n\r\n .docSide {\r\n max-height: 100%;\r\n overflow-y: overlay;\r\n overflow-x: clip;\r\n scroll-behavior: smooth;\r\n }\r\n }\r\n\r\n :global(.textArea .inputField),\r\n :global(.inputContainer .inputWrapper .innerInputContainer .input) {\r\n padding-inline-end: 2.5rem;\r\n }\r\n}\r\n","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 { CloseIcon, 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 =\r\n values.components.securitySchemes[authenticatorKeys[0]].scheme ||\r\n values.components.securitySchemes[authenticatorKeys[0]].type\r\n\r\n setAuthType(_authType && _authType.toLowerCase() == 'public' ? 'Keyless' : _authType)\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={\r\n values.tags[index]?.externalDocs?.url &&\r\n 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 }\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 <div className={styles.apiDocRow}>\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 <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: 'action',\r\n fullWidth: true,\r\n variant: 'outlined',\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 closeIcon={\r\n <SVGLoader\r\n src={CloseIcon}\r\n width=\"1.5rem\"\r\n height=\"1.5rem\"\r\n onClick={() => setOpenDeleteDialog(false)}\r\n />\r\n }\r\n />\r\n </form>\r\n )\r\n}\r\n\r\nexport default InfoForm\r\n","import 'css-chunk:src/components/InfoForm/InfoForm.module.scss';export default {\n \"apiInfoForm\": \"_apiInfoForm_1q5ci_1\",\n \"paramsTable\": \"_paramsTable_1q5ci_6\",\n \"paramDescContainer\": \"_paramDescContainer_1q5ci_6\",\n \"paramDescContainer_separator\": \"_paramDescContainer_separator_1q5ci_9\",\n \"editDescBtn\": \"_editDescBtn_1q5ci_17\",\n \"deleteParamBtn\": \"_deleteParamBtn_1q5ci_33\",\n \"externalDocsLink\": \"_externalDocsLink_1q5ci_52\",\n \"editExternalDocs\": \"_editExternalDocs_1q5ci_59\",\n \"editDescTooltipContent\": \"_editDescTooltipContent_1q5ci_70\",\n \"editDescTooltipContent_header\": \"_editDescTooltipContent_header_1q5ci_76\",\n \"apiDocRow\": \"_apiDocRow_1q5ci_91\",\n \"apiInfoForm_tagsChips\": \"_apiInfoForm_tagsChips_1q5ci_96\"\n};","import { useEffect, useState } from 'react'\r\nimport './style.scss'\r\nimport _styles from '../InfoForm/InfoForm.module.scss'\r\nimport { Button, Input, TextArea } from 'digitinary-ui'\r\nimport Tooltip from '../Tooltip/Tooltip'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\nimport { AddRow, EditIcon, DeleteIcon } from '../../assets/icons'\r\nimport styles from '../MethodAccordion/MethodAccordion.module.scss'\r\nimport { useFormik } from 'formik'\r\nimport * as yup from 'yup'\r\nimport regex from '../../constants/regex'\r\n\r\nconst TagsTable = ({ id, headCells, data, isFormOpen, setIsFormOpen, saveNewRow, readOnly }) => {\r\n const [text, setText] = useState('')\r\n const [externalDesc, setExternalDesc] = useState('')\r\n const [externalUrl, setExternalUrl] = useState('')\r\n const [tooltipRef, setTooltipRef] = useState(null)\r\n const [externalTooltipRefs, setExternalTooltipRefs] = useState(null)\r\n const { values, errors, setFieldValue, isValid, submitForm, resetForm,dirty } = useFormik({\r\n validateOnMount: true,\r\n initialValues: {\r\n name: '',\r\n description: '',\r\n externalDocs: {\r\n url: '',\r\n description: '',\r\n },\r\n },\r\n validationSchema: yup.object().shape({\r\n name: yup.string().trim().required('Tag name is required'),\r\n description: yup.string().optional(),\r\n externalDocs: yup\r\n .object()\r\n .shape({\r\n url: yup\r\n .string()\r\n .trim()\r\n .matches(regex.urlRegex, 'Invalid URL')\r\n .when('description', (description, schema) => {\r\n return description?.at(0)\r\n ? schema.required('URL is required when description is provided')\r\n : schema.optional()\r\n }),\r\n description: yup.string().trim().optional(),\r\n })\r\n .optional(),\r\n }),\r\n onSubmit: (values) => {\r\n saveNewRow(values)\r\n setText('')\r\n resetForm()\r\n setIsFormOpen(false)\r\n },\r\n validateOnChange: true,\r\n })\r\n\r\n return (\r\n <div className=\"tableSectionContainer\">\r\n <div className=\"tableContainer\">\r\n <table id={id || ''} className={`table borderRadiusTop borderRadiusBottom`}>\r\n <thead className=\"tableHead\">\r\n <tr>\r\n {headCells?.map((headCell) => (\r\n <th\r\n key={headCell.id}\r\n className={`tableHeadCell ${headCell.classes || ''}`}\r\n style={{ width: headCell.width, minWidth: headCell.minWidth }}\r\n >\r\n <div\r\n className=\"headContainer\"\r\n data-id={`${\r\n typeof headCell.label === 'string'\r\n ? headCell.label.toUpperCase().replace(/[^a-zA-Z0-9]+/g, '_')\r\n : 'UNKNOWN_LABEL'\r\n }_COLUMN`}\r\n >\r\n {headCell.label}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody className=\"tableBody\" data-id=\"TABLE_BODY\">\r\n {data?.map((row, rowIndex) => {\r\n return (\r\n <tr key={rowIndex} data-i={rowIndex} className={`row`}>\r\n {headCells?.map((headCell) => {\r\n const cellContent = row[headCell.id] !== '_' && (\r\n <div\r\n data-id=\"TEXT_DESCRIPTION\"\r\n className=\"tableData\"\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {row[headCell.id]}\r\n </div>\r\n )\r\n\r\n return (\r\n <td\r\n key={headCell.id}\r\n style={{\r\n width: headCell.width,\r\n minWidth: headCell.minWidth,\r\n }}\r\n >\r\n {cellContent}\r\n </td>\r\n )\r\n })}\r\n </tr>\r\n )\r\n })}\r\n {isFormOpen ? (\r\n <tr key={''} data-i={''} className={`row`}>\r\n <td key={'tag name'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <Input\r\n placeholder=\"Tag name\"\r\n size=\"large\"\r\n type=\"text\"\r\n maxLength={25}\r\n onChange={(value) => {\r\n !regex.basic.test(value) && setFieldValue('name', value)\r\n }} // Pass the value directly\r\n value={values.name} // Bind value to the state\r\n disabled={readOnly}\r\n />\r\n </div>\r\n </td>\r\n\r\n <td key={'tagDescRequired'}>\r\n <div data-id=\"TEXT_DESCRIPTION\" className=\"tableData\">\r\n <div className={styles.paramDescContainer}>\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) => setTooltipRef(instance)}\r\n onShow={() => {\r\n setText(values.description || '') // Reset to current value when shown\r\n }}\r\n onHidden={() => {\r\n setText(values.description || '') // Reset on close\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 value={text || values.description}\r\n disabled={readOnly}\r\n maxLength={25}\r\n placeholder=\"Describe Tag...\"\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setText(value)\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('description', text?.trim())\r\n tooltipRef?.hide()\r\n }}\r\n disabled={!(text || values.description)?.trim()}\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n <Button\r\n className={_styles.editDescBtn}\r\n style={{ paddingLeft: 0 }}\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 ? 'View ' : 'Add '} Description\r\n </Button>\r\n </Tooltip>\r\n </div>{' '}\r\n </div>\r\n </td>\r\n <td key={'tagExternal'}>\r\n <div className=\"tableData\">\r\n <div className={_styles.paramDescContainer}>\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) => setExternalTooltipRefs(instance)}\r\n onShow={() => {\r\n setExternalDesc(values.externalDocs.description || '')\r\n setExternalUrl(values.externalDocs.url || '')\r\n }}\r\n onHidden={() => {\r\n setExternalDesc(values.externalDocs.description || '')\r\n setExternalUrl(values.externalDocs.url || '')\r\n }}\r\n content={\r\n <div className={_styles.editDescTooltipContent}>\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Description\r\n </p>\r\n <TextArea\r\n placeholder=\"Describe External Doc...\"\r\n value={externalDesc || values.externalDocs.description}\r\n disabled={readOnly}\r\n maxLength={25}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setExternalDesc(value)\r\n }}\r\n />\r\n <p className={_styles.editDescTooltipContent_header}>\r\n External Docs Link\r\n </p>\r\n <TextArea\r\n placeholder=\"External Docs Link...\"\r\n restrictedCharsRegex={regex.urlRegex}\r\n value={externalUrl || values.externalDocs.url}\r\n disabled={readOnly}\r\n maxLength={200}\r\n onChange={(value) => {\r\n if (value === '' || regex.ASCII.test(value)) setExternalUrl(value)\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(`externalDocs`, {\r\n description: externalDesc,\r\n url: externalUrl,\r\n })\r\n\r\n externalTooltipRefs?.hide()\r\n }}\r\n disabled={\r\n !(externalUrl || values.externalDocs.url)?.trim() ||\r\n !regex.urlRegex.test(externalUrl || values.externalDocs.url)\r\n }\r\n >\r\n Apply\r\n </Button>\r\n )}\r\n </div>\r\n }\r\n >\r\n {readOnly ? (\r\n <a\r\n className={_styles.editDescBtn}\r\n variant=\"link\"\r\n color=\"action\"\r\n href={values.externalDocs?.url}\r\n target=\"_blank\"\r\n >\r\n {values?.externalDocs?.description\r\n ? values?.externalDocs?.description?.substring(0, 12)\r\n : '-'}\r\n {values?.externalDocs?.description &&\r\n values?.externalDocs?.description?.length > 12\r\n ? '...'\r\n : ''}\r\n </a>\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 ? 'View ' : 'Add '} External Docs Link\r\n </Button>\r\n )}\r\n </Tooltip>\r\n <div className={_styles.paramDescContainer_separator}></div>\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"error\"\r\n endIcon={\r\n <SVGLoader src={DeleteIcon} width=\"1.125rem\" height=\"1.125rem\" />\r\n }\r\n onClick={() => {\r\n resetForm()\r\n setText('')\r\n setIsFormOpen(false)\r\n }} // Correctly delete the new row\r\n />\r\n )}\r\n\r\n {!readOnly && (\r\n <Button\r\n className={_styles.deleteParamBtn}\r\n variant=\"link\"\r\n color=\"success\"\r\n disabled={!isValid || !dirty}\r\n endIcon={<SVGLoader src={AddRow} width=\"0.125rem\" height=\"0.125rem\" />}\r\n onClick={() => {\r\n setText('')\r\n submitForm()\r\n }} // Save the new row when clicked\r\n />\r\n )}\r\n </div>\r\n </div>\r\n </td>\r\n </tr>\r\n ) : (\r\n <>\r\n {!readOnly && (\r\n <tr key={'addNew'} data-i={'addNew'} className={`row`}>\r\n <td colSpan={5}>\r\n <Button\r\n variant=\"link\"\r\n color=\"primary\"\r\n onClick={() => {\r\n setIsFormOpen((prev) => !prev)\r\n }}\r\n >\r\n + Add Tag\r\n </Button>\r\n </td>\r\n </tr>\r\n )}\r\n </>\r\n )}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default TagsTable\r\n","import React, { type JSX } from 'react'\r\nimport './SectionHead.scss'\r\nimport SVGLoader from '../SVGLoader/SVGLoader'\r\n\r\ntype SectionHeadProps = {\r\n text: string | JSX.Element\r\n closeFunction?: () => void\r\n children?: JSX.Element\r\n className?: string\r\n}\r\n\r\nconst SectionHead: React.FC<SectionHeadProps> = ({ text, closeFunction, children, className = '' }: SectionHeadProps): any => {\r\n return (\r\n <div className={`containerTitleDrawer ${className}`}>\r\n <span data-id={`${String(text)?.toUpperCase()?.replaceAll(' ', '_')}_ID`}>{text}</span>\r\n {children}\r\n\r\n {closeFunction && <SVGLoader className='closeIcon' onClick={closeFunction} width='1.5rem' height='1.5rem' />}\r\n </div>\r\n )\r\n}\r\nexport default SectionHead\r\n","import { TransformedPathsArray } from '@entities/layout.type'\r\nimport { OpenAPIFile, SecurityScheme } from '@entities/openApi'\r\nimport { TransformedOpenApi } from '@entities/transformedOpenApi'\r\n\r\nconst resolveRef = (ref: string, openApiJson: OpenAPIFile): Object => {\r\n const parts = ref.replace(/^#\\//, '').split('/')\r\n return parts.reduce((obj, key) => obj?.[key], openApiJson)\r\n}\r\n\r\nexport const transformOpenApiObject = (openApiJson: OpenAPIFile): TransformedOpenApi => {\r\n if (openApiJson.components && openApiJson.components.securitySchemes) {\r\n const authKey = Object.keys(openApiJson.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n openApiJson.components.securitySchemes[authKey].type = openApiJson?.components\r\n ?.securitySchemes?.[authKey]?.type as SecurityScheme['type']\r\n }\r\n } else {\r\n openApiJson.components = {\r\n securitySchemes: {\r\n Public: {\r\n type: 'http',\r\n scheme: 'public',\r\n },\r\n },\r\n ...(openApiJson.components || {}),\r\n }\r\n }\r\n\r\n if (!openApiJson.tags) {\r\n openApiJson.tags = []\r\n }\r\n\r\n return {\r\n ...openApiJson,\r\n paths: transformPathsToArray(openApiJson),\r\n } as TransformedOpenApi\r\n}\r\n\r\nexport const transformOpenApiObjectToOrigin = (values: TransformedOpenApi): OpenAPIFile => {\r\n const object = {\r\n ...values,\r\n paths: transformPathsArrayToOrigin(values.paths),\r\n }\r\n if (object.components && object.components.securitySchemes) {\r\n const authKey = Object.keys(object.components.securitySchemes)?.at(0)\r\n if (authKey) {\r\n if (object.components.securitySchemes[authKey].type.toLowerCase() == 'APIKEY'.toLowerCase()) {\r\n object.components.securitySchemes[authKey].in = object.components.securitySchemes[authKey]\r\n .in as SecurityScheme['in']\r\n }\r\n object.components.securitySchemes[authKey].type = object?.components?.securitySchemes?.[\r\n authKey\r\n ]?.type as SecurityScheme['type']\r\n }\r\n }\r\n return object\r\n}\r\n\r\nexport const transformPathsToArray = (openApiJson: OpenAPIFile): TransformedPathsArray | any => {\r\n const paths: OpenAPIFile['paths'] = openApiJson.paths\r\n const transformedPaths = Object.entries(paths).map(([path, methods]) => ({\r\n path,\r\n methods: Object.entries(methods).map(([method, methodProps]) => {\r\n const obj: any = {\r\n ...methodProps,\r\n type: method,\r\n tags: methodProps.tags || [],\r\n summary: methodProps.summary || '',\r\n responses: Object.entries(methodProps.responses).map(([code, codeProps]) => {\r\n const contentType = Object.keys(codeProps.content || {})[0]\r\n let headers = codeProps?.headers ?? {}\r\n\r\n // ? Fix headers with items property\r\n Object.keys(headers).map((header: string) => {\r\n let headerObj = headers[header]\r\n if (\r\n headerObj?.schema &&\r\n headerObj?.schema?.type &&\r\n headerObj?.schema?.type != 'array'\r\n ) {\r\n delete headers[header]?.schema?.items\r\n }\r\n })\r\n\r\n let schema = codeProps.content?.[contentType]?.schema\r\n if (schema?.$ref) {\r\n schema = resolveRef(schema?.$ref, openApiJson)\r\n } else if (schema?.type == 'array' && schema?.items?.$ref) {\r\n const resolvedItemSchema = resolveRef(schema.items.$ref, openApiJson)\r\n schema = {\r\n ...schema,\r\n items: resolvedItemSchema,\r\n }\r\n }\r\n // if the response content is not an array remove the (items) property\r\n if (schema?.type !== 'array') {\r\n const { items, ...schemaRest } = schema\r\n\r\n schema = schemaRest\r\n }\r\n\r\n return {\r\n code,\r\n headers,\r\n content: {\r\n contentType,\r\n schema: {\r\n ...schema,\r\n properties: JSON.stringify(schema?.properties || schema?.items?.properties),\r\n },\r\n },\r\n }\r\n }),\r\n }\r\n\r\n if (!obj.responses.find((item) => item.code == '200')) {\r\n obj.responses.push({\r\n code: '200',\r\n content: {\r\n contentType: 'application/json',\r\n schema: {},\r\n },\r\n headers: {},\r\n })\r\n }\r\n // Add parameters if it does not exist in the original JSON\r\n if (!methodProps?.parameters) {\r\n obj.parameters = []\r\n } else {\r\n obj.parameters = obj.parameters.map((param) => {\r\n const { schema } = param\r\n if (schema && schema?.items && schema?.type?.toLowerCase() != 'array') {\r\n delete schema.items\r\n }\r\n\r\n return { ...param, schema }\r\n })\r\n }\r\n\r\n // load response headers parameters\r\n\r\n if (method.toLowerCase() != 'get') {\r\n const contentType = Object.keys(methodProps?.requestBody?.content || {})[0]\r\n let reqSchema = methodProps?.requestBody?.content?.[contentType]?.schema\r\n\r\n if (reqSchema?.$ref) {\r\n reqSchema = resolveRef(reqSchema.$ref, openApiJson)\r\n } else if (reqSchema?.type === 'array' && reqSchema.items?.$ref) {\r\n reqSchema = {\r\n ...reqSchema,\r\n items: resolveRef(reqSchema.items.$ref, openApiJson),\r\n }\r\n }\r\n\r\n const requestBodyData = reqSchema\r\n ? {\r\n content: {\r\n contentType,\r\n schema: {\r\n ...reqSchema,\r\n properties: JSON.stringify(reqSchema?.properties || reqSchema?.items?.properties),\r\n },\r\n },\r\n }\r\n : {\r\n content: {\r\n contentType: 'application/json',\r\n schema: {\r\n properties: '{}',\r\n type: 'object',\r\n },\r\n },\r\n }\r\n\r\n obj['requestBody'] = requestBodyData\r\n }\r\n return obj\r\n }),\r\n }))\r\n\r\n return transformedPaths\r\n}\r\n\r\nconst validateBodyForResponse = (content, method) => {\r\n if (!(content?.schema as any) || !(content?.schema as any)?.properties) {\r\n return {}\r\n }\r\n let _content = JSON.parse((content?.schema as any)?.properties as string)\r\n\r\n return _content\r\n}\r\n\r\nexport const transformPathsArrayToOrigin = (paths: TransformedPathsArray): OpenAPIFile['paths'] => {\r\n return paths.reduce((acc, { path, methods }) => {\r\n acc[path] = methods.reduce(\r\n (methodAcc, { type, tags, responses, summary, requestBody, ...rest }) => {\r\n // Initialize the method object\r\n // ? Validate (rest) [parameters]\r\n let copiedRest = structuredClone(rest || {})\r\n if (copiedRest && copiedRest.parameters) {\r\n copiedRest.parameters.map((param) => {\r\n if (param && param?.schema?.items && param?.schema?.type?.toLowerCase() != 'array') {\r\n delete param?.schema?.items\r\n }\r\n if (param && param?.schema?.items && param?.schema?.items?.type == 'array') {\r\n param.schema.items.items = {}\r\n }\r\n return param\r\n })\r\n }\r\n\r\n // Get the original responses from the rest object\r\n const originalResponses = rest.responses || {}\r\n\r\n methodAcc[type] = {\r\n ...copiedRest,\r\n tags,\r\n summary,\r\n responses: responses.reduce((respAcc, { code, content, headers }) => {\r\n // Skip if:\r\n // 1. This is a new code (not in original) AND\r\n // 2. Both headers and content are empty\r\n const isNewCode = !originalResponses[code]\r\n const hasHeaders = Object.keys(headers || {}).length > 0\r\n const hasContent =\r\n Object.keys(validateBodyForResponse(content || {}, type) || {}).length > 0\r\n\r\n if (isNewCode && !hasHeaders && !hasContent) {\r\n return respAcc\r\n }\r\n\r\n const formattedHeaders: Record<string, any> = {}\r\n if (headers) {\r\n for (const [key, value] of Object.entries(headers)) {\r\n if (\r\n value?.schema &&\r\n value?.schema?.items &&\r\n value?.schema?.type?.toLowerCase() != 'array'\r\n ) {\r\n delete value?.schema?.items\r\n }\r\n formattedHeaders[key] = {\r\n description: value.description || '',\r\n required: value.required || false,\r\n schema: value.schema || {},\r\n }\r\n }\r\n }\r\n respAcc[code] = {\r\n description: 'Success', // Assuming this is static from the original data\r\n content: content.contentType\r\n ? {\r\n [content.contentType]: {\r\n schema: {\r\n ...(content.schema as object),\r\n properties: validateBodyForResponse(content, type),\r\n },\r\n },\r\n }\r\n : originalResponses[code]?.content || {},\r\n headers: formattedHeaders,\r\n }\r\n return respAcc\r\n }, {} as Record<string, any>),\r\n }\r\n\r\n const parsedRequestBodyProps =\r\n type !== 'get' ? JSON.parse(requestBody.content.schema.properties) : {}\r\n // Add requestBody for non-GET methods\r\n if (type !== 'get') {\r\n methodAcc[type].requestBody = {\r\n content: {\r\n [requestBody.content.contentType]: {\r\n schema: {\r\n ...requestBody.content.schema,\r\n properties: parsedRequestBodyProps,\r\n },\r\n },\r\n },\r\n }\r\n }\r\n\r\n return methodAcc\r\n },\r\n {} as Record<string, any>\r\n )\r\n\r\n return acc\r\n }, {} as OpenAPIFile['paths'])\r\n}\r\n","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 { Accordion, Button, Chip } from 'digitinary-ui'\r\nimport Tooltip from '../../components/Tooltip/Tooltip'\r\nimport SVGLoader from '../../components/SVGLoader/SVGLoader'\r\nimport { DownArrowIcon } from '../../assets/icons'\r\n\r\ninterface LivePreviewProps {\r\n transformedData?: TransformedOpenApi\r\n openApiErrors?: any[]\r\n}\r\n\r\nconst LivePreview: React.FC<LivePreviewProps> = ({ transformedData, openApiErrors }) => {\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 [errorExpanded, setErrorExpanded] = useState(openApiErrors.length > 0)\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\r\n ? '-'\r\n : 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 {!!openApiErrors && openApiErrors.length > 0 && (\r\n <div className=\"row\">\r\n <div className=\"col-md-12\">\r\n <Accordion\r\n expanded={errorExpanded}\r\n onChange={() => null}\r\n className={styles.responseAccordion}\r\n summary={\r\n <span\r\n className={styles.responseAccordionSummary}\r\n onClick={() => setErrorExpanded((prev) => !errorExpanded)}\r\n >\r\n <div className={styles.responseAccordionSummary_title}>Errors</div>\r\n <SVGLoader\r\n className={errorExpanded ? styles.expanded : ''}\r\n src={DownArrowIcon}\r\n width=\"2rem\"\r\n height=\"2rem\"\r\n />\r\n </span>\r\n }\r\n children={\r\n <div className={styles.accordionContent}>\r\n <span>\r\n Failed to update the OpenAPI documentation. Please resolve the following issues:\r\n </span>\r\n <br />\r\n <ol>\r\n {openApiErrors.map((errItem) => (\r\n <li key={errItem}>{errItem}</li>\r\n ))}\r\n </ol>\r\n </div>\r\n }\r\n />\r\n </div>\r\n </div>\r\n )}\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 key={'version'} label={'Version: '} value={info?.version || '-'} />\r\n <SimpleLabelValue\r\n key={'description'}\r\n label={'Description: '}\r\n className={styles.description_preview}\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 {Object.entries(\r\n values.paths\r\n .flatMap((path) =>\r\n path.methods.map((method) => ({\r\n ...method,\r\n path: path.path,\r\n tags: method.tags?.length ? method.tags : ['default'],\r\n }))\r\n )\r\n .reduce((acc, method) => {\r\n method.tags.forEach((tag) => {\r\n if (!acc[tag]) acc[tag] = []\r\n acc[tag].push(method)\r\n })\r\n return acc\r\n }, {} as Record<string, any[]>)\r\n ).map(([tag, methods]) => (\r\n <div className={styles.methodsContainer} key={tag}>\r\n <h3>{tag}</h3>\r\n {methods\r\n .sort((a, b) => methodColorMapping[a.type].order - methodColorMapping[b.type].order)\r\n .map((method) => (\r\n <MethodsAccordion\r\n key={`${method.path}_${method.type}`}\r\n readOnly\r\n method={method}\r\n path={method.path}\r\n tags={values.tags}\r\n />\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","import 'css-chunk:src/components/LivePreview/LivePreview.module.scss';export default {\n \"livePreviewContainer\": \"_livePreviewContainer_1kx3j_1\",\n \"titleContainer\": \"_titleContainer_1kx3j_1\",\n \"apiName\": \"_apiName_1kx3j_10\",\n \"livePreviewChip\": \"_livePreviewChip_1kx3j_18\",\n \"description_preview\": \"_description_preview_1kx3j_22\",\n \"requestAccordion\": \"_requestAccordion_1kx3j_26\",\n \"responseAccordion\": \"_responseAccordion_1kx3j_27\",\n \"accordionContent\": \"_accordionContent_1kx3j_69\",\n \"requestAccordionSummary\": \"_requestAccordionSummary_1kx3j_85\",\n \"responseAccordionSummary\": \"_responseAccordionSummary_1kx3j_86\",\n \"responseAccordionSummary_title\": \"_responseAccordionSummary_title_1kx3j_100\",\n \"requestAccordionSummary_title\": \"_requestAccordionSummary_title_1kx3j_101\",\n \"expanded\": \"_expanded_1kx3j_47\",\n \"statusCodeOptionContainer\": \"_statusCodeOptionContainer_1kx3j_161\",\n \"statusCodeOptionCircle\": \"_statusCodeOptionCircle_1kx3j_167\"\n};","import * as yup from 'yup'\r\nexport const schemaValidation = yup.object({\r\n openapi: yup.string().required(),\r\n info: yup\r\n .object({\r\n title: yup.string().trim().required('API Name is required.'),\r\n description: yup.string().trim().required('API Description is required.'),\r\n version: yup.string().required('API Version is required'),\r\n })\r\n .required(),\r\n servers: yup\r\n .array(\r\n yup.object({\r\n url: yup\r\n .string()\r\n .required()\r\n .test(\r\n 'is-url-or-slash',\r\n 'Must be a valid URL or \"/\"',\r\n (value) => value === '/' || yup.string().url().isValidSync(value)\r\n ),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n paths: yup\r\n .array()\r\n .of(\r\n yup.object().shape({\r\n path: yup.string().required(),\r\n methods: yup\r\n .array()\r\n .of(\r\n yup.object().shape({\r\n summary: yup.string().trim().required('Endpoint Name is required.'),\r\n description: yup.string().trim().optional(),\r\n type: yup.string().optional(),\r\n tags: yup.array().of(yup.string()).optional(),\r\n requestBody: yup.mixed().optional(),\r\n })\r\n )\r\n .required(),\r\n })\r\n )\r\n .required(),\r\n components: yup\r\n .object({\r\n schemas: yup\r\n .lazy((value) =>\r\n yup.object(\r\n value\r\n ? Object.keys(value).reduce((acc, key) => {\r\n acc[key] = yup.object({\r\n type: yup.string().optional(),\r\n format: yup.string().optional(),\r\n properties: yup\r\n .lazy((props) =>\r\n yup.object(\r\n props\r\n ? Object.keys(props).reduce((acc, propKey) => {\r\n acc[propKey] = yup.mixed()\r\n return acc\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n items: yup.mixed().optional(),\r\n enum: yup.array(yup.string()).optional(),\r\n required: yup.array(yup.string()).optional(),\r\n })\r\n return acc\r\n }, {})\r\n : {}\r\n )\r\n )\r\n .optional(),\r\n securitySchemes: yup.object().optional(),\r\n })\r\n .optional(),\r\n security: yup\r\n .array(\r\n yup.object().shape({\r\n schemeName: yup.array(yup.string()).optional(),\r\n })\r\n )\r\n .optional(),\r\n tags: yup\r\n .array(\r\n yup.object({\r\n name: yup.string().required(),\r\n description: yup.string().optional(),\r\n })\r\n )\r\n .optional(),\r\n})\r\n","import React, { JSX, useEffect, useRef, useState } from 'react'\r\nimport Layout from './docsComponents'\r\nimport { HTTPMethod, OpenAPIFile, Parameter, RequestBody, Responses } from '@entities/openApi'\r\nimport { transformOpenApiToDocs } from '../helpers/docs.helper'\r\nimport { ApiSpecModel } from '@entities/index'\r\nimport stableStringify from 'fast-json-stable-stringify'\r\nimport { SectionToggleProvider } from '../../src/context/SectionToggleContext'\r\nimport { ToastContainer } from 'react-toastify'\r\n\r\ninterface ILayoutProps {\r\n apis?: ApiSpecModel[]\r\n activeApiId?: string\r\n onProductNavigate?: (productId: number) => void\r\n}\r\n\r\nexport interface TagData {\r\n id: string\r\n method: HTTPMethod\r\n path: string\r\n tags: string[]\r\n responses: Responses\r\n summary?: string\r\n description: string\r\n parameters?: Parameter[]\r\n requestBody?: RequestBody\r\n}\r\n\r\nexport interface EndpointData extends TagData {\r\n api: OverviewData\r\n}\r\n\r\nexport interface OverviewData extends Omit<ApiSpecModel, 'metaData'> {\r\n description: string\r\n title: string\r\n version: string\r\n tags: Record<string, TagData[]>\r\n servers: OpenAPIFile['servers']\r\n}\r\n\r\nfunction areEqual(prev: ILayoutProps, next: ILayoutProps): boolean {\r\n return (\r\n stableStringify(prev.apis ?? []) === stableStringify(next.apis ?? []) &&\r\n prev.activeApiId === next.activeApiId\r\n )\r\n}\r\n\r\nconst DocsLayout = ({ apis, activeApiId, onProductNavigate }: ILayoutProps): JSX.Element => {\r\n const [transformedOpenApis, setTransformedOpenApis] = useState<OverviewData[]>([])\r\n const [isFirstApiExpanded, setIsFirstApiExpanded] = useState(true)\r\n const [activeItemData, setActiveItemData] = useState<\r\n OverviewData | EndpointData | Record<string, never>\r\n >({})\r\n const [activeType, setActiveType] = useState<'OVERVIEW' | 'ENDPOINT'>('OVERVIEW')\r\n const allData = useRef([])\r\n const [pending, setPending] = useState(true)\r\n const [canSelectFirstApi, setCanSelectFirstApi] = useState(false)\r\n const [canFocusSection, setCanFocusSection] = useState(false)\r\n\r\n useEffect(() => {\r\n if (transformedOpenApis.length === 0) {\r\n setCanSelectFirstApi(!!activeApiId)\r\n const t = structuredClone(apis)\r\n ?.map((o3) => transformOpenApiToDocs(o3))\r\n .sort((a, b) => a.title.toLowerCase().localeCompare(b.title.toLowerCase()))\r\n setTransformedOpenApis(t)\r\n allData.current = t\r\n if (t.length > 0) {\r\n setPending(false)\r\n }\r\n }\r\n }, [apis])\r\n\r\n const updateFilteredData = (filteredItems: OverviewData[], isReset = false) => {\r\n if (isReset) {\r\n setTransformedOpenApis(allData.current)\r\n return\r\n }\r\n setTransformedOpenApis(filteredItems)\r\n }\r\n\r\n return (\r\n <Layout>\r\n <SectionToggleProvider>\r\n <Layout.DocsHeader\r\n transformedOpenApis={transformedOpenApis}\r\n updateFilteredData={updateFilteredData}\r\n />\r\n {!pending && (\r\n <Layout.DocsSideMenuTree\r\n apis={transformedOpenApis}\r\n setActiveItemData={setActiveItemData}\r\n activeItemData={activeItemData as OverviewData | EndpointData}\r\n isFirstApiExpanded={isFirstApiExpanded}\r\n activeType={activeType}\r\n setIsFirstApiExpanded={setIsFirstApiExpanded}\r\n setActiveType={setActiveType}\r\n canSelectFirstApi={canSelectFirstApi}\r\n canFocusSection={canFocusSection}\r\n setCanFocusSection={setCanFocusSection}\r\n activeApiId={activeApiId}\r\n setCanSelectFirstApi={setCanSelectFirstApi}\r\n />\r\n )}\r\n\r\n {!pending && Object.keys(activeItemData).length > 0 && (\r\n <Layout.DocsContent\r\n data={activeItemData as OverviewData | EndpointData}\r\n activeType={activeType}\r\n setActiveItemData={setActiveItemData}\r\n setActiveType={setActiveType}\r\n onProductNavigate={onProductNavigate}\r\n apis={transformedOpenApis}\r\n />\r\n )}\r\n {activeType === 'ENDPOINT' && <Layout.DocsAside data={activeItemData as EndpointData} />}\r\n </SectionToggleProvider>\r\n\r\n <ToastContainer />\r\n </Layout>\r\n )\r\n}\r\n\r\nexport default React.memo(DocsLayout, areEqual)\r\n","import React, { useState, useRef } from 'react'\r\nimport { Button, Size, Input } from 'digitinary-ui'\r\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\r\nimport {\r\n FilterIcon,\r\n BookIcon,\r\n ApiIcon,\r\n SearchIcon,\r\n UpArrowIcon,\r\n DownArrowIcon,\r\n} from '../../../assets/icons'\r\nimport Tooltip from '../../../components/Tooltip/Tooltip'\r\nimport CommonDialog from '../../../components/dialog/index'\r\nimport { METHOD_OPTIONS } from '../../../constants/methods.constant'\r\nimport styles from './DocsHeader.module.scss'\r\nimport { OverviewData } from '../../../../src/layout/docsLayout'\r\n\r\nconst DocsHeader = ({\r\n transformedOpenApis,\r\n updateFilteredData,\r\n}: {\r\n transformedOpenApis: OverviewData[]\r\n updateFilteredData: (filteredItems: OverviewData[], isReset?: boolean) => void\r\n}) => {\r\n const [showSearchFilter, setShowSearchFilter] = useState<boolean>(false)\r\n const [apiName, setApiName] = useState<string>('')\r\n const [selectedMethods, setSelectedMethods] = useState<any[]>([])\r\n const [isMethodDropdownOpen, setIsMethodDropdownOpen] = useState<boolean>(false)\r\n\r\n const handleOpenSearchFilter = (): void => {\r\n setShowSearchFilter(true)\r\n }\r\n\r\n const handleCloseSearchFilter = (): void => {\r\n setShowSearchFilter(false)\r\n setIsMethodDropdownOpen(false)\r\n }\r\n\r\n const handleApplyFilters = (): void => {\r\n // Reset: no filters applied\r\n if (!apiName?.trim() && (!selectedMethods || selectedMethods.length === 0)) {\r\n updateFilteredData(transformedOpenApis, true)\r\n setShowSearchFilter(false)\r\n return\r\n }\r\n\r\n let filteredItems = [...transformedOpenApis]\r\n\r\n // Filter by API name\r\n if (apiName?.trim()) {\r\n const lowerApiName = apiName.toLowerCase()\r\n filteredItems = filteredItems.filter((api) => api.title.toLowerCase().includes(lowerApiName))\r\n }\r\n\r\n // Filter by selected HTTP methods\r\n if (selectedMethods?.length) {\r\n filteredItems = filteredItems.filter((api) => {\r\n const allMethods = Object.values(api.tags || {})\r\n .flat()\r\n .map((endpoint: any) => endpoint.method?.toLowerCase())\r\n\r\n return selectedMethods.some((method) => allMethods.includes(method.toLowerCase()))\r\n })\r\n }\r\n\r\n updateFilteredData(filteredItems)\r\n setShowSearchFilter(false)\r\n }\r\n\r\n const handleCheckMethod = (e, method: (typeof METHOD_OPTIONS)[0]) => {\r\n const {\r\n target: { checked },\r\n } = e\r\n if (checked) {\r\n setSelectedMethods((prev) => [...prev, method.value])\r\n } else {\r\n if (selectedMethods.includes(method.value)) {\r\n setSelectedMethods((prev) => prev.filter((_m) => _m != method.value))\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n <header className={styles.api_docs_header}>\r\n <div className={styles.header_content}>\r\n <Button\r\n variant=\"outlined\"\r\n size=\"small\"\r\n className={styles.search_filter_btn}\r\n onClick={handleOpenSearchFilter}\r\n >\r\n Search & Filter\r\n <SVGLoader src={FilterIcon} />\r\n </Button>\r\n <div className={styles.nav_buttons}>\r\n <Tooltip\r\n placement=\"bottom\"\r\n offset={[10, 5]}\r\n delay={[0, 0]}\r\n className=\"guide-tooltip\"\r\n content={<div>Coming Soon</div>}\r\n >\r\n <Button variant=\"outlined\" size=\"small\" className=\"guide-btn\" disabled={true}>\r\n <SVGLoader src={BookIcon} />\r\n GUIDES\r\n </Button>\r\n </Tooltip>\r\n <Button variant=\"outlined\" size=\"small\" className={styles.api_btn}>\r\n <SVGLoader src={ApiIcon} /> API reference\r\n </Button>\r\n </div>\r\n </div>\r\n </header>\r\n <CommonDialog\r\n size=\"sm\"\r\n open={showSearchFilter}\r\n onClose={handleCloseSearchFilter}\r\n icon={false}\r\n withClose={false}\r\n noActions\r\n content={\r\n <div className={`search-filter-form ${isMethodDropdownOpen ? 'expanded' : ''}`}>\r\n <div className=\"search-filter-form__header\">\r\n <p className=\"search-filter-form__header__title\">Search & Filter</p>\r\n </div>\r\n <Input\r\n className=\"name-input\"\r\n placeholder=\"Search by API name\"\r\n value={apiName}\r\n onChange={(value) => setApiName(value as string)}\r\n size={Size.Medium}\r\n clearable\r\n endAdornment={<SVGLoader src={SearchIcon} />}\r\n />\r\n <div className=\"method-container\">\r\n <label>Method</label>\r\n {/* <SelectGroup\r\n isMultiple={true}\r\n size={Size.Medium}\r\n placeholder=\"Select Method\"\r\n value={selectedMethods}\r\n onChange={(value) => setSelectedMethods(value || [])}\r\n options={[\r\n \r\n ]}\r\n withSearch={false}\r\n className=\"method-select custom-select-border\"\r\n /> */}\r\n <div className=\"typeDdl\" onClick={() => setIsMethodDropdownOpen((prev) => !prev)}>\r\n <span>Select Method</span>\r\n <SVGLoader src={!isMethodDropdownOpen ? DownArrowIcon : UpArrowIcon} />\r\n </div>\r\n {isMethodDropdownOpen && (\r\n <div className=\"methodList\">\r\n {METHOD_OPTIONS.map((_m) => (\r\n <div className=\"method-item\">\r\n <input\r\n type=\"checkbox\"\r\n className=\"agreement-checkbox\"\r\n checked={selectedMethods.includes(_m.value)}\r\n onChange={(e) => handleCheckMethod(e, _m)}\r\n />\r\n <span style={{ color: _m.color }}>{_m.label}</span>\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n <div className=\"button-container\">\r\n <Button\r\n variant=\"contained\"\r\n color=\"primary\"\r\n size=\"large\"\r\n onClick={handleApplyFilters}\r\n className=\"dialog-submit-btn\"\r\n >\r\n Apply\r\n </Button>\r\n </div>\r\n </div>\r\n }\r\n />\r\n </>\r\n )\r\n}\r\n\r\nexport default DocsHeader\r\n","export type MethodOption = {\r\n label: string\r\n value: string\r\n color: string\r\n}\r\n\r\nexport const METHOD_OPTIONS: MethodOption[] = [\r\n { label: 'Post', value: 'POST', color: '#10b981' },\r\n { label: 'GET', value: 'GET', color: '#3b82f6' },\r\n { label: 'Delete', value: 'DELETE', color: '#ef4444' },\r\n { label: 'Put', value: 'PUT', color: '#f59e0b' },\r\n { label: 'PATCH', value: 'PATCH', color: '#C0F4E8' },\r\n { label: 'OPTIONS', value: 'OPTIONS', color: '#6b7280' },\r\n { label: 'HEAD', value: 'HEAD', color: '#8b5cf6' },\r\n { label: 'TRACE', value: 'TRACE', color: '#ec4899' },\r\n]\r\n\r\nexport const METHOD_OPTIONS_CONFIG = [\r\n {\r\n list: METHOD_OPTIONS.map((method) => ({\r\n labelConfig: { color: method.color, text: method.label },\r\n value: method.value,\r\n data: method,\r\n })),\r\n },\r\n]\r\n","import 'css-chunk:src/layout/docsComponents/DocsHeader/DocsHeader.module.scss';export default {\n \"api_docs_header\": \"_api_docs_header_aig9w_1\",\n \"header_content\": \"_header_content_aig9w_9\",\n \"nav_buttons\": \"_nav_buttons_aig9w_14\",\n \"search_filter_btn\": \"_search_filter_btn_aig9w_19\",\n \"btnContentWrapper\": \"_btnContentWrapper_aig9w_28\",\n \"btnContent\": \"_btnContent_aig9w_28\",\n \"api_btn\": \"_api_btn_aig9w_57\"\n};","import './style.scss'\r\nimport React, { useEffect, useRef } from 'react'\r\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\r\nimport { arrowDownGray, arrowRightGray, document, eye } from '../../../assets/icons'\r\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\r\nimport { SectionEnum, useSectionToggle } from '../../../../src/context/SectionToggleContext'\r\n\r\nconst DocsSideMenuTree = ({\r\n apis,\r\n setActiveItemData,\r\n isFirstApiExpanded,\r\n setIsFirstApiExpanded,\r\n setActiveType,\r\n canSelectFirstApi,\r\n canFocusSection,\r\n setCanFocusSection,\r\n activeApiId,\r\n setCanSelectFirstApi,\r\n}: {\r\n apis: OverviewData[]\r\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\r\n activeItemData: OverviewData | EndpointData\r\n isFirstApiExpanded: boolean\r\n setIsFirstApiExpanded: React.Dispatch<React.SetStateAction<boolean>>\r\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\r\n activeType: 'OVERVIEW' | 'ENDPOINT'\r\n canSelectFirstApi?: boolean\r\n canFocusSection: boolean\r\n setCanFocusSection: React.Dispatch<React.SetStateAction<boolean>>\r\n activeApiId: string\r\n setCanSelectFirstApi: React.Dispatch<React.SetStateAction<boolean>>\r\n}) => {\r\n const { expandedSections, toggleSection, generateSectionKey } = useSectionToggle()\r\n const sectionRefs = useRef<Record<string, HTMLDivElement | null>>({})\r\n\r\n // Auto-expand first API only once\r\n useEffect(() => {\r\n if (canSelectFirstApi || !apis?.length || !isFirstApiExpanded) return\r\n\r\n const firstApi = apis[0]\r\n toggleSection(firstApi?.apiSpecId, [\r\n { type: SectionEnum.API_SECTION, setTo: true },\r\n { type: SectionEnum.OVERVIEW, setTo: true },\r\n ])\r\n\r\n setActiveItemData(firstApi)\r\n setActiveType('OVERVIEW')\r\n setIsFirstApiExpanded(false)\r\n }, [apis, isFirstApiExpanded])\r\n\r\n useEffect(() => {\r\n const activeApi = apis?.find((api) => api.apiSpecId === activeApiId)\r\n if (activeApiId && apis.length > 0 && !!activeApi) {\r\n toggleSection(activeApi.apiSpecId, [\r\n { type: SectionEnum.API_SECTION, setTo: true },\r\n { type: SectionEnum.OVERVIEW, setTo: true },\r\n ])\r\n\r\n setActiveItemData(activeApi)\r\n setActiveType('OVERVIEW')\r\n setIsFirstApiExpanded(false)\r\n setCanSelectFirstApi(true)\r\n setCanFocusSection(true)\r\n }\r\n }, [activeApiId, apis])\r\n\r\n const renderEndpoints = (endpoints: EndpointData[], api: OverviewData) =>\r\n endpoints.map((endpoint, index) => {\r\n const key = generateSectionKey({\r\n apiId: api.apiSpecId,\r\n type: SectionEnum.RESOURCE,\r\n id: endpoint.id,\r\n })\r\n const isExpanded = expandedSections[key]\r\n\r\n return (\r\n <div\r\n key={index}\r\n className={`api-docs-api-tree__endpoint api-docs-api-tree__endpoint--${endpoint.method.toLowerCase()}`}\r\n onClick={() => {\r\n if (!isExpanded) {\r\n setActiveItemData({\r\n ...endpoint,\r\n api,\r\n })\r\n setActiveType('ENDPOINT')\r\n toggleSection(api.apiSpecId, [{ type: SectionEnum.RESOURCE, id: endpoint.id }], {\r\n resetOthers: true,\r\n filterKeys: [SectionEnum.RESOURCE, SectionEnum.OVERVIEW],\r\n })\r\n }\r\n }}\r\n data-active={isExpanded}\r\n >\r\n <span className=\"api-docs-api-tree__endpoint-method\">{endpoint.method}</span>\r\n <span className=\"api-docs-api-tree__endpoint-name\">{endpoint.path}</span>\r\n </div>\r\n )\r\n })\r\n\r\n const renderSubSection = (\r\n tagName: string,\r\n data: EndpointData[],\r\n api: OverviewData,\r\n sectionIndex: number\r\n ) => {\r\n const sectionKey = generateSectionKey({\r\n apiId: api.apiSpecId,\r\n type: SectionEnum.TAG_SECTION,\r\n index: sectionIndex,\r\n })\r\n const isSectionExpanded = expandedSections[sectionKey]\r\n\r\n return (\r\n <div key={sectionKey} className=\"api-docs-api-tree__subsection\">\r\n <div\r\n className=\"api-docs-api-tree__subsection-header\"\r\n onClick={() =>\r\n toggleSection(api.apiSpecId, [{ type: SectionEnum.TAG_SECTION, index: sectionIndex }])\r\n }\r\n >\r\n {isSectionExpanded ? (\r\n <SVGLoader src={arrowDownGray} />\r\n ) : (\r\n <SVGLoader src={arrowRightGray} />\r\n )}\r\n <span className=\"api-docs-api-tree__subsection-title\">{tagName}</span>\r\n </div>\r\n\r\n {isSectionExpanded && (\r\n <div className=\"api-docs-api-tree__endpoints\">{renderEndpoints(data, api)}</div>\r\n )}\r\n </div>\r\n )\r\n }\r\n\r\n const renderApiSection = (api: OverviewData) => {\r\n const sectionKey = generateSectionKey({ apiId: api.apiSpecId, type: SectionEnum.API_SECTION })\r\n const endpointsKey = generateSectionKey({\r\n apiId: api.apiSpecId,\r\n type: SectionEnum.ENDPOINTS_SECTION,\r\n })\r\n const overviewKey = generateSectionKey({ apiId: api.apiSpecId, type: SectionEnum.OVERVIEW })\r\n\r\n const isApiExpanded = expandedSections[sectionKey]\r\n const isEndpointActive = expandedSections[endpointsKey]\r\n const isOverviewExpanded = expandedSections[overviewKey]\r\n // Scroll to the section if it's expanded\r\n if (canFocusSection) {\r\n const sectionEl = sectionRefs.current[api.apiSpecId]\r\n sectionEl?.scrollIntoView({ behavior: 'smooth', block: 'start' })\r\n setCanFocusSection(false)\r\n }\r\n\r\n return (\r\n <div\r\n key={api.apiSpecId}\r\n className=\"api-docs-api-tree__section\"\r\n data-active={isEndpointActive || isOverviewExpanded}\r\n ref={(el) => {\r\n sectionRefs.current[api.apiSpecId] = el\r\n }}\r\n >\r\n <div\r\n className=\"api-docs-api-tree__section-header\"\r\n onClick={() => toggleSection(api.apiSpecId, [{ type: SectionEnum.API_SECTION }])}\r\n >\r\n {isApiExpanded ? <SVGLoader src={arrowDownGray} /> : <SVGLoader src={arrowRightGray} />}\r\n <SVGLoader src={document} />\r\n <span className=\"api-docs-api-tree__section-title\">{api.title}</span>\r\n </div>\r\n\r\n {isApiExpanded && (\r\n <>\r\n <div\r\n className=\"api-docs-api-tree__section__overview\"\r\n onClick={() => {\r\n if (!isOverviewExpanded) {\r\n toggleSection(api.apiSpecId, [{ type: SectionEnum.OVERVIEW }], {\r\n resetOthers: true,\r\n filterKeys: [SectionEnum.RESOURCE],\r\n })\r\n setActiveItemData(api)\r\n setActiveType('OVERVIEW')\r\n }\r\n }}\r\n data-active={isOverviewExpanded}\r\n >\r\n <SVGLoader src={eye} />\r\n <span>Overview</span>\r\n </div>\r\n\r\n <div\r\n className=\"api-docs-api-tree__section__endpoints\"\r\n onClick={() =>\r\n toggleSection(api.apiSpecId, [{ type: SectionEnum.ENDPOINTS_SECTION }])\r\n }\r\n data-active={isEndpointActive && !isOverviewExpanded}\r\n >\r\n {expandedSections[endpointsKey] ? (\r\n <SVGLoader src={arrowDownGray} />\r\n ) : (\r\n <SVGLoader src={arrowRightGray} />\r\n )}\r\n <span>Endpoints</span>\r\n </div>\r\n\r\n {expandedSections[endpointsKey] && (\r\n <div className=\"api-docs-api-tree__subsections\">\r\n {Object.entries(api.tags)\r\n .filter(([, endpoints]) => endpoints.length > 0)\r\n .sort(([a], [b]) =>\r\n a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)\r\n )\r\n .map(([tagName, data], i) =>\r\n renderSubSection(tagName, data as EndpointData[], api, i)\r\n )}\r\n </div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )\r\n }\r\n\r\n return <aside className=\"api-docs-api-tree\">{apis.map((api) => renderApiSection(api))}</aside>\r\n}\r\n\r\nexport default DocsSideMenuTree\r\n","import React, { createContext, useContext, useState, ReactNode, useMemo, useCallback } from 'react'\r\n\r\nexport enum SectionEnum {\r\n OVERVIEW = 'overview',\r\n RESOURCE = 'resource',\r\n API_SECTION = 'apiSection',\r\n TAG_SECTION = 'tagSection',\r\n ENDPOINTS_SECTION = 'endpointsSection',\r\n}\r\n\r\ntype SectionKey =\r\n | `api_${string}_${SectionEnum}`\r\n | `api_${string}_${SectionEnum}_${string | number}`\r\n | `api_${string}_${SectionEnum}_${string | number}_${string | number}`\r\ntype ExpandedSections = Record<SectionKey, boolean>\r\n\r\ninterface SectionToggleContextType {\r\n expandedSections: ExpandedSections\r\n toggleSection: (\r\n apiId: string,\r\n sections: ToggleSectionDescriptor[],\r\n options?: ToggleOptions\r\n ) => void\r\n generateSectionKey: ({ apiId, type, index, id }: GenerateSectionKeyParams) => SectionKey\r\n}\r\n\r\ninterface SectionToggleProviderProps {\r\n children: ReactNode\r\n}\r\n\r\nexport interface ToggleSectionDescriptor {\r\n type: SectionEnum\r\n index?: string | number\r\n setTo?: boolean\r\n id?: string\r\n}\r\n\r\nexport interface ToggleOptions {\r\n resetOthers?: boolean\r\n filterKeys?: SectionEnum[]\r\n}\r\n\r\ninterface GenerateSectionKeyParams {\r\n apiId: string\r\n type: SectionEnum\r\n index?: string | number\r\n id?: string | number\r\n}\r\n\r\nconst SectionToggleContext = createContext<SectionToggleContextType | null>(null)\r\n\r\nexport const useSectionToggle = () => {\r\n const context = useContext(SectionToggleContext)\r\n if (!context) {\r\n throw new Error('useSectionToggle must be used within SectionToggleProvider')\r\n }\r\n return context\r\n}\r\n\r\nexport const SectionToggleProvider = ({ children }: SectionToggleProviderProps) => {\r\n const [expandedSections, setExpandedSections] = useState<ExpandedSections>({})\r\n\r\n const generateSectionKey = ({ apiId, type, index, id }: GenerateSectionKeyParams): SectionKey => {\r\n let key = `api_${apiId}_${type}`\r\n\r\n if (index !== undefined) key += `_${index}`\r\n if (id !== undefined) key += `_${id}`\r\n\r\n return key as SectionKey\r\n }\r\n\r\n const toggleSection = useCallback(\r\n (apiId: string, sections: ToggleSectionDescriptor[], options: ToggleOptions = {}) => {\r\n const { resetOthers = false, filterKeys = [] } = options\r\n\r\n const sectionIds = sections.map(({ type, index, id }) =>\r\n generateSectionKey({ apiId, type, index, id })\r\n )\r\n\r\n const sectionToggles = Object.fromEntries(\r\n sections.map(({ type, index, setTo, id }) => {\r\n const sectionId = generateSectionKey({ apiId, type, index, id })\r\n const currentValue = expandedSections[sectionId]\r\n\r\n return [sectionId, setTo !== undefined ? setTo : !currentValue]\r\n })\r\n )\r\n\r\n if (resetOthers && filterKeys.length > 0) {\r\n const filtered = Object.fromEntries(\r\n Object.entries(expandedSections).filter(([key]) => {\r\n const shouldKeep = key.includes(apiId) && !filterKeys.some((k) => key.includes(k))\r\n return shouldKeep || sectionIds.includes(key as SectionKey)\r\n })\r\n )\r\n const newState = { ...filtered, ...sectionToggles }\r\n setExpandedSections(newState)\r\n } else {\r\n setExpandedSections((prev) => {\r\n const next = { ...prev, ...sectionToggles }\r\n\r\n return next\r\n })\r\n }\r\n },\r\n [expandedSections]\r\n )\r\n\r\n const contextValue = useMemo(\r\n () => ({\r\n expandedSections,\r\n toggleSection,\r\n generateSectionKey,\r\n }),\r\n [expandedSections, toggleSection]\r\n )\r\n\r\n return (\r\n <SectionToggleContext.Provider value={contextValue}>{children}</SectionToggleContext.Provider>\r\n )\r\n}\r\n","import React, { useEffect, useRef } from 'react'\r\nimport './style.scss'\r\nimport { OverviewPage } from './OverviewPage'\r\nimport { EndpointPage } from './EndpointPage'\r\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\r\n\r\nconst DocsContent = ({\r\n data,\r\n activeType,\r\n setActiveItemData,\r\n setActiveType,\r\n onProductNavigate,\r\n apis,\r\n}: {\r\n data: OverviewData | EndpointData\r\n activeType: 'OVERVIEW' | 'ENDPOINT'\r\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\r\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\r\n onProductNavigate?: (productId: number) => void\r\n apis: OverviewData[]\r\n}) => {\r\n const containerRef = useRef(null)\r\n\r\n useEffect(() => {\r\n // This will scroll to the top when changing the overview\r\n if (activeType === 'OVERVIEW' && containerRef?.current) {\r\n containerRef?.current?.scrollTo({ top: 0, behavior: 'smooth' })\r\n }\r\n }, [data, activeType])\r\n return (\r\n <main ref={containerRef}>\r\n {activeType === 'OVERVIEW' ? (\r\n <OverviewPage\r\n data={data as OverviewData}\r\n setActiveItemData={setActiveItemData}\r\n setActiveType={setActiveType}\r\n onProductNavigate={onProductNavigate}\r\n apis={apis}\r\n />\r\n ) : (\r\n <EndpointPage\r\n data={data as EndpointData}\r\n setActiveType={setActiveType}\r\n setActiveItemData={setActiveItemData}\r\n />\r\n )}\r\n </main>\r\n )\r\n}\r\n\r\nexport default DocsContent\r\n","import './style.scss'\r\nimport SVGLoader from '../../../../components/SVGLoader/SVGLoader'\r\nimport { arrowDown, arrowRightGray, arrowUp, newCopyIcon } from '../../../../assets/icons/index'\r\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\r\nimport { SectionEnum, useSectionToggle } from '../../../../../src/context/SectionToggleContext'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { copyToClipboard } from '../../../../utils'\r\n\r\nexport const OverviewPage = ({\r\n data,\r\n setActiveItemData,\r\n setActiveType,\r\n onProductNavigate,\r\n apis,\r\n}: {\r\n data: OverviewData\r\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\r\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\r\n onProductNavigate?: (productId: number) => void\r\n apis: OverviewData[]\r\n}) => {\r\n const { toggleSection } = useSectionToggle()\r\n const [selectedUrl, setSelectedUrl] = useState(data?.servers?.[0]?.url || '')\r\n const [isUrlDropdownOpen, setIsUrlDropdownOpen] = useState<boolean>(false)\r\n\r\n useEffect(() => {\r\n setSelectedUrl(data?.servers?.[0]?.url || '')\r\n }, [data])\r\n const handleVersionClick = (verObj) => {\r\n if (verObj.apiSpecId === data.apiSpecId) {\r\n setActiveType('OVERVIEW')\r\n return\r\n }\r\n\r\n const matchedVersion = data.apiVersions.find((v) => v.apiSpecId === verObj.apiSpecId)\r\n\r\n if (!matchedVersion) {\r\n return\r\n }\r\n\r\n const matchedApi = apis.find((api) => api.apiSpecId === matchedVersion.apiSpecId)\r\n setActiveItemData(matchedApi)\r\n\r\n setActiveType('OVERVIEW')\r\n toggleSection(\r\n matchedApi.apiSpecId,\r\n [\r\n { type: SectionEnum.API_SECTION, setTo: true },\r\n { type: SectionEnum.OVERVIEW, setTo: true },\r\n ],\r\n {\r\n resetOthers: true,\r\n filterKeys: [\r\n SectionEnum.OVERVIEW,\r\n SectionEnum.API_SECTION,\r\n SectionEnum.ENDPOINTS_SECTION,\r\n SectionEnum.TAG_SECTION,\r\n ],\r\n }\r\n )\r\n }\r\n\r\n const handleClick = (endpoint) => {\r\n setActiveItemData({\r\n ...endpoint,\r\n api: {\r\n id: data.apiSpecId,\r\n title: data.title,\r\n description: data.description,\r\n version: data.version,\r\n ...data,\r\n },\r\n })\r\n setActiveType('ENDPOINT')\r\n const tagEntries = Object.entries(data?.tags || {})\r\n const sectionIndex = tagEntries.findIndex(([, endpoints]) =>\r\n endpoints.some((e) => e.id === endpoint.id)\r\n )\r\n\r\n const tagSectionIndex = Object.entries(data.tags)\r\n .sort(([a], [b]) => (a === 'default' ? 1 : b === 'default' ? -1 : a.localeCompare(b)))\r\n .findIndex(([_, tagData]) => tagData.find((t) => t.id === endpoint.id))\r\n\r\n toggleSection(\r\n data.apiSpecId,\r\n [\r\n { type: SectionEnum.API_SECTION, setTo: true },\r\n { type: SectionEnum.ENDPOINTS_SECTION, setTo: true },\r\n { type: SectionEnum.TAG_SECTION, setTo: true, index: tagSectionIndex },\r\n { type: SectionEnum.RESOURCE, setTo: true, id: endpoint.id },\r\n ],\r\n { resetOthers: true, filterKeys: [SectionEnum.OVERVIEW] }\r\n )\r\n }\r\n\r\n return (\r\n <div className=\"api-details-page\">\r\n <h2 className=\"welcome\">Welcome to</h2>\r\n <h1 className=\"api-title\">{data?.title}</h1>\r\n <p className=\"api-version\">\r\n API Version: <span>{data?.version}</span>\r\n </p>\r\n <div className=\"custom-url-input\">\r\n <label className=\"input-label\">API Base URL</label>\r\n <div className=\"url-container\">\r\n <div className=\"type-ddl\" onClick={() => setIsUrlDropdownOpen((prev) => !prev)}>\r\n <span className=\"url-text\">{selectedUrl || '-'}</span>\r\n <div className=\"icon-container\">\r\n {selectedUrl.length !== 0 && (\r\n <SVGLoader\r\n className=\"icon\"\r\n role=\"button\"\r\n tabIndex={0}\r\n onClick={(e) => {\r\n e.stopPropagation()\r\n copyToClipboard(selectedUrl)\r\n }}\r\n src={newCopyIcon}\r\n />\r\n )}\r\n {selectedUrl.length !== 0 && (\r\n <SVGLoader src={!isUrlDropdownOpen ? arrowDown : arrowUp} />\r\n )}\r\n </div>\r\n </div>\r\n {isUrlDropdownOpen && selectedUrl.length !== 0 && (\r\n <div className=\"url-list\">\r\n {data?.servers?.map((server, index) => (\r\n <div\r\n key={index}\r\n className=\"url-item\"\r\n onClick={() => {\r\n setSelectedUrl(server.url)\r\n setIsUrlDropdownOpen(false)\r\n }}\r\n >\r\n <input\r\n type=\"radio\"\r\n name=\"api-method\"\r\n checked={selectedUrl === server.url}\r\n readOnly\r\n />\r\n <span>{server.url}</span>\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n\r\n <p className=\"api-desc\">{`${data.description || 'No Description'}`}</p>\r\n {onProductNavigate && (\r\n <div className=\"api-product-tag\">\r\n Product with this API{' '}\r\n <span\r\n className=\"product-tag\"\r\n role=\"button\"\r\n tabIndex={-1}\r\n onClick={() => onProductNavigate(data.associatedProduct.productId)}\r\n >\r\n {data.associatedProduct.name}\r\n </span>\r\n </div>\r\n )}\r\n\r\n <h3 className=\"section-title\">Endpoints</h3>\r\n\r\n {Object.entries(data?.tags).map(([tag, endpoints]) => (\r\n <div className=\"endpoint-group\" key={tag}>\r\n <h4 className=\"tag-title\">{tag}</h4>\r\n <div className=\"endpoint-list\">\r\n {endpoints.map((endpoint, idx) => (\r\n <div\r\n className=\"endpoint-card\"\r\n onClick={() => handleClick(endpoint)}\r\n key={`${tag}-${idx}`}\r\n >\r\n <div>\r\n <div className=\"endpoint-card-header\">\r\n <span className={`method-label ${endpoint.method.toLowerCase()}`}>\r\n {endpoint.method}\r\n </span>\r\n <div className=\"title-wrapper\">\r\n <h5>\r\n {(endpoint.summary || 'Endpoint Name').slice(0, 40)}\r\n {(endpoint.summary?.length ?? 0) > 40 && '...'}\r\n </h5>\r\n </div>\r\n </div>\r\n <div className=\"endpoint-meta\">\r\n <p>{endpoint.path}</p>\r\n <p className=\"description\">{endpoint.description ?? 'No Description '}</p>\r\n </div>\r\n </div>\r\n\r\n <div className=\"endpoint-arrow\">\r\n <SVGLoader src={arrowRightGray} />\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ))}\r\n\r\n {data.apiVersions?.length > 0 && (\r\n <div className=\"versions-section\">\r\n <h4>API Versions</h4>\r\n <div className=\"version-list\">\r\n {data.apiVersions.map((verObj, index) => (\r\n <button\r\n key={index}\r\n className=\"version-btn\"\r\n onClick={() => handleVersionClick(verObj)}\r\n >\r\n {verObj.metaData?.version || 'N/A'}\r\n </button>\r\n ))}\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n","import { toast } from \"react-toastify\"\r\n\r\nexport const copyToClipboard = async (text: string) => {\r\n try {\r\n await navigator.clipboard.writeText(text)\r\n toast.success('Copied to your clipboard!')\r\n } catch (err) {\r\n return err\r\n }\r\n}\r\n\r\nexport const capitalizeFirstLetter = (text: string) => {\r\n if (!text) return ''\r\n return text.charAt(0).toUpperCase() + text.slice(1).toLowerCase()\r\n}\r\n","import SVGLoader from '../../../../components/SVGLoader/SVGLoader'\r\nimport {\r\n ArrowBack,\r\n arrowDown,\r\n arrowUp,\r\n DownArrowIcon,\r\n newCopyIcon,\r\n RequestOption,\r\n} from '../../../../assets/icons/index'\r\nimport { SelectGroup } from 'digitinary-ui'\r\nimport { useEffect, useMemo, useState } from 'react'\r\nimport { EndpointData, OverviewData } from 'src/layout/docsLayout'\r\nimport { handleStatusColor } from '../../../../helpers/methodAccordion.helper'\r\nimport { httpStatusCodes } from '../../../../constants/index'\r\nimport styles from '../../Codebox/style.module.scss'\r\nimport Tooltip from '../../../../components/Tooltip/Tooltip'\r\nimport './style.scss'\r\nimport { SectionEnum, useSectionToggle } from '../../../../../src/context/SectionToggleContext'\r\nimport { capitalizeFirstLetter, copyToClipboard } from '../../../../../src/utils'\r\n\r\nexport const EndpointPage = ({\r\n data,\r\n setActiveType,\r\n setActiveItemData,\r\n}: {\r\n data: EndpointData\r\n setActiveType: React.Dispatch<React.SetStateAction<'OVERVIEW' | 'ENDPOINT'>>\r\n setActiveItemData: React.Dispatch<React.SetStateAction<OverviewData | EndpointData>>\r\n}) => {\r\n const [activeTab, setActiveTab] = useState('header')\r\n const { toggleSection } = useSectionToggle()\r\n const [selectedUrl, setSelectedUrl] = useState(data?.api?.servers?.[0]?.url || '')\r\n const [isUrlDropdownOpen, setIsUrlDropdownOpen] = useState<boolean>(false)\r\n\r\n useEffect(() => {\r\n setSelectedUrl(data?.api?.servers?.[0]?.url || '')\r\n }, [data])\r\n\r\n const fullUrl = useMemo(() => {\r\n // env gateway url + api version(if appended) + context path\r\n const url = data.api?.servers?.filter((s) => s.url !== '/')[0]?.url\r\n const pathParts = data?.path.split('/').slice(2) // slice from index 2 to skip the first empty \"\" and \"comments\"\r\n const fullPath = !!pathParts?.length ? '/' + pathParts.join('/') : '' // this will contain the full path without the context path\r\n return `${url}${fullPath}`\r\n }, [data])\r\n\r\n // Filter status codes to only include those\r\n const filteredStatusCodes = Object.keys(data?.responses || {}).filter((code) => {\r\n const response = data.responses[code]\r\n return (\r\n response?.content?.['application/json']?.schema?.properties\r\n )\r\n })\r\n\r\n // Create options for the select dropdown\r\n const httpStatusCodeOptions = filteredStatusCodes.map((code) => ({\r\n label: (\r\n <div className=\"statusCodeOptionContainer\">\r\n <div\r\n className=\"statusCodeOptionCircle\"\r\n style={{ backgroundColor: handleStatusColor(code) }}\r\n ></div>\r\n <span>{code}</span>\r\n </div>\r\n ),\r\n value: code,\r\n }))\r\n\r\n // Function to get default option\r\n const getDefaultOption = () => {\r\n const has200 = filteredStatusCodes.includes('200')\r\n return has200\r\n ? httpStatusCodeOptions.find((opt) => opt.value === '200')\r\n : httpStatusCodeOptions[0] || null\r\n }\r\n\r\n const [expanded, setExpanded] = useState(null)\r\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(getDefaultOption())\r\n const [headersList, setHeadersList] = useState({})\r\n const requestTableData = (data?.parameters || []).filter(\r\n (param) => param.in?.toLowerCase() === activeTab.toLowerCase()\r\n )\r\n\r\n useEffect(() => {\r\n setSelectedResStatusCode(getDefaultOption())\r\n }, [data])\r\n\r\n useEffect(() => {\r\n if (selectedResStatusCode && selectedResStatusCode.value) {\r\n const headerObj = data?.responses[selectedResStatusCode.value]\r\n setHeadersList(headerObj?.headers)\r\n }\r\n }, [selectedResStatusCode, data?.responses])\r\n\r\n return (\r\n <div className=\"api-details-expanded\">\r\n <div className=\"test-button\">\r\n <button\r\n className=\"back-button\"\r\n onClick={() => {\r\n toggleSection(data.api.apiSpecId, [{ type: SectionEnum.OVERVIEW, setTo: true }], {\r\n resetOthers: true,\r\n filterKeys: [SectionEnum.RESOURCE],\r\n })\r\n setActiveType('OVERVIEW')\r\n setActiveItemData(data.api)\r\n }}\r\n >\r\n <SVGLoader src={ArrowBack} />\r\n </button>\r\n\r\n <Tooltip content=\"Comming soon\">\r\n <button className=\"disabled\">Test</button>\r\n </Tooltip>\r\n </div>\r\n <h3>{data.api.title}</h3>\r\n <h1 className=\"api-title\">{data?.summary}</h1>\r\n <div className=\"url-box\">\r\n {isUrlDropdownOpen && selectedUrl.length !== 0 && (\r\n <div className=\"url-list\">\r\n {data.api?.servers?.map((server, index) => (\r\n <div\r\n key={index}\r\n className=\"url-item\"\r\n onClick={() => {\r\n setSelectedUrl(server.url)\r\n setIsUrlDropdownOpen(false)\r\n }}\r\n >\r\n <input\r\n type=\"radio\"\r\n name=\"api-method\"\r\n checked={selectedUrl === server.url}\r\n readOnly\r\n />\r\n <span>{`${server.url}${data.path}`}</span>\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n <div className=\"url-box_text-container\">\r\n <span className={`method-label ${data?.method?.toLowerCase()}`}>{data.method}</span>\r\n <div className=\"url-container\">\r\n <div className=\"type-ddl\" onClick={() => setIsUrlDropdownOpen((prev) => !prev)}>\r\n <span className=\"url-text\">{`${selectedUrl}${data.path}`}</span>\r\n <div className=\"icon-container\">\r\n <SVGLoader\r\n className=\"icon\"\r\n role=\"button\"\r\n tabIndex={0}\r\n onClick={(e) => {\r\n e.stopPropagation()\r\n copyToClipboard(`${selectedUrl}${data.path}`)\r\n }}\r\n src={newCopyIcon}\r\n />\r\n {selectedUrl.length !== 0 && (\r\n <SVGLoader src={!isUrlDropdownOpen ? arrowDown : arrowUp} />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <p className=\"api-desc\">{data?.description || 'No Description'}</p>\r\n\r\n <h3>Request</h3>\r\n\r\n <div className=\"request-section\">\r\n <div className=\"request-tabs\">\r\n {['header', 'path', 'query'].map((tab) => (\r\n <button\r\n key={tab}\r\n className={`tab ${activeTab === tab ? 'active' : ''}`}\r\n onClick={() => setActiveTab(tab)}\r\n >\r\n <SVGLoader src={RequestOption} className=\"icon-left\" />\r\n <span className=\"tab-label\">\r\n {tab === 'requestBody'\r\n ? 'Request Body'\r\n : tab.charAt(0).toUpperCase() + tab.slice(1)}\r\n </span>\r\n </button>\r\n ))}\r\n </div>\r\n\r\n <div className=\"table-wrapper\">\r\n <table className=\"param-table\">\r\n <thead>\r\n <tr>\r\n <th className=\"head-table-label\">Parameter Name</th>\r\n <th className=\"head-table-label\">Required</th>\r\n <th className=\"head-table-label\">Type</th>\r\n <th className=\"head-table-label\">Enum</th>\r\n <th className=\"head-table-label\">Description</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {data.parameters\r\n ?.filter((p) => p.in?.toLowerCase() === activeTab.toLowerCase())\r\n .map((row, index) => (\r\n <tr key={index}>\r\n <td>{row.name}</td>\r\n <td>{row.required ? 'True' : 'False'}</td>\r\n <td style={{ textTransform: 'capitalize' }}>\r\n <span>{row?.schema?.type || '-'}</span>\r\n {row?.schema?.type === 'array' && row?.schema?.items?.type && (\r\n <span style={{ color: '#616874', fontSize: '0.75rem' }}>\r\n _{capitalizeFirstLetter(row.schema?.items?.type)}\r\n </span>\r\n )}\r\n </td>\r\n <td>{Array.isArray(row.schema?.enum) ? row.schema.enum.join(' / ') : '-'}</td>\r\n <td className=\"desc-cell\">\r\n <div className={`desc-text ${expanded === index ? 'expanded' : ''}`}>\r\n {row.description || 'No description'}\r\n </div>\r\n <button\r\n className=\"desc-toggle\"\r\n onClick={() => setExpanded(expanded === index ? null : index)}\r\n >\r\n <SVGLoader\r\n src={DownArrowIcon}\r\n className={expanded === index ? 'rotated' : ''}\r\n />\r\n </button>\r\n </td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n\r\n <div className=\"response-section\">\r\n <h3>Response</h3>\r\n\r\n <div>\r\n <div style={{ height: '0.5rem', width: '7.5rem', marginLeft: 'auto' }}>\r\n {Object.keys(data?.responses || {})?.length > 0 && (\r\n <div className={'codeboxSection'}>\r\n <div className={`${'codeboxHeader'}`}>\r\n <SelectGroup\r\n size=\"small\"\r\n withSearch={false}\r\n isMultiple={false}\r\n clearable={false}\r\n placeholder=\"200\"\r\n options={[\r\n {\r\n list: httpStatusCodeOptions,\r\n },\r\n ]}\r\n value={selectedResStatusCode}\r\n onChange={(value) => {\r\n setSelectedResStatusCode(value)\r\n }}\r\n />\r\n </div>\r\n </div>\r\n )}\r\n </div>\r\n <button className=\"tab active \">\r\n <SVGLoader src={RequestOption} className=\"icon-left\" />\r\n Header\r\n </button>\r\n </div>\r\n\r\n <div className=\"table-wrapper\">\r\n <table className=\"param-table\">\r\n <thead>\r\n <tr>\r\n <th className=\"head-table-label\">Header Name</th>\r\n <th className=\"head-table-label\">Required</th>\r\n <th className=\"head-table-label\">Type</th>\r\n <th className=\"head-table-label\">Enum</th>\r\n <th className=\"head-table-label\">Description</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {!!headersList &&\r\n Object.keys(headersList) &&\r\n Object.keys(headersList).map((key) => (\r\n <tr>\r\n <td>{key}</td>\r\n <td>{headersList[key]?.required.toString()}</td>\r\n <td style={{ textTransform: 'capitalize' }}>\r\n <span>{headersList[key]?.schema?.type || '-'}</span>\r\n {headersList[key]?.schema?.type === 'array' &&\r\n headersList[key]?.schema?.items?.type && (\r\n <span style={{ color: '#616874', fontSize: '0.75rem' }}>\r\n _{capitalizeFirstLetter(headersList[key]?.schema?.items?.type)}\r\n </span>\r\n )}\r\n </td>\r\n <td>{headersList[key]?.schema?.enum?.join('/')}</td>\r\n <td>{headersList[key]?.description}</td>\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { EndpointData } from 'src/layout/docsLayout'\r\nimport Codebox from '../Codebox/Codebox'\r\nimport { Option, SelectGroup } from 'digitinary-ui'\r\nimport { httpStatusCodes } from '../../../constants/index'\r\nimport { handleStatusColor } from '../../../helpers/methodAccordion.helper'\r\nimport styles from './style.module.scss'\r\n\r\nconst DocsAside = ({ data }: { data: EndpointData }) => {\r\n // Filter status codes to only include those with non-empty properties\r\n const filteredStatusCodes = Object.keys(data?.responses || {}).filter((code) => {\r\n const response = data.responses[code]\r\n const contentType = Object.keys(response?.content || {})[0]\r\n return response?.content?.[contentType]?.schema?.properties\r\n })\r\n\r\n // Create options for the select dropdown\r\n const httpStatusCodeOptions = filteredStatusCodes.map((code) => ({\r\n label: (\r\n <div className={styles.statusCodeOptionContainer}>\r\n <div\r\n className={styles.statusCodeOptionCircle}\r\n style={{ backgroundColor: handleStatusColor(code) }}\r\n ></div>\r\n <span>{code}</span>\r\n </div>\r\n ),\r\n value: String(code),\r\n }))\r\n\r\n // Function to get default option\r\n const getDefaultOption = () => {\r\n const has200 = filteredStatusCodes.includes('200')\r\n return has200\r\n ? httpStatusCodeOptions.find((opt) => opt.value === '200')\r\n : httpStatusCodeOptions[0] || null\r\n }\r\n\r\n useEffect(() => {\r\n setSelectedResStatusCode(getDefaultOption())\r\n }, [data])\r\n const [selectedResStatusCode, setSelectedResStatusCode] = useState(httpStatusCodeOptions[4])\r\n const currentResponse = Object.entries(data.responses)\r\n .map(([code, data]) => ({ code, data }))\r\n .find((res) => res.code === selectedResStatusCode?.value)\r\n\r\n const stringifyRequestBody = () => {\r\n if (data?.requestBody?.content) {\r\n const contentKey = Object.keys(data?.requestBody?.content)[0]\r\n return JSON.stringify(data?.requestBody?.content[contentKey]?.schema?.properties, null, 2)\r\n } else {\r\n return '{}'\r\n }\r\n }\r\n\r\n const stringifyResponseBody = () => {\r\n if (currentResponse?.data) {\r\n const contentKey = Object.keys(currentResponse.data?.content)[0]\r\n return JSON.stringify(currentResponse.data?.content[contentKey]?.schema?.properties, null, 2)\r\n } else {\r\n return '{}'\r\n }\r\n }\r\n\r\n return (\r\n <aside className={styles.apiDocsAside}>\r\n <h2 className={styles.apiDocsAside_title}>{data.summary}</h2>\r\n <h4 className={styles.apiDocsAside_subtitle}>\r\n <span className={styles.apiDocsAside_subtitle_method} data-method={data.method}>\r\n {data.method}\r\n </span>{' '}\r\n <span>{data.path}</span>\r\n </h4>\r\n {!['delete', 'get'].includes(data.method) && data?.requestBody?.content && (\r\n <div className={styles.codeboxSection}>\r\n <div className={styles.codeboxHeader}>\r\n <h6 className={styles.codeboxTitle}>Request</h6>\r\n </div>\r\n\r\n <Codebox code={stringifyRequestBody()} />\r\n </div>\r\n )}\r\n {Object.keys(data?.responses || {})?.length > 0 && (\r\n <div className={styles.codeboxSection}>\r\n <div className={`${styles.codeboxHeader}`}>\r\n <h6 className={styles.codeboxTitle}>Response</h6>\r\n <SelectGroup\r\n size=\"small\"\r\n withSearch={false}\r\n isMultiple={false}\r\n clearable={false}\r\n placeholder=\"200\"\r\n options={[\r\n {\r\n list: httpStatusCodeOptions,\r\n },\r\n ]}\r\n value={selectedResStatusCode}\r\n onChange={(value) => {\r\n setSelectedResStatusCode(value)\r\n }}\r\n />\r\n </div>\r\n\r\n <Codebox code={stringifyResponseBody()} />\r\n </div>\r\n )}\r\n </aside>\r\n )\r\n}\r\n\r\nexport default DocsAside\r\n","import React, { useState } from 'react'\r\nimport { Light as SyntaxHighlighter } from 'react-syntax-highlighter'\r\nimport json from 'react-syntax-highlighter/dist/esm/languages/hljs/json'\r\nimport * as hljs from 'react-syntax-highlighter/dist/esm/styles/hljs'\r\nimport styles from './style.module.scss'\r\nimport SVGLoader from '../../../components/SVGLoader/SVGLoader'\r\nimport { Copy } from '../../../assets/icons'\r\nimport { copyToClipboard } from '../../../utils'\r\n\r\nSyntaxHighlighter.registerLanguage('json', json)\r\n\r\nconst Codebox = ({ code }: { code: string }) => {\r\n const [theme, setTheme] = useState<'LIGHT' | 'DARK'>('DARK')\r\n\r\n return (\r\n <div className={styles.codebox}>\r\n <div className={styles.codebox_header}>\r\n <div\r\n role=\"button\"\r\n tabIndex={-1}\r\n onClick={() => theme !== 'LIGHT' && setTheme('LIGHT')}\r\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_light}`}\r\n title=\"Light theme\"\r\n ></div>\r\n <div\r\n role=\"button\"\r\n tabIndex={-1}\r\n onClick={() => theme !== 'DARK' && setTheme('DARK')}\r\n className={`${styles.codebox_header_themeToggle} ${styles.codebox_header_themeToggle_dark}`}\r\n title=\"Dark theme\"\r\n ></div>\r\n <SVGLoader\r\n src={Copy}\r\n width=\"0.75rem\"\r\n height=\"0.75rem\"\r\n className={styles.codebox_header_copyIcon}\r\n onClick={() => copyToClipboard(code)}\r\n />\r\n </div>\r\n <SyntaxHighlighter\r\n language=\"json\"\r\n style={theme === 'LIGHT' ? hljs.stackoverflowLight : hljs.stackoverflowDark}\r\n showLineNumbers\r\n wrapLines\r\n customStyle={{\r\n margin: 0,\r\n height: '13.75rem',\r\n overflowY: 'auto',\r\n padding: '0.75rem 1rem 0 1.5rem',\r\n backgroundColor: theme === 'DARK' ? '#455162' : '#F7F7F7',\r\n fontSize: '0.75rem',\r\n }}\r\n lineProps={{ className: 'custom-code-line' }}\r\n >\r\n {code}\r\n </SyntaxHighlighter>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Codebox\r\n","import 'css-chunk:src/layout/docsComponents/Codebox/style.module.scss';export default {\n \"codebox\": \"_codebox_i8vlp_1\",\n \"codebox_header\": \"_codebox_header_i8vlp_5\",\n \"codebox_header_themeToggle\": \"_codebox_header_themeToggle_i8vlp_15\",\n \"codebox_header_themeToggle_dark\": \"_codebox_header_themeToggle_dark_i8vlp_23\",\n \"codebox_header_themeToggle_light\": \"_codebox_header_themeToggle_light_i8vlp_27\",\n \"codebox_header_copyIcon\": \"_codebox_header_copyIcon_i8vlp_31\"\n};","import 'css-chunk:src/layout/docsComponents/DocsAside/style.module.scss';export default {\n \"apiDocsAside\": \"_apiDocsAside_1txqy_1\",\n \"apiDocsAside_title\": \"_apiDocsAside_title_1txqy_6\",\n \"apiDocsAside_subtitle\": \"_apiDocsAside_subtitle_1txqy_13\",\n \"apiDocsAside_subtitle_method\": \"_apiDocsAside_subtitle_method_1txqy_21\",\n \"codeboxSection\": \"_codeboxSection_1txqy_42\",\n \"codeboxHeader\": \"_codeboxHeader_1txqy_42\",\n \"statusCodeOptionContainer\": \"_statusCodeOptionContainer_1txqy_68\",\n \"statusCodeOptionCircle\": \"_statusCodeOptionCircle_1txqy_74\"\n};","import React from 'react'\r\nimport DocsHeader from './DocsHeader/DocsHeader'\r\nimport DocsSideMenuTree from './DocsSideMenuTree/DocsSideMenuTree'\r\nimport DocsContent from './DocsContent/DocsContent'\r\nimport DocsAside from './DocsAside/DocsAside'\r\nimport './index.scss'\r\n\r\ntype LayoutProps = {\r\n children: React.ReactNode\r\n}\r\n\r\ntype CompoundLayout = React.FC<LayoutProps> & {\r\n DocsHeader: typeof DocsHeader\r\n DocsSideMenuTree: typeof DocsSideMenuTree\r\n DocsContent: typeof DocsContent\r\n DocsAside: typeof DocsAside\r\n}\r\n\r\nconst Layout = (({ children }: LayoutProps) => {\r\n return <div className=\"api-docs-layout\">{children}</div>\r\n}) as CompoundLayout\r\n\r\nLayout.DocsHeader = DocsHeader\r\nLayout.DocsSideMenuTree = DocsSideMenuTree\r\nLayout.DocsContent = DocsContent\r\nLayout.DocsAside = DocsAside\r\n\r\nexport default Layout\r\n","import { ApiSpecModel } from '@entities/index'\r\nimport { HTTPMethod, OpenAPIFile } from '@entities/openApi'\r\nimport { nanoid } from 'nanoid'\r\nimport { OverviewData, TagData } from 'src/layout/docsLayout'\r\n\r\nexport const transformOpenApiToDocs = (api: ApiSpecModel): OverviewData => {\r\n const parsedOpenApi: OpenAPIFile =\r\n typeof api.metaData.openApiJson === 'string'\r\n ? JSON.parse(api.metaData.openApiJson)\r\n : api.metaData.openApiJson\r\n\r\n const groupedPathsByTags: Record<string, TagData[]> = { default: [] }\r\n const validTags = new Set(parsedOpenApi?.tags?.map(({ name }) => name) || [])\r\n\r\n for (const [path, methods] of Object.entries(parsedOpenApi.paths)) {\r\n for (const [method, methodData] of Object.entries(methods)) {\r\n const entry = { ...methodData, method: method as HTTPMethod, path }\r\n const resourceTags = methodData.tags ?? []\r\n\r\n const matchedTags = resourceTags.filter((tag) => validTags.has(tag))\r\n\r\n if (matchedTags.length > 0) {\r\n matchedTags.forEach((tag) => {\r\n if (!groupedPathsByTags[tag]) groupedPathsByTags[tag] = []\r\n groupedPathsByTags[tag].push({ ...entry, id: nanoid(8) } as TagData)\r\n })\r\n } else {\r\n groupedPathsByTags.default.push({ ...entry, id: nanoid(8) } as TagData)\r\n }\r\n }\r\n }\r\n\r\n return {\r\n ...parsedOpenApi.info,\r\n apiSpecId: api.apiSpecId,\r\n contextPath: api.contextPath,\r\n associatedProduct: api.associatedProduct,\r\n apiVersions: api.apiVersions,\r\n tags: groupedPathsByTags,\r\n servers: parsedOpenApi.servers,\r\n }\r\n}\r\n"],"mappings":"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","names":["useEffect","useState","Button","useEffect","useRef","useState","Button","Input","Switch","TextArea","useState","useEffect","name","style","window","min","max","toPaddingObject","popperOffsets","min","max","offset","effect","popper","effect","window","hash","clippingParents","reference","popperOffsets","offset","placements","placement","placements","placement","_loop","_i","checks","offset","popperOffsets","offset","min","max","fn","merged","defaultModifiers","createPopper","reference","popper","options","index","fn","state","effect","noopFn","BOX_CLASS","CONTENT_CLASS","BACKDROP_CLASS","ARROW_CLASS","SVG_ARROW_CLASS","TOUCH_OPTIONS","passive","capture","TIPPY_DEFAULT_APPEND_TO","document","body","hasOwnProperty","obj","key","call","getValueAtIndexOrReturn","value","index","defaultValue","Array","isArray","v","isType","type","str","toString","indexOf","invokeWithArgsOrReturn","args","debounce","fn","ms","timeout","arg","clearTimeout","setTimeout","removeProperties","keys","clone","forEach","splitBySpaces","split","filter","Boolean","normalizeToArray","concat","pushIfUnique","arr","push","unique","item","getBasePlacement","placement","arrayFrom","slice","removeUndefinedProps","Object","reduce","acc","undefined","div","createElement","isElement","some","isNodeList","isMouseEvent","isReferenceElement","_tippy","reference","getArrayOfElements","querySelectorAll","setTransitionDuration","els","el","style","transitionDuration","setVisibilityState","state","setAttribute","getOwnerDocument","elementOrElements","element","ownerDocument","isCursorOutsideInteractiveBorder","popperTreeData","event","clientX","clientY","every","popperRect","popperState","props","interactiveBorder","basePlacement","offsetData","modifiersData","offset","topDistance","top","y","bottomDistance","bottom","leftDistance","left","x","rightDistance","right","exceedsTop","exceedsBottom","exceedsLeft","exceedsRight","updateTransitionEndListener","box","action","listener","method","actualContains","parent","child","target","contains","getRootNode","host","currentInput","isTouch","lastMouseMoveTime","onDocumentTouchStart","window","performance","addEventListener","onDocumentMouseMove","now","removeEventListener","onWindowBlur","activeElement","instance","blur","isVisible","bindGlobalEventListeners","isBrowser","isIE11","msCrypto","createMemoryLeakWarning","txt","join","clean","spacesAndTabs","lineStartWithSpaces","replace","trim","getDevMessage","message","getFormattedMessage","visitedMessages","resetVisitedMessages","Set","warnWhen","condition","has","add","console","warn","errorWhen","error","validateTargets","targets","didPassFalsyValue","didPassPlainObject","prototype","String","pluginProps","animateFill","followCursor","inlinePositioning","sticky","renderProps","allowHTML","animation","arrow","content","inertia","maxWidth","role","theme","zIndex","defaultProps","appendTo","aria","expanded","delay","duration","getReferenceClientRect","hideOnClick","ignoreAttributes","interactive","interactiveDebounce","moveTransition","onAfterUpdate","onBeforeUpdate","onCreate","onDestroy","onHidden","onHide","onMount","onShow","onShown","onTrigger","onUntrigger","onClickOutside","plugins","popperOptions","render","showOnCreate","touch","trigger","triggerTarget","defaultKeys","setDefaultProps","partialProps","validateProps","getExtendedPassedProps","passedProps","plugin","name","getDataAttributeProps","propKeys","valueAsString","getAttribute","JSON","parse","e","evaluateProps","out","prop","nonPluginProps","didPassUnknownProp","length","innerHTML","dangerouslySetInnerHTML","html","createArrowElement","className","appendChild","setContent","textContent","getChildren","popper","firstElementChild","boxChildren","children","find","node","classList","backdrop","onUpdate","prevProps","nextProps","removeAttribute","removeChild","$$tippy","idCounter","mouseMoveListeners","mountedInstances","createTippy","showTimeout","hideTimeout","scheduleHideAnimationFrame","isVisibleFromClick","didHideDueToDocumentMouseDown","didTouchMove","ignoreOnFirstUpdate","lastTriggerEvent","currentTransitionEndListener","onFirstUpdate","listeners","debouncedOnMouseMove","onMouseMove","currentTarget","id","popperInstance","isEnabled","isDestroyed","isMounted","isShown","clearDelayTimeouts","setProps","show","hide","hideWithInteractivity","enable","disable","unmount","destroy","pluginsHooks","map","hasAriaExpanded","hasAttribute","addListeners","handleAriaExpandedAttribute","handleStyles","invokeHook","scheduleShow","getDocument","getNormalizedTouchSettings","getIsCustomTouchBehavior","getIsDefaultRenderFn","getCurrentTarget","parentNode","getDefaultTemplateChildren","getDelay","isShow","fromHide","pointerEvents","hook","shouldInvokePropsHook","pluginHooks","handleAriaContentAttribute","attr","nodes","currentValue","nextValue","cleanupInteractiveMouseListeners","onDocumentPress","actualTarget","composedPath","removeDocumentPress","onTouchMove","onTouchStart","addDocumentPress","doc","onTransitionedOut","callback","onTransitionEnd","onTransitionedIn","on","eventType","handler","options","onMouseLeave","onBlurOrFocusOut","removeListeners","shouldScheduleClickHide","isEventListenerStopped","wasFocused","scheduleHide","isCursorOverReferenceOrPopper","getNestedPopperTree","getBoundingClientRect","shouldBail","relatedTarget","createPopperInstance","destroyPopperInstance","computedReference","contextElement","tippyModifier","enabled","phase","requires","attributes","modifiers","padding","adaptive","createPopper","mount","nextElementSibling","touchValue","touchDelay","requestAnimationFrame","cancelAnimationFrame","nestedPopper","forceUpdate","isAlreadyVisible","isDisabled","isTouchAndTouchDisabled","visibility","transition","offsetHeight","isAlreadyHidden","i","tippy","optionalProps","elements","isSingleContentElement","isMoreThanOneReferenceElement","instances","applyStylesModifier","applyStyles","effect","state","initialStyles","popper","position","options","strategy","left","top","margin","arrow","reference","Object","assign","elements","style","styles","tippy","setDefaultProps","render","isBrowser","window","document","preserveRef","ref","node","hasOwnProperty","call","current","ssrSafeCreateDiv","createElement","toDataAttributes","attrs","dataAttrs","placement","referenceHidden","escaped","deepEqual","x","y","Object","keys","length","prop","uniqueByShape","arr","output","forEach","item","find","outputItem","push","deepPreserveProps","instanceProps","componentProps","popperOptions","modifiers","useIsomorphicLayoutEffect","useLayoutEffect","useEffect","useMutableBox","initialValue","useRef","updateClassName","box","action","classNames","split","name","classList","classNamePlugin","defaultValue","fn","instance","popper","firstElementChild","isDefaultRenderFn","props","render","$$tippy","add","className","process","env","NODE_ENV","console","warn","join","remove","onCreate","onBeforeUpdate","onAfterUpdate","TippyGenerator","tippy","Tippy","children","content","visible","singleton","reference","disabled","ignoreAttributes","__source","__self","restOfNativeProps","isControlledMode","undefined","isSingletonMode","useState","mounted","setMounted","setAttrs","singletonContent","setSingletonContent","mutableBox","container","renders","nativeStateProp","trigger","hideOnClick","computedProps","plugins","data","onTrigger","event","currentTarget","state","$$activeSingletonInstance","deps","concat","type","element","disable","show","hook","destroy","cleanup","setProps","popperInstance","forceUpdate","enable","hide","filter","enabled","phase","requires","hideData","modifiersData","isReferenceHidden","hasPopperEscaped","attributes","React","cloneElement","createPortal","Tippy","defaultProps","forwardRef","TippyWrapper","ref","children","props","React","cloneElement","node","preserveRef","forwardRef","TippyGenerator","tippy","jsx","useState","useEffect","jsx","useState","Fragment","jsx","jsxs","useState","values","_a","_b","_c","_d","_e","index","Button","Fragment","jsx","jsxs","Button","useEffect","useState","jsx","jsxs","useState","useEffect","Fragment","jsx","jsxs","useState","useRef","index","useEffect","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","Switch","TextArea","Button","Input","item","useEffect","useState","Button","Input","TextArea","useState","Button","Input","TextArea","useFormik","yup","Fragment","jsx","jsxs","useState","useFormik","values","Input","TextArea","Button","jsx","jsxs","useState","useEffect","_a","capitalize","index","_b","_c","_d","_e","TextArea","Button","Input","jsx","jsxs","object","_a","_b","_c","_d","_f","_e","useEffect","useState","useFormikContext","Accordion","Button","jsx","jsxs","useState","useFormikContext","useEffect","index","_a","_b","Button","Accordion","useFormik","yup","acc","Fragment","jsx","jsxs","useFormik","values","useState","useEffect","Button","layout_default","React","useEffect","useRef","useState","useState","Button","Input","Fragment","jsx","jsxs","useState","Button","Input","useEffect","useRef","useState","useMemo","jsx","useState","index","useMemo","jsx","Fragment","jsx","jsxs","useRef","useEffect","index","useEffect","useRef","useEffect","useState","jsx","jsxs","useState","useEffect","_a","_b","index","_c","SelectGroup","useEffect","useMemo","useState","jsx","jsxs","useState","useEffect","_a","_b","_c","useMemo","httpStatusCodeOptions","index","_d","_e","_f","_g","SelectGroup","_h","jsx","useRef","useEffect","useEffect","useState","useState","style_module_default","jsx","jsxs","useState","style_module_default","SelectGroup","style_module_default","jsx","jsxs","_a","_b","httpStatusCodeOptions","style_module_default","useEffect","useState","data","SelectGroup","jsx","Layout","jsx","jsxs","useState","useRef","useEffect","React"]}
|