diff --git a/CHANGELOG.md b/CHANGELOG.md index 209486f..c65ad6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,44 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [6.0.33](https://github.com/vtexdocs/components/compare/v6.0.32...v6.0.33) (2025-12-05) + +### [6.0.32](https://github.com/vtexdocs/components/compare/v6.0.31...v6.0.32) (2025-11-28) + + +### Bug Fixes + +* VTEXLogoFooter ([c61918c](https://github.com/vtexdocs/components/commit/c61918cec2b8a8b91781ebb85223efd2a4107218)) + +### [6.0.31](https://github.com/vtexdocs/components/compare/v6.0.30...v6.0.31) (2025-11-28) + + +### Bug Fixes + +* VTEXDevPortalIcon ([5f20e2a](https://github.com/vtexdocs/components/commit/5f20e2a806a05ab50fbc7f7de33319a0d1949b17)) + +### [6.0.30](https://github.com/vtexdocs/components/compare/v6.0.29...v6.0.30) (2025-11-28) + + +### Bug Fixes + +* GearTroubleshootingIcon ([34c78b9](https://github.com/vtexdocs/components/commit/34c78b943b1cab1f7ca51cd49ccb68a324711260)) + +### [6.0.29](https://github.com/vtexdocs/components/compare/v6.0.28...v6.0.29) (2025-11-28) + + +### Features + +* migrate icons from helpcenter and devportal ([6f71134](https://github.com/vtexdocs/components/commit/6f71134a99673437ab08755bdbd4cb1a253b4bd3)) + +### [6.0.28](https://github.com/vtexdocs/components/compare/v6.0.27...v6.0.28) (2025-11-27) + + +### Features + +* export icons ([9ca19ac](https://github.com/vtexdocs/components/commit/9ca19ac4058b52236266221d47bb1fcd42e45f68)) +* InfoIcon and DocumentationUpdatesIcon ([eb77cd7](https://github.com/vtexdocs/components/commit/eb77cd7c832688879c191c77760698ef1b0fdeb6)) + ### [6.0.27](https://github.com/vtexdocs/components/compare/v6.0.26...v6.0.27) (2025-10-07) ### [6.0.26](https://github.com/vtexdocs/components/compare/v6.0.25...v6.0.26) (2025-10-07) diff --git a/dist/index.css b/dist/index.css index baf60c1..5565444 100644 --- a/dist/index.css +++ b/dist/index.css @@ -1,16 +1,16 @@ /* src/lib/markdown-renderer/styles.module.css */ -.styles_img { +.styles_module_img { max-width: 100%; padding-top: 2vh; border-radius: 4px; } -.styles_heading::before { +.styles_module_heading::before { content: ""; display: block; visibility: hidden; pointer-events: none; } -.styles_code { +.styles_module_code { background-color: #f6f8fa; background-color: var(--md-code-background, #f6f8fa); border-radius: 4px; @@ -18,12 +18,13 @@ margin: 0; padding: 0.2em 0.4em; font-size: 0.875em; - word-break: break-all; + word-break: break-word; + overflow-wrap: break-word; } -table .styles_code { +table .styles_module_code { word-break: normal; } -.styles_blockquote { +.styles_module_blockquote { display: grid; padding: 20px; gap: 20px; @@ -36,28 +37,37 @@ table .styles_code { grid-template-rows: 1fr; word-break: break-word; } +<<<<<<< HEAD +<<<<<<< HEAD .styles_blockquote a { + word-break: break-word; + overflow-wrap: break-word; +======= +======= +>>>>>>> 6c18c92718b344c5dce8e17537513ead66107609 +.styles_module_blockquote a { word-break: break-all; +>>>>>>> 168317c (build: update dist files) } -.styles_blockquote p, -.styles_blockquote div { +.styles_module_blockquote p, +.styles_module_blockquote div { margin: 0px; grid-column: 2 / -1; grid-row: 1 / 1; } -.styles_blockquote a { +.styles_module_blockquote a { color: #e31c58 !important; -webkit-text-decoration: underline 1px solid; text-decoration: underline 1px solid; } -.styles_blockquote a:hover { +.styles_module_blockquote a:hover { color: #c81e51; } -.styles_blockquoteInfo { +.styles_module_blockquoteInfo { background: #f8f7fc; border: 1px solid #ccced8; } -.styles_blockquoteInfo:before { +.styles_module_blockquoteInfo:before { display: inline-block; height: 20px; width: 20px; @@ -65,11 +75,11 @@ table .styles_code { background: url(https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg) no-repeat 0 0; background-size: 20px 20px; } -.styles_blockquoteDanger { +.styles_module_blockquoteDanger { background: #fdefef; border: 1px solid #dc5a41; } -.styles_blockquoteDanger:before { +.styles_module_blockquoteDanger:before { display: inline-block; height: 20px; width: 20px; @@ -77,17 +87,17 @@ table .styles_code { background: url(https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg) no-repeat 0 0; background-size: 20px 20px; } -.styles_blockquoteWarning { +.styles_module_blockquoteWarning { background: #fff2d4; border: 1px solid #ffb100; } -.styles_blockquoteWarning code { +.styles_module_blockquoteWarning code { background-color: #ffe5b5; } -.styles_blockquoteInfo code { +.styles_module_blockquoteInfo code { background-color: #ecebf3; } -.styles_blockquoteWarning:before { +.styles_module_blockquoteWarning:before { display: inline-block; height: 20px; width: 20px; @@ -95,11 +105,11 @@ table .styles_code { background: url(https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg) no-repeat 0 0; background-size: 20px 20px; } -.styles_blockquoteSuccess { +.styles_module_blockquoteSuccess { background: #f3f8f3; border: 1px solid #80be80; } -.styles_blockquoteSuccess:before { +.styles_module_blockquoteSuccess:before { display: inline-block; height: 20px; width: 20px; @@ -107,11 +117,11 @@ table .styles_code { background: url(https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg) no-repeat 0 0; background-size: 20px 20px; } -.styles_flexWrap { +.styles_module_flexWrap { flex-wrap: wrap; justify-content: space-between; } -.styles_svgContainer { +.styles_module_svgContainer { width: 100%; } /*# sourceMappingURL=index.css.map */ \ No newline at end of file diff --git a/dist/index.css.map b/dist/index.css.map index 8fd571a..ca4d50a 100644 --- a/dist/index.css.map +++ b/dist/index.css.map @@ -1 +1,9 @@ -{"version":3,"sources":["../src/lib/markdown-renderer/styles.module.css"],"sourcesContent":[".img {\n max-width: 100%;\n padding-top: 2vh;\n border-radius: 4px;\n}\n\n.heading::before {\n content: '';\n display: block;\n visibility: hidden;\n pointer-events: none;\n}\n\n.code {\n background-color: #f6f8fa;\n background-color: var(--md-code-background, #f6f8fa);\n border-radius: 4px;\n color: var(--md-code-text);\n margin: 0;\n padding: 0.2em 0.4em;\n font-size: 0.875em;\n word-break: break-all;\n}\n\ntable .code {\n word-break: normal;\n}\n\n.blockquote {\n display: grid;\n padding: 20px;\n gap: 20px;\n width: 100%;\n margin: 16px 0px 24px;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #ccced8;\n grid-template-columns: 20px 1fr;\n grid-template-rows: 1fr;\n word-break: break-word;\n}\n\n.blockquote a {\n word-break: break-all;\n}\n\n.blockquote p, .blockquote div{\n margin: 0px;\n grid-column: 2 / -1;\n grid-row: 1 / 1;\n}\n\n.blockquote a{\n color: #e31c58 !important;\n -webkit-text-decoration: underline 1px solid;\n text-decoration: underline 1px solid;\n}\n\n.blockquote a:hover{\n color: #c81e51;\n}\n\n.blockquoteInfo {\n background: #f8f7fc;\n border: 1px solid #ccced8;\n}\n\n.blockquoteInfo:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteDanger {\n background: #fdefef;\n border: 1px solid #dc5a41;\n}\n\n.blockquoteDanger:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteWarning {\n background: #fff2d4;\n border: 1px solid #ffb100;\n}\n\n.blockquoteWarning code {\n background-color: #ffe5b5;\n}\n\n.blockquoteInfo code {\n background-color: #ecebf3;\n}\n\n.blockquoteWarning:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteSuccess {\n background: #f3f8f3;\n border: 1px solid #80be80;\n}\n\n.blockquoteSuccess:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.flexWrap {\n flex-wrap: wrap;\n justify-content: space-between;\n}\n\n.svgContainer {\n width: 100%;\n}"],"mappings":";AAAA,CAACA;AACC,aAAW;AACX,eAAa;AACb,iBAAe;AACjB;AAEA,CAACC,cAAO;AACN,WAAS;AACT,WAAS;AACT,cAAY;AACZ,kBAAgB;AAClB;AAEA,CAACC;AACC,oBAAkB;AAClB,oBAAkB,IAAI,oBAAoB,EAAE;AAC5C,iBAAe;AACf,SAAO,IAAI;AACX,UAAQ;AACR,WAAS,MAAM;AACf,aAAW;AACX,cAAY;AACd;AAEA,MAAM,CAXLA;AAYC,cAAY;AACd;AAEA,CAACC;AACC,WAAS;AACT,WAAS;AACT,OAAK;AACL,SAAO;AACP,UAAQ,KAAK,IAAI;AACjB,iBAAe;AACf,eAAa;AACb,UAAQ,IAAI,MAAM;AAClB,yBAAuB,KAAK;AAC5B,sBAAoB;AACpB,cAAY;AACd;AAEA,CAdCA,kBAcW;AACV,cAAY;AACd;AAEA,CAlBCA,kBAkBW;AAAG,CAlBdA,kBAkB0B;AACzB,UAAQ;AACR,eAAa,EAAE,EAAE;AACjB,YAAU,EAAE,EAAE;AAChB;AAEA,CAxBCA,kBAwBW;AACV,SAAO;AACP,2BAAyB,UAAU,IAAI;AAC/B,mBAAiB,UAAU,IAAI;AACzC;AAEA,CA9BCA,kBA8BW,CAAC;AACX,SAAO;AACT;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,qBAKc;AACb,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,6EACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,uBAKgB;AACf,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,+EACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,yBAKkB;AACjB,oBAAkB;AACpB;AAEA,CAvCCF,sBAuCe;AACd,oBAAkB;AACpB;AAEA,CAbCE,wBAaiB;AAChB,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,gFACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,wBAKiB;AAChB,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,gFACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,aAAW;AACX,mBAAiB;AACnB;AAEA,CAACC;AACC,SAAO;AACT;","names":["img","heading","code","blockquote","blockquoteInfo","blockquoteDanger","blockquoteWarning","blockquoteSuccess","flexWrap","svgContainer"]} \ No newline at end of file +<<<<<<< HEAD +<<<<<<< HEAD +{"version":3,"sources":["../src/lib/markdown-renderer/styles.module.css"],"sourcesContent":[".img {\n max-width: 100%;\n padding-top: 2vh;\n border-radius: 4px;\n}\n\n.heading::before {\n content: '';\n display: block;\n visibility: hidden;\n pointer-events: none;\n}\n\n.code {\n background-color: #f6f8fa;\n background-color: var(--md-code-background, #f6f8fa);\n border-radius: 4px;\n color: var(--md-code-text);\n margin: 0;\n padding: 0.2em 0.4em;\n font-size: 0.875em;\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\ntable .code {\n word-break: normal;\n}\n\n.blockquote {\n display: grid;\n padding: 20px;\n gap: 20px;\n width: 100%;\n margin: 16px 0px 24px;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #ccced8;\n grid-template-columns: 20px 1fr;\n grid-template-rows: 1fr;\n word-break: break-word;\n}\n\n.blockquote a {\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\n.blockquote p,\n.blockquote div {\n margin: 0px;\n grid-column: 2 / -1;\n grid-row: 1 / 1;\n}\n\n.blockquote a {\n color: #e31c58 !important;\n -webkit-text-decoration: underline 1px solid;\n text-decoration: underline 1px solid;\n}\n\n.blockquote a:hover {\n color: #c81e51;\n}\n\n.blockquoteInfo {\n background: #f8f7fc;\n border: 1px solid #ccced8;\n}\n\n.blockquoteInfo:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteDanger {\n background: #fdefef;\n border: 1px solid #dc5a41;\n}\n\n.blockquoteDanger:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteWarning {\n background: #fff2d4;\n border: 1px solid #ffb100;\n}\n\n.blockquoteWarning code {\n background-color: #ffe5b5;\n}\n\n.blockquoteInfo code {\n background-color: #ecebf3;\n}\n\n.blockquoteWarning:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteSuccess {\n background: #f3f8f3;\n border: 1px solid #80be80;\n}\n\n.blockquoteSuccess:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.flexWrap {\n flex-wrap: wrap;\n justify-content: space-between;\n}\n\n.svgContainer {\n width: 100%;\n}\n"],"mappings":";AAAA,CAACA;AACC,aAAW;AACX,eAAa;AACb,iBAAe;AACjB;AAEA,CAACC,cAAO;AACN,WAAS;AACT,WAAS;AACT,cAAY;AACZ,kBAAgB;AAClB;AAEA,CAACC;AACC,oBAAkB;AAClB,oBAAkB,IAAI,oBAAoB,EAAE;AAC5C,iBAAe;AACf,SAAO,IAAI;AACX,UAAQ;AACR,WAAS,MAAM;AACf,aAAW;AACX,cAAY;AACZ,iBAAe;AACjB;AAEA,MAAM,CAZLA;AAaC,cAAY;AACd;AAEA,CAACC;AACC,WAAS;AACT,WAAS;AACT,OAAK;AACL,SAAO;AACP,UAAQ,KAAK,IAAI;AACjB,iBAAe;AACf,eAAa;AACb,UAAQ,IAAI,MAAM;AAClB,yBAAuB,KAAK;AAC5B,sBAAoB;AACpB,cAAY;AACd;AAEA,CAdCA,kBAcW;AACV,cAAY;AACZ,iBAAe;AACjB;AAEA,CAnBCA,kBAmBW;AACZ,CApBCA,kBAoBW;AACV,UAAQ;AACR,eAAa,EAAE,EAAE;AACjB,YAAU,EAAE,EAAE;AAChB;AAEA,CA1BCA,kBA0BW;AACV,SAAO;AACP,2BAAyB,UAAU,IAAI;AAC/B,mBAAiB,UAAU,IAAI;AACzC;AAEA,CAhCCA,kBAgCW,CAAC;AACX,SAAO;AACT;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,qBAKc;AACb,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,6EACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,uBAKgB;AACf,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,+EACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,yBAKkB;AACjB,oBAAkB;AACpB;AAEA,CAvCCF,sBAuCe;AACd,oBAAkB;AACpB;AAEA,CAbCE,wBAaiB;AAChB,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,gFACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,wBAKiB;AAChB,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,gFACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,aAAW;AACX,mBAAiB;AACnB;AAEA,CAACC;AACC,SAAO;AACT;","names":["img","heading","code","blockquote","blockquoteInfo","blockquoteDanger","blockquoteWarning","blockquoteSuccess","flexWrap","svgContainer"]} +======= +{"version":3,"sources":["../src/lib/markdown-renderer/styles.module.css"],"sourcesContent":[".img {\r\n max-width: 100%;\r\n padding-top: 2vh;\r\n border-radius: 4px;\r\n}\r\n\r\n.heading::before {\r\n content: '';\r\n display: block;\r\n visibility: hidden;\r\n pointer-events: none;\r\n}\r\n\r\n.code {\r\n background-color: #f6f8fa;\r\n background-color: var(--md-code-background, #f6f8fa);\r\n border-radius: 4px;\r\n color: var(--md-code-text);\r\n margin: 0;\r\n padding: 0.2em 0.4em;\r\n font-size: 0.875em;\r\n word-break: break-all;\r\n}\r\n\r\ntable .code {\r\n word-break: normal;\r\n}\r\n\r\n.blockquote {\r\n display: grid;\r\n padding: 20px;\r\n gap: 20px;\r\n width: 100%;\r\n margin: 16px 0px 24px;\r\n border-radius: 4px;\r\n align-items: center;\r\n border: 1px solid #ccced8;\r\n grid-template-columns: 20px 1fr;\r\n grid-template-rows: 1fr;\r\n word-break: break-word;\r\n}\r\n\r\n.blockquote a {\r\n word-break: break-all;\r\n}\r\n\r\n.blockquote p, .blockquote div{\r\n margin: 0px;\r\n grid-column: 2 / -1;\r\n grid-row: 1 / 1;\r\n}\r\n\r\n.blockquote a{\r\n color: #e31c58 !important;\r\n -webkit-text-decoration: underline 1px solid;\r\n text-decoration: underline 1px solid;\r\n}\r\n\r\n.blockquote a:hover{\r\n color: #c81e51;\r\n}\r\n\r\n.blockquoteInfo {\r\n background: #f8f7fc;\r\n border: 1px solid #ccced8;\r\n}\r\n\r\n.blockquoteInfo:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteDanger {\r\n background: #fdefef;\r\n border: 1px solid #dc5a41;\r\n}\r\n\r\n.blockquoteDanger:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteWarning {\r\n background: #fff2d4;\r\n border: 1px solid #ffb100;\r\n}\r\n\r\n.blockquoteWarning code {\r\n background-color: #ffe5b5;\r\n}\r\n\r\n.blockquoteInfo code {\r\n background-color: #ecebf3;\r\n}\r\n\r\n.blockquoteWarning:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteSuccess {\r\n background: #f3f8f3;\r\n border: 1px solid #80be80;\r\n}\r\n\r\n.blockquoteSuccess:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.flexWrap {\r\n flex-wrap: wrap;\r\n justify-content: space-between;\r\n}\r\n\r\n.svgContainer {\r\n width: 100%;\r\n}"],"mappings":";AAAA,CAACA;AACC,aAAW;AACX,eAAa;AACb,iBAAe;AACjB;AAEA,CAACC,qBAAO;AACN,WAAS;AACT,WAAS;AACT,cAAY;AACZ,kBAAgB;AAClB;AAEA,CAACC;AACC,oBAAkB;AAClB,oBAAkB,IAAI,oBAAoB,EAAE;AAC5C,iBAAe;AACf,SAAO,IAAI;AACX,UAAQ;AACR,WAAS,MAAM;AACf,aAAW;AACX,cAAY;AACd;AAEA,MAAM,CAXLA;AAYC,cAAY;AACd;AAEA,CAACC;AACC,WAAS;AACT,WAAS;AACT,OAAK;AACL,SAAO;AACP,UAAQ,KAAK,IAAI;AACjB,iBAAe;AACf,eAAa;AACb,UAAQ,IAAI,MAAM;AAClB,yBAAuB,KAAK;AAC5B,sBAAoB;AACpB,cAAY;AACd;AAEA,CAdCA,yBAcW;AACV,cAAY;AACd;AAEA,CAlBCA,yBAkBW;AAAG,CAlBdA,yBAkB0B;AACzB,UAAQ;AACR,eAAa,EAAE,EAAE;AACjB,YAAU,EAAE,EAAE;AAChB;AAEA,CAxBCA,yBAwBW;AACV,SAAO;AACP,2BAAyB,UAAU,IAAI;AAC/B,mBAAiB,UAAU,IAAI;AACzC;AAEA,CA9BCA,yBA8BW,CAAC;AACX,SAAO;AACT;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,4BAKc;AACb,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,6EACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,8BAKgB;AACf,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,+EACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,gCAKkB;AACjB,oBAAkB;AACpB;AAEA,CAvCCF,6BAuCe;AACd,oBAAkB;AACpB;AAEA,CAbCE,+BAaiB;AAChB,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,gFACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,+BAKiB;AAChB,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,gFACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,aAAW;AACX,mBAAiB;AACnB;AAEA,CAACC;AACC,SAAO;AACT;","names":["img","heading","code","blockquote","blockquoteInfo","blockquoteDanger","blockquoteWarning","blockquoteSuccess","flexWrap","svgContainer"]} +>>>>>>> 168317c (build: update dist files) +======= +{"version":3,"sources":["../src/lib/markdown-renderer/styles.module.css"],"sourcesContent":[".img {\r\n max-width: 100%;\r\n padding-top: 2vh;\r\n border-radius: 4px;\r\n}\r\n\r\n.heading::before {\r\n content: '';\r\n display: block;\r\n visibility: hidden;\r\n pointer-events: none;\r\n}\r\n\r\n.code {\r\n background-color: #f6f8fa;\r\n background-color: var(--md-code-background, #f6f8fa);\r\n border-radius: 4px;\r\n color: var(--md-code-text);\r\n margin: 0;\r\n padding: 0.2em 0.4em;\r\n font-size: 0.875em;\r\n word-break: break-all;\r\n}\r\n\r\ntable .code {\r\n word-break: normal;\r\n}\r\n\r\n.blockquote {\r\n display: grid;\r\n padding: 20px;\r\n gap: 20px;\r\n width: 100%;\r\n margin: 16px 0px 24px;\r\n border-radius: 4px;\r\n align-items: center;\r\n border: 1px solid #ccced8;\r\n grid-template-columns: 20px 1fr;\r\n grid-template-rows: 1fr;\r\n word-break: break-word;\r\n}\r\n\r\n.blockquote a {\r\n word-break: break-all;\r\n}\r\n\r\n.blockquote p, .blockquote div{\r\n margin: 0px;\r\n grid-column: 2 / -1;\r\n grid-row: 1 / 1;\r\n}\r\n\r\n.blockquote a{\r\n color: #e31c58 !important;\r\n -webkit-text-decoration: underline 1px solid;\r\n text-decoration: underline 1px solid;\r\n}\r\n\r\n.blockquote a:hover{\r\n color: #c81e51;\r\n}\r\n\r\n.blockquoteInfo {\r\n background: #f8f7fc;\r\n border: 1px solid #ccced8;\r\n}\r\n\r\n.blockquoteInfo:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteDanger {\r\n background: #fdefef;\r\n border: 1px solid #dc5a41;\r\n}\r\n\r\n.blockquoteDanger:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteWarning {\r\n background: #fff2d4;\r\n border: 1px solid #ffb100;\r\n}\r\n\r\n.blockquoteWarning code {\r\n background-color: #ffe5b5;\r\n}\r\n\r\n.blockquoteInfo code {\r\n background-color: #ecebf3;\r\n}\r\n\r\n.blockquoteWarning:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteSuccess {\r\n background: #f3f8f3;\r\n border: 1px solid #80be80;\r\n}\r\n\r\n.blockquoteSuccess:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.flexWrap {\r\n flex-wrap: wrap;\r\n justify-content: space-between;\r\n}\r\n\r\n.svgContainer {\r\n width: 100%;\r\n}"],"mappings":";AAAA,CAACA;AACC,aAAW;AACX,eAAa;AACb,iBAAe;AACjB;AAEA,CAACC,qBAAO;AACN,WAAS;AACT,WAAS;AACT,cAAY;AACZ,kBAAgB;AAClB;AAEA,CAACC;AACC,oBAAkB;AAClB,oBAAkB,IAAI,oBAAoB,EAAE;AAC5C,iBAAe;AACf,SAAO,IAAI;AACX,UAAQ;AACR,WAAS,MAAM;AACf,aAAW;AACX,cAAY;AACd;AAEA,MAAM,CAXLA;AAYC,cAAY;AACd;AAEA,CAACC;AACC,WAAS;AACT,WAAS;AACT,OAAK;AACL,SAAO;AACP,UAAQ,KAAK,IAAI;AACjB,iBAAe;AACf,eAAa;AACb,UAAQ,IAAI,MAAM;AAClB,yBAAuB,KAAK;AAC5B,sBAAoB;AACpB,cAAY;AACd;AAEA,CAdCA,yBAcW;AACV,cAAY;AACd;AAEA,CAlBCA,yBAkBW;AAAG,CAlBdA,yBAkB0B;AACzB,UAAQ;AACR,eAAa,EAAE,EAAE;AACjB,YAAU,EAAE,EAAE;AAChB;AAEA,CAxBCA,yBAwBW;AACV,SAAO;AACP,2BAAyB,UAAU,IAAI;AAC/B,mBAAiB,UAAU,IAAI;AACzC;AAEA,CA9BCA,yBA8BW,CAAC;AACX,SAAO;AACT;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,4BAKc;AACb,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,6EACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,8BAKgB;AACf,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,+EACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,gCAKkB;AACjB,oBAAkB;AACpB;AAEA,CAvCCF,6BAuCe;AACd,oBAAkB;AACpB;AAEA,CAbCE,+BAaiB;AAChB,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,gFACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,cAAY;AACZ,UAAQ,IAAI,MAAM;AACpB;AAEA,CALCA,+BAKiB;AAChB,WAAS;AACT,UAAQ;AACR,SAAO;AACP,WAAS;AACT,cAAY,gFACV,UAAU,EAAE;AACd,mBAAiB,KAAK;AACxB;AAEA,CAACC;AACC,aAAW;AACX,mBAAiB;AACnB;AAEA,CAACC;AACC,SAAO;AACT;","names":["img","heading","code","blockquote","blockquoteInfo","blockquoteDanger","blockquoteWarning","blockquoteSuccess","flexWrap","svgContainer"]} +>>>>>>> 6c18c92718b344c5dce8e17537513ead66107609 diff --git a/dist/index.d.mts b/dist/index.d.mts index b6eab1d..8008d24 100644 --- a/dist/index.d.mts +++ b/dist/index.d.mts @@ -100,6 +100,8 @@ interface InputProps { } declare const Input: ({ value, onChange, placeholder, Icon }: InputProps) => react_jsx_runtime.JSX.Element; +declare const getDaysElapsed: (date: Date) => number; + interface Props extends Partial { children: ReactNode; /** The navigation array containing the list of documentations shown in the sidebar. */ @@ -161,4 +163,150 @@ interface AlgoliaConfig { } declare const createAlgoliaClient: (config: AlgoliaConfig) => void; -export { CookieBar, CopyLinkButton, FeedbackSection, HamburgerMenu, Input, type Item, LibraryContext, LibraryContextProvider, MarkdownRenderer, Search, createAlgoliaClient as SearchConfig, SearchInput, ShareButton, Sidebar, TableOfContents }; +<<<<<<< HEAD +<<<<<<< HEAD +declare const APIGuidesIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const APIReferenceIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const AppDevelopmentIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const ReleaseNotesIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const StorefrontDevelopmentIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const TroubleshootingIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const GearTroubleshootingIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const VTEXIOAppsIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const DocumentationUpdatesIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const HelpCenterIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const DeveloperPortalIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const FAQIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const KnownIssueIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const MegaphoneIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const GraphIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const WarningIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const PaperIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const StartHereIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const TutorialsIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const AnnouncementIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const VTEXDevPortalIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const VTEXHelpCenterIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const AddedIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const DeprecatedIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const FixedIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const ImprovedIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const RemovedIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const InfoIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const NewIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const EmailIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const FacebookIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const LinkedinIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const LinkIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const ShareIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const TwitterIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const GithubIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const CommunityIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const FacebookCircleIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const LinkedinCircleIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const TwitterCircleIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const YoutubeIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const IgIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const ChatGPTIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const ClaudeIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const GeminiIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const CopilotIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const CloseFilterIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const CloseIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const CopyIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const EditIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +interface ExpandedResultsProps extends IconProps { + active: boolean; +} +declare const ExpandedResultsIcon: ({ active }: ExpandedResultsProps) => react_jsx_runtime.JSX.Element; + +declare const SearchIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const SideBarToggleIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const GridIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const TrashcanIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const FilterIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const MenuIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +interface CheckboxProps extends IconProps { + checked: boolean; +} +declare const CheckboxIcon: (props: CheckboxProps) => react_jsx_runtime.JSX.Element; + +declare const ResizeIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const ArrowLeftIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const ArrowRightIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const CaretIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const LongArrowIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const VTEXLogoFooter: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const LikeIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +declare const LikeSelectedIcon: (props: IconProps) => react_jsx_runtime.JSX.Element; + +export { APIGuidesIcon, APIReferenceIcon, AddedIcon, AnnouncementIcon, AppDevelopmentIcon, ArrowLeftIcon, ArrowRightIcon, CaretIcon, ChatGPTIcon, CheckboxIcon, ClaudeIcon, CloseFilterIcon, CloseIcon, CommunityIcon, CookieBar, CopilotIcon, CopyIcon, CopyLinkButton, DeprecatedIcon, DeveloperPortalIcon, DocumentationUpdatesIcon, EditIcon, EmailIcon, ExpandedResultsIcon, FAQIcon, FacebookCircleIcon, FacebookIcon, FeedbackSection, FilterIcon, FixedIcon, GearTroubleshootingIcon, GeminiIcon, GithubIcon, GraphIcon, GridIcon, HamburgerMenu, HelpCenterIcon, ImprovedIcon, InfoIcon, Input, IgIcon as InstagramIcon, type Item, KnownIssueIcon as KnownIssuesIcon, LibraryContext, LibraryContextProvider, LikeIcon, LikeSelectedIcon, LinkIcon, LinkedinCircleIcon, LinkedinIcon, LongArrowIcon, MarkdownRenderer, MegaphoneIcon, MenuIcon, NewIcon, PaperIcon, ReleaseNotesIcon, RemovedIcon, ResizeIcon, Search, createAlgoliaClient as SearchConfig, SearchIcon, SearchInput, ShareButton, ShareIcon, SideBarToggleIcon, Sidebar, StartHereIcon, StorefrontDevelopmentIcon, TableOfContents, TrashcanIcon, TroubleshootingIcon, TutorialsIcon, TwitterCircleIcon, TwitterIcon, VTEXDevPortalIcon, VTEXHelpCenterIcon, VTEXIOAppsIcon, VTEXLogoFooter, WarningIcon, YoutubeIcon, getDaysElapsed }; +======= +export { CookieBar, CopyLinkButton, FeedbackSection, HamburgerMenu, Input, Item, LibraryContext, LibraryContextProvider, MarkdownRenderer, Search, createAlgoliaClient as SearchConfig, SearchInput, ShareButton, Sidebar, TableOfContents }; +>>>>>>> 168317c (build: update dist files) +======= +export { CookieBar, CopyLinkButton, FeedbackSection, HamburgerMenu, Input, Item, LibraryContext, LibraryContextProvider, MarkdownRenderer, Search, createAlgoliaClient as SearchConfig, SearchInput, ShareButton, Sidebar, TableOfContents }; +>>>>>>> 6c18c92718b344c5dce8e17537513ead66107609 diff --git a/dist/index.mjs b/dist/index.mjs index ecfcfcc..4e89960 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -214,7 +214,7 @@ var require_react_is_development = __commonJS({ var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; - var Fragment5 = REACT_FRAGMENT_TYPE; + var Fragment6 = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; @@ -273,7 +273,7 @@ var require_react_is_development = __commonJS({ exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; - exports.Fragment = Fragment5; + exports.Fragment = Fragment6; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; @@ -1081,7 +1081,19 @@ var init_cache_in_memory_esm = __esm({ } }); -// node_modules/@algolia/client-analytics/node_modules/@algolia/client-common/dist/client-common.esm.js +// node_modules/@algolia/client-common/dist/client-common.esm.js +var client_common_esm_exports = {}; +__export(client_common_esm_exports, { + AuthMode: () => AuthMode, + addMethods: () => addMethods, + createAuth: () => createAuth, + createRetryablePromise: () => createRetryablePromise, + createWaitablePromise: () => createWaitablePromise, + destroy: () => destroy, + encode: () => encode, + shuffle: () => shuffle, + version: () => version +}); function createAuth(authMode, appId, apiKey) { const credentials = { "x-algolia-api-key": apiKey, @@ -1096,6 +1108,37 @@ function createAuth(authMode, appId, apiKey) { } }; } +function createRetryablePromise(callback) { + let retriesCount = 0; + const retry = () => { + retriesCount++; + return new Promise((resolve) => { + setTimeout(() => { + resolve(callback(retry)); + }, Math.min(100 * retriesCount, 1e3)); + }); + }; + return callback(retry); +} +function createWaitablePromise(promise, wait = (_response, _requestOptions) => { + return Promise.resolve(); +}) { + return Object.assign(promise, { + wait(requestOptions) { + return createWaitablePromise(promise.then((response) => Promise.all([wait(response, requestOptions), response])).then((promiseResults) => promiseResults[1])); + } + }); +} +function shuffle(array) { + let c = array.length - 1; + for (c; c > 0; c--) { + const b = Math.floor(Math.random() * (c + 1)); + const a = array[c]; + array[c] = array[b]; + array[b] = a; + } + return array; +} function addMethods(base, methods) { if (!methods) { return base; @@ -1109,10 +1152,16 @@ function encode(format, ...args) { let i = 0; return format.replace(/%s/g, () => encodeURIComponent(args[i++])); } -var AuthMode; +var version, destroy, AuthMode; var init_client_common_esm = __esm({ - "node_modules/@algolia/client-analytics/node_modules/@algolia/client-common/dist/client-common.esm.js"() { + "node_modules/@algolia/client-common/dist/client-common.esm.js"() { "use strict"; + version = "4.20.0"; + destroy = (base) => { + return () => { + return base.transporter.requester.destroy(); + }; + }; AuthMode = { /** * If auth credentials should be in query parameters. @@ -1127,10 +1176,6 @@ var init_client_common_esm = __esm({ }); // node_modules/@algolia/requester-common/dist/requester-common.esm.js -var requester_common_esm_exports = {}; -__export(requester_common_esm_exports, { - MethodEnum: () => MethodEnum -}); var MethodEnum; var init_requester_common_esm = __esm({ "node_modules/@algolia/requester-common/dist/requester-common.esm.js"() { @@ -1353,9 +1398,9 @@ function createTransporter(options) { }; return transporter; } -function createUserAgent(version3) { +function createUserAgent(version2) { const userAgent = { - value: `Algolia for JavaScript (${version3})`, + value: `Algolia for JavaScript (${version2})`, add(options) { const addedUserAgent = `; ${options.segment}${options.version !== void 0 ? ` (${options.version})` : ""}`; if (userAgent.value.indexOf(addedUserAgent) === -1) { @@ -1450,7 +1495,7 @@ function createDeserializationError(message, response) { function createRetryError(transporterStackTrace) { return { name: "RetryError", - message: "Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support .", + message: "Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.", transporterStackTrace }; } @@ -1582,141 +1627,6 @@ var init_client_analytics_esm = __esm({ } }); -// node_modules/algoliasearch/node_modules/@algolia/client-common/dist/client-common.esm.js -var client_common_esm_exports = {}; -__export(client_common_esm_exports, { - AuthMode: () => AuthMode2, - addMethods: () => addMethods2, - createAuth: () => createAuth2, - createRetryablePromise: () => createRetryablePromise, - createWaitablePromise: () => createWaitablePromise, - destroy: () => destroy, - encode: () => encode3, - shuffle: () => shuffle, - version: () => version -}); -function createAuth2(authMode, appId, apiKey) { - const credentials = { - "x-algolia-api-key": apiKey, - "x-algolia-application-id": appId - }; - return { - headers() { - return authMode === AuthMode2.WithinHeaders ? credentials : {}; - }, - queryParameters() { - return authMode === AuthMode2.WithinQueryParameters ? credentials : {}; - } - }; -} -function createRetryablePromise(callback) { - let retriesCount = 0; - const retry = () => { - retriesCount++; - return new Promise((resolve) => { - setTimeout(() => { - resolve(callback(retry)); - }, Math.min(100 * retriesCount, 1e3)); - }); - }; - return callback(retry); -} -function createWaitablePromise(promise, wait = (_response, _requestOptions) => { - return Promise.resolve(); -}) { - return Object.assign(promise, { - wait(requestOptions) { - return createWaitablePromise(promise.then((response) => Promise.all([wait(response, requestOptions), response])).then((promiseResults) => promiseResults[1])); - } - }); -} -function shuffle(array) { - let c = array.length - 1; - for (c; c > 0; c--) { - const b = Math.floor(Math.random() * (c + 1)); - const a = array[c]; - array[c] = array[b]; - array[b] = a; - } - return array; -} -function addMethods2(base, methods) { - if (!methods) { - return base; - } - Object.keys(methods).forEach((key) => { - base[key] = methods[key](base); - }); - return base; -} -function encode3(format, ...args) { - let i = 0; - return format.replace(/%s/g, () => encodeURIComponent(args[i++])); -} -var version, destroy, AuthMode2; -var init_client_common_esm2 = __esm({ - "node_modules/algoliasearch/node_modules/@algolia/client-common/dist/client-common.esm.js"() { - "use strict"; - version = "4.24.0"; - destroy = (base) => { - return () => { - return base.transporter.requester.destroy(); - }; - }; - AuthMode2 = { - /** - * If auth credentials should be in query parameters. - */ - WithinQueryParameters: 0, - /** - * If auth credentials should be in headers. - */ - WithinHeaders: 1 - }; - } -}); - -// node_modules/@algolia/client-personalization/node_modules/@algolia/client-common/dist/client-common.esm.js -function createAuth3(authMode, appId, apiKey) { - const credentials = { - "x-algolia-api-key": apiKey, - "x-algolia-application-id": appId - }; - return { - headers() { - return authMode === AuthMode3.WithinHeaders ? credentials : {}; - }, - queryParameters() { - return authMode === AuthMode3.WithinQueryParameters ? credentials : {}; - } - }; -} -function addMethods3(base, methods) { - if (!methods) { - return base; - } - Object.keys(methods).forEach((key) => { - base[key] = methods[key](base); - }); - return base; -} -var AuthMode3; -var init_client_common_esm3 = __esm({ - "node_modules/@algolia/client-personalization/node_modules/@algolia/client-common/dist/client-common.esm.js"() { - "use strict"; - AuthMode3 = { - /** - * If auth credentials should be in query parameters. - */ - WithinQueryParameters: 0, - /** - * If auth credentials should be in headers. - */ - WithinHeaders: 1 - }; - } -}); - // node_modules/@algolia/client-personalization/dist/client-personalization.esm.js var client_personalization_esm_exports = {}; __export(client_personalization_esm_exports, { @@ -1728,12 +1638,12 @@ var createPersonalizationClient, getPersonalizationStrategy, setPersonalizationS var init_client_personalization_esm = __esm({ "node_modules/@algolia/client-personalization/dist/client-personalization.esm.js"() { "use strict"; - init_client_common_esm3(); + init_client_common_esm(); init_transporter_esm(); init_requester_common_esm(); createPersonalizationClient = (options) => { const region = options.region || "us"; - const auth = createAuth3(AuthMode3.WithinHeaders, options.appId, options.apiKey); + const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey); const transporter = createTransporter({ hosts: [{ url: `personalization.${region}.algolia.com` }], ...options, @@ -1747,7 +1657,7 @@ var init_client_personalization_esm = __esm({ ...options.queryParameters } }); - return addMethods3({ appId: options.appId, transporter }, options.methods); + return addMethods({ appId: options.appId, transporter }, options.methods); }; getPersonalizationStrategy = (base) => { return (requestOptions) => { @@ -1769,82 +1679,6 @@ var init_client_personalization_esm = __esm({ } }); -// node_modules/@algolia/client-search/node_modules/@algolia/client-common/dist/client-common.esm.js -function createAuth4(authMode, appId, apiKey) { - const credentials = { - "x-algolia-api-key": apiKey, - "x-algolia-application-id": appId - }; - return { - headers() { - return authMode === AuthMode4.WithinHeaders ? credentials : {}; - }, - queryParameters() { - return authMode === AuthMode4.WithinQueryParameters ? credentials : {}; - } - }; -} -function createRetryablePromise2(callback) { - let retriesCount = 0; - const retry = () => { - retriesCount++; - return new Promise((resolve) => { - setTimeout(() => { - resolve(callback(retry)); - }, Math.min(100 * retriesCount, 1e3)); - }); - }; - return callback(retry); -} -function createWaitablePromise2(promise, wait = (_response, _requestOptions) => { - return Promise.resolve(); -}) { - return Object.assign(promise, { - wait(requestOptions) { - return createWaitablePromise2(promise.then((response) => Promise.all([wait(response, requestOptions), response])).then((promiseResults) => promiseResults[1])); - } - }); -} -function shuffle2(array) { - let c = array.length - 1; - for (c; c > 0; c--) { - const b = Math.floor(Math.random() * (c + 1)); - const a = array[c]; - array[c] = array[b]; - array[b] = a; - } - return array; -} -function addMethods4(base, methods) { - if (!methods) { - return base; - } - Object.keys(methods).forEach((key) => { - base[key] = methods[key](base); - }); - return base; -} -function encode4(format, ...args) { - let i = 0; - return format.replace(/%s/g, () => encodeURIComponent(args[i++])); -} -var AuthMode4; -var init_client_common_esm4 = __esm({ - "node_modules/@algolia/client-search/node_modules/@algolia/client-common/dist/client-common.esm.js"() { - "use strict"; - AuthMode4 = { - /** - * If auth credentials should be in query parameters. - */ - WithinQueryParameters: 0, - /** - * If auth credentials should be in headers. - */ - WithinHeaders: 1 - }; - } -}); - // node_modules/@algolia/client-search/dist/client-search.esm.js var client_search_esm_exports = {}; __export(client_search_esm_exports, { @@ -1983,17 +1817,17 @@ var createSearchClient, addApiKey, assignUserID, assignUserIDs, clearDictionaryE var init_client_search_esm = __esm({ "node_modules/@algolia/client-search/dist/client-search.esm.js"() { "use strict"; - init_client_common_esm4(); + init_client_common_esm(); init_transporter_esm(); init_requester_common_esm(); createSearchClient = (options) => { const appId = options.appId; - const auth = createAuth4(options.authMode !== void 0 ? options.authMode : AuthMode4.WithinHeaders, appId, options.apiKey); + const auth = createAuth(options.authMode !== void 0 ? options.authMode : AuthMode.WithinHeaders, appId, options.apiKey); const transporter = createTransporter({ hosts: [ { url: `${appId}-dsn.algolia.net`, accept: CallEnum.Read }, { url: `${appId}.algolia.net`, accept: CallEnum.Write } - ].concat(shuffle2([ + ].concat(shuffle([ { url: `${appId}-1.algolianet.com` }, { url: `${appId}-2.algolianet.com` }, { url: `${appId}-3.algolianet.com` } @@ -2012,8 +1846,8 @@ var init_client_search_esm = __esm({ const base = { transporter, appId, - addAlgoliaAgent(segment, version3) { - transporter.userAgent.add({ segment, version: version3 }); + addAlgoliaAgent(segment, version2) { + transporter.userAgent.add({ segment, version: version2 }); }, clearCache() { return Promise.all([ @@ -2022,7 +1856,7 @@ var init_client_search_esm = __esm({ ]).then(() => void 0); } }; - return addMethods4(base, options.methods); + return addMethods(base, options.methods); }; addApiKey = (base) => { return (acl, requestOptions) => { @@ -2032,7 +1866,7 @@ var init_client_search_esm = __esm({ ...queryParameters !== void 0 ? { queryParameters } : {} }; const wait = (response, waitRequestOptions) => { - return createRetryablePromise2((retry) => { + return createRetryablePromise((retry) => { return getApiKey(base)(response.key, waitRequestOptions).catch((apiError) => { if (apiError.status !== 404) { throw apiError; @@ -2041,7 +1875,7 @@ var init_client_search_esm = __esm({ }); }); }; - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, path: "1/keys", data @@ -2073,9 +1907,9 @@ var init_client_search_esm = __esm({ }; clearDictionaryEntries = (base) => { return (dictionary, requestOptions) => { - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("/1/dictionaries/%s/batch", dictionary), + path: encode("/1/dictionaries/%s/batch", dictionary), data: { clearExistingDictionaryEntries: true, requests: { action: "addEntry", body: [] } @@ -2090,9 +1924,9 @@ var init_client_search_esm = __esm({ methods: { waitTask } }).waitTask(response.taskID, waitRequestOptions); }; - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/operation", from), + path: encode("1/indexes/%s/operation", from), data: { operation: "copy", destination: to @@ -2135,7 +1969,7 @@ var init_client_search_esm = __esm({ deleteApiKey = (base) => { return (apiKey, requestOptions) => { const wait = (_, waitRequestOptions) => { - return createRetryablePromise2((retry) => { + return createRetryablePromise((retry) => { return getApiKey(base)(apiKey, waitRequestOptions).then(retry).catch((apiError) => { if (apiError.status !== 404) { throw apiError; @@ -2143,9 +1977,9 @@ var init_client_search_esm = __esm({ }); }); }; - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Delete, - path: encode4("1/keys/%s", apiKey) + path: encode("1/keys/%s", apiKey) }, requestOptions), wait); }; }; @@ -2155,9 +1989,9 @@ var init_client_search_esm = __esm({ action: "deleteEntry", body: { objectID } })); - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("/1/dictionaries/%s/batch", dictionary), + path: encode("/1/dictionaries/%s/batch", dictionary), data: { clearExistingDictionaryEntries: false, requests } }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions)); }; @@ -2173,7 +2007,7 @@ var init_client_search_esm = __esm({ return (apiKey, requestOptions) => { return base.transporter.read({ method: MethodEnum.Get, - path: encode4("1/keys/%s", apiKey) + path: encode("1/keys/%s", apiKey) }, requestOptions); }; }; @@ -2181,7 +2015,7 @@ var init_client_search_esm = __esm({ return (taskID, requestOptions) => { return base.transporter.read({ method: MethodEnum.Get, - path: encode4("1/task/%s", taskID.toString()) + path: encode("1/task/%s", taskID.toString()) }, requestOptions); }; }; @@ -2224,7 +2058,7 @@ var init_client_search_esm = __esm({ return (userID, requestOptions) => { return base.transporter.read({ method: MethodEnum.Get, - path: encode4("1/clusters/mapping/%s", userID) + path: encode("1/clusters/mapping/%s", userID) }, requestOptions); }; }; @@ -2247,7 +2081,7 @@ var init_client_search_esm = __esm({ appId: base.appId, indexName }; - return addMethods4(searchIndex2, options.methods); + return addMethods(searchIndex2, options.methods); }; }; listApiKeys = (base) => { @@ -2289,9 +2123,9 @@ var init_client_search_esm = __esm({ methods: { waitTask } }).waitTask(response.taskID, waitRequestOptions); }; - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/operation", from), + path: encode("1/indexes/%s/operation", from), data: { operation: "move", destination: to @@ -2308,7 +2142,7 @@ var init_client_search_esm = __esm({ }).waitTask(response.taskID[indexName], waitRequestOptions); })); }; - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, path: "1/indexes/*/batch", data: { @@ -2375,9 +2209,9 @@ var init_client_search_esm = __esm({ action: "addEntry", body: entry })); - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("/1/dictionaries/%s/batch", dictionary), + path: encode("/1/dictionaries/%s/batch", dictionary), data: { clearExistingDictionaryEntries: true, requests } }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions)); }; @@ -2385,7 +2219,7 @@ var init_client_search_esm = __esm({ restoreApiKey = (base) => { return (apiKey, requestOptions) => { const wait = (_, waitRequestOptions) => { - return createRetryablePromise2((retry) => { + return createRetryablePromise((retry) => { return getApiKey(base)(apiKey, waitRequestOptions).catch((apiError) => { if (apiError.status !== 404) { throw apiError; @@ -2394,9 +2228,9 @@ var init_client_search_esm = __esm({ }); }); }; - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/keys/%s/restore", apiKey) + path: encode("1/keys/%s/restore", apiKey) }, requestOptions), wait); }; }; @@ -2406,9 +2240,9 @@ var init_client_search_esm = __esm({ action: "addEntry", body: entry })); - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("/1/dictionaries/%s/batch", dictionary), + path: encode("/1/dictionaries/%s/batch", dictionary), data: { clearExistingDictionaryEntries: false, requests } }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions)); }; @@ -2417,7 +2251,7 @@ var init_client_search_esm = __esm({ return (dictionary, query, requestOptions) => { return base.transporter.read({ method: MethodEnum.Post, - path: encode4("/1/dictionaries/%s/search", dictionary), + path: encode("/1/dictionaries/%s/search", dictionary), data: { query }, @@ -2438,7 +2272,7 @@ var init_client_search_esm = __esm({ }; setDictionarySettings = (base) => { return (settings, requestOptions) => { - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Put, path: "/1/dictionaries/*/settings", data: settings @@ -2470,21 +2304,21 @@ var init_client_search_esm = __esm({ } }); }; - const wait = (_, waitRequestOptions) => createRetryablePromise2((retry) => { + const wait = (_, waitRequestOptions) => createRetryablePromise((retry) => { return getApiKey(base)(apiKey, waitRequestOptions).then((getApiKeyResponse) => { return hasChanged(getApiKeyResponse) ? Promise.resolve() : retry(); }); }); - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Put, - path: encode4("1/keys/%s", apiKey), + path: encode("1/keys/%s", apiKey), data }, options), wait); }; }; waitAppTask = (base) => { return (taskID, requestOptions) => { - return createRetryablePromise2((retry) => { + return createRetryablePromise((retry) => { return getAppTask(base)(taskID, requestOptions).then((response) => { return response.status !== "published" ? retry() : void 0; }); @@ -2496,9 +2330,9 @@ var init_client_search_esm = __esm({ const wait = (response, waitRequestOptions) => { return waitTask(base)(response.taskID, waitRequestOptions); }; - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/batch", base.indexName), + path: encode("1/indexes/%s/batch", base.indexName), data: { requests } @@ -2512,7 +2346,7 @@ var init_client_search_esm = __esm({ ...requestOptions, request: (data) => base.transporter.read({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/browse", base.indexName), + path: encode("1/indexes/%s/browse", base.indexName), data }, requestOptions) }); @@ -2595,7 +2429,7 @@ var init_client_search_esm = __esm({ return forEachBatch(index); }); }; - return createWaitablePromise2(forEachBatch(), (chunkedBatchResponse, waitRequestOptions) => { + return createWaitablePromise(forEachBatch(), (chunkedBatchResponse, waitRequestOptions) => { return Promise.all(chunkedBatchResponse.taskIDs.map((taskID) => { return waitTask(base)(taskID, waitRequestOptions); })); @@ -2604,9 +2438,9 @@ var init_client_search_esm = __esm({ }; clearObjects = (base) => { return (requestOptions) => { - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/clear", base.indexName) + path: encode("1/indexes/%s/clear", base.indexName) }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; }; @@ -2617,9 +2451,9 @@ var init_client_search_esm = __esm({ if (forwardToReplicas) { mappedRequestOptions.queryParameters.forwardToReplicas = 1; } - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/rules/clear", base.indexName) + path: encode("1/indexes/%s/rules/clear", base.indexName) }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; }; @@ -2630,32 +2464,32 @@ var init_client_search_esm = __esm({ if (forwardToReplicas) { mappedRequestOptions.queryParameters.forwardToReplicas = 1; } - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/synonyms/clear", base.indexName) + path: encode("1/indexes/%s/synonyms/clear", base.indexName) }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; }; deleteBy = (base) => { return (filters, requestOptions) => { - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/deleteByQuery", base.indexName), + path: encode("1/indexes/%s/deleteByQuery", base.indexName), data: filters }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; }; deleteIndex = (base) => { return (requestOptions) => { - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Delete, - path: encode4("1/indexes/%s", base.indexName) + path: encode("1/indexes/%s", base.indexName) }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; }; deleteObject = (base) => { return (objectID, requestOptions) => { - return createWaitablePromise2(deleteObjects(base)([objectID], requestOptions).then((response) => { + return createWaitablePromise(deleteObjects(base)([objectID], requestOptions).then((response) => { return { taskID: response.taskIDs[0] }; }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; @@ -2675,9 +2509,9 @@ var init_client_search_esm = __esm({ if (forwardToReplicas) { mappedRequestOptions.queryParameters.forwardToReplicas = 1; } - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Delete, - path: encode4("1/indexes/%s/rules/%s", base.indexName, objectID) + path: encode("1/indexes/%s/rules/%s", base.indexName, objectID) }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; }; @@ -2688,9 +2522,9 @@ var init_client_search_esm = __esm({ if (forwardToReplicas) { mappedRequestOptions.queryParameters.forwardToReplicas = 1; } - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Delete, - path: encode4("1/indexes/%s/synonyms/%s", base.indexName, objectID) + path: encode("1/indexes/%s/synonyms/%s", base.indexName, objectID) }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; }; @@ -2708,7 +2542,7 @@ var init_client_search_esm = __esm({ return (query, queryLanguages, requestOptions) => { return base.transporter.read({ method: MethodEnum.Post, - path: encode4("1/answers/%s/prediction", base.indexName), + path: encode("1/answers/%s/prediction", base.indexName), data: { query, queryLanguages @@ -2746,7 +2580,7 @@ var init_client_search_esm = __esm({ return (objectID, requestOptions) => { return base.transporter.read({ method: MethodEnum.Get, - path: encode4("1/indexes/%s/%s", base.indexName, objectID) + path: encode("1/indexes/%s/%s", base.indexName, objectID) }, requestOptions); }; }; @@ -2783,7 +2617,7 @@ var init_client_search_esm = __esm({ return (objectID, requestOptions) => { return base.transporter.read({ method: MethodEnum.Get, - path: encode4("1/indexes/%s/rules/%s", base.indexName, objectID) + path: encode("1/indexes/%s/rules/%s", base.indexName, objectID) }, requestOptions); }; }; @@ -2791,7 +2625,7 @@ var init_client_search_esm = __esm({ return (requestOptions) => { return base.transporter.read({ method: MethodEnum.Get, - path: encode4("1/indexes/%s/settings", base.indexName), + path: encode("1/indexes/%s/settings", base.indexName), data: { getVersion: 2 } @@ -2802,7 +2636,7 @@ var init_client_search_esm = __esm({ return (objectID, requestOptions) => { return base.transporter.read({ method: MethodEnum.Get, - path: encode4(`1/indexes/%s/synonyms/%s`, base.indexName, objectID) + path: encode(`1/indexes/%s/synonyms/%s`, base.indexName, objectID) }, requestOptions); }; }; @@ -2810,13 +2644,13 @@ var init_client_search_esm = __esm({ return (taskID, requestOptions) => { return base.transporter.read({ method: MethodEnum.Get, - path: encode4("1/indexes/%s/task/%s", base.indexName, taskID.toString()) + path: encode("1/indexes/%s/task/%s", base.indexName, taskID.toString()) }, requestOptions); }; }; partialUpdateObject = (base) => { return (object, requestOptions) => { - return createWaitablePromise2(partialUpdateObjects(base)([object], requestOptions).then((response) => { + return createWaitablePromise(partialUpdateObjects(base)([object], requestOptions).then((response) => { return { objectID: response.objectIDs[0], taskID: response.taskIDs[0] @@ -2835,9 +2669,9 @@ var init_client_search_esm = __esm({ return (objects, requestOptions) => { const { safe, autoGenerateObjectIDIfNotExist, batchSize, ...options } = requestOptions || {}; const operation = (from, to, type, operationRequestOptions) => { - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/operation", from), + path: encode("1/indexes/%s/operation", from), data: { operation: type, destination: to @@ -2875,7 +2709,7 @@ var init_client_search_esm = __esm({ taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID] }; }); - return createWaitablePromise2(result, (_, waitRequestOptions) => { + return createWaitablePromise(result, (_, waitRequestOptions) => { return Promise.all(responses.map((response) => response.wait(waitRequestOptions))); }); }; @@ -2898,7 +2732,7 @@ var init_client_search_esm = __esm({ }; saveObject = (base) => { return (object, requestOptions) => { - return createWaitablePromise2(saveObjects(base)([object], requestOptions).then((response) => { + return createWaitablePromise(saveObjects(base)([object], requestOptions).then((response) => { return { objectID: response.objectIDs[0], taskID: response.taskIDs[0] @@ -2913,7 +2747,7 @@ var init_client_search_esm = __esm({ if (action === BatchActionEnum.UpdateObject) { for (const object of objects) { if (object.objectID === void 0) { - return createWaitablePromise2(Promise.reject(createMissingObjectIDError())); + return createWaitablePromise(Promise.reject(createMissingObjectIDError())); } } } @@ -2935,9 +2769,9 @@ var init_client_search_esm = __esm({ if (clearExistingRules) { mappedRequestOptions.queryParameters.clearExistingRules = 1; } - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/rules/batch", base.indexName), + path: encode("1/indexes/%s/rules/batch", base.indexName), data: rules }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; @@ -2957,9 +2791,9 @@ var init_client_search_esm = __esm({ if (replaceExistingSynonyms || clearExistingSynonyms) { mappedRequestOptions.queryParameters.replaceExistingSynonyms = 1; } - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/synonyms/batch", base.indexName), + path: encode("1/indexes/%s/synonyms/batch", base.indexName), data: synonyms }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; @@ -2968,7 +2802,7 @@ var init_client_search_esm = __esm({ return (query, requestOptions) => { return base.transporter.read({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/query", base.indexName), + path: encode("1/indexes/%s/query", base.indexName), data: { query }, @@ -2980,7 +2814,7 @@ var init_client_search_esm = __esm({ return (facetName, facetQuery, requestOptions) => { return base.transporter.read({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/facets/%s/query", base.indexName, facetName), + path: encode("1/indexes/%s/facets/%s/query", base.indexName, facetName), data: { facetQuery }, @@ -2992,7 +2826,7 @@ var init_client_search_esm = __esm({ return (query, requestOptions) => { return base.transporter.read({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/rules/search", base.indexName), + path: encode("1/indexes/%s/rules/search", base.indexName), data: { query } @@ -3003,7 +2837,7 @@ var init_client_search_esm = __esm({ return (query, requestOptions) => { return base.transporter.read({ method: MethodEnum.Post, - path: encode4("1/indexes/%s/synonyms/search", base.indexName), + path: encode("1/indexes/%s/synonyms/search", base.indexName), data: { query } @@ -3017,16 +2851,16 @@ var init_client_search_esm = __esm({ if (forwardToReplicas) { mappedRequestOptions.queryParameters.forwardToReplicas = 1; } - return createWaitablePromise2(base.transporter.write({ + return createWaitablePromise(base.transporter.write({ method: MethodEnum.Put, - path: encode4("1/indexes/%s/settings", base.indexName), + path: encode("1/indexes/%s/settings", base.indexName), data: settings }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); }; }; waitTask = (base) => { return (taskID, requestOptions) => { - return createRetryablePromise2((retry) => { + return createRetryablePromise((retry) => { return getTask(base)(taskID, requestOptions).then((response) => { return response.status !== "published" ? retry() : void 0; }); @@ -3109,113 +2943,19 @@ var init_logger_common_esm = __esm({ } }); -// node_modules/@algolia/recommend/node_modules/@algolia/client-common/dist/client-common.esm.js -var client_common_esm_exports2 = {}; -__export(client_common_esm_exports2, { - AuthMode: () => AuthMode5, - addMethods: () => addMethods5, - createAuth: () => createAuth5, - createRetryablePromise: () => createRetryablePromise3, - createWaitablePromise: () => createWaitablePromise3, - destroy: () => destroy2, - encode: () => encode5, - shuffle: () => shuffle3, - version: () => version2 +// node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js +var requester_node_http_esm_exports = {}; +__export(requester_node_http_esm_exports, { + createNodeHttpRequester: () => createNodeHttpRequester }); -function createAuth5(authMode, appId, apiKey) { - const credentials = { - "x-algolia-api-key": apiKey, - "x-algolia-application-id": appId - }; - return { - headers() { - return authMode === AuthMode5.WithinHeaders ? credentials : {}; - }, - queryParameters() { - return authMode === AuthMode5.WithinQueryParameters ? credentials : {}; - } - }; -} -function createRetryablePromise3(callback) { - let retriesCount = 0; - const retry = () => { - retriesCount++; - return new Promise((resolve) => { - setTimeout(() => { - resolve(callback(retry)); - }, Math.min(100 * retriesCount, 1e3)); - }); - }; - return callback(retry); -} -function createWaitablePromise3(promise, wait = (_response, _requestOptions) => { - return Promise.resolve(); -}) { - return Object.assign(promise, { - wait(requestOptions) { - return createWaitablePromise3(promise.then((response) => Promise.all([wait(response, requestOptions), response])).then((promiseResults) => promiseResults[1])); - } - }); -} -function shuffle3(array) { - let c = array.length - 1; - for (c; c > 0; c--) { - const b = Math.floor(Math.random() * (c + 1)); - const a = array[c]; - array[c] = array[b]; - array[b] = a; - } - return array; -} -function addMethods5(base, methods) { - if (!methods) { - return base; - } - Object.keys(methods).forEach((key) => { - base[key] = methods[key](base); - }); - return base; -} -function encode5(format, ...args) { - let i = 0; - return format.replace(/%s/g, () => encodeURIComponent(args[i++])); -} -var version2, destroy2, AuthMode5; -var init_client_common_esm5 = __esm({ - "node_modules/@algolia/recommend/node_modules/@algolia/client-common/dist/client-common.esm.js"() { - "use strict"; - version2 = "4.24.0"; - destroy2 = (base) => { - return () => { - return base.transporter.requester.destroy(); - }; - }; - AuthMode5 = { - /** - * If auth credentials should be in query parameters. - */ - WithinQueryParameters: 0, - /** - * If auth credentials should be in headers. - */ - WithinHeaders: 1 - }; - } -}); - -// node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js -var requester_node_http_esm_exports = {}; -__export(requester_node_http_esm_exports, { - createNodeHttpRequester: () => createNodeHttpRequester -}); -import * as http from "http"; -import { Agent } from "http"; -import * as https from "https"; -import { Agent as Agent$1 } from "https"; -import { parse as parse2 } from "url"; -function createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {} } = {}) { - const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent; - const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent; +import * as http from "http"; +import { Agent } from "http"; +import * as https from "https"; +import { Agent as Agent$1 } from "https"; +import { parse as parse2 } from "url"; +function createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {} } = {}) { + const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent; + const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent; return { send(request) { return new Promise((resolve) => { @@ -3284,7 +3024,7 @@ function createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAg } var agentOptions, defaultHttpAgent, defaultHttpsAgent; var init_requester_node_http_esm = __esm({ - "node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js"() { + "node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js"() { "use strict"; agentOptions = { keepAlive: true }; defaultHttpAgent = new Agent(agentOptions); @@ -3292,298 +3032,6 @@ var init_requester_node_http_esm = __esm({ } }); -// node_modules/@algolia/recommend/dist/recommend.cjs.js -var require_recommend_cjs = __commonJS({ - "node_modules/@algolia/recommend/dist/recommend.cjs.js"(exports, module) { - "use strict"; - var cacheCommon = (init_cache_common_esm(), __toCommonJS(cache_common_esm_exports)); - var cacheInMemory = (init_cache_in_memory_esm(), __toCommonJS(cache_in_memory_esm_exports)); - var clientCommon = (init_client_common_esm5(), __toCommonJS(client_common_esm_exports2)); - var loggerCommon = (init_logger_common_esm(), __toCommonJS(logger_common_esm_exports)); - var requesterNodeHttp = (init_requester_node_http_esm(), __toCommonJS(requester_node_http_esm_exports)); - var transporter = (init_transporter_esm(), __toCommonJS(transporter_esm_exports)); - var requesterCommon = (init_requester_common_esm(), __toCommonJS(requester_common_esm_exports)); - var createRecommendClient = (options) => { - const appId = options.appId; - const auth = clientCommon.createAuth(options.authMode !== void 0 ? options.authMode : clientCommon.AuthMode.WithinHeaders, appId, options.apiKey); - const transporter$1 = transporter.createTransporter({ - hosts: [ - { url: `${appId}-dsn.algolia.net`, accept: transporter.CallEnum.Read }, - { url: `${appId}.algolia.net`, accept: transporter.CallEnum.Write } - ].concat(clientCommon.shuffle([ - { url: `${appId}-1.algolianet.com` }, - { url: `${appId}-2.algolianet.com` }, - { url: `${appId}-3.algolianet.com` } - ])), - ...options, - headers: { - ...auth.headers(), - ...{ "content-type": "application/x-www-form-urlencoded" }, - ...options.headers - }, - queryParameters: { - ...auth.queryParameters(), - ...options.queryParameters - } - }); - const base = { - transporter: transporter$1, - appId, - addAlgoliaAgent(segment, version3) { - transporter$1.userAgent.add({ segment, version: version3 }); - }, - clearCache() { - return Promise.all([ - transporter$1.requestsCache.clear(), - transporter$1.responsesCache.clear() - ]).then(() => void 0); - } - }; - return clientCommon.addMethods(base, options.methods); - }; - var getRecommendations = (base) => { - return (queries, requestOptions) => { - const requests = queries.map((query) => ({ - ...query, - // The `threshold` param is required by the endpoint to make it easier - // to provide a default value later, so we default it in the client - // so that users don't have to provide a value. - threshold: query.threshold || 0 - })); - return base.transporter.read({ - method: requesterCommon.MethodEnum.Post, - path: "1/indexes/*/recommendations", - data: { - requests - }, - cacheable: true - }, requestOptions); - }; - }; - var getFrequentlyBoughtTogether = (base) => { - return (queries, requestOptions) => { - return getRecommendations(base)(queries.map((query) => ({ - ...query, - fallbackParameters: {}, - model: "bought-together" - })), requestOptions); - }; - }; - var getRelatedProducts = (base) => { - return (queries, requestOptions) => { - return getRecommendations(base)(queries.map((query) => ({ - ...query, - model: "related-products" - })), requestOptions); - }; - }; - var getTrendingFacets = (base) => { - return (queries, requestOptions) => { - const requests = queries.map((query) => ({ - ...query, - model: "trending-facets", - // The `threshold` param is required by the endpoint to make it easier - // to provide a default value later, so we default it in the client - // so that users don't have to provide a value. - threshold: query.threshold || 0 - })); - return base.transporter.read({ - method: requesterCommon.MethodEnum.Post, - path: "1/indexes/*/recommendations", - data: { - requests - }, - cacheable: true - }, requestOptions); - }; - }; - var getTrendingItems = (base) => { - return (queries, requestOptions) => { - const requests = queries.map((query) => ({ - ...query, - model: "trending-items", - // The `threshold` param is required by the endpoint to make it easier - // to provide a default value later, so we default it in the client - // so that users don't have to provide a value. - threshold: query.threshold || 0 - })); - return base.transporter.read({ - method: requesterCommon.MethodEnum.Post, - path: "1/indexes/*/recommendations", - data: { - requests - }, - cacheable: true - }, requestOptions); - }; - }; - var getLookingSimilar = (base) => { - return (queries, requestOptions) => { - return getRecommendations(base)(queries.map((query) => ({ - ...query, - model: "looking-similar" - })), requestOptions); - }; - }; - var getRecommendedForYou = (base) => { - return (queries, requestOptions) => { - const requests = queries.map((query) => ({ - ...query, - model: "recommended-for-you", - threshold: query.threshold || 0 - })); - return base.transporter.read({ - method: requesterCommon.MethodEnum.Post, - path: "1/indexes/*/recommendations", - data: { - requests - }, - cacheable: true - }, requestOptions); - }; - }; - function recommend(appId, apiKey, options) { - const commonOptions = { - appId, - apiKey, - timeouts: { - connect: 2, - read: 5, - write: 30 - }, - requester: requesterNodeHttp.createNodeHttpRequester(), - logger: loggerCommon.createNullLogger(), - responsesCache: cacheCommon.createNullCache(), - requestsCache: cacheCommon.createNullCache(), - hostsCache: cacheInMemory.createInMemoryCache(), - userAgent: transporter.createUserAgent(clientCommon.version).add({ segment: "Recommend", version: clientCommon.version }).add({ segment: "Node.js", version: process.versions.node }) - }; - return createRecommendClient({ - ...commonOptions, - ...options, - methods: { - destroy: clientCommon.destroy, - getFrequentlyBoughtTogether, - getRecommendations, - getRelatedProducts, - getTrendingFacets, - getTrendingItems, - getLookingSimilar, - getRecommendedForYou - } - }); - } - recommend.version = clientCommon.version; - recommend.getFrequentlyBoughtTogether = getFrequentlyBoughtTogether; - recommend.getRecommendations = getRecommendations; - recommend.getRelatedProducts = getRelatedProducts; - recommend.getTrendingFacets = getTrendingFacets; - recommend.getTrendingItems = getTrendingItems; - recommend.getLookingSimilar = getLookingSimilar; - recommend.getRecommendedForYou = getRecommendedForYou; - module.exports = recommend; - } -}); - -// node_modules/@algolia/recommend/index.js -var require_recommend = __commonJS({ - "node_modules/@algolia/recommend/index.js"(exports, module) { - "use strict"; - var recommend = require_recommend_cjs(); - module.exports = recommend; - module.exports.default = recommend; - } -}); - -// node_modules/algoliasearch/node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js -var requester_node_http_esm_exports2 = {}; -__export(requester_node_http_esm_exports2, { - createNodeHttpRequester: () => createNodeHttpRequester2 -}); -import * as http2 from "http"; -import { Agent as Agent2 } from "http"; -import * as https2 from "https"; -import { Agent as Agent$12 } from "https"; -import { parse as parse3 } from "url"; -function createNodeHttpRequester2({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {} } = {}) { - const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent2; - const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent2; - return { - send(request) { - return new Promise((resolve) => { - const url = parse3(request.url); - const path = url.query === null ? url.pathname : `${url.pathname}?${url.query}`; - const options = { - ...requesterOptions, - agent: url.protocol === "https:" ? httpsAgent : httpAgent, - hostname: url.hostname, - path, - method: request.method, - headers: { - ...requesterOptions && requesterOptions.headers ? requesterOptions.headers : {}, - ...request.headers - }, - ...url.port !== void 0 ? { port: url.port || "" } : {} - }; - const req = (url.protocol === "https:" ? https2 : http2).request(options, (response) => { - let contentBuffers = []; - response.on("data", (chunk) => { - contentBuffers = contentBuffers.concat(chunk); - }); - response.on("end", () => { - clearTimeout(connectTimeout); - clearTimeout(responseTimeout); - resolve({ - status: response.statusCode || 0, - content: Buffer.concat(contentBuffers).toString(), - isTimedOut: false - }); - }); - }); - const createTimeout = (timeout, content) => { - return setTimeout(() => { - req.abort(); - resolve({ - status: 0, - content, - isTimedOut: true - }); - }, timeout * 1e3); - }; - const connectTimeout = createTimeout(request.connectTimeout, "Connection timeout"); - let responseTimeout; - req.on("error", (error) => { - clearTimeout(connectTimeout); - clearTimeout(responseTimeout); - resolve({ status: 0, content: error.message, isTimedOut: false }); - }); - req.once("response", () => { - clearTimeout(connectTimeout); - responseTimeout = createTimeout(request.responseTimeout, "Socket timeout"); - }); - if (request.data !== void 0) { - req.write(request.data); - } - req.end(); - }); - }, - destroy() { - httpAgent.destroy(); - httpsAgent.destroy(); - return Promise.resolve(); - } - }; -} -var agentOptions2, defaultHttpAgent2, defaultHttpsAgent2; -var init_requester_node_http_esm2 = __esm({ - "node_modules/algoliasearch/node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js"() { - "use strict"; - agentOptions2 = { keepAlive: true }; - defaultHttpAgent2 = new Agent2(agentOptions2); - defaultHttpsAgent2 = new Agent$12(agentOptions2); - } -}); - // node_modules/algoliasearch/dist/algoliasearch.cjs.js var require_algoliasearch_cjs = __commonJS({ "node_modules/algoliasearch/dist/algoliasearch.cjs.js"(exports, module) { @@ -3591,12 +3039,11 @@ var require_algoliasearch_cjs = __commonJS({ var cacheCommon = (init_cache_common_esm(), __toCommonJS(cache_common_esm_exports)); var cacheInMemory = (init_cache_in_memory_esm(), __toCommonJS(cache_in_memory_esm_exports)); var clientAnalytics = (init_client_analytics_esm(), __toCommonJS(client_analytics_esm_exports)); - var clientCommon = (init_client_common_esm2(), __toCommonJS(client_common_esm_exports)); + var clientCommon = (init_client_common_esm(), __toCommonJS(client_common_esm_exports)); var clientPersonalization = (init_client_personalization_esm(), __toCommonJS(client_personalization_esm_exports)); var clientSearch = (init_client_search_esm(), __toCommonJS(client_search_esm_exports)); var loggerCommon = (init_logger_common_esm(), __toCommonJS(logger_common_esm_exports)); - var recommend = require_recommend(); - var requesterNodeHttp = (init_requester_node_http_esm2(), __toCommonJS(requester_node_http_esm_exports2)); + var requesterNodeHttp = (init_requester_node_http_esm(), __toCommonJS(requester_node_http_esm_exports)); var transporter = (init_transporter_esm(), __toCommonJS(transporter_esm_exports)); function algoliasearch2(appId, apiKey, options) { const commonOptions = { @@ -3734,14 +3181,7 @@ var require_algoliasearch_cjs = __commonJS({ initRecommendation: () => (clientOptions) => { searchClientOptions.logger.info("The `initRecommendation` method is deprecated. Use `initPersonalization` instead."); return initPersonalization()(clientOptions); - }, - getRecommendations: recommend.getRecommendations, - getFrequentlyBoughtTogether: recommend.getFrequentlyBoughtTogether, - getLookingSimilar: recommend.getLookingSimilar, - getRecommendedForYou: recommend.getRecommendedForYou, - getRelatedProducts: recommend.getRelatedProducts, - getTrendingFacets: recommend.getTrendingFacets, - getTrendingItems: recommend.getTrendingItems + } } }); } @@ -5906,9 +5346,9 @@ var getIcon = (name) => { return IconsMap.find((icon4) => icon4.name === name)?.Icon; }; var OverviewCard = ({ icon: icon4, link: link2, children }) => { - const Icon31 = getIcon(icon4); + const Icon68 = getIcon(icon4); return /* @__PURE__ */ jsx2(Link, { href: link2, children: /* @__PURE__ */ jsxs2(Flex, { sx: styles_default.overviewCard, children: [ - Icon31 && /* @__PURE__ */ jsx2(Icon31, { sx: styles_default.overviewIcon }), + Icon68 && /* @__PURE__ */ jsx2(Icon68, { sx: styles_default.overviewIcon }), /* @__PURE__ */ jsx2(Box, { children }) ] }) }); }; @@ -6453,17 +5893,17 @@ var mermaidInit = () => { var mermaidInit_default = mermaidInit; // src/lib/markdown-renderer/styles.module.css -var styles_default5 = { - img: "styles_img", - heading: "styles_heading", - code: "styles_code", - blockquote: "styles_blockquote", - blockquoteInfo: "styles_blockquoteInfo", - blockquoteDanger: "styles_blockquoteDanger", - blockquoteWarning: "styles_blockquoteWarning", - blockquoteSuccess: "styles_blockquoteSuccess", - flexWrap: "styles_flexWrap", - svgContainer: "styles_svgContainer" +var styles_module_default = { + img: "styles_module_img", + heading: "styles_module_heading", + code: "styles_module_code", + blockquote: "styles_module_blockquote", + blockquoteInfo: "styles_module_blockquoteInfo", + blockquoteDanger: "styles_module_blockquoteDanger", + blockquoteWarning: "styles_module_blockquoteWarning", + blockquoteSuccess: "styles_module_blockquoteSuccess", + flexWrap: "styles_module_flexWrap", + svgContainer: "styles_module_svgContainer" }; // src/messages/en.json @@ -6589,7 +6029,7 @@ var ObservableHeading = ({ onLeaveView(slug, entry, y); setY(entry.boundingClientRect.y); }, - children: level === 2 ? /* @__PURE__ */ jsx9("h2", { id: slug, className: styles_default5.heading, ...headingProps }) : /* @__PURE__ */ jsx9("h3", { id: slug, className: styles_default5.heading, ...headingProps }) + children: level === 2 ? /* @__PURE__ */ jsx9("h2", { id: slug, className: styles_module_default.heading, ...headingProps }) : /* @__PURE__ */ jsx9("h3", { id: slug, className: styles_module_default.heading, ...headingProps }) } ); }; @@ -6598,7 +6038,7 @@ var Callout = ({ node, icon: icon4, ...props }) => { return /* @__PURE__ */ jsx9( "blockquote", { - className: `${styles_default5.blockquote} ${blockquoteType === "info" ? styles_default5.blockquoteInfo : blockquoteType === "danger" ? styles_default5.blockquoteDanger : blockquoteType === "warning" ? styles_default5.blockquoteWarning : blockquoteType === "success" ? styles_default5.blockquoteSuccess : ""}`, + className: `${styles_module_default.blockquote} ${blockquoteType === "info" ? styles_module_default.blockquoteInfo : blockquoteType === "danger" ? styles_module_default.blockquoteDanger : blockquoteType === "warning" ? styles_module_default.blockquoteWarning : blockquoteType === "success" ? styles_module_default.blockquoteSuccess : ""}`, children: /* @__PURE__ */ jsx9("div", { ...props }) } ); @@ -6626,7 +6066,7 @@ var MermaidDiagram = ({ node, ...props }) => { if (ref.current) resizeObserver.observe(ref.current); }, []); - return /* @__PURE__ */ jsx9(Box5, { ref, className: styles_default5.svgContainer, children: /* @__PURE__ */ jsx9( + return /* @__PURE__ */ jsx9(Box5, { ref, className: styles_module_default.svgContainer, children: /* @__PURE__ */ jsx9( UncontrolledReactSVGPanZoom, { ref: viewerRef, @@ -6652,7 +6092,7 @@ var ImageComponent = ({ node, ...props }) => { // eslint-disable-next-line @next/next/no-img-element /* @__PURE__ */ jsx9("img", { src: props.src, alt: props.alt, onError: () => setSrcHasError(true) }) ); - const errorMessage = /* @__PURE__ */ jsxs6("blockquote", { className: `${styles_default5.blockquote} ${styles_default5.blockquoteWarning}`, children: [ + const errorMessage = /* @__PURE__ */ jsxs6("blockquote", { className: `${styles_module_default.blockquote} ${styles_module_default.blockquoteWarning}`, children: [ messages[locale]["image.error_loading"], " ", props.src @@ -6672,7 +6112,7 @@ var components_default = { WhatsNextCard: whats_next_card_default, YoutubeFrame: youtube_frame_default, Steps: steps_default, - Flex: ({ node, ...props }) => /* @__PURE__ */ jsx9(Flex4, { className: styles_default5.flexWrap, ...props }), + Flex: ({ node, ...props }) => /* @__PURE__ */ jsx9(Flex4, { className: styles_module_default.flexWrap, ...props }), table: ({ node, ...props }) => /* @__PURE__ */ jsx9("table", { ...props }), td: ({ node, ...props }) => /* @__PURE__ */ jsx9("td", { ...props }), img: ImageComponent, @@ -6683,12 +6123,12 @@ var components_default = { return /* @__PURE__ */ jsx9(Callout, { ...props }); }, code: ({ node, ...props }) => { - return /* @__PURE__ */ jsx9("code", { className: styles_default5.code, ...props }); + return /* @__PURE__ */ jsx9("code", { className: styles_module_default.code, ...props }); }, pre: ({ ...props }) => { if (props.className && props.className === "mermaid") return /* @__PURE__ */ jsx9(MermaidDiagram, { ...props }); - return /* @__PURE__ */ jsx9("pre", { className: styles_default5.pre, ...props }); + return /* @__PURE__ */ jsx9("pre", { className: styles_module_default.pre, ...props }); }, h2: ({ node, ...props }) => { const { activeItem, setActiveItem, goToPreviousItem } = useContext(LibraryContext); @@ -6807,7 +6247,7 @@ var subItemsContainer = { ml: "16px", borderLeft: "1px solid #E7E9EE" }; -var styles_default6 = { tocTitle, itemsContainer, item, subItemsContainer, headings }; +var styles_default5 = { tocTitle, itemsContainer, item, subItemsContainer, headings }; // src/lib/table-of-contents/TableOfContents.tsx import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime"; @@ -6851,13 +6291,13 @@ var TableOfContents = ({ headingList, children }) => { subItem: level === 1 ? "" : slug })); }, - children: /* @__PURE__ */ jsx11(Text2, { sx: styles_default6.item(level, active), children: title5 }) + children: /* @__PURE__ */ jsx11(Text2, { sx: styles_default5.item(level, active), children: title5 }) } ); }; - return /* @__PURE__ */ jsxs7(Box7, { sx: styles_default6.itemsContainer, "data-cy": "table-of-contents", children: [ - headingItems.length > 0 && /* @__PURE__ */ jsx11(Text2, { sx: styles_default6.tocTitle, children: "ON THIS PAGE" }), - /* @__PURE__ */ jsx11(Box7, { sx: styles_default6.headings, children: headingItems.map((item2) => /* @__PURE__ */ jsxs7(Box7, { children: [ + return /* @__PURE__ */ jsxs7(Box7, { sx: styles_default5.itemsContainer, "data-cy": "table-of-contents", children: [ + headingItems.length > 0 && /* @__PURE__ */ jsx11(Text2, { sx: styles_default5.tocTitle, children: "ON THIS PAGE" }), + /* @__PURE__ */ jsx11(Box7, { sx: styles_default5.headings, children: headingItems.map((item2) => /* @__PURE__ */ jsxs7(Box7, { children: [ /* @__PURE__ */ jsx11( Item, { @@ -6872,7 +6312,7 @@ var TableOfContents = ({ headingList, children }) => { { duration: 300, height: item2.slug === activeItem.item ? "auto" : 0, - children: /* @__PURE__ */ jsx11(Box7, { sx: styles_default6.subItemsContainer, children: item2.children.map((subItem) => /* @__PURE__ */ jsx11( + children: /* @__PURE__ */ jsx11(Box7, { sx: styles_default5.subItemsContainer, children: item2.children.map((subItem) => /* @__PURE__ */ jsx11( Item, { title: subItem.title, @@ -6917,14 +6357,15 @@ var sidebar = { }, ".iconContainerExpanded": { transition: "all 0.3s ease-in-out", - width: "160px" + width: "160px", + overflowY: "auto" }, ".iconDescriptionExpanded": { display: "block" } }; var sidebarIcons = { - width: ["56px", "56px", "56px", "56px", "56px", "160px"], + width: ["56px", "56px", "56px", "56px", "160px", "160px"], minWidth: "max-content", transition: "all 0.3s ease-in-out", flexDirection: "column", @@ -6941,8 +6382,8 @@ var iconBox = { width: "100%", maxWidth: "144px", paddingLeft: ["0", "0", "0", "8px"], - paddingRight: ["0", "0", "0", "8px", "8px", "0"], - py: ["0", "0", "0", "8px", "8px", "10px"], + paddingRight: ["0", "0", "0", "8px", "0", "0"], + py: ["0", "0", "0", "8px", "10px", "10px"], height: "40px", borderRadius: "4px", alignItems: "center", @@ -6959,7 +6400,7 @@ var iconBox = { "#000711", "#000711", "#000711", - "#000711", + "#4A596B", "#4A596B" ] } @@ -6995,10 +6436,10 @@ var sectionDivider = { } }; var iconTitle = { - display: ["none", "none", "none", "none", "none", "block"], + display: ["none", "none", "none", "none", "block", "block"], width: "100%", fontSize: "14px", - ml: ["8px", "8px", "8px", "8px", "8px", "12px"], + ml: ["8px", "8px", "8px", "8px", "12px", "12px"], whiteSpace: "nowrap", overflow: "hidden", textOverflow: "ellipsis" @@ -7009,11 +6450,11 @@ var iconTooltip = { "flex !important", "flex !important", "flex !important", - "flex !important", + "none !important", "none !important" ] }; -var styles_default7 = { +var styles_default6 = { sidebar, sidebarIcons, sidebarIconsContainer, @@ -7134,7 +6575,7 @@ var labelStyle = (documentationSection) => { return labelDocumentationContainer; return labelContibutorsContainer; }; -var styles_default8 = { tooltipContainer, caret, labelStyle }; +var styles_default7 = { tooltipContainer, caret, labelStyle }; // src/components/icons/caret.tsx import { Icon as Icon3 } from "@vtex/brand-ui"; @@ -7195,7 +6636,7 @@ var Tooltip = ({ children, label: label2, placement, sx, isCard }) => { visible && (isCard ?? true) && /* @__PURE__ */ jsxs8( Flex5, { - sx: styles_default8.tooltipContainer( + sx: styles_default7.tooltipContainer( sx, placement || "top", boxWidth, @@ -7204,8 +6645,8 @@ var Tooltip = ({ children, label: label2, placement, sx, isCard }) => { boxOffsetTop ), children: [ - /* @__PURE__ */ jsx13(caret_default, { sx: styles_default8.caret(placement || "top") }), - /* @__PURE__ */ jsx13(Box8, { sx: styles_default8.labelStyle(isCard ?? false), children: label2 }) + /* @__PURE__ */ jsx13(caret_default, { sx: styles_default7.caret(placement || "top") }), + /* @__PURE__ */ jsx13(Box8, { sx: styles_default7.labelStyle(isCard ?? false), children: label2 }) ] } ) @@ -7318,7 +6759,8 @@ import { useContext as useContext5, useMemo, useState as useState6 } from "react // src/components/sidebar-section/styles.ts var sidebarContainer = { position: "relative", - width: "auto", + width: ["auto", "auto", "auto", "auto", "300px", "300px"], + minWidth: ["auto", "auto", "auto", "auto", "300px", "300px"], height: "inherit", borderRight: "1px solid #E7E9EE", zIndex: "1", @@ -7392,7 +6834,8 @@ var searchBox = { alignItems: "center", borderRadius: "4px", background: "#F4F4F4", - width: "265px", + width: "100%", + maxWidth: "315px", height: "40px", paddingLeft: "12px" }; @@ -7449,7 +6892,7 @@ var previewMode = { mr: "10px" } }; -var styles_default9 = { +var styles_default8 = { sidebarContainer, sidebarContainerHamburger, sidebarContainerBox, @@ -7496,7 +6939,7 @@ var closeIcon = { width: "12px", ml: "4px" }; -var styles_default10 = { +var styles_default9 = { container: container3, text, closeIcon @@ -7537,7 +6980,7 @@ var categoryStyle = (method, active, sx) => { background: "#F8E3E3" }; const categoryStyle2 = active ? { - ...styles_default10.container, + ...styles_default9.container, ...categoryColors, ...sx, ":hover": { @@ -7551,7 +6994,7 @@ var categoryStyle = (method, active, sx) => { } } } : { - ...styles_default10.container, + ...styles_default9.container, color: categoryColors.color, ...sx }; @@ -7566,7 +7009,7 @@ var categoryText = (method, origin) => { var closeCategoryStyle = (method) => { const categoryColors = methodsColors[method]; const categoryStyle2 = { - ...styles_default10.closeIcon, + ...styles_default9.closeIcon, rect: { fill: "transparent" }, @@ -7625,7 +7068,7 @@ var MethodCategory = ({ sx }) => { return /* @__PURE__ */ jsxs10(Flex6, { className: "method-category", sx: categoryStyle(method, active, sx), children: [ - /* @__PURE__ */ jsx15(Text3, { sx: styles_default10.text, children: categoryText(method, origin) }), + /* @__PURE__ */ jsx15(Text3, { sx: styles_default9.text, children: categoryText(method, origin) }), origin === "filter" && active && /* @__PURE__ */ jsx15( close_filter_icon_default, { @@ -7670,7 +7113,7 @@ var clear = { color: "#000711" } }; -var styles_default11 = { +var styles_default10 = { container: container4, text: text2, category, @@ -7716,7 +7159,7 @@ var SectionFilter = ({ children: /* @__PURE__ */ jsx16( method_category_default, { - sx: styles_default11.category, + sx: styles_default10.category, active: methodFilter.active, method: methodFilter.name, origin: "filter" @@ -7726,8 +7169,8 @@ var SectionFilter = ({ `filter-category-${methodFilter.name}` ); }; - return /* @__PURE__ */ jsxs11(Box9, { sx: styles_default11.container, children: [ - /* @__PURE__ */ jsx16(Text4, { sx: styles_default11.text, children: messages[locale]["api_reference_sidebar_filter"] }), + return /* @__PURE__ */ jsxs11(Box9, { sx: styles_default10.container, children: [ + /* @__PURE__ */ jsx16(Text4, { sx: styles_default10.text, children: messages[locale]["api_reference_sidebar_filter"] }), /* @__PURE__ */ jsxs11(Flex7, { children: [ methodFilterList.map((methodFilter) => /* @__PURE__ */ jsx16( MethodButton, @@ -7736,7 +7179,7 @@ var SectionFilter = ({ }, `filter-category-${methodFilter.name}` )), - activeFilters.length > 1 && /* @__PURE__ */ jsx16(Text4, { onClick: () => setFilter(null), sx: styles_default11.clear, children: messages[locale]["api_reference_sidebar_filter_clear"] }) + activeFilters.length > 1 && /* @__PURE__ */ jsx16(Text4, { onClick: () => setFilter(null), sx: styles_default10.clear, children: messages[locale]["api_reference_sidebar_filter_clear"] }) ] }) ] }); }; @@ -7756,7 +7199,7 @@ import { // src/components/sidebar-elements/styles.ts var elementContainer = { - maxWidth: "265px", + maxWidth: "315px", background: "#FFFFFF", ":hover": { background: "#F8F7FC", @@ -7808,7 +7251,7 @@ var sectionDivider2 = { var methodBox = { mr: "10px" }; -var styles_default12 = { +var styles_default11 = { elementContainer, elementText, elementActive, @@ -7833,13 +7276,13 @@ var textStyle = (active, icon4) => { const ml = icon4 ? "4px" : "16px"; if (active) { const textStyleActive = { - ...styles_default12.elementActive, + ...styles_default11.elementActive, ml }; return textStyleActive; } const textStyle2 = { - ...styles_default12.elementText, + ...styles_default11.elementText, ml }; return textStyle2; @@ -7903,14 +7346,14 @@ var SidebarElements = ({ slugPrefix, items, subItemLevel }) => { const isExpandable = children.length > 0; const pathSuffix = method ? `#${method.toLowerCase()}-${endpoint}` : ""; const activeItem = method ? `${localizedSlug}${pathSuffix}` : localizedSlug; - return /* @__PURE__ */ jsx17(Box10, { sx: styles_default12.elementContainer, children: /* @__PURE__ */ jsxs12(Flex8, { sx: styleByLevelNormal(subItemLevel, isExpandable || false), children: [ + return /* @__PURE__ */ jsx17(Box10, { sx: styles_default11.elementContainer, children: /* @__PURE__ */ jsxs12(Flex8, { sx: styleByLevelNormal(subItemLevel, isExpandable || false), children: [ isExpandable && /* @__PURE__ */ jsx17( Button2, { "aria-label": sidebarElementStatus.has(localizedSlug) && sidebarElementStatus.get(localizedSlug) ? "Collapse category" : "Expand category", size: "regular", variant: "tertiary", - sx: sidebarElementStatus.has(localizedSlug) && sidebarElementStatus.get(localizedSlug) ? styles_default12.arrowIconActive : styles_default12.arrowIcon, + sx: sidebarElementStatus.has(localizedSlug) && sidebarElementStatus.get(localizedSlug) ? styles_default11.arrowIconActive : styles_default11.arrowIcon, icon: () => /* @__PURE__ */ jsx17( IconCaret2, { @@ -7937,7 +7380,7 @@ var SidebarElements = ({ slugPrefix, items, subItemLevel }) => { method && /* @__PURE__ */ jsx17( method_category_default, { - sx: styles_default12.methodBox, + sx: styles_default11.methodBox, active: activeSidebarElement === activeItem, origin: "sidebar", method @@ -7946,7 +7389,7 @@ var SidebarElements = ({ slugPrefix, items, subItemLevel }) => { localizedName ] } - ) : checkDocumentationType(sidebarDataMaster, localizedSlug, "link") ? /* @__PURE__ */ jsxs12(Link4, { href: localizedSlug, target: "_blank", sx: styles_default12.elementText, children: [ + ) : checkDocumentationType(sidebarDataMaster, localizedSlug, "link") ? /* @__PURE__ */ jsxs12(Link4, { href: localizedSlug, target: "_blank", sx: styles_default11.elementText, children: [ /* @__PURE__ */ jsx17(IconExternalLink, { size: 16, sx: { marginRight: "10px" } }), localizedName ] }) : /* @__PURE__ */ jsxs12( @@ -7960,7 +7403,7 @@ var SidebarElements = ({ slugPrefix, items, subItemLevel }) => { method && /* @__PURE__ */ jsx17( method_category_default, { - sx: styles_default12.methodBox, + sx: styles_default11.methodBox, active: activeSidebarElement === localizedSlug, origin: "sidebar", method @@ -7991,7 +7434,7 @@ var SidebarElements = ({ slugPrefix, items, subItemLevel }) => { return /* @__PURE__ */ jsxs12(Fragment, { children: [ /* @__PURE__ */ jsx17(ElementRoot, { ...item2, slug }), /* @__PURE__ */ jsx17(Box10, { children: /* @__PURE__ */ jsx17(ElementChildren, { ...item2, slug }) }), - subItemLevel == 0 ? /* @__PURE__ */ jsx17(Box10, { sx: styles_default12.sectionDivider, children: /* @__PURE__ */ jsx17("hr", {}) }) : null + subItemLevel == 0 ? /* @__PURE__ */ jsx17(Box10, { sx: styles_default11.sectionDivider, children: /* @__PURE__ */ jsx17("hr", {}) }) : null ] }, String(key)); }) }); }; @@ -8172,18 +7615,18 @@ var SidebarSection = ({ Box11, { className: sidebarSectionHidden ? "active" : "", - sx: styles_default9.sidebarContainerHamburger, + sx: styles_default8.sidebarContainerHamburger, children: /* @__PURE__ */ jsxs15( Box11, { className: sidebarSectionHidden ? "sidebarHide" : "", - sx: styles_default9.sidebarContainerBoxHamburger, + sx: styles_default8.sidebarContainerBoxHamburger, children: [ - /* @__PURE__ */ jsxs15(Flex9, { sx: styles_default9.sidebarContainerTitle, children: [ + /* @__PURE__ */ jsxs15(Flex9, { sx: styles_default8.sidebarContainerTitle, children: [ /* @__PURE__ */ jsx21( Button3, { - sx: styles_default9.arrowButton, + sx: styles_default8.arrowButton, "aria-label": "Go back", size: "small", variant: "tertiary", @@ -8194,15 +7637,15 @@ var SidebarSection = ({ } ), DocIcon && /* @__PURE__ */ jsx21(DocIcon, {}), - /* @__PURE__ */ jsx21(Text5, { sx: styles_default9.sidebarTitle, children: localizedSectionTitle }) + /* @__PURE__ */ jsx21(Text5, { sx: styles_default8.sidebarTitle, children: localizedSectionTitle }) ] }), - /* @__PURE__ */ jsxs15(Box11, { sx: styles_default9.sidebarContainerBody, children: [ - /* @__PURE__ */ jsxs15(Flex9, { sx: styles_default9.searchBox, children: [ - /* @__PURE__ */ jsx21(search_icon_default, { sx: styles_default9.searchIcon }), + /* @__PURE__ */ jsxs15(Box11, { sx: styles_default8.sidebarContainerBody, children: [ + /* @__PURE__ */ jsxs15(Flex9, { sx: styles_default8.searchBox, children: [ + /* @__PURE__ */ jsx21(search_icon_default, { sx: styles_default8.searchIcon }), /* @__PURE__ */ jsx21( "input", { - style: styles_default9.searchInput, + style: styles_default8.searchInput, className: "searchComponent", type: "text", placeholder: messages[locale]["sidebar_search.placeholder"] + " " + localizedSectionTitle, @@ -8219,7 +7662,7 @@ var SidebarSection = ({ } ) ] }), - /* @__PURE__ */ jsx21(Box11, { sx: styles_default9.sidebarContainerBody, children: /* @__PURE__ */ jsx21( + /* @__PURE__ */ jsx21(Box11, { sx: styles_default8.sidebarContainerBody, children: /* @__PURE__ */ jsx21( sidebar_elements_default, { items: filteredResult, @@ -8235,17 +7678,17 @@ var SidebarSection = ({ Box11, { className: sidebarSectionHidden ? "active" : "", - sx: styles_default9.sidebarContainer, + sx: styles_default8.sidebarContainer, children: [ /* @__PURE__ */ jsxs15( Box11, { className: sidebarSectionHidden ? "sidebarHide" : "", - sx: styles_default9.sidebarContainerBox, + sx: styles_default8.sidebarContainerBox, "data-cy": "sidebar-section", children: [ - /* @__PURE__ */ jsxs15(Box11, { sx: styles_default9.sidebarContainerHeader, children: [ - isEditorPreview && /* @__PURE__ */ jsxs15(Text5, { sx: styles_default9.previewMode, children: [ + /* @__PURE__ */ jsxs15(Box11, { sx: styles_default8.sidebarContainerHeader, children: [ + isEditorPreview && /* @__PURE__ */ jsxs15(Text5, { sx: styles_default8.previewMode, children: [ /* @__PURE__ */ jsxs15( "svg", { @@ -8275,13 +7718,13 @@ var SidebarSection = ({ ), "PREVIEW MODE" ] }), - /* @__PURE__ */ jsx21(Text5, { sx: styles_default9.sidebarTitle, children: localizedSectionTitle }), - /* @__PURE__ */ jsxs15(Flex9, { sx: styles_default9.searchBox, children: [ - /* @__PURE__ */ jsx21(search_icon_default, { sx: styles_default9.searchIcon }), + /* @__PURE__ */ jsx21(Text5, { sx: styles_default8.sidebarTitle, children: localizedSectionTitle }), + /* @__PURE__ */ jsxs15(Flex9, { sx: styles_default8.searchBox, children: [ + /* @__PURE__ */ jsx21(search_icon_default, { sx: styles_default8.searchIcon }), /* @__PURE__ */ jsx21( "input", { - style: styles_default9.searchInput, + style: styles_default8.searchInput, className: "searchComponent", type: "text", placeholder: messages[locale]["sidebar_search.placeholder"] + " " + localizedSectionTitle, @@ -8298,7 +7741,7 @@ var SidebarSection = ({ setMethodFilter: setMethodFilterList } ), - /* @__PURE__ */ jsx21(Box11, { sx: styles_default9.sidebarContainerBody, children: /* @__PURE__ */ jsx21( + /* @__PURE__ */ jsx21(Box11, { sx: styles_default8.sidebarContainerBody, children: /* @__PURE__ */ jsx21( sidebar_elements_default, { items: filteredResult, @@ -8313,7 +7756,7 @@ var SidebarSection = ({ Flex9, { className: "toggleIcon", - sx: sidebarSectionHidden ? styles_default9.toggleIconBoxActive : styles_default9.toggleIconBox, + sx: sidebarSectionHidden ? styles_default8.toggleIconBoxActive : styles_default8.toggleIconBox, children: /* @__PURE__ */ jsx21( sidebar_toggle_icon_default, { @@ -8322,7 +7765,7 @@ var SidebarSection = ({ (sidebarSectionHidden2) => !sidebarSectionHidden2 ); }, - sx: sidebarSectionHidden ? styles_default9.toggleIcon : {} + sx: sidebarSectionHidden ? styles_default8.toggleIcon : {} } ) } @@ -8393,7 +7836,7 @@ var Sidebar = ({ parentsArray = [] }) => { resizeObserver.disconnect; }; }, [titleRef.current]); - return /* @__PURE__ */ jsx22(Box12, { sx: styles_default7.linkContainer, children: /* @__PURE__ */ jsx22( + return /* @__PURE__ */ jsx22(Box12, { sx: styles_default6.linkContainer, children: /* @__PURE__ */ jsx22( tooltip_default, { sx: iconTooltipStyle(iconTooltip2), @@ -8415,12 +7858,12 @@ var Sidebar = ({ parentsArray = [] }) => { children: /* @__PURE__ */ jsxs16( Flex10, { - sx: activeSectionName === sectionElement.id ? styles_default7.iconBoxActive : styles_default7.iconBox, + sx: activeSectionName === sectionElement.id ? styles_default6.iconBoxActive : styles_default6.iconBox, children: [ /* @__PURE__ */ jsx22( sectionElement.Icon, { - sx: activeSectionName === sectionElement.id ? styles_default7.iconActive : styles_default7.icon + sx: activeSectionName === sectionElement.id ? styles_default6.iconActive : styles_default6.icon } ), /* @__PURE__ */ jsx22( @@ -8428,7 +7871,7 @@ var Sidebar = ({ parentsArray = [] }) => { { className: expandDelayStatus ? "iconDescriptionExpanded" : "", ref: titleRef, - sx: styles_default7.iconTitle, + sx: styles_default6.iconTitle, children: sectionElement.title } ) @@ -8440,16 +7883,16 @@ var Sidebar = ({ parentsArray = [] }) => { } ) }); }; - return /* @__PURE__ */ jsxs16(Flex10, { sx: styles_default7.sidebar, children: [ + return /* @__PURE__ */ jsxs16(Flex10, { sx: styles_default6.sidebar, children: [ /* @__PURE__ */ jsx22( Flex10, { className: expandDelayStatus ? "iconContainerExpanded" : "", - sx: styles_default7.sidebarIcons, + sx: styles_default6.sidebarIcons, children: sidebarSections.map((section, id) => { return /* @__PURE__ */ jsxs16(Fragment3, { children: [ - id > 0 && /* @__PURE__ */ jsx22(Box12, { sx: styles_default7.sectionDivider, children: /* @__PURE__ */ jsx22("hr", {}) }, `${id}-divider`), - /* @__PURE__ */ jsx22(Flex10, { sx: styles_default7.sidebarIconsContainer, children: section.map((element) => /* @__PURE__ */ createElement( + id > 0 && /* @__PURE__ */ jsx22(Box12, { sx: styles_default6.sectionDivider, children: /* @__PURE__ */ jsx22("hr", {}) }, `${id}-divider`), + /* @__PURE__ */ jsx22(Flex10, { sx: styles_default6.sidebarIconsContainer, children: section.map((element) => /* @__PURE__ */ createElement( SideBarIcon, { ...element, @@ -8539,7 +7982,7 @@ var arrowIconActive2 = { ...arrowIcon2, color: "#D71D55" }; -var styles_default13 = { +var styles_default12 = { menuContainer, cardContainer, sideMenuContainer, @@ -8592,7 +8035,7 @@ var description2 = { lineHeight: "18px", color: "muted.1" }; -var styles_default14 = { +var styles_default13 = { cardContainer: cardContainer2, description: description2, title: title2, @@ -8604,7 +8047,7 @@ var cardContainer3 = (containerType) => { const containerWidth = containerType === "dropdown" ? ["308px", "442px", "444px", "480px"] : containerType === "mobile" ? "100%" : ["324px", "544px", "544px", "544px", "544px", "720px", "1400px"]; const textWidth = containerType === "dropdown" ? ["276px", "410px", "412px", "432px"] : containerType === "mobile" ? "90%" : ["276px", "496px", "496px", "496px", "496px", "672px", "1352px"]; const cardContainer4 = { - ...styles_default14.cardContainer, + ...styles_default13.cardContainer, width: containerWidth, ".title, .description": { width: textWidth @@ -8615,7 +8058,7 @@ var cardContainer3 = (containerType) => { var titleContainer2 = (containerType) => { const marginBottom = containerType === "dropdown" ? ["5px", "5px", "5px", "1px"] : "8px"; const titleContainer3 = { - ...styles_default14.titleContainer, + ...styles_default13.titleContainer, marginBottom }; return titleContainer3; @@ -8632,7 +8075,7 @@ var cardTitle = (containerType) => { lineHeight: "22px" }; const cardTitle2 = { - ...styles_default14.title, + ...styles_default13.title, ...titleAttributes }; return cardTitle2; @@ -8645,15 +8088,15 @@ var DocumentationCard = ({ description: description4, link: link2, containerType, - Icon: Icon31, + Icon: Icon68, onClick }) => { return /* @__PURE__ */ jsx23(Link6, { href: link2, legacyBehavior: true, children: /* @__PURE__ */ jsx23("a", { onClick, style: { width: "100%" }, children: /* @__PURE__ */ jsxs17(Box13, { sx: cardContainer3(containerType), children: [ /* @__PURE__ */ jsxs17(Flex11, { sx: titleContainer2(containerType), children: [ - /* @__PURE__ */ jsx23(Icon31, { sx: { color: "#4A596B" }, size: 24 }), + /* @__PURE__ */ jsx23(Icon68, { sx: { color: "#4A596B" }, size: 24 }), /* @__PURE__ */ jsx23(Text7, { className: "title", sx: cardTitle(containerType), children: title5 }) ] }), - /* @__PURE__ */ jsx23(Text7, { className: "description", sx: styles_default14.description, children: description4 }) + /* @__PURE__ */ jsx23(Text7, { className: "description", sx: styles_default13.description, children: description4 }) ] }) }) }); }; var documentation_card_default = DocumentationCard; @@ -8814,7 +8257,7 @@ var hitContentHighlighted = { width: "auto", background: "#FFE0EF" }; -var styles_default15 = { +var styles_default14 = { resultsOuterContainer, resultsInnerContainer, resultsBox, @@ -8859,12 +8302,12 @@ var SearchBoxComponent = ({ changeFocus(false); } }; - return /* @__PURE__ */ jsxs18(Flex12, { sx: styles_default15.searchContainer, onClick: handleClick, children: [ - /* @__PURE__ */ jsx24(search_icon_default, { sx: styles_default15.searchIcon }), + return /* @__PURE__ */ jsxs18(Flex12, { sx: styles_default14.searchContainer, onClick: handleClick, children: [ + /* @__PURE__ */ jsx24(search_icon_default, { sx: styles_default14.searchIcon }), /* @__PURE__ */ jsx24( "input", { - style: styles_default15.searchInput, + style: styles_default14.searchInput, ref: inputRef, className: "searchComponent", type: "text", @@ -8893,168 +8336,156 @@ import { Box as Box14, Flex as Flex14, IconCaret as IconCaret3, Text as Text9 } // src/components/icons/api-guides-icon.tsx import { Icon as Icon8 } from "@vtex/brand-ui"; import { jsx as jsx25, jsxs as jsxs19 } from "react/jsx-runtime"; - -// src/components/icons/api-reference-icon.tsx -import { Icon as Icon9 } from "@vtex/brand-ui"; -import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime"; - -// src/components/icons/app-development-icon.tsx -import { Icon as Icon10 } from "@vtex/brand-ui"; -import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime"; - -// src/components/icons/release-notes-icon.tsx -import { Icon as Icon11 } from "@vtex/brand-ui"; -import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime"; - -// src/components/icons/storefront-development-icon.tsx -import { Icon as Icon12 } from "@vtex/brand-ui"; -import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime"; - -// src/components/icons/vtex-io-apps-icon.tsx -import { Icon as Icon13 } from "@vtex/brand-ui"; -import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime"; - -// src/components/icons/troubleshooting-icon.tsx -import { Icon as Icon14 } from "@vtex/brand-ui"; -import { jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime"; - -// src/components/icons/added-icon.tsx -import { Icon as Icon15 } from "@vtex/brand-ui"; -import { jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime"; -var AddedIcon = (props) => /* @__PURE__ */ jsxs26( - Icon15, +var APIGuidesIcon = (props) => /* @__PURE__ */ jsxs19( + Icon8, { ...props, - viewBox: "0 0 16 17", + viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx32("circle", { cx: "8", cy: "8", r: "8", fill: "#DFF1E0" }), - /* @__PURE__ */ jsxs26("g", { clipPath: "url(#clip0_2354_76889)", children: [ - /* @__PURE__ */ jsx32( - "path", - { - d: "M4.33398 8H11.6673", - stroke: "#38853C", - strokeWidth: "1.5", - strokeLinecap: "round", - strokeLinejoin: "round" - } - ), - /* @__PURE__ */ jsx32( - "path", - { - d: "M8 4.33594V11.6693", - stroke: "#38853C", - strokeWidth: "1.5", - strokeLinecap: "round", - strokeLinejoin: "round" - } - ), - /* @__PURE__ */ jsx32( - "path", - { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M3.93359 8.00026C3.93359 7.77935 4.11268 7.60026 4.33359 7.60026H11.6669C11.8878 7.60026 12.0669 7.77935 12.0669 8.00026C12.0669 8.22117 11.8878 8.40026 11.6669 8.40026H4.33359C4.11268 8.40026 3.93359 8.22117 3.93359 8.00026Z", - fill: "#38853C" - } - ), - /* @__PURE__ */ jsx32( - "path", - { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M8.00026 3.93359C8.22117 3.93359 8.40026 4.11268 8.40026 4.33359V11.6669C8.40026 11.8878 8.22117 12.0669 8.00026 12.0669C7.77935 12.0669 7.60026 11.8878 7.60026 11.6669V4.33359C7.60026 4.11268 7.77935 3.93359 8.00026 3.93359Z", - fill: "#38853C" - } - ), - /* @__PURE__ */ jsx32( - "path", - { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M3.93359 8.00026C3.93359 7.77935 4.11268 7.60026 4.33359 7.60026H11.6669C11.8878 7.60026 12.0669 7.77935 12.0669 8.00026C12.0669 8.22117 11.8878 8.40026 11.6669 8.40026H4.33359C4.11268 8.40026 3.93359 8.22117 3.93359 8.00026Z", - stroke: "#38853C", - strokeWidth: "0.5", - strokeLinecap: "round", - strokeLinejoin: "round" - } - ), - /* @__PURE__ */ jsx32( - "path", - { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M8.00026 3.93359C8.22117 3.93359 8.40026 4.11268 8.40026 4.33359V11.6669C8.40026 11.8878 8.22117 12.0669 8.00026 12.0669C7.77935 12.0669 7.60026 11.8878 7.60026 11.6669V4.33359C7.60026 4.11268 7.77935 3.93359 8.00026 3.93359Z", - stroke: "#38853C", - strokeWidth: "0.5", - strokeLinecap: "round", - strokeLinejoin: "round" - } - ) - ] }), - /* @__PURE__ */ jsx32("defs", { children: /* @__PURE__ */ jsx32("clipPath", { id: "clip0_2354_76889", children: /* @__PURE__ */ jsx32( - "rect", + /* @__PURE__ */ jsx25( + "path", { - width: "10.6667", - height: "10.6667", - fill: "white", - transform: "translate(2.66699 3.66504)" + fillRule: "evenodd", + clipRule: "evenodd", + d: "M24.5518 8.552L20.7812 4.78133C20.2812 4.28133 19.6025 4 18.8958 4H9.33317C7.85984 4 6.6665 5.19333 6.6665 6.66667V25.3333C6.6665 26.8067 7.85984 28 9.33317 28H22.6665C24.1398 28 25.3332 26.8067 25.3332 25.3333V10.4373C25.3332 9.73067 25.0518 9.052 24.5518 8.552V8.552Z", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" } - ) }) }) + ), + /* @__PURE__ */ jsx25( + "path", + { + d: "M25.3332 10.6667H19.9998C19.2638 10.6667 18.6665 10.0693 18.6665 9.33333V4", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx25( + "path", + { + d: "M10.6665 14.6667H18.6665", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx25( + "path", + { + d: "M10.6665 18.6667H18.6665", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx25( + "path", + { + d: "M10.6665 22.6667H16.4398", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) ] } ); -var added_icon_default = AddedIcon; +var api_guides_icon_default = APIGuidesIcon; -// src/components/icons/deprecated-icon.tsx -import { Icon as Icon16 } from "@vtex/brand-ui"; -import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime"; -var DeprecatedIcon = (props) => /* @__PURE__ */ jsxs27( - Icon16, +// src/components/icons/api-reference-icon.tsx +import { Icon as Icon9 } from "@vtex/brand-ui"; +import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime"; +var APIReferenceIcon = (props) => /* @__PURE__ */ jsxs20( + Icon9, { ...props, - viewBox: "0 0 16 16", + viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx33("circle", { cx: "8", cy: "8", r: "8", fill: "#E7E9EE" }), - /* @__PURE__ */ jsx33( + /* @__PURE__ */ jsx26( "path", { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M3.8335 8C3.8335 7.72386 4.05735 7.5 4.3335 7.5H11.6668C11.943 7.5 12.1668 7.72386 12.1668 8C12.1668 8.27614 11.943 8.5 11.6668 8.5H4.3335C4.05735 8.5 3.8335 8.27614 3.8335 8Z", - fill: "black" + d: "M24.7612 26.6668C26.4439 26.6668 27.8092 25.3028 27.8092 23.6188V17.5242L29.3332 16.0002L27.8092 14.4762V8.3815C27.8092 6.6975 26.4452 5.3335 24.7612 5.3335", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx26( + "path", + { + d: "M12 22.6668L20 9.3335", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx26( + "path", + { + d: "M7.2385 5.3335C5.5545 5.3335 4.1905 6.6975 4.1905 8.3815V14.4762L2.6665 16.0002L4.1905 17.5242V23.6188C4.1905 25.3028 5.5545 26.6668 7.2385 26.6668", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" } ) ] } ); -var deprecated_icon_default = DeprecatedIcon; +var api_reference_icon_default = APIReferenceIcon; -// src/components/icons/fixed-icon.tsx -import { Icon as Icon17 } from "@vtex/brand-ui"; -import { jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime"; -var FixedIcon = (props) => /* @__PURE__ */ jsxs28( - Icon17, +// src/components/icons/app-development-icon.tsx +import { Icon as Icon10 } from "@vtex/brand-ui"; +import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime"; +var AppDevelopmentIcon = (props) => /* @__PURE__ */ jsxs21( + Icon10, { ...props, - viewBox: "0 0 16 17", + viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx34("circle", { cx: "8", cy: "8", r: "8", fill: "#DEECF7" }), - /* @__PURE__ */ jsx34( + /* @__PURE__ */ jsx27( "path", { fillRule: "evenodd", clipRule: "evenodd", - d: "M12.0206 5.31442C12.2158 5.50969 12.2158 5.82627 12.0205 6.02153L7.35387 10.688C7.15861 10.8832 6.84205 10.8832 6.64679 10.688L4.31345 8.35487C4.11818 8.15962 4.11817 7.84304 4.31342 7.64776C4.50868 7.45249 4.82526 7.45248 5.02053 7.64773L7.00032 9.62734L11.3134 5.31441C11.5087 5.11915 11.8253 5.11916 12.0206 5.31442Z", - fill: "#2953B2", - stroke: "#2953B2", - strokeWidth: "0.5", + d: "M4 9.36533L15.9827 14.732L28 9.36533L16.0173 4L4 9.36533Z", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx27( + "path", + { + d: "M20.5813 19.312L28 22.6347L15.9827 28L4 22.6347L11.4187 19.3213", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx27( + "path", + { + d: "M20.5813 12.6787L28 16L15.9827 21.3654L4 16L11.4187 12.688", + stroke: "#4A596B", + strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" } @@ -9062,480 +8493,155 @@ var FixedIcon = (props) => /* @__PURE__ */ jsxs28( ] } ); -var fixed_icon_default = FixedIcon; +var app_development_icon_default = AppDevelopmentIcon; -// src/components/icons/improved-icon.tsx -import { Icon as Icon18 } from "@vtex/brand-ui"; -import { jsx as jsx35, jsxs as jsxs29 } from "react/jsx-runtime"; -var ImprovedIcon = (props) => /* @__PURE__ */ jsxs29( - Icon18, +// src/components/icons/release-notes-icon.tsx +import { Icon as Icon11 } from "@vtex/brand-ui"; +import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime"; +var ReleaseNotesIcon = (props) => /* @__PURE__ */ jsxs22( + Icon11, { ...props, - viewBox: "0 0 16 16", + viewBox: "0 0 24 25", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx35("circle", { cx: "8.5", cy: "8", r: "8", fill: "#FFEBD7" }), - /* @__PURE__ */ jsx35( + /* @__PURE__ */ jsx28( "path", { - d: "M12.5 10L8.49511 6L4.5 10", - stroke: "#D56A00", + d: "M10 8.5V16.5", + stroke: "#4A596B", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" } - ) - ] - } -); -var improved_icon_default = ImprovedIcon; - -// src/components/icons/removed-icon.tsx -import { Icon as Icon19 } from "@vtex/brand-ui"; -import { jsx as jsx36, jsxs as jsxs30 } from "react/jsx-runtime"; -var RemovedIcon = (props) => /* @__PURE__ */ jsxs30( - Icon19, - { - ...props, - viewBox: "0 0 16 16", - fill: "none", - xmlns: "http://www.w3.org/2000/svg", - children: [ - /* @__PURE__ */ jsx36("circle", { cx: "8.5", cy: "8", r: "8", fill: "#F8E3E3" }), - /* @__PURE__ */ jsx36( + ), + /* @__PURE__ */ jsx28( "path", { - d: "M5.83203 5.33594L11.1654 10.6693", - stroke: "#CC3D3D", + d: "M14 8.5V16.5", + stroke: "#4A596B", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" } ), - /* @__PURE__ */ jsx36( + /* @__PURE__ */ jsx28( "path", { - d: "M11.1654 5.33594L5.83203 10.6693", - stroke: "#CC3D3D", + d: "M8 14.5H16", + stroke: "#4A596B", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" } - ) - ] + ), + /* @__PURE__ */ jsx28( + "path", + { + d: "M8 10.5H16", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx28( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M21 7.5V17.5C21 19.709 19.209 21.5 17 21.5H7C4.791 21.5 3 19.709 3 17.5V7.5C3 5.291 4.791 3.5 7 3.5H17C19.209 3.5 21 5.291 21 7.5Z", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] } ); -var removed_icon_default = RemovedIcon; +var release_notes_icon_default = ReleaseNotesIcon; -// src/utils/search-utils.ts -var getBreadcrumbs = (hit) => { - const breadcrumbs = []; - if (hit.doctype === "API Reference" && hit.doccategory) - breadcrumbs.push(hit.doccategory); - breadcrumbs.push(hit.doctitle); - return breadcrumbs; -}; -var getRelativeURL = (url) => { - const relativeURL = url.replace(/^(?:\/\/|[^/]+)*\//, ""); - return "/" + relativeURL; -}; -var getIconFromSection = (sections, id) => { - return sections.flat().find((section) => section.id === id)?.Icon; -}; -var actions = [ - { - type: "added", - title: "Added", - Icon: added_icon_default - }, - { - type: "deprecated", - title: "Deprecated", - Icon: deprecated_icon_default - }, - { - type: "fixed", - title: "Fixed", - Icon: fixed_icon_default - }, - { - type: "improved", - title: "Improved", - Icon: improved_icon_default - }, +// src/components/icons/storefront-development-icon.tsx +import { Icon as Icon12 } from "@vtex/brand-ui"; +import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime"; +var StorefrontDevelopmentIcon = (props) => /* @__PURE__ */ jsxs23( + Icon12, { - type: "removed", - title: "Removed", - Icon: removed_icon_default - } -]; -var getAction = (actionType) => { - return actions.find((action) => action.type === actionType); -}; -var getTitleById = (sections, id) => { - return sections.flat().find((item2) => item2.id === id)?.title || id; -}; - -// src/components/search-input/customHighlight.tsx -import { useEffect as useEffect9, useRef as useRef6, useState as useState8 } from "react"; -import { connectHighlight } from "react-instantsearch-dom"; -import { Flex as Flex13, Text as Text8 } from "@vtex/brand-ui"; -import { jsx as jsx37 } from "react/jsx-runtime"; -var Highlight = ({ - highlight, - attribute, - hit, - searchPage -}) => { - const [parsedHit, setParsedHit] = useState8([]); - const textContainer = useRef6(null); - const hitHighlights = highlight({ - highlightProperty: "_highlightResult", - attribute: hit.type != "content" ? `hierarchy.${hit.type}` : attribute, - hit - }); - const maxDescriptionSize = 700; - const ellipsedContent = []; - if (searchPage) { - let charCount = 0; - hitHighlights.forEach((part) => { - if (maxDescriptionSize - charCount <= 0) - return; - if (part.value.length + charCount >= maxDescriptionSize) { - part.value = part.value.slice(0, maxDescriptionSize - charCount - 3) + "..."; - } - charCount += part.value.length; - ellipsedContent.push(part); - }); - } - useEffect9(() => { - if (searchPage) - return; - const titleSize = textContainer.current ? textContainer.current.offsetWidth / 7.75 : 40; - const highlightParts = []; - let highlightCount = 0, highlightLength = 0; - hitHighlights.forEach((match, index) => { - const isBetween = index > 0 && index < hitHighlights.length - 1 ? true : false; - if (match.isHighlighted) { - if (isBetween) - highlightCount++; - highlightCount++; - highlightLength += match.value.length; - } else { - highlightParts.push({ - index, - isBetween, - size: match.value.length - }); - } - }); - highlightParts.sort( - (a, b) => a.size - b.size - ); - let sizeRemaining = titleSize - highlightLength; - let size = sizeRemaining / (highlightCount || 1); - highlightParts.forEach((match) => { - const value = hitHighlights[match.index].value; - if (match.isBetween) { - if (match.size >= size * 2) { - const reticences = (size * 2 - 3) / 2; - hitHighlights[match.index].value = value.slice(0, reticences) + "..." + value.slice(value.length - reticences); - sizeRemaining -= size * 2; - } else { - sizeRemaining -= match.size; + ...props, + viewBox: "0 0 32 32", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx29( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M29.3332 6.67107V25.3324C29.3332 26.8057 28.1398 27.9991 26.6665 27.9991H5.33317C3.85984 27.9991 2.6665 26.8057 2.6665 25.3324V6.7164C2.6665 5.24573 3.85717 4.0524 5.32784 4.04973L26.6612 4.0044C28.1358 4.00173 29.3332 5.1964 29.3332 6.67107Z", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" } - highlightCount -= 2; - } else { - if (match.size >= size) { - if (match.index === 0) - hitHighlights[match.index].value = "..." + value.slice(value.length - (size - 3)); - else - hitHighlights[match.index].value = value.slice(0, size - 3) + "..."; - sizeRemaining -= size; - } else { - sizeRemaining -= match.size; + ), + /* @__PURE__ */ jsx29( + "path", + { + d: "M10.6667 7.98568C10.6627 7.98568 10.66 7.98835 10.66 7.99235C10.66 7.99635 10.6627 7.99902 10.6667 7.99902C10.6707 7.99902 10.6733 7.99635 10.6733 7.99235C10.6733 7.98835 10.6707 7.98568 10.6667 7.98568", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" } - highlightCount -= 1; - } - size = sizeRemaining / highlightCount; - hitHighlights[match.index].value = hitHighlights[match.index].value.replace(/\s+/g, "\xA0"); - }); - setParsedHit(hitHighlights); - }, [hit, textContainer.current]); - return /* @__PURE__ */ jsx37( - Flex13, - { - ref: textContainer, - className: "hit-content-title", - sx: styles_default15.hitContentContainer, - children: /* @__PURE__ */ jsx37(Text8, { sx: searchPage ? styles_default15.hitContent : styles_default15.hitContentSmall, children: (searchPage ? ellipsedContent : parsedHit).map( - (part, index) => part.isHighlighted ? /* @__PURE__ */ jsx37("mark", { style: styles_default15.hitContentHighlighted, children: part.value }, index) : part.value - ) }) - } - ); -}; -var connectedHighlight = connectHighlight(Highlight); -var customHighlight_default = connectedHighlight; - -// src/components/search-input/results-box.tsx -import { useContext as useContext8 } from "react"; -import { Fragment as Fragment4, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime"; -var Hit2 = ({ hit, insights }) => { - const { sidebarSections } = useContext8(LibraryContext); - const breadcrumbsList = getBreadcrumbs(hit); - const DocIcon = getIconFromSection(sidebarSections, hit.doctype); - return /* @__PURE__ */ jsx38(Link7, { href: getRelativeURL(hit.url), legacyBehavior: true, children: /* @__PURE__ */ jsx38( - "a", - { - onClick: () => insights("clickedObjectIDsAfterSearch", { - eventName: "Search in top bar", - objectIDs: [hit.objectID] - }), - children: /* @__PURE__ */ jsxs31(Box14, { sx: styles_default15.hitBox, children: [ - /* @__PURE__ */ jsxs31(Flex14, { children: [ - DocIcon && /* @__PURE__ */ jsx38(DocIcon, { className: "hit-icon", sx: styles_default15.hitIcon }), - /* @__PURE__ */ jsx38(Text9, { sx: styles_default15.hitContent, children: /* @__PURE__ */ jsx38(customHighlight_default, { hit, attribute: "content" }) }) - ] }), - /* @__PURE__ */ jsxs31(Flex14, { sx: styles_default15.alignCenter, children: [ - /* @__PURE__ */ jsx38(Text9, { sx: styles_default15.hitBreadCrumbIn, children: `In ${hit.doctype}` }), - breadcrumbsList.length > 0 && /* @__PURE__ */ jsx38(IconCaret3, { direction: "right", sx: styles_default15.hitBreadCrumbArrow }), - breadcrumbsList.map((filter, index) => /* @__PURE__ */ jsxs31(Flex14, { sx: styles_default15.alignCenter, children: [ - /* @__PURE__ */ jsx38(Text9, { sx: styles_default15.hitBreadCrumb, children: filter }), - index < breadcrumbsList.length - 1 ? /* @__PURE__ */ jsx38(IconCaret3, { direction: "right", sx: styles_default15.hitBreadCrumbArrow }) : null - ] }, `${filter}${index}`)) - ] }) - ] }) - } - ) }); -}; -var HitWithInsights = connectHitInsights(aa)(Hit2); -var HitsBox = connectStateResults( - ({ searchState, searchResults, changeFocus }) => { - const router = useRouter5(); - const { locale } = useContext8(LibraryContext); - const seeAllSubmit = (keyword) => { - router.push({ - pathname: "/search", - query: { keyword } - }); - changeFocus(false); - }; - const setQueryIDAndPosition = (hit, index) => { - return { - ...hit, - __queryID: searchResults.queryID || "", - __position: searchResults.hitsPerPage * searchResults.page + index + 1 - }; - }; - return /* @__PURE__ */ jsx38(Fragment4, { children: searchResults && /* @__PURE__ */ jsx38(Box14, { sx: styles_default15.resultsOuterContainer, children: /* @__PURE__ */ jsxs31(Box14, { sx: styles_default15.resultsInnerContainer, children: [ - /* @__PURE__ */ jsx38(Box14, { sx: searchResults.hits.length && styles_default15.resultsBox, children: searchResults.hits.map( - (searchResult, index) => index < 7 && /* @__PURE__ */ jsx38( - Box14, - { - onClick: () => changeFocus(false), - children: /* @__PURE__ */ jsx38( - HitWithInsights, - { - hit: setQueryIDAndPosition(searchResult, index) - } - ) - }, - `matched-result-${index}` - ) - ) }), - searchResults.hits.length > 7 && /* @__PURE__ */ jsx38( - Box14, + ), + /* @__PURE__ */ jsx29( + "path", { - sx: styles_default15.seeAll, - onClick: () => seeAllSubmit(searchState.query || ""), - children: /* @__PURE__ */ jsx38(Text9, { children: messages[locale]["search_input.see_all"] || "See all results" }) + d: "M14.673 7.99252C14.669 7.99252 14.6663 7.99519 14.6663 7.99919C14.6663 8.00319 14.669 8.00585 14.673 8.00585C14.677 8.00585 14.6797 8.00319 14.6797 7.99919C14.6797 7.99519 14.677 7.99252 14.673 7.99252", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" } ), - !searchResults.hits.length && /* @__PURE__ */ jsx38(Flex14, { sx: styles_default15.noResults, children: /* @__PURE__ */ jsx38(Text9, { children: messages[locale]["search_input.empty"] || "No results found. Try different search terms." }) }) - ] }) }) }); - } -); -var results_box_default = HitsBox; - -// src/components/search-input/index.tsx -import { Box as Box15 } from "@vtex/brand-ui"; -import { useContext as useContext9, useRef as useRef7, useState as useState9 } from "react"; - -// src/utils/config/search-config.ts -var import_lite = __toESM(require_lite()); -import aa2 from "search-insights"; -var searchClient = {}; -var searchIndex = ""; -var createAlgoliaClient = (config) => { - const { - apiKey, - appId, - index, - algoliaOptions, - customOptions, - instantSearchConfigs, - useLanguageFilter = true - } = config; - searchIndex = index; - aa2("init", { - appId: appId || "", - apiKey: apiKey || "", - useCookie: false - }); - aa2("getUserToken", null, (err) => { - if (err) { - console.error(err); - return; - } - }); - const algoliaClient = (0, import_lite.default)(appId || "", apiKey || "", algoliaOptions); - searchClient = { - ...algoliaClient, - ...customOptions, - instantSearchConfigs, - useLanguageFilter, - search(requests) { - if (requests.every(({ params }) => !params?.query)) - return; - return algoliaClient.search(requests); - } - }; -}; -var search_config_default = createAlgoliaClient; - -// src/components/search-input/index.tsx -import { jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime"; -function SearchInput() { - const { locale } = useContext9(LibraryContext); - const [focusOut, setfocusOut] = useState9({ - modaltoggle: true - }); - const resultsBox2 = useRef7(); - useClickOutside(resultsBox2, setfocusOut); - const changeFocus = (value) => { - setfocusOut({ modaltoggle: value }); - }; - return /* @__PURE__ */ jsxs32(InstantSearch, { searchClient, indexName: searchIndex, children: [ - searchClient.instantSearchConfigs && /* @__PURE__ */ jsx39(Configure, { ...searchClient.instantSearchConfigs }), - searchClient.useLanguageFilter && /* @__PURE__ */ jsx39( - Configure, - { - clickAnalytics: true, - facetFilters: [`language:${locale}`] - } - ), - !searchClient.useLanguageFilter && /* @__PURE__ */ jsx39(Configure, { clickAnalytics: true }), - /* @__PURE__ */ jsxs32(Box15, { onFocus: () => setfocusOut({ modaltoggle: true }), ref: resultsBox2, children: [ - /* @__PURE__ */ jsx39(search_box_default, { changeFocus }), - focusOut.modaltoggle && /* @__PURE__ */ jsx39(results_box_default, { changeFocus }) - ] }) - ] }); -} - -// src/lib/hamburger-menu/index.tsx -import { jsx as jsx40, jsxs as jsxs33 } from "react/jsx-runtime"; -var HamburgerMenu = ({ parentsArray = [] }) => { - const context = useContext10(LibraryContext); - const { - sidebarDataMaster, - sidebarSectionHidden, - activeSectionName, - setActiveSectionName, - setSidebarSectionHidden, - hamburguerSections - } = context; - const isDocument = (sections, documentID) => { - let isDoc = false; - if (Array.isArray(sections)) { - isDoc = sections.find((section) => section.documentation === documentID); - } - return isDoc; - }; - updateOpenPage({ parentsArray, context }); - return /* @__PURE__ */ jsx40(Header.ActionButton, { children: /* @__PURE__ */ jsx40(VtexHamburgerMenu, { sx: styles_default13.hamburgerContainer, children: /* @__PURE__ */ jsx40(VtexHamburgerMenu.Menu, { sx: styles_default13.innerHambugerContainer, children: /* @__PURE__ */ jsxs33(Box16, { sx: styles_default13.menuContainer, children: [ - /* @__PURE__ */ jsxs33(Box16, { sx: styles_default13.cardContainer, children: [ - /* @__PURE__ */ jsx40(Box16, { sx: styles_default13.hamburgerSearchContainer, children: /* @__PURE__ */ jsx40(SearchInput, {}) }), - hamburguerSections.map((section, id) => /* @__PURE__ */ jsx40( - Box16, + /* @__PURE__ */ jsx29( + "path", { - sx: id > 0 ? styles_default13.updatesContainer : styles_default13.documentationContainer, - "data-cy": "dropdown-menu-first-section", - children: section.map((card) => /* @__PURE__ */ jsxs33(Box16, { sx: styles_default13.innerCardContainer, children: [ - /* @__PURE__ */ jsx40(documentation_card_default, { containerType: "mobile", ...card }), - isDocument(sidebarDataMaster, card.id) ? /* @__PURE__ */ jsx40( - Button4, - { - "aria-label": "Open sidebar", - size: "regular", - variant: "tertiary", - icon: () => /* @__PURE__ */ jsx40(IconCaret4, { direction: "right", size: 32 }), - sx: activeSectionName === card.id && !sidebarSectionHidden ? styles_default13.arrowIconActive : styles_default13.arrowIcon, - onClick: () => { - setActiveSectionName(card.id); - setSidebarSectionHidden(false); - } - } - ) : null - ] }, card.title)) - }, - id - )) - ] }), - /* @__PURE__ */ jsx40( - Box16, - { - className: sidebarSectionHidden || !activeSectionName ? "" : "menuHidden", - sx: styles_default13.sideMenuContainer, - children: activeSectionName ? /* @__PURE__ */ jsx40( - sidebar_section_default, - { - isHamburgerMenu: true, - ...Array.isArray(sidebarDataMaster) ? sidebarDataMaster?.find( - (section) => section.documentation === activeSectionName - ) : null - } - ) : null - } - ) - ] }) }) }) }); -}; -var hamburger_menu_default = HamburgerMenu; - -// src/lib/feedback-section/index.tsx -import { Flex as Flex16, Text as Text11, Link as Link8 } from "@vtex/brand-ui"; - -// src/components/icons/edit-icon.tsx -import { Icon as Icon20 } from "@vtex/brand-ui"; -import { jsx as jsx41, jsxs as jsxs34 } from "react/jsx-runtime"; -var EditIcon = (props) => /* @__PURE__ */ jsxs34( - Icon20, - { - ...props, - width: "25", - height: "25", - viewBox: "0 0 25 25", - fill: "none", - xmlns: "http://www.w3.org/2000/svg", - children: [ - /* @__PURE__ */ jsx41( + d: "M6.66667 7.99887C6.66267 7.99887 6.66 8.00153 6.66 8.00553C6.66 8.00953 6.66267 8.0122 6.66667 8.0122C6.67067 8.0122 6.67333 8.00953 6.67333 8.00553C6.67333 8.00153 6.67067 7.99887 6.66667 7.99887", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx29( "path", { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M5.793 16.6107L16.119 6.28469C16.509 5.89469 17.142 5.89469 17.532 6.28469L19.208 7.96069C19.598 8.35069 19.598 8.98369 19.208 9.37369L8.881 19.6987C8.694 19.8867 8.44 19.9917 8.175 19.9917H5.5V17.3167C5.5 17.0517 5.605 16.7977 5.793 16.6107Z", - stroke: "currentColor", - strokeWidth: "1.5", + d: "M12.0667 14.999H20.6L19.6667 19.6657H13L11.6667 12.999H10", + stroke: "#4A596B", + strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" } ), - /* @__PURE__ */ jsx41( + /* @__PURE__ */ jsx29( "path", { - d: "M14.25 8.15234L17.34 11.2423", - stroke: "currentColor", - strokeWidth: "1.5", + d: "M19.0468 22.952C19.0728 22.9781 19.0728 23.0203 19.0468 23.0463C19.0208 23.0724 18.9786 23.0724 18.9525 23.0463C18.9265 23.0203 18.9265 22.9781 18.9525 22.952C18.9786 22.926 19.0208 22.926 19.0468 22.952", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx29( + "path", + { + d: "M13.7138 22.952C13.7398 22.9781 13.7398 23.0203 13.7138 23.0463C13.6878 23.0724 13.6456 23.0724 13.6195 23.0463C13.5935 23.0203 13.5935 22.9781 13.6195 22.952C13.6456 22.926 13.6878 22.926 13.7138 22.952", + stroke: "#4A596B", + strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" } @@ -9543,39 +8649,63 @@ var EditIcon = (props) => /* @__PURE__ */ jsxs34( ] } ); -var edit_icon_default = EditIcon; +var storefront_development_icon_default = StorefrontDevelopmentIcon; -// src/components/icons/like-icon.tsx -import { Icon as Icon21 } from "@vtex/brand-ui"; -import { jsx as jsx42, jsxs as jsxs35 } from "react/jsx-runtime"; -var LikeIcon = (props) => /* @__PURE__ */ jsxs35( - Icon21, +// src/components/icons/vtex-io-apps-icon.tsx +import { Icon as Icon13 } from "@vtex/brand-ui"; +import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime"; +var VTEXIOAppsIcon = (props) => /* @__PURE__ */ jsxs24( + Icon13, { ...props, - width: "25", - height: "25", - viewBox: "0 0 25 25", + viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx42( + /* @__PURE__ */ jsx30( "path", { fillRule: "evenodd", clipRule: "evenodd", - d: "M7.444 19.9922H5.556C4.973 19.9922 4.5 19.5192 4.5 18.9362V11.5482C4.5 10.9652 4.973 10.4922 5.556 10.4922H7.444C8.027 10.4922 8.5 10.9652 8.5 11.5482V18.9362C8.5 19.5192 8.027 19.9922 7.444 19.9922V19.9922Z", + d: "M10.3333 15.999H6.66667C5.19333 15.999 4 14.8057 4 13.3324V6.66569C4 5.19236 5.19333 3.99902 6.66667 3.99902H10.3333C11.8067 3.99902 13 5.19236 13 6.66569V13.3324C13 14.8057 11.8067 15.999 10.3333 15.999Z", stroke: "#4A596B", - strokeWidth: "1.5", + strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" } ), - /* @__PURE__ */ jsx42( + /* @__PURE__ */ jsx30( "path", { - d: "M8.5 11.5638L12.149 6.81276C12.828 5.92776 14.154 5.90576 14.863 6.76676V6.76676C15.128 7.08776 15.272 7.49176 15.272 7.90776V11.1788H18.368C18.969 11.1788 19.53 11.4788 19.864 11.9778L20.193 12.4688C20.488 12.9098 20.574 13.4588 20.427 13.9678L19.068 18.6898C18.846 19.4608 18.141 19.9918 17.339 19.9918H11.05C10.55 19.9918 10.072 19.7838 9.732 19.4178L8.5 18.0918", + fillRule: "evenodd", + clipRule: "evenodd", + d: "M10.3333 27.999H6.66667C5.19333 27.999 4 26.8057 4 25.3324V24.6657C4 23.1924 5.19333 21.999 6.66667 21.999H10.3333C11.8067 21.999 13 23.1924 13 24.6657V25.3324C13 26.8057 11.8067 27.999 10.3333 27.999Z", stroke: "#4A596B", - strokeWidth: "1.5", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx30( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M21.6667 15.999H25.3333C26.8067 15.999 28 17.1924 28 18.6657V25.3324C28 26.8057 26.8067 27.999 25.3333 27.999H21.6667C20.1933 27.999 19 26.8057 19 25.3324V18.6657C19 17.1924 20.1933 15.999 21.6667 15.999Z", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx30( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M21.6667 3.99902H25.3333C26.8067 3.99902 28 5.19236 28 6.66569V7.33236C28 8.80569 26.8067 9.99902 25.3333 9.99902H21.6667C20.1933 9.99902 19 8.80569 19 7.33236V6.66569C19 5.19236 20.1933 3.99902 21.6667 3.99902Z", + stroke: "#4A596B", + strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" } @@ -9583,358 +8713,254 @@ var LikeIcon = (props) => /* @__PURE__ */ jsxs35( ] } ); -var like_icon_default = LikeIcon; +var vtex_io_apps_icon_default = VTEXIOAppsIcon; -// src/components/icons/like-selected-icon.tsx -import { Icon as Icon22 } from "@vtex/brand-ui"; -import { jsx as jsx43, jsxs as jsxs36 } from "react/jsx-runtime"; -var LikeSelectedIcon = (props) => /* @__PURE__ */ jsxs36( - Icon22, +// src/components/icons/troubleshooting-icon.tsx +import { Icon as Icon14 } from "@vtex/brand-ui"; +import { jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime"; +var TroubleshootingIcon = (props) => /* @__PURE__ */ jsxs25( + Icon14, { ...props, - width: "24", - height: "24", - viewBox: "0 0 24 24", + viewBox: "0 0 36 36", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx43( + /* @__PURE__ */ jsx31( "path", { + d: "M16,11.4,13.734,9.331A6.487,6.487,0,0,0,5.366,1.366L9,5,5,9,1.366,5.366a6.49,6.49,0,0,0,7.965,8.368L11.2,15.779", fillRule: "evenodd", clipRule: "evenodd", - d: "M8 10.5719L11.649 5.82094C12.328 4.93594 13.654 4.91394 14.363 5.77494C14.628 6.09594 14.772 6.49994 14.772 6.91594V10.1869H17.868C18.469 10.1869 19.03 10.4869 19.364 10.9859L19.693 11.4769C19.988 11.9179 20.074 12.4669 19.927 12.9759L18.568 17.6979C18.346 18.4689 17.641 18.9999 16.839 18.9999H10.55C10.05 18.9999 9.572 18.7919 9.232 18.4259L8 17.0999", - fill: "#A1A8B3" + stroke: "#4A596B", + strokeWidth: "2" } ), - /* @__PURE__ */ jsx43( + /* @__PURE__ */ jsx31( "path", { - d: "M5.056 19.5H6.944C7.80314 19.5 8.5 18.8031 8.5 17.944V10.556C8.5 9.69686 7.80314 9 6.944 9H5.056C4.19686 9 3.5 9.69686 3.5 10.556V17.944C3.5 18.8031 4.19686 19.5 5.056 19.5Z", - fill: "#A1A8B3", - stroke: "white", - strokeLinecap: "round", - strokeLinejoin: "round" + d: "M18.642,23.943l5.842,6.4a2,2,0,0,0,2.892.066l3.038-3.038a2,2,0,0,0-.066-2.892L23.6,18.325", + fillRule: "evenodd", + clipRule: "evenodd", + stroke: "#4A596B", + strokeWidth: "2" } - ) - ] - } -); -var like_selected_icon_default = LikeSelectedIcon; - -// src/lib/feedback-section/index.tsx -import { useContext as useContext11, useEffect as useEffect10, useState as useState11 } from "react"; - -// src/lib/feedback-section/styles.ts -var container5 = ({ small } = {}) => ({ - width: "100%", - flexDirection: small ? "column" : ["column", "row"], - alignItems: small ? "flex-start" : "center", - alignContent: ["initial", "space-between"], - justifyContent: ["initial", "space-between"], - marginTop: small ? "0px" : "32px", - marginBottom: small ? "0px" : "16px", - gap: small ? "8px" : "0px" -}); -var question = ({ small } = {}) => ({ - fontSize: small ? "12px" : "16px", - lineHeight: "18px", - color: "#4A596B" -}); -var iconsContainer = ({ small } = {}) => ({ - display: "flex", - alignItems: "center", - gap: small ? "0px" : "4px", - ml: small ? "3px" : "6px" -}); -var likeContainer = { - paddingBottom: ["16px", "0"], - borderBottom: ["1px solid #E7E9EE", "none"], - mt: ["8px", "0"], - mb: ["16px", "0"], - width: ["100%", "auto"], - justifyContent: ["center", "initial"], - alignItems: "center" -}; -var likeIcon = { - mr: "2px" -}; -var dislikeIcon = { - mr: "2px", - transform: "rotateX(180deg) rotateY(180deg)" -}; -var button = { - ":hover": { - cursor: "pointer", - color: "#000711", - "svg > path": { - stroke: "#000711" - } - } -}; -var buttonActive = { - cursor: "pointer", - color: "#000711", - "svg > path": { - stroke: "#000711" - } -}; -var selectedButton = { - color: "muted.1" -}; -var box = ({ small } = {}) => ({ - alignItems: "center", - color: "muted.0", - fontSize: small ? "12px" : "16px", - lineHeight: "22px" -}); -var disabled = { - display: "none !important" -}; -var editContainer = ({ small } = {}) => ({ - ...box({ small }), - ...button, - ":hover": { - color: "#000711 !important" - }, - // ml: ['0', 'auto'], - color: "#4A596B !important", - display: "flex" -}); -var editIcon = { mr: "4px" }; -var shareButton = { - // ml: ['0', 'auto'], -}; -var styles_default16 = { - disabled, - container: container5, - question, - likeContainer, - likeIcon, - dislikeIcon, - editContainer, - editIcon, - box, - button, - buttonActive, - selectedButton, - shareButton, - iconsContainer -}; - -// src/components/share-button/index.tsx -import { Box as Box17, Button as Button5, Flex as Flex15, Text as Text10 } from "@vtex/brand-ui"; - -// src/components/icons/facebook-icon.tsx -import { Icon as Icon23 } from "@vtex/brand-ui"; -import { jsx as jsx44 } from "react/jsx-runtime"; -var FacebookIcon = (props) => /* @__PURE__ */ jsx44( - Icon23, - { - ...props, - viewBox: "0 0 8 16", - fill: "none", - xmlns: "http://www.w3.org/2000/svg", - children: /* @__PURE__ */ jsx44( - "path", - { - d: "M7.47581 8.93204L7.89039 6.05825H5.29681V4.19417C5.29681 3.40778 5.65844 2.64078 6.8201 2.64078H8V0.194175C8 0.194175 6.92967 0 5.90684 0C3.76989 0 2.37444 1.37668 2.37444 3.86796V6.05825H0V8.93204H2.37444V15.8796C2.85114 15.9592 3.33882 16 3.83563 16C4.33243 16 4.82011 15.9592 5.29681 15.8796V8.93204H7.47581Z", - fill: "currentcolor" - } - ) + ), + /* @__PURE__ */ jsx31( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + stroke: "#4A596B", + strokeWidth: "2", + d: "M30.634,5.366,27,9,23,5l3.634-3.634a6.49,6.49,0,0,0-8.368,7.965L1.652,24.484a2,2,0,0,0-.066,2.892l3.038,3.038a2,2,0,0,0,2.892-.066L22.669,13.734a6.487,6.487,0,0,0,7.965-8.368Z" + } + ) + ] } ); -var facebook_icon_default = FacebookIcon; +var troubleshooting_icon_default = TroubleshootingIcon; -// src/components/icons/linkedin-icon.tsx -import { Icon as Icon24 } from "@vtex/brand-ui"; -import { jsx as jsx45 } from "react/jsx-runtime"; -var LinkedinIcon = (props) => /* @__PURE__ */ jsx45( - Icon24, +// src/components/icons/added-icon.tsx +import { Icon as Icon15 } from "@vtex/brand-ui"; +import { jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime"; +var AddedIcon = (props) => /* @__PURE__ */ jsxs26( + Icon15, { ...props, - viewBox: "0 0 26 24", + viewBox: "0 0 16 17", fill: "none", xmlns: "http://www.w3.org/2000/svg", - children: /* @__PURE__ */ jsx45( - "path", - { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M6.49092 2.79706C6.49092 4.35191 5.32054 5.59605 3.4413 5.59605H3.40686C1.59747 5.59605 0.427734 4.35191 0.427734 2.79706C0.427734 1.20932 1.6331 0 3.47682 0C5.32054 0 6.45594 1.20932 6.49092 2.79706ZM6.13595 7.80637V23.9997H0.746429V7.80637H6.13595ZM25.5724 23.9996L25.5726 14.7149C25.5726 9.74099 22.9138 7.42607 19.3673 7.42607C16.5058 7.42607 15.2247 8.9978 14.5093 10.1004V7.80675H9.11917C9.1902 9.32624 9.11917 24 9.11917 24H14.5093V14.9564C14.5093 14.4724 14.5443 13.9896 14.6868 13.6431C15.0763 12.6763 15.9632 11.6752 17.4522 11.6752C19.4032 11.6752 20.1831 13.1601 20.1831 15.3362V23.9996H25.5724Z", - fill: "currentcolor" - } - ) + children: [ + /* @__PURE__ */ jsx32("circle", { cx: "8", cy: "8", r: "8", fill: "#DFF1E0" }), + /* @__PURE__ */ jsxs26("g", { clipPath: "url(#clip0_2354_76889)", children: [ + /* @__PURE__ */ jsx32( + "path", + { + d: "M4.33398 8H11.6673", + stroke: "#38853C", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx32( + "path", + { + d: "M8 4.33594V11.6693", + stroke: "#38853C", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx32( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M3.93359 8.00026C3.93359 7.77935 4.11268 7.60026 4.33359 7.60026H11.6669C11.8878 7.60026 12.0669 7.77935 12.0669 8.00026C12.0669 8.22117 11.8878 8.40026 11.6669 8.40026H4.33359C4.11268 8.40026 3.93359 8.22117 3.93359 8.00026Z", + fill: "#38853C" + } + ), + /* @__PURE__ */ jsx32( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M8.00026 3.93359C8.22117 3.93359 8.40026 4.11268 8.40026 4.33359V11.6669C8.40026 11.8878 8.22117 12.0669 8.00026 12.0669C7.77935 12.0669 7.60026 11.8878 7.60026 11.6669V4.33359C7.60026 4.11268 7.77935 3.93359 8.00026 3.93359Z", + fill: "#38853C" + } + ), + /* @__PURE__ */ jsx32( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M3.93359 8.00026C3.93359 7.77935 4.11268 7.60026 4.33359 7.60026H11.6669C11.8878 7.60026 12.0669 7.77935 12.0669 8.00026C12.0669 8.22117 11.8878 8.40026 11.6669 8.40026H4.33359C4.11268 8.40026 3.93359 8.22117 3.93359 8.00026Z", + stroke: "#38853C", + strokeWidth: "0.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx32( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M8.00026 3.93359C8.22117 3.93359 8.40026 4.11268 8.40026 4.33359V11.6669C8.40026 11.8878 8.22117 12.0669 8.00026 12.0669C7.77935 12.0669 7.60026 11.8878 7.60026 11.6669V4.33359C7.60026 4.11268 7.77935 3.93359 8.00026 3.93359Z", + stroke: "#38853C", + strokeWidth: "0.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] }), + /* @__PURE__ */ jsx32("defs", { children: /* @__PURE__ */ jsx32("clipPath", { id: "clip0_2354_76889", children: /* @__PURE__ */ jsx32( + "rect", + { + width: "10.6667", + height: "10.6667", + fill: "white", + transform: "translate(2.66699 3.66504)" + } + ) }) }) + ] } ); -var linkedin_icon_default = LinkedinIcon; +var added_icon_default = AddedIcon; -// src/components/icons/share-icon.tsx -import { Icon as Icon25 } from "@vtex/brand-ui"; -import { jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime"; -var ShareIcon = (props) => /* @__PURE__ */ jsxs37( - Icon25, +// src/components/icons/deprecated-icon.tsx +import { Icon as Icon16 } from "@vtex/brand-ui"; +import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime"; +var DeprecatedIcon = (props) => /* @__PURE__ */ jsxs27( + Icon16, { ...props, - viewBox: "0 0 24 24", + viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx46("path", { d: "m0 0h24v24h-24z", opacity: "0", stroke: "currentColor" }), - /* @__PURE__ */ jsx46("path", { d: "m18 15a3 3 0 0 0 -2.1.86l-7.9-3.52c0-.12 0-.22 0-.34s0-.22 0-.33l7.9-3.53a3 3 0 1 0 -.9-2.14v.34l-7.9 3.52a3 3 0 1 0 0 4.28l7.9 3.53v.33a3 3 0 1 0 3-3z", fill: "currentColor" }) + /* @__PURE__ */ jsx33("circle", { cx: "8", cy: "8", r: "8", fill: "#E7E9EE" }), + /* @__PURE__ */ jsx33( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M3.8335 8C3.8335 7.72386 4.05735 7.5 4.3335 7.5H11.6668C11.943 7.5 12.1668 7.72386 12.1668 8C12.1668 8.27614 11.943 8.5 11.6668 8.5H4.3335C4.05735 8.5 3.8335 8.27614 3.8335 8Z", + fill: "black" + } + ) ] } ); -var share_icon_default = ShareIcon; +var deprecated_icon_default = DeprecatedIcon; -// src/components/icons/twitter-icon.tsx -import { Icon as Icon26 } from "@vtex/brand-ui"; -import { jsx as jsx47 } from "react/jsx-runtime"; -var TwitterIcon = (props) => /* @__PURE__ */ jsx47( - Icon26, +// src/components/icons/fixed-icon.tsx +import { Icon as Icon17 } from "@vtex/brand-ui"; +import { jsx as jsx34, jsxs as jsxs28 } from "react/jsx-runtime"; +var FixedIcon = (props) => /* @__PURE__ */ jsxs28( + Icon17, { ...props, - viewBox: "0 0 16 16", + viewBox: "0 0 16 17", fill: "none", xmlns: "http://www.w3.org/2000/svg", - children: /* @__PURE__ */ jsx47( - "path", - { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M5.99386 8.11479L0 0.666748H4.74756L8.44753 5.27015L12.4004 0.687475H15.0151L9.71175 6.84307L16 14.6667H11.2666L7.2603 9.68846L2.98317 14.6529H0.354296L5.99386 8.11479ZM11.9565 13.2868L2.91105 2.04674H4.0571L13.0912 13.2868H11.9565Z", - fill: "currentcolor" - } - ) + children: [ + /* @__PURE__ */ jsx34("circle", { cx: "8", cy: "8", r: "8", fill: "#DEECF7" }), + /* @__PURE__ */ jsx34( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M12.0206 5.31442C12.2158 5.50969 12.2158 5.82627 12.0205 6.02153L7.35387 10.688C7.15861 10.8832 6.84205 10.8832 6.64679 10.688L4.31345 8.35487C4.11818 8.15962 4.11817 7.84304 4.31342 7.64776C4.50868 7.45249 4.82526 7.45248 5.02053 7.64773L7.00032 9.62734L11.3134 5.31441C11.5087 5.11915 11.8253 5.11916 12.0206 5.31442Z", + fill: "#2953B2", + stroke: "#2953B2", + strokeWidth: "0.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] } ); -var twitter_icon_default = TwitterIcon; - -// src/components/share-button/index.tsx -import { useRef as useRef8, useState as useState10 } from "react"; -import { - FacebookShareButton, - LinkedinShareButton, - TwitterShareButton, - EmailShareButton -} from "react-share"; - -// src/components/share-button/styles.ts -var container6 = { - position: "relative", - height: "24px" -}; -var button2 = { - cursor: "pointer", - textTransform: "none", - fontSize: "16px", - lineHeight: "18px", - color: "#4A596B", - width: "24px", - height: "24px", - transition: "0.3s", - ":hover": { - color: "#000711 !important", - textDecoration: "none" - }, - alignItems: "start" -}; -var shareIcon = { - marginRight: "4px" -}; -var innerButton = { - gap: "16px", - color: "#A1AAB7", - cursor: "pointer", - transition: "0.3s", - ":hover": { - color: "#4A4A4A" - }, - alignItems: "center" -}; -var innerContainer = { - position: "absolute", - backgroundColor: "white", - flexDirection: "column", - top: "100%", - right: "0", - mt: "8px", - padding: "16px", - gap: "16px", - boxShadow: "0px 0px 16px rgba(0, 0, 0, 0.1)", - borderRadius: "5px", - ":before": { - content: "''", - position: "absolute", - top: "-8px", - right: "8px", - borderLeft: "8px solid transparent", - borderRight: "8px solid transparent", - borderBottom: "8px solid white", - boxShadow: "0 16px 10px -17px rgba(0, 0, 0, 0.5)" - } -}; -var divider = { - borderBottom: "1px solid #E7E9EE" -}; -var styles_default17 = { - container: container6, - button: button2, - shareIcon, - innerButton, - innerContainer, - divider -}; +var fixed_icon_default = FixedIcon; -// src/components/icons/email-icon.tsx -import { Icon as Icon27 } from "@vtex/brand-ui"; -import { jsx as jsx48 } from "react/jsx-runtime"; -var EmailIcon = (props) => /* @__PURE__ */ jsx48( - Icon27, +// src/components/icons/improved-icon.tsx +import { Icon as Icon18 } from "@vtex/brand-ui"; +import { jsx as jsx35, jsxs as jsxs29 } from "react/jsx-runtime"; +var ImprovedIcon = (props) => /* @__PURE__ */ jsxs29( + Icon18, { ...props, - width: "25", - height: "25", - viewBox: "0 0 24 24", + viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", - children: /* @__PURE__ */ jsx48( - "path", - { - d: "M12 0C5.376 0 0 5.376 0 12C0 18.624 5.376 24 12 24H18V21.6H12C6.792 21.6 2.4 17.208 2.4 12C2.4 6.792 6.792 2.4 12 2.4C17.208 2.4 21.6 6.792 21.6 12V13.716C21.6 14.664 20.748 15.6 19.8 15.6C18.852 15.6 18 14.664 18 13.716V12C18 8.688 15.312 6 12 6C8.688 6 6 8.688 6 12C6 15.312 8.688 18 12 18C13.656 18 15.168 17.328 16.248 16.236C17.028 17.304 18.372 18 19.8 18C22.164 18 24 16.08 24 13.716V12C24 5.376 18.624 0 12 0ZM12 15.6C10.008 15.6 8.4 13.992 8.4 12C8.4 10.008 10.008 8.4 12 8.4C13.992 8.4 15.6 10.008 15.6 12C15.6 13.992 13.992 15.6 12 15.6Z", - fill: "currentcolor" - } - ) + children: [ + /* @__PURE__ */ jsx35("circle", { cx: "8.5", cy: "8", r: "8", fill: "#FFEBD7" }), + /* @__PURE__ */ jsx35( + "path", + { + d: "M12.5 10L8.49511 6L4.5 10", + stroke: "#D56A00", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] } ); -var email_icon_default = EmailIcon; +var improved_icon_default = ImprovedIcon; -// src/components/icons/link-icon.tsx -import { Icon as Icon28 } from "@vtex/brand-ui"; -import { jsx as jsx49, jsxs as jsxs38 } from "react/jsx-runtime"; -var LinkIcon = (props) => /* @__PURE__ */ jsxs38( - Icon28, +// src/components/icons/removed-icon.tsx +import { Icon as Icon19 } from "@vtex/brand-ui"; +import { jsx as jsx36, jsxs as jsxs30 } from "react/jsx-runtime"; +var RemovedIcon = (props) => /* @__PURE__ */ jsxs30( + Icon19, { ...props, viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx49( + /* @__PURE__ */ jsx36("circle", { cx: "8.5", cy: "8", r: "8", fill: "#F8E3E3" }), + /* @__PURE__ */ jsx36( "path", { - d: "M6.6665 8.66672C6.95281 9.04948 7.31808 9.36618 7.73754 9.59535C8.157 9.82452 8.62084 9.9608 9.0976 9.99495C9.57437 10.0291 10.0529 9.9603 10.5007 9.79325C10.9486 9.62619 11.3552 9.36477 11.6932 9.02672L13.6932 7.02672C14.3004 6.39805 14.6363 5.55604 14.6288 4.68205C14.6212 3.80806 14.2706 2.97202 13.6526 2.354C13.0345 1.73597 12.1985 1.38541 11.3245 1.37781C10.4505 1.37022 9.60851 1.7062 8.97984 2.31339L7.83317 3.45339", - stroke: "currentcolor", + d: "M5.83203 5.33594L11.1654 10.6693", + stroke: "#CC3D3D", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" } ), - /* @__PURE__ */ jsx49( + /* @__PURE__ */ jsx36( "path", { - d: "M9.33347 7.33332C9.04716 6.95057 8.68189 6.63387 8.26243 6.40469C7.84297 6.17552 7.37913 6.03924 6.90237 6.0051C6.4256 5.97095 5.94707 6.03974 5.49924 6.2068C5.0514 6.37386 4.64472 6.63527 4.3068 6.97332L2.3068 8.97332C1.69961 9.60199 1.36363 10.444 1.37122 11.318C1.37881 12.192 1.72938 13.028 2.3474 13.646C2.96543 14.2641 3.80147 14.6146 4.67546 14.6222C5.54945 14.6298 6.39146 14.2938 7.02013 13.6867L8.16013 12.5467", - stroke: "currentcolor", + d: "M11.1654 5.33594L5.83203 10.6693", + stroke: "#CC3D3D", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" @@ -9943,1081 +8969,3587 @@ var LinkIcon = (props) => /* @__PURE__ */ jsxs38( ] } ); -var link_icon_default = LinkIcon; +var removed_icon_default = RemovedIcon; -// src/components/share-button/index.tsx -import { jsx as jsx50, jsxs as jsxs39 } from "react/jsx-runtime"; -var ShareButton = ({ url, sx = {} }) => { - const [isOpen, setIsOpen] = useState10(false); - const containerRef = useRef8(); - useClickOutside(containerRef, () => setIsOpen(false)); - const handleCopyLink = async () => { - try { - if (window) - await navigator.clipboard.writeText(window.location.href); - } catch (error) { - console.error("Error copying link to clipboard:", error); - } - }; - return /* @__PURE__ */ jsxs39(Flex15, { sx: { ...styles_default17.container, ...sx }, ref: containerRef, children: [ - /* @__PURE__ */ jsxs39( - Button5, - { - sx: styles_default17.button, - variant: "tertiary", - onClick: () => setIsOpen(!isOpen), - children: [ - /* @__PURE__ */ jsx50(share_icon_default, { sx: styles_default17.shareIcon, size: 24 }), - " Share" - ] - } - ), - isOpen && /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default17.innerContainer, children: [ - /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default17.innerButton, onClick: handleCopyLink, children: [ - /* @__PURE__ */ jsx50(link_icon_default, { size: 16 }), - /* @__PURE__ */ jsx50(Text10, { children: "Copy link" }) - ] }), - /* @__PURE__ */ jsx50(Box17, { sx: styles_default17.divider }), - /* @__PURE__ */ jsx50(EmailShareButton, { url, children: /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default17.innerButton, onClick: handleCopyLink, children: [ - /* @__PURE__ */ jsx50(email_icon_default, { size: 16 }), - /* @__PURE__ */ jsx50(Text10, { children: "E-mail" }) - ] }) }), - /* @__PURE__ */ jsx50(TwitterShareButton, { url, children: /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default17.innerButton, children: [ - /* @__PURE__ */ jsx50(twitter_icon_default, { size: 16 }), - /* @__PURE__ */ jsx50(Text10, { children: "Twitter" }) - ] }) }), - /* @__PURE__ */ jsx50(FacebookShareButton, { url, children: /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default17.innerButton, children: [ - /* @__PURE__ */ jsx50(facebook_icon_default, { size: 16 }), - /* @__PURE__ */ jsx50(Text10, { children: "Facebook" }) - ] }) }), - /* @__PURE__ */ jsx50(LinkedinShareButton, { url, children: /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default17.innerButton, children: [ - /* @__PURE__ */ jsx50(linkedin_icon_default, { size: 16 }), - /* @__PURE__ */ jsx50(Text10, { children: "LinkedIn" }) - ] }) }) - ] }) - ] }); +// src/utils/search-utils.ts +var getBreadcrumbs = (hit) => { + const breadcrumbs = []; + if (hit.doctype === "API Reference" && hit.doccategory) + breadcrumbs.push(hit.doccategory); + breadcrumbs.push(hit.doctitle); + return breadcrumbs; }; -var share_button_default = ShareButton; - -// src/lib/feedback-section/index.tsx -import { jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime"; -var FeedbackSection = ({ - slug, - urlToEdit, - suggestEdits = true, - shareButton: shareButton2 = false, - sendFeedback, - small = false -}) => { - const [feedback, setFeedback] = useState11(void 0); - const { locale } = useContext11(LibraryContext); - useEffect10(() => { - setFeedback(void 0); - }, [slug]); - const handleSend = async (liked) => { - if (feedback !== void 0) - return; - setFeedback(liked); - try { - await sendFeedback(liked); - } catch (e) { - setFeedback(void 0); - } - }; - return /* @__PURE__ */ jsxs40(Flex16, { sx: styles_default16.container({ small }), "data-cy": "feedback-section", children: [ - /* @__PURE__ */ jsxs40(Flex16, { sx: styles_default16.likeContainer, children: [ - /* @__PURE__ */ jsx51(Text11, { sx: styles_default16.question({ small }), children: feedback !== void 0 ? messages[locale]["feedback_section.response"] : messages[locale]["feedback_section.question"] }), - /* @__PURE__ */ jsxs40(Flex16, { sx: styles_default16.iconsContainer({ small }), children: [ - /* @__PURE__ */ jsxs40( - Flex16, - { - sx: feedback === void 0 ? styles_default16.button : feedback === true ? styles_default16.selectedButton : styles_default16.disabled, - onClick: () => handleSend(true), - role: "button", - "aria-pressed": feedback === true, - "data-cy": "feedback-section-like", - children: [ - feedback === true ? /* @__PURE__ */ jsx51(like_selected_icon_default, { size: small ? 18 : 24, sx: styles_default16.likeIcon }) : /* @__PURE__ */ jsx51(like_icon_default, { size: small ? 18 : 24, sx: styles_default16.likeIcon }), - !small && /* @__PURE__ */ jsx51(Text11, { children: messages[locale]["feedback_section.positive"] }) - ] - } - ), - /* @__PURE__ */ jsxs40( - Flex16, - { - sx: feedback === void 0 ? styles_default16.button : feedback === false ? styles_default16.selectedButton : styles_default16.disabled, - onClick: () => handleSend(false), - role: "button", - "aria-pressed": feedback === false, - "data-cy": "feedback-section-dislike", - children: [ - feedback === false ? /* @__PURE__ */ jsx51( - like_selected_icon_default, - { - size: small ? 18 : 24, - sx: styles_default16.dislikeIcon - } - ) : /* @__PURE__ */ jsx51(like_icon_default, { size: small ? 18 : 24, sx: styles_default16.dislikeIcon }), - !small && /* @__PURE__ */ jsx51(Text11, { children: messages[locale]["feedback_section.negative"] }) - ] - } - ) - ] }) - ] }), - suggestEdits && /* @__PURE__ */ jsxs40( - Link8, - { - target: "_blank", - rel: "noopener noreferrer", - href: urlToEdit, - sx: styles_default16.editContainer({ small }), - children: [ - /* @__PURE__ */ jsx51(edit_icon_default, { size: small ? 18 : 24, sx: styles_default16.editIcon }), - /* @__PURE__ */ jsx51(Text11, { children: messages[locale]["feedback_section.edit"] }) - ] - } - ), - shareButton2 && /* @__PURE__ */ jsx51(share_button_default, { url: window.location.href, sx: styles_default16.shareButton }) - ] }); -}; -var feedback_section_default = FeedbackSection; - -// src/lib/search/index.tsx -import { Box as Box23, Flex as Flex21 } from "@vtex/brand-ui"; - -// src/components/search-sections/index.tsx -import { Box as Box19 } from "@vtex/brand-ui"; - -// src/components/search-section/index.tsx -import { Box as Box18, Flex as Flex17, Text as Text12 } from "@vtex/brand-ui"; -import { useContext as useContext12, useEffect as useEffect11 } from "react"; - -// src/components/search-section/styles.ts -var sectionContainer = { - justifyContent: "space-between", - padding: "8px", - mb: "8px", - cursor: "pointer", - ":active, :hover": { - backgroundColor: "#F8F7FC", - borderRadius: "4px", - ".search-section-title": { - color: "#000711" - }, - ".search-section-count": { - background: "#E7E9EE" - } - } -}; -var sectionIconTitleBox = { - alignItems: "center" -}; -var sectionIcon = { - width: "16px", - height: "16px", - minWidth: "16px", - minHeight: "16px", - mr: "8px" -}; -var sectionTitle = { - fontSize: "12px", - lineHeight: "16px" -}; -var sectionTitleActive = { - ...sectionTitle, - color: "#142032", - fontWeight: "600" -}; -var sectionCount = { - background: "#F8F7FC", - borderRadius: "24px", - width: "auto", - textAlign: "center", - px: "8px", - fontSize: "12px", - lineHeight: "16px" -}; -var allResultsText = { - ...sectionTitle, - ml: "24px" +var getRelativeURL = (url) => { + const relativeURL = url.replace(/^(?:\/\/|[^/]+)*\//, ""); + return "/" + relativeURL; }; -var allResultsTextActive = { - ...allResultsText, - fontWeight: "bold", - color: "#0C1522" +var getIconFromSection = (sections, id) => { + return sections.flat().find((section) => section.id === id)?.Icon; }; -var styles_default18 = { - sectionContainer, - sectionIconTitleBox, - sectionIcon, - sectionTitle, - sectionTitleActive, - sectionCount, - allResultsText, - allResultsTextActive +var actions = [ + { + type: "added", + title: "Added", + Icon: added_icon_default + }, + { + type: "deprecated", + title: "Deprecated", + Icon: deprecated_icon_default + }, + { + type: "fixed", + title: "Fixed", + Icon: fixed_icon_default + }, + { + type: "improved", + title: "Improved", + Icon: improved_icon_default + }, + { + type: "removed", + title: "Removed", + Icon: removed_icon_default + } +]; +var getAction = (actionType) => { + return actions.find((action) => action.type === actionType); }; - -// src/components/search-section/index.tsx -import { useRouter as useRouter6 } from "next/router.js"; - -// src/utils/context/search.tsx -import { - createContext as createContext2, - useState as useState12 -} from "react"; -import { jsx as jsx52 } from "react/jsx-runtime"; -var SearchContext = createContext2({ - filterSelectedSection: "", - changeFilterSelectedSection: () => void 0, - ocurrenceCount: {}, - updateOcurrenceCount: () => void 0 -}); -var SearchContextProvider = ({ children }) => { - const [filterSelectedSection, changeFilterSelectedSection] = useState12(""); - const [ocurrenceCount, changeOcurrenceCount] = useState12({}); - const updateOcurrenceCount = (resultsData) => { - changeOcurrenceCount(resultsData); - }; - return /* @__PURE__ */ jsx52( - SearchContext.Provider, - { - value: { - filterSelectedSection, - changeFilterSelectedSection, - ocurrenceCount, - updateOcurrenceCount - }, - children - } - ); +var getTitleById = (sections, id) => { + return sections.flat().find((item2) => item2.id === id)?.title || id; }; -var search_default = SearchContextProvider; -// src/components/search-section/index.tsx -import { jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime"; -var SearchSection = ({ dataElement, index }) => { - const router = useRouter6(); - const { filterSelectedSection, ocurrenceCount, changeFilterSelectedSection } = useContext12(SearchContext); - const { locale } = useContext12(LibraryContext); - const updateFilter = (value) => { - router.query.filter = value; - changeFilterSelectedSection(value); - }; - useEffect11(() => { - updateFilter(""); - }, [router.query]); - return !dataElement ? /* @__PURE__ */ jsxs41(Flex17, { sx: styles_default18.sectionContainer, onClick: () => updateFilter(""), children: [ - /* @__PURE__ */ jsx53( - Text12, - { - className: "search-section-title", - sx: filterSelectedSection ? styles_default18.allResultsText : styles_default18.allResultsTextActive, - children: messages[locale]["search_results.all"] || "All results" +// src/components/search-input/customHighlight.tsx +import { useEffect as useEffect9, useRef as useRef6, useState as useState8 } from "react"; +import { connectHighlight } from "react-instantsearch-dom"; +import { Flex as Flex13, Text as Text8 } from "@vtex/brand-ui"; +import { jsx as jsx37 } from "react/jsx-runtime"; +var Highlight = ({ + highlight, + attribute, + hit, + searchPage +}) => { + const [parsedHit, setParsedHit] = useState8([]); + const textContainer = useRef6(null); + const hitHighlights = highlight({ + highlightProperty: "_highlightResult", + attribute: hit.type != "content" ? `hierarchy.${hit.type}` : attribute, + hit + }); + const maxDescriptionSize = 700; + const ellipsedContent = []; + if (searchPage) { + let charCount = 0; + hitHighlights.forEach((part) => { + if (maxDescriptionSize - charCount <= 0) + return; + if (part.value.length + charCount >= maxDescriptionSize) { + part.value = part.value.slice(0, maxDescriptionSize - charCount - 3) + "..."; } - ), - /* @__PURE__ */ jsx53(Box18, { className: "search-section-count", sx: styles_default18.sectionCount, children: ocurrenceCount[""] }) - ] }) : /* @__PURE__ */ jsxs41( - Flex17, - { - sx: styles_default18.sectionContainer, - onClick: () => updateFilter(dataElement.id), - children: [ - /* @__PURE__ */ jsxs41(Flex17, { sx: styles_default18.sectionIconTitleBox, children: [ - /* @__PURE__ */ jsx53(dataElement.Icon, { sx: styles_default18.sectionIcon }), - /* @__PURE__ */ jsx53( - Text12, - { - className: "search-section-title", - sx: filterSelectedSection === dataElement.id ? styles_default18.sectionTitleActive : styles_default18.sectionTitle, - children: dataElement.title - } - ) - ] }), - /* @__PURE__ */ jsx53(Box18, { className: "search-section-count", sx: styles_default18.sectionCount, children: ocurrenceCount[dataElement.id] || 0 }) - ] - }, - `search-section-${dataElement.id}${index}` - ); -}; -var search_section_default = SearchSection; - -// src/components/search-sections/styles.ts -var container7 = { - display: ["none", "none", "none", "initial"], - height: "100%", - width: "242px", - border: "1px solid #E7E9EE", - borderRadius: "4px", - mr: ["32px", "32px", "32px", "32px", "32px", "32px", "64px"], - mt: "96px" -}; -var notesSection = { - px: "8px", - paddingTop: "8px" -}; -var docsSection = { - ...notesSection, - borderBottom: "1px solid #E7E9EE" -}; -var styles_default19 = { - container: container7, - notesSection, - docsSection + charCount += part.value.length; + ellipsedContent.push(part); + }); + } + useEffect9(() => { + if (searchPage) + return; + const titleSize = textContainer.current ? textContainer.current.offsetWidth / 7.75 : 40; + const highlightParts = []; + let highlightCount = 0, highlightLength = 0; + hitHighlights.forEach((match, index) => { + const isBetween = index > 0 && index < hitHighlights.length - 1 ? true : false; + if (match.isHighlighted) { + if (isBetween) + highlightCount++; + highlightCount++; + highlightLength += match.value.length; + } else { + highlightParts.push({ + index, + isBetween, + size: match.value.length + }); + } + }); + highlightParts.sort( + (a, b) => a.size - b.size + ); + let sizeRemaining = titleSize - highlightLength; + let size = sizeRemaining / (highlightCount || 1); + highlightParts.forEach((match) => { + const value = hitHighlights[match.index].value; + if (match.isBetween) { + if (match.size >= size * 2) { + const reticences = (size * 2 - 3) / 2; + hitHighlights[match.index].value = value.slice(0, reticences) + "..." + value.slice(value.length - reticences); + sizeRemaining -= size * 2; + } else { + sizeRemaining -= match.size; + } + highlightCount -= 2; + } else { + if (match.size >= size) { + if (match.index === 0) + hitHighlights[match.index].value = "..." + value.slice(value.length - (size - 3)); + else + hitHighlights[match.index].value = value.slice(0, size - 3) + "..."; + sizeRemaining -= size; + } else { + sizeRemaining -= match.size; + } + highlightCount -= 1; + } + size = sizeRemaining / highlightCount; + hitHighlights[match.index].value = hitHighlights[match.index].value.replace(/\s+/g, "\xA0"); + }); + setParsedHit(hitHighlights); + }, [hit, textContainer.current]); + return /* @__PURE__ */ jsx37( + Flex13, + { + ref: textContainer, + className: "hit-content-title", + sx: styles_default14.hitContentContainer, + children: /* @__PURE__ */ jsx37(Text8, { sx: searchPage ? styles_default14.hitContent : styles_default14.hitContentSmall, children: (searchPage ? ellipsedContent : parsedHit).map( + (part, index) => part.isHighlighted ? /* @__PURE__ */ jsx37("mark", { style: styles_default14.hitContentHighlighted, children: part.value }, index) : part.value + ) }) + } + ); }; +var connectedHighlight = connectHighlight(Highlight); +var customHighlight_default = connectedHighlight; -// src/components/search-sections/index.tsx -import { useContext as useContext13 } from "react"; -import { jsx as jsx54, jsxs as jsxs42 } from "react/jsx-runtime"; -var SearchSections = () => { - const { sidebarSections } = useContext13(LibraryContext); - const internalOnlySections = sidebarSections.map( - (section) => section.filter((item2) => !item2.isExternalLink) - ); - return /* @__PURE__ */ jsx54(Box19, { sx: styles_default19.container, children: internalOnlySections.map((sections, id) => /* @__PURE__ */ jsxs42( - Box19, +// src/components/search-input/results-box.tsx +import { useContext as useContext8 } from "react"; +import { Fragment as Fragment4, jsx as jsx38, jsxs as jsxs31 } from "react/jsx-runtime"; +var Hit2 = ({ hit, insights }) => { + const { sidebarSections } = useContext8(LibraryContext); + const breadcrumbsList = getBreadcrumbs(hit); + const DocIcon = getIconFromSection(sidebarSections, hit.doctype); + return /* @__PURE__ */ jsx38(Link7, { href: getRelativeURL(hit.url), legacyBehavior: true, children: /* @__PURE__ */ jsx38( + "a", { - sx: id < internalOnlySections.length - 1 ? styles_default19.docsSection : styles_default19.notesSection, - children: [ - id === 0 && /* @__PURE__ */ jsx54(search_section_default, { dataElement: null }), - sections.map((section, index) => /* @__PURE__ */ jsx54( - search_section_default, + onClick: () => insights("clickedObjectIDsAfterSearch", { + eventName: "Search in top bar", + objectIDs: [hit.objectID] + }), + children: /* @__PURE__ */ jsxs31(Box14, { sx: styles_default14.hitBox, children: [ + /* @__PURE__ */ jsxs31(Flex14, { children: [ + DocIcon && /* @__PURE__ */ jsx38(DocIcon, { className: "hit-icon", sx: styles_default14.hitIcon }), + /* @__PURE__ */ jsx38(Text9, { sx: styles_default14.hitContent, children: /* @__PURE__ */ jsx38(customHighlight_default, { hit, attribute: "content" }) }) + ] }), + /* @__PURE__ */ jsxs31(Flex14, { sx: styles_default14.alignCenter, children: [ + /* @__PURE__ */ jsx38(Text9, { sx: styles_default14.hitBreadCrumbIn, children: `In ${hit.doctype}` }), + breadcrumbsList.length > 0 && /* @__PURE__ */ jsx38(IconCaret3, { direction: "right", sx: styles_default14.hitBreadCrumbArrow }), + breadcrumbsList.map((filter, index) => /* @__PURE__ */ jsxs31(Flex14, { sx: styles_default14.alignCenter, children: [ + /* @__PURE__ */ jsx38(Text9, { sx: styles_default14.hitBreadCrumb, children: filter }), + index < breadcrumbsList.length - 1 ? /* @__PURE__ */ jsx38(IconCaret3, { direction: "right", sx: styles_default14.hitBreadCrumbArrow }) : null + ] }, `${filter}${index}`)) + ] }) + ] }) + } + ) }); +}; +var HitWithInsights = connectHitInsights(aa)(Hit2); +var HitsBox = connectStateResults( + ({ searchState, searchResults, changeFocus }) => { + const router = useRouter5(); + const { locale } = useContext8(LibraryContext); + const seeAllSubmit = (keyword) => { + router.push({ + pathname: "/search", + query: { keyword } + }); + changeFocus(false); + }; + const setQueryIDAndPosition = (hit, index) => { + return { + ...hit, + __queryID: searchResults.queryID || "", + __position: searchResults.hitsPerPage * searchResults.page + index + 1 + }; + }; + return /* @__PURE__ */ jsx38(Fragment4, { children: searchResults && /* @__PURE__ */ jsx38(Box14, { sx: styles_default14.resultsOuterContainer, children: /* @__PURE__ */ jsxs31(Box14, { sx: styles_default14.resultsInnerContainer, children: [ + /* @__PURE__ */ jsx38(Box14, { sx: searchResults.hits.length && styles_default14.resultsBox, children: searchResults.hits.map( + (searchResult, index) => index < 7 && /* @__PURE__ */ jsx38( + Box14, { - dataElement: section, - index + onClick: () => changeFocus(false), + children: /* @__PURE__ */ jsx38( + HitWithInsights, + { + hit: setQueryIDAndPosition(searchResult, index) + } + ) }, - `search-section-docs-${section.id}` - )) - ] - }, - `search-section-${id}` - )) }); -}; -var search_sections_default = SearchSections; - -// src/components/search-results/index.tsx -import { useRouter as useRouter7 } from "next/router.js"; -import { useContext as useContext16, useState as useState14 } from "react"; -import { Box as Box22, Text as Text14 } from "@vtex/brand-ui"; -import { Configure as Configure2, InstantSearch as InstantSearch2 } from "react-instantsearch-dom"; - -// src/components/search-results/infiniteHits.tsx -import { useContext as useContext15, useEffect as useEffect12, useMemo as useMemo2, useRef as useRef10 } from "react"; -import { - connectInfiniteHits, - connectStateResults as connectStateResults2 -} from "react-instantsearch-dom"; + `matched-result-${index}` + ) + ) }), + searchResults.hits.length > 7 && /* @__PURE__ */ jsx38( + Box14, + { + sx: styles_default14.seeAll, + onClick: () => seeAllSubmit(searchState.query || ""), + children: /* @__PURE__ */ jsx38(Text9, { children: messages[locale]["search_input.see_all"] || "See all results" }) + } + ), + !searchResults.hits.length && /* @__PURE__ */ jsx38(Flex14, { sx: styles_default14.noResults, children: /* @__PURE__ */ jsx38(Text9, { children: messages[locale]["search_input.empty"] || "No results found. Try different search terms." }) }) + ] }) }) }); + } +); +var results_box_default = HitsBox; -// src/components/search-card/index.tsx -import { Box as Box20, Flex as Flex18, Text as Text13, IconCaret as IconCaret5, Tooltip as Tooltip2 } from "@vtex/brand-ui"; +// src/components/search-input/index.tsx +import { Box as Box15 } from "@vtex/brand-ui"; +import { useContext as useContext9, useRef as useRef7, useState as useState9 } from "react"; -// src/components/search-card/styles.ts -var container8 = { - justifyContent: "space-between", - borderRadius: "9px", - border: "1px solid #DDDDDD", - width: "100%", - mb: "18px", - paddingTop: "26px", - paddingBottom: "10px", - paddingLeft: ["13px", "44px"], - paddingRight: ["13px", "34px"], - background: "#FFFFFF", - cursor: "pointer" -}; -var containerActive = (method) => { - const methodCategory = method ? methodsColors[method] : ""; - return { - ...container8, - ":hover": { - background: "#F8F7FC", - ".searchCardTitle, .searchCardDescription": { - color: "#142032" - }, - ".method-category": { - ...methodCategory - } +// src/utils/config/search-config.ts +var import_lite = __toESM(require_lite()); +import aa2 from "search-insights"; +var searchClient = {}; +var searchIndex = ""; +var createAlgoliaClient = (config) => { + const { + apiKey, + appId, + index, + algoliaOptions, + customOptions, + instantSearchConfigs, + useLanguageFilter = true + } = config; + searchIndex = index; + aa2("init", { + appId: appId || "", + apiKey: apiKey || "", + useCookie: false + }); + aa2("getUserToken", null, (err) => { + if (err) { + console.error(err); + return; + } + }); + const algoliaClient = (0, import_lite.default)(appId || "", apiKey || "", algoliaOptions); + searchClient = { + ...algoliaClient, + ...customOptions, + instantSearchConfigs, + useLanguageFilter, + search(requests) { + if (requests.every(({ params }) => !params?.query)) + return; + return algoliaClient.search(requests); } }; }; -var title3 = { - display: "flex", - alignItems: "flex-start", - fontSize: ["16px", "18px"], - lineHeight: ["22px", "24px"], - color: "muted.0" -}; -var httpMethod = { - mr: "4px" -}; -var icon2 = { - width: "24px", - height: "24px", - mr: "8px", - path: { - stroke: "#A1A8B3" - } -}; -var description3 = { - fontSize: "16px", - lineHeight: "22px", - paddingLeft: "32px", - color: "muted.0", - mt: "4px", - mb: "8px" -}; -var descriptionToggle = { - height: "auto", - minWidth: "auto" -}; -var descriptionExpandedItem = { - mt: "24px" -}; -var breadcrumbsContainer = { - display: ["none", "flex"], - paddingLeft: "32px", - alignItems: "center" -}; -var alignCenter2 = { - alignItems: "center" -}; -var documentation = { - ...alignCenter2, - minWidth: "max-content" -}; -var breadcrumb = { - color: "muted.1", - fontSize: "16px", - lineHeight: "18px", - whiteSpace: "nowrap", - overflow: "hidden", - textOverflow: "ellipsis" -}; -var lastBreadcrumb = { - ...breadcrumb, - margin: "auto 0", - display: "block", - overflow: "hidden", - maxWidth: "max-content", - whiteSpace: "nowrap" -}; -var breadcrumbsIn = { - ...breadcrumb, - mr: "4px", - minWidth: "fit-content" -}; -var breadcrumbsArrow = { - width: "16px", - height: "16px", - color: "muted.2" -}; -var actionContainer = { - paddingLeft: "32px", - alignItems: "center" -}; -var actionIcon = { - minWidth: "16px", - minHeight: "16px", - width: "16px", - height: "16px", - mr: "8px" -}; -var styles_default20 = { - containerActive, - title: title3, - httpMethod, - icon: icon2, - description: description3, - descriptionToggle, - descriptionExpandedItem, - breadcrumbsContainer, - alignCenter: alignCenter2, - documentation, - breadcrumb, - lastBreadcrumb, - breadcrumbsIn, - breadcrumbsArrow, - actionContainer, - actionIcon -}; +var search_config_default = createAlgoliaClient; -// src/components/search-card/index.tsx -import Link9 from "next/link.js"; -import { useState as useState13 } from "react"; -import { useContext as useContext14 } from "react"; +// src/components/search-input/index.tsx +import { jsx as jsx39, jsxs as jsxs32 } from "react/jsx-runtime"; +function SearchInput() { + const { locale } = useContext9(LibraryContext); + const [focusOut, setfocusOut] = useState9({ + modaltoggle: true + }); + const resultsBox2 = useRef7(); + useClickOutside(resultsBox2, setfocusOut); + const changeFocus = (value) => { + setfocusOut({ modaltoggle: value }); + }; + return /* @__PURE__ */ jsxs32(InstantSearch, { searchClient, indexName: searchIndex, children: [ + searchClient.instantSearchConfigs && /* @__PURE__ */ jsx39(Configure, { ...searchClient.instantSearchConfigs }), + searchClient.useLanguageFilter && /* @__PURE__ */ jsx39( + Configure, + { + clickAnalytics: true, + facetFilters: [`language:${locale}`] + } + ), + !searchClient.useLanguageFilter && /* @__PURE__ */ jsx39(Configure, { clickAnalytics: true }), + /* @__PURE__ */ jsxs32(Box15, { onFocus: () => setfocusOut({ modaltoggle: true }), ref: resultsBox2, children: [ + /* @__PURE__ */ jsx39(search_box_default, { changeFocus }), + focusOut.modaltoggle && /* @__PURE__ */ jsx39(results_box_default, { changeFocus }) + ] }) + ] }); +} -// src/components/icons/expanded-results-icon.tsx -import { Icon as Icon29 } from "@vtex/brand-ui"; -import { jsx as jsx55, jsxs as jsxs43 } from "react/jsx-runtime"; -var ExpandedResultsIcon = ({ active }) => active ? /* @__PURE__ */ jsxs43(Icon29, { viewBox: "0 0 19 13", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx55( - "path", - { - d: "M18.8728 6.03784C18.265 5.00744 14.9223 -0.163132 9.2436 0.00396015C3.99219 0.133921 0.953397 4.6454 0.127225 6.03784C0.0438786 6.17895 0 6.33903 0 6.50198C0 6.66493 0.0438786 6.82501 0.127225 6.96612C0.725488 7.97796 3.92572 13 9.51899 13H9.7564C15.0078 12.87 18.0561 8.35856 18.8728 6.96612C18.9561 6.82501 19 6.66493 19 6.50198C19 6.33903 18.9561 6.17895 18.8728 6.03784ZM9.70892 11.1434C5.61604 11.2363 2.9476 7.81087 2.11194 6.50198C3.06156 5.00744 5.54007 1.95337 9.33856 1.86054C13.4124 1.75843 16.0904 5.19309 16.9355 6.50198C15.9574 7.99652 13.5074 11.0506 9.70892 11.1434Z", - fill: "#EE2565" - } - ), - /* @__PURE__ */ jsx55( - "path", - { - d: "M9.49977 3.25293C8.84241 3.25293 8.19981 3.44348 7.65323 3.80049C7.10665 4.15749 6.68065 4.66492 6.42909 5.2586C6.17753 5.85228 6.11171 6.50554 6.23995 7.13579C6.3682 7.76604 6.68475 8.34495 7.14957 8.79934C7.6144 9.25372 8.20662 9.56316 8.85135 9.68852C9.49608 9.81388 10.1644 9.74954 10.7717 9.50363C11.379 9.25772 11.8981 8.84129 12.2633 8.30699C12.6285 7.7727 12.8234 7.14453 12.8234 6.50194C12.8234 5.64025 12.4733 4.81385 11.85 4.20454C11.2267 3.59524 10.3813 3.25293 9.49977 3.25293ZM9.49977 7.89437C9.21804 7.89437 8.94264 7.81271 8.70839 7.65971C8.47415 7.5067 8.29157 7.28923 8.18376 7.0348C8.07595 6.78037 8.04774 6.50039 8.1027 6.23029C8.15767 5.96018 8.29333 5.71208 8.49254 5.51734C8.69175 5.32261 8.94556 5.18999 9.22187 5.13626C9.49819 5.08253 9.78459 5.11011 10.0449 5.2155C10.3052 5.32089 10.5276 5.49936 10.6841 5.72835C10.8407 5.95733 10.9242 6.22654 10.9242 6.50194C10.9242 6.87124 10.7741 7.22541 10.507 7.48654C10.2399 7.74767 9.87755 7.89437 9.49977 7.89437Z", - fill: "#EE2565" - } - ) -] }) : /* @__PURE__ */ jsxs43(Icon29, { viewBox: "0 0 23 23", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx55( - "path", - { - d: "M4.51334 3.15293C4.42398 3.06358 4.31791 2.9927 4.20116 2.94434C4.08441 2.89598 3.95929 2.87109 3.83292 2.87109C3.70656 2.87109 3.58143 2.89598 3.46468 2.94434C3.34794 2.9927 3.24186 3.06358 3.1525 3.15293C2.97205 3.33339 2.87067 3.57814 2.87067 3.83335C2.87067 4.08855 2.97205 4.33331 3.1525 4.51377L8.54792 9.90918C8.20657 10.5442 8.0789 11.2723 8.18384 11.9856C8.28878 12.6988 8.62074 13.3593 9.13053 13.8691C9.64031 14.3789 10.3008 14.7108 11.0141 14.8158C11.7273 14.9207 12.4554 14.793 13.0904 14.4517L18.4858 19.8471C18.5749 19.9369 18.6809 20.0082 18.7977 20.0569C18.9145 20.1055 19.0397 20.1306 19.1663 20.1306C19.2928 20.1306 19.418 20.1055 19.5348 20.0569C19.6516 20.0082 19.7576 19.9369 19.8467 19.8471C19.9365 19.758 20.0078 19.652 20.0564 19.5352C20.1051 19.4185 20.1301 19.2932 20.1301 19.1667C20.1301 19.0402 20.1051 18.9149 20.0564 18.7981C20.0078 18.6813 19.9365 18.5754 19.8467 18.4863L4.51334 3.15293ZM11.4996 12.9375C11.1183 12.9375 10.7527 12.7861 10.4831 12.5165C10.2135 12.2469 10.0621 11.8813 10.0621 11.5C10.0621 11.5 10.0621 11.4521 10.0621 11.4329L11.5571 12.9279L11.4996 12.9375Z", - fill: "#CCCED8" - } - ), - /* @__PURE__ */ jsx55( - "path", - { - d: "M11.71 16.2917C7.58919 16.3875 4.88669 12.8513 4.04336 11.5C4.64372 10.5424 5.36525 9.66623 6.19002 8.89336L4.79086 7.54211C3.70921 8.56127 2.78258 9.73328 2.04044 11.0209C1.95633 11.1665 1.91205 11.3318 1.91205 11.5C1.91205 11.6683 1.95633 11.8335 2.04044 11.9792C2.64419 13.0238 5.87378 18.2084 11.5184 18.2084H11.7579C12.8193 18.1769 13.867 17.9596 14.8534 17.5663L13.3392 16.0521C12.8067 16.1922 12.2603 16.2725 11.71 16.2917Z", - fill: "#CCCED8" - } - ), - /* @__PURE__ */ jsx55( - "path", - { - d: "M20.9587 11.0209C20.3453 9.9571 16.9624 4.61919 11.2412 4.79169C10.1798 4.82317 9.1321 5.04049 8.14575 5.43377L9.65992 6.94794C10.1924 6.80786 10.7388 6.7275 11.2891 6.70835C15.4003 6.60294 18.1028 10.1488 18.9558 11.5C18.3406 12.4606 17.6028 13.3368 16.7612 14.1067L18.2083 15.4579C19.3035 14.4415 20.2431 13.2693 20.997 11.9792C21.0754 11.8302 21.1131 11.6631 21.1063 11.4949C21.0996 11.3266 21.0487 11.1631 20.9587 11.0209Z", - fill: "#CCCED8" +// src/lib/hamburger-menu/index.tsx +import { jsx as jsx40, jsxs as jsxs33 } from "react/jsx-runtime"; +var HamburgerMenu = ({ parentsArray = [] }) => { + const context = useContext10(LibraryContext); + const { + sidebarDataMaster, + sidebarSectionHidden, + activeSectionName, + setActiveSectionName, + setSidebarSectionHidden, + hamburguerSections + } = context; + const isDocument = (sections, documentID) => { + let isDoc = false; + if (Array.isArray(sections)) { + isDoc = sections.find((section) => section.documentation === documentID); } - ) -] }); -var expanded_results_icon_default = ExpandedResultsIcon; - -// src/components/search-card/index.tsx -import { jsx as jsx56, jsxs as jsxs44 } from "react/jsx-runtime"; -var SearchCard = ({ - Icon: Icon31, - title: title5, - method, - breadcrumbs, - actionType, - url, - hit -}) => { - const actionValue = actionType ? getAction(actionType) : null; - const [toggleChildResults, setToggleChildResults] = useState13(false); - const { locale } = useContext14(LibraryContext); - return /* @__PURE__ */ jsx56(Link9, { href: url, legacyBehavior: true, children: /* @__PURE__ */ jsxs44(Flex18, { sx: styles_default20.containerActive(method), children: [ - /* @__PURE__ */ jsxs44(Box20, { children: [ - /* @__PURE__ */ jsxs44(Text13, { className: "searchCardTitle", sx: styles_default20.title, children: [ - Icon31 && /* @__PURE__ */ jsx56(Icon31, { sx: styles_default20.icon }), - method ? /* @__PURE__ */ jsx56( - method_category_default, - { - sx: styles_default20.httpMethod, - origin: "search", - method, - active: false - } - ) : null, - title5 === "overview" && `${hit.doccategory} `, - title5 - ] }), - /* @__PURE__ */ jsxs44(Text13, { className: "searchCardDescription", sx: styles_default20.description, children: [ - /* @__PURE__ */ jsx56(Flex18, { children: /* @__PURE__ */ jsx56( - customHighlight_default, - { - hit, - attribute: "content", - ...{ searchPage: true } - } - ) }), - toggleChildResults && hit.filteredMatches?.map((childHit, index) => /* @__PURE__ */ jsx56( - Box20, - { - sx: styles_default20.descriptionExpandedItem, - children: /* @__PURE__ */ jsx56( - customHighlight_default, + return isDoc; + }; + updateOpenPage({ parentsArray, context }); + return /* @__PURE__ */ jsx40(Header.ActionButton, { children: /* @__PURE__ */ jsx40(VtexHamburgerMenu, { sx: styles_default12.hamburgerContainer, children: /* @__PURE__ */ jsx40(VtexHamburgerMenu.Menu, { sx: styles_default12.innerHambugerContainer, children: /* @__PURE__ */ jsxs33(Box16, { sx: styles_default12.menuContainer, children: [ + /* @__PURE__ */ jsxs33(Box16, { sx: styles_default12.cardContainer, children: [ + /* @__PURE__ */ jsx40(Box16, { sx: styles_default12.hamburgerSearchContainer, children: /* @__PURE__ */ jsx40(SearchInput, {}) }), + hamburguerSections.map((section, id) => /* @__PURE__ */ jsx40( + Box16, + { + sx: id > 0 ? styles_default12.updatesContainer : styles_default12.documentationContainer, + "data-cy": "dropdown-menu-first-section", + children: section.map((card) => /* @__PURE__ */ jsxs33(Box16, { sx: styles_default12.innerCardContainer, children: [ + /* @__PURE__ */ jsx40(documentation_card_default, { containerType: "mobile", ...card }), + isDocument(sidebarDataMaster, card.id) ? /* @__PURE__ */ jsx40( + Button4, { - hit: childHit, - attribute: "content", - ...{ searchPage: true } + "aria-label": "Open sidebar", + size: "regular", + variant: "tertiary", + icon: () => /* @__PURE__ */ jsx40(IconCaret4, { direction: "right", size: 32 }), + sx: activeSectionName === card.id && !sidebarSectionHidden ? styles_default12.arrowIconActive : styles_default12.arrowIcon, + onClick: () => { + setActiveSectionName(card.id); + setSidebarSectionHidden(false); + } } - ) - }, - `search-card-${hit.objectID}-${index}` - )) - ] }), - breadcrumbs ? /* @__PURE__ */ jsxs44(Box20, { sx: styles_default20.breadcrumbsContainer, children: [ - /* @__PURE__ */ jsx56(Text13, { sx: styles_default20.breadcrumbsIn, children: messages[locale]["search_card.in"] || "In" }), - breadcrumbs.map((breadcrumb2, index) => /* @__PURE__ */ jsxs44( - Flex18, - { - sx: index === 0 ? styles_default20.documentation : styles_default20.alignCenter, - children: [ - /* @__PURE__ */ jsx56(Tooltip2, { label: breadcrumb2, placement: "top", children: /* @__PURE__ */ jsx56(Text13, { sx: styles_default20.breadcrumb, children: breadcrumb2 }) }), - index < breadcrumbs.length - 1 ? /* @__PURE__ */ jsx56(IconCaret5, { direction: "right", sx: styles_default20.breadcrumbsArrow }) : null - ] - }, - `${breadcrumb2}${index}` - )) - ] }) : null, - actionValue ? /* @__PURE__ */ jsxs44(Flex18, { sx: styles_default20.actionContainer, children: [ - /* @__PURE__ */ jsx56(actionValue.Icon, { sx: styles_default20.actionIcon }), - " ", - /* @__PURE__ */ jsx56(Text13, { children: actionValue?.title }) - ] }) : null + ) : null + ] }, card.title)) + }, + id + )) ] }), - hit.filteredMatches && hit.filteredMatches.length > 0 && /* @__PURE__ */ jsx56( - Box20, + /* @__PURE__ */ jsx40( + Box16, { - sx: styles_default20.descriptionToggle, - onClick: (event) => { - setToggleChildResults(!toggleChildResults); - event.stopPropagation(); - }, - children: /* @__PURE__ */ jsx56(expanded_results_icon_default, { active: toggleChildResults }) + className: sidebarSectionHidden || !activeSectionName ? "" : "menuHidden", + sx: styles_default12.sideMenuContainer, + children: activeSectionName ? /* @__PURE__ */ jsx40( + sidebar_section_default, + { + isHamburgerMenu: true, + ...Array.isArray(sidebarDataMaster) ? sidebarDataMaster?.find( + (section) => section.documentation === activeSectionName + ) : null + } + ) : null } ) - ] }) }); + ] }) }) }) }); }; -var search_card_default = SearchCard; +var hamburger_menu_default = HamburgerMenu; -// src/components/search-results/infiniteHits.tsx -import { Box as Box21, Flex as Flex19 } from "@vtex/brand-ui"; -import { jsx as jsx57, jsxs as jsxs45 } from "react/jsx-runtime"; -var HitCard = ({ hit }) => { - const { sidebarSections } = useContext15(LibraryContext); - const breadcrumbTitle = getTitleById(sidebarSections, hit.doctype); - const breadcrumbs = [ - breadcrumbTitle, - ...hit.doccategory ? [hit.doccategory] : [], - , - hit.doctitle - ]; - const DocIcon = getIconFromSection(sidebarSections, hit.doctype); - return /* @__PURE__ */ jsx57( - search_card_default, - { - doc: hit.doctype, - Icon: DocIcon, - title: hit.doctitle, - method: hit.method || void 0, - breadcrumbs: breadcrumbs || [], - actionType: hit.actiontype || void 0, - url: getRelativeURL(hit.url), - hit +// src/lib/feedback-section/index.tsx +import { Flex as Flex16, Text as Text11, Link as Link8 } from "@vtex/brand-ui"; + +// src/components/icons/edit-icon.tsx +import { Icon as Icon20 } from "@vtex/brand-ui"; +import { jsx as jsx41, jsxs as jsxs34 } from "react/jsx-runtime"; +var EditIcon = (props) => /* @__PURE__ */ jsxs34( + Icon20, + { + ...props, + width: "25", + height: "25", + viewBox: "0 0 25 25", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx41( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M5.793 16.6107L16.119 6.28469C16.509 5.89469 17.142 5.89469 17.532 6.28469L19.208 7.96069C19.598 8.35069 19.598 8.98369 19.208 9.37369L8.881 19.6987C8.694 19.8867 8.44 19.9917 8.175 19.9917H5.5V17.3167C5.5 17.0517 5.605 16.7977 5.793 16.6107Z", + stroke: "currentColor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx41( + "path", + { + d: "M14.25 8.15234L17.34 11.2423", + stroke: "currentColor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var edit_icon_default = EditIcon; + +// src/components/icons/like-icon.tsx +import { Icon as Icon21 } from "@vtex/brand-ui"; +import { jsx as jsx42, jsxs as jsxs35 } from "react/jsx-runtime"; +var LikeIcon = (props) => /* @__PURE__ */ jsxs35( + Icon21, + { + ...props, + width: "25", + height: "25", + viewBox: "0 0 25 25", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx42( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M7.444 19.9922H5.556C4.973 19.9922 4.5 19.5192 4.5 18.9362V11.5482C4.5 10.9652 4.973 10.4922 5.556 10.4922H7.444C8.027 10.4922 8.5 10.9652 8.5 11.5482V18.9362C8.5 19.5192 8.027 19.9922 7.444 19.9922V19.9922Z", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx42( + "path", + { + d: "M8.5 11.5638L12.149 6.81276C12.828 5.92776 14.154 5.90576 14.863 6.76676V6.76676C15.128 7.08776 15.272 7.49176 15.272 7.90776V11.1788H18.368C18.969 11.1788 19.53 11.4788 19.864 11.9778L20.193 12.4688C20.488 12.9098 20.574 13.4588 20.427 13.9678L19.068 18.6898C18.846 19.4608 18.141 19.9918 17.339 19.9918H11.05C10.55 19.9918 10.072 19.7838 9.732 19.4178L8.5 18.0918", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var like_icon_default = LikeIcon; + +// src/components/icons/like-selected-icon.tsx +import { Icon as Icon22 } from "@vtex/brand-ui"; +import { jsx as jsx43, jsxs as jsxs36 } from "react/jsx-runtime"; +var LikeSelectedIcon = (props) => /* @__PURE__ */ jsxs36( + Icon22, + { + ...props, + width: "24", + height: "24", + viewBox: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx43( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M8 10.5719L11.649 5.82094C12.328 4.93594 13.654 4.91394 14.363 5.77494C14.628 6.09594 14.772 6.49994 14.772 6.91594V10.1869H17.868C18.469 10.1869 19.03 10.4869 19.364 10.9859L19.693 11.4769C19.988 11.9179 20.074 12.4669 19.927 12.9759L18.568 17.6979C18.346 18.4689 17.641 18.9999 16.839 18.9999H10.55C10.05 18.9999 9.572 18.7919 9.232 18.4259L8 17.0999", + fill: "#A1A8B3" + } + ), + /* @__PURE__ */ jsx43( + "path", + { + d: "M5.056 19.5H6.944C7.80314 19.5 8.5 18.8031 8.5 17.944V10.556C8.5 9.69686 7.80314 9 6.944 9H5.056C4.19686 9 3.5 9.69686 3.5 10.556V17.944C3.5 18.8031 4.19686 19.5 5.056 19.5Z", + fill: "#A1A8B3", + stroke: "white", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var like_selected_icon_default = LikeSelectedIcon; + +// src/lib/feedback-section/index.tsx +import { useContext as useContext11, useEffect as useEffect10, useState as useState11 } from "react"; + +// src/lib/feedback-section/styles.ts +var container5 = ({ small } = {}) => ({ + width: "100%", + flexDirection: small ? "column" : ["column", "row"], + alignItems: small ? "flex-start" : "center", + alignContent: ["initial", "space-between"], + justifyContent: ["initial", "space-between"], + marginTop: small ? "0px" : "32px", + marginBottom: small ? "0px" : "16px", + gap: small ? "8px" : "0px" +}); +var question = ({ small } = {}) => ({ + fontSize: small ? "12px" : "16px", + lineHeight: "18px", + color: "#4A596B" +}); +var iconsContainer = ({ small } = {}) => ({ + display: "flex", + alignItems: "center", + gap: small ? "0px" : "4px", + ml: small ? "3px" : "6px" +}); +var likeContainer = { + paddingBottom: ["16px", "0"], + borderBottom: ["1px solid #E7E9EE", "none"], + mt: ["8px", "0"], + mb: ["16px", "0"], + width: ["100%", "auto"], + justifyContent: ["center", "initial"], + alignItems: "center" +}; +var likeIcon = { + mr: "2px" +}; +var dislikeIcon = { + mr: "2px", + transform: "rotateX(180deg) rotateY(180deg)" +}; +var button = { + ":hover": { + cursor: "pointer", + color: "#000711", + "svg > path": { + stroke: "#000711" } - ); + } }; -var StateResults = connectStateResults2( - ({ searchResults }) => { - const { updateOcurrenceCount } = useContext15(SearchContext); - useEffect12(() => { - if (!searchResults) - return; - const results = searchResults; - const isFilteringByDoctype = typeof results?._state.filters === "string" && results._state.filters.includes("doctype:"); - const facets = results?.facets; - const doctypeFacet = facets?.find((facet) => facet.name === "doctype"); - const nbHits = results?.nbHits ?? 0; - const formattedFacets = {}; - if (doctypeFacet?.data) { - Object.entries(doctypeFacet.data).forEach(([key, value]) => { - if (typeof value === "number") { - formattedFacets[key] = value; - } - }); - } - formattedFacets[""] = nbHits; - if (!isFilteringByDoctype) { - updateOcurrenceCount(formattedFacets); - } - }, [searchResults?.queryID]); - return null; +var buttonActive = { + cursor: "pointer", + color: "#000711", + "svg > path": { + stroke: "#000711" + } +}; +var selectedButton = { + color: "muted.1" +}; +var box = ({ small } = {}) => ({ + alignItems: "center", + color: "muted.0", + fontSize: small ? "12px" : "16px", + lineHeight: "22px" +}); +var disabled = { + display: "none !important" +}; +var editContainer = ({ small } = {}) => ({ + ...box({ small }), + ...button, + ":hover": { + color: "#000711 !important" + }, + // ml: ['0', 'auto'], + color: "#4A596B !important", + display: "flex" +}); +var editIcon = { mr: "4px" }; +var shareButton = { + // ml: ['0', 'auto'], +}; +var styles_default15 = { + disabled, + container: container5, + question, + likeContainer, + likeIcon, + dislikeIcon, + editContainer, + editIcon, + box, + button, + buttonActive, + selectedButton, + shareButton, + iconsContainer +}; + +// src/components/share-button/index.tsx +import { Box as Box17, Button as Button5, Flex as Flex15, Text as Text10 } from "@vtex/brand-ui"; + +// src/components/icons/facebook-icon.tsx +import { Icon as Icon23 } from "@vtex/brand-ui"; +import { jsx as jsx44 } from "react/jsx-runtime"; +var FacebookIcon = (props) => /* @__PURE__ */ jsx44( + Icon23, + { + ...props, + viewBox: "0 0 8 16", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: /* @__PURE__ */ jsx44( + "path", + { + d: "M7.47581 8.93204L7.89039 6.05825H5.29681V4.19417C5.29681 3.40778 5.65844 2.64078 6.8201 2.64078H8V0.194175C8 0.194175 6.92967 0 5.90684 0C3.76989 0 2.37444 1.37668 2.37444 3.86796V6.05825H0V8.93204H2.37444V15.8796C2.85114 15.9592 3.33882 16 3.83563 16C4.33243 16 4.82011 15.9592 5.29681 15.8796V8.93204H7.47581Z", + fill: "currentcolor" + } + ) + } +); +var facebook_icon_default = FacebookIcon; + +// src/components/icons/linkedin-icon.tsx +import { Icon as Icon24 } from "@vtex/brand-ui"; +import { jsx as jsx45 } from "react/jsx-runtime"; +var LinkedinIcon = (props) => /* @__PURE__ */ jsx45( + Icon24, + { + ...props, + viewBox: "0 0 26 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: /* @__PURE__ */ jsx45( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M6.49092 2.79706C6.49092 4.35191 5.32054 5.59605 3.4413 5.59605H3.40686C1.59747 5.59605 0.427734 4.35191 0.427734 2.79706C0.427734 1.20932 1.6331 0 3.47682 0C5.32054 0 6.45594 1.20932 6.49092 2.79706ZM6.13595 7.80637V23.9997H0.746429V7.80637H6.13595ZM25.5724 23.9996L25.5726 14.7149C25.5726 9.74099 22.9138 7.42607 19.3673 7.42607C16.5058 7.42607 15.2247 8.9978 14.5093 10.1004V7.80675H9.11917C9.1902 9.32624 9.11917 24 9.11917 24H14.5093V14.9564C14.5093 14.4724 14.5443 13.9896 14.6868 13.6431C15.0763 12.6763 15.9632 11.6752 17.4522 11.6752C19.4032 11.6752 20.1831 13.1601 20.1831 15.3362V23.9996H25.5724Z", + fill: "currentcolor" + } + ) + } +); +var linkedin_icon_default = LinkedinIcon; + +// src/components/icons/share-icon.tsx +import { Icon as Icon25 } from "@vtex/brand-ui"; +import { jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime"; +var ShareIcon = (props) => /* @__PURE__ */ jsxs37( + Icon25, + { + ...props, + viewBox: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx46("path", { d: "m0 0h24v24h-24z", opacity: "0", stroke: "currentColor" }), + /* @__PURE__ */ jsx46("path", { d: "m18 15a3 3 0 0 0 -2.1.86l-7.9-3.52c0-.12 0-.22 0-.34s0-.22 0-.33l7.9-3.53a3 3 0 1 0 -.9-2.14v.34l-7.9 3.52a3 3 0 1 0 0 4.28l7.9 3.53v.33a3 3 0 1 0 3-3z", fill: "currentColor" }) + ] + } +); +var share_icon_default = ShareIcon; + +// src/components/icons/twitter-icon.tsx +import { Icon as Icon26 } from "@vtex/brand-ui"; +import { jsx as jsx47 } from "react/jsx-runtime"; +var TwitterIcon = (props) => /* @__PURE__ */ jsx47( + Icon26, + { + ...props, + viewBox: "0 0 16 16", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: /* @__PURE__ */ jsx47( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M5.99386 8.11479L0 0.666748H4.74756L8.44753 5.27015L12.4004 0.687475H15.0151L9.71175 6.84307L16 14.6667H11.2666L7.2603 9.68846L2.98317 14.6529H0.354296L5.99386 8.11479ZM11.9565 13.2868L2.91105 2.04674H4.0571L13.0912 13.2868H11.9565Z", + fill: "currentcolor" + } + ) + } +); +var twitter_icon_default = TwitterIcon; + +// src/components/share-button/index.tsx +import { useRef as useRef8, useState as useState10 } from "react"; +import { + FacebookShareButton, + LinkedinShareButton, + TwitterShareButton, + EmailShareButton +} from "react-share"; + +// src/components/share-button/styles.ts +var container6 = { + position: "relative", + height: "24px" +}; +var button2 = { + cursor: "pointer", + textTransform: "none", + fontSize: "16px", + lineHeight: "18px", + color: "#4A596B", + width: "24px", + height: "24px", + transition: "0.3s", + ":hover": { + color: "#000711 !important", + textDecoration: "none" + }, + alignItems: "start" +}; +var shareIcon = { + marginRight: "4px" +}; +var innerButton = { + gap: "16px", + color: "#A1AAB7", + cursor: "pointer", + transition: "0.3s", + ":hover": { + color: "#4A4A4A" + }, + alignItems: "center" +}; +var innerContainer = { + position: "absolute", + backgroundColor: "white", + flexDirection: "column", + top: "100%", + right: "0", + mt: "8px", + padding: "16px", + gap: "16px", + boxShadow: "0px 0px 16px rgba(0, 0, 0, 0.1)", + borderRadius: "5px", + ":before": { + content: "''", + position: "absolute", + top: "-8px", + right: "8px", + borderLeft: "8px solid transparent", + borderRight: "8px solid transparent", + borderBottom: "8px solid white", + boxShadow: "0 16px 10px -17px rgba(0, 0, 0, 0.5)" + } +}; +var divider = { + borderBottom: "1px solid #E7E9EE" +}; +var styles_default16 = { + container: container6, + button: button2, + shareIcon, + innerButton, + innerContainer, + divider +}; + +// src/components/icons/email-icon.tsx +import { Icon as Icon27 } from "@vtex/brand-ui"; +import { jsx as jsx48 } from "react/jsx-runtime"; +var EmailIcon = (props) => /* @__PURE__ */ jsx48( + Icon27, + { + ...props, + width: "25", + height: "25", + viewBox: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: /* @__PURE__ */ jsx48( + "path", + { + d: "M12 0C5.376 0 0 5.376 0 12C0 18.624 5.376 24 12 24H18V21.6H12C6.792 21.6 2.4 17.208 2.4 12C2.4 6.792 6.792 2.4 12 2.4C17.208 2.4 21.6 6.792 21.6 12V13.716C21.6 14.664 20.748 15.6 19.8 15.6C18.852 15.6 18 14.664 18 13.716V12C18 8.688 15.312 6 12 6C8.688 6 6 8.688 6 12C6 15.312 8.688 18 12 18C13.656 18 15.168 17.328 16.248 16.236C17.028 17.304 18.372 18 19.8 18C22.164 18 24 16.08 24 13.716V12C24 5.376 18.624 0 12 0ZM12 15.6C10.008 15.6 8.4 13.992 8.4 12C8.4 10.008 10.008 8.4 12 8.4C13.992 8.4 15.6 10.008 15.6 12C15.6 13.992 13.992 15.6 12 15.6Z", + fill: "currentcolor" + } + ) + } +); +var email_icon_default = EmailIcon; + +// src/components/icons/link-icon.tsx +import { Icon as Icon28 } from "@vtex/brand-ui"; +import { jsx as jsx49, jsxs as jsxs38 } from "react/jsx-runtime"; +var LinkIcon = (props) => /* @__PURE__ */ jsxs38( + Icon28, + { + ...props, + viewBox: "0 0 16 16", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx49( + "path", + { + d: "M6.6665 8.66672C6.95281 9.04948 7.31808 9.36618 7.73754 9.59535C8.157 9.82452 8.62084 9.9608 9.0976 9.99495C9.57437 10.0291 10.0529 9.9603 10.5007 9.79325C10.9486 9.62619 11.3552 9.36477 11.6932 9.02672L13.6932 7.02672C14.3004 6.39805 14.6363 5.55604 14.6288 4.68205C14.6212 3.80806 14.2706 2.97202 13.6526 2.354C13.0345 1.73597 12.1985 1.38541 11.3245 1.37781C10.4505 1.37022 9.60851 1.7062 8.97984 2.31339L7.83317 3.45339", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx49( + "path", + { + d: "M9.33347 7.33332C9.04716 6.95057 8.68189 6.63387 8.26243 6.40469C7.84297 6.17552 7.37913 6.03924 6.90237 6.0051C6.4256 5.97095 5.94707 6.03974 5.49924 6.2068C5.0514 6.37386 4.64472 6.63527 4.3068 6.97332L2.3068 8.97332C1.69961 9.60199 1.36363 10.444 1.37122 11.318C1.37881 12.192 1.72938 13.028 2.3474 13.646C2.96543 14.2641 3.80147 14.6146 4.67546 14.6222C5.54945 14.6298 6.39146 14.2938 7.02013 13.6867L8.16013 12.5467", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var link_icon_default = LinkIcon; + +// src/components/share-button/index.tsx +import { jsx as jsx50, jsxs as jsxs39 } from "react/jsx-runtime"; +var ShareButton = ({ url, sx = {} }) => { + const [isOpen, setIsOpen] = useState10(false); + const containerRef = useRef8(); + useClickOutside(containerRef, () => setIsOpen(false)); + const handleCopyLink = async () => { + try { + if (window) + await navigator.clipboard.writeText(window.location.href); + } catch (error) { + console.error("Error copying link to clipboard:", error); + } + }; + return /* @__PURE__ */ jsxs39(Flex15, { sx: { ...styles_default16.container, ...sx }, ref: containerRef, children: [ + /* @__PURE__ */ jsxs39( + Button5, + { + sx: styles_default16.button, + variant: "tertiary", + onClick: () => setIsOpen(!isOpen), + children: [ + /* @__PURE__ */ jsx50(share_icon_default, { sx: styles_default16.shareIcon, size: 24 }), + " Share" + ] + } + ), + isOpen && /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default16.innerContainer, children: [ + /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default16.innerButton, onClick: handleCopyLink, children: [ + /* @__PURE__ */ jsx50(link_icon_default, { size: 16 }), + /* @__PURE__ */ jsx50(Text10, { children: "Copy link" }) + ] }), + /* @__PURE__ */ jsx50(Box17, { sx: styles_default16.divider }), + /* @__PURE__ */ jsx50(EmailShareButton, { url, children: /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default16.innerButton, onClick: handleCopyLink, children: [ + /* @__PURE__ */ jsx50(email_icon_default, { size: 16 }), + /* @__PURE__ */ jsx50(Text10, { children: "E-mail" }) + ] }) }), + /* @__PURE__ */ jsx50(TwitterShareButton, { url, children: /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default16.innerButton, children: [ + /* @__PURE__ */ jsx50(twitter_icon_default, { size: 16 }), + /* @__PURE__ */ jsx50(Text10, { children: "Twitter" }) + ] }) }), + /* @__PURE__ */ jsx50(FacebookShareButton, { url, children: /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default16.innerButton, children: [ + /* @__PURE__ */ jsx50(facebook_icon_default, { size: 16 }), + /* @__PURE__ */ jsx50(Text10, { children: "Facebook" }) + ] }) }), + /* @__PURE__ */ jsx50(LinkedinShareButton, { url, children: /* @__PURE__ */ jsxs39(Flex15, { sx: styles_default16.innerButton, children: [ + /* @__PURE__ */ jsx50(linkedin_icon_default, { size: 16 }), + /* @__PURE__ */ jsx50(Text10, { children: "LinkedIn" }) + ] }) }) + ] }) + ] }); +}; +var share_button_default = ShareButton; + +// src/lib/feedback-section/index.tsx +import { jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime"; +var FeedbackSection = ({ + slug, + urlToEdit, + suggestEdits = true, + shareButton: shareButton2 = false, + sendFeedback, + small = false +}) => { + const [feedback, setFeedback] = useState11(void 0); + const { locale } = useContext11(LibraryContext); + useEffect10(() => { + setFeedback(void 0); + }, [slug]); + const handleSend = async (liked) => { + if (feedback !== void 0) + return; + setFeedback(liked); + try { + await sendFeedback(liked); + } catch (e) { + setFeedback(void 0); + } + }; + return /* @__PURE__ */ jsxs40(Flex16, { sx: styles_default15.container({ small }), "data-cy": "feedback-section", children: [ + /* @__PURE__ */ jsxs40(Flex16, { sx: styles_default15.likeContainer, children: [ + /* @__PURE__ */ jsx51(Text11, { sx: styles_default15.question({ small }), children: feedback !== void 0 ? messages[locale]["feedback_section.response"] : messages[locale]["feedback_section.question"] }), + /* @__PURE__ */ jsxs40(Flex16, { sx: styles_default15.iconsContainer({ small }), children: [ + /* @__PURE__ */ jsxs40( + Flex16, + { + sx: feedback === void 0 ? styles_default15.button : feedback === true ? styles_default15.selectedButton : styles_default15.disabled, + onClick: () => handleSend(true), + role: "button", + "aria-pressed": feedback === true, + "data-cy": "feedback-section-like", + children: [ + feedback === true ? /* @__PURE__ */ jsx51(like_selected_icon_default, { size: small ? 18 : 24, sx: styles_default15.likeIcon }) : /* @__PURE__ */ jsx51(like_icon_default, { size: small ? 18 : 24, sx: styles_default15.likeIcon }), + !small && /* @__PURE__ */ jsx51(Text11, { children: messages[locale]["feedback_section.positive"] }) + ] + } + ), + /* @__PURE__ */ jsxs40( + Flex16, + { + sx: feedback === void 0 ? styles_default15.button : feedback === false ? styles_default15.selectedButton : styles_default15.disabled, + onClick: () => handleSend(false), + role: "button", + "aria-pressed": feedback === false, + "data-cy": "feedback-section-dislike", + children: [ + feedback === false ? /* @__PURE__ */ jsx51( + like_selected_icon_default, + { + size: small ? 18 : 24, + sx: styles_default15.dislikeIcon + } + ) : /* @__PURE__ */ jsx51(like_icon_default, { size: small ? 18 : 24, sx: styles_default15.dislikeIcon }), + !small && /* @__PURE__ */ jsx51(Text11, { children: messages[locale]["feedback_section.negative"] }) + ] + } + ) + ] }) + ] }), + suggestEdits && /* @__PURE__ */ jsxs40( + Link8, + { + target: "_blank", + rel: "noopener noreferrer", + href: urlToEdit, + sx: styles_default15.editContainer({ small }), + children: [ + /* @__PURE__ */ jsx51(edit_icon_default, { size: small ? 18 : 24, sx: styles_default15.editIcon }), + /* @__PURE__ */ jsx51(Text11, { children: messages[locale]["feedback_section.edit"] }) + ] + } + ), + shareButton2 && /* @__PURE__ */ jsx51(share_button_default, { url: window.location.href, sx: styles_default15.shareButton }) + ] }); +}; +var feedback_section_default = FeedbackSection; + +// src/lib/search/index.tsx +import { Box as Box23, Flex as Flex21 } from "@vtex/brand-ui"; + +// src/components/search-sections/index.tsx +import { Box as Box19 } from "@vtex/brand-ui"; + +// src/components/search-section/index.tsx +import { Box as Box18, Flex as Flex17, Text as Text12 } from "@vtex/brand-ui"; +import { useContext as useContext12, useEffect as useEffect11 } from "react"; + +// src/components/search-section/styles.ts +var sectionContainer = { + justifyContent: "space-between", + padding: "8px", + mb: "8px", + cursor: "pointer", + ":active, :hover": { + backgroundColor: "#F8F7FC", + borderRadius: "4px", + ".search-section-title": { + color: "#000711" + }, + ".search-section-count": { + background: "#E7E9EE" + } + } +}; +var sectionIconTitleBox = { + alignItems: "center" +}; +var sectionIcon = { + width: "16px", + height: "16px", + minWidth: "16px", + minHeight: "16px", + mr: "8px" +}; +var sectionTitle = { + fontSize: "12px", + lineHeight: "16px" +}; +var sectionTitleActive = { + ...sectionTitle, + color: "#142032", + fontWeight: "600" +}; +var sectionCount = { + background: "#F8F7FC", + borderRadius: "24px", + width: "auto", + textAlign: "center", + px: "8px", + fontSize: "12px", + lineHeight: "16px" +}; +var allResultsText = { + ...sectionTitle, + ml: "24px" +}; +var allResultsTextActive = { + ...allResultsText, + fontWeight: "bold", + color: "#0C1522" +}; +var styles_default17 = { + sectionContainer, + sectionIconTitleBox, + sectionIcon, + sectionTitle, + sectionTitleActive, + sectionCount, + allResultsText, + allResultsTextActive +}; + +// src/components/search-section/index.tsx +import { useRouter as useRouter6 } from "next/router.js"; + +// src/utils/context/search.tsx +import { + createContext as createContext2, + useState as useState12 +} from "react"; +import { jsx as jsx52 } from "react/jsx-runtime"; +var SearchContext = createContext2({ + filterSelectedSection: "", + changeFilterSelectedSection: () => void 0, + ocurrenceCount: {}, + updateOcurrenceCount: () => void 0 +}); +var SearchContextProvider = ({ children }) => { + const [filterSelectedSection, changeFilterSelectedSection] = useState12(""); + const [ocurrenceCount, changeOcurrenceCount] = useState12({}); + const updateOcurrenceCount = (resultsData) => { + changeOcurrenceCount(resultsData); + }; + return /* @__PURE__ */ jsx52( + SearchContext.Provider, + { + value: { + filterSelectedSection, + changeFilterSelectedSection, + ocurrenceCount, + updateOcurrenceCount + }, + children + } + ); +}; +var search_default = SearchContextProvider; + +// src/components/search-section/index.tsx +import { jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime"; +var SearchSection = ({ dataElement, index }) => { + const router = useRouter6(); + const { filterSelectedSection, ocurrenceCount, changeFilterSelectedSection } = useContext12(SearchContext); + const { locale } = useContext12(LibraryContext); + const updateFilter = (value) => { + router.query.filter = value; + changeFilterSelectedSection(value); + }; + useEffect11(() => { + updateFilter(""); + }, [router.query]); + return !dataElement ? /* @__PURE__ */ jsxs41(Flex17, { sx: styles_default17.sectionContainer, onClick: () => updateFilter(""), children: [ + /* @__PURE__ */ jsx53( + Text12, + { + className: "search-section-title", + sx: filterSelectedSection ? styles_default17.allResultsText : styles_default17.allResultsTextActive, + children: messages[locale]["search_results.all"] || "All results" + } + ), + /* @__PURE__ */ jsx53(Box18, { className: "search-section-count", sx: styles_default17.sectionCount, children: ocurrenceCount[""] }) + ] }) : /* @__PURE__ */ jsxs41( + Flex17, + { + sx: styles_default17.sectionContainer, + onClick: () => updateFilter(dataElement.id), + children: [ + /* @__PURE__ */ jsxs41(Flex17, { sx: styles_default17.sectionIconTitleBox, children: [ + /* @__PURE__ */ jsx53(dataElement.Icon, { sx: styles_default17.sectionIcon }), + /* @__PURE__ */ jsx53( + Text12, + { + className: "search-section-title", + sx: filterSelectedSection === dataElement.id ? styles_default17.sectionTitleActive : styles_default17.sectionTitle, + children: dataElement.title + } + ) + ] }), + /* @__PURE__ */ jsx53(Box18, { className: "search-section-count", sx: styles_default17.sectionCount, children: ocurrenceCount[dataElement.id] || 0 }) + ] + }, + `search-section-${dataElement.id}${index}` + ); +}; +var search_section_default = SearchSection; + +// src/components/search-sections/styles.ts +var container7 = { + display: ["none", "none", "none", "initial"], + height: "100%", + width: "242px", + border: "1px solid #E7E9EE", + borderRadius: "4px", + mr: ["32px", "32px", "32px", "32px", "32px", "32px", "64px"], + mt: "96px" +}; +var notesSection = { + px: "8px", + paddingTop: "8px" +}; +var docsSection = { + ...notesSection, + borderBottom: "1px solid #E7E9EE" +}; +var styles_default18 = { + container: container7, + notesSection, + docsSection +}; + +// src/components/search-sections/index.tsx +import { useContext as useContext13 } from "react"; +import { jsx as jsx54, jsxs as jsxs42 } from "react/jsx-runtime"; +var SearchSections = () => { + const { sidebarSections } = useContext13(LibraryContext); + const internalOnlySections = sidebarSections.map( + (section) => section.filter((item2) => !item2.isExternalLink) + ); + return /* @__PURE__ */ jsx54(Box19, { sx: styles_default18.container, children: internalOnlySections.map((sections, id) => /* @__PURE__ */ jsxs42( + Box19, + { + sx: id < internalOnlySections.length - 1 ? styles_default18.docsSection : styles_default18.notesSection, + children: [ + id === 0 && /* @__PURE__ */ jsx54(search_section_default, { dataElement: null }), + sections.map((section, index) => /* @__PURE__ */ jsx54( + search_section_default, + { + dataElement: section, + index + }, + `search-section-docs-${section.id}` + )) + ] + }, + `search-section-${id}` + )) }); +}; +var search_sections_default = SearchSections; + +// src/components/search-results/index.tsx +import { useRouter as useRouter7 } from "next/router.js"; +import { useContext as useContext16, useState as useState14 } from "react"; +import { Box as Box22, Text as Text14 } from "@vtex/brand-ui"; +import { Configure as Configure2, InstantSearch as InstantSearch2 } from "react-instantsearch-dom"; + +// src/components/search-results/infiniteHits.tsx +import { useContext as useContext15, useEffect as useEffect12, useMemo as useMemo2, useRef as useRef10 } from "react"; +import { + connectInfiniteHits, + connectStateResults as connectStateResults2 +} from "react-instantsearch-dom"; + +// src/components/search-card/index.tsx +import { Box as Box20, Flex as Flex18, Text as Text13, IconCaret as IconCaret5, Tooltip as Tooltip2 } from "@vtex/brand-ui"; + +// src/components/search-card/styles.ts +var container8 = { + justifyContent: "space-between", + borderRadius: "9px", + border: "1px solid #DDDDDD", + width: "100%", + mb: "18px", + paddingTop: "26px", + paddingBottom: "10px", + paddingLeft: ["13px", "44px"], + paddingRight: ["13px", "34px"], + background: "#FFFFFF", + cursor: "pointer" +}; +var containerActive = (method) => { + const methodCategory = method ? methodsColors[method] : ""; + return { + ...container8, + ":hover": { + background: "#F8F7FC", + ".searchCardTitle, .searchCardDescription": { + color: "#142032" + }, + ".method-category": { + ...methodCategory + } + } + }; +}; +var title3 = { + display: "flex", + alignItems: "flex-start", + fontSize: ["16px", "18px"], + lineHeight: ["22px", "24px"], + color: "muted.0" +}; +var httpMethod = { + mr: "4px" +}; +var icon2 = { + width: "24px", + height: "24px", + mr: "8px", + path: { + stroke: "#A1A8B3" + } +}; +var description3 = { + fontSize: "16px", + lineHeight: "22px", + paddingLeft: "32px", + color: "muted.0", + mt: "4px", + mb: "8px" +}; +var descriptionToggle = { + height: "auto", + minWidth: "auto" +}; +var descriptionExpandedItem = { + mt: "24px" +}; +var breadcrumbsContainer = { + display: ["none", "flex"], + paddingLeft: "32px", + alignItems: "center" +}; +var alignCenter2 = { + alignItems: "center" +}; +var documentation = { + ...alignCenter2, + minWidth: "max-content" +}; +var breadcrumb = { + color: "muted.1", + fontSize: "16px", + lineHeight: "18px", + whiteSpace: "nowrap", + overflow: "hidden", + textOverflow: "ellipsis" +}; +var lastBreadcrumb = { + ...breadcrumb, + margin: "auto 0", + display: "block", + overflow: "hidden", + maxWidth: "max-content", + whiteSpace: "nowrap" +}; +var breadcrumbsIn = { + ...breadcrumb, + mr: "4px", + minWidth: "fit-content" +}; +var breadcrumbsArrow = { + width: "16px", + height: "16px", + color: "muted.2" +}; +var actionContainer = { + paddingLeft: "32px", + alignItems: "center" +}; +var actionIcon = { + minWidth: "16px", + minHeight: "16px", + width: "16px", + height: "16px", + mr: "8px" +}; +var styles_default19 = { + containerActive, + title: title3, + httpMethod, + icon: icon2, + description: description3, + descriptionToggle, + descriptionExpandedItem, + breadcrumbsContainer, + alignCenter: alignCenter2, + documentation, + breadcrumb, + lastBreadcrumb, + breadcrumbsIn, + breadcrumbsArrow, + actionContainer, + actionIcon +}; + +// src/components/search-card/index.tsx +import Link9 from "next/link.js"; +import { useState as useState13 } from "react"; +import { useContext as useContext14 } from "react"; + +// src/components/icons/expanded-results-icon.tsx +import { Icon as Icon29 } from "@vtex/brand-ui"; +import { jsx as jsx55, jsxs as jsxs43 } from "react/jsx-runtime"; +var ExpandedResultsIcon = ({ active }) => active ? /* @__PURE__ */ jsxs43(Icon29, { viewBox: "0 0 19 13", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ + /* @__PURE__ */ jsx55( + "path", + { + d: "M18.8728 6.03784C18.265 5.00744 14.9223 -0.163132 9.2436 0.00396015C3.99219 0.133921 0.953397 4.6454 0.127225 6.03784C0.0438786 6.17895 0 6.33903 0 6.50198C0 6.66493 0.0438786 6.82501 0.127225 6.96612C0.725488 7.97796 3.92572 13 9.51899 13H9.7564C15.0078 12.87 18.0561 8.35856 18.8728 6.96612C18.9561 6.82501 19 6.66493 19 6.50198C19 6.33903 18.9561 6.17895 18.8728 6.03784ZM9.70892 11.1434C5.61604 11.2363 2.9476 7.81087 2.11194 6.50198C3.06156 5.00744 5.54007 1.95337 9.33856 1.86054C13.4124 1.75843 16.0904 5.19309 16.9355 6.50198C15.9574 7.99652 13.5074 11.0506 9.70892 11.1434Z", + fill: "#EE2565" + } + ), + /* @__PURE__ */ jsx55( + "path", + { + d: "M9.49977 3.25293C8.84241 3.25293 8.19981 3.44348 7.65323 3.80049C7.10665 4.15749 6.68065 4.66492 6.42909 5.2586C6.17753 5.85228 6.11171 6.50554 6.23995 7.13579C6.3682 7.76604 6.68475 8.34495 7.14957 8.79934C7.6144 9.25372 8.20662 9.56316 8.85135 9.68852C9.49608 9.81388 10.1644 9.74954 10.7717 9.50363C11.379 9.25772 11.8981 8.84129 12.2633 8.30699C12.6285 7.7727 12.8234 7.14453 12.8234 6.50194C12.8234 5.64025 12.4733 4.81385 11.85 4.20454C11.2267 3.59524 10.3813 3.25293 9.49977 3.25293ZM9.49977 7.89437C9.21804 7.89437 8.94264 7.81271 8.70839 7.65971C8.47415 7.5067 8.29157 7.28923 8.18376 7.0348C8.07595 6.78037 8.04774 6.50039 8.1027 6.23029C8.15767 5.96018 8.29333 5.71208 8.49254 5.51734C8.69175 5.32261 8.94556 5.18999 9.22187 5.13626C9.49819 5.08253 9.78459 5.11011 10.0449 5.2155C10.3052 5.32089 10.5276 5.49936 10.6841 5.72835C10.8407 5.95733 10.9242 6.22654 10.9242 6.50194C10.9242 6.87124 10.7741 7.22541 10.507 7.48654C10.2399 7.74767 9.87755 7.89437 9.49977 7.89437Z", + fill: "#EE2565" + } + ) +] }) : /* @__PURE__ */ jsxs43(Icon29, { viewBox: "0 0 23 23", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ + /* @__PURE__ */ jsx55( + "path", + { + d: "M4.51334 3.15293C4.42398 3.06358 4.31791 2.9927 4.20116 2.94434C4.08441 2.89598 3.95929 2.87109 3.83292 2.87109C3.70656 2.87109 3.58143 2.89598 3.46468 2.94434C3.34794 2.9927 3.24186 3.06358 3.1525 3.15293C2.97205 3.33339 2.87067 3.57814 2.87067 3.83335C2.87067 4.08855 2.97205 4.33331 3.1525 4.51377L8.54792 9.90918C8.20657 10.5442 8.0789 11.2723 8.18384 11.9856C8.28878 12.6988 8.62074 13.3593 9.13053 13.8691C9.64031 14.3789 10.3008 14.7108 11.0141 14.8158C11.7273 14.9207 12.4554 14.793 13.0904 14.4517L18.4858 19.8471C18.5749 19.9369 18.6809 20.0082 18.7977 20.0569C18.9145 20.1055 19.0397 20.1306 19.1663 20.1306C19.2928 20.1306 19.418 20.1055 19.5348 20.0569C19.6516 20.0082 19.7576 19.9369 19.8467 19.8471C19.9365 19.758 20.0078 19.652 20.0564 19.5352C20.1051 19.4185 20.1301 19.2932 20.1301 19.1667C20.1301 19.0402 20.1051 18.9149 20.0564 18.7981C20.0078 18.6813 19.9365 18.5754 19.8467 18.4863L4.51334 3.15293ZM11.4996 12.9375C11.1183 12.9375 10.7527 12.7861 10.4831 12.5165C10.2135 12.2469 10.0621 11.8813 10.0621 11.5C10.0621 11.5 10.0621 11.4521 10.0621 11.4329L11.5571 12.9279L11.4996 12.9375Z", + fill: "#CCCED8" + } + ), + /* @__PURE__ */ jsx55( + "path", + { + d: "M11.71 16.2917C7.58919 16.3875 4.88669 12.8513 4.04336 11.5C4.64372 10.5424 5.36525 9.66623 6.19002 8.89336L4.79086 7.54211C3.70921 8.56127 2.78258 9.73328 2.04044 11.0209C1.95633 11.1665 1.91205 11.3318 1.91205 11.5C1.91205 11.6683 1.95633 11.8335 2.04044 11.9792C2.64419 13.0238 5.87378 18.2084 11.5184 18.2084H11.7579C12.8193 18.1769 13.867 17.9596 14.8534 17.5663L13.3392 16.0521C12.8067 16.1922 12.2603 16.2725 11.71 16.2917Z", + fill: "#CCCED8" + } + ), + /* @__PURE__ */ jsx55( + "path", + { + d: "M20.9587 11.0209C20.3453 9.9571 16.9624 4.61919 11.2412 4.79169C10.1798 4.82317 9.1321 5.04049 8.14575 5.43377L9.65992 6.94794C10.1924 6.80786 10.7388 6.7275 11.2891 6.70835C15.4003 6.60294 18.1028 10.1488 18.9558 11.5C18.3406 12.4606 17.6028 13.3368 16.7612 14.1067L18.2083 15.4579C19.3035 14.4415 20.2431 13.2693 20.997 11.9792C21.0754 11.8302 21.1131 11.6631 21.1063 11.4949C21.0996 11.3266 21.0487 11.1631 20.9587 11.0209Z", + fill: "#CCCED8" + } + ) +] }); +var expanded_results_icon_default = ExpandedResultsIcon; + +// src/components/search-card/index.tsx +import { jsx as jsx56, jsxs as jsxs44 } from "react/jsx-runtime"; +var SearchCard = ({ + Icon: Icon68, + title: title5, + method, + breadcrumbs, + actionType, + url, + hit +}) => { + const actionValue = actionType ? getAction(actionType) : null; + const [toggleChildResults, setToggleChildResults] = useState13(false); + const { locale } = useContext14(LibraryContext); + return /* @__PURE__ */ jsx56(Link9, { href: url, legacyBehavior: true, children: /* @__PURE__ */ jsxs44(Flex18, { sx: styles_default19.containerActive(method), children: [ + /* @__PURE__ */ jsxs44(Box20, { children: [ +<<<<<<< HEAD +<<<<<<< HEAD + /* @__PURE__ */ jsxs44(Text13, { className: "searchCardTitle", sx: styles_default20.title, children: [ + Icon68 && /* @__PURE__ */ jsx56(Icon68, { sx: styles_default20.icon }), +======= + /* @__PURE__ */ jsxs44(Text13, { className: "searchCardTitle", sx: styles_default19.title, children: [ + Icon31 && /* @__PURE__ */ jsx56(Icon31, { sx: styles_default19.icon }), +>>>>>>> 168317c (build: update dist files) +======= + /* @__PURE__ */ jsxs44(Text13, { className: "searchCardTitle", sx: styles_default19.title, children: [ + Icon31 && /* @__PURE__ */ jsx56(Icon31, { sx: styles_default19.icon }), +>>>>>>> 6c18c92718b344c5dce8e17537513ead66107609 + method ? /* @__PURE__ */ jsx56( + method_category_default, + { + sx: styles_default19.httpMethod, + origin: "search", + method, + active: false + } + ) : null, + title5 === "overview" && `${hit.doccategory} `, + title5 + ] }), + /* @__PURE__ */ jsxs44(Text13, { className: "searchCardDescription", sx: styles_default19.description, children: [ + /* @__PURE__ */ jsx56(Flex18, { children: /* @__PURE__ */ jsx56( + customHighlight_default, + { + hit, + attribute: "content", + ...{ searchPage: true } + } + ) }), + toggleChildResults && hit.filteredMatches?.map((childHit, index) => /* @__PURE__ */ jsx56( + Box20, + { + sx: styles_default19.descriptionExpandedItem, + children: /* @__PURE__ */ jsx56( + customHighlight_default, + { + hit: childHit, + attribute: "content", + ...{ searchPage: true } + } + ) + }, + `search-card-${hit.objectID}-${index}` + )) + ] }), + breadcrumbs ? /* @__PURE__ */ jsxs44(Box20, { sx: styles_default19.breadcrumbsContainer, children: [ + /* @__PURE__ */ jsx56(Text13, { sx: styles_default19.breadcrumbsIn, children: messages[locale]["search_card.in"] || "In" }), + breadcrumbs.map((breadcrumb2, index) => /* @__PURE__ */ jsxs44( + Flex18, + { + sx: index === 0 ? styles_default19.documentation : styles_default19.alignCenter, + children: [ + /* @__PURE__ */ jsx56(Tooltip2, { label: breadcrumb2, placement: "top", children: /* @__PURE__ */ jsx56(Text13, { sx: styles_default19.breadcrumb, children: breadcrumb2 }) }), + index < breadcrumbs.length - 1 ? /* @__PURE__ */ jsx56(IconCaret5, { direction: "right", sx: styles_default19.breadcrumbsArrow }) : null + ] + }, + `${breadcrumb2}${index}` + )) + ] }) : null, + actionValue ? /* @__PURE__ */ jsxs44(Flex18, { sx: styles_default19.actionContainer, children: [ + /* @__PURE__ */ jsx56(actionValue.Icon, { sx: styles_default19.actionIcon }), + " ", + /* @__PURE__ */ jsx56(Text13, { children: actionValue?.title }) + ] }) : null + ] }), + hit.filteredMatches && hit.filteredMatches.length > 0 && /* @__PURE__ */ jsx56( + Box20, + { + sx: styles_default19.descriptionToggle, + onClick: (event) => { + setToggleChildResults(!toggleChildResults); + event.stopPropagation(); + }, + children: /* @__PURE__ */ jsx56(expanded_results_icon_default, { active: toggleChildResults }) + } + ) + ] }) }); +}; +var search_card_default = SearchCard; + +// src/components/search-results/infiniteHits.tsx +import { Box as Box21, Flex as Flex19 } from "@vtex/brand-ui"; +import { jsx as jsx57, jsxs as jsxs45 } from "react/jsx-runtime"; +var HitCard = ({ hit }) => { + const { sidebarSections } = useContext15(LibraryContext); + const breadcrumbTitle = getTitleById(sidebarSections, hit.doctype); + const breadcrumbs = [ + breadcrumbTitle, + ...hit.doccategory ? [hit.doccategory] : [], + , + hit.doctitle + ]; + const DocIcon = getIconFromSection(sidebarSections, hit.doctype); + return /* @__PURE__ */ jsx57( + search_card_default, + { + doc: hit.doctype, + Icon: DocIcon, + title: hit.doctitle, + method: hit.method || void 0, + breadcrumbs: breadcrumbs || [], + actionType: hit.actiontype || void 0, + url: getRelativeURL(hit.url), + hit + } + ); +}; +var StateResults = connectStateResults2( + ({ searchResults }) => { + const { updateOcurrenceCount } = useContext15(SearchContext); + useEffect12(() => { + if (!searchResults) + return; + const results = searchResults; + const isFilteringByDoctype = typeof results?._state.filters === "string" && results._state.filters.includes("doctype:"); + const facets = results?.facets; + const doctypeFacet = facets?.find((facet) => facet.name === "doctype"); + const nbHits = results?.nbHits ?? 0; + const formattedFacets = {}; + if (doctypeFacet?.data) { + Object.entries(doctypeFacet.data).forEach(([key, value]) => { + if (typeof value === "number") { + formattedFacets[key] = value; + } + }); + } + formattedFacets[""] = nbHits; + if (!isFilteringByDoctype) { + updateOcurrenceCount(formattedFacets); + } + }, [searchResults?.queryID]); + return null; + } +); +var InfiniteHits = ({ hits, hasMore, refineNext }) => { + const scrollRef = useRef10(null); + function onSentinelIntersection(entries) { + entries.forEach((entry) => { + if (entry.isIntersecting && hasMore) { + refineNext(); + } + }); + } + const filteredResult = useMemo2(() => { + const mergeHits = []; + hits.forEach((hit) => { + const alreadyExists = mergeHits.findIndex( + (e) => e.url_without_anchor === hit.url_without_anchor + ); + const filteredHit = { ...hit, filteredMatches: [] }; + if (alreadyExists >= 0) { + mergeHits[alreadyExists].filteredMatches?.push(filteredHit); + } else + mergeHits.push(filteredHit); + }); + return mergeHits; + }, [hits]); + useEffect12(() => { + const observer = new IntersectionObserver(onSentinelIntersection, {}); + if (scrollRef.current) + observer.observe(scrollRef.current); + return () => { + observer.disconnect(); + }; + }, [hits]); + return /* @__PURE__ */ jsxs45(Box21, { children: [ + /* @__PURE__ */ jsx57(StateResults, {}), + filteredResult.map((hit, index) => /* @__PURE__ */ jsx57(Flex19, { children: /* @__PURE__ */ jsx57(HitCard, { hit }, index) }, hit.objectID)), + /* @__PURE__ */ jsx57("span", { ref: scrollRef }) + ] }); +}; +var infiniteHits_default = connectInfiniteHits(InfiniteHits); + +// src/components/search-results/styles.ts +var resultContainer = { + width: ["80%", "544px", "544px", "544px", "720px", "720px", "1400px"], + paddingTop: ["32px", "32px", "32px", "64px"], + hr: { + marginTop: "16px", + marginBottom: "32px", + borderTop: "none", + borderColor: "#DDDDDD", + display: ["none", "none", "none", "block"] + } +}; +var resultText = { + mb: "16px", + fontSize: "16px", + lineHeight: "22px", + display: ["none", "none", "none", "initial"] +}; +var paginationContainer = { + mt: ["48px", "115px"], + mb: "34px", + justifyContent: "center" +}; +var paginationLink = { + fontSize: "16px", + lineHeight: "20px", + color: "#EE2565", + cursor: "pointer" +}; +var paginationLinkDisabled = { + ...paginationLink, + color: "muted.1" +}; +var paginationNumber = { + display: "flex", + fontSize: ["14px", "16px"], + lineHeight: "20px", + color: "#4A596B", + mx: ["18px", "27px"] +}; +var paginationActualNumber = { + fontWeight: "700", + mx: "4px" +}; +var noResults2 = { + justifyContent: "center", + alignContent: "center", + padding: "12px" +}; +var styles_default20 = { + resultContainer, + resultText, + paginationContainer, + paginationLink, + paginationLinkDisabled, + paginationNumber, + paginationActualNumber, + noResults: noResults2 +}; + +// src/components/search-results/index.tsx +import { jsx as jsx58, jsxs as jsxs46 } from "react/jsx-runtime"; +var SearchResults = () => { + const router = useRouter7(); + const { filterSelectedSection, ocurrenceCount } = useContext16(SearchContext); + const { locale } = useContext16(LibraryContext); + const filters = [ + `language:${locale}`, + filterSelectedSection ? `doctype:"${filterSelectedSection}"` : "" + ].filter(Boolean).join(" AND "); + const [prevFilter, setPrevFilter] = useState14(""); + const [searchState, setSearchState] = useState14({}); + const updateSearchState = (currentState) => { + const page = filters !== prevFilter ? 1 : currentState.page || 1; + setPrevFilter(filters); + setSearchState({ + ...currentState, + page + }); + }; + return /* @__PURE__ */ jsxs46(Box22, { sx: styles_default20.resultContainer, children: [ + /* @__PURE__ */ jsx58(Text14, { sx: styles_default20.resultText, children: `${messages[locale]["search_results.showing"] || "Showing"} ${ocurrenceCount[filterSelectedSection] === void 0 ? "" : ocurrenceCount[filterSelectedSection]} ${messages[locale]["search_results.results_for"] || "results for"} ${router.query.keyword} ${messages[locale]["search_results.in"] || "in"} ${!filterSelectedSection ? messages[locale]["search_results.all_lowercase"] || "all results" : filterSelectedSection}` }), + /* @__PURE__ */ jsx58("hr", {}), + /* @__PURE__ */ jsx58(Box22, { children: /* @__PURE__ */ jsxs46( + InstantSearch2, + { + searchClient, + indexName: searchIndex, + searchState, + onSearchStateChange: (currentState) => updateSearchState(currentState), + children: [ + /* @__PURE__ */ jsx58( + Configure2, + { + filters, + query: router.query.keyword, + clickAnalytics: true, + hitsPerPage: 6, + facets: ["doctype", "language"], + facetingAfterDistinct: true + } + ), + /* @__PURE__ */ jsx58(infiniteHits_default, {}) + ] + } + ) }) + ] }); +}; +var search_results_default = SearchResults; + +// src/components/search-filter-tab-bar/index.tsx +import { useContext as useContext17 } from "react"; +import { Flex as Flex20, Text as Text15 } from "@vtex/brand-ui"; + +// src/components/search-filter-tab-bar/styles.ts +var container9 = { + display: ["flex", "flex", "flex", "none"], + overflowX: "scroll", + scrollbarWidth: "none", + "::-webkit-scrollbar": { + display: "none" + } +}; +var tab = (active) => ({ + pt: "8px", + pb: "14px", + px: "24px", + cursor: "pointer", + justifyContent: "center", + alignItems: "center", + borderBottom: `${active ? 2 : 1}px solid #${active ? "D71D55" : "DDDDDD"}`, + minWidth: "max-content" +}); +var tabTitle = (active) => ({ + fontSize: "14px", + fontWeight: "600", + lineHeight: "16.38px", + whiteSpace: "nowrap", + color: `#${active ? "D71D55" : "545454"}` +}); +var tabCount = { + px: "8px", + ml: "2px", + fontSize: "12px", + fontWeight: "400", + lineHeight: "16px", + borderRadius: "24px", + backgroundColor: "#F8F7FC" +}; +var styles_default21 = { container: container9, tab, tabTitle, tabCount }; + +// src/components/search-filter-tab-bar/index.tsx +import { jsx as jsx59, jsxs as jsxs47 } from "react/jsx-runtime"; +var SearchFilterTab = ({ filter }) => { + const { filterSelectedSection, changeFilterSelectedSection, ocurrenceCount } = useContext17(SearchContext); + const { locale } = useContext17(LibraryContext); + return /* @__PURE__ */ jsxs47( + Flex20, + { + sx: styles_default21.tab(filterSelectedSection === filter), + onClick: () => changeFilterSelectedSection(filter), + children: [ + /* @__PURE__ */ jsx59(Text15, { sx: styles_default21.tabTitle(filterSelectedSection === filter), children: filter || messages[locale]["search_results.all"] || "All results" }), + /* @__PURE__ */ jsx59(Text15, { sx: styles_default21.tabCount, children: ocurrenceCount[filter] || 0 }) + ] + } + ); +}; +var SearchFilterTabBar = () => { + const { sidebarSections } = useContext17(LibraryContext); + return /* @__PURE__ */ jsxs47(Flex20, { sx: styles_default21.container, children: [ + /* @__PURE__ */ jsx59(SearchFilterTab, { filter: "" }), + sidebarSections.flat().map((section) => { + return /* @__PURE__ */ jsx59(SearchFilterTab, { filter: section.id }, section.id); + }) + ] }); +}; +var search_filter_tab_bar_default = SearchFilterTabBar; + +// src/lib/search/styles.ts +var searchBarContainer = { + display: ["flex", "flex", "flex", "none"], + justifyContent: "center", + py: "16px" +}; +var body = { + background: "#FFFFFF", + justifyContent: "center" +}; +var styles_default22 = { + searchBarContainer, + body +}; + +// src/lib/search/index.tsx +import { jsx as jsx60, jsxs as jsxs48 } from "react/jsx-runtime"; +var Search = () => { + return /* @__PURE__ */ jsxs48(search_default, { children: [ + /* @__PURE__ */ jsxs48(Box23, { children: [ + /* @__PURE__ */ jsx60(Flex21, { sx: styles_default22.searchBarContainer, children: /* @__PURE__ */ jsx60(SearchInput, {}) }), + /* @__PURE__ */ jsx60(search_filter_tab_bar_default, {}) + ] }), + /* @__PURE__ */ jsxs48(Flex21, { sx: styles_default22.body, children: [ + /* @__PURE__ */ jsx60(search_sections_default, {}), + /* @__PURE__ */ jsx60(search_results_default, {}) + ] }) + ] }); +}; +var search_default2 = Search; + +// src/lib/cookie-bar/index.tsx +import { useContext as useContext18 } from "react"; +import { CookieConsent } from "react-cookie-consent"; + +// src/lib/cookie-bar/styles.ts +var bar = { + backgroundColor: "#FFF", + borderRadius: "8px", + color: "#5E6E84", + padding: "20px", + width: "80%", + left: "50%", + transform: "translateX(-50%)", + maxWidth: "1280px", + alignItems: "center", + justifyContent: "center", + boxShadow: "0 0 10px rgba(0, 0, 0, 0.1)" +}; +var barContent = { + display: "flex", + flex: "1 0 300px", + flexDirection: "column", + maxWidth: "100%" +}; +var title4 = { + color: "#5E6E84", + marginBottom: "10px", + lineHeight: "28px", + fontSize: "25px", + fontWeight: "400" +}; +var buttonContainer = { + display: "flex", + flexWrap: "wrap", + gap: "10px", + justifyContent: "center", + margin: "15px" +}; +var acceptButton = { + background: "#F71963", + color: "#FFF", + padding: "7px 16px", + borderRadius: "2px", + margin: "0", + height: "32px", + fontWeight: "400", + ":hover": { + opacity: "0.7" + } +}; +var declineButton = { + border: "1px solid #F71963", + background: "#FFF", + color: "#F71963", + borderRadius: "2px", + fontWeight: "400", + margin: "0", + height: "32px", + ":hover": { + opacity: "0.7" + } +}; +var styles_default23 = { + bar, + barContent, + title: title4, + acceptButton, + declineButton, + buttonContainer +}; + +// src/lib/cookie-bar/index.tsx +import { Flex as Flex22, Text as Text16 } from "@vtex/brand-ui"; +import aa3 from "search-insights"; +import { jsx as jsx61, jsxs as jsxs49 } from "react/jsx-runtime"; +var Button6 = ({ children, style, ...props }) => { + return /* @__PURE__ */ jsx61(Flex22, { sx: style, ...props, children }); +}; +var CookieBar = ({ onAccept }) => { + const { locale } = useContext18(LibraryContext); + return /* @__PURE__ */ jsxs49( + CookieConsent, + { + enableDeclineButton: true, + buttonStyle: styles_default23.acceptButton, + declineButtonStyle: styles_default23.declineButton, + style: styles_default23.bar, + onAccept: () => { + aa3("init", { + partial: true, + useCookie: true + }); + onAccept(); + }, + declineButtonText: messages[locale]["cookie_bar.decline"], + buttonText: messages[locale]["cookie_bar.accept"], + ButtonComponent: Button6, + customButtonWrapperAttributes: { style: styles_default23.buttonContainer }, + customContentAttributes: { style: styles_default23.barContent }, + children: [ + /* @__PURE__ */ jsx61(Text16, { sx: styles_default23.title, children: messages[locale]["cookie_bar.title"] }), + /* @__PURE__ */ jsx61(Text16, { children: messages[locale]["cookie_bar.description"] }) + ] + } + ); +}; +var cookie_bar_default = CookieBar; + +// src/components/copy-link-button/index.tsx +import { Button as Button7 } from "@vtex/brand-ui"; + +// src/components/icons/copy-icon.tsx +import { Icon as Icon30 } from "@vtex/brand-ui"; +import { jsx as jsx62, jsxs as jsxs50 } from "react/jsx-runtime"; +var CopyIcon = (props) => /* @__PURE__ */ jsxs50( + Icon30, + { + ...props, + viewBox: "0 0 15 15", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx62( + "path", + { + d: "M12.5 5.625H6.875C6.18464 5.625 5.625 6.18464 5.625 6.875V12.5C5.625 13.1904 6.18464 13.75 6.875 13.75H12.5C13.1904 13.75 13.75 13.1904 13.75 12.5V6.875C13.75 6.18464 13.1904 5.625 12.5 5.625Z", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx62( + "path", + { + d: "M3.125 9.375H2.5C2.16848 9.375 1.85054 9.2433 1.61612 9.00888C1.3817 8.77446 1.25 8.45652 1.25 8.125V2.5C1.25 2.16848 1.3817 1.85054 1.61612 1.61612C1.85054 1.3817 2.16848 1.25 2.5 1.25H8.125C8.45652 1.25 8.77446 1.3817 9.00888 1.61612C9.2433 1.85054 9.375 2.16848 9.375 2.5V3.125", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var copy_icon_default = CopyIcon; + +// src/components/copy-link-button/index.tsx +import { useState as useState15 } from "react"; + +// src/components/copy-link-button/styles.ts +var copyIcon = { + marginRight: "4px" +}; +var copyLinkButton = { + textTransform: "none", + color: "#3F3F3F", + fontWeight: "100", + fontSize: "12px", + lineHeight: "18px", + height: "none", + padding: "8px 5px 8px 8px", + border: "1px solid #A1AAB7", + backgroundColor: "white", + ":hover": { + backgroundColor: "#EFEFEF" + } +}; +var styles_default24 = { + copyIcon, + copyLinkButton +}; + +// src/components/copy-link-button/index.tsx +import { jsx as jsx63 } from "react/jsx-runtime"; +var CopyLinkButton = () => { + const [tooltipText, setTooltipText] = useState15("Copy"); + const handleCopy = () => { + navigator.clipboard.writeText(window.location.href); + setTooltipText("Copy"); + setTimeout(() => { + setTooltipText("Copied!"); + }, 2e3); + }; + return /* @__PURE__ */ jsx63(tooltip_default, { label: tooltipText, placement: "bottom", children: /* @__PURE__ */ jsx63(Button7, { onClick: handleCopy, sx: styles_default24.copyLinkButton, children: /* @__PURE__ */ jsx63(copy_icon_default, { sx: styles_default24.copyIcon, size: 16 }) }) }); +}; +var copy_link_button_default = CopyLinkButton; + +// src/components/input/index.tsx +import { useState as useState16, useEffect as useEffect13 } from "react"; + +// src/components/input/styles.ts +var input = { + background: "none", + border: "#F4F4F4", + color: "#545454", + fontSize: ["14px"], + width: "100%", + transition: "flex 0.3s", + outline: "none" +}; +var icon3 = { + minWidth: "16px", + minHeight: "16px", + width: "16px", + mr: "8px", + flex: 0, + maxWidth: "fit-content" +}; +var container10 = { + paddingLeft: "12px", + alignItems: "center", + justifyContent: "center", + background: "#F4F4F4", + width: "100%", + height: "40px", + borderRadius: "4px", + transition: "all 0.3s ease-out", + cursor: "pointer", + border: "1px solid #F4F4F4", + ":hover": { + transition: "all 0.3s ease-out", + border: "1px solid #3B3B3B" + } +}; +var styles_default25 = { container: container10, input, icon: icon3 }; + +// src/components/input/index.tsx +import { Flex as Flex23 } from "@vtex/brand-ui"; +import { jsx as jsx64, jsxs as jsxs51 } from "react/jsx-runtime"; +var Input = ({ value, onChange, placeholder = "", Icon: Icon68 }) => { + const [inputValue, setInputValue] = useState16(value ?? ""); + useEffect13(() => { + if (inputValue !== value) + setInputValue(value); + }, [value]); +<<<<<<< HEAD +<<<<<<< HEAD + return /* @__PURE__ */ jsxs51(Flex23, { sx: styles_default26.container, children: [ + Icon68 && /* @__PURE__ */ jsx64(Icon68, { sx: styles_default26.icon }), +======= + return /* @__PURE__ */ jsxs51(Flex23, { sx: styles_default25.container, children: [ + Icon31 && /* @__PURE__ */ jsx64(Icon31, { sx: styles_default25.icon }), +>>>>>>> 168317c (build: update dist files) +======= + return /* @__PURE__ */ jsxs51(Flex23, { sx: styles_default25.container, children: [ + Icon31 && /* @__PURE__ */ jsx64(Icon31, { sx: styles_default25.icon }), +>>>>>>> 6c18c92718b344c5dce8e17537513ead66107609 + /* @__PURE__ */ jsx64( + "input", + { + style: styles_default25.input, + value: inputValue, + placeholder, + onChange: (e) => { + setInputValue(e.currentTarget.value); + onChange(e.currentTarget.value); + } + } + ) + ] }); +}; +var input_default = Input; + +// src/utils/get-days-elapsed.ts +var getDaysElapsed = (date) => { + const msInDay = 1e3 * 60 * 60 * 24; + const msElapsed = (/* @__PURE__ */ new Date()).getTime() - date.getTime(); + return Math.floor(msElapsed / msInDay); +}; + +// src/components/icons/gear-troubleshooting-icon.tsx +import { Icon as Icon31 } from "@vtex/brand-ui"; +import { jsx as jsx65, jsxs as jsxs52 } from "react/jsx-runtime"; +var GearTroubleshootingIcon = (props) => { + return /* @__PURE__ */ jsxs52( + Icon31, + { + ...props, + viewBox: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx65( + "path", + { + d: "M17.8404 9.42954C18.2229 9.00197 18.9342 8.46816 18.9962 7.87786C19.063 7.2423 17.8607 5.16896 17.2775 4.93176C16.6221 4.66521 15.5159 5.22824 14.8633 5.41204C13.9538 5.62179 12.9047 5.05365 12.5708 4.18302C12.373 3.59238 12.2403 2.55197 11.7172 2.17424C11.1959 1.79774 8.80418 1.79774 8.28284 2.17424C7.75979 2.55197 7.62703 3.59238 7.42927 4.18302C7.09533 5.05365 6.04632 5.62179 5.13676 5.41204C4.48421 5.22824 3.37798 4.66521 2.72262 4.93176C2.13942 5.16896 0.937071 7.2423 1.00384 7.87786C1.0817 8.61902 2.16084 9.43088 2.63551 9.96156C3.17336 10.6425 3.17338 11.819 2.63554 12.4999C2.16086 13.0306 1.0817 13.8425 1.00384 14.5836C0.93707 15.2192 2.13942 17.2925 2.72262 17.5297C3.37797 17.7963 4.48418 17.2332 5.13672 17.0494C6.0463 16.8396 7.0953 17.4078 7.42924 18.2785C7.62701 18.8691 7.75977 19.9096 8.28284 20.2873C8.46309 20.4175 8.68756 20.4504 9.05686 20.4587", + stroke: "currentcolor", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx65( + "path", + { + d: "M12.201 8.86537C9.28547 6.15174 4.92127 10.5159 7.63491 13.4314", + stroke: "currentcolor", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx65( + "path", + { + d: "M20.25 20.2499L22.8462 22.846", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx65( + "path", + { + d: "M21.6922 16.4999C21.6922 13.6323 19.3676 11.3076 16.4999 11.3076C13.6323 11.3076 11.3076 13.6323 11.3076 16.4999C11.3076 19.3676 13.6323 21.6922 16.4999 21.6922C19.3676 21.6922 21.6922 19.3676 21.6922 16.4999Z", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx65( + "path", + { + d: "M16.4089 13.4053V17.0653", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round" + } + ), + /* @__PURE__ */ jsx65( + "path", + { + d: "M16.4089 19.0988V19.0989", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round" + } + ) + ] + } + ); +}; +var gear_troubleshooting_icon_default = GearTroubleshootingIcon; + +// src/components/icons/documentation-updates-icon.tsx +import { Icon as Icon32 } from "@vtex/brand-ui"; +import { jsx as jsx66, jsxs as jsxs53 } from "react/jsx-runtime"; +var DocumentationUpdatesIcon = (props) => /* @__PURE__ */ jsxs53( + Icon32, + { + ...props, + viewBox: "0 0 24 25", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx66( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M18.414 6.91205L15.586 4.08405C15.211 3.70905 14.702 3.49805 14.172 3.49805H7C5.895 3.49805 5 4.39305 5 5.49805V19.498C5 20.603 5.895 21.498 7 21.498H17C18.105 21.498 19 20.603 19 19.498V8.32605C19 7.79605 18.789 7.28705 18.414 6.91205V6.91205Z", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx66( + "path", + { + d: "M19 8.49805H15C14.448 8.49805 14 8.05005 14 7.49805V3.49805", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx66( + "path", + { + d: "M9.5 17.498H14.5", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx66( + "path", + { + d: "M14 11.998L11.5 14.498L10 12.998", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var documentation_updates_icon_default = DocumentationUpdatesIcon; + +// src/components/icons/helpcenter-icon.tsx +import { Icon as Icon33 } from "@vtex/brand-ui"; +import { jsx as jsx67, jsxs as jsxs54 } from "react/jsx-runtime"; +var HelpCenterIcon = (props) => /* @__PURE__ */ jsxs54( + Icon33, + { + ...props, + viewBox: "0 0 64 65", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + " ", + /* @__PURE__ */ jsx67( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M53.3332 54.3317V16.4064C53.3332 13.7877 51.2105 11.665 48.5918 11.665H15.4078C12.7892 11.665 10.6665 13.7877 10.6665 16.4064V44.8517C10.6665 47.4704 12.7892 49.593 15.4078 49.593H44.4452L53.3332 54.3317Z", + stroke: "#4A596B", + strokeWidth: "3", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx67( + "path", + { + d: "M42.3575 35.665C36.5522 41.4704 27.1388 41.4704 21.3335 35.665", + stroke: "#4A596B", + strokeWidth: "3", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx67( + "path", + { + d: "M26.6668 22.3311V24.9977", + stroke: "#4A596B", + strokeWidth: "3", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx67( + "path", + { + d: "M37.3333 22.3311V24.9977", + stroke: "#4A596B", + strokeWidth: "3", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var helpcenter_icon_default = HelpCenterIcon; + +// src/components/icons/developer-portal-icon.tsx +import { Icon as Icon34 } from "@vtex/brand-ui"; +import { jsx as jsx68, jsxs as jsxs55 } from "react/jsx-runtime"; +var DeveloperPortalIcon = (props) => /* @__PURE__ */ jsxs55( + Icon34, + { + ...props, + viewBox: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx68( + "rect", + { + x: "3", + y: "3", + width: "18", + height: "19", + rx: "2", + stroke: "currentcolor", + strokeWidth: "1.5" + } + ), + /* @__PURE__ */ jsx68("path", { d: "M3 7L21 7", stroke: "#4A596B", strokeWidth: "1.5" }), + /* @__PURE__ */ jsx68( + "path", + { + d: "M15 16.375L17 14.875L15 13.375", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx68( + "path", + { + d: "M9 13.375L7 14.875L9 16.375", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx68( + "path", + { + d: "M10.5644 17.8947L13.5 11.5", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var developer_portal_icon_default = DeveloperPortalIcon; + +// src/components/icons/faq-icon.tsx +import { Icon as Icon35 } from "@vtex/brand-ui"; +import { jsx as jsx69, jsxs as jsxs56 } from "react/jsx-runtime"; +var FAQIcon = (props) => /* @__PURE__ */ jsxs56( + Icon35, + { + ...props, + viewBox: "0 0 24 25", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx69( + "path", + { + d: "M22 11.5667C22 16.8499 17.5222 21.1334 12 21.1334C11.3507 21.1343 10.7032 21.0742 10.0654 20.9545C9.60633 20.8682 9.37678 20.8251 9.21653 20.8496C9.05627 20.8741 8.82918 20.9948 8.37499 21.2364C7.09014 21.9197 5.59195 22.161 4.15111 21.893C4.69874 21.2194 5.07275 20.4112 5.23778 19.5448C5.33778 19.0148 5.09 18.5 4.71889 18.1231C3.03333 16.4115 2 14.1051 2 11.5667C2 6.28357 6.47778 2 12 2C17.5222 2 22 6.28357 22 11.5667Z", + stroke: "currentcolor", + strokeWidth: "2", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx69( + "path", + { + d: "M10 9.84615C10 8.82655 10.8954 8 12 8C13.1046 8 14 8.82655 14 9.84615C14 10.2137 13.8837 10.5561 13.6831 10.8438C13.0854 11.7012 12 12.5189 12 13.5385V14", + stroke: "currentcolor", + strokeWidth: "2", + strokeLinecap: "round" + } + ), + /* @__PURE__ */ jsx69( + "path", + { + d: "M12 16.5H12.009", + stroke: "currentcolor", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var faq_icon_default = FAQIcon; + +// src/components/icons/known-issues-icon.tsx +import { Icon as Icon36 } from "@vtex/brand-ui"; +import { jsx as jsx70, jsxs as jsxs57 } from "react/jsx-runtime"; +var KnownIssueIcon = (props) => /* @__PURE__ */ jsxs57( + Icon36, + { + ...props, + viewBox: "0 0 256 256", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx70("rect", { width: "16rem", height: "16rem", fill: "none" }), + /* @__PURE__ */ jsx70( + "line", + { + x1: "104", + y1: "104", + x2: "104", + y2: "208", + fill: "none", + stroke: "#4A596B", + strokeLinecap: "round", + strokeLinejoin: "round", + strokeWidth: "18" + } + ), + /* @__PURE__ */ jsx70( + "line", + { + x1: "32", + y1: "104", + x2: "224", + y2: "104", + fill: "none", + stroke: "#4A596B", + strokeLinecap: "round", + strokeLinejoin: "round", + strokeWidth: "18" + } + ), + /* @__PURE__ */ jsx70( + "rect", + { + x: "32", + y: "48", + width: "192", + height: "160", + rx: "8", + strokeWidth: "18", + stroke: "#4A596B", + strokeLinecap: "round", + strokeLinejoin: "round", + fill: "none" + } + ) + ] + } +); +var known_issues_icon_default = KnownIssueIcon; + +// src/components/icons/megaphone-icon.tsx +import { Icon as Icon37 } from "@vtex/brand-ui"; +import { jsx as jsx71, jsxs as jsxs58 } from "react/jsx-runtime"; +var MegaphoneIcon = (props) => /* @__PURE__ */ jsxs58( + Icon37, + { + ...props, + viewBox: "0 0 24 20", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx71( + "path", + { + d: "M8.39317 5.82935H5.00293C4.72679 5.82935 4.50293 6.0532 4.50293 6.32935V12.3537C4.50293 12.6299 4.72679 12.8537 5.00293 12.8537H8.39317C8.66932 12.8537 8.89317 12.6299 8.89317 12.3537V6.32935C8.89317 6.0532 8.66932 5.82935 8.39317 5.82935Z", + stroke: "#4A596B", + strokeWidth: "1.5" + } + ), + /* @__PURE__ */ jsx71( + "path", + { + d: "M15.5853 1.49929L8.89355 5.82927V12.8537L15.5853 17.1836C15.918 17.3989 16.357 17.1601 16.357 16.7639V1.91907C16.357 1.52282 15.918 1.28402 15.5853 1.49929Z", + stroke: "#4A596B", + strokeWidth: "1.5" + } + ), + /* @__PURE__ */ jsx71( + "path", + { + d: "M2.36914 6.70728H4.00329C4.27943 6.70728 4.50329 6.93113 4.50329 7.20728V11.4756C4.50329 11.7517 4.27943 11.9756 4.00329 11.9756H2.36914C2.093 11.9756 1.86914 11.7517 1.86914 11.4756V7.20728C1.86914 6.93113 2.093 6.70728 2.36914 6.70728Z", + stroke: "#4A596B", + strokeWidth: "1.5" + } + ), + /* @__PURE__ */ jsx71( + "path", + { + d: "M2.90474 16.9811L5.38122 12.8536H8.47085C8.85476 12.8536 9.09544 13.2684 8.90497 13.6017L5.96908 18.7395C5.88688 18.8834 5.70362 18.9333 5.55977 18.8511L3.01314 17.3959C2.86712 17.3125 2.81821 17.1253 2.90474 16.9811Z", + stroke: "#4A596B", + strokeWidth: "1.5" + } + ), + /* @__PURE__ */ jsx71( + "path", + { + d: "M20.789 5C21.8086 6.16449 22.3813 7.74366 22.3813 9.39024C22.3813 11.0368 21.8086 12.616 20.789 13.7805M18.8691 7.19202C19.3789 7.77426 19.6653 8.56385 19.6653 9.38714C19.6653 10.2104 19.3789 11 18.8691 11.5823", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var megaphone_icon_default = MegaphoneIcon; + +// src/components/icons/graph-icon.tsx +import { Icon as Icon38 } from "@vtex/brand-ui"; +import { jsx as jsx72, jsxs as jsxs59 } from "react/jsx-runtime"; +var GraphIcon = (props) => /* @__PURE__ */ jsxs59( + Icon38, + { + ...props, + viewBox: "0 0 20 20", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx72( + "path", + { + d: "M15.5993 9.03607H12.749L10.6112 11.2461L6.33574 6.82608L4.19799 9.03607H1.34766", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx72( + "path", + { + d: "M1 14V3C1 1.89543 1.89543 1 3 1H14C15.1046 1 16 1.89543 16 3V14C16 15.1046 15.1046 16 14 16H3C1.89543 16 1 15.1046 1 14Z", + stroke: "currentcolor", + strokeWidth: "1.5" + } + ) + ] + } +); +var graph_icon_default = GraphIcon; + +// src/components/icons/warning-icon.tsx +import { Icon as Icon39 } from "@vtex/brand-ui"; +import { jsx as jsx73, jsxs as jsxs60 } from "react/jsx-runtime"; +var WarningIcon = (props) => /* @__PURE__ */ jsxs60( + Icon39, + { + ...props, + viewBox: "0 0 18 16", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx73( + "path", + { + d: "M7.71758 1.89497L1.36508 12.5C1.2341 12.7268 1.1648 12.9839 1.16407 13.2459C1.16334 13.5078 1.23119 13.7653 1.3609 13.9929C1.4906 14.2204 1.67762 14.41 1.90336 14.5429C2.12909 14.6757 2.38568 14.7471 2.64758 14.75H15.3526C15.6145 14.7471 15.8711 14.6757 16.0968 14.5429C16.3225 14.41 16.5096 14.2204 16.6393 13.9929C16.769 13.7653 16.8368 13.5078 16.8361 13.2459C16.8354 12.9839 16.766 12.7268 16.6351 12.5L10.2826 1.89497C10.1489 1.67455 9.96062 1.49231 9.73597 1.36583C9.51133 1.23936 9.25788 1.17291 9.00008 1.17291C8.74227 1.17291 8.48882 1.23936 8.26418 1.36583C8.03953 1.49231 7.85128 1.67455 7.71758 1.89497Z", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx73( + "path", + { + d: "M9 5.75V8.75", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx73( + "path", + { + d: "M9 11.75H9.0075", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var warning_icon_default = WarningIcon; + +// src/components/icons/paper-icon.tsx +import { Icon as Icon40 } from "@vtex/brand-ui"; +import { jsx as jsx74, jsxs as jsxs61 } from "react/jsx-runtime"; +var PaperIcon = (props) => /* @__PURE__ */ jsxs61( + Icon40, + { + ...props, + viewBox: "0 0 18 18", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx74( + "path", + { + d: "M10.5 1.5H4.5C4.10218 1.5 3.72064 1.65804 3.43934 1.93934C3.15804 2.22064 3 2.60218 3 3V15C3 15.3978 3.15804 15.7794 3.43934 16.0607C3.72064 16.342 4.10218 16.5 4.5 16.5H13.5C13.8978 16.5 14.2794 16.342 14.5607 16.0607C14.842 15.7794 15 15.3978 15 15V6L10.5 1.5Z", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx74( + "path", + { + d: "M10.5 1.5V6H15", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx74( + "path", + { + d: "M12 9.75H6", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx74( + "path", + { + d: "M12 12.75H6", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx74( + "path", + { + d: "M7.5 6.75H6.75H6", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var paper_icon_default = PaperIcon; + +// src/components/icons/start-here-icon.tsx +import { Icon as Icon41 } from "@vtex/brand-ui"; +import { jsx as jsx75, jsxs as jsxs62 } from "react/jsx-runtime"; +var StartHereIcon = (props) => /* @__PURE__ */ jsxs62( + Icon41, + { + ...props, + viewBox: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx75( + "path", + { + d: "M4 15.35C4 15.35 4.95 14.4 7.8 14.4C10.65 14.4 12.55 16.3 15.4 16.3C18.25 16.3 19.2 15.35 19.2 15.35V3.95C19.2 3.95 18.25 4.9 15.4 4.9C12.55 4.9 10.65 3 7.8 3C4.95 3 4 3.95 4 3.95V15.35Z", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx75( + "path", + { + d: "M4 22V15.35", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var start_here_icon_default = StartHereIcon; + +// src/components/icons/tutorials-icon.tsx +import { Icon as Icon42 } from "@vtex/brand-ui"; +import { jsx as jsx76, jsxs as jsxs63 } from "react/jsx-runtime"; +var TutorialsIcon = (props) => /* @__PURE__ */ jsxs63( + Icon42, + { + ...props, + viewBox: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx76( + "path", + { + d: "M4 19.5C4 18.837 4.26339 18.2011 4.73223 17.7322C5.20107 17.2634 5.83696 17 6.5 17H20", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx76( + "path", + { + d: "M6.5 2H20V22H6.5C5.83696 22 5.20107 21.7366 4.73223 21.2678C4.26339 20.7989 4 20.163 4 19.5V4.5C4 3.83696 4.26339 3.20107 4.73223 2.73223C5.20107 2.26339 5.83696 2 6.5 2Z", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx76( + "path", + { + d: "M17 9H8", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx76( + "path", + { + d: "M15 13H8", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx76( + "path", + { + d: "M12 5H10H8", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx76( + "path", + { + d: "M16 5H15.5H15", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var tutorials_icon_default = TutorialsIcon; + +// src/components/icons/announcement-icon.tsx +import { Icon as Icon43 } from "@vtex/brand-ui"; +import { jsx as jsx77, jsxs as jsxs64 } from "react/jsx-runtime"; +var AnnouncementIcon = (props) => /* @__PURE__ */ jsxs64( + Icon43, + { + ...props, + viewBox: "0 0 256 256", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx77("rect", { width: "16rem", height: "16rem", fill: "none" }), + /* @__PURE__ */ jsx77( + "path", + { + d: "M56.20305,104A71.899,71.899,0,0,1,128.5484,32.002c39.58967.29432,71.25651,33.20133,71.25651,72.90185V112c0,35.81563,7.49325,56.59893,14.093,67.95814A7.999,7.999,0,0,1,207.01628,192H48.98365A7.99908,7.99908,0,0,1,42.103,179.95641c6.60328-11.35959,14.1-32.1426,14.1-67.95641Z", + fill: "none", + stroke: "#4A596B", + strokeLinecap: "round", + strokeLinejoin: "round", + strokeWidth: "18" + } + ), + /* @__PURE__ */ jsx77( + "path", + { + d: "M96,192v8a32,32,0,0,0,64,0v-8", + fill: "none", + stroke: "#4A596B", + strokeLinecap: "round", + strokeLinejoin: "round", + strokeWidth: "18" + } + ) + ] + } +); +var announcement_icon_default = AnnouncementIcon; + +// src/components/icons/vtex-devportal-icon.tsx +import { Icon as Icon44 } from "@vtex/brand-ui"; +import { jsx as jsx78, jsxs as jsxs65 } from "react/jsx-runtime"; +var VTEXDevPortalIcon = (props) => /* @__PURE__ */ jsxs65( + Icon44, + { + ...props, + viewBox: "0 0 204 32", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx78("g", { clipPath: "url(#clip0_2044_123231)", children: /* @__PURE__ */ jsx78( + "path", + { + d: "M33.5348 0.751221H6.47098C4.37195 0.751221 3.01813 2.95123 3.99934 4.77234L6.70696 9.82013H1.80094C0.80732 9.82013 0 10.6146 0 11.5924C0 11.8857 0.0745218 12.1668 0.211145 12.4235L8.91778 28.6424C9.38975 29.5102 10.4827 29.8402 11.3522 29.3757C11.6751 29.2046 11.9359 28.9479 12.0974 28.6424L14.4572 24.2668L17.4257 29.7913C18.469 31.7346 21.3008 31.7346 22.3441 29.7913L35.9319 4.67456C36.8883 2.89011 35.5718 0.751221 33.5348 0.751221ZM21.3753 11.4824L15.5254 22.3235C15.2149 22.8979 14.4821 23.1179 13.8983 22.8124C13.6872 22.7024 13.5133 22.5313 13.4015 22.3235L7.61365 11.5312C7.30314 10.9568 7.5267 10.2357 8.11046 9.93013C8.28434 9.84457 8.47065 9.79568 8.66937 9.79568H20.3445C20.9903 9.79568 21.512 10.309 21.512 10.9446C21.512 11.1279 21.4623 11.3235 21.3753 11.4824ZM62.3251 12.4112H59.3691V22.3968C59.3691 22.5802 59.2076 22.739 59.0213 22.739H56.7359C56.5496 22.739 56.3882 22.5802 56.3882 22.3968V12.4112H53.4073C53.221 12.4235 53.072 12.2768 53.0595 12.0935V12.0812V10.309C53.0595 10.1257 53.2086 9.97902 53.3949 9.97902H53.4073H62.3251C62.5114 9.96679 62.6853 10.1135 62.6853 10.309V12.0812C62.6729 12.2646 62.5114 12.4112 62.3251 12.4112ZM71.8266 22.6657C71.218 22.7513 70.1871 22.8857 68.3117 22.8857C66.0636 22.8857 64.0764 22.3235 64.0764 19.1946V13.499C64.0764 10.3824 66.076 9.83235 68.3241 9.83235C70.1996 9.83235 71.218 9.96679 71.8266 10.0524C72.075 10.089 72.1744 10.1746 72.1744 10.3946V11.9957C72.1744 12.179 72.0129 12.3379 71.8266 12.3379H68.1502C67.3305 12.3379 67.0324 12.6068 67.0324 13.499V15.0635H71.6776C71.8639 15.0635 72.0253 15.2224 72.0253 15.4057V17.0313C72.0253 17.2146 71.8639 17.3735 71.6776 17.3735H67.0324V19.1946C67.0324 20.0868 67.3305 20.3557 68.1502 20.3557H71.8266C72.0129 20.3557 72.1744 20.5146 72.1744 20.6979V22.299C72.1744 22.519 72.075 22.629 71.8266 22.6657ZM84.9797 22.7268H82.21C81.9864 22.7268 81.8746 22.6535 81.7629 22.4702L79.3533 18.7179L77.1798 22.3846C77.0556 22.5924 76.9314 22.7268 76.7451 22.7268H74.1616C73.9877 22.7268 73.9008 22.629 73.9008 22.5068C73.9008 22.4702 73.9132 22.4213 73.9381 22.3846L77.7138 16.1879L73.9008 10.309C73.876 10.2724 73.8635 10.2479 73.8635 10.2112C73.876 10.0768 73.9877 9.97902 74.1244 9.99124H76.9314C77.1177 9.99124 77.2667 10.1624 77.3661 10.3212L79.6017 13.7801L81.7629 10.3212C81.8498 10.1624 82.0113 9.99124 82.1976 9.99124H84.781C84.9176 9.99124 85.0294 10.089 85.0418 10.2112C85.0418 10.2479 85.0294 10.2846 85.0046 10.309L81.2039 16.2246L85.166 22.3846C85.1909 22.4335 85.2157 22.4946 85.2157 22.5557C85.2033 22.6657 85.1163 22.7268 84.9797 22.7268ZM51.3455 10.0157C51.3704 10.0157 51.3828 10.0157 51.4076 10.0279C51.5567 10.0646 51.6436 10.199 51.6064 10.3457C51.6064 10.3457 48.5882 20.8813 48.5385 21.0157C48.1287 22.2379 47.0605 22.8735 45.8558 22.8735C44.5765 22.8735 43.5828 22.2746 43.173 21.0157C43.1357 20.9057 40.0431 10.3457 40.0431 10.3457C40.0431 10.3212 40.0306 10.309 40.0306 10.2846C40.0306 10.1379 40.1548 10.0157 40.3039 10.0157H42.8004C42.9246 10.0157 43.0364 10.1012 43.0612 10.2235L45.5949 19.439C45.6322 19.6224 45.6819 19.6957 45.8433 19.6957C46.0048 19.6957 46.0545 19.6224 46.0918 19.439L48.6255 10.2235C48.6503 10.1012 48.7621 10.0157 48.8863 10.0157H51.3455Z", + fill: "#E31C58" + } + ) }), + /* @__PURE__ */ jsx78( + "path", + { + d: "M98.7088 0.751221H97.2158V31.2488H98.7088V0.751221Z", + fill: "#E31C58" + } + ), + /* @__PURE__ */ jsx78( + "path", + { + d: "M112.221 21.5H116.037C120.393 21.5 122.661 19.34 122.661 15.362C122.661 11.402 120.393 9.26 116.037 9.26H112.221V21.5ZM114.003 19.988V10.772H115.947C119.385 10.772 120.789 12.464 120.789 15.362C120.789 18.278 119.385 19.988 115.947 19.988H114.003ZM128.357 21.68C130.481 21.68 131.885 20.618 132.227 18.89L130.697 18.512C130.463 19.736 129.581 20.294 128.411 20.294C126.683 20.294 125.891 19.088 125.855 17.162H132.263C132.263 17.072 132.281 17.036 132.281 16.73C132.281 13.958 130.841 12.41 128.429 12.41C125.693 12.41 124.127 14.39 124.127 17.18C124.127 19.88 125.603 21.68 128.357 21.68ZM125.945 16.01C126.197 14.552 127.025 13.76 128.339 13.76C129.707 13.76 130.463 14.624 130.517 16.01H125.945ZM136.207 21.5H138.817L141.805 12.608H140.023L137.575 20.366L135.145 12.608H133.255L136.207 21.5ZM147.025 21.68C149.149 21.68 150.553 20.618 150.895 18.89L149.365 18.512C149.131 19.736 148.249 20.294 147.079 20.294C145.351 20.294 144.559 19.088 144.523 17.162H150.931C150.931 17.072 150.949 17.036 150.949 16.73C150.949 13.958 149.509 12.41 147.097 12.41C144.361 12.41 142.795 14.39 142.795 17.18C142.795 19.88 144.271 21.68 147.025 21.68ZM144.613 16.01C144.865 14.552 145.693 13.76 147.007 13.76C148.375 13.76 149.131 14.624 149.185 16.01H144.613ZM153.102 21.5H154.758V9.26H153.102V21.5ZM161.425 21.68C163.873 21.68 165.799 20.078 165.799 17.054C165.799 14.012 163.873 12.41 161.425 12.41C158.995 12.41 157.033 14.012 157.033 17.054C157.033 20.078 158.995 21.68 161.425 21.68ZM158.779 17.054C158.779 15.02 159.841 13.886 161.425 13.886C163.027 13.886 164.071 15.02 164.071 17.054C164.071 19.07 163.027 20.222 161.425 20.222C159.841 20.222 158.779 19.07 158.779 17.054ZM167.991 24.848H169.647V18.854H169.665C170.061 21.032 171.195 21.68 172.761 21.68C174.813 21.68 176.433 20.186 176.433 17.108C176.433 14.012 174.741 12.446 172.653 12.446C171.051 12.446 170.133 13.346 169.665 14.984H169.629V12.608H167.991V24.848ZM169.683 17.108C169.683 14.966 170.745 13.886 172.185 13.886C173.643 13.886 174.687 14.948 174.687 17.108C174.687 19.196 173.679 20.222 172.185 20.222C170.709 20.222 169.683 19.196 169.683 17.108ZM182.427 21.68C184.551 21.68 185.955 20.618 186.297 18.89L184.767 18.512C184.533 19.736 183.651 20.294 182.481 20.294C180.753 20.294 179.961 19.088 179.925 17.162H186.333C186.333 17.072 186.351 17.036 186.351 16.73C186.351 13.958 184.911 12.41 182.499 12.41C179.763 12.41 178.197 14.39 178.197 17.18C178.197 19.88 179.673 21.68 182.427 21.68ZM180.015 16.01C180.267 14.552 181.095 13.76 182.409 13.76C183.777 13.76 184.533 14.624 184.587 16.01H180.015ZM188.505 21.5H190.161V16.784C190.161 15.056 191.079 14.084 192.717 14.084C193.059 14.084 193.473 14.12 193.725 14.174L193.635 12.518C193.383 12.464 193.005 12.428 192.717 12.428C191.421 12.428 190.593 13.004 190.107 15.182H190.053V12.608H188.505V21.5ZM198.692 21.68C200.996 21.68 202.454 20.636 202.454 18.71C202.454 16.892 200.942 16.532 199.448 16.28L198.134 16.082C197.27 15.938 196.676 15.722 196.676 14.966C196.676 14.156 197.396 13.724 198.404 13.724C199.556 13.724 200.33 14.282 200.474 15.452L202.112 15.092C201.896 13.328 200.348 12.428 198.476 12.428C196.478 12.428 195.002 13.418 195.002 15.092C195.002 16.694 196.28 17.216 197.504 17.414L198.944 17.63C200.078 17.81 200.762 18.062 200.762 18.908C200.762 19.808 200.042 20.348 198.656 20.348C197.414 20.348 196.55 19.736 196.406 18.368L194.696 18.728C194.84 20.672 196.442 21.68 198.692 21.68Z", + fill: "#E31C58" + } + ), + /* @__PURE__ */ jsx78("defs", { children: /* @__PURE__ */ jsx78("clipPath", { id: "clip0_2044_123231", children: /* @__PURE__ */ jsx78( + "rect", + { + width: "85.2157", + height: "30.4976", + fill: "white", + transform: "translate(0 0.751221)" + } + ) }) }) + ] } ); -var InfiniteHits = ({ hits, hasMore, refineNext }) => { - const scrollRef = useRef10(null); - function onSentinelIntersection(entries) { - entries.forEach((entry) => { - if (entry.isIntersecting && hasMore) { - refineNext(); - } - }); +var vtex_devportal_icon_default = VTEXDevPortalIcon; + +// src/components/icons/vtex-helpcenter-icon.tsx +import { Icon as Icon45 } from "@vtex/brand-ui"; +import { jsx as jsx79, jsxs as jsxs66 } from "react/jsx-runtime"; +var VTEXHelpCenterIcon = (props) => /* @__PURE__ */ jsxs66( + Icon45, + { + ...props, + viewBox: "0 0 208 32", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx79( + "path", + { + d: "M33.5348 0H6.47098C4.37195 0 3.01813 2.2 3.99934 4.02112L6.70696 9.06891H1.80094C0.80732 9.06891 0 9.86335 0 10.8411C0 11.1345 0.0745218 11.4156 0.211145 11.6722L8.91778 27.8912C9.38975 28.7589 10.4827 29.0889 11.3522 28.6245C11.6751 28.4534 11.9359 28.1967 12.0974 27.8912L14.4572 23.5156L17.4257 29.0401C18.469 30.9834 21.3008 30.9834 22.3441 29.0401L35.9319 3.92334C36.8883 2.13889 35.5718 0 33.5348 0ZM21.3753 10.7311L15.5254 21.5723C15.2149 22.1467 14.4821 22.3667 13.8983 22.0612C13.6872 21.9512 13.5133 21.78 13.4015 21.5723L7.61365 10.78C7.30314 10.2056 7.5267 9.48446 8.11046 9.17891C8.28434 9.09335 8.47065 9.04446 8.66937 9.04446H20.3445C20.9903 9.04446 21.512 9.5578 21.512 10.1934C21.512 10.3767 21.4623 10.5722 21.3753 10.7311ZM62.3251 11.66H59.3691V21.6456C59.3691 21.8289 59.2076 21.9878 59.0213 21.9878H56.7359C56.5496 21.9878 56.3882 21.8289 56.3882 21.6456V11.66H53.4073C53.221 11.6722 53.072 11.5256 53.0595 11.3422V11.33V9.5578C53.0595 9.37446 53.2086 9.2278 53.3949 9.2278H53.4073H62.3251C62.5114 9.21557 62.6853 9.36224 62.6853 9.5578V11.33C62.6729 11.5134 62.5114 11.66 62.3251 11.66ZM71.8266 21.9145C71.218 22 70.1871 22.1345 68.3117 22.1345C66.0636 22.1345 64.0764 21.5723 64.0764 18.4434V12.7478C64.0764 9.63113 66.076 9.08113 68.3241 9.08113C70.1996 9.08113 71.218 9.21557 71.8266 9.30113C72.075 9.3378 72.1744 9.42335 72.1744 9.64335V11.2445C72.1744 11.4278 72.0129 11.5867 71.8266 11.5867H68.1502C67.3305 11.5867 67.0324 11.8556 67.0324 12.7478V14.3123H71.6776C71.8639 14.3123 72.0253 14.4711 72.0253 14.6545V16.28C72.0253 16.4634 71.8639 16.6223 71.6776 16.6223H67.0324V18.4434C67.0324 19.3356 67.3305 19.6045 68.1502 19.6045H71.8266C72.0129 19.6045 72.1744 19.7634 72.1744 19.9467V21.5478C72.1744 21.7678 72.075 21.8778 71.8266 21.9145ZM84.9797 21.9756H82.21C81.9864 21.9756 81.8746 21.9023 81.7629 21.7189L79.3533 17.9667L77.1798 21.6334C77.0556 21.8412 76.9314 21.9756 76.7451 21.9756H74.1616C73.9877 21.9756 73.9008 21.8778 73.9008 21.7556C73.9008 21.7189 73.9132 21.67 73.9381 21.6334L77.7138 15.4367L73.9008 9.5578C73.876 9.52113 73.8636 9.49669 73.8636 9.46002C73.876 9.32557 73.9878 9.2278 74.1244 9.24002H76.9314C77.1177 9.24002 77.2667 9.41113 77.3661 9.57002L79.6017 13.0289L81.7629 9.57002C81.8498 9.41113 82.0113 9.24002 82.1976 9.24002H84.781C84.9176 9.24002 85.0294 9.3378 85.0418 9.46002C85.0418 9.49669 85.0294 9.53335 85.0046 9.5578L81.2039 15.4734L85.166 21.6334C85.1909 21.6823 85.2157 21.7434 85.2157 21.8045C85.2033 21.9145 85.1163 21.9756 84.9797 21.9756ZM51.3455 9.26446C51.3704 9.26446 51.3828 9.26446 51.4076 9.27669C51.5567 9.31335 51.6436 9.4478 51.6064 9.59446C51.6064 9.59446 48.5882 20.13 48.5385 20.2645C48.1287 21.4867 47.0605 22.1223 45.8558 22.1223C44.5765 22.1223 43.5828 21.5234 43.173 20.2645C43.1357 20.1545 40.0431 9.59446 40.0431 9.59446C40.0431 9.57002 40.0306 9.5578 40.0306 9.53335C40.0306 9.38669 40.1548 9.26446 40.3039 9.26446H42.8004C42.9246 9.26446 43.0364 9.35002 43.0612 9.47224L45.5949 18.6878C45.6322 18.8711 45.6819 18.9445 45.8433 18.9445C46.0048 18.9445 46.0545 18.8711 46.0917 18.6878L48.6255 9.47224C48.6503 9.35002 48.7621 9.26446 48.8863 9.26446H51.3455Z", + fill: "#E31C58" + } + ), + /* @__PURE__ */ jsx79("path", { d: "M98.7078 0H97.2148V30.4976H98.7078V0Z", fill: "#E31C58" }), + /* @__PURE__ */ jsx79( + "path", + { + d: "M120.139 20.748V8.50805H121.921V20.748H120.139ZM112.219 20.748V8.50805H114.001V20.748H112.219ZM112.741 15.222V13.746H120.931V15.222H112.741ZM128.144 20.928C127.46 20.928 126.854 20.82 126.326 20.604C125.798 20.388 125.354 20.082 124.994 19.686C124.634 19.29 124.364 18.816 124.184 18.264C124.004 17.712 123.914 17.1 123.914 16.428C123.914 15.492 124.082 14.67 124.418 13.962C124.754 13.242 125.24 12.678 125.876 12.27C126.524 11.862 127.304 11.658 128.216 11.658C129.02 11.658 129.71 11.826 130.286 12.162C130.862 12.498 131.3 12.99 131.6 13.638C131.912 14.274 132.068 15.054 132.068 15.978C132.068 16.134 132.062 16.236 132.05 16.284C132.05 16.32 132.05 16.362 132.05 16.41H125.408V15.258H130.754L130.304 15.708C130.34 15.156 130.28 14.682 130.124 14.286C129.968 13.878 129.722 13.566 129.386 13.35C129.05 13.122 128.63 13.008 128.126 13.008C127.586 13.008 127.13 13.14 126.758 13.404C126.398 13.656 126.122 14.028 125.93 14.52C125.738 15 125.642 15.594 125.642 16.302C125.642 16.806 125.69 17.256 125.786 17.652C125.894 18.048 126.05 18.39 126.254 18.678C126.47 18.954 126.734 19.17 127.046 19.326C127.37 19.47 127.754 19.542 128.198 19.542C128.594 19.542 128.948 19.482 129.26 19.362C129.572 19.23 129.836 19.032 130.052 18.768C130.268 18.504 130.412 18.168 130.484 17.76L132.014 18.138C131.906 18.714 131.678 19.212 131.33 19.632C130.994 20.04 130.556 20.358 130.016 20.586C129.476 20.814 128.852 20.928 128.144 20.928ZM134.221 20.748V8.50805H135.877V20.748H134.221ZM138.44 24.096V11.856H140.078V14.232H140.114C140.354 13.416 140.708 12.792 141.176 12.36C141.656 11.916 142.298 11.694 143.102 11.694C143.63 11.694 144.122 11.796 144.578 12C145.034 12.192 145.43 12.48 145.766 12.864C146.114 13.248 146.384 13.734 146.576 14.322C146.78 14.898 146.882 15.576 146.882 16.356C146.882 17.376 146.72 18.228 146.396 18.912C146.072 19.584 145.628 20.088 145.064 20.424C144.512 20.76 143.894 20.928 143.21 20.928C142.694 20.928 142.226 20.844 141.806 20.676C141.386 20.508 141.032 20.22 140.744 19.812C140.456 19.392 140.246 18.822 140.114 18.102H140.096V24.096H138.44ZM142.634 19.47C143.138 19.47 143.576 19.356 143.948 19.128C144.32 18.9 144.608 18.558 144.812 18.102C145.028 17.634 145.136 17.052 145.136 16.356C145.136 15.816 145.076 15.348 144.956 14.952C144.836 14.544 144.662 14.208 144.434 13.944C144.206 13.668 143.936 13.464 143.624 13.332C143.324 13.2 142.994 13.134 142.634 13.134C142.154 13.134 141.722 13.254 141.338 13.494C140.966 13.734 140.672 14.094 140.456 14.574C140.24 15.042 140.132 15.636 140.132 16.356C140.132 16.872 140.192 17.328 140.312 17.724C140.432 18.108 140.6 18.432 140.816 18.696C141.044 18.96 141.308 19.158 141.608 19.29C141.92 19.41 142.262 19.47 142.634 19.47ZM158.704 20.946C157.888 20.946 157.138 20.808 156.454 20.532C155.782 20.256 155.194 19.848 154.69 19.308C154.198 18.768 153.814 18.108 153.538 17.328C153.274 16.548 153.142 15.654 153.142 14.646C153.142 13.638 153.28 12.744 153.556 11.964C153.832 11.172 154.222 10.512 154.726 9.98405C155.242 9.44405 155.848 9.03605 156.544 8.76005C157.24 8.48405 158.008 8.34605 158.848 8.34605C159.748 8.34605 160.558 8.52605 161.278 8.88605C161.998 9.23405 162.598 9.74405 163.078 10.416C163.558 11.076 163.876 11.88 164.032 12.828L162.25 13.188C162.118 12.456 161.896 11.85 161.584 11.37C161.284 10.89 160.894 10.536 160.414 10.308C159.934 10.068 159.376 9.94805 158.74 9.94805C157.972 9.94805 157.306 10.134 156.742 10.506C156.178 10.878 155.74 11.412 155.428 12.108C155.116 12.804 154.96 13.65 154.96 14.646C154.96 15.618 155.116 16.458 155.428 17.166C155.74 17.862 156.178 18.402 156.742 18.786C157.318 19.158 157.984 19.344 158.74 19.344C159.376 19.344 159.946 19.218 160.45 18.966C160.954 18.702 161.362 18.306 161.674 17.778C161.998 17.25 162.202 16.584 162.286 15.78L164.086 16.194C163.966 17.214 163.654 18.078 163.15 18.786C162.658 19.494 162.028 20.034 161.26 20.406C160.492 20.766 159.64 20.946 158.704 20.946ZM169.751 20.928C169.067 20.928 168.461 20.82 167.933 20.604C167.405 20.388 166.961 20.082 166.601 19.686C166.241 19.29 165.971 18.816 165.791 18.264C165.611 17.712 165.521 17.1 165.521 16.428C165.521 15.492 165.689 14.67 166.025 13.962C166.361 13.242 166.847 12.678 167.483 12.27C168.131 11.862 168.911 11.658 169.823 11.658C170.627 11.658 171.317 11.826 171.893 12.162C172.469 12.498 172.907 12.99 173.207 13.638C173.519 14.274 173.675 15.054 173.675 15.978C173.675 16.134 173.669 16.236 173.657 16.284C173.657 16.32 173.657 16.362 173.657 16.41H167.015V15.258H172.361L171.911 15.708C171.947 15.156 171.887 14.682 171.731 14.286C171.575 13.878 171.329 13.566 170.993 13.35C170.657 13.122 170.237 13.008 169.733 13.008C169.193 13.008 168.737 13.14 168.365 13.404C168.005 13.656 167.729 14.028 167.537 14.52C167.345 15 167.249 15.594 167.249 16.302C167.249 16.806 167.297 17.256 167.393 17.652C167.501 18.048 167.657 18.39 167.861 18.678C168.077 18.954 168.341 19.17 168.653 19.326C168.977 19.47 169.361 19.542 169.805 19.542C170.201 19.542 170.555 19.482 170.867 19.362C171.179 19.23 171.443 19.032 171.659 18.768C171.875 18.504 172.019 18.168 172.091 17.76L173.621 18.138C173.513 18.714 173.285 19.212 172.937 19.632C172.601 20.04 172.163 20.358 171.623 20.586C171.083 20.814 170.459 20.928 169.751 20.928ZM175.829 20.748V11.856H177.395V14.106H177.449C177.569 13.554 177.755 13.098 178.007 12.738C178.259 12.378 178.577 12.108 178.961 11.928C179.345 11.748 179.783 11.658 180.275 11.658C180.767 11.658 181.205 11.73 181.589 11.874C181.973 12.018 182.297 12.24 182.561 12.54C182.825 12.828 183.023 13.2 183.155 13.656C183.299 14.1 183.371 14.628 183.371 15.24V20.748H181.715V15.33C181.715 14.874 181.637 14.484 181.481 14.16C181.337 13.824 181.115 13.572 180.815 13.404C180.515 13.224 180.137 13.134 179.681 13.134C178.949 13.134 178.397 13.332 178.025 13.728C177.665 14.112 177.485 14.646 177.485 15.33V20.748H175.829ZM188.749 20.928C188.269 20.928 187.849 20.862 187.489 20.73C187.141 20.598 186.871 20.376 186.679 20.064C186.487 19.74 186.391 19.302 186.391 18.75V12.9L187.687 11.856H190.549V13.242H184.897V12.234C185.233 12.138 185.521 12.018 185.761 11.874C186.001 11.73 186.199 11.55 186.355 11.334C186.523 11.106 186.655 10.836 186.751 10.524C186.847 10.2 186.913 9.82205 186.949 9.39005H188.047V18.39C188.047 18.822 188.143 19.116 188.335 19.272C188.527 19.416 188.809 19.488 189.181 19.488C189.469 19.488 189.739 19.464 189.991 19.416C190.255 19.356 190.477 19.302 190.657 19.254L190.441 20.712C190.213 20.772 189.949 20.82 189.649 20.856C189.361 20.904 189.061 20.928 188.749 20.928ZM196.259 20.928C195.575 20.928 194.969 20.82 194.441 20.604C193.913 20.388 193.469 20.082 193.109 19.686C192.749 19.29 192.479 18.816 192.299 18.264C192.119 17.712 192.029 17.1 192.029 16.428C192.029 15.492 192.197 14.67 192.533 13.962C192.869 13.242 193.355 12.678 193.991 12.27C194.639 11.862 195.419 11.658 196.331 11.658C197.135 11.658 197.825 11.826 198.401 12.162C198.977 12.498 199.415 12.99 199.715 13.638C200.027 14.274 200.183 15.054 200.183 15.978C200.183 16.134 200.177 16.236 200.165 16.284C200.165 16.32 200.165 16.362 200.165 16.41H193.523V15.258H198.869L198.419 15.708C198.455 15.156 198.395 14.682 198.239 14.286C198.083 13.878 197.837 13.566 197.501 13.35C197.165 13.122 196.745 13.008 196.241 13.008C195.701 13.008 195.245 13.14 194.873 13.404C194.513 13.656 194.237 14.028 194.045 14.52C193.853 15 193.757 15.594 193.757 16.302C193.757 16.806 193.805 17.256 193.901 17.652C194.009 18.048 194.165 18.39 194.369 18.678C194.585 18.954 194.849 19.17 195.161 19.326C195.485 19.47 195.869 19.542 196.313 19.542C196.709 19.542 197.063 19.482 197.375 19.362C197.687 19.23 197.951 19.032 198.167 18.768C198.383 18.504 198.527 18.168 198.599 17.76L200.129 18.138C200.021 18.714 199.793 19.212 199.445 19.632C199.109 20.04 198.671 20.358 198.131 20.586C197.591 20.814 196.967 20.928 196.259 20.928ZM202.337 20.748V11.856H203.885V14.43H203.939C204.107 13.698 204.311 13.134 204.551 12.738C204.791 12.342 205.073 12.066 205.397 11.91C205.733 11.754 206.117 11.676 206.549 11.676C206.693 11.676 206.849 11.688 207.017 11.712C207.197 11.724 207.347 11.742 207.467 11.766L207.557 13.422C207.437 13.398 207.281 13.38 207.089 13.368C206.897 13.344 206.717 13.332 206.549 13.332C206.009 13.332 205.547 13.44 205.163 13.656C204.779 13.86 204.485 14.166 204.281 14.574C204.089 14.97 203.993 15.456 203.993 16.032V20.748H202.337Z", + fill: "#E31D58" + } + ) + ] } - const filteredResult = useMemo2(() => { - const mergeHits = []; - hits.forEach((hit) => { - const alreadyExists = mergeHits.findIndex( - (e) => e.url_without_anchor === hit.url_without_anchor - ); - const filteredHit = { ...hit, filteredMatches: [] }; - if (alreadyExists >= 0) { - mergeHits[alreadyExists].filteredMatches?.push(filteredHit); - } else - mergeHits.push(filteredHit); - }); - return mergeHits; - }, [hits]); - useEffect12(() => { - const observer = new IntersectionObserver(onSentinelIntersection, {}); - if (scrollRef.current) - observer.observe(scrollRef.current); - return () => { - observer.disconnect(); - }; - }, [hits]); - return /* @__PURE__ */ jsxs45(Box21, { children: [ - /* @__PURE__ */ jsx57(StateResults, {}), - filteredResult.map((hit, index) => /* @__PURE__ */ jsx57(Flex19, { children: /* @__PURE__ */ jsx57(HitCard, { hit }, index) }, hit.objectID)), - /* @__PURE__ */ jsx57("span", { ref: scrollRef }) - ] }); -}; -var infiniteHits_default = connectInfiniteHits(InfiniteHits); +); +var vtex_helpcenter_icon_default = VTEXHelpCenterIcon; -// src/components/search-results/styles.ts -var resultContainer = { - width: ["80%", "544px", "544px", "544px", "720px", "720px", "1400px"], - paddingTop: ["32px", "32px", "32px", "64px"], - hr: { - marginTop: "16px", - marginBottom: "32px", - borderTop: "none", - borderColor: "#DDDDDD", - display: ["none", "none", "none", "block"] +// src/components/icons/info-icon.tsx +import { Icon as Icon46 } from "@vtex/brand-ui"; +import { jsx as jsx80, jsxs as jsxs67 } from "react/jsx-runtime"; +var InfoIcon = (props) => /* @__PURE__ */ jsxs67( + Icon46, + { + ...props, + viewBox: "0 0 16 16", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx80( + "path", + { + d: "M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16Z", + fill: "#ECEFF2" + } + ), + /* @__PURE__ */ jsx80( + "path", + { + d: "M9.5 12.2231C9.5 12.3615 9.35714 12.5 9.21429 12.5H6.78571C6.64286 12.5 6.5 12.3615 6.5 12.2231V11.6692C6.5 11.5307 6.64286 11.3923 6.78571 11.3923H7.21429V8.06901H6.78571C6.64286 8.06901 6.5 7.93054 6.5 7.79207V7.09973C6.5 6.96126 6.64286 6.82279 6.78571 6.82279H8.5C8.64286 6.82279 8.78571 6.96126 8.78571 7.09973V11.2538H9.21429C9.35714 11.2538 9.5 11.3923 9.5 11.5307V12.2231V12.2231Z", + fill: "#5B6E84" + } + ), + /* @__PURE__ */ jsx80( + "path", + { + d: "M8.0714 5.43856C8.62368 5.43856 9.0714 5.0046 9.0714 4.46928C9.0714 3.93396 8.62368 3.5 8.0714 3.5C7.51911 3.5 7.0714 3.93396 7.0714 4.46928C7.0714 5.0046 7.51911 5.43856 8.0714 5.43856Z", + fill: "#5B6E84" + } + ) + ] } -}; -var resultText = { - mb: "16px", - fontSize: "16px", - lineHeight: "22px", - display: ["none", "none", "none", "initial"] -}; -var paginationContainer = { - mt: ["48px", "115px"], - mb: "34px", - justifyContent: "center" -}; -var paginationLink = { - fontSize: "16px", - lineHeight: "20px", - color: "#EE2565", - cursor: "pointer" -}; -var paginationLinkDisabled = { - ...paginationLink, - color: "muted.1" -}; -var paginationNumber = { - display: "flex", - fontSize: ["14px", "16px"], - lineHeight: "20px", - color: "#4A596B", - mx: ["18px", "27px"] -}; -var paginationActualNumber = { - fontWeight: "700", - mx: "4px" -}; -var noResults2 = { - justifyContent: "center", - alignContent: "center", - padding: "12px" -}; -var styles_default21 = { - resultContainer, - resultText, - paginationContainer, - paginationLink, - paginationLinkDisabled, - paginationNumber, - paginationActualNumber, - noResults: noResults2 -}; +); +var info_icon_default = InfoIcon; -// src/components/search-results/index.tsx -import { jsx as jsx58, jsxs as jsxs46 } from "react/jsx-runtime"; -var SearchResults = () => { - const router = useRouter7(); - const { filterSelectedSection, ocurrenceCount } = useContext16(SearchContext); - const { locale } = useContext16(LibraryContext); - const filters = [ - `language:${locale}`, - filterSelectedSection ? `doctype:"${filterSelectedSection}"` : "" - ].filter(Boolean).join(" AND "); - const [prevFilter, setPrevFilter] = useState14(""); - const [searchState, setSearchState] = useState14({}); - const updateSearchState = (currentState) => { - const page = filters !== prevFilter ? 1 : currentState.page || 1; - setPrevFilter(filters); - setSearchState({ - ...currentState, - page - }); - }; - return /* @__PURE__ */ jsxs46(Box22, { sx: styles_default21.resultContainer, children: [ - /* @__PURE__ */ jsx58(Text14, { sx: styles_default21.resultText, children: `${messages[locale]["search_results.showing"] || "Showing"} ${ocurrenceCount[filterSelectedSection] === void 0 ? "" : ocurrenceCount[filterSelectedSection]} ${messages[locale]["search_results.results_for"] || "results for"} ${router.query.keyword} ${messages[locale]["search_results.in"] || "in"} ${!filterSelectedSection ? messages[locale]["search_results.all_lowercase"] || "all results" : filterSelectedSection}` }), - /* @__PURE__ */ jsx58("hr", {}), - /* @__PURE__ */ jsx58(Box22, { children: /* @__PURE__ */ jsxs46( - InstantSearch2, +// src/components/icons/new-icon.tsx +import { Icon as Icon47 } from "@vtex/brand-ui"; +import { jsx as jsx81, jsxs as jsxs68 } from "react/jsx-runtime"; +var NewIcon = (props) => /* @__PURE__ */ jsxs68( + Icon47, + { + ...props, + viewBox: "0 0 17 16", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx81("circle", { cx: "8.50146", cy: "8", r: "8", fill: "#F71963" }), + /* @__PURE__ */ jsxs68("g", { clipPath: "url(#clip0_462_17766)", children: [ + /* @__PURE__ */ jsx81( + "path", + { + d: "M12.6681 6L8.7098 9.95833L6.62646 7.875L3.50146 11", + stroke: "#FFF3F6", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx81( + "path", + { + d: "M10.1685 6H12.6685V8.5", + stroke: "#FFF3F6", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] }), + /* @__PURE__ */ jsx81("defs", { children: /* @__PURE__ */ jsx81("clipPath", { id: "clip0_462_17766", children: /* @__PURE__ */ jsx81( + "rect", + { + width: "11", + height: "9", + fill: "white", + transform: "translate(2.50146 4)" + } + ) }) }) + ] + } +); +var new_icon_default = NewIcon; + +// src/components/icons/github-icon.tsx +import { Icon as Icon48 } from "@vtex/brand-ui"; +import { jsx as jsx82 } from "react/jsx-runtime"; +var GithubIcon = (props) => /* @__PURE__ */ jsx82( + Icon48, + { + ...props, + viewBox: "0 0 64 65", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: /* @__PURE__ */ jsx82( + "path", { - searchClient, - indexName: searchIndex, - searchState, - onSearchStateChange: (currentState) => updateSearchState(currentState), - children: [ - /* @__PURE__ */ jsx58( - Configure2, - { - filters, - query: router.query.keyword, - clickAnalytics: true, - hitsPerPage: 6, - facets: ["doctype", "language"], - facetingAfterDistinct: true - } - ), - /* @__PURE__ */ jsx58(infiniteHits_default, {}) - ] + fillRule: "evenodd", + clipRule: "evenodd", + d: "M14.4 16.7314C10.6667 20.7314 8 26.3314 8 33.5314C8 38.8647 9.86667 43.9314 12.8 47.9314C16.2667 52.4647 21.3333 55.1314 24 56.198V54.3314C24 54.3314 24 50.0647 26.4 46.3314C21.0667 46.0647 16.8 40.998 16.8 35.1314C16.8 32.998 17.6 31.1314 18.9333 29.5314L19.2 24.4647C19.2 23.1314 20.5333 22.3314 21.8667 22.598L27.4667 24.7314C29.0667 24.4647 30.6667 24.198 32.5333 24.198C34.4 24.198 36 24.4647 37.6 24.7314L42.4 22.3314C43.7333 21.798 45.0667 22.8647 45.0667 24.198L45.3333 29.2647C46.6667 30.8647 47.4667 32.998 47.4667 34.8647C47.4667 40.7314 43.2 45.5314 37.8667 46.0647C40.2667 49.798 40.2667 54.0647 40.2667 54.0647V55.9314C42.9333 54.8647 48 52.198 51.4667 47.6647C54.4 43.9314 56.2667 38.598 56.2667 33.2647C56.2667 26.0647 53.6 20.4647 49.8667 16.4647C44.8 11.398 37.8667 8.99805 32 8.99805C26.1333 8.99805 19.2 11.398 14.4 16.7314V16.7314Z", + stroke: "#4A596B", + strokeWidth: "3", + strokeLinecap: "round", + strokeLinejoin: "round" } - ) }) - ] }); -}; -var search_results_default = SearchResults; + ) + } +); +var github_icon_default = GithubIcon; + +// src/components/icons/community-icon.tsx +import { Icon as Icon49 } from "@vtex/brand-ui"; +import { jsx as jsx83, jsxs as jsxs69 } from "react/jsx-runtime"; +var CommunityIcon = (props) => /* @__PURE__ */ jsxs69( + Icon49, + { + ...props, + viewBox: "0 0 64 65", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + " ", + /* @__PURE__ */ jsx83( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M50.6667 56.998H29.3333C26.3867 56.998 24 54.6114 24 51.6647V30.3314C24 27.3847 26.3867 24.998 29.3333 24.998H50.6667C53.6133 24.998 56 27.3847 56 30.3314V51.6647C56 54.6114 53.6133 56.998 50.6667 56.998Z", + stroke: "#4A596B", + strokeWidth: "3", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx83( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M34.6667 40.998H13.3333C10.3867 40.998 8 38.6114 8 35.6647V14.3314C8 11.3847 10.3867 8.99805 13.3333 8.99805H34.6667C37.6133 8.99805 40 11.3847 40 14.3314V35.6647C40 38.6114 37.6133 40.998 34.6667 40.998Z", + stroke: "#4A596B", + strokeWidth: "3", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var community_icon_default = CommunityIcon; -// src/components/search-filter-tab-bar/index.tsx -import { useContext as useContext17 } from "react"; -import { Flex as Flex20, Text as Text15 } from "@vtex/brand-ui"; +// src/components/icons/facebook-circle-icon.tsx +import { Icon as Icon50 } from "@vtex/brand-ui"; +import { jsx as jsx84, jsxs as jsxs70 } from "react/jsx-runtime"; +var FacebookCircleIcon = (props) => /* @__PURE__ */ jsxs70( + Icon50, + { + ...props, + viewBox: "0 0 33 33", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx84( + "path", + { + d: "M31.5501 16.8379C31.5501 25.3976 24.6 32.3379 16.025 32.3379C7.45006 32.3379 0.5 25.3976 0.5 16.8379C0.5 8.27821 7.45006 1.33789 16.025 1.33789C24.6 1.33789 31.5501 8.27821 31.5501 16.8379Z", + stroke: "#4D596A" + } + ), + /* @__PURE__ */ jsx84("g", { clipPath: "url(#clip0_311_37415)", children: /* @__PURE__ */ jsx84( + "path", + { + d: "M17.5268 17.9629H19.4047L20.1559 14.9629H17.5268V13.4629C17.5268 12.6904 17.5268 11.9629 19.0291 11.9629H20.1559V9.44289C19.911 9.41064 18.9863 9.33789 18.0098 9.33789C15.9703 9.33789 14.5221 10.5806 14.5221 12.8629V14.9629H12.2686V17.9629H14.5221V24.3379H17.5268V17.9629Z", + fill: "#CCCED7" + } + ) }), + /* @__PURE__ */ jsx84("defs", { children: /* @__PURE__ */ jsx84("clipPath", { id: "clip0_311_37415", children: /* @__PURE__ */ jsx84( + "rect", + { + width: "18.0282", + height: "18", + fill: "white", + transform: "translate(7.01074 7.83789)" + } + ) }) }) + ] + } +); +var facebook_circle_icon_default = FacebookCircleIcon; -// src/components/search-filter-tab-bar/styles.ts -var container9 = { - display: ["flex", "flex", "flex", "none"], - overflowX: "scroll", - scrollbarWidth: "none", - "::-webkit-scrollbar": { - display: "none" +// src/components/icons/linkedin-circle-icon.tsx +import { Icon as Icon51 } from "@vtex/brand-ui"; +import { jsx as jsx85, jsxs as jsxs71 } from "react/jsx-runtime"; +var LinkedinCircleIcon = (props) => /* @__PURE__ */ jsxs71( + Icon51, + { + ...props, + viewBox: "0 0 33 33", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx85( + "path", + { + d: "M31.7005 16.8379C31.7005 25.3976 24.7504 32.3379 16.1754 32.3379C7.60045 32.3379 0.650391 25.3976 0.650391 16.8379C0.650391 8.27821 7.60045 1.33789 16.1754 1.33789C24.7504 1.33789 31.7005 8.27821 31.7005 16.8379Z", + stroke: "#4D596A" + } + ), + /* @__PURE__ */ jsx85("g", { clipPath: "url(#clip0_311_37418)", children: /* @__PURE__ */ jsx85( + "path", + { + d: "M20.9353 21.5921H18.9334V18.4594C18.9334 17.7124 18.9184 16.7509 17.8893 16.7509C16.8459 16.7509 16.6866 17.5639 16.6866 18.4046V21.5921H14.684V15.1504H16.607V16.0279H16.6333C16.9022 15.5224 17.5557 14.9876 18.5323 14.9876C20.5604 14.9876 20.936 16.3211 20.936 18.0559V21.5921H20.9353ZM12.423 14.2691C12.2701 14.2693 12.1188 14.2394 11.9776 14.1811C11.8363 14.1228 11.708 14.0372 11.6 13.9293C11.492 13.8213 11.4064 13.6932 11.348 13.5521C11.2897 13.4111 11.2599 13.26 11.2601 13.1074C11.2603 12.8778 11.3286 12.6533 11.4565 12.4625C11.5844 12.2717 11.7661 12.123 11.9787 12.0352C12.1912 11.9475 12.425 11.9247 12.6506 11.9696C12.8761 12.0145 13.0832 12.1252 13.2457 12.2877C13.4082 12.4502 13.5189 12.6571 13.5636 12.8824C13.6083 13.1076 13.5851 13.341 13.497 13.5531C13.4088 13.7652 13.2597 13.9464 13.0684 14.0739C12.8771 14.2013 12.6529 14.2693 12.423 14.2691ZM13.4265 21.5921H11.4186V15.1504H13.4273V21.5921H13.4265ZM21.9381 10.0879H10.4143C9.86146 10.0879 9.41602 10.5229 9.41602 11.0606V22.6151C9.41602 23.1529 9.86221 23.5879 10.4136 23.5879H21.9351C22.4864 23.5879 22.9371 23.1529 22.9371 22.6151V11.0606C22.9371 10.5229 22.4864 10.0879 21.9351 10.0879H21.9381Z", + fill: "#C5C7D1" + } + ) }), + /* @__PURE__ */ jsx85("defs", { children: /* @__PURE__ */ jsx85("clipPath", { id: "clip0_311_37418", children: /* @__PURE__ */ jsx85( + "rect", + { + width: "18.0282", + height: "18", + fill: "white", + transform: "translate(7.16211 7.83789)" + } + ) }) }) + ] } -}; -var tab = (active) => ({ - pt: "8px", - pb: "14px", - px: "24px", - cursor: "pointer", - justifyContent: "center", - alignItems: "center", - borderBottom: `${active ? 2 : 1}px solid #${active ? "D71D55" : "DDDDDD"}`, - minWidth: "max-content" -}); -var tabTitle = (active) => ({ - fontSize: "14px", - fontWeight: "600", - lineHeight: "16.38px", - whiteSpace: "nowrap", - color: `#${active ? "D71D55" : "545454"}` -}); -var tabCount = { - px: "8px", - ml: "2px", - fontSize: "12px", - fontWeight: "400", - lineHeight: "16px", - borderRadius: "24px", - backgroundColor: "#F8F7FC" -}; -var styles_default22 = { container: container9, tab, tabTitle, tabCount }; +); +var linkedin_circle_icon_default = LinkedinCircleIcon; -// src/components/search-filter-tab-bar/index.tsx -import { jsx as jsx59, jsxs as jsxs47 } from "react/jsx-runtime"; -var SearchFilterTab = ({ filter }) => { - const { filterSelectedSection, changeFilterSelectedSection, ocurrenceCount } = useContext17(SearchContext); - const { locale } = useContext17(LibraryContext); - return /* @__PURE__ */ jsxs47( - Flex20, - { - sx: styles_default22.tab(filterSelectedSection === filter), - onClick: () => changeFilterSelectedSection(filter), - children: [ - /* @__PURE__ */ jsx59(Text15, { sx: styles_default22.tabTitle(filterSelectedSection === filter), children: filter || messages[locale]["search_results.all"] || "All results" }), - /* @__PURE__ */ jsx59(Text15, { sx: styles_default22.tabCount, children: ocurrenceCount[filter] || 0 }) - ] - } - ); -}; -var SearchFilterTabBar = () => { - const { sidebarSections } = useContext17(LibraryContext); - return /* @__PURE__ */ jsxs47(Flex20, { sx: styles_default22.container, children: [ - /* @__PURE__ */ jsx59(SearchFilterTab, { filter: "" }), - sidebarSections.flat().map((section) => { - return /* @__PURE__ */ jsx59(SearchFilterTab, { filter: section.id }, section.id); - }) - ] }); -}; -var search_filter_tab_bar_default = SearchFilterTabBar; +// src/components/icons/twitter-circle-icon.tsx +import { Icon as Icon52 } from "@vtex/brand-ui"; +import { jsx as jsx86, jsxs as jsxs72 } from "react/jsx-runtime"; +var TwitterCircleIcon = (props) => /* @__PURE__ */ jsxs72( + Icon52, + { + ...props, + viewBox: "0 0 33 33", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx86( + "path", + { + d: "M9.95605 9.54247C9.95868 9.54614 10.0339 9.65531 10.1232 9.78548C10.2126 9.91512 10.3477 10.1114 10.4234 10.2211C10.5874 10.4594 10.9296 10.9554 11.2356 11.3995C11.3581 11.5769 11.5463 11.8498 11.6535 12.0057C11.8307 12.2629 11.9773 12.4754 12.3842 13.0659C12.4599 13.1756 12.6245 13.4139 12.7496 13.596C12.8752 13.7776 12.9872 13.9409 12.9993 13.9582C13.0214 13.9902 13.0524 14.0348 13.607 14.84C13.7762 15.0851 14.0433 15.4724 14.2005 15.7008C14.3582 15.9285 14.5006 16.1359 14.518 16.1611C14.5469 16.2036 14.5485 16.2078 14.5411 16.2162C14.5364 16.2214 14.3713 16.4135 14.1742 16.6429C13.9771 16.8723 13.6816 17.216 13.5176 17.4061C13.3541 17.5966 13.1323 17.8538 13.0256 17.9782C12.9183 18.1026 12.708 18.3471 12.5577 18.5219C12.2191 18.915 11.0747 20.2451 10.6316 20.76C10.4507 20.9704 10.2215 21.2371 10.1227 21.352C10.0233 21.467 9.94238 21.562 9.94238 21.5635C9.94238 21.5651 10.1674 21.5656 10.4428 21.5651L10.9433 21.5635L11.1541 21.3189C11.7402 20.6382 11.8911 20.4629 12.084 20.2382C12.1997 20.1039 12.3369 19.9443 12.3895 19.884C12.4415 19.8231 12.9409 19.2436 13.4987 18.5954C14.0564 17.9472 14.621 17.2916 14.7524 17.1389C14.8844 16.9856 14.9943 16.8612 14.9974 16.8618C15 16.8623 15.0163 16.8838 15.0337 16.909C15.0742 16.9673 15.3391 17.352 15.6645 17.8238C15.8028 18.0243 16.0562 18.3918 16.227 18.64C16.3984 18.8883 16.6113 19.1974 16.7012 19.3276C16.7905 19.4572 16.9793 19.7312 17.1207 19.9364C17.2621 20.1411 17.3872 20.3233 17.3993 20.3406C17.4114 20.3579 17.5239 20.5206 17.649 20.7028C17.7741 20.8844 17.9134 21.0864 17.9581 21.1515C18.0033 21.2166 18.0764 21.3226 18.1211 21.3877C18.1663 21.4528 18.212 21.5194 18.2241 21.5362L18.2451 21.5662H19.9794H21.7136L21.7042 21.552C21.6994 21.5436 21.6069 21.4098 21.4997 21.2539C21.3924 21.098 21.2279 20.8592 21.1343 20.7237C20.7537 20.1716 20.5051 19.811 20.3784 19.6268C20.3043 19.5197 20.1529 19.3003 20.0414 19.1386C19.8233 18.8216 19.8054 18.7959 19.4179 18.2343C19.2765 18.0285 19.143 17.8354 19.1215 17.8039C19.1004 17.7729 19.0442 17.6921 18.9974 17.6244C18.9506 17.5567 18.8492 17.4087 18.7713 17.2964C18.6941 17.1835 18.6184 17.0738 18.6031 17.0523C18.5879 17.0308 18.5232 16.9363 18.4586 16.8423C18.3939 16.7484 18.3313 16.6576 18.3193 16.6403C18.3072 16.6229 18.2083 16.4802 18.1 16.3227C17.9918 16.1653 17.803 15.8913 17.6805 15.7139C17.3367 15.2158 17.2384 15.073 17.0755 14.8358L16.9241 14.6164L17.0834 14.4316C17.1706 14.3298 17.4335 14.0248 17.6669 13.7535C17.9008 13.4821 18.2115 13.1205 18.3582 12.9504C18.7955 12.4429 19.4116 11.727 20.3668 10.6174C20.8625 10.0416 21.2752 9.56241 21.2836 9.55349L21.2983 9.53617H20.7963H20.2948L19.869 10.028C19.4879 10.4683 19.0999 10.9192 17.0408 13.3126C16.7327 13.6706 16.4788 13.964 16.4772 13.9645C16.4757 13.965 16.4552 13.9377 16.4326 13.9041C16.4094 13.8705 16.2549 13.6454 16.0882 13.4045C15.9221 13.1635 15.7108 12.8565 15.6183 12.7221C15.5257 12.5878 15.4011 12.4072 15.3412 12.3206C15.2818 12.234 15.1041 11.9763 14.947 11.7485C14.7898 11.5202 14.6515 11.3197 14.6394 11.3024C14.6273 11.285 14.5285 11.1423 14.4202 10.9848C14.1463 10.5875 13.7994 10.0836 13.6679 9.89308C13.607 9.8049 13.5271 9.68891 13.4897 9.63432L13.4219 9.53617H11.6871C10.3004 9.53617 9.9529 9.53774 9.95605 9.54247ZM13.1917 10.587C13.2937 10.735 13.3867 10.8704 13.3988 10.8877C13.4203 10.9187 13.5581 11.1186 13.8472 11.5385C13.9271 11.654 14.0018 11.7627 14.0139 11.78C14.0259 11.7973 14.1248 11.9401 14.2331 12.0975C14.4507 12.414 14.7114 12.7919 15.3796 13.7614C15.6256 14.1177 15.8832 14.492 15.9526 14.5933C16.0667 14.7591 16.2796 15.0678 16.4741 15.3491C16.514 15.4068 16.6618 15.6204 16.8016 15.8241C16.9419 16.0277 17.0665 16.2083 17.0786 16.2256C17.0907 16.2429 17.2164 16.4245 17.3572 16.6298C17.4987 16.8345 17.7005 17.1273 17.8057 17.2806C18.1847 17.8296 18.611 18.4484 19.0557 19.094C19.1803 19.2746 19.3953 19.5864 19.5336 19.7869C19.6719 19.9874 19.8364 20.2262 19.899 20.317C19.9615 20.4078 20.0577 20.5474 20.1124 20.6266C20.1676 20.7059 20.2138 20.7741 20.2159 20.7778C20.2196 20.7825 20.063 20.7841 19.44 20.7841H18.6599L18.5742 20.6592C18.499 20.5505 18.252 20.1921 17.741 19.4509C17.6621 19.337 17.4745 19.0641 17.3231 18.8447C16.9362 18.2836 16.7984 18.0837 16.5976 17.7924C16.5014 17.6522 16.4126 17.5236 16.4005 17.5063C16.3705 17.4633 15.8548 16.7148 15.6624 16.4356C15.5005 16.1999 15.1467 15.6871 14.9785 15.4436C14.8413 15.2452 14.589 14.8793 14.2562 14.3965C14.1006 14.1697 13.9629 13.9703 13.9508 13.9529C13.9387 13.9356 13.8525 13.8102 13.7589 13.6748C13.3925 13.1425 12.8079 12.2954 12.7785 12.2524C12.7664 12.235 12.6933 12.1285 12.6155 12.0162C12.5382 11.9033 12.4625 11.7936 12.4473 11.7721C12.391 11.6913 12.0083 11.1354 11.715 10.7093C11.6351 10.5938 11.5626 10.4888 11.5536 10.4757C11.5447 10.4626 11.5163 10.4221 11.4911 10.3849L11.4453 10.3182H12.226H13.0061L13.1917 10.587Z", + fill: "#C5C7D1" + } + ), + /* @__PURE__ */ jsx86( + "path", + { + d: "M31.7002 15.8379C31.7002 23.9917 24.7819 30.6394 16.2002 30.6394C7.61851 30.6394 0.700195 23.9917 0.700195 15.8379C0.700195 7.68404 7.61851 1.03638 16.2002 1.03638C24.7819 1.03638 31.7002 7.68404 31.7002 15.8379Z", + stroke: "#4D596A" + } + ) + ] + } +); +var twitter_circle_icon_default = TwitterCircleIcon; -// src/lib/search/styles.ts -var searchBarContainer = { - display: ["flex", "flex", "flex", "none"], - justifyContent: "center", - py: "16px" -}; -var body = { - background: "#FFFFFF", - justifyContent: "center" -}; -var styles_default23 = { - searchBarContainer, - body -}; +// src/components/icons/youtube-icon.tsx +import { Icon as Icon53 } from "@vtex/brand-ui"; +import { jsx as jsx87, jsxs as jsxs73 } from "react/jsx-runtime"; +var YoutubeIcon = (props) => /* @__PURE__ */ jsxs73( + Icon53, + { + ...props, + viewBox: "0 0 33 33", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx87( + "path", + { + d: "M31.6507 16.8379C31.6507 25.3976 24.7006 32.3379 16.1256 32.3379C7.55065 32.3379 0.600586 25.3976 0.600586 16.8379C0.600586 8.27821 7.55065 1.33789 16.1256 1.33789C24.7006 1.33789 31.6507 8.27821 31.6507 16.8379Z", + stroke: "#4D596A" + } + ), + /* @__PURE__ */ jsx87( + "path", + { + d: "M31.6507 16.8379C31.6507 25.3976 24.7006 32.3379 16.1256 32.3379C7.55065 32.3379 0.600586 25.3976 0.600586 16.8379C0.600586 8.27821 7.55065 1.33789 16.1256 1.33789C24.7006 1.33789 31.6507 8.27821 31.6507 16.8379Z", + stroke: "#4D596A" + } + ), + /* @__PURE__ */ jsx87("g", { clipPath: "url(#clip0_311_37417)", children: /* @__PURE__ */ jsx87( + "path", + { + d: "M22.4973 13.17C22.8024 14.358 22.8024 16.838 22.8024 16.838C22.8024 16.838 22.8024 19.318 22.4973 20.506C22.3277 21.1626 21.8316 21.6793 21.2033 21.854C20.0622 22.1713 16.1253 22.1713 16.1253 22.1713C16.1253 22.1713 12.1905 22.1713 11.0474 21.854C10.4164 21.6766 9.92098 21.1606 9.75339 20.506C9.44824 19.318 9.44824 16.838 9.44824 16.838C9.44824 16.838 9.44824 14.358 9.75339 13.17C9.92298 12.5133 10.4191 11.9966 11.0474 11.822C12.1905 11.5046 16.1253 11.5046 16.1253 11.5046C16.1253 11.5046 20.0622 11.5046 21.2033 11.822C21.8343 11.9993 22.3297 12.5153 22.4973 13.17ZM14.7899 19.1713L18.7962 16.838L14.7899 14.5046V19.1713Z", + fill: "#C5C7D1" + } + ) }), + /* @__PURE__ */ jsx87("defs", { children: /* @__PURE__ */ jsx87("clipPath", { id: "clip0_311_37417", children: /* @__PURE__ */ jsx87( + "rect", + { + width: "16.025", + height: "16", + fill: "white", + transform: "translate(8.11328 8.83789)" + } + ) }) }) + ] + } +); +var youtube_icon_default = YoutubeIcon; -// src/lib/search/index.tsx -import { jsx as jsx60, jsxs as jsxs48 } from "react/jsx-runtime"; -var Search = () => { - return /* @__PURE__ */ jsxs48(search_default, { children: [ - /* @__PURE__ */ jsxs48(Box23, { children: [ - /* @__PURE__ */ jsx60(Flex21, { sx: styles_default23.searchBarContainer, children: /* @__PURE__ */ jsx60(SearchInput, {}) }), - /* @__PURE__ */ jsx60(search_filter_tab_bar_default, {}) - ] }), - /* @__PURE__ */ jsxs48(Flex21, { sx: styles_default23.body, children: [ - /* @__PURE__ */ jsx60(search_sections_default, {}), - /* @__PURE__ */ jsx60(search_results_default, {}) - ] }) - ] }); -}; -var search_default2 = Search; +// src/components/icons/instagram-icon.tsx +import { Icon as Icon54 } from "@vtex/brand-ui"; +import { jsx as jsx88, jsxs as jsxs74 } from "react/jsx-runtime"; +var IgIcon = (props) => /* @__PURE__ */ jsxs74( + Icon54, + { + ...props, + viewBox: "0 0 33 33", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx88( + "path", + { + d: "M31.5999 16.8379C31.5999 25.3976 24.6498 32.3379 16.0748 32.3379C7.49986 32.3379 0.549805 25.3976 0.549805 16.8379C0.549805 8.27821 7.49986 1.33789 16.0748 1.33789C24.6498 1.33789 31.5999 8.27821 31.5999 16.8379Z", + stroke: "#4D596A" + } + ), + /* @__PURE__ */ jsx88("g", { clipPath: "url(#clip0_311_37416)", children: /* @__PURE__ */ jsx88( + "path", + { + d: "M16.0742 14.5879C15.4766 14.5879 14.9034 14.8249 14.4808 15.2469C14.0581 15.6689 13.8207 16.2412 13.8207 16.8379C13.8207 17.4346 14.0581 18.0069 14.4808 18.4289C14.9034 18.8508 15.4766 19.0879 16.0742 19.0879C16.6719 19.0879 17.2451 18.8508 17.6677 18.4289C18.0903 18.0069 18.3278 17.4346 18.3278 16.8379C18.3278 16.2412 18.0903 15.6689 17.6677 15.2469C17.2451 14.8249 16.6719 14.5879 16.0742 14.5879ZM16.0742 13.0879C17.0704 13.0879 18.0257 13.483 18.73 14.1862C19.4344 14.8895 19.8301 15.8433 19.8301 16.8379C19.8301 17.8325 19.4344 18.7863 18.73 19.4895C18.0257 20.1928 17.0704 20.5879 16.0742 20.5879C15.0781 20.5879 14.1228 20.1928 13.4184 19.4895C12.7141 18.7863 12.3184 17.8325 12.3184 16.8379C12.3184 15.8433 12.7141 14.8895 13.4184 14.1862C14.1228 13.483 15.0781 13.0879 16.0742 13.0879ZM20.9569 12.9004C20.9569 13.149 20.8579 13.3875 20.6819 13.5633C20.5058 13.7391 20.2669 13.8379 20.0179 13.8379C19.7689 13.8379 19.53 13.7391 19.3539 13.5633C19.1779 13.3875 19.0789 13.149 19.0789 12.9004C19.0789 12.6518 19.1779 12.4133 19.3539 12.2375C19.53 12.0617 19.7689 11.9629 20.0179 11.9629C20.2669 11.9629 20.5058 12.0617 20.6819 12.2375C20.8579 12.4133 20.9569 12.6518 20.9569 12.9004ZM16.0742 10.8379C14.2158 10.8379 13.9124 10.8431 13.0478 10.8814C12.4588 10.9091 12.0637 10.9879 11.6971 11.1304C11.3711 11.2564 11.136 11.4071 10.8859 11.6576C10.6508 11.8844 10.47 12.1613 10.3571 12.4676C10.2143 12.8351 10.1355 13.2289 10.1084 13.8161C10.0694 14.6441 10.0648 14.9336 10.0648 16.8379C10.0648 18.6934 10.0701 18.9964 10.1084 19.8596C10.1362 20.4469 10.2151 20.8421 10.3571 21.2074C10.4848 21.5336 10.635 21.7684 10.8844 22.0174C11.1375 22.2694 11.3726 22.4201 11.6956 22.5446C12.0667 22.6879 12.4618 22.7674 13.0478 22.7944C13.8771 22.8334 14.167 22.8379 16.0742 22.8379C17.9326 22.8379 18.2361 22.8326 19.1007 22.7944C19.6881 22.7666 20.084 22.6879 20.4506 22.5461C20.7758 22.4194 21.0125 22.2686 21.2618 22.0196C21.515 21.7669 21.666 21.5321 21.7907 21.2096C21.9334 20.8399 22.013 20.4446 22.0401 19.8596C22.0791 19.0316 22.0836 18.7421 22.0836 16.8379C22.0836 14.9824 22.0784 14.6794 22.0401 13.8161C22.0123 13.2296 21.9334 12.8336 21.7907 12.4676C21.6775 12.1616 21.497 11.8849 21.2626 11.6576C21.0355 11.4228 20.7582 11.2423 20.4513 11.1296C20.0833 10.9871 19.6881 10.9084 19.1007 10.8814C18.2714 10.8424 17.9815 10.8379 16.0742 10.8379ZM16.0742 9.33789C18.1152 9.33789 18.3698 9.34539 19.1706 9.38289C19.9706 9.42039 20.5152 9.54564 20.9944 9.73164C21.4902 9.92214 21.9079 10.1801 22.3255 10.5964C22.7075 10.9713 23.003 11.4248 23.1916 11.9254C23.3771 12.4031 23.5033 12.9476 23.5409 13.7464C23.5762 14.5459 23.586 14.8001 23.586 16.8379C23.586 18.8756 23.5785 19.1299 23.5409 19.9294C23.5033 20.7281 23.3771 21.2719 23.1916 21.7504C23.0036 22.2512 22.7079 22.7049 22.3255 23.0794C21.9499 23.4606 21.4957 23.7557 20.9944 23.9441C20.5159 24.1294 19.9706 24.2554 19.1706 24.2929C18.3698 24.3281 18.1152 24.3379 16.0742 24.3379C14.0333 24.3379 13.7787 24.3304 12.9779 24.2929C12.1779 24.2554 11.6333 24.1294 11.154 23.9441C10.6525 23.7562 10.1982 23.4611 9.82297 23.0794C9.44093 22.7045 9.14536 22.251 8.95687 21.7504C8.77058 21.2726 8.64513 20.7281 8.60757 19.9294C8.57227 19.1299 8.5625 18.8756 8.5625 16.8379C8.5625 14.8001 8.57001 14.5459 8.60757 13.7464C8.64513 12.9469 8.77058 12.4039 8.95687 11.9254C9.14484 11.4245 9.44047 10.9709 9.82297 10.5964C10.1983 10.2148 10.6526 9.91969 11.154 9.73164C11.6333 9.54564 12.1771 9.42039 12.9779 9.38289C13.7787 9.34764 14.0333 9.33789 16.0742 9.33789Z", + fill: "#C5C7D1" + } + ) }), + /* @__PURE__ */ jsx88("defs", { children: /* @__PURE__ */ jsx88("clipPath", { id: "clip0_311_37416", children: /* @__PURE__ */ jsx88( + "rect", + { + width: "18.0282", + height: "18", + fill: "white", + transform: "translate(7.06055 7.83789)" + } + ) }) }) + ] + } +); +var instagram_icon_default = IgIcon; -// src/lib/cookie-bar/index.tsx -import { useContext as useContext18 } from "react"; -import { CookieConsent } from "react-cookie-consent"; +// src/components/icons/chatgpt-icon.tsx +import { Icon as Icon55 } from "@vtex/brand-ui"; +import { jsx as jsx89 } from "react/jsx-runtime"; +var ChatGPTIcon = (props) => /* @__PURE__ */ jsx89( + Icon55, + { + ...props, + fill: "currentColor", + "fill-rule": "evenodd", + height: "64", + viewBox: "0 0 24 24", + width: "64", + xmlns: "http://www.w3.org/2000/svg", + children: /* @__PURE__ */ jsx89("path", { d: "M21.55 10.004a5.416 5.416 0 00-.478-4.501c-1.217-2.09-3.662-3.166-6.05-2.66A5.59 5.59 0 0010.831 1C8.39.995 6.224 2.546 5.473 4.838A5.553 5.553 0 001.76 7.496a5.487 5.487 0 00.691 6.5 5.416 5.416 0 00.477 4.502c1.217 2.09 3.662 3.165 6.05 2.66A5.586 5.586 0 0013.168 23c2.443.006 4.61-1.546 5.361-3.84a5.553 5.553 0 003.715-2.66 5.488 5.488 0 00-.693-6.497v.001zm-8.381 11.558a4.199 4.199 0 01-2.675-.954c.034-.018.093-.05.132-.074l4.44-2.53a.71.71 0 00.364-.623v-6.176l1.877 1.069c.02.01.033.029.036.05v5.115c-.003 2.274-1.87 4.118-4.174 4.123zM4.192 17.78a4.059 4.059 0 01-.498-2.763c.032.02.09.055.131.078l4.44 2.53c.225.13.504.13.73 0l5.42-3.088v2.138a.068.068 0 01-.027.057L9.9 19.288c-1.999 1.136-4.552.46-5.707-1.51h-.001zM3.023 8.216A4.15 4.15 0 015.198 6.41l-.002.151v5.06a.711.711 0 00.364.624l5.42 3.087-1.876 1.07a.067.067 0 01-.063.005l-4.489-2.559c-1.995-1.14-2.679-3.658-1.53-5.63h.001zm15.417 3.54l-5.42-3.088L14.896 7.6a.067.067 0 01.063-.006l4.489 2.557c1.998 1.14 2.683 3.662 1.529 5.633a4.163 4.163 0 01-2.174 1.807V12.38a.71.71 0 00-.363-.623zm1.867-2.773a6.04 6.04 0 00-.132-.078l-4.44-2.53a.731.731 0 00-.729 0l-5.42 3.088V7.325a.068.068 0 01.027-.057L14.1 4.713c2-1.137 4.555-.46 5.707 1.513.487.833.664 1.809.499 2.757h.001zm-11.741 3.81l-1.877-1.068a.065.065 0 01-.036-.051V6.559c.001-2.277 1.873-4.122 4.181-4.12.976 0 1.92.338 2.671.954-.034.018-.092.05-.131.073l-4.44 2.53a.71.71 0 00-.365.623l-.003 6.173v.002zm1.02-2.168L12 9.25l2.414 1.375v2.75L12 14.75l-2.415-1.375v-2.75z" }) + } +); +var chatgpt_icon_default = ChatGPTIcon; -// src/lib/cookie-bar/styles.ts -var bar = { - backgroundColor: "#FFF", - borderRadius: "8px", - color: "#5E6E84", - padding: "20px", - width: "80%", - left: "50%", - transform: "translateX(-50%)", - maxWidth: "1280px", - alignItems: "center", - justifyContent: "center", - boxShadow: "0 0 10px rgba(0, 0, 0, 0.1)" -}; -var barContent = { - display: "flex", - flex: "1 0 300px", - flexDirection: "column", - maxWidth: "100%" -}; -var title4 = { - color: "#5E6E84", - marginBottom: "10px", - lineHeight: "28px", - fontSize: "25px", - fontWeight: "400" -}; -var buttonContainer = { - display: "flex", - flexWrap: "wrap", - gap: "10px", - justifyContent: "center", - margin: "15px" -}; -var acceptButton = { - background: "#F71963", - color: "#FFF", - padding: "7px 16px", - borderRadius: "2px", - margin: "0", - height: "32px", - fontWeight: "400", - ":hover": { - opacity: "0.7" +// src/components/icons/claude-icon.tsx +import { Icon as Icon56 } from "@vtex/brand-ui"; +import { jsx as jsx90, jsxs as jsxs75 } from "react/jsx-runtime"; +var ClaudeIcon = (props) => /* @__PURE__ */ jsxs75( + Icon56, + { + ...props, + fill: "currentColor", + "fill-rule": "evenodd", + height: "64", + viewBox: "0 0 24 24", + width: "64", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx90("title", { children: "Claude" }), + /* @__PURE__ */ jsx90("path", { d: "M4.709 15.955l4.72-2.647.08-.23-.08-.128H9.2l-.79-.048-2.698-.073-2.339-.097-2.266-.122-.571-.121L0 11.784l.055-.352.48-.321.686.06 1.52.103 2.278.158 1.652.097 2.449.255h.389l.055-.157-.134-.098-.103-.097-2.358-1.596-2.552-1.688-1.336-.972-.724-.491-.364-.462-.158-1.008.656-.722.881.06.225.061.893.686 1.908 1.476 2.491 1.833.365.304.145-.103.019-.073-.164-.274-1.355-2.446-1.446-2.49-.644-1.032-.17-.619a2.97 2.97 0 01-.104-.729L6.283.134 6.696 0l.996.134.42.364.62 1.414 1.002 2.229 1.555 3.03.456.898.243.832.091.255h.158V9.01l.128-1.706.237-2.095.23-2.695.08-.76.376-.91.747-.492.584.28.48.685-.067.444-.286 1.851-.559 2.903-.364 1.942h.212l.243-.242.985-1.306 1.652-2.064.73-.82.85-.904.547-.431h1.033l.76 1.129-.34 1.166-1.064 1.347-.881 1.142-1.264 1.7-.79 1.36.073.11.188-.02 2.856-.606 1.543-.28 1.841-.315.833.388.091.395-.328.807-1.969.486-2.309.462-3.439.813-.042.03.049.061 1.549.146.662.036h1.622l3.02.225.79.522.474.638-.079.485-1.215.62-1.64-.389-3.829-.91-1.312-.329h-.182v.11l1.093 1.068 2.006 1.81 2.509 2.33.127.578-.322.455-.34-.049-2.205-1.657-.851-.747-1.926-1.62h-.128v.17l.444.649 2.345 3.521.122 1.08-.17.353-.608.213-.668-.122-1.374-1.925-1.415-2.167-1.143-1.943-.14.08-.674 7.254-.316.37-.729.28-.607-.461-.322-.747.322-1.476.389-1.924.315-1.53.286-1.9.17-.632-.012-.042-.14.018-1.434 1.967-2.18 2.945-1.726 1.845-.414.164-.717-.37.067-.662.401-.589 2.388-3.036 1.44-1.882.93-1.086-.006-.158h-.055L4.132 18.56l-1.13.146-.487-.456.061-.746.231-.243 1.908-1.312-.006.006z" }) + ] + } +); +var claude_icon_default = ClaudeIcon; + +// src/components/icons/gemini-icon.tsx +import { Icon as Icon57 } from "@vtex/brand-ui"; +import { jsx as jsx91 } from "react/jsx-runtime"; +var GeminiIcon = (props) => /* @__PURE__ */ jsx91( + Icon57, + { + ...props, + fill: "currentColor", + "fill-rule": "evenodd", + height: "64", + viewBox: "0 0 24 24", + width: "64", + xmlns: "http://www.w3.org/2000/svg", + children: /* @__PURE__ */ jsx91("path", { d: "M20.616 10.835a14.147 14.147 0 01-4.45-3.001 14.111 14.111 0 01-3.678-6.452.503.503 0 00-.975 0 14.134 14.134 0 01-3.679 6.452 14.155 14.155 0 01-4.45 3.001c-.65.28-1.318.505-2.002.678a.502.502 0 000 .975c.684.172 1.35.397 2.002.677a14.147 14.147 0 014.45 3.001 14.112 14.112 0 013.679 6.453.502.502 0 00.975 0c.172-.685.397-1.351.677-2.003a14.145 14.145 0 013.001-4.45 14.113 14.113 0 016.453-3.678.503.503 0 000-.975 13.245 13.245 0 01-2.003-.678z" }) } -}; -var declineButton = { - border: "1px solid #F71963", - background: "#FFF", - color: "#F71963", - borderRadius: "2px", - fontWeight: "400", - margin: "0", - height: "32px", - ":hover": { - opacity: "0.7" +); +var gemini_icon_default = GeminiIcon; + +// src/components/icons/copilot-icon.tsx +import { Icon as Icon58 } from "@vtex/brand-ui"; +import { jsx as jsx92 } from "react/jsx-runtime"; +var CopilotIcon = (props) => /* @__PURE__ */ jsx92( + Icon58, + { + ...props, + fill: "currentColor", + "fill-rule": "evenodd", + height: "64", + viewBox: "0 0 24 24", + width: "64", + xmlns: "http://www.w3.org/2000/svg", + children: /* @__PURE__ */ jsx92("path", { d: "M9 23l.073-.001a2.53 2.53 0 01-2.347-1.838l-.697-2.433a2.529 2.529 0 00-2.426-1.839h-.497l-.104-.002c-4.485 0-2.935-5.278-1.75-9.225l.162-.525C2.412 3.99 3.883 1 6.25 1h8.86c1.12 0 2.106.745 2.422 1.829l.715 2.453a2.53 2.53 0 002.247 1.823l.147.005.534.001c3.557.115 3.088 3.745 2.156 7.206l-.113.413c-.154.548-.315 1.089-.47 1.607l-.163.525C21.588 20.01 20.116 23 17.75 23h-8.75zm8.22-15.89l-3.856.001a2.526 2.526 0 00-2.35 1.615L9.21 15.04a2.529 2.529 0 01-2.43 1.847l3.853.002c1.056 0 1.992-.661 2.361-1.644l1.796-6.287a2.529 2.529 0 012.43-1.848z" }) } -}; -var styles_default24 = { - bar, - barContent, - title: title4, - acceptButton, - declineButton, - buttonContainer -}; +); +var copilot_icon_default = CopilotIcon; -// src/lib/cookie-bar/index.tsx -import { Flex as Flex22, Text as Text16 } from "@vtex/brand-ui"; -import aa3 from "search-insights"; -import { jsx as jsx61, jsxs as jsxs49 } from "react/jsx-runtime"; -var Button6 = ({ children, style, ...props }) => { - return /* @__PURE__ */ jsx61(Flex22, { sx: style, ...props, children }); -}; -var CookieBar = ({ onAccept }) => { - const { locale } = useContext18(LibraryContext); - return /* @__PURE__ */ jsxs49( - CookieConsent, - { - enableDeclineButton: true, - buttonStyle: styles_default24.acceptButton, - declineButtonStyle: styles_default24.declineButton, - style: styles_default24.bar, - onAccept: () => { - aa3("init", { - partial: true, - useCookie: true - }); - onAccept(); - }, - declineButtonText: messages[locale]["cookie_bar.decline"], - buttonText: messages[locale]["cookie_bar.accept"], - ButtonComponent: Button6, - customButtonWrapperAttributes: { style: styles_default24.buttonContainer }, - customContentAttributes: { style: styles_default24.barContent }, - children: [ - /* @__PURE__ */ jsx61(Text16, { sx: styles_default24.title, children: messages[locale]["cookie_bar.title"] }), - /* @__PURE__ */ jsx61(Text16, { children: messages[locale]["cookie_bar.description"] }) - ] - } - ); -}; -var cookie_bar_default = CookieBar; +// src/components/icons/grid-icon.tsx +import { Icon as Icon59 } from "@vtex/brand-ui"; +import { jsx as jsx93, jsxs as jsxs76 } from "react/jsx-runtime"; +var GridIcon = (props) => /* @__PURE__ */ jsxs76( + Icon59, + { + ...props, + viewBox: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx93( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M5 14C3.895 14 3 13.105 3 12C3 10.895 3.895 10 5 10C6.105 10 7 10.895 7 12C7 13.105 6.105 14 5 14Z", + fill: "#4A596B" + } + ), + /* @__PURE__ */ jsx93( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M12 14C10.895 14 10 13.105 10 12C10 10.895 10.895 10 12 10C13.105 10 14 10.895 14 12C14 13.105 13.105 14 12 14Z", + fill: "#4A596B" + } + ), + /* @__PURE__ */ jsx93( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M19 14C17.895 14 17 13.105 17 12C17 10.895 17.895 10 19 10C20.105 10 21 10.895 21 12C21 13.105 20.105 14 19 14Z", + fill: "#4A596B" + } + ), + /* @__PURE__ */ jsx93( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M5 21C3.895 21 3 20.105 3 19C3 17.895 3.895 17 5 17C6.105 17 7 17.895 7 19C7 20.105 6.105 21 5 21Z", + fill: "#4A596B" + } + ), + /* @__PURE__ */ jsx93( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M12 21C10.895 21 10 20.105 10 19C10 17.895 10.895 17 12 17C13.105 17 14 17.895 14 19C14 20.105 13.105 21 12 21Z", + fill: "#4A596B" + } + ), + /* @__PURE__ */ jsx93( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M19 21C17.895 21 17 20.105 17 19C17 17.895 17.895 17 19 17C20.105 17 21 17.895 21 19C21 20.105 20.105 21 19 21Z", + fill: "#4A596B" + } + ), + /* @__PURE__ */ jsx93( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M5 7C3.895 7 3 6.105 3 5C3 3.895 3.895 3 5 3C6.105 3 7 3.895 7 5C7 6.105 6.105 7 5 7Z", + fill: "#4A596B" + } + ), + /* @__PURE__ */ jsx93( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M12 7C10.895 7 10 6.105 10 5C10 3.895 10.895 3 12 3C13.105 3 14 3.895 14 5C14 6.105 13.105 7 12 7Z", + fill: "#4A596B" + } + ), + /* @__PURE__ */ jsx93( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M19 7C17.895 7 17 6.105 17 5C17 3.895 17.895 3 19 3C20.105 3 21 3.895 21 5C21 6.105 20.105 7 19 7Z", + fill: "#4A596B" + } + ) + ] + } +); +var grid_icon_default = GridIcon; -// src/components/copy-link-button/index.tsx -import { Button as Button7 } from "@vtex/brand-ui"; +// src/components/icons/trashcan-icon.tsx +import { Icon as Icon60 } from "@vtex/brand-ui"; +import { jsx as jsx94, jsxs as jsxs77 } from "react/jsx-runtime"; +var TrashcanIcon = (props) => /* @__PURE__ */ jsxs77( + Icon60, + { + ...props, + viewBox: "0 0 19 18", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx94( + "path", + { + d: "M4.25 5.25H14.75", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx94( + "path", + { + d: "M14 5.25V13.5C14 14.3288 13.3288 15 12.5 15H6.5C5.67125 15 5 14.3288 5 13.5V5.25", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx94( + "path", + { + d: "M11.75 2.8125H7.25", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx94( + "path", + { + d: "M8 8.25V12", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx94( + "path", + { + d: "M11 8.25V12", + stroke: "currentcolor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var trashcan_icon_default = TrashcanIcon; -// src/components/icons/copy-icon.tsx -import { Icon as Icon30 } from "@vtex/brand-ui"; -import { jsx as jsx62, jsxs as jsxs50 } from "react/jsx-runtime"; -var CopyIcon = (props) => /* @__PURE__ */ jsxs50( - Icon30, +// src/components/icons/filter-icon.tsx +import { Icon as Icon61 } from "@vtex/brand-ui"; +import { jsx as jsx95, jsxs as jsxs78 } from "react/jsx-runtime"; +var FilterIcon = (props) => /* @__PURE__ */ jsxs78( + Icon61, + { + ...props, + viewBox: "0 0 16 17", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx95( + "path", + { + d: "M3.33333 4.5V2.5", + stroke: "currentcolor", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx95( + "path", + { + d: "M3.33333 14.4998V7.1665", + stroke: "currentcolor", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx95( + "path", + { + d: "M7.99984 9.83333V2.5", + stroke: "currentcolor", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx95( + "path", + { + d: "M7.99984 14.5V12.5", + stroke: "currentcolor", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx95( + "path", + { + d: "M12.6668 4.5V2.5", + stroke: "currentcolor", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx95( + "path", + { + d: "M12.6668 14.4998V7.1665", + stroke: "currentcolor", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx95( + "path", + { + d: "M4.27614 4.89052C4.79684 5.41122 4.79684 6.25544 4.27614 6.77614C3.75545 7.29684 2.91122 7.29684 2.39052 6.77614C1.86983 6.25545 1.86983 5.41122 2.39052 4.89052C2.91122 4.36983 3.75544 4.36983 4.27614 4.89052", + stroke: "currentcolor", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx95( + "path", + { + d: "M8.94265 10.224C9.46335 10.7447 9.46335 11.5889 8.94265 12.1096C8.42195 12.6303 7.57773 12.6303 7.05703 12.1096C6.53633 11.5889 6.53633 10.7447 7.05703 10.224C7.57773 9.70332 8.42195 9.70332 8.94265 10.224", + stroke: "currentcolor", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx95( + "path", + { + d: "M13.6096 4.89052C14.1303 5.41122 14.1303 6.25544 13.6096 6.77614C13.0889 7.29684 12.2447 7.29684 11.724 6.77614C11.2033 6.25545 11.2033 5.41122 11.724 4.89052C12.2447 4.36983 13.0889 4.36983 13.6096 4.89052", + stroke: "currentcolor", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var filter_icon_default = FilterIcon; + +// src/components/icons/menu-icon.tsx +import { Icon as Icon62 } from "@vtex/brand-ui"; +import { jsx as jsx96, jsxs as jsxs79 } from "react/jsx-runtime"; +var MenuIcon = (props) => /* @__PURE__ */ jsxs79( + Icon62, { ...props, - viewBox: "0 0 15 15", + width: "25", + height: "24", + viewBox: "0 0 25 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [ - /* @__PURE__ */ jsx62( + /* @__PURE__ */ jsx96( "path", { - d: "M12.5 5.625H6.875C6.18464 5.625 5.625 6.18464 5.625 6.875V12.5C5.625 13.1904 6.18464 13.75 6.875 13.75H12.5C13.1904 13.75 13.75 13.1904 13.75 12.5V6.875C13.75 6.18464 13.1904 5.625 12.5 5.625Z", - stroke: "currentcolor", + d: "M10.002 12H17.501", + stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" } ), - /* @__PURE__ */ jsx62( + /* @__PURE__ */ jsx96( "path", { - d: "M3.125 9.375H2.5C2.16848 9.375 1.85054 9.2433 1.61612 9.00888C1.3817 8.77446 1.25 8.45652 1.25 8.125V2.5C1.25 2.16848 1.3817 1.85054 1.61612 1.61612C1.85054 1.3817 2.16848 1.25 2.5 1.25H8.125C8.45652 1.25 8.77446 1.3817 9.00888 1.61612C9.2433 1.85054 9.375 2.16848 9.375 2.5V3.125", - stroke: "currentcolor", + d: "M10.002 15.484H17.501", + stroke: "currentColor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx96( + "path", + { + d: "M10.002 8.48401H17.501", + stroke: "currentColor", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx96( + "path", + { + d: "M7.54978 8.434C7.52178 8.434 7.49978 8.457 7.49978 8.485C7.49978 8.513 7.52278 8.535 7.55078 8.535C7.57878 8.535 7.60178 8.512 7.60178 8.485C7.60078 8.457 7.57778 8.434 7.54978 8.434", + stroke: "#323232", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx96( + "path", + { + d: "M7.54978 11.949C7.52178 11.949 7.49978 11.972 7.49978 12C7.49978 12.028 7.52278 12.051 7.55078 12.051C7.57878 12.051 7.60178 12.028 7.60178 12C7.60178 11.972 7.57778 11.949 7.54978 11.949", + stroke: "#323232", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx96( + "path", + { + d: "M7.54978 15.434C7.52178 15.434 7.49978 15.457 7.49978 15.485C7.49978 15.513 7.52278 15.535 7.55078 15.535C7.57878 15.535 7.60178 15.512 7.60178 15.485C7.60078 15.457 7.57778 15.434 7.54978 15.434", + stroke: "#323232", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx96( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M21.5 7V17C21.5 19.209 19.709 21 17.5 21H7.5C5.291 21 3.5 19.209 3.5 17V7C3.5 4.791 5.291 3 7.5 3H17.5C19.709 3 21.5 4.791 21.5 7Z", + stroke: "#323232", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" @@ -11026,129 +12558,284 @@ var CopyIcon = (props) => /* @__PURE__ */ jsxs50( ] } ); -var copy_icon_default = CopyIcon; - -// src/components/copy-link-button/index.tsx -import { useState as useState15 } from "react"; +var menu_icon_default = MenuIcon; -// src/components/copy-link-button/styles.ts -var copyIcon = { - marginRight: "4px" -}; -var copyLinkButton = { - textTransform: "none", - color: "#3F3F3F", - fontWeight: "100", - fontSize: "12px", - lineHeight: "18px", - height: "none", - padding: "8px 5px 8px 8px", - border: "1px solid #A1AAB7", - backgroundColor: "white", - ":hover": { - backgroundColor: "#EFEFEF" +// src/components/icons/checkbox.tsx +import { Icon as Icon63 } from "@vtex/brand-ui"; +import { Fragment as Fragment5, jsx as jsx97, jsxs as jsxs80 } from "react/jsx-runtime"; +var CheckboxIcon = (props) => /* @__PURE__ */ jsx97( + Icon63, + { + ...props, + viewBox: "0 0 20 20", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: !props.checked ? /* @__PURE__ */ jsxs80(Fragment5, { children: [ + /* @__PURE__ */ jsx97( + "rect", + { + x: "0.5", + y: "0.5", + width: "19", + height: "19", + rx: "3.5", + fill: "white", + fillOpacity: "0.01" + } + ), + /* @__PURE__ */ jsx97( + "rect", + { + x: "0.5", + y: "0.5", + width: "19", + height: "19", + rx: "3.5", + stroke: "#B9B9B9" + } + ) + ] }) : /* @__PURE__ */ jsxs80(Fragment5, { children: [ + /* @__PURE__ */ jsx97("rect", { width: "20", height: "20", rx: "4", fill: "#0C1522" }), + /* @__PURE__ */ jsx97( + "path", + { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M16.0303 5.96968C16.3232 6.26258 16.3232 6.73746 16.0303 7.03034L9.03032 14.03C8.73743 14.3229 8.26259 14.3229 7.96969 14.03L4.46969 10.5304C4.17679 10.2375 4.17677 9.7626 4.46965 9.46969C4.76253 9.17679 5.2374 9.17677 5.53031 9.46965L8.49999 12.4391L14.9697 5.96966C15.2626 5.67677 15.7375 5.67678 16.0303 5.96968Z", + fill: "white" + } + ) + ] }) } -}; -var styles_default25 = { - copyIcon, - copyLinkButton -}; +); +var checkbox_default = CheckboxIcon; -// src/components/copy-link-button/index.tsx -import { jsx as jsx63 } from "react/jsx-runtime"; -var CopyLinkButton = () => { - const [tooltipText, setTooltipText] = useState15("Copy"); - const handleCopy = () => { - navigator.clipboard.writeText(window.location.href); - setTooltipText("Copy"); - setTimeout(() => { - setTooltipText("Copied!"); - }, 2e3); - }; - return /* @__PURE__ */ jsx63(tooltip_default, { label: tooltipText, placement: "bottom", children: /* @__PURE__ */ jsx63(Button7, { onClick: handleCopy, sx: styles_default25.copyLinkButton, children: /* @__PURE__ */ jsx63(copy_icon_default, { sx: styles_default25.copyIcon, size: 16 }) }) }); -}; -var copy_link_button_default = CopyLinkButton; +// src/components/icons/resize-icon.tsx +import { Icon as Icon64 } from "@vtex/brand-ui"; +import { jsx as jsx98 } from "react/jsx-runtime"; +var ResizeIcon = (props) => /* @__PURE__ */ jsx98( + Icon64, + { + ...props, + viewBox: "0 0 29.96 122.88", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: /* @__PURE__ */ jsx98( + "path", + { + fillRule: "evenodd", + d: "M15,0A15,15,0,1,1,0,15,15,15,0,0,1,15,0Zm0,92.93a15,15,0,1,1-15,15,15,15,0,0,1,15-15Zm0-46.47a15,15,0,1,1-15,15,15,15,0,0,1,15-15Z" + } + ) + } +); +var resize_icon_default = ResizeIcon; -// src/components/input/index.tsx -import { useState as useState16, useEffect as useEffect13 } from "react"; +// src/components/icons/arrow-right-icon.tsx +import { Icon as Icon65 } from "@vtex/brand-ui"; +import { jsx as jsx99, jsxs as jsxs81 } from "react/jsx-runtime"; +var ArrowRightIcon = (props) => /* @__PURE__ */ jsxs81( + Icon65, + { + ...props, + viewBox: "0 0 17 17", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + " ", + /* @__PURE__ */ jsx99( + "path", + { + d: "M3.48682 8.9847H13.4801", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx99( + "path", + { + d: "M9.48877 4.99023L13.5134 8.99823L9.48877 13.0062", + stroke: "#4A596B", + strokeWidth: "1.5", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] + } +); +var arrow_right_icon_default = ArrowRightIcon; -// src/components/input/styles.ts -var input = { - background: "none", - border: "#F4F4F4", - color: "#545454", - fontSize: ["14px"], - width: "100%", - transition: "flex 0.3s", - outline: "none" -}; -var icon3 = { - minWidth: "16px", - minHeight: "16px", - width: "16px", - mr: "8px", - flex: 0, - maxWidth: "fit-content" -}; -var container10 = { - paddingLeft: "12px", - alignItems: "center", - justifyContent: "center", - background: "#F4F4F4", - width: "100%", - height: "40px", - borderRadius: "4px", - transition: "all 0.3s ease-out", - cursor: "pointer", - border: "1px solid #F4F4F4", - ":hover": { - transition: "all 0.3s ease-out", - border: "1px solid #3B3B3B" +// src/components/icons/long-arrow-icon.tsx +import { Icon as Icon66 } from "@vtex/brand-ui"; +import { jsx as jsx100, jsxs as jsxs82 } from "react/jsx-runtime"; +var LongArrowIcon = (props) => /* @__PURE__ */ jsxs82( + Icon66, + { + ...props, + viewBox: "0 0 24 24", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx100( + "path", + { + d: "M17.4431 6.05859L6 17.5017", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ), + /* @__PURE__ */ jsx100( + "path", + { + d: "M9.4082 6L17.4415 6.05664L17.4993 14.0911", + stroke: "#4A596B", + strokeWidth: "2", + strokeLinecap: "round", + strokeLinejoin: "round" + } + ) + ] } -}; -var styles_default26 = { container: container10, input, icon: icon3 }; +); +var long_arrow_icon_default = LongArrowIcon; -// src/components/input/index.tsx -import { Flex as Flex23 } from "@vtex/brand-ui"; -import { jsx as jsx64, jsxs as jsxs51 } from "react/jsx-runtime"; -var Input = ({ value, onChange, placeholder = "", Icon: Icon31 }) => { - const [inputValue, setInputValue] = useState16(value ?? ""); - useEffect13(() => { - if (inputValue !== value) - setInputValue(value); - }, [value]); - return /* @__PURE__ */ jsxs51(Flex23, { sx: styles_default26.container, children: [ - Icon31 && /* @__PURE__ */ jsx64(Icon31, { sx: styles_default26.icon }), - /* @__PURE__ */ jsx64( - "input", - { - style: styles_default26.input, - value: inputValue, - placeholder, - onChange: (e) => { - setInputValue(e.currentTarget.value); - onChange(e.currentTarget.value); +// src/components/icons/vtex-logo-footer.tsx +import { Icon as Icon67 } from "@vtex/brand-ui"; +import { jsx as jsx101, jsxs as jsxs83 } from "react/jsx-runtime"; +var VTEXLogoFooter = (props) => /* @__PURE__ */ jsxs83( + Icon67, + { + ...props, + viewBox: "0 0 61 22", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + children: [ + /* @__PURE__ */ jsx101( + "path", + { + d: "M23.667 0.000165906H4.55235C3.47417 -0.0137423 2.59101 0.848566 2.57987 1.92506C2.57708 2.25886 2.65788 2.58709 2.81668 2.87916L4.72787 6.49529H1.2621C0.560025 6.50086 -0.00553116 7.07387 4.08212e-05 7.77763C0.00282681 7.98069 0.0529747 8.18097 0.147698 8.36177L6.28245 19.9723C6.6112 20.5926 7.38013 20.8291 8.0042 20.5008C8.22986 20.3812 8.41374 20.1976 8.53354 19.9723L10.2051 16.8374L12.3002 20.7957C12.81 21.7526 13.9997 22.117 14.9608 21.6079C15.3063 21.4243 15.5905 21.1406 15.7743 20.7957L25.3386 2.80684C25.8345 1.87499 25.4779 0.717829 24.5446 0.222697C24.2744 0.0808334 23.9735 0.00294754 23.667 0.000165906ZM15.075 7.68583L10.9462 15.4466C10.7428 15.8611 10.2413 16.0308 9.82624 15.8249C9.66186 15.7442 9.52813 15.6107 9.44734 15.4466L5.3575 7.71921C5.13184 7.31866 5.27392 6.80962 5.67511 6.58152C5.80884 6.50642 5.96206 6.47026 6.11529 6.47582H14.3451C14.8076 6.48417 15.1726 6.86525 15.1642 7.327C15.1614 7.45218 15.1308 7.57457 15.075 7.68583Z", + fill: "white" } - } - ) - ] }); -}; -var input_default = Input; + ), + /* @__PURE__ */ jsx101( + "path", + { + d: "M43.5224 8.27831H41.3772V15.6246C41.3772 15.7637 41.263 15.8777 41.1237 15.8777H39.466C39.3267 15.8777 39.2125 15.7637 39.2125 15.6246V8.27831H37.0533C36.9196 8.28387 36.8054 8.18095 36.7998 8.04743C36.7998 8.04465 36.7998 8.04187 36.7998 8.03908V6.73728C36.8026 6.60376 36.9112 6.49527 37.045 6.49806C37.0478 6.49806 37.0505 6.49806 37.0533 6.49806H43.5224C43.6645 6.48415 43.7871 6.58985 43.801 6.72893C43.801 6.73171 43.801 6.7345 43.801 6.73728V8.03908C43.7926 8.18095 43.6701 8.28665 43.5308 8.27831C43.528 8.27831 43.5252 8.27831 43.5224 8.27831Z", + fill: "white" + } + ), + /* @__PURE__ */ jsx101( + "path", + { + d: "M50.3883 15.8056C49.5442 15.9252 48.6944 15.9808 47.8419 15.9697C46.2149 15.9697 44.7773 15.5524 44.7773 13.2604V9.08791C44.7773 6.79584 46.2288 6.39251 47.8559 6.39251C48.7028 6.38138 49.5525 6.43701 50.3911 6.55662C50.5666 6.58166 50.6419 6.64563 50.6419 6.80975V7.98082C50.6391 8.11712 50.5276 8.22839 50.3911 8.23117H47.7305C47.1371 8.23117 46.9226 8.43423 46.9226 9.08791V10.234H50.288C50.4273 10.234 50.5416 10.348 50.5416 10.4871V11.6832C50.5416 11.8223 50.4301 11.9335 50.2908 11.9335H50.288H46.9198V13.2687C46.9198 13.9252 47.1343 14.1255 47.7277 14.1255H50.3883C50.5276 14.1282 50.6391 14.2395 50.6391 14.3786V15.5497C50.6391 15.7054 50.5638 15.7805 50.3883 15.8056Z", + fill: "white" + } + ), + /* @__PURE__ */ jsx101( + "path", + { + d: "M59.93 15.8833H57.9185C57.7792 15.8945 57.6483 15.8194 57.587 15.6942L55.8429 12.9292L54.2633 15.633C54.1741 15.7832 54.0878 15.8833 53.9485 15.8833H52.0846C51.9927 15.8945 51.9091 15.8305 51.898 15.7415C51.898 15.7359 51.8952 15.7276 51.8952 15.7192C51.898 15.6886 51.9063 15.6608 51.9203 15.633L54.6645 11.0711L51.8952 6.73732C51.8813 6.71507 51.8729 6.69004 51.8701 6.66222C51.8785 6.56486 51.9621 6.49254 52.0596 6.4981H54.0989C54.2382 6.4981 54.3385 6.62328 54.4137 6.73732L56.0324 9.29087L57.5981 6.73732C57.6566 6.60937 57.7764 6.51757 57.9157 6.4981H59.7879C59.8854 6.49254 59.969 6.56486 59.9774 6.66222C59.9746 6.69004 59.9662 6.71507 59.9523 6.73732L57.1858 11.0989L60.0554 15.633C60.0777 15.6719 60.0916 15.7137 60.0944 15.7582C60.0944 15.8333 60.0303 15.8833 59.93 15.8833Z", + fill: "white" + } + ), + /* @__PURE__ */ jsx101( + "path", + { + d: "M33.7975 6.49536C33.7056 6.49536 33.6248 6.55934 33.6053 6.65113L31.7666 13.4383C31.7415 13.5774 31.7053 13.6275 31.591 13.6275C31.4768 13.6275 31.4378 13.5774 31.4127 13.4383L29.5768 6.65113C29.5573 6.55934 29.4765 6.49536 29.3845 6.49536H27.5681C27.4594 6.49536 27.373 6.58159 27.373 6.69008C27.373 6.70398 27.3758 6.72067 27.3786 6.73458C27.3786 6.73458 29.6213 14.5232 29.6464 14.5927C29.8916 15.4522 30.7051 16.0225 31.5966 15.9641C32.4826 16.0002 33.2794 15.4383 33.5468 14.5955C33.583 14.4898 35.7756 6.73458 35.7756 6.73458C35.8007 6.62888 35.7338 6.52596 35.6307 6.50092C35.6168 6.49814 35.6001 6.49536 35.5862 6.49536H33.7975Z", + fill: "white" + } + ) + ] + } +); +var vtex_logo_footer_default = VTEXLogoFooter; export { + api_guides_icon_default as APIGuidesIcon, + api_reference_icon_default as APIReferenceIcon, + added_icon_default as AddedIcon, + announcement_icon_default as AnnouncementIcon, + app_development_icon_default as AppDevelopmentIcon, + arrow_left_icon_default as ArrowLeftIcon, + arrow_right_icon_default as ArrowRightIcon, + caret_default as CaretIcon, + chatgpt_icon_default as ChatGPTIcon, + checkbox_default as CheckboxIcon, + claude_icon_default as ClaudeIcon, + close_filter_icon_default as CloseFilterIcon, + close_icon_default as CloseIcon, + community_icon_default as CommunityIcon, cookie_bar_default as CookieBar, + copilot_icon_default as CopilotIcon, + copy_icon_default as CopyIcon, copy_link_button_default as CopyLinkButton, + deprecated_icon_default as DeprecatedIcon, + developer_portal_icon_default as DeveloperPortalIcon, + documentation_updates_icon_default as DocumentationUpdatesIcon, + edit_icon_default as EditIcon, + email_icon_default as EmailIcon, + expanded_results_icon_default as ExpandedResultsIcon, + faq_icon_default as FAQIcon, + facebook_circle_icon_default as FacebookCircleIcon, + facebook_icon_default as FacebookIcon, feedback_section_default as FeedbackSection, + filter_icon_default as FilterIcon, + fixed_icon_default as FixedIcon, + gear_troubleshooting_icon_default as GearTroubleshootingIcon, + gemini_icon_default as GeminiIcon, + github_icon_default as GithubIcon, + graph_icon_default as GraphIcon, + grid_icon_default as GridIcon, hamburger_menu_default as HamburgerMenu, + helpcenter_icon_default as HelpCenterIcon, + improved_icon_default as ImprovedIcon, + info_icon_default as InfoIcon, input_default as Input, + instagram_icon_default as InstagramIcon, + known_issues_icon_default as KnownIssuesIcon, LibraryContext, libraryContext_default as LibraryContextProvider, + like_icon_default as LikeIcon, + like_selected_icon_default as LikeSelectedIcon, + link_icon_default as LinkIcon, + linkedin_circle_icon_default as LinkedinCircleIcon, + linkedin_icon_default as LinkedinIcon, + long_arrow_icon_default as LongArrowIcon, MarkdownRenderer_default as MarkdownRenderer, + megaphone_icon_default as MegaphoneIcon, + menu_icon_default as MenuIcon, + new_icon_default as NewIcon, + paper_icon_default as PaperIcon, + release_notes_icon_default as ReleaseNotesIcon, + removed_icon_default as RemovedIcon, + resize_icon_default as ResizeIcon, search_default2 as Search, search_config_default as SearchConfig, + search_icon_default as SearchIcon, SearchInput, share_button_default as ShareButton, + share_icon_default as ShareIcon, + sidebar_toggle_icon_default as SideBarToggleIcon, sidebar_default as Sidebar, - TableOfContents_default as TableOfContents + start_here_icon_default as StartHereIcon, + storefront_development_icon_default as StorefrontDevelopmentIcon, + TableOfContents_default as TableOfContents, + trashcan_icon_default as TrashcanIcon, + troubleshooting_icon_default as TroubleshootingIcon, + tutorials_icon_default as TutorialsIcon, + twitter_circle_icon_default as TwitterCircleIcon, + twitter_icon_default as TwitterIcon, + vtex_devportal_icon_default as VTEXDevPortalIcon, + vtex_helpcenter_icon_default as VTEXHelpCenterIcon, + vtex_io_apps_icon_default as VTEXIOAppsIcon, + vtex_logo_footer_default as VTEXLogoFooter, + warning_icon_default as WarningIcon, + youtube_icon_default as YoutubeIcon, + getDaysElapsed }; /*! Bundled license information: diff --git a/dist/index.mjs.map b/dist/index.mjs.map index f6e5532..0a2b799 100644 --- a/dist/index.mjs.map +++ b/dist/index.mjs.map @@ -1 +1,13 @@ -{"version":3,"sources":["../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../node_modules/prop-types/node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@algolia/cache-common/dist/cache-common.esm.js","../node_modules/@algolia/cache-in-memory/dist/cache-in-memory.esm.js","../node_modules/@algolia/client-analytics/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/requester-common/dist/requester-common.esm.js","../node_modules/@algolia/transporter/dist/transporter.esm.js","../node_modules/@algolia/client-analytics/dist/client-analytics.esm.js","../node_modules/algoliasearch/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/client-personalization/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/client-personalization/dist/client-personalization.esm.js","../node_modules/@algolia/client-search/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/client-search/dist/client-search.esm.js","../node_modules/@algolia/logger-common/dist/logger-common.esm.js","../node_modules/@algolia/recommend/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js","../node_modules/@algolia/recommend/dist/recommend.cjs.js","../node_modules/@algolia/recommend/index.js","../node_modules/algoliasearch/node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js","../node_modules/algoliasearch/dist/algoliasearch.cjs.js","../node_modules/algoliasearch/index.js","../node_modules/algoliasearch/lite.js","../src/lib/markdown-renderer/MarkdownRenderer.tsx","../src/lib/markdown-renderer/components.tsx","../src/components/overview-card/styles.ts","../src/components/overview-card/index.tsx","../src/components/overview-card/icons.tsx","../src/components/youtube-frame/index.tsx","../src/components/steps/index.tsx","../src/components/steps/styles.ts","../src/components/lightbox/index.tsx","../src/components/icons/close-icon.tsx","../src/utils/hooks/useClickOutside.ts","../src/components/lightbox/styles.ts","../src/components/whats-next-card/index.tsx","../src/components/whats-next-card/styles.ts","../src/utils/context/libraryContext.tsx","../src/utils/string-utils.ts","../src/utils/mermaidInit.ts","../src/lib/markdown-renderer/styles.module.css","../src/messages/en.json","../src/messages/es.json","../src/messages/pt.json","../src/utils/get-message.ts","../src/lib/table-of-contents/TableOfContents.tsx","../src/lib/table-of-contents/styles.ts","../src/lib/sidebar/index.tsx","../src/lib/sidebar/styles.ts","../src/lib/sidebar/functions.ts","../src/components/tooltip/index.tsx","../src/components/tooltip/styles.ts","../src/components/icons/caret.tsx","../src/utils/navigation-utils.ts","../src/utils/sidebar-utils.ts","../src/components/sidebar-section/index.tsx","../src/components/sidebar-section/styles.ts","../src/components/sidebar-section-filter/index.tsx","../src/components/method-category/index.tsx","../src/components/method-category/styles.ts","../src/components/method-category/functions.ts","../src/components/icons/close-filter-icon.tsx","../src/components/sidebar-section-filter/styles.ts","../src/components/sidebar-elements/index.tsx","../src/components/sidebar-elements/styles.ts","../src/components/sidebar-elements/functions.tsx","../src/components/icons/search-icon.tsx","../src/components/icons/sidebar-toggle-icon.tsx","../src/components/icons/arrow-left-icon.tsx","../src/lib/hamburger-menu/index.tsx","../src/lib/hamburger-menu/styles.ts","../src/components/documentation-card/index.tsx","../src/components/documentation-card/styles.ts","../src/components/documentation-card/functions.ts","../src/components/search-input/index.tsx","../src/components/search-input/search-box.tsx","../src/components/search-input/styles.ts","../src/components/search-input/results-box.tsx","../src/components/icons/api-guides-icon.tsx","../src/components/icons/api-reference-icon.tsx","../src/components/icons/app-development-icon.tsx","../src/components/icons/release-notes-icon.tsx","../src/components/icons/storefront-development-icon.tsx","../src/components/icons/vtex-io-apps-icon.tsx","../src/components/icons/troubleshooting-icon.tsx","../src/components/icons/added-icon.tsx","../src/components/icons/deprecated-icon.tsx","../src/components/icons/fixed-icon.tsx","../src/components/icons/improved-icon.tsx","../src/components/icons/removed-icon.tsx","../src/utils/search-utils.ts","../src/components/search-input/customHighlight.tsx","../src/utils/config/search-config.ts","../src/lib/feedback-section/index.tsx","../src/components/icons/edit-icon.tsx","../src/components/icons/like-icon.tsx","../src/components/icons/like-selected-icon.tsx","../src/lib/feedback-section/styles.ts","../src/components/share-button/index.tsx","../src/components/icons/facebook-icon.tsx","../src/components/icons/linkedin-icon.tsx","../src/components/icons/share-icon.tsx","../src/components/icons/twitter-icon.tsx","../src/components/share-button/styles.ts","../src/components/icons/email-icon.tsx","../src/components/icons/link-icon.tsx","../src/lib/search/index.tsx","../src/components/search-sections/index.tsx","../src/components/search-section/index.tsx","../src/components/search-section/styles.ts","../src/utils/context/search.tsx","../src/components/search-sections/styles.ts","../src/components/search-results/index.tsx","../src/components/search-results/infiniteHits.tsx","../src/components/search-card/index.tsx","../src/components/search-card/styles.ts","../src/components/icons/expanded-results-icon.tsx","../src/components/search-results/styles.ts","../src/components/search-filter-tab-bar/index.tsx","../src/components/search-filter-tab-bar/styles.ts","../src/lib/search/styles.ts","../src/lib/cookie-bar/index.tsx","../src/lib/cookie-bar/styles.ts","../src/components/copy-link-button/index.tsx","../src/components/icons/copy-icon.tsx","../src/components/copy-link-button/styles.ts","../src/components/input/index.tsx","../src/components/input/styles.ts"],"sourcesContent":["/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","// @todo Add logger on options to debug when caches go wrong.\r\nfunction createFallbackableCache(options) {\r\n const caches = [...options.caches];\r\n const current = caches.shift(); // eslint-disable-line functional/immutable-data\r\n if (current === undefined) {\r\n return createNullCache();\r\n }\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n return current.get(key, defaultValue, events).catch(() => {\r\n return createFallbackableCache({ caches }).get(key, defaultValue, events);\r\n });\r\n },\r\n set(key, value) {\r\n return current.set(key, value).catch(() => {\r\n return createFallbackableCache({ caches }).set(key, value);\r\n });\r\n },\r\n delete(key) {\r\n return current.delete(key).catch(() => {\r\n return createFallbackableCache({ caches }).delete(key);\r\n });\r\n },\r\n clear() {\r\n return current.clear().catch(() => {\r\n return createFallbackableCache({ caches }).clear();\r\n });\r\n },\r\n };\r\n}\n\nfunction createNullCache() {\r\n return {\r\n get(_key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const value = defaultValue();\r\n return value\r\n .then(result => Promise.all([result, events.miss(result)]))\r\n .then(([result]) => result);\r\n },\r\n set(_key, value) {\r\n return Promise.resolve(value);\r\n },\r\n delete(_key) {\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createFallbackableCache, createNullCache };\n","function createInMemoryCache(options = { serializable: true }) {\r\n // eslint-disable-next-line functional/no-let\r\n let cache = {};\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const keyAsString = JSON.stringify(key);\r\n if (keyAsString in cache) {\r\n return Promise.resolve(options.serializable ? JSON.parse(cache[keyAsString]) : cache[keyAsString]);\r\n }\r\n const promise = defaultValue();\r\n const miss = (events && events.miss) || (() => Promise.resolve());\r\n return promise.then((value) => miss(value)).then(() => promise);\r\n },\r\n set(key, value) {\r\n // eslint-disable-next-line functional/immutable-data\r\n cache[JSON.stringify(key)] = options.serializable ? JSON.stringify(value) : value;\r\n return Promise.resolve(value);\r\n },\r\n delete(key) {\r\n // eslint-disable-next-line functional/immutable-data\r\n delete cache[JSON.stringify(key)];\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n cache = {};\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createInMemoryCache };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","const MethodEnum = {\r\n Delete: 'DELETE',\r\n Get: 'GET',\r\n Post: 'POST',\r\n Put: 'PUT',\r\n};\n\nexport { MethodEnum };\n","import { MethodEnum } from '@algolia/requester-common';\n\nfunction createMappedRequestOptions(requestOptions, timeout) {\r\n const options = requestOptions || {};\r\n const data = options.data || {};\r\n Object.keys(options).forEach(key => {\r\n if (['timeout', 'headers', 'queryParameters', 'data', 'cacheable'].indexOf(key) === -1) {\r\n data[key] = options[key]; // eslint-disable-line functional/immutable-data\r\n }\r\n });\r\n return {\r\n data: Object.entries(data).length > 0 ? data : undefined,\r\n timeout: options.timeout || timeout,\r\n headers: options.headers || {},\r\n queryParameters: options.queryParameters || {},\r\n cacheable: options.cacheable,\r\n };\r\n}\n\nconst CallEnum = {\r\n /**\r\n * If the host is read only.\r\n */\r\n Read: 1,\r\n /**\r\n * If the host is write only.\r\n */\r\n Write: 2,\r\n /**\r\n * If the host is both read and write.\r\n */\r\n Any: 3,\r\n};\n\nconst HostStatusEnum = {\r\n Up: 1,\r\n Down: 2,\r\n Timeouted: 3,\r\n};\n\n// By default, API Clients at Algolia have expiration delay\r\n// of 5 mins. In the JavaScript client, we have 2 mins.\r\nconst EXPIRATION_DELAY = 2 * 60 * 1000;\r\nfunction createStatefulHost(host, status = HostStatusEnum.Up) {\r\n return {\r\n ...host,\r\n status,\r\n lastUpdate: Date.now(),\r\n };\r\n}\r\nfunction isStatefulHostUp(host) {\r\n return host.status === HostStatusEnum.Up || Date.now() - host.lastUpdate > EXPIRATION_DELAY;\r\n}\r\nfunction isStatefulHostTimeouted(host) {\r\n return (host.status === HostStatusEnum.Timeouted && Date.now() - host.lastUpdate <= EXPIRATION_DELAY);\r\n}\n\nfunction createStatelessHost(options) {\r\n if (typeof options === 'string') {\r\n return {\r\n protocol: 'https',\r\n url: options,\r\n accept: CallEnum.Any,\r\n };\r\n }\r\n return {\r\n protocol: options.protocol || 'https',\r\n url: options.url,\r\n accept: options.accept || CallEnum.Any,\r\n };\r\n}\n\nfunction createRetryableOptions(hostsCache, statelessHosts) {\r\n return Promise.all(statelessHosts.map(statelessHost => {\r\n return hostsCache.get(statelessHost, () => {\r\n return Promise.resolve(createStatefulHost(statelessHost));\r\n });\r\n })).then(statefulHosts => {\r\n const hostsUp = statefulHosts.filter(host => isStatefulHostUp(host));\r\n const hostsTimeouted = statefulHosts.filter(host => isStatefulHostTimeouted(host));\r\n /**\r\n * Note, we put the hosts that previously timeouted on the end of the list.\r\n */\r\n const hostsAvailable = [...hostsUp, ...hostsTimeouted];\r\n const statelessHostsAvailable = hostsAvailable.length > 0\r\n ? hostsAvailable.map(host => createStatelessHost(host))\r\n : statelessHosts;\r\n return {\r\n getTimeout(timeoutsCount, baseTimeout) {\r\n /**\r\n * Imagine that you have 4 hosts, if timeouts will increase\r\n * on the following way: 1 (timeouted) > 4 (timeouted) > 5 (200)\r\n *\r\n * Note that, the very next request, we start from the previous timeout\r\n *\r\n * 5 (timeouted) > 6 (timeouted) > 7 ...\r\n *\r\n * This strategy may need to be reviewed, but is the strategy on the our\r\n * current v3 version.\r\n */\r\n const timeoutMultiplier = hostsTimeouted.length === 0 && timeoutsCount === 0\r\n ? 1\r\n : hostsTimeouted.length + 3 + timeoutsCount;\r\n return timeoutMultiplier * baseTimeout;\r\n },\r\n statelessHosts: statelessHostsAvailable,\r\n };\r\n });\r\n}\n\nconst isNetworkError = ({ isTimedOut, status }) => {\r\n return !isTimedOut && ~~status === 0;\r\n};\r\nconst isRetryable = (response) => {\r\n const status = response.status;\r\n const isTimedOut = response.isTimedOut;\r\n return (isTimedOut || isNetworkError(response) || (~~(status / 100) !== 2 && ~~(status / 100) !== 4));\r\n};\r\nconst isSuccess = ({ status }) => {\r\n return ~~(status / 100) === 2;\r\n};\r\nconst retryDecision = (response, outcomes) => {\r\n if (isRetryable(response)) {\r\n return outcomes.onRetry(response);\r\n }\r\n if (isSuccess(response)) {\r\n return outcomes.onSuccess(response);\r\n }\r\n return outcomes.onFail(response);\r\n};\n\nfunction retryableRequest(transporter, statelessHosts, request, requestOptions) {\r\n const stackTrace = []; // eslint-disable-line functional/prefer-readonly-type\r\n /**\r\n * First we prepare the payload that do not depend from hosts.\r\n */\r\n const data = serializeData(request, requestOptions);\r\n const headers = serializeHeaders(transporter, requestOptions);\r\n const method = request.method;\r\n // On `GET`, the data is proxied to query parameters.\r\n const dataQueryParameters = request.method !== MethodEnum.Get\r\n ? {}\r\n : {\r\n ...request.data,\r\n ...requestOptions.data,\r\n };\r\n const queryParameters = {\r\n 'x-algolia-agent': transporter.userAgent.value,\r\n ...transporter.queryParameters,\r\n ...dataQueryParameters,\r\n ...requestOptions.queryParameters,\r\n };\r\n let timeoutsCount = 0; // eslint-disable-line functional/no-let\r\n const retry = (hosts, // eslint-disable-line functional/prefer-readonly-type\r\n getTimeout) => {\r\n /**\r\n * We iterate on each host, until there is no host left.\r\n */\r\n const host = hosts.pop(); // eslint-disable-line functional/immutable-data\r\n if (host === undefined) {\r\n throw createRetryError(stackTraceWithoutCredentials(stackTrace));\r\n }\r\n const payload = {\r\n data,\r\n headers,\r\n method,\r\n url: serializeUrl(host, request.path, queryParameters),\r\n connectTimeout: getTimeout(timeoutsCount, transporter.timeouts.connect),\r\n responseTimeout: getTimeout(timeoutsCount, requestOptions.timeout),\r\n };\r\n /**\r\n * The stackFrame is pushed to the stackTrace so we\r\n * can have information about onRetry and onFailure\r\n * decisions.\r\n */\r\n const pushToStackTrace = (response) => {\r\n const stackFrame = {\r\n request: payload,\r\n response,\r\n host,\r\n triesLeft: hosts.length,\r\n };\r\n // eslint-disable-next-line functional/immutable-data\r\n stackTrace.push(stackFrame);\r\n return stackFrame;\r\n };\r\n const decisions = {\r\n onSuccess: response => deserializeSuccess(response),\r\n onRetry(response) {\r\n const stackFrame = pushToStackTrace(response);\r\n /**\r\n * If response is a timeout, we increaset the number of\r\n * timeouts so we can increase the timeout later.\r\n */\r\n if (response.isTimedOut) {\r\n timeoutsCount++;\r\n }\r\n return Promise.all([\r\n /**\r\n * Failures are individually send the logger, allowing\r\n * the end user to debug / store stack frames even\r\n * when a retry error does not happen.\r\n */\r\n transporter.logger.info('Retryable failure', stackFrameWithoutCredentials(stackFrame)),\r\n /**\r\n * We also store the state of the host in failure cases. If the host, is\r\n * down it will remain down for the next 2 minutes. In a timeout situation,\r\n * this host will be added end of the list of hosts on the next request.\r\n */\r\n transporter.hostsCache.set(host, createStatefulHost(host, response.isTimedOut ? HostStatusEnum.Timeouted : HostStatusEnum.Down)),\r\n ]).then(() => retry(hosts, getTimeout));\r\n },\r\n onFail(response) {\r\n pushToStackTrace(response);\r\n throw deserializeFailure(response, stackTraceWithoutCredentials(stackTrace));\r\n },\r\n };\r\n return transporter.requester.send(payload).then(response => {\r\n return retryDecision(response, decisions);\r\n });\r\n };\r\n /**\r\n * Finally, for each retryable host perform request until we got a non\r\n * retryable response. Some notes here:\r\n *\r\n * 1. The reverse here is applied so we can apply a `pop` later on => more performant.\r\n * 2. We also get from the retryable options a timeout multiplier that is tailored\r\n * for the current context.\r\n */\r\n return createRetryableOptions(transporter.hostsCache, statelessHosts).then(options => {\r\n return retry([...options.statelessHosts].reverse(), options.getTimeout);\r\n });\r\n}\n\nfunction createTransporter(options) {\r\n const { hostsCache, logger, requester, requestsCache, responsesCache, timeouts, userAgent, hosts, queryParameters, headers, } = options;\r\n const transporter = {\r\n hostsCache,\r\n logger,\r\n requester,\r\n requestsCache,\r\n responsesCache,\r\n timeouts,\r\n userAgent,\r\n headers,\r\n queryParameters,\r\n hosts: hosts.map(host => createStatelessHost(host)),\r\n read(request, requestOptions) {\r\n /**\r\n * First, we compute the user request options. Now, keep in mind,\r\n * that using request options the user is able to modified the intire\r\n * payload of the request. Such as headers, query parameters, and others.\r\n */\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions, transporter.timeouts.read);\r\n const createRetryableRequest = () => {\r\n /**\r\n * Then, we prepare a function factory that contains the construction of\r\n * the retryable request. At this point, we may *not* perform the actual\r\n * request. But we want to have the function factory ready.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Read) !== 0), request, mappedRequestOptions);\r\n };\r\n /**\r\n * Once we have the function factory ready, we need to determine of the\r\n * request is \"cacheable\" - should be cached. Note that, once again,\r\n * the user can force this option.\r\n */\r\n const cacheable = mappedRequestOptions.cacheable !== undefined\r\n ? mappedRequestOptions.cacheable\r\n : request.cacheable;\r\n /**\r\n * If is not \"cacheable\", we immediatly trigger the retryable request, no\r\n * need to check cache implementations.\r\n */\r\n if (cacheable !== true) {\r\n return createRetryableRequest();\r\n }\r\n /**\r\n * If the request is \"cacheable\", we need to first compute the key to ask\r\n * the cache implementations if this request is on progress or if the\r\n * response already exists on the cache.\r\n */\r\n const key = {\r\n request,\r\n mappedRequestOptions,\r\n transporter: {\r\n queryParameters: transporter.queryParameters,\r\n headers: transporter.headers,\r\n },\r\n };\r\n /**\r\n * With the computed key, we first ask the responses cache\r\n * implemention if this request was been resolved before.\r\n */\r\n return transporter.responsesCache.get(key, () => {\r\n /**\r\n * If the request has never resolved before, we actually ask if there\r\n * is a current request with the same key on progress.\r\n */\r\n return transporter.requestsCache.get(key, () => {\r\n return (transporter.requestsCache\r\n /**\r\n * Finally, if there is no request in progress with the same key,\r\n * this `createRetryableRequest()` will actually trigger the\r\n * retryable request.\r\n */\r\n .set(key, createRetryableRequest())\r\n .then(response => Promise.all([transporter.requestsCache.delete(key), response]), err => Promise.all([transporter.requestsCache.delete(key), Promise.reject(err)]))\r\n .then(([_, response]) => response));\r\n });\r\n }, {\r\n /**\r\n * Of course, once we get this response back from the server, we\r\n * tell response cache to actually store the received response\r\n * to be used later.\r\n */\r\n miss: response => transporter.responsesCache.set(key, response),\r\n });\r\n },\r\n write(request, requestOptions) {\r\n /**\r\n * On write requests, no cache mechanisms are applied, and we\r\n * proxy the request immediately to the requester.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Write) !== 0), request, createMappedRequestOptions(requestOptions, transporter.timeouts.write));\r\n },\r\n };\r\n return transporter;\r\n}\n\nfunction createUserAgent(version) {\r\n const userAgent = {\r\n value: `Algolia for JavaScript (${version})`,\r\n add(options) {\r\n const addedUserAgent = `; ${options.segment}${options.version !== undefined ? ` (${options.version})` : ''}`;\r\n if (userAgent.value.indexOf(addedUserAgent) === -1) {\r\n // eslint-disable-next-line functional/immutable-data\r\n userAgent.value = `${userAgent.value}${addedUserAgent}`;\r\n }\r\n return userAgent;\r\n },\r\n };\r\n return userAgent;\r\n}\n\nfunction deserializeSuccess(response) {\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n return JSON.parse(response.content);\r\n }\r\n catch (e) {\r\n throw createDeserializationError(e.message, response);\r\n }\r\n}\r\nfunction deserializeFailure({ content, status }, stackFrame) {\r\n // eslint-disable-next-line functional/no-let\r\n let message = content;\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n message = JSON.parse(content).message;\r\n }\r\n catch (e) {\r\n // ..\r\n }\r\n return createApiError(message, status, stackFrame);\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nfunction serializeUrl(host, path, queryParameters) {\r\n const queryParametersAsString = serializeQueryParameters(queryParameters);\r\n // eslint-disable-next-line functional/no-let\r\n let url = `${host.protocol}://${host.url}/${path.charAt(0) === '/' ? path.substr(1) : path}`;\r\n if (queryParametersAsString.length) {\r\n url += `?${queryParametersAsString}`;\r\n }\r\n return url;\r\n}\r\nfunction serializeQueryParameters(parameters) {\r\n const isObjectOrArray = (value) => Object.prototype.toString.call(value) === '[object Object]' ||\r\n Object.prototype.toString.call(value) === '[object Array]';\r\n return Object.keys(parameters)\r\n .map(key => encode('%s=%s', key, isObjectOrArray(parameters[key]) ? JSON.stringify(parameters[key]) : parameters[key]))\r\n .join('&');\r\n}\r\nfunction serializeData(request, requestOptions) {\r\n if (request.method === MethodEnum.Get ||\r\n (request.data === undefined && requestOptions.data === undefined)) {\r\n return undefined;\r\n }\r\n const data = Array.isArray(request.data)\r\n ? request.data\r\n : { ...request.data, ...requestOptions.data };\r\n return JSON.stringify(data);\r\n}\r\nfunction serializeHeaders(transporter, requestOptions) {\r\n const headers = {\r\n ...transporter.headers,\r\n ...requestOptions.headers,\r\n };\r\n const serializedHeaders = {};\r\n Object.keys(headers).forEach(header => {\r\n const value = headers[header];\r\n // @ts-ignore\r\n // eslint-disable-next-line functional/immutable-data\r\n serializedHeaders[header.toLowerCase()] = value;\r\n });\r\n return serializedHeaders;\r\n}\n\nfunction stackTraceWithoutCredentials(stackTrace) {\r\n return stackTrace.map(stackFrame => stackFrameWithoutCredentials(stackFrame));\r\n}\r\nfunction stackFrameWithoutCredentials(stackFrame) {\r\n const modifiedHeaders = stackFrame.request.headers['x-algolia-api-key']\r\n ? { 'x-algolia-api-key': '*****' }\r\n : {};\r\n return {\r\n ...stackFrame,\r\n request: {\r\n ...stackFrame.request,\r\n headers: {\r\n ...stackFrame.request.headers,\r\n ...modifiedHeaders,\r\n },\r\n },\r\n };\r\n}\n\nfunction createApiError(message, status, transporterStackTrace) {\r\n return {\r\n name: 'ApiError',\r\n message,\r\n status,\r\n transporterStackTrace,\r\n };\r\n}\n\nfunction createDeserializationError(message, response) {\r\n return {\r\n name: 'DeserializationError',\r\n message,\r\n response,\r\n };\r\n}\n\nfunction createRetryError(transporterStackTrace) {\r\n return {\r\n name: 'RetryError',\r\n message: 'Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support .',\r\n transporterStackTrace,\r\n };\r\n}\n\nexport { CallEnum, HostStatusEnum, createApiError, createDeserializationError, createMappedRequestOptions, createRetryError, createStatefulHost, createStatelessHost, createTransporter, createUserAgent, deserializeFailure, deserializeSuccess, isStatefulHostTimeouted, isStatefulHostUp, serializeData, serializeHeaders, serializeQueryParameters, serializeUrl, stackFrameWithoutCredentials, stackTraceWithoutCredentials };\n","import { createAuth, AuthMode, addMethods, encode } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createAnalyticsClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `analytics.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const appId = options.appId;\r\n return addMethods({ appId, transporter }, options.methods);\r\n};\n\nconst addABTest = (base) => {\r\n return (abTest, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '2/abtests',\r\n data: abTest,\r\n }, requestOptions);\r\n };\r\n};\n\nconst deleteABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTests = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '2/abtests',\r\n }, requestOptions);\r\n };\r\n};\n\nconst stopABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('2/abtests/%s/stop', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nexport { addABTest, createAnalyticsClient, deleteABTest, getABTest, getABTests, stopABTest };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","import { createAuth, AuthMode, addMethods } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createPersonalizationClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `personalization.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n return addMethods({ appId: options.appId, transporter }, options.methods);\r\n};\n\nconst getPersonalizationStrategy = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/strategies/personalization',\r\n }, requestOptions);\r\n };\r\n};\n\nconst setPersonalizationStrategy = (base) => {\r\n return (personalizationStrategy, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/strategies/personalization',\r\n data: personalizationStrategy,\r\n }, requestOptions);\r\n };\r\n};\n\nexport { createPersonalizationClient, getPersonalizationStrategy, setPersonalizationStrategy };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","import { createAuth, AuthMode, shuffle, addMethods, createWaitablePromise, createRetryablePromise, encode } from '@algolia/client-common';\nimport { createTransporter, CallEnum, createMappedRequestOptions, serializeQueryParameters } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\nimport { createHmac } from 'crypto';\n\nfunction createBrowsablePromise(options) {\r\n const browse = (data) => {\r\n return options.request(data).then(response => {\r\n /**\r\n * First we send to the developer the\r\n * batch retrieved from the API.\r\n */\r\n if (options.batch !== undefined) {\r\n options.batch(response.hits);\r\n }\r\n /**\r\n * Then, we ask to the browse concrete implementation\r\n * if we should stop browsing. As example, the `browseObjects`\r\n * method will stop if the cursor is not present on the response.\r\n */\r\n if (options.shouldStop(response)) {\r\n return undefined;\r\n }\r\n /**\r\n * Finally, if the response contains a cursor, we browse to the next\r\n * batch using that same cursor. Otherwise, we just use the traditional\r\n * browsing using the page element.\r\n */\r\n if (response.cursor) {\r\n return browse({\r\n cursor: response.cursor,\r\n });\r\n }\r\n return browse({\r\n page: (data.page || 0) + 1,\r\n });\r\n });\r\n };\r\n return browse({});\r\n}\n\nconst createSearchClient = options => {\r\n const appId = options.appId;\r\n const auth = createAuth(options.authMode !== undefined ? options.authMode : AuthMode.WithinHeaders, appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [\r\n { url: `${appId}-dsn.algolia.net`, accept: CallEnum.Read },\r\n { url: `${appId}.algolia.net`, accept: CallEnum.Write },\r\n ].concat(shuffle([\r\n { url: `${appId}-1.algolianet.com` },\r\n { url: `${appId}-2.algolianet.com` },\r\n { url: `${appId}-3.algolianet.com` },\r\n ])),\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/x-www-form-urlencoded' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const base = {\r\n transporter,\r\n appId,\r\n addAlgoliaAgent(segment, version) {\r\n transporter.userAgent.add({ segment, version });\r\n },\r\n clearCache() {\r\n return Promise.all([\r\n transporter.requestsCache.clear(),\r\n transporter.responsesCache.clear(),\r\n ]).then(() => undefined);\r\n },\r\n };\r\n return addMethods(base, options.methods);\r\n};\n\nfunction createMissingObjectIDError() {\r\n return {\r\n name: 'MissingObjectIDError',\r\n message: 'All objects must have an unique objectID ' +\r\n '(like a primary key) to be valid. ' +\r\n 'Algolia is also able to generate objectIDs ' +\r\n \"automatically but *it's not recommended*. \" +\r\n \"To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.\",\r\n };\r\n}\n\nfunction createObjectNotFoundError() {\r\n return {\r\n name: 'ObjectNotFoundError',\r\n message: 'Object not found.',\r\n };\r\n}\n\nfunction createValidUntilNotFoundError() {\r\n return {\r\n name: 'ValidUntilNotFoundError',\r\n message: 'ValidUntil not found in given secured api key.',\r\n };\r\n}\n\nconst addApiKey = (base) => {\r\n return (acl, requestOptions) => {\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = {\r\n acl,\r\n ...(queryParameters !== undefined ? { queryParameters } : {}),\r\n };\r\n const wait = (response, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(response.key, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/keys',\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst assignUserID = (base) => {\r\n return (userID, clusterName, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping',\r\n data: { cluster: clusterName },\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst assignUserIDs = (base) => {\r\n return (userIDs, clusterName, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/batch',\r\n data: {\r\n users: userIDs,\r\n cluster: clusterName,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst clearDictionaryEntries = (base) => {\r\n return (dictionary, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: {\r\n clearExistingDictionaryEntries: true,\r\n requests: { action: 'addEntry', body: [] },\r\n },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst copyIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'copy',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst copyRules = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Rules],\r\n });\r\n };\r\n};\n\nconst copySettings = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Settings],\r\n });\r\n };\r\n};\n\nconst copySynonyms = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Synonyms],\r\n });\r\n };\r\n};\n\nconst customRequest = (base) => {\r\n return (request, requestOptions) => {\r\n if (request.method === MethodEnum.Get) {\r\n return base.transporter.read(request, requestOptions);\r\n }\r\n return base.transporter.write(request, requestOptions);\r\n };\r\n};\n\nconst deleteApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions)\r\n .then(retry)\r\n .catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst deleteDictionaryEntries = (base) => {\r\n return (dictionary, objectIDs, requestOptions) => {\r\n const requests = objectIDs.map(objectID => ({\r\n action: 'deleteEntry',\r\n body: { objectID },\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst generateSecuredApiKey = () => {\r\n return (parentApiKey, restrictions) => {\r\n const queryParameters = serializeQueryParameters(restrictions);\r\n const securedKey = createHmac('sha256', parentApiKey)\r\n .update(queryParameters)\r\n .digest('hex');\r\n return Buffer.from(securedKey + queryParameters).toString('base64');\r\n };\r\n};\n\nconst getApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/task/%s', taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getDictionarySettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '/1/dictionaries/*/settings',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getLogs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/logs',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSecuredApiKeyRemainingValidity = () => {\r\n return (securedApiKey) => {\r\n const decodedString = Buffer.from(securedApiKey, 'base64').toString('ascii');\r\n const regex = /validUntil=(\\d+)/;\r\n const match = decodedString.match(regex);\r\n if (match === null) {\r\n throw createValidUntilNotFoundError();\r\n }\r\n return parseInt(match[1], 10) - Math.round(new Date().getTime() / 1000);\r\n };\r\n};\n\nconst getTopUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/top',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/clusters/mapping/%s', userID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst hasPendingMappings = (base) => {\r\n return (requestOptions) => {\r\n const { retrieveMappings, ...options } = requestOptions || {};\r\n if (retrieveMappings === true) {\r\n // eslint-disable-next-line functional/immutable-data\r\n options.getClusters = true;\r\n }\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/pending',\r\n }, options);\r\n };\r\n};\n\nconst initIndex = (base) => {\r\n return (indexName, options = {}) => {\r\n const searchIndex = {\r\n transporter: base.transporter,\r\n appId: base.appId,\r\n indexName,\r\n };\r\n return addMethods(searchIndex, options.methods);\r\n };\r\n};\n\nconst listApiKeys = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/keys',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listClusters = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listIndices = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/indexes',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping',\r\n }, requestOptions);\r\n };\r\n};\n\nconst moveIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'move',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleBatch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return Promise.all(Object.keys(response.taskID).map(indexName => {\r\n return initIndex(base)(indexName, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID[indexName], waitRequestOptions);\r\n }));\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/batch',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleGetObjects = (base) => {\r\n return (requests, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleQueries = (base) => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => {\r\n return {\r\n ...query,\r\n params: serializeQueryParameters(query.params || {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/queries',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleSearchForFacetValues = (base) => {\r\n return (queries, requestOptions) => {\r\n return Promise.all(queries.map(query => {\r\n const { facetName, facetQuery, ...params } = query.params;\r\n return initIndex(base)(query.indexName, {\r\n methods: { searchForFacetValues },\r\n }).searchForFacetValues(facetName, facetQuery, {\r\n ...requestOptions,\r\n ...params,\r\n });\r\n }));\r\n };\r\n};\n\nconst removeUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: '1/clusters/mapping',\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst replaceDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: true, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst restoreApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/keys/%s/restore', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst saveDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst searchDictionaryEntries = (base) => {\r\n return (dictionary, query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/search', dictionary),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchUserIDs = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/search',\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setDictionarySettings = (base) => {\r\n return (settings, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: '/1/dictionaries/*/settings',\r\n data: settings,\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst updateApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const updatedFields = Object.assign({}, requestOptions);\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = queryParameters ? { queryParameters } : {};\r\n const apiKeyFields = [\r\n 'acl',\r\n 'indexes',\r\n 'referers',\r\n 'restrictSources',\r\n 'queryParameters',\r\n 'description',\r\n 'maxQueriesPerIPPerHour',\r\n 'maxHitsPerQuery',\r\n ];\r\n // Check that all the fields retrieved through getApiKey are the same as the ones we wanted to update\r\n const hasChanged = (getApiKeyResponse) => {\r\n return Object.keys(updatedFields)\r\n .filter((updatedField) => apiKeyFields.indexOf(updatedField) !== -1)\r\n .every(updatedField => {\r\n // If the field is an array, we need to check that they are the same length and that all the values are the same\r\n if (Array.isArray(getApiKeyResponse[updatedField]) &&\r\n Array.isArray(updatedFields[updatedField])) {\r\n const getApiKeyResponseArray = getApiKeyResponse[updatedField];\r\n return (getApiKeyResponseArray.length === updatedFields[updatedField].length &&\r\n getApiKeyResponseArray.every((value, index) => value === updatedFields[updatedField][index]));\r\n }\r\n else {\r\n return getApiKeyResponse[updatedField] === updatedFields[updatedField];\r\n }\r\n });\r\n };\r\n const wait = (_, waitRequestOptions) => createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).then(getApiKeyResponse => {\r\n return hasChanged(getApiKeyResponse) ? Promise.resolve() : retry();\r\n });\r\n });\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/keys/%s', apiKey),\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst waitAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getAppTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst batch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return waitTask(base)(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/batch', base.indexName),\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst browseObjects = (base) => {\r\n return (requestOptions) => {\r\n return createBrowsablePromise({\r\n shouldStop: response => response.cursor === undefined,\r\n ...requestOptions,\r\n request: (data) => base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/browse', base.indexName),\r\n data,\r\n }, requestOptions),\r\n });\r\n };\r\n};\n\nconst browseRules = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchRules(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(rule => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete rule._highlightResult;\r\n return rule;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst browseSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchSynonyms(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(synonym => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete synonym._highlightResult;\r\n return synonym;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst chunkedBatch = (base) => {\r\n return (bodies, action, requestOptions) => {\r\n const { batchSize, ...options } = requestOptions || {};\r\n const response = {\r\n taskIDs: [],\r\n objectIDs: [],\r\n };\r\n const forEachBatch = (lastIndex = 0) => {\r\n // eslint-disable-next-line functional/prefer-readonly-type\r\n const bodiesChunk = [];\r\n // eslint-disable-next-line functional/no-let\r\n let index;\r\n /* eslint-disable-next-line functional/no-loop-statement */\r\n for (index = lastIndex; index < bodies.length; index++) {\r\n // eslint-disable-next-line functional/immutable-data\r\n bodiesChunk.push(bodies[index]);\r\n if (bodiesChunk.length === (batchSize || 1000)) {\r\n break;\r\n }\r\n }\r\n if (bodiesChunk.length === 0) {\r\n return Promise.resolve(response);\r\n }\r\n return batch(base)(bodiesChunk.map(body => {\r\n return {\r\n action,\r\n body,\r\n };\r\n }), options).then(res => {\r\n response.objectIDs = response.objectIDs.concat(res.objectIDs); // eslint-disable-line functional/immutable-data\r\n response.taskIDs.push(res.taskID); // eslint-disable-line functional/immutable-data\r\n index++;\r\n return forEachBatch(index);\r\n });\r\n };\r\n return createWaitablePromise(forEachBatch(), (chunkedBatchResponse, waitRequestOptions) => {\r\n return Promise.all(chunkedBatchResponse.taskIDs.map(taskID => {\r\n return waitTask(base)(taskID, waitRequestOptions);\r\n }));\r\n });\r\n };\r\n};\n\nconst clearObjects = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/clear', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearRules = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteBy = (base) => {\r\n return (filters, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/deleteByQuery', base.indexName),\r\n data: filters,\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteIndex = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return createWaitablePromise(deleteObjects(base)([objectID], requestOptions).then(response => {\r\n return { taskID: response.taskIDs[0] };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const objects = objectIDs.map(objectID => {\r\n return { objectID };\r\n });\r\n return chunkedBatch(base)(objects, BatchActionEnum.DeleteObject, requestOptions);\r\n };\r\n};\n\nconst deleteRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/synonyms/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst exists = (base) => {\r\n return (requestOptions) => {\r\n return getSettings(base)(requestOptions)\r\n .then(() => true)\r\n .catch(error => {\r\n if (error.status !== 404) {\r\n throw error;\r\n }\r\n return false;\r\n });\r\n };\r\n};\n\nconst findAnswers = (base) => {\r\n return (query, queryLanguages, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/answers/%s/prediction', base.indexName),\r\n data: {\r\n query,\r\n queryLanguages,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst findObject = (base) => {\r\n return (callback, requestOptions) => {\r\n const { query, paginate, ...options } = requestOptions || {};\r\n // eslint-disable-next-line functional/no-let\r\n let page = 0;\r\n const forEachPage = () => {\r\n return search(base)(query || '', { ...options, page }).then(result => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(result.hits)) {\r\n // eslint-disable-next-line promise/no-callback-in-promise\r\n if (callback(hit)) {\r\n return {\r\n object: hit,\r\n position: parseInt(position, 10),\r\n page,\r\n };\r\n }\r\n }\r\n page++;\r\n // paginate if option was set and has next page\r\n if (paginate === false || page >= result.nbPages) {\r\n throw createObjectNotFoundError();\r\n }\r\n return forEachPage();\r\n });\r\n };\r\n return forEachPage();\r\n };\r\n};\n\nconst getObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getObjectPosition = () => {\r\n return (searchResponse, objectID) => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(searchResponse.hits)) {\r\n if (hit.objectID === objectID) {\r\n return parseInt(position, 10);\r\n }\r\n }\r\n return -1;\r\n };\r\n};\n\nconst getObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const { attributesToRetrieve, ...options } = requestOptions || {};\r\n const requests = objectIDs.map(objectID => {\r\n return {\r\n indexName: base.indexName,\r\n objectID,\r\n ...(attributesToRetrieve ? { attributesToRetrieve } : {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, options);\r\n };\r\n};\n\nconst getRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: {\r\n getVersion: 2,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode(`1/indexes/%s/synonyms/%s`, base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/task/%s', base.indexName, taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst partialUpdateObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(partialUpdateObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst partialUpdateObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { createIfNotExists, ...options } = requestOptions || {};\r\n const action = createIfNotExists\r\n ? BatchActionEnum.PartialUpdateObject\r\n : BatchActionEnum.PartialUpdateObjectNoCreate;\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst replaceAllObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { safe, autoGenerateObjectIDIfNotExist, batchSize, ...options } = requestOptions || {};\r\n const operation = (from, to, type, operationRequestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: type,\r\n destination: to,\r\n },\r\n }, operationRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n const randomSuffix = Math.random()\r\n .toString(36)\r\n .substring(7);\r\n const temporaryIndexName = `${base.indexName}_tmp_${randomSuffix}`;\r\n const saveObjectsInTemporary = saveObjects({\r\n appId: base.appId,\r\n transporter: base.transporter,\r\n indexName: temporaryIndexName,\r\n });\r\n // @ts-ignore\r\n // eslint-disable-next-line prefer-const, functional/no-let, functional/prefer-readonly-type\r\n let responses = [];\r\n const copyWaitablePromise = operation(base.indexName, temporaryIndexName, 'copy', {\r\n ...options,\r\n scope: ['settings', 'synonyms', 'rules'],\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(copyWaitablePromise);\r\n const result = (safe\r\n ? copyWaitablePromise.wait(options)\r\n : copyWaitablePromise)\r\n .then(() => {\r\n const saveObjectsWaitablePromise = saveObjectsInTemporary(objects, {\r\n ...options,\r\n autoGenerateObjectIDIfNotExist,\r\n batchSize,\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(saveObjectsWaitablePromise);\r\n return safe ? saveObjectsWaitablePromise.wait(options) : saveObjectsWaitablePromise;\r\n })\r\n .then(() => {\r\n const moveWaitablePromise = operation(temporaryIndexName, base.indexName, 'move', options);\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(moveWaitablePromise);\r\n return safe ? moveWaitablePromise.wait(options) : moveWaitablePromise;\r\n })\r\n .then(() => Promise.all(responses))\r\n .then(([copyResponse, saveObjectsResponse, moveResponse]) => {\r\n return {\r\n objectIDs: saveObjectsResponse.objectIDs,\r\n taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID],\r\n };\r\n });\r\n return createWaitablePromise(result, (_, waitRequestOptions) => {\r\n return Promise.all(responses.map(response => response.wait(waitRequestOptions)));\r\n });\r\n };\r\n};\n\nconst replaceAllRules = (base) => {\r\n return (rules, requestOptions) => {\r\n return saveRules(base)(rules, {\r\n ...requestOptions,\r\n clearExistingRules: true,\r\n });\r\n };\r\n};\n\nconst replaceAllSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n return saveSynonyms(base)(synonyms, {\r\n ...requestOptions,\r\n clearExistingSynonyms: true,\r\n });\r\n };\r\n};\n\nconst saveObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(saveObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { autoGenerateObjectIDIfNotExist, ...options } = requestOptions || {};\r\n const action = autoGenerateObjectIDIfNotExist\r\n ? BatchActionEnum.AddObject\r\n : BatchActionEnum.UpdateObject;\r\n if (action === BatchActionEnum.UpdateObject) {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const object of objects) {\r\n if (object.objectID === undefined) {\r\n return createWaitablePromise(Promise.reject(createMissingObjectIDError()));\r\n }\r\n }\r\n }\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst saveRule = (base) => {\r\n return (rule, requestOptions) => {\r\n return saveRules(base)([rule], requestOptions);\r\n };\r\n};\n\nconst saveRules = (base) => {\r\n return (rules, requestOptions) => {\r\n const { forwardToReplicas, clearExistingRules, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (clearExistingRules) {\r\n mappedRequestOptions.queryParameters.clearExistingRules = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/batch', base.indexName),\r\n data: rules,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveSynonym = (base) => {\r\n return (synonym, requestOptions) => {\r\n return saveSynonyms(base)([synonym], requestOptions);\r\n };\r\n};\n\nconst saveSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n const { forwardToReplicas, clearExistingSynonyms, replaceExistingSynonyms, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (replaceExistingSynonyms || clearExistingSynonyms) {\r\n mappedRequestOptions.queryParameters.replaceExistingSynonyms = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/batch', base.indexName),\r\n data: synonyms,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst search = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/query', base.indexName),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchForFacetValues = (base) => {\r\n return (facetName, facetQuery, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/facets/%s/query', base.indexName, facetName),\r\n data: {\r\n facetQuery,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchRules = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchSynonyms = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setSettings = (base) => {\r\n return (settings, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: settings,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst waitTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst ApiKeyACLEnum = {\r\n AddObject: 'addObject',\r\n Analytics: 'analytics',\r\n Browser: 'browse',\r\n DeleteIndex: 'deleteIndex',\r\n DeleteObject: 'deleteObject',\r\n EditSettings: 'editSettings',\r\n Inference: 'inference',\r\n ListIndexes: 'listIndexes',\r\n Logs: 'logs',\r\n Personalization: 'personalization',\r\n Recommendation: 'recommendation',\r\n Search: 'search',\r\n SeeUnretrievableAttributes: 'seeUnretrievableAttributes',\r\n Settings: 'settings',\r\n Usage: 'usage',\r\n};\n\nconst BatchActionEnum = {\r\n AddObject: 'addObject',\r\n UpdateObject: 'updateObject',\r\n PartialUpdateObject: 'partialUpdateObject',\r\n PartialUpdateObjectNoCreate: 'partialUpdateObjectNoCreate',\r\n DeleteObject: 'deleteObject',\r\n DeleteIndex: 'delete',\r\n ClearIndex: 'clear',\r\n};\n\nconst ScopeEnum = {\r\n Settings: 'settings',\r\n Synonyms: 'synonyms',\r\n Rules: 'rules',\r\n};\n\nconst StrategyEnum = {\r\n None: 'none',\r\n StopIfEnoughMatches: 'stopIfEnoughMatches',\r\n};\n\nconst SynonymEnum = {\r\n Synonym: 'synonym',\r\n OneWaySynonym: 'oneWaySynonym',\r\n AltCorrection1: 'altCorrection1',\r\n AltCorrection2: 'altCorrection2',\r\n Placeholder: 'placeholder',\r\n};\n\nexport { ApiKeyACLEnum, BatchActionEnum, ScopeEnum, StrategyEnum, SynonymEnum, addApiKey, assignUserID, assignUserIDs, batch, browseObjects, browseRules, browseSynonyms, chunkedBatch, clearDictionaryEntries, clearObjects, clearRules, clearSynonyms, copyIndex, copyRules, copySettings, copySynonyms, createBrowsablePromise, createMissingObjectIDError, createObjectNotFoundError, createSearchClient, createValidUntilNotFoundError, customRequest, deleteApiKey, deleteBy, deleteDictionaryEntries, deleteIndex, deleteObject, deleteObjects, deleteRule, deleteSynonym, exists, findAnswers, findObject, generateSecuredApiKey, getApiKey, getAppTask, getDictionarySettings, getLogs, getObject, getObjectPosition, getObjects, getRule, getSecuredApiKeyRemainingValidity, getSettings, getSynonym, getTask, getTopUserIDs, getUserID, hasPendingMappings, initIndex, listApiKeys, listClusters, listIndices, listUserIDs, moveIndex, multipleBatch, multipleGetObjects, multipleQueries, multipleSearchForFacetValues, partialUpdateObject, partialUpdateObjects, removeUserID, replaceAllObjects, replaceAllRules, replaceAllSynonyms, replaceDictionaryEntries, restoreApiKey, saveDictionaryEntries, saveObject, saveObjects, saveRule, saveRules, saveSynonym, saveSynonyms, search, searchDictionaryEntries, searchForFacetValues, searchRules, searchSynonyms, searchUserIDs, setDictionarySettings, setSettings, updateApiKey, waitAppTask, waitTask };\n","function createNullLogger() {\r\n return {\r\n debug(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n info(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n error(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nconst LogLevelEnum = {\r\n Debug: 1,\r\n Info: 2,\r\n Error: 3,\r\n};\n\nexport { LogLevelEnum, createNullLogger };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","import * as http from 'http';\nimport { Agent } from 'http';\nimport * as https from 'https';\nimport { Agent as Agent$1 } from 'https';\nimport { parse } from 'url';\n\n/* eslint functional/prefer-readonly-type: 0 */\r\nconst agentOptions = { keepAlive: true };\r\nconst defaultHttpAgent = new Agent(agentOptions);\r\nconst defaultHttpsAgent = new Agent$1(agentOptions);\r\nfunction createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {}, } = {}) {\r\n const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;\r\n const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;\r\n return {\r\n send(request) {\r\n return new Promise(resolve => {\r\n const url = parse(request.url);\r\n const path = url.query === null ? url.pathname : `${url.pathname}?${url.query}`;\r\n const options = {\r\n ...requesterOptions,\r\n agent: url.protocol === 'https:' ? httpsAgent : httpAgent,\r\n hostname: url.hostname,\r\n path,\r\n method: request.method,\r\n headers: {\r\n ...(requesterOptions && requesterOptions.headers ? requesterOptions.headers : {}),\r\n ...request.headers,\r\n },\r\n ...(url.port !== undefined ? { port: url.port || '' } : {}),\r\n };\r\n const req = (url.protocol === 'https:' ? https : http).request(options, response => {\r\n // eslint-disable-next-line functional/no-let\r\n let contentBuffers = [];\r\n response.on('data', chunk => {\r\n contentBuffers = contentBuffers.concat(chunk);\r\n });\r\n response.on('end', () => {\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(connectTimeout);\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(responseTimeout);\r\n resolve({\r\n status: response.statusCode || 0,\r\n content: Buffer.concat(contentBuffers).toString(),\r\n isTimedOut: false,\r\n });\r\n });\r\n });\r\n const createTimeout = (timeout, content) => {\r\n return setTimeout(() => {\r\n req.abort();\r\n resolve({\r\n status: 0,\r\n content,\r\n isTimedOut: true,\r\n });\r\n }, timeout * 1000);\r\n };\r\n const connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout');\r\n // eslint-disable-next-line functional/no-let\r\n let responseTimeout;\r\n req.on('error', error => {\r\n clearTimeout(connectTimeout);\r\n clearTimeout(responseTimeout);\r\n resolve({ status: 0, content: error.message, isTimedOut: false });\r\n });\r\n req.once('response', () => {\r\n clearTimeout(connectTimeout);\r\n responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout');\r\n });\r\n if (request.data !== undefined) {\r\n req.write(request.data);\r\n }\r\n req.end();\r\n });\r\n },\r\n destroy() {\r\n httpAgent.destroy();\r\n httpsAgent.destroy();\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createNodeHttpRequester };\n","'use strict';\n\nvar cacheCommon = require('@algolia/cache-common');\nvar cacheInMemory = require('@algolia/cache-in-memory');\nvar clientCommon = require('@algolia/client-common');\nvar loggerCommon = require('@algolia/logger-common');\nvar requesterNodeHttp = require('@algolia/requester-node-http');\nvar transporter = require('@algolia/transporter');\nvar requesterCommon = require('@algolia/requester-common');\n\nconst createRecommendClient = options => {\r\n const appId = options.appId;\r\n const auth = clientCommon.createAuth(options.authMode !== undefined ? options.authMode : clientCommon.AuthMode.WithinHeaders, appId, options.apiKey);\r\n const transporter$1 = transporter.createTransporter({\r\n hosts: [\r\n { url: `${appId}-dsn.algolia.net`, accept: transporter.CallEnum.Read },\r\n { url: `${appId}.algolia.net`, accept: transporter.CallEnum.Write },\r\n ].concat(clientCommon.shuffle([\r\n { url: `${appId}-1.algolianet.com` },\r\n { url: `${appId}-2.algolianet.com` },\r\n { url: `${appId}-3.algolianet.com` },\r\n ])),\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/x-www-form-urlencoded' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const base = {\r\n transporter: transporter$1,\r\n appId,\r\n addAlgoliaAgent(segment, version) {\r\n transporter$1.userAgent.add({ segment, version });\r\n },\r\n clearCache() {\r\n return Promise.all([\r\n transporter$1.requestsCache.clear(),\r\n transporter$1.responsesCache.clear(),\r\n ]).then(() => undefined);\r\n },\r\n };\r\n return clientCommon.addMethods(base, options.methods);\r\n};\n\nconst getRecommendations = base => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => ({\r\n ...query,\r\n // The `threshold` param is required by the endpoint to make it easier\r\n // to provide a default value later, so we default it in the client\r\n // so that users don't have to provide a value.\r\n threshold: query.threshold || 0,\r\n }));\r\n return base.transporter.read({\r\n method: requesterCommon.MethodEnum.Post,\r\n path: '1/indexes/*/recommendations',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst getFrequentlyBoughtTogether = base => {\r\n return (queries, requestOptions) => {\r\n return getRecommendations(base)(queries.map(query => ({\r\n ...query,\r\n fallbackParameters: {},\r\n model: 'bought-together',\r\n })), requestOptions);\r\n };\r\n};\n\nconst getRelatedProducts = base => {\r\n return (queries, requestOptions) => {\r\n return getRecommendations(base)(queries.map(query => ({\r\n ...query,\r\n model: 'related-products',\r\n })), requestOptions);\r\n };\r\n};\n\nconst getTrendingFacets = base => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => ({\r\n ...query,\r\n model: 'trending-facets',\r\n // The `threshold` param is required by the endpoint to make it easier\r\n // to provide a default value later, so we default it in the client\r\n // so that users don't have to provide a value.\r\n threshold: query.threshold || 0,\r\n }));\r\n return base.transporter.read({\r\n method: requesterCommon.MethodEnum.Post,\r\n path: '1/indexes/*/recommendations',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst getTrendingItems = base => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => ({\r\n ...query,\r\n model: 'trending-items',\r\n // The `threshold` param is required by the endpoint to make it easier\r\n // to provide a default value later, so we default it in the client\r\n // so that users don't have to provide a value.\r\n threshold: query.threshold || 0,\r\n }));\r\n return base.transporter.read({\r\n method: requesterCommon.MethodEnum.Post,\r\n path: '1/indexes/*/recommendations',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst getLookingSimilar = base => {\r\n return (queries, requestOptions) => {\r\n return getRecommendations(base)(queries.map(query => ({\r\n ...query,\r\n model: 'looking-similar',\r\n })), requestOptions);\r\n };\r\n};\n\nconst getRecommendedForYou = base => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => ({\r\n ...query,\r\n model: 'recommended-for-you',\r\n threshold: query.threshold || 0,\r\n }));\r\n return base.transporter.read({\r\n method: requesterCommon.MethodEnum.Post,\r\n path: '1/indexes/*/recommendations',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nfunction recommend(appId, apiKey, options) {\r\n const commonOptions = {\r\n appId,\r\n apiKey,\r\n timeouts: {\r\n connect: 2,\r\n read: 5,\r\n write: 30,\r\n },\r\n requester: requesterNodeHttp.createNodeHttpRequester(),\r\n logger: loggerCommon.createNullLogger(),\r\n responsesCache: cacheCommon.createNullCache(),\r\n requestsCache: cacheCommon.createNullCache(),\r\n hostsCache: cacheInMemory.createInMemoryCache(),\r\n userAgent: transporter.createUserAgent(clientCommon.version)\r\n .add({ segment: 'Recommend', version: clientCommon.version })\r\n .add({ segment: 'Node.js', version: process.versions.node }),\r\n };\r\n return createRecommendClient({\r\n ...commonOptions,\r\n ...options,\r\n methods: {\r\n destroy: clientCommon.destroy,\r\n getFrequentlyBoughtTogether,\r\n getRecommendations,\r\n getRelatedProducts,\r\n getTrendingFacets,\r\n getTrendingItems,\r\n getLookingSimilar,\r\n getRecommendedForYou,\r\n },\r\n });\r\n}\r\n/* eslint-disable functional/immutable-data */\r\nrecommend.version = clientCommon.version;\r\nrecommend.getFrequentlyBoughtTogether = getFrequentlyBoughtTogether;\r\nrecommend.getRecommendations = getRecommendations;\r\nrecommend.getRelatedProducts = getRelatedProducts;\r\nrecommend.getTrendingFacets = getTrendingFacets;\r\nrecommend.getTrendingItems = getTrendingItems;\r\nrecommend.getLookingSimilar = getLookingSimilar;\r\nrecommend.getRecommendedForYou = getRecommendedForYou;\n\nmodule.exports = recommend;\n","/* eslint-disable functional/immutable-data, import/no-commonjs */\nconst recommend = require('./dist/recommend.cjs.js');\n\n/**\n * The Common JS build is the default entry point for the Node environment. Keep in\n * in mind, that for the browser environment, we hint the bundler to use the UMD\n * build instead as specified on the key `browser` of our `package.json` file.\n */\nmodule.exports = recommend;\n\n/**\n * In addition, we also set explicitly the default export below making\n * this Common JS module in compliance with es6 modules specification.\n */\nmodule.exports.default = recommend;\n","import * as http from 'http';\nimport { Agent } from 'http';\nimport * as https from 'https';\nimport { Agent as Agent$1 } from 'https';\nimport { parse } from 'url';\n\n/* eslint functional/prefer-readonly-type: 0 */\r\nconst agentOptions = { keepAlive: true };\r\nconst defaultHttpAgent = new Agent(agentOptions);\r\nconst defaultHttpsAgent = new Agent$1(agentOptions);\r\nfunction createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {}, } = {}) {\r\n const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;\r\n const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;\r\n return {\r\n send(request) {\r\n return new Promise(resolve => {\r\n const url = parse(request.url);\r\n const path = url.query === null ? url.pathname : `${url.pathname}?${url.query}`;\r\n const options = {\r\n ...requesterOptions,\r\n agent: url.protocol === 'https:' ? httpsAgent : httpAgent,\r\n hostname: url.hostname,\r\n path,\r\n method: request.method,\r\n headers: {\r\n ...(requesterOptions && requesterOptions.headers ? requesterOptions.headers : {}),\r\n ...request.headers,\r\n },\r\n ...(url.port !== undefined ? { port: url.port || '' } : {}),\r\n };\r\n const req = (url.protocol === 'https:' ? https : http).request(options, response => {\r\n // eslint-disable-next-line functional/no-let\r\n let contentBuffers = [];\r\n response.on('data', chunk => {\r\n contentBuffers = contentBuffers.concat(chunk);\r\n });\r\n response.on('end', () => {\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(connectTimeout);\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(responseTimeout);\r\n resolve({\r\n status: response.statusCode || 0,\r\n content: Buffer.concat(contentBuffers).toString(),\r\n isTimedOut: false,\r\n });\r\n });\r\n });\r\n const createTimeout = (timeout, content) => {\r\n return setTimeout(() => {\r\n req.abort();\r\n resolve({\r\n status: 0,\r\n content,\r\n isTimedOut: true,\r\n });\r\n }, timeout * 1000);\r\n };\r\n const connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout');\r\n // eslint-disable-next-line functional/no-let\r\n let responseTimeout;\r\n req.on('error', error => {\r\n clearTimeout(connectTimeout);\r\n clearTimeout(responseTimeout);\r\n resolve({ status: 0, content: error.message, isTimedOut: false });\r\n });\r\n req.once('response', () => {\r\n clearTimeout(connectTimeout);\r\n responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout');\r\n });\r\n if (request.data !== undefined) {\r\n req.write(request.data);\r\n }\r\n req.end();\r\n });\r\n },\r\n destroy() {\r\n httpAgent.destroy();\r\n httpsAgent.destroy();\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createNodeHttpRequester };\n","'use strict';\n\nvar cacheCommon = require('@algolia/cache-common');\nvar cacheInMemory = require('@algolia/cache-in-memory');\nvar clientAnalytics = require('@algolia/client-analytics');\nvar clientCommon = require('@algolia/client-common');\nvar clientPersonalization = require('@algolia/client-personalization');\nvar clientSearch = require('@algolia/client-search');\nvar loggerCommon = require('@algolia/logger-common');\nvar recommend = require('@algolia/recommend');\nvar requesterNodeHttp = require('@algolia/requester-node-http');\nvar transporter = require('@algolia/transporter');\n\nfunction algoliasearch(appId, apiKey, options) {\r\n const commonOptions = {\r\n appId,\r\n apiKey,\r\n timeouts: {\r\n connect: 2,\r\n read: 5,\r\n write: 30,\r\n },\r\n requester: requesterNodeHttp.createNodeHttpRequester(),\r\n logger: loggerCommon.createNullLogger(),\r\n responsesCache: cacheCommon.createNullCache(),\r\n requestsCache: cacheCommon.createNullCache(),\r\n hostsCache: cacheInMemory.createInMemoryCache(),\r\n userAgent: transporter.createUserAgent(clientCommon.version).add({\r\n segment: 'Node.js',\r\n version: process.versions.node,\r\n }),\r\n };\r\n const searchClientOptions = { ...commonOptions, ...options };\r\n const initPersonalization = () => (clientOptions) => {\r\n return clientPersonalization.createPersonalizationClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n getPersonalizationStrategy: clientPersonalization.getPersonalizationStrategy,\r\n setPersonalizationStrategy: clientPersonalization.setPersonalizationStrategy,\r\n },\r\n });\r\n };\r\n return clientSearch.createSearchClient({\r\n ...searchClientOptions,\r\n methods: {\r\n search: clientSearch.multipleQueries,\r\n searchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n multipleBatch: clientSearch.multipleBatch,\r\n multipleGetObjects: clientSearch.multipleGetObjects,\r\n multipleQueries: clientSearch.multipleQueries,\r\n copyIndex: clientSearch.copyIndex,\r\n copySettings: clientSearch.copySettings,\r\n copyRules: clientSearch.copyRules,\r\n copySynonyms: clientSearch.copySynonyms,\r\n moveIndex: clientSearch.moveIndex,\r\n listIndices: clientSearch.listIndices,\r\n getLogs: clientSearch.getLogs,\r\n listClusters: clientSearch.listClusters,\r\n multipleSearchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n getApiKey: clientSearch.getApiKey,\r\n addApiKey: clientSearch.addApiKey,\r\n listApiKeys: clientSearch.listApiKeys,\r\n updateApiKey: clientSearch.updateApiKey,\r\n deleteApiKey: clientSearch.deleteApiKey,\r\n restoreApiKey: clientSearch.restoreApiKey,\r\n assignUserID: clientSearch.assignUserID,\r\n assignUserIDs: clientSearch.assignUserIDs,\r\n getUserID: clientSearch.getUserID,\r\n searchUserIDs: clientSearch.searchUserIDs,\r\n listUserIDs: clientSearch.listUserIDs,\r\n getTopUserIDs: clientSearch.getTopUserIDs,\r\n removeUserID: clientSearch.removeUserID,\r\n hasPendingMappings: clientSearch.hasPendingMappings,\r\n generateSecuredApiKey: clientSearch.generateSecuredApiKey,\r\n getSecuredApiKeyRemainingValidity: clientSearch.getSecuredApiKeyRemainingValidity,\r\n destroy: clientCommon.destroy,\r\n clearDictionaryEntries: clientSearch.clearDictionaryEntries,\r\n deleteDictionaryEntries: clientSearch.deleteDictionaryEntries,\r\n getDictionarySettings: clientSearch.getDictionarySettings,\r\n getAppTask: clientSearch.getAppTask,\r\n replaceDictionaryEntries: clientSearch.replaceDictionaryEntries,\r\n saveDictionaryEntries: clientSearch.saveDictionaryEntries,\r\n searchDictionaryEntries: clientSearch.searchDictionaryEntries,\r\n setDictionarySettings: clientSearch.setDictionarySettings,\r\n waitAppTask: clientSearch.waitAppTask,\r\n customRequest: clientSearch.customRequest,\r\n initIndex: base => (indexName) => {\r\n return clientSearch.initIndex(base)(indexName, {\r\n methods: {\r\n batch: clientSearch.batch,\r\n delete: clientSearch.deleteIndex,\r\n findAnswers: clientSearch.findAnswers,\r\n getObject: clientSearch.getObject,\r\n getObjects: clientSearch.getObjects,\r\n saveObject: clientSearch.saveObject,\r\n saveObjects: clientSearch.saveObjects,\r\n search: clientSearch.search,\r\n searchForFacetValues: clientSearch.searchForFacetValues,\r\n waitTask: clientSearch.waitTask,\r\n setSettings: clientSearch.setSettings,\r\n getSettings: clientSearch.getSettings,\r\n partialUpdateObject: clientSearch.partialUpdateObject,\r\n partialUpdateObjects: clientSearch.partialUpdateObjects,\r\n deleteObject: clientSearch.deleteObject,\r\n deleteObjects: clientSearch.deleteObjects,\r\n deleteBy: clientSearch.deleteBy,\r\n clearObjects: clientSearch.clearObjects,\r\n browseObjects: clientSearch.browseObjects,\r\n getObjectPosition: clientSearch.getObjectPosition,\r\n findObject: clientSearch.findObject,\r\n exists: clientSearch.exists,\r\n saveSynonym: clientSearch.saveSynonym,\r\n saveSynonyms: clientSearch.saveSynonyms,\r\n getSynonym: clientSearch.getSynonym,\r\n searchSynonyms: clientSearch.searchSynonyms,\r\n browseSynonyms: clientSearch.browseSynonyms,\r\n deleteSynonym: clientSearch.deleteSynonym,\r\n clearSynonyms: clientSearch.clearSynonyms,\r\n replaceAllObjects: clientSearch.replaceAllObjects,\r\n replaceAllSynonyms: clientSearch.replaceAllSynonyms,\r\n searchRules: clientSearch.searchRules,\r\n getRule: clientSearch.getRule,\r\n deleteRule: clientSearch.deleteRule,\r\n saveRule: clientSearch.saveRule,\r\n saveRules: clientSearch.saveRules,\r\n replaceAllRules: clientSearch.replaceAllRules,\r\n browseRules: clientSearch.browseRules,\r\n clearRules: clientSearch.clearRules,\r\n },\r\n });\r\n },\r\n initAnalytics: () => (clientOptions) => {\r\n return clientAnalytics.createAnalyticsClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n addABTest: clientAnalytics.addABTest,\r\n getABTest: clientAnalytics.getABTest,\r\n getABTests: clientAnalytics.getABTests,\r\n stopABTest: clientAnalytics.stopABTest,\r\n deleteABTest: clientAnalytics.deleteABTest,\r\n },\r\n });\r\n },\r\n initPersonalization,\r\n initRecommendation: () => (clientOptions) => {\r\n searchClientOptions.logger.info('The `initRecommendation` method is deprecated. Use `initPersonalization` instead.');\r\n return initPersonalization()(clientOptions);\r\n },\r\n getRecommendations: recommend.getRecommendations,\r\n getFrequentlyBoughtTogether: recommend.getFrequentlyBoughtTogether,\r\n getLookingSimilar: recommend.getLookingSimilar,\r\n getRecommendedForYou: recommend.getRecommendedForYou,\r\n getRelatedProducts: recommend.getRelatedProducts,\r\n getTrendingFacets: recommend.getTrendingFacets,\r\n getTrendingItems: recommend.getTrendingItems,\r\n },\r\n });\r\n}\r\n// eslint-disable-next-line functional/immutable-data\r\nalgoliasearch.version = clientCommon.version;\n\nmodule.exports = algoliasearch;\n","/* eslint-disable functional/immutable-data, import/no-commonjs */\nconst algoliasearch = require('./dist/algoliasearch.cjs.js');\n\n/**\n * The Common JS build is the default entry point for the Node environment. Keep in\n * in mind, that for the browser environment, we hint the bundler to use the UMD\n * build instead as specified on the key `browser` of our `package.json` file.\n */\nmodule.exports = algoliasearch;\n\n/**\n * In addition, we also set explicitly the default export below making\n * this Common JS module in compliance with es6 modules specification.\n */\nmodule.exports.default = algoliasearch;\n","// eslint-disable-next-line functional/immutable-data, import/no-commonjs\nmodule.exports = require('./index');\n","import { Box } from '@vtex/brand-ui'\nimport { MDXRemote } from 'next-mdx-remote'\nimport { MarkdownRendererProps } from './MarkdownRenderer.types'\nimport components from './components'\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst MDXRemote2 = MDXRemote as any\n\nconst MarkdownRenderer = ({\n serialized,\n customComponents,\n scope,\n}: MarkdownRendererProps) => {\n if (components && scope) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n \n )\n}\n\nexport default MarkdownRenderer\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { useContext, useEffect, useRef, useState } from 'react'\nimport { Box, Flex } from '@vtex/brand-ui'\nimport {\n ReactSVGPanZoom,\n UncontrolledReactSVGPanZoom,\n} from 'react-svg-pan-zoom'\nimport mermaid from 'mermaid'\nimport parse from 'html-react-parser'\nimport { InView } from 'react-intersection-observer'\n\nimport { CH } from '@code-hike/mdx/components'\nimport OverviewCard from 'components/overview-card'\nimport YoutubeFrame from 'components/youtube-frame'\nimport Steps from 'components/steps'\nimport LightBox from 'components/lightbox'\nimport WhatsNextCard from 'components/whats-next-card'\n\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { childrenToString, slugify } from 'utils/string-utils'\nimport mermaidInit from 'utils/mermaidInit'\n\nimport { Component, ObservableHeadingProps } from './MarkdownRenderer.types'\nimport styles from './styles.module.css'\nimport { messages } from 'utils/get-message'\n\nmermaidInit()\n\nconst ObservableHeading = ({\n level,\n onEnterView,\n onLeaveView,\n ...headingProps\n}: ObservableHeadingProps) => {\n const [y, setY] = useState(Infinity)\n const toSlugify = childrenToString(headingProps.children)\n const slug = slugify(toSlugify)\n return (\n {\n if (inView) onEnterView(slug)\n else onLeaveView(slug, entry, y)\n\n setY(entry.boundingClientRect.y)\n }}\n >\n {level === 2 ? (\n

\n ) : (\n

\n )}\n \n )\n}\n\nconst Callout = ({ node, icon, ...props }: Component) => {\n const blockquoteType: string = icon ? icon : 'info'\n return (\n \n
\n \n )\n}\n\nconst MermaidDiagram = ({ node, ...props }: Component) => {\n const viewerRef = useRef(null)\n const ref = useRef()\n\n const [diagram, setDiagram] = useState('')\n const [width, setWidth] = useState(0)\n const [height, setHeight] = useState(0)\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n if (!ref.current) return\n setWidth(ref.current?.clientWidth ?? 0)\n setHeight(ref.current?.clientWidth / 2 ?? 0)\n })\n\n const mermaidRenderer = async function () {\n const { svg } = await mermaid.render('mermaid-id', props.children)\n setDiagram(\n svg.replace('id=\"mermaid-id\"', '').replaceAll('#mermaid-id', '')\n )\n }\n\n mermaidRenderer()\n if (ref.current) resizeObserver.observe(ref.current)\n }, [])\n\n return (\n \n \n \n {parse(diagram)}\n \n \n \n )\n}\n\nconst ImageComponent = ({ node, ...props }: Component) => {\n const [srcHasError, setSrcHasError] = useState(false)\n const { locale } = useContext(LibraryContext)\n const regularImg = (\n // eslint-disable-next-line @next/next/no-img-element\n {props.alt} setSrcHasError(true)} />\n )\n const errorMessage = (\n
\n {messages[locale]['image.error_loading']} {props.src}\n
\n )\n\n let data: { base64: string; img: object } = { base64: '', img: {} }\n try {\n data = JSON.parse(props.alt)\n } catch (error) {\n console.log(`Error parsing`, error)\n return errorMessage\n }\n return !srcHasError ? {regularImg} : errorMessage\n}\n\nexport default {\n CH,\n OverviewCard,\n WhatsNextCard,\n YoutubeFrame,\n Steps,\n Flex: ({ node, ...props }: Component) => (\n \n ),\n table: ({ node, ...props }: Component) => ,\n td: ({ node, ...props }: Component) =>
,\n img: ImageComponent,\n text: ({ node, ...props }: Component) => {\n return \n },\n blockquote: ({ ...props }: Component) => {\n return \n },\n code: ({ node, ...props }: Component) => {\n return \n },\n pre: ({ ...props }: Component) => {\n if (props.className && props.className === 'mermaid')\n return \n\n return
\n  },\n  h2: ({ node, ...props }: Component) => {\n    const { activeItem, setActiveItem, goToPreviousItem } =\n      useContext(LibraryContext)\n\n    return (\n       {\n          setActiveItem(({ item, subItem }) => ({\n            item: slug,\n            subItem: item !== slug ? '' : subItem,\n          }))\n        }}\n        onLeaveView={(slug, entry, y) => {\n          if (entry.boundingClientRect.y > y && activeItem.item === slug) {\n            goToPreviousItem()\n          }\n        }}\n        {...props}\n      />\n    )\n  },\n  h3: ({ node, ...props }: Component) => {\n    const { activeItem, setActiveItem, goToPreviousSubItem } =\n      useContext(LibraryContext)\n\n    return (\n       {\n          setActiveItem(({ item }) => ({\n            item,\n            subItem: slug,\n          }))\n        }}\n        onLeaveView={(slug, entry, y) => {\n          if (entry.boundingClientRect.y > y && activeItem.subItem === slug) {\n            goToPreviousSubItem()\n          }\n        }}\n        {...props}\n      />\n    )\n  },\n}\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst overviewCard: SxStyleProp = {\n  alignItems: 'flex-start',\n  margin: '20px 0px',\n  border: '1px solid #E7E9EE',\n  borderRadius: '4px',\n  padding: '18px 24px 4px',\n  color: '#4A596B',\n  ':active, :hover': {\n    borderColor: 'muted.2',\n    boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n    transition: 'all 0.3 ease-out',\n    '*':{\n      color: '#000711',\n    }\n  },\n  ul: {\n    borderLeft: '1px rgb(202, 203, 204) solid',\n    fontSize: '0.9em',\n    mt: '0',\n    paddingLeft: '1.5em',\n    listStyleType: 'none',\n    display: 'block',\n    textDecoration: 'none',\n  },\n  'h3, h4': {\n    color: '#4A596B',\n    fontSize: '1.125em',\n    fontWeight: '400',\n    my: '0',\n  },\n}\n\nconst overviewIcon: SxStyleProp = {\n  marginRight: '1.25em',\n  marginTop: '0.375em',\n}\n\nexport default {\n  overviewCard,\n  overviewIcon,\n}\n","import styles from './styles'\nimport { Flex, Box } from '@vtex/brand-ui'\nimport * as Icons from './icons'\nimport { IconComponent } from 'utils/typings/types'\nimport Link from 'next/link.js'\n\ninterface IconsI {\n  name: string\n  Icon: IconComponent\n}\n\nconst IconsMap: IconsI[] = [\n  {\n    name: 'StorageUnit',\n    Icon: Icons.StorageUnit,\n  },\n  {\n    name: 'Board',\n    Icon: Icons.Board,\n  },\n  {\n    name: 'Integration',\n    Icon: Icons.Integration,\n  },\n  {\n    name: 'SearchList',\n    Icon: Icons.SearchList,\n  },\n  {\n    name: 'SearchDetails',\n    Icon: Icons.SearchDetails,\n  },\n  {\n    name: 'SwitchArrows',\n    Icon: Icons.SwitchArrows,\n  },\n  {\n    name: 'ChangeCart',\n    Icon: Icons.ChangeCart,\n  },\n  {\n    name: 'ToStore',\n    Icon: Icons.ToStore,\n  },\n  {\n    name: 'PaymentHand',\n    Icon: Icons.PaymentHand,\n  },\n  {\n    name: 'GlobeCart',\n    Icon: Icons.GlobeCart,\n  },\n  {\n    name: 'StoreCart',\n    Icon: Icons.StoreCart,\n  },\n  {\n    name: 'List',\n    Icon: Icons.List,\n  },\n  {\n    name: 'Blocks',\n    Icon: Icons.Blocks,\n  },\n  {\n    name: 'StoreData',\n    Icon: Icons.StoreData,\n  },\n  {\n    name: 'Cart',\n    Icon: Icons.Cart,\n  },\n  {\n    name: 'FileConfiguration',\n    Icon: Icons.FileConfiguration,\n  },\n  {\n    name: 'Platform',\n    Icon: Icons.Platform,\n  },\n  {\n    name: 'RestApis',\n    Icon: Icons.RestApis,\n  },\n  {\n    name: 'Catalog',\n    Icon: Icons.Catalog,\n  },\n  {\n    name: 'Orders',\n    Icon: Icons.Orders,\n  },\n  {\n    name: 'Checkout',\n    Icon: Icons.Checkout,\n  },\n  {\n    name: 'Payments',\n    Icon: Icons.Payments,\n  },\n  {\n    name: 'Promotions',\n    Icon: Icons.Promotions,\n  },\n  {\n    name: 'Pricing',\n    Icon: Icons.Pricing,\n  },\n  {\n    name: 'AccountManagement',\n    Icon: Icons.AccountManagement,\n  },\n  {\n    name: 'StoreSearch',\n    Icon: Icons.StoreSearch,\n  },\n  {\n    name: 'Subscriptions',\n    Icon: Icons.Subscriptions,\n  },\n  {\n    name: 'Fulfillment',\n    Icon: Icons.Fulfillment,\n  },\n]\n\nconst getIcon = (name: string) => {\n  return IconsMap.find((icon) => icon.name === name)?.Icon\n}\n\n//Interfaces\nexport interface OverviewCardProps {\n  icon: string\n  link: string\n  children: string\n}\n\nconst OverviewCard = ({ icon, link, children }: OverviewCardProps) => {\n  const Icon = getIcon(icon)\n  return (\n    \n      \n        {Icon && }\n        {children}\n      \n    \n  )\n}\n\nexport default OverviewCard\n","import React from 'react'\nimport type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst StorageUnit = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n      \n      \n      \n    \n  \n)\n\nconst Board = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n    \n  \n)\n\nconst Composable = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n    \n  \n)\n\nconst Integration = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n  \n)\n\nconst SearchList = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n    \n    \n  \n)\n\nconst SwitchArrows = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n    \n  \n)\n\nconst SearchDetails = (props: IconProps) => (\n  \n    \n    \n    \n  \n)\n\nconst List = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst StoreCart = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst GlobeCart = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst PaymentHand = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n  \n)\n\nconst ToStore = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n    \n  \n)\nconst ChangeCart = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n    \n    \n  \n)\n\nconst Blocks = (props: IconProps) => (\n  \n    {' '}\n    \n      {' '}\n      {' '}\n      {' '}\n      {' '}\n      {' '}\n    \n  \n)\nconst StoreData = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n  \n)\nconst FileConfiguration = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\nconst Cart = (props: IconProps) => (\n  \n    \n    \n    \n    \n  \n)\n\nconst Platform = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n      \n      \n      \n    \n  \n)\n\nconst RestApis = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n    \n  \n)\n\nconst Catalog = (props: IconProps) => (\n  \n    {' '}\n    \n  \n)\n\nconst Orders = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst Checkout = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst Payments = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst Promotions = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst Pricing = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst AccountManagement = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst StoreSearch = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\nconst Subscriptions = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n      \n      \n    \n  \n)\n\nconst Fulfillment = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n    \n  \n)\n\nexport {\n  StorageUnit,\n  Board,\n  Composable,\n  Integration,\n  SearchList,\n  SwitchArrows,\n  SearchDetails,\n  ChangeCart,\n  ToStore,\n  PaymentHand,\n  GlobeCart,\n  StoreCart,\n  List,\n  Blocks,\n  StoreData,\n  FileConfiguration,\n  Cart,\n  Platform,\n  RestApis,\n  Catalog,\n  Orders,\n  Checkout,\n  Payments,\n  Promotions,\n  Pricing,\n  AccountManagement,\n  StoreSearch,\n  Subscriptions,\n  Fulfillment,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nexport interface IYoutubeFrame {\n  embedId: string\n}\nconst YoutubeFrame = ({ embedId }: IYoutubeFrame) => (\n  
\n \n
\n)\n\nYoutubeFrame.propTypes = {\n embedId: PropTypes.string.isRequired,\n}\n\nexport default YoutubeFrame\n","import React from 'react'\nimport { Box } from '@vtex/brand-ui'\nimport styles from './styles'\n\nexport interface StepsProps {\n children: string\n}\nconst Steps = ({ children }: StepsProps) => {\n return {children}\n}\nexport default Steps\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst steps: SxStyleProp = {\n ml: '4px',\n mt: '12px',\n mb: '27px',\n borderLeft: '1px solid #e5e7eb',\n pl: '25px',\n position: 'relative',\n '.heading': {\n counterIncrement: `step`,\n },\n '.heading:before': {\n content: `counter(step)`,\n position: 'absolute',\n border: '4px solid #ffffff',\n width: '2em',\n height: '2em',\n left: '-1.3em',\n color: '#a1a1aa',\n backgroundColor: '#f2f3f6',\n borderRadius: '9999px',\n fontSize: '1em',\n textAlign: 'center',\n lineHeight: '2.1em',\n boxSizing: 'content-box',\n },\n}\n\nexport default {\n steps,\n}\n","import React, { ReactElement, useEffect, useRef, useState } from 'react'\nimport { Box, Button, Flex } from '@vtex/brand-ui'\nimport CloseIcon from 'components/icons/close-icon'\nimport useClickOutside from 'utils/hooks/useClickOutside'\nimport styles from './styles'\n\ninterface Props {\n children: ReactElement\n}\n\nexport default function LightBox({ children }: Props) {\n const [isModalOpen, setIsModalOpen] = useState(false)\n const modalRef = useRef()\n\n useEffect(() => {\n if (isModalOpen) {\n const scrollTop = document.body.getBoundingClientRect().top\n document.body.style.top = `${scrollTop}px`\n document.body.classList.add('modal-open')\n } else {\n document.body.classList.remove('modal-open')\n document.body.style.removeProperty('top')\n }\n }, [isModalOpen])\n\n useClickOutside(modalRef, () => setIsModalOpen(false))\n\n return (\n
\n {isModalOpen && (\n \n }\n onClick={() => setIsModalOpen(false)}\n />\n \n {children}\n \n \n )}\n setIsModalOpen(true)}>\n {children}\n \n
\n )\n}\n","import React from 'react'\nimport type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CloseIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default CloseIcon\n","import { useEffect, MutableRefObject, SetStateAction, Dispatch } from 'react'\n\nexport default function useClickOutside(\n ref: MutableRefObject,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n openModal: Dispatch>\n) {\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n const { body, documentElement } = document\n if (\n ref.current &&\n event.target instanceof Node &&\n !ref.current.contains(event.target)\n ) {\n openModal({ modalToggle: false })\n const scrollTop = body.getBoundingClientRect().top * -1\n body.classList.remove('modal-open')\n documentElement.scrollTop = scrollTop\n body.style.removeProperty('top')\n }\n }\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [])\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst imageContainer: SxStyleProp = {\n cursor: 'pointer',\n borderRadius: '5px',\n width: 'fit-content',\n mt: '16px',\n mb: '24px',\n transition: '0.3s',\n ':hover': {\n boxShadow: '2px 4px 8px 2px rgb(0 0 0 / 10%)',\n },\n\n '> img': {\n maxWidth: '100%',\n display: 'block',\n padding: '0',\n margin: '0',\n border: '1px solid #e7e9ed',\n borderRadius: '4px'\n },\n}\n\nconst container: SxStyleProp = {\n margin: '0',\n width: '100%',\n height: '100%',\n backgroundColor: 'rgba(0,0,0,0.9)',\n position: 'fixed',\n top: '0',\n left: '0',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n zIndex: '10000',\n}\n\nconst modal: SxStyleProp = {\n display: 'inline-block',\n margin: 'auto',\n boxShadow: '2px 4px 16px rgb(0 0 0 / 30%)',\n position: 'relative',\n zIndex: '10001',\n padding: '0',\n\n '> img': {\n display: 'block',\n maxHeight: 'calc(100vh - 50px)',\n maxWidth: 'calc(100vw - 50px)',\n width: 'auto',\n margin: '0',\n padding: '0',\n },\n}\n\nconst closeButton: SxStyleProp = {\n position: 'absolute',\n zIndex: '10002',\n top: '10px',\n right: '10px',\n color: '#FEFEFE',\n\n ':hover': {\n color: 'rgb(100, 100, 100)',\n },\n}\n\nexport default {\n imageContainer,\n container,\n modal,\n closeButton,\n}\n","import React from 'react'\nimport { Box, Flex, IconCaret, Text, Link } from '@vtex/brand-ui'\nimport styles from './styles'\nimport Image from 'next/image.js'\n\nexport type WhatsNextDataElement = {\n title: string\n description?: string\n linkTitle?: string\n linkTo: string\n image?: string\n}\n\nconst WhatsNextCard = ({\n title,\n description,\n linkTitle,\n linkTo,\n image,\n}: WhatsNextDataElement) => {\n return (\n \n {image ? (\n \n \n \n {title}\n \n \n ) : (\n \n \n {title}\n \n {description && (\n \n {description}\n \n )}\n {linkTitle && (\n \n \n {linkTitle}\n \n \n \n )}\n \n )}\n \n )\n}\n\nexport default WhatsNextCard\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n mt: '16px',\n borderRadius: '4px',\n border: '1px solid #E7E9EE',\n width: ['100%', '49%'],\n transition: 'all 0.3s ease-out',\n ':hover': {\n cursor: 'pointer',\n },\n ':active, :hover': {\n borderColor: 'muted.2',\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n transition: 'all 0.3 ease-out',\n '.title, .description': {\n transition: 'all 0.3s ease-out',\n color: '#000711',\n },\n '.link, .caret': {\n transition: 'all 0.3s ease-out',\n color: 'muted.0',\n },\n },\n}\n\nconst title: SxStyleProp = {\n mb: '8px',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: ['22px', '18px'],\n color: 'muted.0',\n}\n\nconst imageTitle: SxStyleProp = {\n padding: '16px',\n fontSize: '16px',\n fontWeight: '400',\n color: 'muted.0',\n ':after': {\n content: `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='rgb(74 89 108)' %3E%3Cpath fill-rule='evenodd' d='M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z' clip-rule='evenodd' /%3E%3C/svg%3E\")`,\n position: 'absolute',\n height: '16px',\n width: '16px',\n marginLeft: '3px',\n lineHeight: '30px',\n },\n}\n\nconst description: SxStyleProp = {\n fontSize: '14px',\n fontWeight: '400',\n lineHeight: '20px',\n color: 'muted.0',\n}\n\nconst linkContainer: SxStyleProp = {\n mt: '8px',\n alignItems: 'center',\n}\n\nconst link: SxStyleProp = {\n ...description,\n color: 'muted.1',\n}\n\nexport default {\n container,\n title,\n imageTitle,\n description,\n linkContainer,\n link,\n}","import type { Dispatch, ReactNode, SetStateAction } from 'react'\nimport { createContext, useEffect, useState } from 'react'\nimport { Item } from 'lib/table-of-contents/TableOfContents.types'\nimport { Section } from 'utils/typings/types'\nimport { SWRConfig } from 'swr'\n\ninterface Props extends Partial {\n children: ReactNode\n /** The navigation array containing the list of documentations shown in the sidebar. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fallback?: any\n /** Documentation sections, the same sections that divide the fallback. */\n sections: Section[][]\n /** Whether is a branch preview or not. */\n isPreview: boolean\n /** The section currently selected. */\n sectionSelected: string\n /** The sections to be used on the hamburguer menu */\n hamburguerMenuSections: Section[][]\n /** The portal language. The default is english. */\n locale?: 'en' | 'pt' | 'es'\n}\n\nexport type ContextType = {\n headingItems: Item[]\n setHeadingItems: Dispatch>\n activeItem: ActiveItem\n setActiveItem: Dispatch>\n goToPreviousItem: () => void\n goToPreviousSubItem: () => void\n isEditorPreview: boolean\n sidebarSectionHidden: boolean\n activeSectionName: string\n activeSidebarElement: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sidebarDataMaster: any\n sidebarElementStatus: Map\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setSidebarDataMaster: Dispatch>\n setIsEditorPreview: Dispatch>\n setSidebarSectionHidden: Dispatch>\n setActiveSectionName: Dispatch>\n setActiveSidebarElement: Dispatch>\n toggleSidebarElementStatus: (title: string) => void\n openSidebarElement: (title: string) => void\n closeSidebarElements: (parentsArray: string[]) => void\n sidebarSections: Section[][]\n setSidebarSections: Dispatch>\n hamburguerSections: Section[][]\n setHamburguerSections: Dispatch>\n locale: 'en' | 'pt' | 'es'\n}\n\ntype ActiveItem = {\n item: string\n subItem: string\n}\n\nexport const LibraryContext = createContext({\n headingItems: [],\n setHeadingItems: () => undefined,\n activeItem: {\n item: '',\n subItem: '',\n },\n setActiveItem: () => undefined,\n goToPreviousItem: () => undefined,\n goToPreviousSubItem: () => undefined,\n isEditorPreview: false,\n sidebarSectionHidden: false,\n activeSectionName: '',\n activeSidebarElement: '',\n sidebarDataMaster: {},\n setIsEditorPreview: () => undefined,\n sidebarElementStatus: new Map(),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n setSidebarDataMaster: (_: any) => undefined,\n setSidebarSectionHidden: () => undefined,\n setActiveSectionName: () => undefined,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n setActiveSidebarElement: (_: any) => undefined,\n toggleSidebarElementStatus: () => undefined,\n openSidebarElement: () => undefined,\n closeSidebarElements: () => undefined,\n sidebarSections: [],\n setSidebarSections: () => undefined,\n hamburguerSections: [],\n setHamburguerSections: () => undefined,\n locale: 'en',\n})\n\n/** Provider for the LibraryContext created with React.createContext. The context is used in the following components: feedback, search, sidebar, hamburger menu, markdown renderer and table of contents. */\nconst LibraryContextProvider = ({ children, ...props }: Props) => {\n const [headingItems, setHeadingItems] = useState([])\n const [activeItem, setActiveItem] = useState({\n item: '',\n subItem: '',\n })\n\n const [activeSectionName, setActiveSectionName] = useState(\n props.sectionSelected\n )\n const [sidebarSectionHidden, setSidebarSectionHidden] = useState(false)\n const [activeSidebarElement, setActiveSidebarElement] = useState('')\n const [sidebarElementStatus, setSidebarElementStatus] = useState(new Map())\n const [sidebarDataMaster, setSidebarDataMaster] = useState(props.fallback)\n const [isEditorPreview, setIsEditorPreview] = useState(props.isPreview)\n const [sidebarSections, setSidebarSections] = useState(props.sections)\n const [hamburguerSections, setHamburguerSections] = useState(\n props.hamburguerMenuSections\n )\n const locale = 'en'\n\n useEffect(() => {\n setSidebarDataMaster(props.fallback)\n }, [props.fallback])\n\n useEffect(() => {\n if (props.sectionSelected === '') setSidebarSectionHidden(true)\n else if (props.sectionSelected !== activeSectionName)\n setActiveSectionName(props.sectionSelected)\n }, [props.sectionSelected])\n\n const { fallback } = props\n\n const toggleSidebarElementStatus = (title: string) => {\n setSidebarElementStatus((sidebarElementStatus) => {\n const open =\n sidebarElementStatus.has(title) === false\n ? true\n : !sidebarElementStatus.get(title)\n\n return new Map(sidebarElementStatus.set(title, open))\n })\n }\n\n const closeSidebarElements = (parentsArray: string[]) => {\n sidebarElementStatus.forEach((_value, key) => {\n if (!parentsArray.includes(key)) {\n setSidebarElementStatus((sidebarElementStatus) => {\n return new Map(sidebarElementStatus.set(key, false))\n })\n }\n })\n }\n\n const openSidebarElement = (title: string) => {\n setSidebarElementStatus((sidebarElementStatus) => {\n return new Map(sidebarElementStatus.set(title, true))\n })\n }\n\n const goToPreviousItem = () => {\n setActiveItem(({ item, subItem }) => {\n const index = headingItems.findIndex((heading) => heading.slug === item)\n if (index === -1) return { item, subItem }\n\n const previousItem = !index ? '' : headingItems[index - 1].slug\n const previousChildren = !index ? [] : headingItems[index - 1].children\n const previousSubItem = !previousChildren.length\n ? ''\n : previousChildren.slice(-1)[0].slug\n\n return {\n item: previousItem,\n subItem: previousSubItem,\n }\n })\n }\n\n const goToPreviousSubItem = () => {\n setActiveItem(({ item, subItem }) => {\n const heading = headingItems.find((heading) => heading.slug === item)\n const index = heading?.children.findIndex(\n (child) => child.slug === subItem\n )\n\n if (!heading || index === -1) return { item, subItem }\n\n return {\n item,\n subItem: !index ? '' : heading.children[index - 1].slug,\n }\n })\n }\n\n return (\n \n \n {children}\n \n \n )\n}\n\nexport default LibraryContextProvider\n","export const removeHTML = (str: string) => str.replace(/<\\/?[^>]+>/g, '')\n\nexport const capitalizeFirstLetter = (str: string) => {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport const toCamelCase = (str: string) => {\n const [firstWord, ...otherWords] = str.split('-')\n return `${firstWord}${otherWords.map(capitalizeFirstLetter).join('')}`\n}\n\nexport const slugify = (str: string) => {\n return str\n .normalize('NFD') // Decomposes diacritics (e.g., \"é\" → \"é\")\n .replace(/[\\u0300-\\u036f]/g, '') // Removes diacritic marks\n .toLowerCase()\n .replace(/[^\\w\\s-]/g, '') // Removes non-word characters except spaces and hyphens\n .replace(/\\s+/g, '-') // Replaces spaces with hyphens\n .replace(/-+/g, '-') // Removes multiple consecutive hyphens\n .trim() // Trims leading/trailing spaces\n}\n\ntype Child = string | { props: { children: Child[] } }\n\nexport const childrenToString: (children: Child[]) => string = (children) => {\n if (!children) return ''\n else if (Array.isArray(children))\n return children\n .map((child) => {\n if (typeof child === 'string') return child\n return childrenToString(child.props.children)\n })\n .join('')\n else {\n if (typeof children === 'string') return children\n return childrenToString(children['props']['children'])\n }\n}\n\nexport const matrixToMarkdownTable: (matrix: string[][]) => string = (\n matrix\n) => {\n const matrixRowToMarkdownTableRow = (matrixRow: string[]) =>\n `|${matrixRow\n .map((matrixElement) => ` ${matrixElement.replace(/\\n/g, '
')} |`)\n .join('')}`\n\n let table = matrixRowToMarkdownTableRow(matrix[0]) + '\\n|'\n for (let i = 0; i < matrix[0].length; i++) table += ' --- |'\n\n table += '\\n'\n for (let i = 1; i < matrix.length; i++)\n table += matrixRowToMarkdownTableRow(matrix[i]) + '\\n'\n\n return table\n}\n","import mermaid from 'mermaid'\n\nconst mermaidInit = () => {\n mermaid.initialize({\n theme: 'base',\n themeVariables: {\n primaryColor: '#FFFFFF',\n primaryTextColor: '#142032',\n primaryBorderColor: '#A1AAB7',\n labelBoxBorderColor: '#E31C58',\n labelTextColor: '#E31C58',\n labelBoxBkgColor: '#FFF3F6',\n lineColor: '#A1AAB7',\n mainBkg: '#F8F7FC',\n },\n })\n}\n\nexport default mermaidInit\n",".img {\n max-width: 100%;\n padding-top: 2vh;\n border-radius: 4px;\n}\n\n.heading::before {\n content: '';\n display: block;\n visibility: hidden;\n pointer-events: none;\n}\n\n.code {\n background-color: #f6f8fa;\n background-color: var(--md-code-background, #f6f8fa);\n border-radius: 4px;\n color: var(--md-code-text);\n margin: 0;\n padding: 0.2em 0.4em;\n font-size: 0.875em;\n word-break: break-all;\n}\n\ntable .code {\n word-break: normal;\n}\n\n.blockquote {\n display: grid;\n padding: 20px;\n gap: 20px;\n width: 100%;\n margin: 16px 0px 24px;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #ccced8;\n grid-template-columns: 20px 1fr;\n grid-template-rows: 1fr;\n word-break: break-word;\n}\n\n.blockquote a {\n word-break: break-all;\n}\n\n.blockquote p, .blockquote div{\n margin: 0px;\n grid-column: 2 / -1;\n grid-row: 1 / 1;\n}\n\n.blockquote a{\n color: #e31c58 !important;\n -webkit-text-decoration: underline 1px solid;\n text-decoration: underline 1px solid;\n}\n\n.blockquote a:hover{\n color: #c81e51;\n}\n\n.blockquoteInfo {\n background: #f8f7fc;\n border: 1px solid #ccced8;\n}\n\n.blockquoteInfo:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteDanger {\n background: #fdefef;\n border: 1px solid #dc5a41;\n}\n\n.blockquoteDanger:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteWarning {\n background: #fff2d4;\n border: 1px solid #ffb100;\n}\n\n.blockquoteWarning code {\n background-color: #ffe5b5;\n}\n\n.blockquoteInfo code {\n background-color: #ecebf3;\n}\n\n.blockquoteWarning:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteSuccess {\n background: #f3f8f3;\n border: 1px solid #80be80;\n}\n\n.blockquoteSuccess:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.flexWrap {\n flex-wrap: wrap;\n justify-content: space-between;\n}\n\n.svgContainer {\n width: 100%;\n}","{\n \"feedback_section.question\": \"Was this helpful?\",\n \"feedback_section.response\": \"Thanks for the feedback!\",\n \"feedback_section.positive\": \"Yes\",\n \"feedback_section.negative\": \"No\",\n \"feedback_section.edit\": \"Suggest Edits (GitHub)\",\n \"feedback_modal.title\": \"Leave a Comment (Optional)\",\n \"feedback_modal.button\": \"Send Feedback\",\n \"search_input.empty\": \"No results found. Try different search terms.\",\n \"search_input.placeholder\": \"Search\",\n \"search_results.showing\": \"Showing\",\n \"search_results.results_for\": \"results for\",\n \"search_results.in\": \"in\",\n \"search_results.all_lowercase\": \"all results\",\n \"sidebar_search.placeholder\": \"Search in\",\n \"search_input.see_all\": \"See all results\",\n \"search_results.summary\": \"Showing {count} results for \\\"{keyword}\\\" in {section}\",\n \"search_results.all\": \"All results\",\n \"search_card.in\": \"In\",\n \"image.error_loading\": \"An error occurred while loading the image\",\n \"api_reference_sidebar_filter_clear\": \"Clear All\",\n \"api_reference_sidebar_filter\": \"Filter By\",\n \"cookie_bar.title\": \"We use cookies\",\n \"cookie_bar.description\": \"This website uses cookies to improve navigation, analyze usage, and assist with our marketing efforts.\",\n \"cookie_bar.accept\": \"I agree\",\n \"cookie_bar.decline\": \"I decline\"\n}\n","{\n \"feedback_section.question\": \"¿Te ha parecido útil?\",\n \"feedback_section.response\": \"Gracias por tu feedback\",\n \"feedback_section.positive\": \"Sí\",\n \"feedback_section.negative\": \"No\",\n \"feedback_section.edit\": \"Sugerir cambios (GitHub)\",\n \"feedback_modal.title\": \"Dar feedback (opcional)\",\n \"feedback_modal.button\": \"Enviar feedback\",\n \"search_input.empty\": \"No se encontraron resultados. Intenta utilizar otros términos.\",\n \"search_input.placeholder\": \"Buscar\",\n \"sidebar_search.placeholder\": \"Buscar en\",\n \"search_results.showing\": \"Mostrando\",\n \"search_results.results_for\": \"resultados para\",\n \"search_results.in\": \"en\",\n \"search_results.all_lowercase\": \"todos los resultados\",\n \"search_input.see_all\": \"Ver todos los resultados\",\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" en {section}\",\n \"search_results.all\": \"Todos los resultados\",\n \"search_card.in\": \"En\",\n \"image.error_loading\": \"Se produjo un error al cargar la imagen\",\n \"api_reference_sidebar_filter_clear\": \"Limpiar todo\",\n \"api_reference_sidebar_filter\": \"Filtrar por\",\n \"cookie_bar.title\": \"Utilizamos cookies\",\n \"cookie_bar.description\": \"Este sitio web utiliza cookies para optimizar la navegación, analizar el uso e impulsar nuestros esfuerzos de marketing.\",\n \"cookie_bar.accept\": \"Acepto\",\n \"cookie_bar.decline\": \"Rechazo\"\n}\n","{\n \"feedback_section.question\": \"Isso foi útil?\",\n \"feedback_section.response\": \"Agradecemos pelo seu feedback.\",\n \"feedback_section.positive\": \"Sim\",\n \"feedback_section.negative\": \"Não\",\n \"feedback_section.edit\": \"Sugerir edições (GitHub)\",\n \"feedback_modal.title\": \"Deixe um comentário (opcional)\",\n \"feedback_modal.button\": \"Enviar feedback\",\n \"search_input.empty\": \"Nenhum resultado encontrado. Tente buscar por outros termos.\",\n \"search_input.placeholder\": \"Buscar\",\n \"sidebar_search.placeholder\": \"Buscar em\",\n \"search_results.showing\": \"Mostrando\",\n \"search_results.results_for\": \"resultados para\",\n \"search_results.in\": \"em\",\n \"search_results.all_lowercase\": \"todos os resultados\",\n \"search_input.see_all\": \"Ver todos os resultados\",\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" em {section}\",\n \"search_results.all\": \"Todos os resultados\",\n \"search_card.in\": \"Em\",\n \"image.error_loading\": \"Ocorreu um erro ao carregar a imagem\",\n \"api_reference_sidebar_filter_clear\": \"Limpar tudo\",\n \"api_reference_sidebar_filter\": \"Filtrar por\",\n \"cookie_bar.title\": \"Nós usamos cookies\",\n \"cookie_bar.description\": \"Este site utiliza cookies para melhorar a navegação, analisar a experiência de uso e auxiliar em nossas ações de marketing.\",\n \"cookie_bar.accept\": \"Concordo\",\n \"cookie_bar.decline\": \"Discordo\"\n}","import enMessages from '../messages/en.json'\nimport esMessages from '../messages/es.json'\nimport ptMessages from '../messages/pt.json'\nimport { MessagesType } from './typings/messages-types'\n\nconst getMessages = (): {\n en: MessagesType\n es: MessagesType\n pt: MessagesType\n} => {\n const messages = {\n en: enMessages,\n es: esMessages,\n pt: ptMessages,\n }\n\n return messages\n}\n\nexport const messages = getMessages()\n","import { useContext, useEffect } from 'react'\nimport Link from 'next/link.js'\nimport { useRouter } from 'next/router.js'\nimport { Box, Text } from '@vtex/brand-ui'\nimport AnimateHeight from 'react-animate-height'\n\nimport { removeHTML } from 'utils/string-utils'\nimport { Item } from './TableOfContents.types'\n\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nimport styles from './styles'\n\ninterface Props {\n /** List of headings in the current documentation page */\n headingList?: Item[]\n children?: React.ReactNode\n}\n\n/** Table of contents for documentation pages. */\nconst TableOfContents = ({ headingList, children }: Props) => {\n const router = useRouter()\n const { headingItems, activeItem, setHeadingItems, setActiveItem } =\n useContext(LibraryContext)\n\n useEffect(() => {\n const headings: Item[] = headingList ?? []\n if (!headings.length) {\n document.querySelectorAll('h2, h3').forEach((heading) => {\n const headingSlug = heading.id\n const item = {\n title: removeHTML(heading.innerHTML).replace(':', ''),\n slug: headingSlug,\n }\n\n if (heading.tagName === 'H2') {\n headings.push({ ...item, children: [] })\n } else if (headings.length > 0) {\n headings[headings.length - 1].children.push({ ...item })\n } else {\n headings.push({ ...item, children: [] })\n }\n })\n setHeadingItems(headings)\n } else setHeadingItems(headings)\n }, [router.asPath, headingList])\n\n const Item = ({\n title,\n slug,\n level,\n active,\n }: {\n title: string\n slug: string\n level: number\n active: boolean\n }) => {\n return (\n {\n setActiveItem(({ item }) => ({\n item: level === 1 ? slug : item,\n subItem: level === 1 ? '' : slug,\n }))\n }}\n >\n {title}\n \n )\n }\n\n return (\n \n {headingItems.length > 0 && (\n ON THIS PAGE\n )}\n \n {headingItems.map((item) => (\n \n \n \n \n {item.children.map((subItem) => (\n \n ))}\n \n \n \n ))}\n \n {children}\n \n )\n}\n\nexport default TableOfContents\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst itemsContainer: SxStyleProp = {\n position: 'sticky',\n top: 'calc(5rem + 32px)',\n}\n\nconst tocTitle: SxStyleProp = {\n fontSize: '10px',\n fontWeight: '600',\n textTransform: 'uppercase',\n mb: '6px',\n color: 'muted.0',\n}\n\nconst headings: SxStyleProp = {\n borderLeft: '1px solid #E7E9EE',\n mb: '16px',\n}\n\nconst item: (level: number, active: boolean) => SxStyleProp = (\n level,\n active\n) => {\n const defaultLineHeight = `${level === 1 ? 18 : 22}px`\n return {\n ml: '-1px',\n pl: `${level * 8}px`,\n py: ['6px', '6px', '6px', '6px', '4px', '4px'],\n borderLeft: `1px solid ${active && level === 1 ? '#E31C58' : '#E7E9EE'}`,\n fontSize: ['16px', '16px', '16px', '16px', '12px', '16px'],\n lineHeight: [\n defaultLineHeight,\n defaultLineHeight,\n defaultLineHeight,\n defaultLineHeight,\n `${level === 1 ? 16 : 18}px`,\n defaultLineHeight,\n ],\n fontWeight: `${active ? '600' : '400'}`,\n color: `${active ? '#0C1522' : 'muted.0'}`,\n\n ':hover': {\n color: '#000711',\n },\n }\n}\n\nconst subItemsContainer: SxStyleProp = {\n ml: '16px',\n borderLeft: '1px solid #E7E9EE',\n}\n\nexport default { tocTitle, itemsContainer, item, subItemsContainer, headings }\n","import { useEffect, useRef, useState, useContext } from 'react'\nimport { Flex, Text, Box } from '@vtex/brand-ui'\nimport Link from 'next/link.js'\n\nimport styles from './styles'\nimport { iconTooltipStyle } from './functions'\n\nimport { Section } from 'utils/typings/types'\nimport Tooltip from 'components/tooltip'\nimport { updateOpenPage } from 'utils/sidebar-utils'\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nexport interface SideBarSectionState {\n /** Array containing the name of the parents of the expanded page in the menu. */\n parentsArray?: string[]\n}\n\n/**\n * Sidebar component.\n */\nconst Sidebar = ({ parentsArray = [] }: SideBarSectionState) => {\n const [expandDelayStatus, setExpandDelayStatus] = useState(true)\n\n const context = useContext(LibraryContext)\n const {\n isEditorPreview,\n setActiveSectionName,\n activeSectionName,\n sidebarSections,\n sidebarDataMaster,\n } = context\n\n const sidebarSectionContent = {\n ...(Array.isArray(sidebarDataMaster)\n ? sidebarDataMaster?.find(\n (section: SidebarSectionProps) =>\n section.documentation === activeSectionName\n )\n : null),\n }\n\n updateOpenPage({\n parentsArray,\n context,\n })\n\n useEffect(() => {\n let timer: NodeJS.Timeout | undefined = undefined\n if (sidebarSectionContent.categories?.length > 0)\n timer = setTimeout(\n () => setExpandDelayStatus && setExpandDelayStatus(false),\n 5000\n )\n else setExpandDelayStatus && setExpandDelayStatus(true)\n\n return () => {\n timer && clearTimeout(timer)\n }\n }, [activeSectionName])\n\n const SideBarIcon = (sectionElement: Section) => {\n const [iconTooltip, setIconTooltip] = useState(false)\n const [tooltipLabel, setTooltipLabel] = useState(sectionElement.title)\n const titleRef = useRef()\n\n useEffect(() => {\n const resizeObserver = new MutationObserver(function (entries) {\n const target = entries[0].target as HTMLElement\n if (target.offsetWidth < target.scrollWidth) setIconTooltip(true)\n else setIconTooltip(false)\n\n if (target.offsetWidth > 0) setTooltipLabel(target.innerText)\n })\n if (titleRef.current) {\n if (titleRef.current.offsetWidth < titleRef.current.scrollWidth)\n setIconTooltip(true)\n resizeObserver.observe(titleRef.current, {\n childList: true,\n })\n }\n return () => {\n resizeObserver.disconnect\n }\n }, [titleRef.current])\n\n return (\n \n \n {\n if (isEditorPreview) {\n e.preventDefault()\n }\n setActiveSectionName(sectionElement.id)\n }}\n passHref\n aria-label={sectionElement.title}\n >\n \n \n \n {sectionElement.title}\n \n \n \n \n \n )\n }\n\n return (\n \n \n {sidebarSections.map((section, id) => {\n return (\n <>\n {id > 0 && (\n \n
\n
\n )}\n \n {section.map((element) => (\n \n ))}\n \n \n )\n })}\n
\n {activeSectionName ? : null}\n \n )\n}\n\nexport default Sidebar\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sidebar: SxStyleProp = {\n display: [\n 'none !important',\n 'none !important',\n 'none !important',\n 'flex !important',\n ],\n position: 'sticky',\n left: '0',\n top: '5rem',\n flex: '1 0 auto',\n height: 'calc(100vh - 5rem)',\n width: 'auto',\n minWidth: 'auto',\n transition: 'all 0.3s ease-in-out',\n '.active': {\n marginLeft: '-276px',\n transition: 'all 0.3s ease-in-out',\n },\n '.iconContainerExpanded': {\n transition: 'all 0.3s ease-in-out',\n width: '160px',\n },\n '.iconDescriptionExpanded': {\n display: 'block',\n },\n}\n\nconst sidebarIcons: SxStyleProp = {\n width: ['56px', '56px', '56px', '56px', '56px', '160px'],\n minWidth: 'max-content',\n transition: 'all 0.3s ease-in-out',\n flexDirection: 'column',\n borderRight: '1px solid #E7E9EE',\n background: '#FFFFFF',\n zIndex: '2',\n paddingBottom: '32px',\n}\n\nconst linkContainer: SxStyleProp = {\n minWidth: '100%',\n}\n\nconst iconBox: SxStyleProp = {\n mt: ['16px'],\n width: '100%',\n maxWidth: '144px',\n paddingLeft: ['0', '0', '0', '8px'],\n paddingRight: ['0', '0', '0', '8px', '8px', '0'],\n py: ['0', '0', '0', '8px', '8px', '10px'],\n height: '40px',\n borderRadius: '4px',\n alignItems: 'center',\n justifyContent: 'flex-start',\n background: 'transparent',\n color: 'muted.0',\n cursor: 'pointer',\n ':hover': {\n background: '#F8F7FC',\n color: '#000711',\n path: {\n stroke: [\n '#000711',\n '#000711',\n '#000711',\n '#000711',\n '#000711',\n '#4A596B',\n ],\n },\n },\n}\n\nconst iconBoxActive: SxStyleProp = {\n ...iconBox,\n background: ['#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', 'none'],\n color: '#E31C58',\n}\n\nconst sidebarIconsContainer: SxStyleProp = {\n width: '100%',\n flexDirection: 'column',\n alignItems: 'flex-start',\n px: ['0', '0', '0', '8px'],\n}\n\nconst icon: SxStyleProp = {\n width: ['24px'],\n height: ['24px'],\n}\n\nconst iconActive: SxStyleProp = {\n ...icon,\n '> path': {\n stroke: '#E31C58',\n },\n}\n\nconst sectionDivider: SxStyleProp = {\n px: '8px',\n marginTop: '16px',\n hr: {\n border: '1px solid #E7E9EE',\n borderTop: 'none',\n },\n}\n\nconst iconTitle: SxStyleProp = {\n display: ['none', 'none', 'none', 'none', 'none', 'block'],\n width: '100%',\n fontSize: '14px',\n ml: ['8px', '8px', '8px', '8px', '8px', '12px'],\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst iconTooltip: SxStyleProp = {\n display: [\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'none !important',\n ],\n}\n\nexport default {\n sidebar,\n sidebarIcons,\n sidebarIconsContainer,\n linkContainer,\n iconBox,\n icon,\n iconActive,\n iconBoxActive,\n sectionDivider,\n iconTitle,\n iconTooltip,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nexport const iconTooltipStyle: SxStyleProp = (tooltipState: boolean) => {\n const iconTooltip: SxStyleProp = {\n display: [\n 'flex',\n 'flex',\n 'flex',\n 'flex',\n 'flex',\n tooltipState ? 'flex' : 'none !important',\n ],\n }\n return iconTooltip\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { Box, Flex, TooltipProps, SxStyleProp } from '@vtex/brand-ui'\n\nimport styles from './styles'\nimport CaretIcon from 'components/icons/caret'\ninterface Props extends Pick {\n sx?: SxStyleProp\n isCard?: boolean\n}\n\nconst Tooltip = ({ children, label, placement, sx, isCard }: Props) => {\n const box = useRef()\n const [boxWidth, setBoxWidth] = useState(0)\n const [boxHeight, setBoxHeight] = useState(0)\n const [boxOffsetLeft, setBoxOffsetLeft] = useState(0)\n const [boxOffsetTop, setBoxOffsetTop] = useState(0)\n const [visible, setVisible] = useState(false)\n\n useEffect(() => {\n if (box.current) {\n setBoxWidth(box.current.clientWidth)\n setBoxHeight(box.current.clientHeight)\n setBoxOffsetLeft(box.current.offsetLeft)\n setBoxOffsetTop(box.current.offsetTop)\n }\n }, [\n box.current,\n box.current?.clientWidth,\n box.current?.clientHeight,\n box.current?.offsetLeft,\n box.current?.offsetTop,\n ])\n\n return (\n \n setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n >\n {children}\n \n {visible && (isCard ?? true) && (\n \n \n {label}\n \n )}\n \n )\n}\n\nexport default Tooltip\n","import { SxStyleProp } from '@vtex/brand-ui'\n\ntype Placement = 'top' | 'right' | 'bottom' | 'left'\n\nconst tooltipContainer: (\n sx: SxStyleProp,\n placement: Placement,\n width: number,\n height: number,\n x: number,\n y: number\n) => SxStyleProp = (sx, placement, width, height, x, y) => {\n const position = {\n bottom: {\n left: `${x + width / 2}px`,\n top: `${y + height + 3}px`,\n },\n left: {\n left: `${x - 1}px`,\n top: `${y + height / 2}px`,\n },\n top: {\n left: `${x + width / 2}px`,\n top: `${y - 3}px`,\n },\n right: {\n left: `${x + width + 1}px`,\n top: `${y + height / 2}px`,\n },\n }\n\n const translation = {\n bottom: 'translateX(-50%)',\n left: 'translateX(-100%) translateY(-50%)',\n top: 'translateX(-50%) translateY(-100%)',\n right: 'translateY(-50%)',\n }\n\n const direction = {\n bottom: 'column',\n left: 'row-reverse',\n top: 'column-reverse',\n right: 'row',\n }\n\n return {\n ...sx,\n zIndex: '100',\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n ...position[placement],\n transform: translation[placement],\n flexDirection: direction[placement],\n }\n}\n\nconst caret: (placement: Placement) => SxStyleProp = (placement) => {\n const rotation = {\n bottom: 0,\n left: 90,\n top: 180,\n right: 270,\n }\n\n const translation = {\n bottom: 1,\n left: 3,\n top: 1,\n right: 3,\n }\n\n return {\n width: '8px',\n height: '4px',\n minWidth: 'initial',\n minHeight: 'initial',\n transform: `rotate(${rotation[placement]}deg) translateY(${translation[placement]}px)`,\n }\n}\n\nconst label: SxStyleProp = {\n borderRadius: '4px',\n backgroundColor: 'black',\n color: 'white',\n fontSize: '12px',\n fontWeight: '400',\n lineHeight: '130%',\n}\n\nconst labelContibutorsContainer: SxStyleProp = {\n ...label,\n padding: '4px 8px',\n}\n\nconst labelDocumentationContainer: SxStyleProp = {\n ...label,\n width: '284px',\n textAlign: 'center',\n px: '12px',\n py: '8px',\n}\n\nconst labelStyle = (documentationSection: boolean): SxStyleProp => {\n if (documentationSection) return labelDocumentationContainer\n return labelContibutorsContainer\n}\nexport default { tooltipContainer, caret, labelStyle }\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CaretIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default CaretIcon\n","export const flattenJSON = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n obj: any = {},\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n res: any = {},\n extraKey = ''\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any => {\n for (const key in obj) {\n if (typeof obj[key] !== 'object') {\n res[extraKey + key] = obj[key]\n } else {\n flattenJSON(obj[key], res, `${extraKey}${key}.`)\n }\n }\n return res\n}\n\nexport const getKeyByEndpoint = (\n object: { [x: string]: string },\n endpoint: string,\n slug: string,\n method?: string\n) => {\n const slugPaths = Object.keys(object).filter((key) => object[key] === slug)\n let path = ''\n slugPaths?.map((el) => {\n if (\n method &&\n object[`${el.replace('.slug', '.method')}`] == method?.toUpperCase() &&\n object[`${el.replace('.slug', '.endpoint')}`] == endpoint\n ) {\n path = el\n } else if (hasChildren(object, el.replace('.slug', '.children'))) {\n path = el\n }\n })\n return path\n}\n\nfunction hasChildren(\n flattenedJson: { [x: string]: string },\n elementKey: string\n): boolean {\n for (const key in flattenedJson) {\n if (key.startsWith(`${elementKey}.`)) {\n return true\n }\n }\n return false\n}\n\nexport const getParents = (\n path: string,\n data: string,\n flattenedSidebar: { [x: string]: string },\n parentsArray: string[],\n parent?: string\n) => {\n const pathParts = path?.split('children')\n pathParts?.splice(-1)\n let prev = ''\n pathParts?.map((el) => {\n el = prev + el\n prev = el + 'children'\n\n if (!parent || flattenedSidebar[`${el}${data}`].includes(parent)) {\n parentsArray.push(flattenedSidebar[`${el}${data}`])\n }\n })\n return parentsArray\n}\n","import { Section } from './typings/types'\nimport { flattenJSON, getKeyByEndpoint, getParents } from './navigation-utils'\nimport { useRouter } from 'next/router.js'\nimport { useEffect } from 'react'\nimport { ContextType } from './context/libraryContext'\n\nexport const getIcon = (doc: string, sections: Section[][]) => {\n for (const section of sections) {\n return section.find((icon) => icon.title === doc)?.Icon\n }\n}\n\ninterface updateOpenPageProps {\n parentsArray?: string[]\n context: ContextType\n}\nexport const updateOpenPage = ({\n parentsArray = [],\n context,\n}: updateOpenPageProps) => {\n const {\n activeSidebarElement,\n sidebarDataMaster,\n setActiveSidebarElement,\n openSidebarElement,\n closeSidebarElements,\n } = context\n const flattenedSidebar = flattenJSON(sidebarDataMaster)\n const router = useRouter()\n\n let activeSlug = ''\n const querySlug = router.query.slug\n\n if (querySlug && router.pathname === '/docs/api-reference/[slug]') {\n activeSlug = router.asPath.replace('/docs/api-reference/', '')\n const docPath = activeSlug.split('/')\n const hasHashTag = router.asPath.indexOf('#') > -1\n const apiSlug = docPath[0].split(hasHashTag ? '#' : '?endpoint=')[0]\n const endpoint = '/' + docPath.splice(1, docPath.length).join('/')\n let keyPath\n if (endpoint == '/') {\n activeSlug = apiSlug\n keyPath = getKeyByEndpoint(flattenedSidebar, '', apiSlug)\n } else {\n const method = docPath[0]\n .split(hasHashTag ? '#' : '?endpoint=')[1]\n .split('-')[0]\n keyPath = getKeyByEndpoint(flattenedSidebar, endpoint, apiSlug, method)\n }\n parentsArray.push(activeSlug)\n if (keyPath) {\n getParents(keyPath, 'slug', flattenedSidebar, parentsArray)\n }\n } else {\n activeSlug = parentsArray[parentsArray.length - 1]\n }\n\n useEffect(() => {\n closeSidebarElements(parentsArray)\n parentsArray.forEach((slug: string) => {\n openSidebarElement(slug)\n })\n setActiveSidebarElement(activeSlug?.replace('?endpoint=', '#'))\n }, [activeSidebarElement, router])\n}\n","// Sidebar Section\nimport { Flex, Box, Text, Button } from '@vtex/brand-ui'\nimport { useContext, useMemo, useState } from 'react'\n\nimport styles from './styles'\nimport { SidebarElement } from '../sidebar-elements'\nimport SectionFilter from '../sidebar-section-filter'\nimport SideBarElements from '../sidebar-elements'\nimport SearchIcon from 'components/icons/search-icon'\nimport SideBarToggleIcon from 'components/icons/sidebar-toggle-icon'\nimport ArrowLeftIcon from 'components/icons/arrow-left-icon'\nimport { getIcon } from 'utils/sidebar-utils'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\n\nexport interface SidebarSectionProps {\n documentation: string\n name: string | { en: string, es: string, pt: string }\n categories: SidebarElement[]\n slugPrefix: string\n isHamburgerMenu: boolean\n}\n\nconst SidebarSection = ({\n documentation,\n name,\n categories,\n slugPrefix,\n isHamburgerMenu = false,\n}: SidebarSectionProps) => {\n const [searchValue, setSearchValue] = useState('')\n const {\n isEditorPreview,\n sidebarSectionHidden,\n setSidebarSectionHidden,\n sidebarSections,\n locale\n } = useContext(LibraryContext)\n const [methodFilterList, setMethodFilterList] = useState([\n { name: 'POST', active: false },\n { name: 'GET', active: false },\n { name: 'PUT', active: false },\n { name: 'DELETE', active: false },\n { name: 'PATCH', active: false },\n ])\n\n const filterStatus = methodFilterList.some(\n (methodFilter) => methodFilter.active\n )\n\n const filteredResult = useMemo(() => {\n if (!filterStatus && searchValue === '') return categories\n\n const dataCopy = JSON.parse(JSON.stringify(categories))\n\n const filteredCategories = dataCopy\n .map((category: SidebarElement) => {\n category.children = category.children\n .map((subcategory) => {\n subcategory.children = subcategory.children.filter((endpoint) => {\n const hasMethodFilter =\n !filterStatus ||\n methodFilterList.find(\n (methodFilter) => methodFilter.name === endpoint.method\n )?.active\n const hasInputFilter =\n searchValue === '' ||\n (typeof endpoint.name === 'string'\n ? endpoint.name\n : endpoint.name[locale]\n )\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n return hasMethodFilter && hasInputFilter\n })\n return subcategory\n })\n .filter(\n (subcategory) =>\n subcategory.children.length > 0 ||\n (subcategory.type === 'markdown' &&\n (typeof subcategory.name === 'string'\n ? subcategory.name\n : subcategory.name[locale]\n )\n .toLowerCase()\n .includes(searchValue.toLowerCase()))\n )\n return category\n })\n .filter((category: SidebarElement) => category.children.length > 0)\n return filteredCategories\n }, [filterStatus, methodFilterList, categories, searchValue])\n\n const DocIcon = getIcon(documentation, sidebarSections)\n\n let localizedSectionTitle = ''\n\n if (!categories || categories.length <= 0) {\n return <>\n } else {\n localizedSectionTitle = typeof(name) === 'string' ? name : name[locale]\n }\n\n return isHamburgerMenu ? (\n \n \n \n }\n onClick={() => {\n setSidebarSectionHidden(true)\n }}\n />\n {DocIcon && }\n {localizedSectionTitle}\n \n \n \n \n setSearchValue(e.currentTarget.value)}\n />\n \n {documentation == 'API Reference' && (\n \n )}\n \n \n \n \n \n \n ) : (\n \n \n \n {isEditorPreview && (\n \n \n \n \n \n \n PREVIEW MODE\n \n )}\n {localizedSectionTitle}\n \n \n setSearchValue(e.currentTarget.value)}\n />\n \n \n {documentation == 'API Reference' && (\n \n )}\n \n \n \n \n \n {\n setSidebarSectionHidden(\n (sidebarSectionHidden) => !sidebarSectionHidden\n )\n }}\n sx={sidebarSectionHidden ? styles.toggleIcon : {}}\n />\n \n \n )\n}\n\nexport default SidebarSection\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sidebarContainer: SxStyleProp = {\n position: 'relative',\n width: 'auto',\n height: 'inherit',\n borderRight: '1px solid #E7E9EE',\n zIndex: '1',\n left: '0',\n transition: 'all 0.3s ease-in-out',\n '.toggleIcon': {\n opacity: '0',\n transition: 'all 0.3s ease-out',\n },\n '.sidebarHide': {\n opacity: '0',\n transition: 'all 0.5s ease-out',\n },\n ':hover': {\n '.toggleIcon': {\n opacity: '100',\n transition: 'all 0.3s ease-out',\n },\n },\n}\n\nconst sidebarContainerHamburger: SxStyleProp = {\n width: 'auto',\n minHeight: '692px',\n zIndex: '1',\n}\n\nconst sidebarContainerBox: SxStyleProp = {\n opacity: '100',\n paddingTop: '34px',\n paddingBottom: '24px',\n overflowY: 'auto',\n height: 'inherit',\n maskImage:\n 'linear-gradient(to top, transparent, black), linear-gradient(to left, transparent 17px, black 17px)',\n maskSize: '100% 20000px',\n maskPosition: 'left bottom',\n transition: 'mask-position 0.3s, -webkit-mask-position 0.3s',\n ':hover': {\n maskPosition: 'left top',\n },\n}\n\nconst sidebarContainerBoxHamburger: SxStyleProp = {\n opacity: '100',\n transition: 'all 1s ease-out',\n}\n\nconst sidebarContainerBody: SxStyleProp = {\n px: '17px',\n}\n\nconst sidebarContainerHeader: SxStyleProp = {\n ...sidebarContainerBody,\n}\n\nconst sidebarContainerTitle: SxStyleProp = {\n alignItems: 'center',\n lineHeight: '22px',\n gap: '5px',\n padding: '17px 0px 17px 17px',\n borderBottom: '1px solid #E7E9EE',\n}\n\nconst sidebarTitle: SxStyleProp = {\n display: 'flex',\n alignItems: 'center',\n fontSize: '16px',\n lineHeight: '18px',\n}\n\nconst sidebarHelpIcon: SxStyleProp = {\n ml: '4px',\n width: '24px',\n height: '24px',\n}\n\nconst searchBox: SxStyleProp = {\n mt: '16px',\n mb: '20px',\n alignItems: 'center',\n borderRadius: '4px',\n background: '#F4F4F4',\n width: '265px',\n height: '40px',\n paddingLeft: '12px',\n}\n\nconst searchInput: SxStyleProp = {\n width: 'auto',\n background: '#F4F4F4',\n border: '#F4F4F4',\n color: '#545454',\n fontSize: ['14px'],\n}\n\nconst searchIcon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n mr: '8px',\n}\n\nconst toggleIconBox: SxStyleProp = {\n justifyContent: 'center',\n alignItems: 'center',\n width: '32px',\n height: '32px',\n borderRadius: '50%',\n border: '1px solid #E7E9EE',\n background: '#FFFFFF',\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n position: 'absolute',\n top: '32px',\n right: '-16px',\n cursor: 'pointer',\n}\n\nconst toggleIconBoxActive: SxStyleProp = {\n ...toggleIconBox,\n opacity: '100 !important',\n}\n\nconst toggleIcon: SxStyleProp = {\n transform: 'scaleX(-1)',\n}\n\nconst arrowButton: SxStyleProp = {\n padding: '0px',\n}\n\nconst previewMode: SxStyleProp = {\n display: 'flex',\n color: '#A87600',\n backgroundColor: '#ffe5b5',\n padding: '10px',\n borderRadius: '10px',\n fontWeight: '600',\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0.5px',\n mb: '20px',\n svg: {\n width: '20px',\n mr: '10px',\n },\n}\n\nexport default {\n sidebarContainer,\n sidebarContainerHamburger,\n sidebarContainerBox,\n sidebarContainerBoxHamburger,\n sidebarContainerBody,\n sidebarContainerHeader,\n sidebarContainerTitle,\n sidebarTitle,\n sidebarHelpIcon,\n searchBox,\n searchInput,\n searchIcon,\n toggleIconBox,\n toggleIconBoxActive,\n toggleIcon,\n arrowButton,\n previewMode,\n}\n","import { Box, Flex, Text } from '@vtex/brand-ui'\nimport MethodCategory from 'components/method-category'\nimport { Dispatch, SetStateAction, useContext, useState } from 'react'\n\nimport styles from './styles'\nimport { MethodType } from 'utils/typings/types'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\n\ntype MethodFilter = {\n name: string\n active: boolean\n}\n\ninterface MethodButtonProps {\n methodFilter: MethodFilter\n}\n\ninterface SectionFilterProps {\n methodFilterList: MethodFilter[]\n setMethodFilter: Dispatch>\n}\n\nconst SectionFilter = ({\n methodFilterList,\n setMethodFilter,\n}: SectionFilterProps) => {\n const [activeFilters, setActiveFilters] = useState([])\n const { locale } = useContext(LibraryContext)\n\n const setFilter = (methodFilterChanged: MethodType | null) => {\n if (methodFilterChanged) {\n const index = activeFilters.indexOf(methodFilterChanged)\n index === -1\n ? setActiveFilters([...activeFilters, methodFilterChanged])\n : setActiveFilters(\n activeFilters.filter((filter) => filter !== methodFilterChanged)\n )\n setMethodFilter(\n methodFilterList.map((methodFilter) => {\n if (methodFilter.name === methodFilterChanged)\n methodFilter.active = !methodFilter.active\n return methodFilter\n })\n )\n } else {\n setActiveFilters([])\n setMethodFilter(\n methodFilterList.map((methodFilter) => {\n methodFilter.active = false\n return methodFilter\n })\n )\n }\n }\n\n const MethodButton = ({ methodFilter }: MethodButtonProps) => {\n return (\n setFilter(methodFilter.name as MethodType)}\n >\n \n \n )\n }\n\n return (\n \n \n {messages[locale]['api_reference_sidebar_filter']}\n \n \n {methodFilterList.map((methodFilter) => (\n \n ))}\n {activeFilters.length > 1 && (\n setFilter(null)} sx={styles.clear}>\n {messages[locale]['api_reference_sidebar_filter_clear']}\n \n )}\n \n \n )\n}\n\nexport default SectionFilter\n","import { Flex, Text, SxStyleProp } from '@vtex/brand-ui'\nimport { categoryStyle, categoryText, closeCategoryStyle } from './functions'\nimport styles from './styles'\nimport CloseFilterIcon from 'components/icons/close-filter-icon'\nimport { MethodType } from 'utils/typings/types'\n\nexport interface MethodCategoryProps {\n method: MethodType\n active: boolean\n origin: 'sidebar' | 'search' | 'filter' | 'pagination'\n sx?: SxStyleProp\n}\n\nconst MethodCategory = ({\n method,\n active,\n origin,\n sx,\n}: MethodCategoryProps) => {\n return (\n \n {categoryText(method, origin)}\n {origin === 'filter' && active && (\n \n )}\n \n )\n}\n\nexport default MethodCategory\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n border: '1px solid #DDDDDD',\n background: '#F4F4F4',\n borderRadius: '2px',\n width: '24px',\n height: '24px',\n alignItems: 'center',\n justifyContent: 'center',\n}\n\nconst text: SxStyleProp = {\n fontWeight: '600',\n fontSize: '12px',\n}\n\nconst closeIcon: SxStyleProp = {\n minWidth: '12px',\n minHeight: '12px',\n height: '12px',\n width: '12px',\n ml: '4px',\n}\n\nexport default {\n container,\n text,\n closeIcon,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\nimport { MethodType } from 'utils/typings/unionTypes'\n\nimport styles from './styles'\n\nexport const methodsColors = {\n POST: {\n border: '1px solid #7CBBEA',\n color: '#2978B5',\n background: '#DEECF7',\n },\n GET: {\n border: '1px solid #83D187',\n color: '#38853C',\n background: '#DFF1E0',\n },\n PUT: {\n border: '1px solid #F5AE70',\n color: '#D56A00',\n background: '#FFEBD7',\n },\n DELETE: {\n border: '1px solid #F49494',\n color: '#CC3D3D',\n background: '#F8E3E3',\n },\n PATCH: {\n border: '1px solid #afa871',\n color: '#6C6314',\n background: '#e9e7da',\n },\n}\n\nexport const categoryStyle = (\n method: MethodType,\n active: boolean,\n sx?: SxStyleProp\n): SxStyleProp => {\n const categoryColors = methodsColors[method] || {\n border: '1px solid #F49494',\n color: '#CC3D3D',\n background: '#F8E3E3',\n }\n\n const categoryStyle: SxStyleProp = active\n ? {\n ...styles.container,\n ...categoryColors,\n ...sx,\n ':hover': {\n '.filter-close-button': {\n rect: {\n fill: categoryColors.color,\n },\n path: {\n stroke: '#DEECF7',\n },\n },\n },\n }\n : {\n ...styles.container,\n color: categoryColors.color,\n ...sx,\n }\n\n return categoryStyle\n}\n\nexport const categoryText = (method: MethodType, origin: string): string => {\n const textPascalCase = method[0] + method.slice(1).toLowerCase()\n if (origin == 'filter') return textPascalCase\n return textPascalCase.slice(0, 2)\n}\n\nexport const closeCategoryStyle = (method: MethodType) => {\n const categoryColors = methodsColors[method]\n const categoryStyle: SxStyleProp = {\n ...styles.closeIcon,\n rect: {\n fill: 'transparent',\n },\n path: {\n stroke: categoryColors.color,\n },\n }\n\n return categoryStyle\n}\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CloseFilterIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default CloseFilterIcon\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n px: '17px',\n paddingTop: '6px',\n borderBottom: '1px solid #E7E9EE',\n paddingBottom: '16px',\n mb: '24px',\n}\n\nconst text: SxStyleProp = {\n mb: '8px',\n}\n\nconst category: SxStyleProp = {\n mr: '8px',\n px: '4px',\n width: 'auto',\n cursor: 'pointer',\n ':hover': {\n borderWidth: '2px',\n },\n}\n\nconst clear: SxStyleProp = {\n display: 'flex',\n alignItems: 'center',\n color: 'muted.0',\n fontSize: '12px',\n cursor: 'pointer',\n ':hover': {\n color: '#000711',\n },\n}\n\nexport default {\n container,\n text,\n category,\n clear,\n}\n","import { useRouter } from 'next/router.js'\nimport React, { Fragment, useContext } from 'react'\nimport {\n Box,\n Flex,\n Link,\n Button,\n IconCaret,\n IconExternalLink,\n} from '@vtex/brand-ui'\n\nimport MethodCategory from 'components/method-category'\n\nimport { styleByLevelNormal, textStyle } from './functions'\nimport styles from './styles'\nimport { MethodType } from 'utils/typings/types'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nexport interface SidebarElement {\n name: string | { en: string; pt: string; es: string }\n slug: string | { en: string; pt: string; es: string }\n origin: string\n type: string\n method?: MethodType\n endpoint?: string\n children: SidebarElement[]\n}\n\nexport interface SidebarProps {\n slugPrefix?: string\n items: SidebarElement[]\n subItemLevel: number\n}\n\nconst SidebarElements = ({ slugPrefix, items, subItemLevel }: SidebarProps) => {\n const {\n isEditorPreview,\n activeSidebarElement,\n sidebarElementStatus,\n toggleSidebarElementStatus,\n sidebarDataMaster,\n locale,\n } = useContext(LibraryContext)\n const router = useRouter()\n\n const handleClick = (\n e: { preventDefault: () => void },\n pathSuffix: string,\n slug: string\n ) => {\n e.preventDefault()\n const hasEndpointQuery = router.query.endpoint\n router.push(getHref(slugPrefix || '', pathSuffix, slug)).then(() => {\n if (hasEndpointQuery) router.reload()\n })\n }\n\n // eslint-disable-next-line\n // @ts-ignore\n const checkDocumentationType = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sidebarData: any,\n slug: string,\n type: string\n ) => {\n if (\n !sidebarData ||\n (typeof sidebarData !== 'object' && !Array.isArray(sidebarData))\n ) {\n return false\n } else if (sidebarData?.slug == slug && sidebarData?.type == type) {\n return true\n } else if (Array.isArray(sidebarData)) {\n for (let i = 0; i < sidebarData.length; i++) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const result = checkDocumentationType(sidebarData[i], slug, type)\n if (result) {\n return result\n }\n }\n } else {\n for (const k in sidebarData) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const result = checkDocumentationType(sidebarData[k], slug, type)\n if (result) {\n return result\n }\n }\n }\n\n return false\n }\n\n const getHref = (slugPrefix: string, pathSuffix: string, slug: string) => {\n const href =\n slugPrefix === 'docs/api-reference'\n ? `/${slugPrefix}/${slug}/${pathSuffix}`\n : `/${slugPrefix}/${slug}`\n return href.replaceAll('//', '/')\n }\n\n const ElementRoot = ({\n slug,\n name,\n method,\n endpoint,\n children,\n }: SidebarElement) => {\n const localizedName: string = typeof name === 'string' ? name : name[locale]\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\n const isExpandable = children.length > 0\n const pathSuffix = method ? `#${method.toLowerCase()}-${endpoint}` : ''\n const activeItem = method ? `${localizedSlug}${pathSuffix}` : localizedSlug\n return (\n \n \n {isExpandable && (\n (\n \n )}\n onClick={() => toggleSidebarElementStatus(localizedSlug)}\n />\n )}\n {!checkDocumentationType(sidebarDataMaster, localizedSlug, 'category') &&\n !checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\n void }) => {\n if (!isEditorPreview) {\n handleClick(e, pathSuffix, localizedSlug)\n }\n toggleSidebarElementStatus(activeItem)\n }}\n href={getHref(slugPrefix || '', pathSuffix, localizedSlug)}\n target={isEditorPreview === true ? '_blank' : '_self'}\n >\n {method && (\n \n )}\n {localizedName}\n \n ) : checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\n \n \n {localizedName}\n \n ) : (\n {\n toggleSidebarElementStatus(localizedSlug)\n }}\n >\n {method && (\n \n )}\n {localizedName}\n \n )}\n \n \n )\n }\n \n const ElementChildren = ({ slug, children }: SidebarElement) => {\n const isExpandable = children.length > 0\n // const newPathPrefix =\n // slugPrefix === 'api-reference' ? `/api-reference/${slug}` : slugPrefix\n\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\n return isExpandable &&\n sidebarElementStatus.has(localizedSlug) &&\n sidebarElementStatus.get(localizedSlug) ? (\n \n \n \n ) : null\n }\n\n return (\n \n {items?.map((item, index) => {\n const key = typeof item.slug === 'string' ? String(item.slug) + String(index) : String(item.slug[locale]) + String(index)\n const slug = typeof item.slug === 'string' ? `${item.slug}` : `${item.slug[locale]}`\n \n return (\n \n \n \n \n \n {subItemLevel == 0 ? (\n \n
\n
\n ) : null}\n
\n )\n })}\n
\n )\n}\n\nexport default SidebarElements\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst elementContainer: SxStyleProp = {\n maxWidth: '265px',\n background: '#FFFFFF',\n ':hover': {\n background: '#F8F7FC',\n a: {\n color: '#142032',\n '& > :first-of-type': {\n borderWidth: '2px',\n },\n },\n },\n}\n\nconst elementText: SxStyleProp = {\n color: 'muted.0',\n fontSize: '14px',\n lineHeight: '20px',\n fontWeight: '400',\n textAlign: 'initial',\n paddingBlock: '7px',\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer',\n}\n\nconst elementActive: SxStyleProp = {\n ...elementText,\n color: '#D71D55 !important',\n}\n\nconst arrowIcon: SxStyleProp = {\n padding: '0',\n color: 'muted.1',\n height: '34px',\n}\n\nconst arrowIconActive: SxStyleProp = {\n ...arrowIcon,\n color: '#D71D55',\n}\n\nconst elementButton: SxStyleProp = {\n textTransform: 'initial',\n fontVariationSettings: 'unset',\n padding: '0',\n margin: '0',\n textDecoration: 'none !important',\n}\n\nconst sectionDivider: SxStyleProp = {\n hr: {\n border: '1px solid #E7E9EE',\n borderTop: 'none',\n },\n}\n\nconst methodBox: SxStyleProp = {\n mr: '10px',\n}\n\nexport default {\n elementContainer,\n elementText,\n elementActive,\n arrowIcon,\n arrowIconActive,\n elementButton,\n sectionDivider,\n methodBox,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\nimport styles from './styles'\n\nexport const styleByLevelNormal = (level: number, icon: boolean) => {\n const ml = 8 + (icon ? (level - 1) * 20 + 6 : (level - 1) * 20 + 14)\n const borderLeft = icon ? 'none' : level >= 2 ? '1px solid #E7E9EE' : ''\n const normal: SxStyleProp = {\n marginLeft: `${ml}px`,\n borderLeft,\n }\n\n return normal\n}\n\nexport const textStyle = (active: boolean, icon: boolean) => {\n const ml = icon ? '4px' : '16px'\n if (active) {\n const textStyleActive: SxStyleProp = {\n ...styles.elementActive,\n ml,\n }\n return textStyleActive\n }\n const textStyle: SxStyleProp = {\n ...styles.elementText,\n ml,\n }\n\n return textStyle\n}\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst SearchIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default SearchIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst SideBarToggleIcon = (props: IconProps) => (\n \n \n \n \n \n \n)\n\nexport default SideBarToggleIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ArrowLeftIcon = (props: IconProps) => (\n \n {' '}\n \n \n \n)\n\nexport default ArrowLeftIcon\n","import {\n Header,\n HamburgerMenu as VtexHamburgerMenu,\n Box,\n IconCaret,\n Button,\n} from '@vtex/brand-ui'\nimport styles from './styles'\n\nimport { useContext } from 'react'\nimport DocumentationCard from 'components/documentation-card'\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\nimport { updateOpenPage } from 'utils/sidebar-utils'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport SearchInput from 'components/search-input'\n\nexport interface HamburgerMenuProps {\n /** Array that contains the name of the sections in the menu that should be expanded. */\n parentsArray?: string[]\n}\n\n/** Hamburger Menu component, the menu uses the sidebar components internally, but it is only visible on the smaller breakpoints. */\nconst HamburgerMenu = ({ parentsArray = [] }: HamburgerMenuProps) => {\n const context = useContext(LibraryContext)\n const {\n sidebarDataMaster,\n sidebarSectionHidden,\n activeSectionName,\n setActiveSectionName,\n setSidebarSectionHidden,\n hamburguerSections,\n } = context\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const isDocument = (sections: any, documentID: string) => {\n let isDoc = false\n\n if (Array.isArray(sections)) {\n isDoc = sections.find((section) => section.documentation === documentID)\n }\n\n return isDoc\n }\n\n updateOpenPage({ parentsArray, context })\n\n return (\n \n \n \n \n \n \n \n \n {hamburguerSections.map((section, id) => (\n 0\n ? styles.updatesContainer\n : styles.documentationContainer\n }\n key={id}\n data-cy=\"dropdown-menu-first-section\"\n >\n {section.map((card) => (\n \n \n {isDocument(sidebarDataMaster, card.id) ? (\n }\n sx={\n activeSectionName === card.id &&\n !sidebarSectionHidden\n ? styles.arrowIconActive\n : styles.arrowIcon\n }\n onClick={() => {\n setActiveSectionName(card.id)\n setSidebarSectionHidden(false)\n }}\n />\n ) : null}\n \n ))}\n \n ))}\n \n \n {activeSectionName ? (\n \n section.documentation === activeSectionName\n )\n : null)}\n />\n ) : null}\n \n \n \n \n \n )\n}\n\nexport default HamburgerMenu\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst menuContainer: SxStyleProp = {\n display: 'flex',\n width: 'max-content',\n}\n\nconst cardContainer: SxStyleProp = {\n display: 'flex',\n flexDirection: 'column',\n width: '100vw',\n overflowY: 'scroll',\n height: 'calc(100vh - 5rem)',\n}\n\nconst sideMenuContainer: SxStyleProp = {\n backgroundColor: '#ffff',\n height: 'calc(100vh - 5rem)',\n width: '100vw',\n overflowY: 'auto',\n overflowX: 'hidden',\n transform: 'translate(0)',\n transition: 'transform .5s cubic-bezier(.4,0,.2,1)',\n}\n\nconst hamburgerContainer: SxStyleProp = {\n display: ['block', 'block', 'block', 'none'],\n backgroundColor: '#ffff',\n width: '100%',\n '.menuHidden': {\n transform: 'translate(-100%)',\n },\n}\n\n// eslint-disable-next-line prettier/prettier\n\nconst hamburgerSearchContainer: SxStyleProp = {\n display: 'flex',\n justifyContent: 'center',\n paddingBlock: '18px',\n height: 'auto',\n}\n\nconst documentationContainer: SxStyleProp = {\n px: '16px',\n paddingBottom: '8px',\n}\n\nconst updatesContainer: SxStyleProp = {\n px: '16px',\n paddingTop: '8px',\n borderRadius: '0px 0px 8px 8px',\n borderTop: '1px solid #E7E9EE',\n}\n\nconst innerHambugerContainer: SxStyleProp = {\n padding: '0px',\n position: 'relative',\n overflowX: 'hidden',\n}\n\nconst innerCardContainer: SxStyleProp = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n}\n\nconst arrowIcon: SxStyleProp = {\n padding: '0',\n height: '50px',\n width: '50px',\n color: 'muted.1',\n}\n\nconst arrowIconActive: SxStyleProp = {\n ...arrowIcon,\n color: '#D71D55',\n}\n\nexport default {\n menuContainer,\n cardContainer,\n sideMenuContainer,\n hamburgerSearchContainer,\n documentationContainer,\n updatesContainer,\n hamburgerContainer,\n innerHambugerContainer,\n innerCardContainer,\n arrowIcon,\n arrowIconActive,\n}\n","import Link from 'next/link.js'\nimport { Box, Flex, Text } from '@vtex/brand-ui'\n\nimport styles from './styles'\nimport { cardContainer, cardTitle, titleContainer } from './functions'\nimport { MouseEventHandler } from 'react'\nimport { DataElement } from 'utils/typings/types'\n\nexport interface DocumentProps extends DataElement {\n title: string\n}\nexport interface CardProps extends DocumentProps {\n containerType: 'dropdown' | 'see-also' | 'mobile'\n onClick?: MouseEventHandler | undefined\n}\nconst DocumentationCard = ({\n title,\n description,\n link,\n containerType,\n Icon,\n onClick,\n}: CardProps) => {\n return (\n \n \n \n \n \n \n {title}\n \n \n \n {description}\n \n \n \n \n )\n}\n\nexport default DocumentationCard\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst cardContainer: SxStyleProp = {\n my: ['16px', '16px', '16px', '16px', '16px', '16px', '24px'],\n padding: '8px',\n cursor: 'pointer',\n ':active, :hover': {\n borderRadius: '4px',\n backgroundColor: '#F8F7FC',\n\n '.description': {\n color: 'muted.0',\n },\n },\n\n ':active .title': {\n color: '#0C1522',\n },\n\n ':hover .title': {\n color: '#000711',\n },\n}\n\nconst titleContainer: SxStyleProp = {\n alignItems: 'center',\n}\n\nconst title: SxStyleProp = {\n ml: '8px',\n color: 'muted.0',\n}\n\nconst description: SxStyleProp = {\n ml: '32px',\n fontSize: '16px',\n lineHeight: '18px',\n color: 'muted.1',\n}\n\nexport default {\n cardContainer,\n description,\n title,\n titleContainer,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\nimport styles from './styles'\n\nconst cardContainer = (containerType: string) => {\n const containerWidth =\n containerType === 'dropdown'\n ? ['308px', '442px', '444px', '480px']\n : containerType === 'mobile'\n ? '100%'\n : ['324px', '544px', '544px', '544px', '544px', '720px', '1400px']\n\n const textWidth =\n containerType === 'dropdown'\n ? ['276px', '410px', '412px', '432px']\n : containerType === 'mobile'\n ? '90%'\n : ['276px', '496px', '496px', '496px', '496px', '672px', '1352px']\n\n const cardContainer: SxStyleProp = {\n ...styles.cardContainer,\n width: containerWidth,\n\n '.title, .description': {\n width: textWidth,\n },\n }\n\n return cardContainer\n}\n\nconst titleContainer = (containerType: string) => {\n const marginBottom =\n containerType === 'dropdown' ? ['5px', '5px', '5px', '1px'] : '8px'\n\n const titleContainer: SxStyleProp = {\n ...styles.titleContainer,\n marginBottom,\n }\n\n return titleContainer\n}\n\nconst cardTitle = (containerType: string) => {\n const titleAttributes =\n containerType === 'see-also'\n ? {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n fontSize: '18px',\n lineHeight: '24px',\n }\n : {\n fontSize: '16px',\n lineHeight: '22px',\n }\n\n const cardTitle: SxStyleProp = {\n ...styles.title,\n ...titleAttributes,\n }\n\n return cardTitle\n}\n\nexport { cardContainer, cardTitle, titleContainer }\n","import { Configure, InstantSearch } from 'react-instantsearch-dom'\nimport SearchBox from './search-box'\nimport Results from './results-box'\nimport { Box } from '@vtex/brand-ui'\nimport { useContext, useRef, useState } from 'react'\nimport useClickOutside from 'utils/hooks/useClickOutside'\nimport { searchClient, searchIndex } from 'utils/config/search-config'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nexport default function SearchInput() {\n const { locale } = useContext(LibraryContext)\n const [focusOut, setfocusOut] = useState<{ modaltoggle: boolean }>({\n modaltoggle: true,\n })\n const resultsBox = useRef()\n useClickOutside(resultsBox, setfocusOut)\n\n const changeFocus = (value: boolean) => {\n setfocusOut({ modaltoggle: value })\n }\n\n return (\n \n {searchClient.instantSearchConfigs && (\n \n )}\n {searchClient.useLanguageFilter && (\n \n )}\n {!searchClient.useLanguageFilter && }\n setfocusOut({ modaltoggle: true })} ref={resultsBox}>\n \n {focusOut.modaltoggle && }\n \n \n )\n}\n","import { useRef, KeyboardEvent, useContext } from 'react'\nimport { useRouter } from 'next/router.js'\nimport { Flex } from '@vtex/brand-ui'\nimport { connectSearchBox } from 'react-instantsearch-dom'\nimport { SearchBoxProvided } from 'react-instantsearch-core'\n\nimport SearchIcon from 'components/icons/search-icon'\nimport styles from './styles'\nimport { messages } from 'utils/get-message'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\ninterface SearchBoxProps extends SearchBoxProvided {\n changeFocus: (value: boolean) => void\n}\n\nconst SearchBoxComponent = ({\n currentRefinement,\n refine,\n changeFocus,\n}: SearchBoxProps) => {\n const router = useRouter()\n const inputRef = useRef(null)\n const { locale } = useContext(LibraryContext)\n\n const handleClick = () => {\n if (inputRef.current != null) inputRef.current.focus()\n }\n\n const keyPressed = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n router.push({\n pathname: '/search',\n query: { keyword: inputRef.current?.value },\n })\n inputRef.current?.blur()\n changeFocus(false)\n }\n }\n\n return (\n \n \n keyPressed(e)}\n onChange={(e) => refine(e.currentTarget.value)}\n />\n \n )\n}\n\nconst SearchBox = connectSearchBox(SearchBoxComponent)\n\nexport default SearchBox\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst resultsOuterContainer: SxStyleProp = {\n position: 'relative',\n}\n\nconst resultsInnerContainer: SxStyleProp = {\n top: 0,\n position: 'absolute',\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\n border: '1px solid #B9B9B9',\n borderRadius: '0px 0px 4px 4px',\n background: '#FFFFFF',\n}\n\nconst resultsBox: SxStyleProp = {\n padding: '16px',\n}\n\nconst seeAll: SxStyleProp = {\n padding: '24px',\n borderTop: '1px solid #E7E9EE',\n color: 'muted.0',\n cursor: 'pointer',\n ':hover': {\n background: '#F8F7FC',\n borderTop: '1px solid #d0cdcd',\n },\n}\n\nconst hitBox: SxStyleProp = {\n padding: '8px',\n cursor: 'pointer',\n ':active, :hover': {\n backgroundColor: '#F8F7FC',\n borderRadius: '4px',\n '.hit-content-title': {\n color: '#000711',\n },\n '.hit-icon': {\n '> path': {\n stroke: '#000711',\n },\n },\n },\n}\n\nconst hitIcon: SxStyleProp = {\n width: '16px',\n height: '16px',\n marginRight: '8px',\n}\n\nconst hitContentContainer: SxStyleProp = {\n width: '100%',\n}\n\nconst hitContent: SxStyleProp = {\n color: 'muted.0',\n fontSize: ['14px', '16px'],\n lineHeight: ['20px', '22px'],\n width: '100%',\n}\n\nconst hitContentSmall: SxStyleProp = {\n color: 'muted.0',\n fontSize: ['14px', '16px'],\n lineHeight: ['20px', '22px'],\n width: '100%',\n whiteSpace: 'pre',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst alignCenter: SxStyleProp = {\n alignItems: 'center',\n}\n\nconst hitBreadCrumb: SxStyleProp = {\n color: 'muted.1',\n fontSize: '12px',\n lineHeight: '16px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst hitBreadCrumbIn: SxStyleProp = {\n ...hitBreadCrumb,\n minWidth: 'fit-content',\n}\n\nconst hitBreadCrumbArrow: SxStyleProp = {\n width: '16px',\n height: '16px',\n color: 'muted.2',\n}\n\nconst searchInput: SxStyleProp = {\n width: '76px',\n background: 'none',\n border: '#F4F4F4',\n color: '#545454',\n fontSize: ['14px'],\n flex: 0,\n transition: 'flex 0.3s',\n}\n\nconst searchIcon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n mr: '8px',\n flex: 0,\n maxWidth: 'fit-content',\n}\n\nconst searchContainer: SxStyleProp = {\n paddingLeft: '12px',\n alignItems: 'center',\n justifyContent: 'center',\n background: '#F4F4F4',\n width: '288px',\n height: '40px',\n borderRadius: '4px',\n transition: 'all 0.3s ease-out',\n cursor: 'pointer',\n ':hover': {\n transition: 'all 0.3s ease-out',\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\n border: '1px solid #3B3B3B',\n },\n ':focus-within': {\n background: '#FFFFFF',\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\n transition: 'all 0.3s ease-out',\n border: '1px solid #3B3B3B',\n boxShadow: '0px 0px 0px 1px #FFFFFF, 0px 0px 0px 3px #B9B9B9',\n flex: 'auto',\n '.searchComponent': {\n flex: '1 !important',\n },\n },\n '.searchComponent': {\n ':placeholder-shown': {\n width: '76px',\n },\n ':not(:placeholder-shown)': {\n flex: '1 !important',\n },\n },\n}\n\nconst noResults: SxStyleProp = {\n justifyContent: 'center',\n alignContent: 'center',\n padding: '12px',\n}\n\nconst hitContentHighlighted: SxStyleProp = {\n ...hitContent,\n color: '#4A596B',\n width: 'auto',\n background: '#FFE0EF',\n}\n\nexport default {\n resultsOuterContainer,\n resultsInnerContainer,\n resultsBox,\n seeAll,\n hitBox,\n hitIcon,\n hitContentContainer,\n hitContent,\n hitContentSmall,\n hitBreadCrumb,\n hitBreadCrumbIn,\n hitBreadCrumbArrow,\n searchInput,\n searchIcon,\n searchContainer,\n alignCenter,\n noResults,\n hitContentHighlighted,\n}\n","import { useRouter } from 'next/router.js'\nimport Link from 'next/link.js'\nimport {\n connectStateResults,\n connectHitInsights,\n} from 'react-instantsearch-dom'\nimport {\n Hit,\n StateResultsProvided,\n WrappedInsightsClient,\n} from 'react-instantsearch-core'\nimport aa from 'search-insights'\nimport { Box, Flex, IconCaret, Text } from '@vtex/brand-ui'\n\nimport {\n getBreadcrumbs,\n getIconFromSection,\n getRelativeURL,\n} from 'utils/search-utils'\nimport CustomHighlight from './customHighlight'\nimport styles from './styles'\nimport { useContext } from 'react'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\n\ninterface HitProps {\n hit: Hit\n insights: WrappedInsightsClient\n}\n\ninterface HitsBoxProps extends StateResultsProvided {\n changeFocus: (value: boolean) => void\n}\n\nconst Hit2 = ({ hit, insights }: HitProps) => {\n const { sidebarSections } = useContext(LibraryContext)\n const breadcrumbsList = getBreadcrumbs(hit)\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\n return (\n \n \n insights('clickedObjectIDsAfterSearch', {\n eventName: 'Search in top bar',\n objectIDs: [hit.objectID],\n })\n }\n >\n \n \n {DocIcon && }\n \n \n \n \n \n {`In ${hit.doctype}`}\n {breadcrumbsList.length > 0 && (\n \n )}\n {breadcrumbsList.map((filter: string, index: number) => (\n \n {filter}\n {index < breadcrumbsList.length - 1 ? (\n \n ) : null}\n \n ))}\n \n \n \n \n )\n}\n\nconst HitWithInsights = connectHitInsights(aa)(Hit2)\n\nconst HitsBox = connectStateResults(\n ({ searchState, searchResults, changeFocus }) => {\n const router = useRouter()\n const { locale } = useContext(LibraryContext)\n\n const seeAllSubmit = (keyword: string) => {\n router.push({\n pathname: '/search',\n query: { keyword },\n })\n changeFocus(false)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const setQueryIDAndPosition = (hit: Hit, index: number): any => {\n return {\n ...hit,\n __queryID: searchResults.queryID || '',\n __position: searchResults.hitsPerPage * searchResults.page + index + 1,\n }\n }\n\n return (\n <>\n {searchResults && (\n \n \n \n {searchResults.hits.map(\n (searchResult, index) =>\n index < 7 && (\n changeFocus(false)}\n >\n \n \n )\n )}\n \n {searchResults.hits.length > 7 && (\n seeAllSubmit(searchState.query || '')}\n >\n \n {messages[locale]['search_input.see_all'] || 'See all results'}\n \n \n )}\n {!searchResults.hits.length && (\n \n \n {messages[locale]['search_input.empty'] || 'No results found. Try different search terms.'}\n \n \n )}\n \n \n )}\n \n )\n }\n)\n\nexport default HitsBox\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst APIGuidesIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n)\n\nexport default APIGuidesIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst APIReferenceIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default APIReferenceIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst AppDevelopmentIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default AppDevelopmentIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ReleaseNotesIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n)\n\nexport default ReleaseNotesIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst StorefrontDevelopmentIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n)\n\nexport default StorefrontDevelopmentIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst VTEXIOAppsIcon = (props: IconProps) => (\n \n \n \n \n \n \n)\n\nexport default VTEXIOAppsIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst TroubleshootingIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default TroubleshootingIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst AddedIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default AddedIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst DeprecatedIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default DeprecatedIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst FixedIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default FixedIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ImprovedIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default ImprovedIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst RemovedIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default RemovedIcon\n","import { Hit } from 'react-instantsearch-core'\n\nimport APIGuidesIcon from 'components/icons/api-guides-icon'\nimport APIReferenceIcon from 'components/icons/api-reference-icon'\nimport AppDevelopmentIcon from 'components/icons/app-development-icon'\nimport ReleaseNotesIcon from 'components/icons/release-notes-icon'\nimport StorefrontDevelopmentIcon from 'components/icons/storefront-development-icon'\nimport VTEXIOAppsIcon from 'components/icons/vtex-io-apps-icon'\nimport TroubleshootingIcon from 'components/icons/troubleshooting-icon'\nimport { IconComponent, Section } from './typings/types'\nimport AddedIcon from 'components/icons/added-icon'\nimport DeprecatedIcon from 'components/icons/deprecated-icon'\nimport FixedIcon from 'components/icons/fixed-icon'\nimport ImprovedIcon from 'components/icons/improved-icon'\nimport RemovedIcon from 'components/icons/removed-icon'\n\nexport const getBreadcrumbs = (hit: Hit) => {\n const breadcrumbs: string[] = []\n if (hit.doctype === 'API Reference' && hit.doccategory)\n breadcrumbs.push(hit.doccategory)\n breadcrumbs.push(hit.doctitle)\n return breadcrumbs\n}\n\nexport const getRelativeURL = (url: string) => {\n const relativeURL = url.replace(/^(?:\\/\\/|[^/]+)*\\//, '')\n return '/' + relativeURL\n}\n\ninterface IconsI {\n name: string\n Icon: IconComponent\n}\n\nconst iconsMap: IconsI[] = [\n {\n Icon: APIGuidesIcon,\n name: 'Guides',\n },\n {\n Icon: APIReferenceIcon,\n name: 'API Reference',\n },\n {\n Icon: AppDevelopmentIcon,\n name: 'App Development',\n },\n {\n Icon: StorefrontDevelopmentIcon,\n name: 'Storefront Development',\n },\n {\n Icon: VTEXIOAppsIcon,\n name: 'VTEX IO Apps',\n },\n {\n Icon: TroubleshootingIcon,\n name: 'Troubleshooting',\n },\n {\n Icon: ReleaseNotesIcon,\n name: 'Release Notes',\n },\n]\n\nexport const getIcon = (name: string) => {\n return iconsMap.find((icon) => icon.name === name)?.Icon\n}\n\nexport const getIconFromSection = (sections: Section[][], id: string) => {\n return sections.flat().find((section) => section.id === id)?.Icon\n}\n\nexport type ActionType =\n | 'added'\n | 'deprecated'\n | 'fixed'\n | 'improved'\n | 'removed'\nexport interface Action {\n type: ActionType\n title: string\n Icon: IconComponent\n}\n\nconst actions: Action[] = [\n {\n type: 'added',\n title: 'Added',\n Icon: AddedIcon,\n },\n {\n type: 'deprecated',\n title: 'Deprecated',\n Icon: DeprecatedIcon,\n },\n {\n type: 'fixed',\n title: 'Fixed',\n Icon: FixedIcon,\n },\n {\n type: 'improved',\n title: 'Improved',\n Icon: ImprovedIcon,\n },\n {\n type: 'removed',\n title: 'Removed',\n Icon: RemovedIcon,\n },\n]\n\nexport const getAction = (actionType: ActionType): Action => {\n return actions.find((action) => action.type === actionType) as Action\n}\n\nexport const getTitleById = (sections: Section[][], id: string) => {\n return sections.flat().find((item) => item.id === id)?.title || id\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { connectHighlight } from 'react-instantsearch-dom'\nimport { HighlightProps, Hit } from 'react-instantsearch-core'\nimport { Flex, Text } from '@vtex/brand-ui'\nimport styles from './styles'\n\ninterface HighLightPartsProps {\n index: number\n isBetween: boolean\n size: number\n}\n\ninterface HitHighlightProps {\n value: string\n isHighlighted: boolean\n}\ninterface CustomHighlightProps extends HighlightProps {\n searchPage?: boolean\n}\n\nconst Highlight = ({\n highlight,\n attribute,\n hit,\n searchPage,\n}: CustomHighlightProps) => {\n const [parsedHit, setParsedHit] = useState([])\n const textContainer = useRef(null)\n const hitHighlights: HitHighlightProps[] = highlight({\n highlightProperty: '_highlightResult',\n attribute: hit.type != 'content' ? `hierarchy.${hit.type}` : attribute,\n hit,\n })\n const maxDescriptionSize = 700\n const ellipsedContent: HitHighlightProps[] = []\n if (searchPage) {\n let charCount = 0\n hitHighlights.forEach((part) => {\n if (maxDescriptionSize - charCount <= 0) return\n if (part.value.length + charCount >= maxDescriptionSize) {\n part.value =\n part.value.slice(0, maxDescriptionSize - charCount - 3) + '...'\n }\n charCount += part.value.length\n ellipsedContent.push(part)\n })\n }\n\n useEffect(() => {\n if (searchPage) return\n const titleSize = textContainer.current\n ? textContainer.current.offsetWidth / 7.75\n : 40\n\n const highlightParts: HighLightPartsProps[] = []\n let highlightCount = 0,\n highlightLength = 0\n\n hitHighlights.forEach((match: HitHighlightProps, index: number) => {\n const isBetween =\n index > 0 && index < hitHighlights.length - 1 ? true : false\n if (match.isHighlighted) {\n if (isBetween) highlightCount++\n highlightCount++\n highlightLength += match.value.length\n } else {\n highlightParts.push({\n index,\n isBetween,\n size: match.value.length,\n })\n }\n })\n\n highlightParts.sort(\n (a: HighLightPartsProps, b: HighLightPartsProps) => a.size - b.size\n )\n\n let sizeRemaining = titleSize - highlightLength\n let size = sizeRemaining / (highlightCount || 1)\n\n highlightParts.forEach((match: HighLightPartsProps) => {\n const value = hitHighlights[match.index].value\n if (match.isBetween) {\n if (match.size >= size * 2) {\n const reticences = (size * 2 - 3) / 2\n hitHighlights[match.index].value =\n value.slice(0, reticences) +\n '...' +\n value.slice(value.length - reticences)\n sizeRemaining -= size * 2\n } else {\n sizeRemaining -= match.size\n }\n highlightCount -= 2\n } else {\n if (match.size >= size) {\n if (match.index === 0)\n hitHighlights[match.index].value =\n '...' + value.slice(value.length - (size - 3))\n else\n hitHighlights[match.index].value = value.slice(0, size - 3) + '...'\n sizeRemaining -= size\n } else {\n sizeRemaining -= match.size\n }\n highlightCount -= 1\n }\n size = sizeRemaining / highlightCount\n hitHighlights[match.index].value = hitHighlights[\n match.index\n ].value.replace(/\\s+/g, '\\u00A0')\n })\n setParsedHit(hitHighlights)\n }, [hit, textContainer.current])\n\n return (\n \n \n {(searchPage ? ellipsedContent : parsedHit).map(\n (part: HitHighlightProps, index: number) =>\n part.isHighlighted ? (\n \n {part.value}\n \n ) : (\n part.value\n )\n )}\n \n \n )\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface HighlightPassedThru {\n hit: Hit\n attribute: string\n highlightProperty?: string | undefined\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst connectedHighlight: React.ComponentClass> =\n connectHighlight(Highlight)\n\nexport default connectedHighlight\n","import algoliasearch, { AlgoliaSearchOptions } from 'algoliasearch/lite'\nimport aa from 'search-insights'\nimport { MultipleQueriesQuery } from '@algolia/client-search'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport let searchClient: any = {}\nexport let searchIndex = ''\n\ninterface AlgoliaConfig {\n appId: string\n apiKey: string\n index: string\n algoliaOptions?: AlgoliaSearchOptions\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customOptions?: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instantSearchConfigs?: any\n useLanguageFilter?: boolean\n}\n\nconst createAlgoliaClient = (config: AlgoliaConfig) => {\n const {\n apiKey,\n appId,\n index,\n algoliaOptions,\n customOptions,\n instantSearchConfigs,\n useLanguageFilter = true,\n } = config\n searchIndex = index\n\n aa('init', {\n appId: appId || '',\n apiKey: apiKey || '',\n useCookie: false,\n })\n\n aa('getUserToken', null, (err) => {\n if (err) {\n console.error(err)\n return\n }\n })\n\n const algoliaClient = algoliasearch(appId || '', apiKey || '', algoliaOptions)\n\n searchClient = {\n ...algoliaClient,\n ...customOptions,\n instantSearchConfigs,\n useLanguageFilter,\n search(requests: MultipleQueriesQuery[]) {\n if (requests.every(({ params }) => !params?.query)) return\n return algoliaClient.search(requests)\n },\n }\n}\n\nexport default createAlgoliaClient\n","import { Flex, Text, Link } from '@vtex/brand-ui'\nimport EditIcon from 'components/icons/edit-icon'\nimport LikeIcon from 'components/icons/like-icon'\nimport LikeSelectedIcon from 'components/icons/like-selected-icon'\nimport { useContext, useEffect, useRef, useState } from 'react'\nimport styles from './styles'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\nimport ShareButton from 'components/share-button'\n\nexport interface DocPath {\n /** Slug that corresponds to the current page. */\n slug?: string\n /** Github edit URL to the corresponding documentation file. */\n urlToEdit?: string\n /** Whether is possible for the user to suggest edits or not. */\n suggestEdits?: boolean\n /** Include or not a share button. */\n shareButton?: boolean\n /** Executes when the user sends the feedback. Receives whether it was positive (liked). */\n sendFeedback: (liked: boolean) => Promise\n /** Whether to render the small version of the component or not. */\n small?: boolean\n}\n\nconst FeedbackSection = ({\n slug,\n urlToEdit,\n suggestEdits = true,\n shareButton = false,\n sendFeedback,\n small = false,\n}: DocPath) => {\n const [feedback, setFeedback] = useState(undefined)\n const { locale } = useContext(LibraryContext)\n\n // Reset feedback selection whenever the page (slug) changes\n useEffect(() => {\n setFeedback(undefined)\n }, [slug])\n\n const handleSend = async (liked: boolean) => {\n if (feedback !== undefined) return\n setFeedback(liked)\n try {\n await sendFeedback(liked)\n } catch (e) {\n setFeedback(undefined)\n }\n }\n\n return (\n \n \n \n {feedback !== undefined\n ? messages[locale]['feedback_section.response']\n : messages[locale]['feedback_section.question']}\n \n\n \n {/* LIKE */}\n handleSend(true)}\n role=\"button\"\n aria-pressed={feedback === true}\n data-cy=\"feedback-section-like\"\n >\n {feedback === true ? (\n \n ) : (\n \n )}\n {!small && (\n {messages[locale]['feedback_section.positive']}\n )}\n \n\n {/* DISLIKE */}\n handleSend(false)}\n role=\"button\"\n aria-pressed={feedback === false}\n data-cy=\"feedback-section-dislike\"\n >\n {feedback === false ? (\n \n ) : (\n \n )}\n {!small && (\n {messages[locale]['feedback_section.negative']}\n )}\n \n \n \n {suggestEdits && (\n \n \n {messages[locale]['feedback_section.edit']}\n \n )}\n {shareButton && (\n \n )}\n \n )\n}\n\nexport default FeedbackSection\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst EditIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default EditIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LikeIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default LikeIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LikeSelectedIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default LikeSelectedIcon\n","import { SxStyleProp } from '@vtex/brand-ui'\n\ntype StyleFn = (opts?: { small?: boolean }) => SxStyleProp\n\nconst container: StyleFn = ({ small } = {}) => ({\n width: '100%',\n flexDirection: small ? 'column' : ['column', 'row'],\n alignItems: small ? 'flex-start' : 'center',\n alignContent: ['initial', 'space-between'],\n justifyContent: ['initial', 'space-between'],\n marginTop: small ? '0px' : '32px',\n marginBottom: small ? '0px' : '16px',\n gap: small ? '8px' : '0px',\n})\n\nconst question: StyleFn = ({ small } = {}) => ({\n fontSize: small ? '12px' : '16px',\n lineHeight: '18px',\n color: '#4A596B',\n})\n\nconst iconsContainer: StyleFn = ({ small } = {}) => ({\n display: 'flex',\n alignItems: 'center',\n gap: small ? '0px' : '4px',\n ml: small ? '3px' : '6px',\n})\n\nconst likeContainer: SxStyleProp = {\n paddingBottom: ['16px', '0'],\n borderBottom: ['1px solid #E7E9EE', 'none'],\n mt: ['8px', '0'],\n mb: ['16px', '0'],\n width: ['100%', 'auto'],\n justifyContent: ['center', 'initial'],\n alignItems: 'center',\n}\n\nconst likeIcon: SxStyleProp = {\n mr: '2px',\n}\n\nconst dislikeIcon: SxStyleProp = {\n mr: '2px',\n transform: 'rotateX(180deg) rotateY(180deg)',\n}\n\nconst button: SxStyleProp = {\n ':hover': {\n cursor: 'pointer',\n color: '#000711',\n 'svg > path': {\n stroke: '#000711',\n },\n },\n}\n\nconst buttonActive: SxStyleProp = {\n cursor: 'pointer',\n color: '#000711',\n 'svg > path': {\n stroke: '#000711',\n },\n}\n\nconst selectedButton: SxStyleProp = {\n color: 'muted.1',\n}\n\nconst box: StyleFn = ({ small } = {}) => ({\n alignItems: 'center',\n color: 'muted.0',\n fontSize: small ? '12px' : '16px',\n lineHeight: '22px',\n})\n\nconst disabled: SxStyleProp = {\n display: 'none !important',\n}\n\nconst editContainer: StyleFn = ({ small } = {}) => ({\n ...box({ small }),\n ...button,\n ':hover': {\n color: '#000711 !important',\n },\n // ml: ['0', 'auto'],\n color: '#4A596B !important',\n display: 'flex',\n})\n\nconst editIcon: SxStyleProp = { mr: '4px' }\n\nconst shareButton: SxStyleProp = {\n // ml: ['0', 'auto'],\n}\n\nexport default {\n disabled,\n container,\n question,\n likeContainer,\n likeIcon,\n dislikeIcon,\n editContainer,\n editIcon,\n box,\n button,\n buttonActive,\n selectedButton,\n shareButton,\n iconsContainer,\n}\n","import { Box, Button, Flex, Text } from '@vtex/brand-ui'\nimport FacebookIcon from 'components/icons/facebook-icon'\nimport LinkedinIcon from 'components/icons/linkedin-icon'\nimport ShareIcon from 'components/icons/share-icon'\nimport TwitterIcon from 'components/icons/twitter-icon'\nimport { useRef, useState } from 'react'\nimport {\n FacebookShareButton,\n LinkedinShareButton,\n TwitterShareButton,\n EmailShareButton,\n} from 'react-share'\nimport styles from './styles'\nimport EmailIcon from 'components/icons/email-icon'\nimport LinkIcon from 'components/icons/link-icon'\nimport { SxStyleProp } from '@vtex/brand-ui'\nimport useClickOutside from 'utils/hooks/useClickOutside'\n\ninterface Props {\n url: string\n sx?: SxStyleProp\n}\n\nconst ShareButton = ({ url, sx={} }: Props) => {\n const [isOpen, setIsOpen] = useState(false)\n const containerRef = useRef()\n useClickOutside(containerRef, () => setIsOpen(false))\n\n const handleCopyLink = async () => {\n try {\n if (window) await navigator.clipboard.writeText(window.location.href)\n } catch (error) {\n console.error('Error copying link to clipboard:', error)\n }\n }\n\n return (\n \n setIsOpen(!isOpen)}\n >\n Share\n \n {isOpen && (\n \n \n \n Copy link\n \n \n \n \n \n E-mail\n \n \n \n \n \n Twitter\n \n \n \n \n \n Facebook\n \n \n \n \n \n LinkedIn\n \n \n \n )}\n \n )\n}\n\nexport default ShareButton\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst FacebookIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default FacebookIcon\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LinkedinIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default LinkedinIcon\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ShareIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default ShareIcon\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst TwitterIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default TwitterIcon\n\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n position: 'relative',\n height: '24px',\n}\n\nconst button: SxStyleProp = {\n cursor: 'pointer',\n textTransform: 'none',\n fontSize: '16px',\n lineHeight: '18px',\n color: '#4A596B',\n width: '24px',\n height: '24px',\n transition: '0.3s',\n ':hover': {\n color: '#000711 !important',\n textDecoration: 'none',\n },\n alignItems: 'start',\n}\n\nconst shareIcon: SxStyleProp = {\n marginRight: '4px',\n}\n\nconst innerButton: SxStyleProp = {\n gap: '16px',\n color: '#A1AAB7',\n cursor: 'pointer',\n transition: '0.3s',\n ':hover': {\n color: '#4A4A4A',\n },\n alignItems: 'center',\n}\n\nconst innerContainer: SxStyleProp = {\n position: 'absolute',\n backgroundColor: 'white',\n flexDirection: 'column',\n top: '100%',\n right: '0',\n mt: '8px',\n padding: '16px',\n gap: '16px',\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n borderRadius: '5px',\n\n ':before': {\n content: \"''\",\n position: 'absolute',\n top: '-8px',\n right: '8px',\n borderLeft: '8px solid transparent',\n borderRight: '8px solid transparent',\n borderBottom: '8px solid white',\n boxShadow: '0 16px 10px -17px rgba(0, 0, 0, 0.5)',\n },\n}\n\nconst divider: SxStyleProp = {\n borderBottom: '1px solid #E7E9EE',\n}\n\nexport default {\n container,\n button,\n shareIcon,\n innerButton,\n innerContainer,\n divider,\n}\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst EmailIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default EmailIcon\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LinkIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default LinkIcon\n\n","import { Box, Flex } from '@vtex/brand-ui'\nimport SearchSections from 'components/search-sections'\nimport SearchResults from 'components/search-results'\nimport SearchFilterTabBar from 'components/search-filter-tab-bar'\nimport SearchContextProvider from 'utils/context/search'\nimport styles from './styles'\nimport SearchInput from 'components/search-input'\n\nconst Search = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default Search\n","import { Box } from '@vtex/brand-ui'\n\nimport SearchSection from 'components/search-section'\nimport styles from './styles'\nimport { useContext } from 'react'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nconst SearchSections = () => {\n const { sidebarSections } = useContext(LibraryContext)\n\n const internalOnlySections = sidebarSections.map((section) =>\n section.filter((item) => !item.isExternalLink)\n )\n\n return (\n \n {internalOnlySections.map((sections, id) => (\n \n {id === 0 && }\n {sections.map((section, index) => (\n \n ))}\n \n ))}\n \n )\n}\n\nexport default SearchSections\n","import { Box, Flex, Text } from '@vtex/brand-ui'\nimport { useContext, useEffect } from 'react'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\nimport styles from './styles'\nimport { useRouter } from 'next/router.js'\nimport { FilterType, SearchContext } from 'utils/context/search'\nimport { Section } from 'utils/typings/types'\n\ninterface SearchSectionProps {\n dataElement: Section | null\n index?: number\n}\n\nconst SearchSection = ({ dataElement, index }: SearchSectionProps) => {\n const router = useRouter()\n const { filterSelectedSection, ocurrenceCount, changeFilterSelectedSection } =\n useContext(SearchContext)\n const { locale } = useContext(LibraryContext)\n\n const updateFilter = (value: FilterType) => {\n router.query.filter = value\n changeFilterSelectedSection(value)\n }\n\n useEffect(() => {\n updateFilter('')\n }, [router.query])\n\n return !dataElement ? (\n updateFilter('')}>\n \n {messages[locale]['search_results.all'] || 'All results' }\n \n \n {ocurrenceCount['']}\n \n \n ) : (\n updateFilter(dataElement.id)}\n >\n \n \n \n {dataElement.title}\n \n \n \n {ocurrenceCount[dataElement.id] || 0}\n \n \n )\n}\n\nexport default SearchSection\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sectionContainer: SxStyleProp = {\n justifyContent: 'space-between',\n padding: '8px',\n mb: '8px',\n cursor: 'pointer',\n ':active, :hover': {\n backgroundColor: '#F8F7FC',\n borderRadius: '4px',\n '.search-section-title': {\n color: '#000711',\n },\n '.search-section-count': {\n background: '#E7E9EE',\n },\n },\n}\n\nconst sectionIconTitleBox: SxStyleProp = {\n alignItems: 'center',\n}\n\nconst sectionIcon: SxStyleProp = {\n width: '16px',\n height: '16px',\n minWidth: '16px',\n minHeight: '16px',\n mr: '8px',\n}\n\nconst sectionTitle: SxStyleProp = {\n fontSize: '12px',\n lineHeight: '16px',\n}\n\nconst sectionTitleActive: SxStyleProp = {\n ...sectionTitle,\n color: '#142032',\n fontWeight: '600',\n}\n\nconst sectionCount: SxStyleProp = {\n background: '#F8F7FC',\n borderRadius: '24px',\n width: 'auto',\n textAlign: 'center',\n px: '8px',\n fontSize: '12px',\n lineHeight: '16px',\n}\n\nconst allResultsText: SxStyleProp = {\n ...sectionTitle,\n ml: '24px',\n}\n\nconst allResultsTextActive: SxStyleProp = {\n ...allResultsText,\n fontWeight: 'bold',\n color: '#0C1522',\n}\n\nexport default {\n sectionContainer,\n sectionIconTitleBox,\n sectionIcon,\n sectionTitle,\n sectionTitleActive,\n sectionCount,\n allResultsText,\n allResultsTextActive,\n}\n","import {\n createContext,\n Dispatch,\n ReactNode,\n SetStateAction,\n useState,\n} from 'react'\n\nexport type FilterType = string\n\ntype OcurrenceType = {\n [key: string]: number\n}\n\ntype SearchContextType = {\n filterSelectedSection: FilterType\n changeFilterSelectedSection: Dispatch>\n ocurrenceCount: OcurrenceType\n updateOcurrenceCount: (resultsData: OcurrenceType) => void\n}\n\nexport const SearchContext = createContext({\n filterSelectedSection: '',\n changeFilterSelectedSection: () => undefined,\n ocurrenceCount: {},\n updateOcurrenceCount: () => undefined,\n})\n\ninterface Props {\n children: ReactNode\n}\n\nconst SearchContextProvider = ({ children }: Props) => {\n const [filterSelectedSection, changeFilterSelectedSection] =\n useState('')\n const [ocurrenceCount, changeOcurrenceCount] = useState({})\n\n const updateOcurrenceCount = (resultsData: OcurrenceType) => {\n changeOcurrenceCount(resultsData)\n }\n\n return (\n \n {children}\n \n )\n}\n\nexport default SearchContextProvider\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n display: ['none', 'none', 'none', 'initial'],\n height: '100%',\n width: '242px',\n border: '1px solid #E7E9EE',\n borderRadius: '4px',\n mr: ['32px', '32px', '32px', '32px', '32px', '32px', '64px'],\n mt: '96px',\n}\n\nconst notesSection: SxStyleProp = {\n px: '8px',\n paddingTop: '8px',\n}\n\nconst docsSection: SxStyleProp = {\n ...notesSection,\n borderBottom: '1px solid #E7E9EE',\n}\n\nexport default {\n container,\n notesSection,\n docsSection,\n}\n","import { useRouter } from 'next/router.js'\nimport { useContext, useState } from 'react'\n\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\nimport { Box, Text } from '@vtex/brand-ui'\n\nimport { Configure, InstantSearch } from 'react-instantsearch-dom'\nimport { SearchState } from 'react-instantsearch-core'\nimport InfiniteHits from './infiniteHits'\n\nimport styles from './styles'\nimport { SearchContext } from 'utils/context/search'\nimport { searchClient, searchIndex } from 'utils/config/search-config'\n\nconst SearchResults = () => {\n const router = useRouter()\n const { filterSelectedSection, ocurrenceCount } = useContext(SearchContext)\n const { locale } = useContext(LibraryContext)\n const filters = [\n `language:${locale}`,\n filterSelectedSection ? `doctype:\"${filterSelectedSection}\"` : '',\n ]\n .filter(Boolean)\n .join(' AND ')\n const [prevFilter, setPrevFilter] = useState('')\n const [searchState, setSearchState] = useState({})\n\n const updateSearchState = (currentState: SearchState) => {\n const page = filters !== prevFilter ? 1 : currentState.page || 1\n setPrevFilter(filters)\n setSearchState({\n ...currentState,\n page,\n })\n }\n\n return (\n \n \n {`${messages[locale]['search_results.showing'] || 'Showing'} ${\n ocurrenceCount[filterSelectedSection] === undefined\n ? ''\n : ocurrenceCount[filterSelectedSection]\n } ${messages[locale]['search_results.results_for'] || 'results for'} ${\n router.query.keyword\n } ${messages[locale]['search_results.in'] || 'in'} ${\n !filterSelectedSection\n ? messages[locale]['search_results.all_lowercase'] || 'all results'\n : filterSelectedSection\n }`}\n \n
\n \n \n updateSearchState(currentState)\n }\n >\n \n \n \n \n
\n )\n}\n\nexport default SearchResults\n","import { useContext, useEffect, useMemo, useRef } from 'react'\nimport {\n connectInfiniteHits,\n connectStateResults,\n} from 'react-instantsearch-dom'\nimport {\n Hit,\n InfiniteHitsProvided,\n StateResultsProvided,\n} from 'react-instantsearch-core'\nimport SearchCard from 'components/search-card'\nimport {\n ActionType,\n getIconFromSection,\n getRelativeURL,\n getTitleById,\n} from 'utils/search-utils'\nimport { Box, Flex } from '@vtex/brand-ui'\nimport { MethodType } from 'utils/typings/types'\nimport { SearchContext } from 'utils/context/search'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nexport type FilteredHit2 = Hit & { filteredMatches?: Hit[] }\n\ninterface HitProps {\n hit: FilteredHit2\n}\n\nconst HitCard = ({ hit }: HitProps) => {\n const { sidebarSections } = useContext(LibraryContext)\n const breadcrumbTitle = getTitleById(sidebarSections, hit.doctype)\n\n const breadcrumbs = [\n breadcrumbTitle,\n ...(hit.doccategory ? [hit.doccategory] : []),\n ,\n hit.doctitle,\n ]\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\n\n return (\n \n )\n}\n\nconst StateResults = connectStateResults(\n ({ searchResults }: StateResultsProvided) => {\n const { updateOcurrenceCount } = useContext(SearchContext)\n\n useEffect(() => {\n if (!searchResults) return\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const results = searchResults as any\n const isFilteringByDoctype =\n typeof results?._state.filters === 'string' &&\n results._state.filters.includes('doctype:')\n\n const facets = results?.facets as\n | Array<{\n name: string\n data: Record\n exhaustive?: boolean\n }>\n | undefined\n\n const doctypeFacet = facets?.find((facet) => facet.name === 'doctype')\n const nbHits = results?.nbHits ?? 0\n\n const formattedFacets: Record = {}\n\n if (doctypeFacet?.data) {\n Object.entries(doctypeFacet.data).forEach(([key, value]) => {\n if (typeof value === 'number') {\n formattedFacets[key] = value\n }\n })\n }\n\n formattedFacets[''] = nbHits\n\n if (!isFilteringByDoctype) {\n updateOcurrenceCount(formattedFacets)\n }\n }, [searchResults?.queryID])\n\n return null\n }\n)\n\nconst InfiniteHits = ({ hits, hasMore, refineNext }: InfiniteHitsProvided) => {\n const scrollRef = useRef(null)\n\n function onSentinelIntersection(entries: IntersectionObserverEntry[]) {\n entries.forEach((entry: IntersectionObserverEntry) => {\n if (entry.isIntersecting && hasMore) {\n refineNext()\n }\n })\n }\n\n const filteredResult = useMemo(() => {\n const mergeHits: FilteredHit2[] = [] //hitsData\n hits.forEach((hit) => {\n const alreadyExists = mergeHits.findIndex(\n (e) => e.url_without_anchor === hit.url_without_anchor\n )\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const filteredHit: any = { ...hit, filteredMatches: [] }\n if (alreadyExists >= 0) {\n mergeHits[alreadyExists].filteredMatches?.push(filteredHit)\n } else mergeHits.push(filteredHit)\n })\n return mergeHits\n }, [hits])\n\n useEffect(() => {\n const observer = new IntersectionObserver(onSentinelIntersection, {})\n\n if (scrollRef.current) observer.observe(scrollRef.current)\n return () => {\n observer.disconnect()\n }\n }, [hits])\n return (\n \n \n {filteredResult.map((hit: Hit, index: number) => (\n \n \n \n ))}\n \n \n )\n}\n\nexport default connectInfiniteHits(InfiniteHits)\n","import { Box, Flex, Text, IconCaret, Tooltip } from '@vtex/brand-ui'\n\nimport styles from './styles'\nimport Link from 'next/link.js'\nimport CustomHighlight from 'components/search-input/customHighlight'\nimport { useState } from 'react'\nimport { useContext } from 'react'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\nimport ExpandedResultsIcon from 'components/icons/expanded-results-icon'\nimport { Hit } from 'react-instantsearch-core'\nimport MethodCategory from 'components/method-category'\nimport { IconComponent, MethodType } from 'utils/typings/types'\nimport { ActionType, getAction } from 'utils/search-utils'\n\nexport type FilteredHit = Hit & { filteredMatches?: Hit[] }\ninterface SearchCardProps {\n doc: string\n title: string\n breadcrumbs?: string[]\n method?: MethodType\n actionType?: ActionType\n Icon?: IconComponent\n url: string\n hit: FilteredHit\n}\n\nconst SearchCard = ({\n Icon,\n title,\n method,\n breadcrumbs,\n actionType,\n url,\n hit,\n}: SearchCardProps) => {\n const actionValue = actionType ? getAction(actionType) : null\n const [toggleChildResults, setToggleChildResults] = useState(false)\n const { locale } = useContext(LibraryContext)\n return (\n \n \n \n \n {Icon && }\n {method ? (\n \n ) : null}\n {title === 'overview' && `${hit.doccategory} `}\n {title}\n \n \n \n \n \n {toggleChildResults &&\n hit.filteredMatches?.map((childHit, index: number) => (\n \n \n \n ))}\n \n {breadcrumbs ? (\n \n \n {messages[locale]['search_card.in'] || 'In'}\n \n {breadcrumbs.map((breadcrumb, index) => (\n \n \n {breadcrumb}\n \n {index < breadcrumbs.length - 1 ? (\n \n ) : null}\n \n ))}\n \n ) : null}\n {actionValue ? (\n \n {' '}\n {actionValue?.title}\n \n ) : null}\n \n {hit.filteredMatches && hit.filteredMatches.length > 0 && (\n {\n setToggleChildResults(!toggleChildResults)\n event.stopPropagation()\n }}\n >\n \n \n )}\n \n \n )\n}\n\nexport default SearchCard\n","import { SxStyleProp } from '@vtex/brand-ui'\nimport { methodsColors } from 'components/method-category/functions'\nimport { MethodType } from 'utils/typings/unionTypes'\n\nconst container: SxStyleProp = {\n justifyContent: 'space-between',\n borderRadius: '9px',\n border: '1px solid #DDDDDD',\n width: '100%',\n mb: '18px',\n paddingTop: '26px',\n paddingBottom: '10px',\n paddingLeft: ['13px', '44px'],\n paddingRight: ['13px', '34px'],\n background: '#FFFFFF',\n cursor: 'pointer',\n}\n\nconst containerActive = (method: MethodType | undefined): SxStyleProp => {\n const methodCategory = method ? methodsColors[method] : ''\n return {\n ...container,\n ':hover': {\n background: '#F8F7FC',\n '.searchCardTitle, .searchCardDescription': {\n color: '#142032',\n },\n '.method-category': {\n ...methodCategory,\n },\n },\n }\n}\n\nconst title: SxStyleProp = {\n display: 'flex',\n alignItems: 'flex-start',\n fontSize: ['16px', '18px'],\n lineHeight: ['22px', '24px'],\n color: 'muted.0',\n}\n\nconst httpMethod: SxStyleProp = {\n mr: '4px',\n}\n\nconst icon: SxStyleProp = {\n width: '24px',\n height: '24px',\n mr: '8px',\n path: {\n stroke: '#A1A8B3',\n },\n}\n\nconst description: SxStyleProp = {\n fontSize: '16px',\n lineHeight: '22px',\n paddingLeft: '32px',\n color: 'muted.0',\n mt: '4px',\n mb: '8px',\n}\n\nconst descriptionToggle: SxStyleProp = {\n height: 'auto',\n minWidth: 'auto',\n}\n\nconst descriptionExpandedItem: SxStyleProp = {\n mt: '24px',\n}\n\nconst breadcrumbsContainer: SxStyleProp = {\n display: ['none', 'flex'],\n paddingLeft: '32px',\n alignItems: 'center',\n}\n\nconst alignCenter: SxStyleProp = {\n alignItems: 'center',\n}\n\nconst documentation: SxStyleProp = {\n ...alignCenter,\n minWidth: 'max-content',\n}\n\nconst breadcrumb: SxStyleProp = {\n color: 'muted.1',\n fontSize: '16px',\n lineHeight: '18px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst lastBreadcrumb: SxStyleProp = {\n ...breadcrumb,\n margin: 'auto 0',\n display: 'block',\n overflow: 'hidden',\n maxWidth: 'max-content',\n whiteSpace: 'nowrap',\n}\n\nconst breadcrumbsIn: SxStyleProp = {\n ...breadcrumb,\n mr: '4px',\n minWidth: 'fit-content',\n}\n\nconst breadcrumbsArrow: SxStyleProp = {\n width: '16px',\n height: '16px',\n color: 'muted.2',\n}\n\nconst actionContainer: SxStyleProp = {\n paddingLeft: '32px',\n alignItems: 'center',\n}\n\nconst actionIcon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n height: '16px',\n mr: '8px',\n}\n\nexport default {\n containerActive,\n title,\n httpMethod,\n icon,\n description,\n descriptionToggle,\n descriptionExpandedItem,\n breadcrumbsContainer,\n alignCenter,\n documentation,\n breadcrumb,\n lastBreadcrumb,\n breadcrumbsIn,\n breadcrumbsArrow,\n actionContainer,\n actionIcon,\n}\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\ninterface ExpandedResultsProps extends IconProps {\n active: boolean\n}\n\nconst ExpandedResultsIcon = ({ active }: ExpandedResultsProps) =>\n active ? (\n \n \n \n \n ) : (\n \n \n \n \n \n )\n\nexport default ExpandedResultsIcon\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst resultContainer: SxStyleProp = {\n width: ['80%', '544px', '544px', '544px', '720px', '720px', '1400px'],\n paddingTop: ['32px', '32px', '32px', '64px'],\n hr: {\n marginTop: '16px',\n marginBottom: '32px',\n borderTop: 'none',\n borderColor: '#DDDDDD',\n display: ['none', 'none', 'none', 'block'],\n },\n}\n\nconst resultText: SxStyleProp = {\n mb: '16px',\n fontSize: '16px',\n lineHeight: '22px',\n display: ['none', 'none', 'none', 'initial'],\n}\n\nconst paginationContainer: SxStyleProp = {\n mt: ['48px', '115px'],\n mb: '34px',\n justifyContent: 'center',\n}\n\nconst paginationLink: SxStyleProp = {\n fontSize: '16px',\n lineHeight: '20px',\n color: '#EE2565',\n cursor: 'pointer',\n}\n\nconst paginationLinkDisabled: SxStyleProp = {\n ...paginationLink,\n color: 'muted.1',\n}\n\nconst paginationNumber: SxStyleProp = {\n display: 'flex',\n fontSize: ['14px', '16px'],\n lineHeight: '20px',\n color: '#4A596B',\n mx: ['18px', '27px'],\n}\n\nconst paginationActualNumber: SxStyleProp = {\n fontWeight: '700',\n mx: '4px',\n}\n\nconst noResults: SxStyleProp = {\n justifyContent: 'center',\n alignContent: 'center',\n padding: '12px',\n}\n\nexport default {\n resultContainer,\n resultText,\n paginationContainer,\n paginationLink,\n paginationLinkDisabled,\n paginationNumber,\n paginationActualNumber,\n noResults,\n}\n","import { useContext } from 'react'\nimport { Flex, Text } from '@vtex/brand-ui'\n\nimport styles from './styles'\nimport { SearchContext } from 'utils/context/search'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\n\nconst SearchFilterTab = ({ filter }: { filter: string }) => {\n const { filterSelectedSection, changeFilterSelectedSection, ocurrenceCount } =\n useContext(SearchContext)\n const { locale } = useContext(LibraryContext)\n\n return (\n changeFilterSelectedSection(filter)}\n >\n \n {filter || messages[locale]['search_results.all'] || 'All results'}\n \n {ocurrenceCount[filter] || 0}\n \n )\n}\n\nconst SearchFilterTabBar = () => {\n const { sidebarSections } = useContext(LibraryContext)\n return (\n \n \n {sidebarSections.flat().map((section) => {\n return \n })}\n \n )\n}\n\nexport default SearchFilterTabBar\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n display: ['flex', 'flex', 'flex', 'none'],\n overflowX: 'scroll',\n scrollbarWidth: 'none',\n '::-webkit-scrollbar': {\n display: 'none',\n },\n}\n\nconst tab: (active: boolean) => SxStyleProp = (active) => ({\n pt: '8px',\n pb: '14px',\n px: '24px',\n cursor: 'pointer',\n justifyContent: 'center',\n alignItems: 'center',\n borderBottom: `${active ? 2 : 1}px solid #${active ? 'D71D55' : 'DDDDDD'}`,\n minWidth: 'max-content',\n})\n\nconst tabTitle: (active: boolean) => SxStyleProp = (active) => ({\n fontSize: '14px',\n fontWeight: '600',\n lineHeight: '16.38px',\n whiteSpace: 'nowrap',\n color: `#${active ? 'D71D55' : '545454'}`,\n})\n\nconst tabCount: SxStyleProp = {\n px: '8px',\n ml: '2px',\n fontSize: '12px',\n fontWeight: '400',\n lineHeight: '16px',\n borderRadius: '24px',\n backgroundColor: '#F8F7FC',\n}\n\nexport default { container, tab, tabTitle, tabCount }\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst searchBarContainer: SxStyleProp = {\n display: ['flex', 'flex', 'flex', 'none'],\n justifyContent: 'center',\n py: '16px',\n}\n\nconst body: SxStyleProp = {\n background: '#FFFFFF',\n justifyContent: 'center',\n}\n\nexport default {\n searchBarContainer,\n body,\n}\n","import { ReactNode, useContext } from 'react'\nimport { CookieConsent } from 'react-cookie-consent'\nimport styles from './styles'\nimport { Flex, SxStyleProp, Text } from '@vtex/brand-ui'\nimport { messages } from 'utils/get-message'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport aa from 'search-insights'\n\ninterface Props {\n onAccept: () => void\n}\n\ninterface ButtonProps {\n children: ReactNode[]\n style: SxStyleProp\n}\n\nconst Button = ({ children, style, ...props }: ButtonProps) => {\n return (\n \n {children}\n \n )\n}\n\nconst CookieBar = ({ onAccept }: Props) => {\n const { locale } = useContext(LibraryContext)\n\n return (\n {\n aa('init', {\n partial: true,\n useCookie: true,\n })\n onAccept()\n }}\n declineButtonText={messages[locale]['cookie_bar.decline']}\n buttonText={messages[locale]['cookie_bar.accept']}\n ButtonComponent={Button}\n customButtonWrapperAttributes={{ style: styles.buttonContainer }}\n customContentAttributes={{ style: styles.barContent }}\n >\n {messages[locale]['cookie_bar.title']}\n {messages[locale]['cookie_bar.description']}\n \n )\n}\n\nexport default CookieBar\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst bar: SxStyleProp = {\n backgroundColor: '#FFF',\n borderRadius: '8px',\n color: '#5E6E84',\n padding: '20px',\n width: '80%',\n left: '50%',\n transform: 'translateX(-50%)',\n maxWidth: '1280px',\n alignItems: 'center',\n justifyContent: 'center',\n boxShadow: '0 0 10px rgba(0, 0, 0, 0.1)',\n}\n\nconst barContent: SxStyleProp = {\n display: 'flex',\n flex: '1 0 300px',\n flexDirection: 'column',\n maxWidth: '100%',\n}\n\nconst title: SxStyleProp = {\n color: '#5E6E84',\n marginBottom: '10px',\n lineHeight: '28px',\n fontSize: '25px',\n fontWeight: '400',\n}\n\nconst buttonContainer: SxStyleProp = {\n display: 'flex',\n flexWrap: 'wrap',\n gap: '10px',\n justifyContent: 'center',\n margin: '15px',\n}\n\nconst acceptButton: SxStyleProp = {\n background: '#F71963',\n color: '#FFF',\n padding: '7px 16px',\n borderRadius: '2px',\n margin: '0',\n height: '32px',\n fontWeight: '400',\n\n ':hover': {\n opacity: '0.7',\n },\n}\n\nconst declineButton: SxStyleProp = {\n border: '1px solid #F71963',\n background: '#FFF',\n color: '#F71963',\n borderRadius: '2px',\n fontWeight: '400',\n margin: '0',\n height: '32px',\n\n ':hover': {\n opacity: '0.7',\n },\n}\n\nexport default {\n bar,\n barContent,\n title,\n acceptButton,\n declineButton,\n buttonContainer,\n}\n","import { Button } from '@vtex/brand-ui'\nimport Tooltip from 'components/tooltip'\nimport CopyIcon from '../icons/copy-icon'\nimport { useState } from 'react'\nimport styles from './styles'\n\nconst CopyLinkButton = () => {\n const [tooltipText, setTooltipText] = useState('Copy')\n\n const handleCopy = () => {\n navigator.clipboard.writeText(window.location.href)\n setTooltipText('Copy')\n\n setTimeout(() => {\n setTooltipText('Copied!')\n }, 2000)\n }\n\n return (\n \n \n \n )\n}\n\nexport default CopyLinkButton\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CopyIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default CopyIcon\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst copyIcon: SxStyleProp = {\n marginRight: '4px',\n}\n\nconst copyLinkButton: SxStyleProp = {\n textTransform: 'none',\n color: '#3F3F3F',\n fontWeight: '100',\n fontSize: '12px',\n lineHeight: '18px',\n height: 'none',\n padding: '8px 5px 8px 8px',\n border: '1px solid #A1AAB7',\n backgroundColor: 'white',\n ':hover': {\n backgroundColor: '#EFEFEF',\n },\n}\n\nexport default {\n copyIcon,\n copyLinkButton,\n}\n","import { useState, useEffect } from 'react'\nimport styles from './styles'\nimport { Flex } from '@vtex/brand-ui'\nimport { IconComponent } from 'utils/typings/types'\n\ninterface InputProps {\n value: string\n Icon?: IconComponent\n placeholder?: string\n onChange: (value: string) => void\n}\n\nconst Input = ({ value, onChange, placeholder = '', Icon }: InputProps) => {\n const [inputValue, setInputValue] = useState(value ?? '')\n\n useEffect(() => {\n if (inputValue !== value) setInputValue(value)\n }, [value])\n\n return (\n \n {Icon && }\n {\n setInputValue(e.currentTarget.value)\n onChange(e.currentTarget.value)\n }}\n />\n \n )\n}\n\nexport default Input\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst input: SxStyleProp = {\n background: 'none',\n border: '#F4F4F4',\n color: '#545454',\n fontSize: ['14px'],\n width: '100%',\n transition: 'flex 0.3s',\n outline: 'none',\n}\n\nconst icon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n mr: '8px',\n flex: 0,\n maxWidth: 'fit-content',\n}\n\nconst container: SxStyleProp = {\n paddingLeft: '12px',\n alignItems: 'center',\n justifyContent: 'center',\n background: '#F4F4F4',\n width: '100%',\n height: '40px',\n borderRadius: '4px',\n transition: 'all 0.3s ease-out',\n cursor: 'pointer',\n border: '1px solid #F4F4F4',\n\n ':hover': {\n transition: 'all 0.3s ease-out',\n border: '1px solid #3B3B3B',\n },\n}\n\nexport default { container, input, icon }\n"],"mappings":"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","names":["Fragment","text","text","i","checker","version","encode","AuthMode","addMethods","createAuth","encode","init_client_common_esm","createAuth","AuthMode","addMethods","init_client_common_esm","init_client_common_esm","createAuth","AuthMode","addMethods","createAuth","AuthMode","createRetryablePromise","createWaitablePromise","shuffle","addMethods","encode","init_client_common_esm","init_client_common_esm","createAuth","AuthMode","shuffle","version","addMethods","createRetryablePromise","createWaitablePromise","encode","searchIndex","body","client_common_esm_exports","AuthMode","addMethods","createAuth","createRetryablePromise","createWaitablePromise","destroy","encode","shuffle","version","init_client_common_esm","parse","version","requester_node_http_esm_exports","createNodeHttpRequester","http","Agent","https","Agent$1","parse","defaultHttpAgent","defaultHttpsAgent","agentOptions","init_requester_node_http_esm","algoliasearch","algoliasearch","Box","useEffect","useRef","useState","Box","Flex","mermaid","jsx","jsxs","icon","link","Icon","jsx","PropTypes","Box","styles_default","jsx","Box","styles_default","useEffect","Box","Flex","Icon","jsx","jsxs","body","styles_default","jsx","jsxs","useEffect","Flex","styles_default","Box","Box","Flex","Link","container","styles_default","jsx","jsxs","title","description","Link","styles_default","Box","Flex","useEffect","useState","jsx","title","sidebarElementStatus","item","heading","styles_default","img","heading","code","blockquote","blockquoteInfo","blockquoteDanger","blockquoteWarning","blockquoteSuccess","flexWrap","svgContainer","messages","jsx","jsxs","useState","styles_default","icon","useRef","useEffect","mermaid","Box","Flex","item","jsx","Box","useContext","useEffect","Link","Box","Text","styles_default","jsx","jsxs","useContext","useEffect","headings","item","title","Link","Text","styles_default","Box","useEffect","useRef","useState","useContext","Flex","Text","Box","Link","linkContainer","styles_default","iconTooltip","useEffect","useRef","useState","Box","Flex","styles_default","Icon","jsx","jsx","jsxs","label","box","useRef","useState","useEffect","Box","Flex","styles_default","useRouter","useEffect","getIcon","icon","Flex","Box","Text","Button","useContext","useState","styles_default","Box","Flex","Text","Flex","Text","container","styles_default","categoryStyle","styles_default","Icon","jsx","jsxs","jsx","jsxs","Flex","Text","styles_default","useContext","useState","container","text","styles_default","jsx","jsxs","useState","useContext","Box","styles_default","Text","Flex","useRouter","useContext","Box","Flex","Link","Button","IconCaret","sectionDivider","styles_default","icon","styles_default","textStyle","jsx","jsxs","useContext","useRouter","slugPrefix","Box","styles_default","Flex","Button","IconCaret","Link","item","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","jsxs","Fragment","jsx","jsxs","documentation","useState","useContext","category","getIcon","Box","styles_default","Flex","Button","Text","sidebarSectionHidden","Fragment","jsx","jsxs","useState","useContext","useEffect","iconTooltip","useRef","Box","styles_default","Link","Flex","Text","Box","IconCaret","Button","arrowIcon","arrowIconActive","styles_default","useContext","Link","Box","Flex","Text","cardContainer","title","description","styles_default","cardContainer","styles_default","titleContainer","cardTitle","jsx","jsxs","title","description","link","Icon","Link","Box","cardContainer","Flex","titleContainer","Text","styles_default","useRef","useContext","useRouter","Flex","searchInput","searchIcon","styles_default","jsx","jsxs","useRouter","useRef","useContext","Flex","styles_default","useRouter","Link","Box","Flex","IconCaret","Text","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","item","useEffect","useRef","useState","Flex","Text","jsx","useState","useRef","useEffect","Flex","styles_default","Text","useContext","Fragment","jsx","jsxs","useContext","Link","Box","styles_default","Flex","Text","IconCaret","useRouter","Box","useContext","useRef","useState","aa","algoliasearch","jsx","jsxs","useContext","useState","resultsBox","useRef","Box","jsx","jsxs","useContext","styles_default","Box","Button","IconCaret","Flex","Text","Link","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","useContext","useEffect","useState","container","styles_default","Box","Button","Flex","Text","Icon","jsx","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","useRef","useState","container","button","styles_default","Icon","jsx","Icon","jsx","jsxs","jsx","jsxs","useState","useRef","Flex","styles_default","Button","Text","Box","jsx","jsxs","shareButton","useState","useContext","useEffect","Flex","styles_default","Text","Link","Box","Flex","Box","Box","Flex","Text","useContext","useEffect","styles_default","useRouter","createContext","useState","jsx","jsx","jsxs","useRouter","useContext","useEffect","Flex","styles_default","Text","Box","container","styles_default","useContext","jsx","jsxs","useContext","item","Box","styles_default","useRouter","useContext","useState","Box","Text","Configure","InstantSearch","useContext","useEffect","useMemo","useRef","connectStateResults","Box","Flex","Text","IconCaret","Tooltip","container","title","icon","description","alignCenter","styles_default","Link","useState","useContext","Icon","jsx","jsxs","jsx","jsxs","Icon","title","useState","useContext","Link","Flex","styles_default","Box","Text","breadcrumb","Tooltip","IconCaret","Box","Flex","jsx","jsxs","useContext","connectStateResults","useEffect","useRef","useMemo","Box","Flex","noResults","styles_default","jsx","jsxs","useRouter","useContext","useState","Box","styles_default","Text","InstantSearch","Configure","useContext","Flex","Text","container","styles_default","jsx","jsxs","useContext","Flex","styles_default","Text","styles_default","jsx","jsxs","Box","Flex","styles_default","search_default","useContext","title","styles_default","Flex","Text","aa","jsx","jsxs","Button","Flex","useContext","styles_default","Text","Button","Icon","jsx","jsxs","useState","styles_default","jsx","useState","Button","styles_default","useState","useEffect","icon","container","styles_default","Flex","jsx","jsxs","Icon","useState","useEffect","styles_default"]} \ No newline at end of file +<<<<<<< HEAD +<<<<<<< HEAD +<<<<<<< HEAD +{"version":3,"sources":["../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../node_modules/prop-types/node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@algolia/cache-common/dist/cache-common.esm.js","../node_modules/@algolia/cache-in-memory/dist/cache-in-memory.esm.js","../node_modules/@algolia/client-analytics/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/requester-common/dist/requester-common.esm.js","../node_modules/@algolia/transporter/dist/transporter.esm.js","../node_modules/@algolia/client-analytics/dist/client-analytics.esm.js","../node_modules/algoliasearch/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/client-personalization/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/client-personalization/dist/client-personalization.esm.js","../node_modules/@algolia/client-search/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/client-search/dist/client-search.esm.js","../node_modules/@algolia/logger-common/dist/logger-common.esm.js","../node_modules/@algolia/recommend/node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/recommend/node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js","../node_modules/@algolia/recommend/dist/recommend.cjs.js","../node_modules/@algolia/recommend/index.js","../node_modules/algoliasearch/node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js","../node_modules/algoliasearch/dist/algoliasearch.cjs.js","../node_modules/algoliasearch/index.js","../node_modules/algoliasearch/lite.js","../src/lib/markdown-renderer/MarkdownRenderer.tsx","../src/lib/markdown-renderer/components.tsx","../src/components/overview-card/styles.ts","../src/components/overview-card/index.tsx","../src/components/overview-card/icons.tsx","../src/components/youtube-frame/index.tsx","../src/components/steps/index.tsx","../src/components/steps/styles.ts","../src/components/lightbox/index.tsx","../src/components/icons/close-icon.tsx","../src/utils/hooks/useClickOutside.ts","../src/components/lightbox/styles.ts","../src/components/whats-next-card/index.tsx","../src/components/whats-next-card/styles.ts","../src/utils/context/libraryContext.tsx","../src/utils/string-utils.ts","../src/utils/mermaidInit.ts","../src/lib/markdown-renderer/styles.module.css","../src/messages/en.json","../src/messages/es.json","../src/messages/pt.json","../src/utils/get-message.ts","../src/lib/table-of-contents/TableOfContents.tsx","../src/lib/table-of-contents/styles.ts","../src/lib/sidebar/index.tsx","../src/lib/sidebar/styles.ts","../src/lib/sidebar/functions.ts","../src/components/tooltip/index.tsx","../src/components/tooltip/styles.ts","../src/components/icons/caret.tsx","../src/utils/navigation-utils.ts","../src/utils/sidebar-utils.ts","../src/components/sidebar-section/index.tsx","../src/components/sidebar-section/styles.ts","../src/components/sidebar-section-filter/index.tsx","../src/components/method-category/index.tsx","../src/components/method-category/styles.ts","../src/components/method-category/functions.ts","../src/components/icons/close-filter-icon.tsx","../src/components/sidebar-section-filter/styles.ts","../src/components/sidebar-elements/index.tsx","../src/components/sidebar-elements/styles.ts","../src/components/sidebar-elements/functions.tsx","../src/components/icons/search-icon.tsx","../src/components/icons/sidebar-toggle-icon.tsx","../src/components/icons/arrow-left-icon.tsx","../src/lib/hamburger-menu/index.tsx","../src/lib/hamburger-menu/styles.ts","../src/components/documentation-card/index.tsx","../src/components/documentation-card/styles.ts","../src/components/documentation-card/functions.ts","../src/components/search-input/index.tsx","../src/components/search-input/search-box.tsx","../src/components/search-input/styles.ts","../src/components/search-input/results-box.tsx","../src/components/icons/api-guides-icon.tsx","../src/components/icons/api-reference-icon.tsx","../src/components/icons/app-development-icon.tsx","../src/components/icons/release-notes-icon.tsx","../src/components/icons/storefront-development-icon.tsx","../src/components/icons/vtex-io-apps-icon.tsx","../src/components/icons/troubleshooting-icon.tsx","../src/components/icons/added-icon.tsx","../src/components/icons/deprecated-icon.tsx","../src/components/icons/fixed-icon.tsx","../src/components/icons/improved-icon.tsx","../src/components/icons/removed-icon.tsx","../src/utils/search-utils.ts","../src/components/search-input/customHighlight.tsx","../src/utils/config/search-config.ts","../src/lib/feedback-section/index.tsx","../src/components/icons/edit-icon.tsx","../src/components/icons/like-icon.tsx","../src/components/icons/like-selected-icon.tsx","../src/lib/feedback-section/styles.ts","../src/components/share-button/index.tsx","../src/components/icons/facebook-icon.tsx","../src/components/icons/linkedin-icon.tsx","../src/components/icons/share-icon.tsx","../src/components/icons/twitter-icon.tsx","../src/components/share-button/styles.ts","../src/components/icons/email-icon.tsx","../src/components/icons/link-icon.tsx","../src/lib/search/index.tsx","../src/components/search-sections/index.tsx","../src/components/search-section/index.tsx","../src/components/search-section/styles.ts","../src/utils/context/search.tsx","../src/components/search-sections/styles.ts","../src/components/search-results/index.tsx","../src/components/search-results/infiniteHits.tsx","../src/components/search-card/index.tsx","../src/components/search-card/styles.ts","../src/components/icons/expanded-results-icon.tsx","../src/components/search-results/styles.ts","../src/components/search-filter-tab-bar/index.tsx","../src/components/search-filter-tab-bar/styles.ts","../src/lib/search/styles.ts","../src/lib/cookie-bar/index.tsx","../src/lib/cookie-bar/styles.ts","../src/components/copy-link-button/index.tsx","../src/components/icons/copy-icon.tsx","../src/components/copy-link-button/styles.ts","../src/components/input/index.tsx","../src/components/input/styles.ts","../src/utils/get-days-elapsed.ts","../src/components/icons/gear-troubleshooting-icon.tsx","../src/components/icons/documentation-updates-icon.tsx","../src/components/icons/helpcenter-icon.tsx","../src/components/icons/developer-portal-icon.tsx","../src/components/icons/faq-icon.tsx","../src/components/icons/known-issues-icon.tsx","../src/components/icons/megaphone-icon.tsx","../src/components/icons/graph-icon.tsx","../src/components/icons/warning-icon.tsx","../src/components/icons/paper-icon.tsx","../src/components/icons/start-here-icon.tsx","../src/components/icons/tutorials-icon.tsx","../src/components/icons/announcement-icon.tsx","../src/components/icons/vtex-devportal-icon.tsx","../src/components/icons/vtex-helpcenter-icon.tsx","../src/components/icons/info-icon.tsx","../src/components/icons/new-icon.tsx","../src/components/icons/github-icon.tsx","../src/components/icons/community-icon.tsx","../src/components/icons/facebook-circle-icon.tsx","../src/components/icons/linkedin-circle-icon.tsx","../src/components/icons/twitter-circle-icon.tsx","../src/components/icons/youtube-icon.tsx","../src/components/icons/instagram-icon.tsx","../src/components/icons/chatgpt-icon.tsx","../src/components/icons/claude-icon.tsx","../src/components/icons/gemini-icon.tsx","../src/components/icons/copilot-icon.tsx","../src/components/icons/grid-icon.tsx","../src/components/icons/trashcan-icon.tsx","../src/components/icons/filter-icon.tsx","../src/components/icons/menu-icon.tsx","../src/components/icons/checkbox.tsx","../src/components/icons/resize-icon.tsx","../src/components/icons/arrow-right-icon.tsx","../src/components/icons/long-arrow-icon.tsx","../src/components/icons/vtex-logo-footer.tsx"],"sourcesContent":["/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","// @todo Add logger on options to debug when caches go wrong.\r\nfunction createFallbackableCache(options) {\r\n const caches = [...options.caches];\r\n const current = caches.shift(); // eslint-disable-line functional/immutable-data\r\n if (current === undefined) {\r\n return createNullCache();\r\n }\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n return current.get(key, defaultValue, events).catch(() => {\r\n return createFallbackableCache({ caches }).get(key, defaultValue, events);\r\n });\r\n },\r\n set(key, value) {\r\n return current.set(key, value).catch(() => {\r\n return createFallbackableCache({ caches }).set(key, value);\r\n });\r\n },\r\n delete(key) {\r\n return current.delete(key).catch(() => {\r\n return createFallbackableCache({ caches }).delete(key);\r\n });\r\n },\r\n clear() {\r\n return current.clear().catch(() => {\r\n return createFallbackableCache({ caches }).clear();\r\n });\r\n },\r\n };\r\n}\n\nfunction createNullCache() {\r\n return {\r\n get(_key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const value = defaultValue();\r\n return value\r\n .then(result => Promise.all([result, events.miss(result)]))\r\n .then(([result]) => result);\r\n },\r\n set(_key, value) {\r\n return Promise.resolve(value);\r\n },\r\n delete(_key) {\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createFallbackableCache, createNullCache };\n","function createInMemoryCache(options = { serializable: true }) {\r\n // eslint-disable-next-line functional/no-let\r\n let cache = {};\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const keyAsString = JSON.stringify(key);\r\n if (keyAsString in cache) {\r\n return Promise.resolve(options.serializable ? JSON.parse(cache[keyAsString]) : cache[keyAsString]);\r\n }\r\n const promise = defaultValue();\r\n const miss = (events && events.miss) || (() => Promise.resolve());\r\n return promise.then((value) => miss(value)).then(() => promise);\r\n },\r\n set(key, value) {\r\n // eslint-disable-next-line functional/immutable-data\r\n cache[JSON.stringify(key)] = options.serializable ? JSON.stringify(value) : value;\r\n return Promise.resolve(value);\r\n },\r\n delete(key) {\r\n // eslint-disable-next-line functional/immutable-data\r\n delete cache[JSON.stringify(key)];\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n cache = {};\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createInMemoryCache };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","const MethodEnum = {\r\n Delete: 'DELETE',\r\n Get: 'GET',\r\n Post: 'POST',\r\n Put: 'PUT',\r\n};\n\nexport { MethodEnum };\n","import { MethodEnum } from '@algolia/requester-common';\n\nfunction createMappedRequestOptions(requestOptions, timeout) {\r\n const options = requestOptions || {};\r\n const data = options.data || {};\r\n Object.keys(options).forEach(key => {\r\n if (['timeout', 'headers', 'queryParameters', 'data', 'cacheable'].indexOf(key) === -1) {\r\n data[key] = options[key]; // eslint-disable-line functional/immutable-data\r\n }\r\n });\r\n return {\r\n data: Object.entries(data).length > 0 ? data : undefined,\r\n timeout: options.timeout || timeout,\r\n headers: options.headers || {},\r\n queryParameters: options.queryParameters || {},\r\n cacheable: options.cacheable,\r\n };\r\n}\n\nconst CallEnum = {\r\n /**\r\n * If the host is read only.\r\n */\r\n Read: 1,\r\n /**\r\n * If the host is write only.\r\n */\r\n Write: 2,\r\n /**\r\n * If the host is both read and write.\r\n */\r\n Any: 3,\r\n};\n\nconst HostStatusEnum = {\r\n Up: 1,\r\n Down: 2,\r\n Timeouted: 3,\r\n};\n\n// By default, API Clients at Algolia have expiration delay\r\n// of 5 mins. In the JavaScript client, we have 2 mins.\r\nconst EXPIRATION_DELAY = 2 * 60 * 1000;\r\nfunction createStatefulHost(host, status = HostStatusEnum.Up) {\r\n return {\r\n ...host,\r\n status,\r\n lastUpdate: Date.now(),\r\n };\r\n}\r\nfunction isStatefulHostUp(host) {\r\n return host.status === HostStatusEnum.Up || Date.now() - host.lastUpdate > EXPIRATION_DELAY;\r\n}\r\nfunction isStatefulHostTimeouted(host) {\r\n return (host.status === HostStatusEnum.Timeouted && Date.now() - host.lastUpdate <= EXPIRATION_DELAY);\r\n}\n\nfunction createStatelessHost(options) {\r\n if (typeof options === 'string') {\r\n return {\r\n protocol: 'https',\r\n url: options,\r\n accept: CallEnum.Any,\r\n };\r\n }\r\n return {\r\n protocol: options.protocol || 'https',\r\n url: options.url,\r\n accept: options.accept || CallEnum.Any,\r\n };\r\n}\n\nfunction createRetryableOptions(hostsCache, statelessHosts) {\r\n return Promise.all(statelessHosts.map(statelessHost => {\r\n return hostsCache.get(statelessHost, () => {\r\n return Promise.resolve(createStatefulHost(statelessHost));\r\n });\r\n })).then(statefulHosts => {\r\n const hostsUp = statefulHosts.filter(host => isStatefulHostUp(host));\r\n const hostsTimeouted = statefulHosts.filter(host => isStatefulHostTimeouted(host));\r\n /**\r\n * Note, we put the hosts that previously timeouted on the end of the list.\r\n */\r\n const hostsAvailable = [...hostsUp, ...hostsTimeouted];\r\n const statelessHostsAvailable = hostsAvailable.length > 0\r\n ? hostsAvailable.map(host => createStatelessHost(host))\r\n : statelessHosts;\r\n return {\r\n getTimeout(timeoutsCount, baseTimeout) {\r\n /**\r\n * Imagine that you have 4 hosts, if timeouts will increase\r\n * on the following way: 1 (timeouted) > 4 (timeouted) > 5 (200)\r\n *\r\n * Note that, the very next request, we start from the previous timeout\r\n *\r\n * 5 (timeouted) > 6 (timeouted) > 7 ...\r\n *\r\n * This strategy may need to be reviewed, but is the strategy on the our\r\n * current v3 version.\r\n */\r\n const timeoutMultiplier = hostsTimeouted.length === 0 && timeoutsCount === 0\r\n ? 1\r\n : hostsTimeouted.length + 3 + timeoutsCount;\r\n return timeoutMultiplier * baseTimeout;\r\n },\r\n statelessHosts: statelessHostsAvailable,\r\n };\r\n });\r\n}\n\nconst isNetworkError = ({ isTimedOut, status }) => {\r\n return !isTimedOut && ~~status === 0;\r\n};\r\nconst isRetryable = (response) => {\r\n const status = response.status;\r\n const isTimedOut = response.isTimedOut;\r\n return (isTimedOut || isNetworkError(response) || (~~(status / 100) !== 2 && ~~(status / 100) !== 4));\r\n};\r\nconst isSuccess = ({ status }) => {\r\n return ~~(status / 100) === 2;\r\n};\r\nconst retryDecision = (response, outcomes) => {\r\n if (isRetryable(response)) {\r\n return outcomes.onRetry(response);\r\n }\r\n if (isSuccess(response)) {\r\n return outcomes.onSuccess(response);\r\n }\r\n return outcomes.onFail(response);\r\n};\n\nfunction retryableRequest(transporter, statelessHosts, request, requestOptions) {\r\n const stackTrace = []; // eslint-disable-line functional/prefer-readonly-type\r\n /**\r\n * First we prepare the payload that do not depend from hosts.\r\n */\r\n const data = serializeData(request, requestOptions);\r\n const headers = serializeHeaders(transporter, requestOptions);\r\n const method = request.method;\r\n // On `GET`, the data is proxied to query parameters.\r\n const dataQueryParameters = request.method !== MethodEnum.Get\r\n ? {}\r\n : {\r\n ...request.data,\r\n ...requestOptions.data,\r\n };\r\n const queryParameters = {\r\n 'x-algolia-agent': transporter.userAgent.value,\r\n ...transporter.queryParameters,\r\n ...dataQueryParameters,\r\n ...requestOptions.queryParameters,\r\n };\r\n let timeoutsCount = 0; // eslint-disable-line functional/no-let\r\n const retry = (hosts, // eslint-disable-line functional/prefer-readonly-type\r\n getTimeout) => {\r\n /**\r\n * We iterate on each host, until there is no host left.\r\n */\r\n const host = hosts.pop(); // eslint-disable-line functional/immutable-data\r\n if (host === undefined) {\r\n throw createRetryError(stackTraceWithoutCredentials(stackTrace));\r\n }\r\n const payload = {\r\n data,\r\n headers,\r\n method,\r\n url: serializeUrl(host, request.path, queryParameters),\r\n connectTimeout: getTimeout(timeoutsCount, transporter.timeouts.connect),\r\n responseTimeout: getTimeout(timeoutsCount, requestOptions.timeout),\r\n };\r\n /**\r\n * The stackFrame is pushed to the stackTrace so we\r\n * can have information about onRetry and onFailure\r\n * decisions.\r\n */\r\n const pushToStackTrace = (response) => {\r\n const stackFrame = {\r\n request: payload,\r\n response,\r\n host,\r\n triesLeft: hosts.length,\r\n };\r\n // eslint-disable-next-line functional/immutable-data\r\n stackTrace.push(stackFrame);\r\n return stackFrame;\r\n };\r\n const decisions = {\r\n onSuccess: response => deserializeSuccess(response),\r\n onRetry(response) {\r\n const stackFrame = pushToStackTrace(response);\r\n /**\r\n * If response is a timeout, we increaset the number of\r\n * timeouts so we can increase the timeout later.\r\n */\r\n if (response.isTimedOut) {\r\n timeoutsCount++;\r\n }\r\n return Promise.all([\r\n /**\r\n * Failures are individually send the logger, allowing\r\n * the end user to debug / store stack frames even\r\n * when a retry error does not happen.\r\n */\r\n transporter.logger.info('Retryable failure', stackFrameWithoutCredentials(stackFrame)),\r\n /**\r\n * We also store the state of the host in failure cases. If the host, is\r\n * down it will remain down for the next 2 minutes. In a timeout situation,\r\n * this host will be added end of the list of hosts on the next request.\r\n */\r\n transporter.hostsCache.set(host, createStatefulHost(host, response.isTimedOut ? HostStatusEnum.Timeouted : HostStatusEnum.Down)),\r\n ]).then(() => retry(hosts, getTimeout));\r\n },\r\n onFail(response) {\r\n pushToStackTrace(response);\r\n throw deserializeFailure(response, stackTraceWithoutCredentials(stackTrace));\r\n },\r\n };\r\n return transporter.requester.send(payload).then(response => {\r\n return retryDecision(response, decisions);\r\n });\r\n };\r\n /**\r\n * Finally, for each retryable host perform request until we got a non\r\n * retryable response. Some notes here:\r\n *\r\n * 1. The reverse here is applied so we can apply a `pop` later on => more performant.\r\n * 2. We also get from the retryable options a timeout multiplier that is tailored\r\n * for the current context.\r\n */\r\n return createRetryableOptions(transporter.hostsCache, statelessHosts).then(options => {\r\n return retry([...options.statelessHosts].reverse(), options.getTimeout);\r\n });\r\n}\n\nfunction createTransporter(options) {\r\n const { hostsCache, logger, requester, requestsCache, responsesCache, timeouts, userAgent, hosts, queryParameters, headers, } = options;\r\n const transporter = {\r\n hostsCache,\r\n logger,\r\n requester,\r\n requestsCache,\r\n responsesCache,\r\n timeouts,\r\n userAgent,\r\n headers,\r\n queryParameters,\r\n hosts: hosts.map(host => createStatelessHost(host)),\r\n read(request, requestOptions) {\r\n /**\r\n * First, we compute the user request options. Now, keep in mind,\r\n * that using request options the user is able to modified the intire\r\n * payload of the request. Such as headers, query parameters, and others.\r\n */\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions, transporter.timeouts.read);\r\n const createRetryableRequest = () => {\r\n /**\r\n * Then, we prepare a function factory that contains the construction of\r\n * the retryable request. At this point, we may *not* perform the actual\r\n * request. But we want to have the function factory ready.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Read) !== 0), request, mappedRequestOptions);\r\n };\r\n /**\r\n * Once we have the function factory ready, we need to determine of the\r\n * request is \"cacheable\" - should be cached. Note that, once again,\r\n * the user can force this option.\r\n */\r\n const cacheable = mappedRequestOptions.cacheable !== undefined\r\n ? mappedRequestOptions.cacheable\r\n : request.cacheable;\r\n /**\r\n * If is not \"cacheable\", we immediatly trigger the retryable request, no\r\n * need to check cache implementations.\r\n */\r\n if (cacheable !== true) {\r\n return createRetryableRequest();\r\n }\r\n /**\r\n * If the request is \"cacheable\", we need to first compute the key to ask\r\n * the cache implementations if this request is on progress or if the\r\n * response already exists on the cache.\r\n */\r\n const key = {\r\n request,\r\n mappedRequestOptions,\r\n transporter: {\r\n queryParameters: transporter.queryParameters,\r\n headers: transporter.headers,\r\n },\r\n };\r\n /**\r\n * With the computed key, we first ask the responses cache\r\n * implemention if this request was been resolved before.\r\n */\r\n return transporter.responsesCache.get(key, () => {\r\n /**\r\n * If the request has never resolved before, we actually ask if there\r\n * is a current request with the same key on progress.\r\n */\r\n return transporter.requestsCache.get(key, () => {\r\n return (transporter.requestsCache\r\n /**\r\n * Finally, if there is no request in progress with the same key,\r\n * this `createRetryableRequest()` will actually trigger the\r\n * retryable request.\r\n */\r\n .set(key, createRetryableRequest())\r\n .then(response => Promise.all([transporter.requestsCache.delete(key), response]), err => Promise.all([transporter.requestsCache.delete(key), Promise.reject(err)]))\r\n .then(([_, response]) => response));\r\n });\r\n }, {\r\n /**\r\n * Of course, once we get this response back from the server, we\r\n * tell response cache to actually store the received response\r\n * to be used later.\r\n */\r\n miss: response => transporter.responsesCache.set(key, response),\r\n });\r\n },\r\n write(request, requestOptions) {\r\n /**\r\n * On write requests, no cache mechanisms are applied, and we\r\n * proxy the request immediately to the requester.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Write) !== 0), request, createMappedRequestOptions(requestOptions, transporter.timeouts.write));\r\n },\r\n };\r\n return transporter;\r\n}\n\nfunction createUserAgent(version) {\r\n const userAgent = {\r\n value: `Algolia for JavaScript (${version})`,\r\n add(options) {\r\n const addedUserAgent = `; ${options.segment}${options.version !== undefined ? ` (${options.version})` : ''}`;\r\n if (userAgent.value.indexOf(addedUserAgent) === -1) {\r\n // eslint-disable-next-line functional/immutable-data\r\n userAgent.value = `${userAgent.value}${addedUserAgent}`;\r\n }\r\n return userAgent;\r\n },\r\n };\r\n return userAgent;\r\n}\n\nfunction deserializeSuccess(response) {\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n return JSON.parse(response.content);\r\n }\r\n catch (e) {\r\n throw createDeserializationError(e.message, response);\r\n }\r\n}\r\nfunction deserializeFailure({ content, status }, stackFrame) {\r\n // eslint-disable-next-line functional/no-let\r\n let message = content;\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n message = JSON.parse(content).message;\r\n }\r\n catch (e) {\r\n // ..\r\n }\r\n return createApiError(message, status, stackFrame);\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nfunction serializeUrl(host, path, queryParameters) {\r\n const queryParametersAsString = serializeQueryParameters(queryParameters);\r\n // eslint-disable-next-line functional/no-let\r\n let url = `${host.protocol}://${host.url}/${path.charAt(0) === '/' ? path.substr(1) : path}`;\r\n if (queryParametersAsString.length) {\r\n url += `?${queryParametersAsString}`;\r\n }\r\n return url;\r\n}\r\nfunction serializeQueryParameters(parameters) {\r\n const isObjectOrArray = (value) => Object.prototype.toString.call(value) === '[object Object]' ||\r\n Object.prototype.toString.call(value) === '[object Array]';\r\n return Object.keys(parameters)\r\n .map(key => encode('%s=%s', key, isObjectOrArray(parameters[key]) ? JSON.stringify(parameters[key]) : parameters[key]))\r\n .join('&');\r\n}\r\nfunction serializeData(request, requestOptions) {\r\n if (request.method === MethodEnum.Get ||\r\n (request.data === undefined && requestOptions.data === undefined)) {\r\n return undefined;\r\n }\r\n const data = Array.isArray(request.data)\r\n ? request.data\r\n : { ...request.data, ...requestOptions.data };\r\n return JSON.stringify(data);\r\n}\r\nfunction serializeHeaders(transporter, requestOptions) {\r\n const headers = {\r\n ...transporter.headers,\r\n ...requestOptions.headers,\r\n };\r\n const serializedHeaders = {};\r\n Object.keys(headers).forEach(header => {\r\n const value = headers[header];\r\n // @ts-ignore\r\n // eslint-disable-next-line functional/immutable-data\r\n serializedHeaders[header.toLowerCase()] = value;\r\n });\r\n return serializedHeaders;\r\n}\n\nfunction stackTraceWithoutCredentials(stackTrace) {\r\n return stackTrace.map(stackFrame => stackFrameWithoutCredentials(stackFrame));\r\n}\r\nfunction stackFrameWithoutCredentials(stackFrame) {\r\n const modifiedHeaders = stackFrame.request.headers['x-algolia-api-key']\r\n ? { 'x-algolia-api-key': '*****' }\r\n : {};\r\n return {\r\n ...stackFrame,\r\n request: {\r\n ...stackFrame.request,\r\n headers: {\r\n ...stackFrame.request.headers,\r\n ...modifiedHeaders,\r\n },\r\n },\r\n };\r\n}\n\nfunction createApiError(message, status, transporterStackTrace) {\r\n return {\r\n name: 'ApiError',\r\n message,\r\n status,\r\n transporterStackTrace,\r\n };\r\n}\n\nfunction createDeserializationError(message, response) {\r\n return {\r\n name: 'DeserializationError',\r\n message,\r\n response,\r\n };\r\n}\n\nfunction createRetryError(transporterStackTrace) {\r\n return {\r\n name: 'RetryError',\r\n message: 'Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support .',\r\n transporterStackTrace,\r\n };\r\n}\n\nexport { CallEnum, HostStatusEnum, createApiError, createDeserializationError, createMappedRequestOptions, createRetryError, createStatefulHost, createStatelessHost, createTransporter, createUserAgent, deserializeFailure, deserializeSuccess, isStatefulHostTimeouted, isStatefulHostUp, serializeData, serializeHeaders, serializeQueryParameters, serializeUrl, stackFrameWithoutCredentials, stackTraceWithoutCredentials };\n","import { createAuth, AuthMode, addMethods, encode } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createAnalyticsClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `analytics.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const appId = options.appId;\r\n return addMethods({ appId, transporter }, options.methods);\r\n};\n\nconst addABTest = (base) => {\r\n return (abTest, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '2/abtests',\r\n data: abTest,\r\n }, requestOptions);\r\n };\r\n};\n\nconst deleteABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTests = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '2/abtests',\r\n }, requestOptions);\r\n };\r\n};\n\nconst stopABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('2/abtests/%s/stop', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nexport { addABTest, createAnalyticsClient, deleteABTest, getABTest, getABTests, stopABTest };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","import { createAuth, AuthMode, addMethods } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createPersonalizationClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `personalization.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n return addMethods({ appId: options.appId, transporter }, options.methods);\r\n};\n\nconst getPersonalizationStrategy = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/strategies/personalization',\r\n }, requestOptions);\r\n };\r\n};\n\nconst setPersonalizationStrategy = (base) => {\r\n return (personalizationStrategy, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/strategies/personalization',\r\n data: personalizationStrategy,\r\n }, requestOptions);\r\n };\r\n};\n\nexport { createPersonalizationClient, getPersonalizationStrategy, setPersonalizationStrategy };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","import { createAuth, AuthMode, shuffle, addMethods, createWaitablePromise, createRetryablePromise, encode } from '@algolia/client-common';\nimport { createTransporter, CallEnum, createMappedRequestOptions, serializeQueryParameters } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\nimport { createHmac } from 'crypto';\n\nfunction createBrowsablePromise(options) {\r\n const browse = (data) => {\r\n return options.request(data).then(response => {\r\n /**\r\n * First we send to the developer the\r\n * batch retrieved from the API.\r\n */\r\n if (options.batch !== undefined) {\r\n options.batch(response.hits);\r\n }\r\n /**\r\n * Then, we ask to the browse concrete implementation\r\n * if we should stop browsing. As example, the `browseObjects`\r\n * method will stop if the cursor is not present on the response.\r\n */\r\n if (options.shouldStop(response)) {\r\n return undefined;\r\n }\r\n /**\r\n * Finally, if the response contains a cursor, we browse to the next\r\n * batch using that same cursor. Otherwise, we just use the traditional\r\n * browsing using the page element.\r\n */\r\n if (response.cursor) {\r\n return browse({\r\n cursor: response.cursor,\r\n });\r\n }\r\n return browse({\r\n page: (data.page || 0) + 1,\r\n });\r\n });\r\n };\r\n return browse({});\r\n}\n\nconst createSearchClient = options => {\r\n const appId = options.appId;\r\n const auth = createAuth(options.authMode !== undefined ? options.authMode : AuthMode.WithinHeaders, appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [\r\n { url: `${appId}-dsn.algolia.net`, accept: CallEnum.Read },\r\n { url: `${appId}.algolia.net`, accept: CallEnum.Write },\r\n ].concat(shuffle([\r\n { url: `${appId}-1.algolianet.com` },\r\n { url: `${appId}-2.algolianet.com` },\r\n { url: `${appId}-3.algolianet.com` },\r\n ])),\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/x-www-form-urlencoded' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const base = {\r\n transporter,\r\n appId,\r\n addAlgoliaAgent(segment, version) {\r\n transporter.userAgent.add({ segment, version });\r\n },\r\n clearCache() {\r\n return Promise.all([\r\n transporter.requestsCache.clear(),\r\n transporter.responsesCache.clear(),\r\n ]).then(() => undefined);\r\n },\r\n };\r\n return addMethods(base, options.methods);\r\n};\n\nfunction createMissingObjectIDError() {\r\n return {\r\n name: 'MissingObjectIDError',\r\n message: 'All objects must have an unique objectID ' +\r\n '(like a primary key) to be valid. ' +\r\n 'Algolia is also able to generate objectIDs ' +\r\n \"automatically but *it's not recommended*. \" +\r\n \"To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.\",\r\n };\r\n}\n\nfunction createObjectNotFoundError() {\r\n return {\r\n name: 'ObjectNotFoundError',\r\n message: 'Object not found.',\r\n };\r\n}\n\nfunction createValidUntilNotFoundError() {\r\n return {\r\n name: 'ValidUntilNotFoundError',\r\n message: 'ValidUntil not found in given secured api key.',\r\n };\r\n}\n\nconst addApiKey = (base) => {\r\n return (acl, requestOptions) => {\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = {\r\n acl,\r\n ...(queryParameters !== undefined ? { queryParameters } : {}),\r\n };\r\n const wait = (response, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(response.key, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/keys',\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst assignUserID = (base) => {\r\n return (userID, clusterName, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping',\r\n data: { cluster: clusterName },\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst assignUserIDs = (base) => {\r\n return (userIDs, clusterName, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/batch',\r\n data: {\r\n users: userIDs,\r\n cluster: clusterName,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst clearDictionaryEntries = (base) => {\r\n return (dictionary, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: {\r\n clearExistingDictionaryEntries: true,\r\n requests: { action: 'addEntry', body: [] },\r\n },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst copyIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'copy',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst copyRules = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Rules],\r\n });\r\n };\r\n};\n\nconst copySettings = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Settings],\r\n });\r\n };\r\n};\n\nconst copySynonyms = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Synonyms],\r\n });\r\n };\r\n};\n\nconst customRequest = (base) => {\r\n return (request, requestOptions) => {\r\n if (request.method === MethodEnum.Get) {\r\n return base.transporter.read(request, requestOptions);\r\n }\r\n return base.transporter.write(request, requestOptions);\r\n };\r\n};\n\nconst deleteApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions)\r\n .then(retry)\r\n .catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst deleteDictionaryEntries = (base) => {\r\n return (dictionary, objectIDs, requestOptions) => {\r\n const requests = objectIDs.map(objectID => ({\r\n action: 'deleteEntry',\r\n body: { objectID },\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst generateSecuredApiKey = () => {\r\n return (parentApiKey, restrictions) => {\r\n const queryParameters = serializeQueryParameters(restrictions);\r\n const securedKey = createHmac('sha256', parentApiKey)\r\n .update(queryParameters)\r\n .digest('hex');\r\n return Buffer.from(securedKey + queryParameters).toString('base64');\r\n };\r\n};\n\nconst getApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/task/%s', taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getDictionarySettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '/1/dictionaries/*/settings',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getLogs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/logs',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSecuredApiKeyRemainingValidity = () => {\r\n return (securedApiKey) => {\r\n const decodedString = Buffer.from(securedApiKey, 'base64').toString('ascii');\r\n const regex = /validUntil=(\\d+)/;\r\n const match = decodedString.match(regex);\r\n if (match === null) {\r\n throw createValidUntilNotFoundError();\r\n }\r\n return parseInt(match[1], 10) - Math.round(new Date().getTime() / 1000);\r\n };\r\n};\n\nconst getTopUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/top',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/clusters/mapping/%s', userID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst hasPendingMappings = (base) => {\r\n return (requestOptions) => {\r\n const { retrieveMappings, ...options } = requestOptions || {};\r\n if (retrieveMappings === true) {\r\n // eslint-disable-next-line functional/immutable-data\r\n options.getClusters = true;\r\n }\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/pending',\r\n }, options);\r\n };\r\n};\n\nconst initIndex = (base) => {\r\n return (indexName, options = {}) => {\r\n const searchIndex = {\r\n transporter: base.transporter,\r\n appId: base.appId,\r\n indexName,\r\n };\r\n return addMethods(searchIndex, options.methods);\r\n };\r\n};\n\nconst listApiKeys = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/keys',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listClusters = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listIndices = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/indexes',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping',\r\n }, requestOptions);\r\n };\r\n};\n\nconst moveIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'move',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleBatch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return Promise.all(Object.keys(response.taskID).map(indexName => {\r\n return initIndex(base)(indexName, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID[indexName], waitRequestOptions);\r\n }));\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/batch',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleGetObjects = (base) => {\r\n return (requests, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleQueries = (base) => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => {\r\n return {\r\n ...query,\r\n params: serializeQueryParameters(query.params || {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/queries',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleSearchForFacetValues = (base) => {\r\n return (queries, requestOptions) => {\r\n return Promise.all(queries.map(query => {\r\n const { facetName, facetQuery, ...params } = query.params;\r\n return initIndex(base)(query.indexName, {\r\n methods: { searchForFacetValues },\r\n }).searchForFacetValues(facetName, facetQuery, {\r\n ...requestOptions,\r\n ...params,\r\n });\r\n }));\r\n };\r\n};\n\nconst removeUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: '1/clusters/mapping',\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst replaceDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: true, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst restoreApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/keys/%s/restore', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst saveDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst searchDictionaryEntries = (base) => {\r\n return (dictionary, query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/search', dictionary),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchUserIDs = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/search',\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setDictionarySettings = (base) => {\r\n return (settings, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: '/1/dictionaries/*/settings',\r\n data: settings,\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst updateApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const updatedFields = Object.assign({}, requestOptions);\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = queryParameters ? { queryParameters } : {};\r\n const apiKeyFields = [\r\n 'acl',\r\n 'indexes',\r\n 'referers',\r\n 'restrictSources',\r\n 'queryParameters',\r\n 'description',\r\n 'maxQueriesPerIPPerHour',\r\n 'maxHitsPerQuery',\r\n ];\r\n // Check that all the fields retrieved through getApiKey are the same as the ones we wanted to update\r\n const hasChanged = (getApiKeyResponse) => {\r\n return Object.keys(updatedFields)\r\n .filter((updatedField) => apiKeyFields.indexOf(updatedField) !== -1)\r\n .every(updatedField => {\r\n // If the field is an array, we need to check that they are the same length and that all the values are the same\r\n if (Array.isArray(getApiKeyResponse[updatedField]) &&\r\n Array.isArray(updatedFields[updatedField])) {\r\n const getApiKeyResponseArray = getApiKeyResponse[updatedField];\r\n return (getApiKeyResponseArray.length === updatedFields[updatedField].length &&\r\n getApiKeyResponseArray.every((value, index) => value === updatedFields[updatedField][index]));\r\n }\r\n else {\r\n return getApiKeyResponse[updatedField] === updatedFields[updatedField];\r\n }\r\n });\r\n };\r\n const wait = (_, waitRequestOptions) => createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).then(getApiKeyResponse => {\r\n return hasChanged(getApiKeyResponse) ? Promise.resolve() : retry();\r\n });\r\n });\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/keys/%s', apiKey),\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst waitAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getAppTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst batch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return waitTask(base)(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/batch', base.indexName),\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst browseObjects = (base) => {\r\n return (requestOptions) => {\r\n return createBrowsablePromise({\r\n shouldStop: response => response.cursor === undefined,\r\n ...requestOptions,\r\n request: (data) => base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/browse', base.indexName),\r\n data,\r\n }, requestOptions),\r\n });\r\n };\r\n};\n\nconst browseRules = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchRules(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(rule => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete rule._highlightResult;\r\n return rule;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst browseSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchSynonyms(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(synonym => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete synonym._highlightResult;\r\n return synonym;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst chunkedBatch = (base) => {\r\n return (bodies, action, requestOptions) => {\r\n const { batchSize, ...options } = requestOptions || {};\r\n const response = {\r\n taskIDs: [],\r\n objectIDs: [],\r\n };\r\n const forEachBatch = (lastIndex = 0) => {\r\n // eslint-disable-next-line functional/prefer-readonly-type\r\n const bodiesChunk = [];\r\n // eslint-disable-next-line functional/no-let\r\n let index;\r\n /* eslint-disable-next-line functional/no-loop-statement */\r\n for (index = lastIndex; index < bodies.length; index++) {\r\n // eslint-disable-next-line functional/immutable-data\r\n bodiesChunk.push(bodies[index]);\r\n if (bodiesChunk.length === (batchSize || 1000)) {\r\n break;\r\n }\r\n }\r\n if (bodiesChunk.length === 0) {\r\n return Promise.resolve(response);\r\n }\r\n return batch(base)(bodiesChunk.map(body => {\r\n return {\r\n action,\r\n body,\r\n };\r\n }), options).then(res => {\r\n response.objectIDs = response.objectIDs.concat(res.objectIDs); // eslint-disable-line functional/immutable-data\r\n response.taskIDs.push(res.taskID); // eslint-disable-line functional/immutable-data\r\n index++;\r\n return forEachBatch(index);\r\n });\r\n };\r\n return createWaitablePromise(forEachBatch(), (chunkedBatchResponse, waitRequestOptions) => {\r\n return Promise.all(chunkedBatchResponse.taskIDs.map(taskID => {\r\n return waitTask(base)(taskID, waitRequestOptions);\r\n }));\r\n });\r\n };\r\n};\n\nconst clearObjects = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/clear', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearRules = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteBy = (base) => {\r\n return (filters, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/deleteByQuery', base.indexName),\r\n data: filters,\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteIndex = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return createWaitablePromise(deleteObjects(base)([objectID], requestOptions).then(response => {\r\n return { taskID: response.taskIDs[0] };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const objects = objectIDs.map(objectID => {\r\n return { objectID };\r\n });\r\n return chunkedBatch(base)(objects, BatchActionEnum.DeleteObject, requestOptions);\r\n };\r\n};\n\nconst deleteRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/synonyms/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst exists = (base) => {\r\n return (requestOptions) => {\r\n return getSettings(base)(requestOptions)\r\n .then(() => true)\r\n .catch(error => {\r\n if (error.status !== 404) {\r\n throw error;\r\n }\r\n return false;\r\n });\r\n };\r\n};\n\nconst findAnswers = (base) => {\r\n return (query, queryLanguages, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/answers/%s/prediction', base.indexName),\r\n data: {\r\n query,\r\n queryLanguages,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst findObject = (base) => {\r\n return (callback, requestOptions) => {\r\n const { query, paginate, ...options } = requestOptions || {};\r\n // eslint-disable-next-line functional/no-let\r\n let page = 0;\r\n const forEachPage = () => {\r\n return search(base)(query || '', { ...options, page }).then(result => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(result.hits)) {\r\n // eslint-disable-next-line promise/no-callback-in-promise\r\n if (callback(hit)) {\r\n return {\r\n object: hit,\r\n position: parseInt(position, 10),\r\n page,\r\n };\r\n }\r\n }\r\n page++;\r\n // paginate if option was set and has next page\r\n if (paginate === false || page >= result.nbPages) {\r\n throw createObjectNotFoundError();\r\n }\r\n return forEachPage();\r\n });\r\n };\r\n return forEachPage();\r\n };\r\n};\n\nconst getObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getObjectPosition = () => {\r\n return (searchResponse, objectID) => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(searchResponse.hits)) {\r\n if (hit.objectID === objectID) {\r\n return parseInt(position, 10);\r\n }\r\n }\r\n return -1;\r\n };\r\n};\n\nconst getObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const { attributesToRetrieve, ...options } = requestOptions || {};\r\n const requests = objectIDs.map(objectID => {\r\n return {\r\n indexName: base.indexName,\r\n objectID,\r\n ...(attributesToRetrieve ? { attributesToRetrieve } : {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, options);\r\n };\r\n};\n\nconst getRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: {\r\n getVersion: 2,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode(`1/indexes/%s/synonyms/%s`, base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/task/%s', base.indexName, taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst partialUpdateObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(partialUpdateObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst partialUpdateObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { createIfNotExists, ...options } = requestOptions || {};\r\n const action = createIfNotExists\r\n ? BatchActionEnum.PartialUpdateObject\r\n : BatchActionEnum.PartialUpdateObjectNoCreate;\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst replaceAllObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { safe, autoGenerateObjectIDIfNotExist, batchSize, ...options } = requestOptions || {};\r\n const operation = (from, to, type, operationRequestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: type,\r\n destination: to,\r\n },\r\n }, operationRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n const randomSuffix = Math.random()\r\n .toString(36)\r\n .substring(7);\r\n const temporaryIndexName = `${base.indexName}_tmp_${randomSuffix}`;\r\n const saveObjectsInTemporary = saveObjects({\r\n appId: base.appId,\r\n transporter: base.transporter,\r\n indexName: temporaryIndexName,\r\n });\r\n // @ts-ignore\r\n // eslint-disable-next-line prefer-const, functional/no-let, functional/prefer-readonly-type\r\n let responses = [];\r\n const copyWaitablePromise = operation(base.indexName, temporaryIndexName, 'copy', {\r\n ...options,\r\n scope: ['settings', 'synonyms', 'rules'],\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(copyWaitablePromise);\r\n const result = (safe\r\n ? copyWaitablePromise.wait(options)\r\n : copyWaitablePromise)\r\n .then(() => {\r\n const saveObjectsWaitablePromise = saveObjectsInTemporary(objects, {\r\n ...options,\r\n autoGenerateObjectIDIfNotExist,\r\n batchSize,\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(saveObjectsWaitablePromise);\r\n return safe ? saveObjectsWaitablePromise.wait(options) : saveObjectsWaitablePromise;\r\n })\r\n .then(() => {\r\n const moveWaitablePromise = operation(temporaryIndexName, base.indexName, 'move', options);\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(moveWaitablePromise);\r\n return safe ? moveWaitablePromise.wait(options) : moveWaitablePromise;\r\n })\r\n .then(() => Promise.all(responses))\r\n .then(([copyResponse, saveObjectsResponse, moveResponse]) => {\r\n return {\r\n objectIDs: saveObjectsResponse.objectIDs,\r\n taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID],\r\n };\r\n });\r\n return createWaitablePromise(result, (_, waitRequestOptions) => {\r\n return Promise.all(responses.map(response => response.wait(waitRequestOptions)));\r\n });\r\n };\r\n};\n\nconst replaceAllRules = (base) => {\r\n return (rules, requestOptions) => {\r\n return saveRules(base)(rules, {\r\n ...requestOptions,\r\n clearExistingRules: true,\r\n });\r\n };\r\n};\n\nconst replaceAllSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n return saveSynonyms(base)(synonyms, {\r\n ...requestOptions,\r\n clearExistingSynonyms: true,\r\n });\r\n };\r\n};\n\nconst saveObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(saveObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { autoGenerateObjectIDIfNotExist, ...options } = requestOptions || {};\r\n const action = autoGenerateObjectIDIfNotExist\r\n ? BatchActionEnum.AddObject\r\n : BatchActionEnum.UpdateObject;\r\n if (action === BatchActionEnum.UpdateObject) {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const object of objects) {\r\n if (object.objectID === undefined) {\r\n return createWaitablePromise(Promise.reject(createMissingObjectIDError()));\r\n }\r\n }\r\n }\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst saveRule = (base) => {\r\n return (rule, requestOptions) => {\r\n return saveRules(base)([rule], requestOptions);\r\n };\r\n};\n\nconst saveRules = (base) => {\r\n return (rules, requestOptions) => {\r\n const { forwardToReplicas, clearExistingRules, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (clearExistingRules) {\r\n mappedRequestOptions.queryParameters.clearExistingRules = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/batch', base.indexName),\r\n data: rules,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveSynonym = (base) => {\r\n return (synonym, requestOptions) => {\r\n return saveSynonyms(base)([synonym], requestOptions);\r\n };\r\n};\n\nconst saveSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n const { forwardToReplicas, clearExistingSynonyms, replaceExistingSynonyms, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (replaceExistingSynonyms || clearExistingSynonyms) {\r\n mappedRequestOptions.queryParameters.replaceExistingSynonyms = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/batch', base.indexName),\r\n data: synonyms,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst search = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/query', base.indexName),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchForFacetValues = (base) => {\r\n return (facetName, facetQuery, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/facets/%s/query', base.indexName, facetName),\r\n data: {\r\n facetQuery,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchRules = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchSynonyms = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setSettings = (base) => {\r\n return (settings, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: settings,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst waitTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst ApiKeyACLEnum = {\r\n AddObject: 'addObject',\r\n Analytics: 'analytics',\r\n Browser: 'browse',\r\n DeleteIndex: 'deleteIndex',\r\n DeleteObject: 'deleteObject',\r\n EditSettings: 'editSettings',\r\n Inference: 'inference',\r\n ListIndexes: 'listIndexes',\r\n Logs: 'logs',\r\n Personalization: 'personalization',\r\n Recommendation: 'recommendation',\r\n Search: 'search',\r\n SeeUnretrievableAttributes: 'seeUnretrievableAttributes',\r\n Settings: 'settings',\r\n Usage: 'usage',\r\n};\n\nconst BatchActionEnum = {\r\n AddObject: 'addObject',\r\n UpdateObject: 'updateObject',\r\n PartialUpdateObject: 'partialUpdateObject',\r\n PartialUpdateObjectNoCreate: 'partialUpdateObjectNoCreate',\r\n DeleteObject: 'deleteObject',\r\n DeleteIndex: 'delete',\r\n ClearIndex: 'clear',\r\n};\n\nconst ScopeEnum = {\r\n Settings: 'settings',\r\n Synonyms: 'synonyms',\r\n Rules: 'rules',\r\n};\n\nconst StrategyEnum = {\r\n None: 'none',\r\n StopIfEnoughMatches: 'stopIfEnoughMatches',\r\n};\n\nconst SynonymEnum = {\r\n Synonym: 'synonym',\r\n OneWaySynonym: 'oneWaySynonym',\r\n AltCorrection1: 'altCorrection1',\r\n AltCorrection2: 'altCorrection2',\r\n Placeholder: 'placeholder',\r\n};\n\nexport { ApiKeyACLEnum, BatchActionEnum, ScopeEnum, StrategyEnum, SynonymEnum, addApiKey, assignUserID, assignUserIDs, batch, browseObjects, browseRules, browseSynonyms, chunkedBatch, clearDictionaryEntries, clearObjects, clearRules, clearSynonyms, copyIndex, copyRules, copySettings, copySynonyms, createBrowsablePromise, createMissingObjectIDError, createObjectNotFoundError, createSearchClient, createValidUntilNotFoundError, customRequest, deleteApiKey, deleteBy, deleteDictionaryEntries, deleteIndex, deleteObject, deleteObjects, deleteRule, deleteSynonym, exists, findAnswers, findObject, generateSecuredApiKey, getApiKey, getAppTask, getDictionarySettings, getLogs, getObject, getObjectPosition, getObjects, getRule, getSecuredApiKeyRemainingValidity, getSettings, getSynonym, getTask, getTopUserIDs, getUserID, hasPendingMappings, initIndex, listApiKeys, listClusters, listIndices, listUserIDs, moveIndex, multipleBatch, multipleGetObjects, multipleQueries, multipleSearchForFacetValues, partialUpdateObject, partialUpdateObjects, removeUserID, replaceAllObjects, replaceAllRules, replaceAllSynonyms, replaceDictionaryEntries, restoreApiKey, saveDictionaryEntries, saveObject, saveObjects, saveRule, saveRules, saveSynonym, saveSynonyms, search, searchDictionaryEntries, searchForFacetValues, searchRules, searchSynonyms, searchUserIDs, setDictionarySettings, setSettings, updateApiKey, waitAppTask, waitTask };\n","function createNullLogger() {\r\n return {\r\n debug(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n info(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n error(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nconst LogLevelEnum = {\r\n Debug: 1,\r\n Info: 2,\r\n Error: 3,\r\n};\n\nexport { LogLevelEnum, createNullLogger };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.24.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","import * as http from 'http';\nimport { Agent } from 'http';\nimport * as https from 'https';\nimport { Agent as Agent$1 } from 'https';\nimport { parse } from 'url';\n\n/* eslint functional/prefer-readonly-type: 0 */\r\nconst agentOptions = { keepAlive: true };\r\nconst defaultHttpAgent = new Agent(agentOptions);\r\nconst defaultHttpsAgent = new Agent$1(agentOptions);\r\nfunction createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {}, } = {}) {\r\n const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;\r\n const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;\r\n return {\r\n send(request) {\r\n return new Promise(resolve => {\r\n const url = parse(request.url);\r\n const path = url.query === null ? url.pathname : `${url.pathname}?${url.query}`;\r\n const options = {\r\n ...requesterOptions,\r\n agent: url.protocol === 'https:' ? httpsAgent : httpAgent,\r\n hostname: url.hostname,\r\n path,\r\n method: request.method,\r\n headers: {\r\n ...(requesterOptions && requesterOptions.headers ? requesterOptions.headers : {}),\r\n ...request.headers,\r\n },\r\n ...(url.port !== undefined ? { port: url.port || '' } : {}),\r\n };\r\n const req = (url.protocol === 'https:' ? https : http).request(options, response => {\r\n // eslint-disable-next-line functional/no-let\r\n let contentBuffers = [];\r\n response.on('data', chunk => {\r\n contentBuffers = contentBuffers.concat(chunk);\r\n });\r\n response.on('end', () => {\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(connectTimeout);\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(responseTimeout);\r\n resolve({\r\n status: response.statusCode || 0,\r\n content: Buffer.concat(contentBuffers).toString(),\r\n isTimedOut: false,\r\n });\r\n });\r\n });\r\n const createTimeout = (timeout, content) => {\r\n return setTimeout(() => {\r\n req.abort();\r\n resolve({\r\n status: 0,\r\n content,\r\n isTimedOut: true,\r\n });\r\n }, timeout * 1000);\r\n };\r\n const connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout');\r\n // eslint-disable-next-line functional/no-let\r\n let responseTimeout;\r\n req.on('error', error => {\r\n clearTimeout(connectTimeout);\r\n clearTimeout(responseTimeout);\r\n resolve({ status: 0, content: error.message, isTimedOut: false });\r\n });\r\n req.once('response', () => {\r\n clearTimeout(connectTimeout);\r\n responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout');\r\n });\r\n if (request.data !== undefined) {\r\n req.write(request.data);\r\n }\r\n req.end();\r\n });\r\n },\r\n destroy() {\r\n httpAgent.destroy();\r\n httpsAgent.destroy();\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createNodeHttpRequester };\n","'use strict';\n\nvar cacheCommon = require('@algolia/cache-common');\nvar cacheInMemory = require('@algolia/cache-in-memory');\nvar clientCommon = require('@algolia/client-common');\nvar loggerCommon = require('@algolia/logger-common');\nvar requesterNodeHttp = require('@algolia/requester-node-http');\nvar transporter = require('@algolia/transporter');\nvar requesterCommon = require('@algolia/requester-common');\n\nconst createRecommendClient = options => {\r\n const appId = options.appId;\r\n const auth = clientCommon.createAuth(options.authMode !== undefined ? options.authMode : clientCommon.AuthMode.WithinHeaders, appId, options.apiKey);\r\n const transporter$1 = transporter.createTransporter({\r\n hosts: [\r\n { url: `${appId}-dsn.algolia.net`, accept: transporter.CallEnum.Read },\r\n { url: `${appId}.algolia.net`, accept: transporter.CallEnum.Write },\r\n ].concat(clientCommon.shuffle([\r\n { url: `${appId}-1.algolianet.com` },\r\n { url: `${appId}-2.algolianet.com` },\r\n { url: `${appId}-3.algolianet.com` },\r\n ])),\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/x-www-form-urlencoded' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const base = {\r\n transporter: transporter$1,\r\n appId,\r\n addAlgoliaAgent(segment, version) {\r\n transporter$1.userAgent.add({ segment, version });\r\n },\r\n clearCache() {\r\n return Promise.all([\r\n transporter$1.requestsCache.clear(),\r\n transporter$1.responsesCache.clear(),\r\n ]).then(() => undefined);\r\n },\r\n };\r\n return clientCommon.addMethods(base, options.methods);\r\n};\n\nconst getRecommendations = base => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => ({\r\n ...query,\r\n // The `threshold` param is required by the endpoint to make it easier\r\n // to provide a default value later, so we default it in the client\r\n // so that users don't have to provide a value.\r\n threshold: query.threshold || 0,\r\n }));\r\n return base.transporter.read({\r\n method: requesterCommon.MethodEnum.Post,\r\n path: '1/indexes/*/recommendations',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst getFrequentlyBoughtTogether = base => {\r\n return (queries, requestOptions) => {\r\n return getRecommendations(base)(queries.map(query => ({\r\n ...query,\r\n fallbackParameters: {},\r\n model: 'bought-together',\r\n })), requestOptions);\r\n };\r\n};\n\nconst getRelatedProducts = base => {\r\n return (queries, requestOptions) => {\r\n return getRecommendations(base)(queries.map(query => ({\r\n ...query,\r\n model: 'related-products',\r\n })), requestOptions);\r\n };\r\n};\n\nconst getTrendingFacets = base => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => ({\r\n ...query,\r\n model: 'trending-facets',\r\n // The `threshold` param is required by the endpoint to make it easier\r\n // to provide a default value later, so we default it in the client\r\n // so that users don't have to provide a value.\r\n threshold: query.threshold || 0,\r\n }));\r\n return base.transporter.read({\r\n method: requesterCommon.MethodEnum.Post,\r\n path: '1/indexes/*/recommendations',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst getTrendingItems = base => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => ({\r\n ...query,\r\n model: 'trending-items',\r\n // The `threshold` param is required by the endpoint to make it easier\r\n // to provide a default value later, so we default it in the client\r\n // so that users don't have to provide a value.\r\n threshold: query.threshold || 0,\r\n }));\r\n return base.transporter.read({\r\n method: requesterCommon.MethodEnum.Post,\r\n path: '1/indexes/*/recommendations',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst getLookingSimilar = base => {\r\n return (queries, requestOptions) => {\r\n return getRecommendations(base)(queries.map(query => ({\r\n ...query,\r\n model: 'looking-similar',\r\n })), requestOptions);\r\n };\r\n};\n\nconst getRecommendedForYou = base => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => ({\r\n ...query,\r\n model: 'recommended-for-you',\r\n threshold: query.threshold || 0,\r\n }));\r\n return base.transporter.read({\r\n method: requesterCommon.MethodEnum.Post,\r\n path: '1/indexes/*/recommendations',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nfunction recommend(appId, apiKey, options) {\r\n const commonOptions = {\r\n appId,\r\n apiKey,\r\n timeouts: {\r\n connect: 2,\r\n read: 5,\r\n write: 30,\r\n },\r\n requester: requesterNodeHttp.createNodeHttpRequester(),\r\n logger: loggerCommon.createNullLogger(),\r\n responsesCache: cacheCommon.createNullCache(),\r\n requestsCache: cacheCommon.createNullCache(),\r\n hostsCache: cacheInMemory.createInMemoryCache(),\r\n userAgent: transporter.createUserAgent(clientCommon.version)\r\n .add({ segment: 'Recommend', version: clientCommon.version })\r\n .add({ segment: 'Node.js', version: process.versions.node }),\r\n };\r\n return createRecommendClient({\r\n ...commonOptions,\r\n ...options,\r\n methods: {\r\n destroy: clientCommon.destroy,\r\n getFrequentlyBoughtTogether,\r\n getRecommendations,\r\n getRelatedProducts,\r\n getTrendingFacets,\r\n getTrendingItems,\r\n getLookingSimilar,\r\n getRecommendedForYou,\r\n },\r\n });\r\n}\r\n/* eslint-disable functional/immutable-data */\r\nrecommend.version = clientCommon.version;\r\nrecommend.getFrequentlyBoughtTogether = getFrequentlyBoughtTogether;\r\nrecommend.getRecommendations = getRecommendations;\r\nrecommend.getRelatedProducts = getRelatedProducts;\r\nrecommend.getTrendingFacets = getTrendingFacets;\r\nrecommend.getTrendingItems = getTrendingItems;\r\nrecommend.getLookingSimilar = getLookingSimilar;\r\nrecommend.getRecommendedForYou = getRecommendedForYou;\n\nmodule.exports = recommend;\n","/* eslint-disable functional/immutable-data, import/no-commonjs */\nconst recommend = require('./dist/recommend.cjs.js');\n\n/**\n * The Common JS build is the default entry point for the Node environment. Keep in\n * in mind, that for the browser environment, we hint the bundler to use the UMD\n * build instead as specified on the key `browser` of our `package.json` file.\n */\nmodule.exports = recommend;\n\n/**\n * In addition, we also set explicitly the default export below making\n * this Common JS module in compliance with es6 modules specification.\n */\nmodule.exports.default = recommend;\n","import * as http from 'http';\nimport { Agent } from 'http';\nimport * as https from 'https';\nimport { Agent as Agent$1 } from 'https';\nimport { parse } from 'url';\n\n/* eslint functional/prefer-readonly-type: 0 */\r\nconst agentOptions = { keepAlive: true };\r\nconst defaultHttpAgent = new Agent(agentOptions);\r\nconst defaultHttpsAgent = new Agent$1(agentOptions);\r\nfunction createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {}, } = {}) {\r\n const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;\r\n const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;\r\n return {\r\n send(request) {\r\n return new Promise(resolve => {\r\n const url = parse(request.url);\r\n const path = url.query === null ? url.pathname : `${url.pathname}?${url.query}`;\r\n const options = {\r\n ...requesterOptions,\r\n agent: url.protocol === 'https:' ? httpsAgent : httpAgent,\r\n hostname: url.hostname,\r\n path,\r\n method: request.method,\r\n headers: {\r\n ...(requesterOptions && requesterOptions.headers ? requesterOptions.headers : {}),\r\n ...request.headers,\r\n },\r\n ...(url.port !== undefined ? { port: url.port || '' } : {}),\r\n };\r\n const req = (url.protocol === 'https:' ? https : http).request(options, response => {\r\n // eslint-disable-next-line functional/no-let\r\n let contentBuffers = [];\r\n response.on('data', chunk => {\r\n contentBuffers = contentBuffers.concat(chunk);\r\n });\r\n response.on('end', () => {\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(connectTimeout);\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(responseTimeout);\r\n resolve({\r\n status: response.statusCode || 0,\r\n content: Buffer.concat(contentBuffers).toString(),\r\n isTimedOut: false,\r\n });\r\n });\r\n });\r\n const createTimeout = (timeout, content) => {\r\n return setTimeout(() => {\r\n req.abort();\r\n resolve({\r\n status: 0,\r\n content,\r\n isTimedOut: true,\r\n });\r\n }, timeout * 1000);\r\n };\r\n const connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout');\r\n // eslint-disable-next-line functional/no-let\r\n let responseTimeout;\r\n req.on('error', error => {\r\n clearTimeout(connectTimeout);\r\n clearTimeout(responseTimeout);\r\n resolve({ status: 0, content: error.message, isTimedOut: false });\r\n });\r\n req.once('response', () => {\r\n clearTimeout(connectTimeout);\r\n responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout');\r\n });\r\n if (request.data !== undefined) {\r\n req.write(request.data);\r\n }\r\n req.end();\r\n });\r\n },\r\n destroy() {\r\n httpAgent.destroy();\r\n httpsAgent.destroy();\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createNodeHttpRequester };\n","'use strict';\n\nvar cacheCommon = require('@algolia/cache-common');\nvar cacheInMemory = require('@algolia/cache-in-memory');\nvar clientAnalytics = require('@algolia/client-analytics');\nvar clientCommon = require('@algolia/client-common');\nvar clientPersonalization = require('@algolia/client-personalization');\nvar clientSearch = require('@algolia/client-search');\nvar loggerCommon = require('@algolia/logger-common');\nvar recommend = require('@algolia/recommend');\nvar requesterNodeHttp = require('@algolia/requester-node-http');\nvar transporter = require('@algolia/transporter');\n\nfunction algoliasearch(appId, apiKey, options) {\r\n const commonOptions = {\r\n appId,\r\n apiKey,\r\n timeouts: {\r\n connect: 2,\r\n read: 5,\r\n write: 30,\r\n },\r\n requester: requesterNodeHttp.createNodeHttpRequester(),\r\n logger: loggerCommon.createNullLogger(),\r\n responsesCache: cacheCommon.createNullCache(),\r\n requestsCache: cacheCommon.createNullCache(),\r\n hostsCache: cacheInMemory.createInMemoryCache(),\r\n userAgent: transporter.createUserAgent(clientCommon.version).add({\r\n segment: 'Node.js',\r\n version: process.versions.node,\r\n }),\r\n };\r\n const searchClientOptions = { ...commonOptions, ...options };\r\n const initPersonalization = () => (clientOptions) => {\r\n return clientPersonalization.createPersonalizationClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n getPersonalizationStrategy: clientPersonalization.getPersonalizationStrategy,\r\n setPersonalizationStrategy: clientPersonalization.setPersonalizationStrategy,\r\n },\r\n });\r\n };\r\n return clientSearch.createSearchClient({\r\n ...searchClientOptions,\r\n methods: {\r\n search: clientSearch.multipleQueries,\r\n searchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n multipleBatch: clientSearch.multipleBatch,\r\n multipleGetObjects: clientSearch.multipleGetObjects,\r\n multipleQueries: clientSearch.multipleQueries,\r\n copyIndex: clientSearch.copyIndex,\r\n copySettings: clientSearch.copySettings,\r\n copyRules: clientSearch.copyRules,\r\n copySynonyms: clientSearch.copySynonyms,\r\n moveIndex: clientSearch.moveIndex,\r\n listIndices: clientSearch.listIndices,\r\n getLogs: clientSearch.getLogs,\r\n listClusters: clientSearch.listClusters,\r\n multipleSearchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n getApiKey: clientSearch.getApiKey,\r\n addApiKey: clientSearch.addApiKey,\r\n listApiKeys: clientSearch.listApiKeys,\r\n updateApiKey: clientSearch.updateApiKey,\r\n deleteApiKey: clientSearch.deleteApiKey,\r\n restoreApiKey: clientSearch.restoreApiKey,\r\n assignUserID: clientSearch.assignUserID,\r\n assignUserIDs: clientSearch.assignUserIDs,\r\n getUserID: clientSearch.getUserID,\r\n searchUserIDs: clientSearch.searchUserIDs,\r\n listUserIDs: clientSearch.listUserIDs,\r\n getTopUserIDs: clientSearch.getTopUserIDs,\r\n removeUserID: clientSearch.removeUserID,\r\n hasPendingMappings: clientSearch.hasPendingMappings,\r\n generateSecuredApiKey: clientSearch.generateSecuredApiKey,\r\n getSecuredApiKeyRemainingValidity: clientSearch.getSecuredApiKeyRemainingValidity,\r\n destroy: clientCommon.destroy,\r\n clearDictionaryEntries: clientSearch.clearDictionaryEntries,\r\n deleteDictionaryEntries: clientSearch.deleteDictionaryEntries,\r\n getDictionarySettings: clientSearch.getDictionarySettings,\r\n getAppTask: clientSearch.getAppTask,\r\n replaceDictionaryEntries: clientSearch.replaceDictionaryEntries,\r\n saveDictionaryEntries: clientSearch.saveDictionaryEntries,\r\n searchDictionaryEntries: clientSearch.searchDictionaryEntries,\r\n setDictionarySettings: clientSearch.setDictionarySettings,\r\n waitAppTask: clientSearch.waitAppTask,\r\n customRequest: clientSearch.customRequest,\r\n initIndex: base => (indexName) => {\r\n return clientSearch.initIndex(base)(indexName, {\r\n methods: {\r\n batch: clientSearch.batch,\r\n delete: clientSearch.deleteIndex,\r\n findAnswers: clientSearch.findAnswers,\r\n getObject: clientSearch.getObject,\r\n getObjects: clientSearch.getObjects,\r\n saveObject: clientSearch.saveObject,\r\n saveObjects: clientSearch.saveObjects,\r\n search: clientSearch.search,\r\n searchForFacetValues: clientSearch.searchForFacetValues,\r\n waitTask: clientSearch.waitTask,\r\n setSettings: clientSearch.setSettings,\r\n getSettings: clientSearch.getSettings,\r\n partialUpdateObject: clientSearch.partialUpdateObject,\r\n partialUpdateObjects: clientSearch.partialUpdateObjects,\r\n deleteObject: clientSearch.deleteObject,\r\n deleteObjects: clientSearch.deleteObjects,\r\n deleteBy: clientSearch.deleteBy,\r\n clearObjects: clientSearch.clearObjects,\r\n browseObjects: clientSearch.browseObjects,\r\n getObjectPosition: clientSearch.getObjectPosition,\r\n findObject: clientSearch.findObject,\r\n exists: clientSearch.exists,\r\n saveSynonym: clientSearch.saveSynonym,\r\n saveSynonyms: clientSearch.saveSynonyms,\r\n getSynonym: clientSearch.getSynonym,\r\n searchSynonyms: clientSearch.searchSynonyms,\r\n browseSynonyms: clientSearch.browseSynonyms,\r\n deleteSynonym: clientSearch.deleteSynonym,\r\n clearSynonyms: clientSearch.clearSynonyms,\r\n replaceAllObjects: clientSearch.replaceAllObjects,\r\n replaceAllSynonyms: clientSearch.replaceAllSynonyms,\r\n searchRules: clientSearch.searchRules,\r\n getRule: clientSearch.getRule,\r\n deleteRule: clientSearch.deleteRule,\r\n saveRule: clientSearch.saveRule,\r\n saveRules: clientSearch.saveRules,\r\n replaceAllRules: clientSearch.replaceAllRules,\r\n browseRules: clientSearch.browseRules,\r\n clearRules: clientSearch.clearRules,\r\n },\r\n });\r\n },\r\n initAnalytics: () => (clientOptions) => {\r\n return clientAnalytics.createAnalyticsClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n addABTest: clientAnalytics.addABTest,\r\n getABTest: clientAnalytics.getABTest,\r\n getABTests: clientAnalytics.getABTests,\r\n stopABTest: clientAnalytics.stopABTest,\r\n deleteABTest: clientAnalytics.deleteABTest,\r\n },\r\n });\r\n },\r\n initPersonalization,\r\n initRecommendation: () => (clientOptions) => {\r\n searchClientOptions.logger.info('The `initRecommendation` method is deprecated. Use `initPersonalization` instead.');\r\n return initPersonalization()(clientOptions);\r\n },\r\n getRecommendations: recommend.getRecommendations,\r\n getFrequentlyBoughtTogether: recommend.getFrequentlyBoughtTogether,\r\n getLookingSimilar: recommend.getLookingSimilar,\r\n getRecommendedForYou: recommend.getRecommendedForYou,\r\n getRelatedProducts: recommend.getRelatedProducts,\r\n getTrendingFacets: recommend.getTrendingFacets,\r\n getTrendingItems: recommend.getTrendingItems,\r\n },\r\n });\r\n}\r\n// eslint-disable-next-line functional/immutable-data\r\nalgoliasearch.version = clientCommon.version;\n\nmodule.exports = algoliasearch;\n","/* eslint-disable functional/immutable-data, import/no-commonjs */\nconst algoliasearch = require('./dist/algoliasearch.cjs.js');\n\n/**\n * The Common JS build is the default entry point for the Node environment. Keep in\n * in mind, that for the browser environment, we hint the bundler to use the UMD\n * build instead as specified on the key `browser` of our `package.json` file.\n */\nmodule.exports = algoliasearch;\n\n/**\n * In addition, we also set explicitly the default export below making\n * this Common JS module in compliance with es6 modules specification.\n */\nmodule.exports.default = algoliasearch;\n","// eslint-disable-next-line functional/immutable-data, import/no-commonjs\nmodule.exports = require('./index');\n","import { Box } from '@vtex/brand-ui'\nimport { MDXRemote } from 'next-mdx-remote'\nimport { MarkdownRendererProps } from './MarkdownRenderer.types'\nimport components from './components'\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst MDXRemote2 = MDXRemote as any\n\nconst MarkdownRenderer = ({\n serialized,\n customComponents,\n scope,\n}: MarkdownRendererProps) => {\n if (components && scope) {\n return (\n \n \n \n )\n }\n\n return (\n \n \n \n )\n}\n\nexport default MarkdownRenderer\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { useContext, useEffect, useRef, useState } from 'react'\nimport { Box, Flex } from '@vtex/brand-ui'\nimport {\n ReactSVGPanZoom,\n UncontrolledReactSVGPanZoom,\n} from 'react-svg-pan-zoom'\nimport mermaid from 'mermaid'\nimport parse from 'html-react-parser'\nimport { InView } from 'react-intersection-observer'\n\nimport { CH } from '@code-hike/mdx/components'\nimport OverviewCard from 'components/overview-card'\nimport YoutubeFrame from 'components/youtube-frame'\nimport Steps from 'components/steps'\nimport LightBox from 'components/lightbox'\nimport WhatsNextCard from 'components/whats-next-card'\n\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { childrenToString, slugify } from 'utils/string-utils'\nimport mermaidInit from 'utils/mermaidInit'\n\nimport { Component, ObservableHeadingProps } from './MarkdownRenderer.types'\nimport styles from './styles.module.css'\nimport { messages } from 'utils/get-message'\n\nmermaidInit()\n\nconst ObservableHeading = ({\n level,\n onEnterView,\n onLeaveView,\n ...headingProps\n}: ObservableHeadingProps) => {\n const [y, setY] = useState(Infinity)\n const toSlugify = childrenToString(headingProps.children)\n const slug = slugify(toSlugify)\n return (\n {\n if (inView) onEnterView(slug)\n else onLeaveView(slug, entry, y)\n\n setY(entry.boundingClientRect.y)\n }}\n >\n {level === 2 ? (\n

\n ) : (\n

\n )}\n \n )\n}\n\nconst Callout = ({ node, icon, ...props }: Component) => {\n const blockquoteType: string = icon ? icon : 'info'\n return (\n \n
\n \n )\n}\n\nconst MermaidDiagram = ({ node, ...props }: Component) => {\n const viewerRef = useRef(null)\n const ref = useRef()\n\n const [diagram, setDiagram] = useState('')\n const [width, setWidth] = useState(0)\n const [height, setHeight] = useState(0)\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver(() => {\n if (!ref.current) return\n setWidth(ref.current?.clientWidth ?? 0)\n setHeight(ref.current?.clientWidth / 2 ?? 0)\n })\n\n const mermaidRenderer = async function () {\n const { svg } = await mermaid.render('mermaid-id', props.children)\n setDiagram(\n svg.replace('id=\"mermaid-id\"', '').replaceAll('#mermaid-id', '')\n )\n }\n\n mermaidRenderer()\n if (ref.current) resizeObserver.observe(ref.current)\n }, [])\n\n return (\n \n \n \n {parse(diagram)}\n \n \n \n )\n}\n\nconst ImageComponent = ({ node, ...props }: Component) => {\n const [srcHasError, setSrcHasError] = useState(false)\n const { locale } = useContext(LibraryContext)\n const regularImg = (\n // eslint-disable-next-line @next/next/no-img-element\n {props.alt} setSrcHasError(true)} />\n )\n const errorMessage = (\n
\n {messages[locale]['image.error_loading']} {props.src}\n
\n )\n\n let data: { base64: string; img: object } = { base64: '', img: {} }\n try {\n data = JSON.parse(props.alt)\n } catch (error) {\n console.log(`Error parsing`, error)\n return errorMessage\n }\n return !srcHasError ? {regularImg} : errorMessage\n}\n\nexport default {\n CH,\n OverviewCard,\n WhatsNextCard,\n YoutubeFrame,\n Steps,\n Flex: ({ node, ...props }: Component) => (\n \n ),\n table: ({ node, ...props }: Component) => ,\n td: ({ node, ...props }: Component) =>
,\n img: ImageComponent,\n text: ({ node, ...props }: Component) => {\n return \n },\n blockquote: ({ ...props }: Component) => {\n return \n },\n code: ({ node, ...props }: Component) => {\n return \n },\n pre: ({ ...props }: Component) => {\n if (props.className && props.className === 'mermaid')\n return \n\n return
\n  },\n  h2: ({ node, ...props }: Component) => {\n    const { activeItem, setActiveItem, goToPreviousItem } =\n      useContext(LibraryContext)\n\n    return (\n       {\n          setActiveItem(({ item, subItem }) => ({\n            item: slug,\n            subItem: item !== slug ? '' : subItem,\n          }))\n        }}\n        onLeaveView={(slug, entry, y) => {\n          if (entry.boundingClientRect.y > y && activeItem.item === slug) {\n            goToPreviousItem()\n          }\n        }}\n        {...props}\n      />\n    )\n  },\n  h3: ({ node, ...props }: Component) => {\n    const { activeItem, setActiveItem, goToPreviousSubItem } =\n      useContext(LibraryContext)\n\n    return (\n       {\n          setActiveItem(({ item }) => ({\n            item,\n            subItem: slug,\n          }))\n        }}\n        onLeaveView={(slug, entry, y) => {\n          if (entry.boundingClientRect.y > y && activeItem.subItem === slug) {\n            goToPreviousSubItem()\n          }\n        }}\n        {...props}\n      />\n    )\n  },\n}\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst overviewCard: SxStyleProp = {\n  alignItems: 'flex-start',\n  margin: '20px 0px',\n  border: '1px solid #E7E9EE',\n  borderRadius: '4px',\n  padding: '18px 24px 4px',\n  color: '#4A596B',\n  ':active, :hover': {\n    borderColor: 'muted.2',\n    boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n    transition: 'all 0.3 ease-out',\n    '*':{\n      color: '#000711',\n    }\n  },\n  ul: {\n    borderLeft: '1px rgb(202, 203, 204) solid',\n    fontSize: '0.9em',\n    mt: '0',\n    paddingLeft: '1.5em',\n    listStyleType: 'none',\n    display: 'block',\n    textDecoration: 'none',\n  },\n  'h3, h4': {\n    color: '#4A596B',\n    fontSize: '1.125em',\n    fontWeight: '400',\n    my: '0',\n  },\n}\n\nconst overviewIcon: SxStyleProp = {\n  marginRight: '1.25em',\n  marginTop: '0.375em',\n}\n\nexport default {\n  overviewCard,\n  overviewIcon,\n}\n","import styles from './styles'\nimport { Flex, Box } from '@vtex/brand-ui'\nimport * as Icons from './icons'\nimport { IconComponent } from 'utils/typings/types'\nimport Link from 'next/link.js'\n\ninterface IconsI {\n  name: string\n  Icon: IconComponent\n}\n\nconst IconsMap: IconsI[] = [\n  {\n    name: 'StorageUnit',\n    Icon: Icons.StorageUnit,\n  },\n  {\n    name: 'Board',\n    Icon: Icons.Board,\n  },\n  {\n    name: 'Integration',\n    Icon: Icons.Integration,\n  },\n  {\n    name: 'SearchList',\n    Icon: Icons.SearchList,\n  },\n  {\n    name: 'SearchDetails',\n    Icon: Icons.SearchDetails,\n  },\n  {\n    name: 'SwitchArrows',\n    Icon: Icons.SwitchArrows,\n  },\n  {\n    name: 'ChangeCart',\n    Icon: Icons.ChangeCart,\n  },\n  {\n    name: 'ToStore',\n    Icon: Icons.ToStore,\n  },\n  {\n    name: 'PaymentHand',\n    Icon: Icons.PaymentHand,\n  },\n  {\n    name: 'GlobeCart',\n    Icon: Icons.GlobeCart,\n  },\n  {\n    name: 'StoreCart',\n    Icon: Icons.StoreCart,\n  },\n  {\n    name: 'List',\n    Icon: Icons.List,\n  },\n  {\n    name: 'Blocks',\n    Icon: Icons.Blocks,\n  },\n  {\n    name: 'StoreData',\n    Icon: Icons.StoreData,\n  },\n  {\n    name: 'Cart',\n    Icon: Icons.Cart,\n  },\n  {\n    name: 'FileConfiguration',\n    Icon: Icons.FileConfiguration,\n  },\n  {\n    name: 'Platform',\n    Icon: Icons.Platform,\n  },\n  {\n    name: 'RestApis',\n    Icon: Icons.RestApis,\n  },\n  {\n    name: 'Catalog',\n    Icon: Icons.Catalog,\n  },\n  {\n    name: 'Orders',\n    Icon: Icons.Orders,\n  },\n  {\n    name: 'Checkout',\n    Icon: Icons.Checkout,\n  },\n  {\n    name: 'Payments',\n    Icon: Icons.Payments,\n  },\n  {\n    name: 'Promotions',\n    Icon: Icons.Promotions,\n  },\n  {\n    name: 'Pricing',\n    Icon: Icons.Pricing,\n  },\n  {\n    name: 'AccountManagement',\n    Icon: Icons.AccountManagement,\n  },\n  {\n    name: 'StoreSearch',\n    Icon: Icons.StoreSearch,\n  },\n  {\n    name: 'Subscriptions',\n    Icon: Icons.Subscriptions,\n  },\n  {\n    name: 'Fulfillment',\n    Icon: Icons.Fulfillment,\n  },\n]\n\nconst getIcon = (name: string) => {\n  return IconsMap.find((icon) => icon.name === name)?.Icon\n}\n\n//Interfaces\nexport interface OverviewCardProps {\n  icon: string\n  link: string\n  children: string\n}\n\nconst OverviewCard = ({ icon, link, children }: OverviewCardProps) => {\n  const Icon = getIcon(icon)\n  return (\n    \n      \n        {Icon && }\n        {children}\n      \n    \n  )\n}\n\nexport default OverviewCard\n","import React from 'react'\nimport type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst StorageUnit = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n      \n      \n      \n    \n  \n)\n\nconst Board = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n    \n  \n)\n\nconst Composable = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n    \n  \n)\n\nconst Integration = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n  \n)\n\nconst SearchList = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n    \n    \n  \n)\n\nconst SwitchArrows = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n    \n  \n)\n\nconst SearchDetails = (props: IconProps) => (\n  \n    \n    \n    \n  \n)\n\nconst List = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst StoreCart = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst GlobeCart = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst PaymentHand = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n  \n)\n\nconst ToStore = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n    \n  \n)\nconst ChangeCart = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n    \n    \n  \n)\n\nconst Blocks = (props: IconProps) => (\n  \n    {' '}\n    \n      {' '}\n      {' '}\n      {' '}\n      {' '}\n      {' '}\n    \n  \n)\nconst StoreData = (props: IconProps) => (\n  \n    \n    \n    \n    \n    \n  \n)\nconst FileConfiguration = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\nconst Cart = (props: IconProps) => (\n  \n    \n    \n    \n    \n  \n)\n\nconst Platform = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n      \n      \n      \n    \n  \n)\n\nconst RestApis = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n    \n  \n)\n\nconst Catalog = (props: IconProps) => (\n  \n    {' '}\n    \n  \n)\n\nconst Orders = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst Checkout = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst Payments = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst Promotions = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst Pricing = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst AccountManagement = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\n\nconst StoreSearch = (props: IconProps) => (\n  \n    {' '}\n    {' '}\n    {' '}\n    {' '}\n    \n  \n)\nconst Subscriptions = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n      \n      \n    \n  \n)\n\nconst Fulfillment = (props: IconProps) => (\n  \n    \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n    \n  \n)\n\nexport {\n  StorageUnit,\n  Board,\n  Composable,\n  Integration,\n  SearchList,\n  SwitchArrows,\n  SearchDetails,\n  ChangeCart,\n  ToStore,\n  PaymentHand,\n  GlobeCart,\n  StoreCart,\n  List,\n  Blocks,\n  StoreData,\n  FileConfiguration,\n  Cart,\n  Platform,\n  RestApis,\n  Catalog,\n  Orders,\n  Checkout,\n  Payments,\n  Promotions,\n  Pricing,\n  AccountManagement,\n  StoreSearch,\n  Subscriptions,\n  Fulfillment,\n}\n","import React from 'react'\nimport PropTypes from 'prop-types'\n\nexport interface IYoutubeFrame {\n  embedId: string\n}\nconst YoutubeFrame = ({ embedId }: IYoutubeFrame) => (\n  
\n \n
\n)\n\nYoutubeFrame.propTypes = {\n embedId: PropTypes.string.isRequired,\n}\n\nexport default YoutubeFrame\n","import React from 'react'\nimport { Box } from '@vtex/brand-ui'\nimport styles from './styles'\n\nexport interface StepsProps {\n children: string\n}\nconst Steps = ({ children }: StepsProps) => {\n return {children}\n}\nexport default Steps\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst steps: SxStyleProp = {\n ml: '4px',\n mt: '12px',\n mb: '27px',\n borderLeft: '1px solid #e5e7eb',\n pl: '25px',\n position: 'relative',\n '.heading': {\n counterIncrement: `step`,\n },\n '.heading:before': {\n content: `counter(step)`,\n position: 'absolute',\n border: '4px solid #ffffff',\n width: '2em',\n height: '2em',\n left: '-1.3em',\n color: '#a1a1aa',\n backgroundColor: '#f2f3f6',\n borderRadius: '9999px',\n fontSize: '1em',\n textAlign: 'center',\n lineHeight: '2.1em',\n boxSizing: 'content-box',\n },\n}\n\nexport default {\n steps,\n}\n","import React, { ReactElement, useEffect, useRef, useState } from 'react'\nimport { Box, Button, Flex } from '@vtex/brand-ui'\nimport CloseIcon from 'components/icons/close-icon'\nimport useClickOutside from 'utils/hooks/useClickOutside'\nimport styles from './styles'\n\ninterface Props {\n children: ReactElement\n}\n\nexport default function LightBox({ children }: Props) {\n const [isModalOpen, setIsModalOpen] = useState(false)\n const modalRef = useRef()\n\n useEffect(() => {\n if (isModalOpen) {\n const scrollTop = document.body.getBoundingClientRect().top\n document.body.style.top = `${scrollTop}px`\n document.body.classList.add('modal-open')\n } else {\n document.body.classList.remove('modal-open')\n document.body.style.removeProperty('top')\n }\n }, [isModalOpen])\n\n useClickOutside(modalRef, () => setIsModalOpen(false))\n\n return (\n
\n {isModalOpen && (\n \n }\n onClick={() => setIsModalOpen(false)}\n />\n \n {children}\n \n \n )}\n setIsModalOpen(true)}>\n {children}\n \n
\n )\n}\n","import React from 'react'\nimport type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CloseIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default CloseIcon\n","import { useEffect, MutableRefObject, SetStateAction, Dispatch } from 'react'\n\nexport default function useClickOutside(\n ref: MutableRefObject,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n openModal: Dispatch>\n) {\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n const { body, documentElement } = document\n if (\n ref.current &&\n event.target instanceof Node &&\n !ref.current.contains(event.target)\n ) {\n openModal({ modalToggle: false })\n const scrollTop = body.getBoundingClientRect().top * -1\n body.classList.remove('modal-open')\n documentElement.scrollTop = scrollTop\n body.style.removeProperty('top')\n }\n }\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [])\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst imageContainer: SxStyleProp = {\n cursor: 'pointer',\n borderRadius: '5px',\n width: 'fit-content',\n mt: '16px',\n mb: '24px',\n transition: '0.3s',\n ':hover': {\n boxShadow: '2px 4px 8px 2px rgb(0 0 0 / 10%)',\n },\n\n '> img': {\n maxWidth: '100%',\n display: 'block',\n padding: '0',\n margin: '0',\n border: '1px solid #e7e9ed',\n borderRadius: '4px'\n },\n}\n\nconst container: SxStyleProp = {\n margin: '0',\n width: '100%',\n height: '100%',\n backgroundColor: 'rgba(0,0,0,0.9)',\n position: 'fixed',\n top: '0',\n left: '0',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n zIndex: '10000',\n}\n\nconst modal: SxStyleProp = {\n display: 'inline-block',\n margin: 'auto',\n boxShadow: '2px 4px 16px rgb(0 0 0 / 30%)',\n position: 'relative',\n zIndex: '10001',\n padding: '0',\n\n '> img': {\n display: 'block',\n maxHeight: 'calc(100vh - 50px)',\n maxWidth: 'calc(100vw - 50px)',\n width: 'auto',\n margin: '0',\n padding: '0',\n },\n}\n\nconst closeButton: SxStyleProp = {\n position: 'absolute',\n zIndex: '10002',\n top: '10px',\n right: '10px',\n color: '#FEFEFE',\n\n ':hover': {\n color: 'rgb(100, 100, 100)',\n },\n}\n\nexport default {\n imageContainer,\n container,\n modal,\n closeButton,\n}\n","import React from 'react'\nimport { Box, Flex, IconCaret, Text, Link } from '@vtex/brand-ui'\nimport styles from './styles'\nimport Image from 'next/image.js'\n\nexport type WhatsNextDataElement = {\n title: string\n description?: string\n linkTitle?: string\n linkTo: string\n image?: string\n}\n\nconst WhatsNextCard = ({\n title,\n description,\n linkTitle,\n linkTo,\n image,\n}: WhatsNextDataElement) => {\n return (\n \n {image ? (\n \n \n \n {title}\n \n \n ) : (\n \n \n {title}\n \n {description && (\n \n {description}\n \n )}\n {linkTitle && (\n \n \n {linkTitle}\n \n \n \n )}\n \n )}\n \n )\n}\n\nexport default WhatsNextCard\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n mt: '16px',\n borderRadius: '4px',\n border: '1px solid #E7E9EE',\n width: ['100%', '49%'],\n transition: 'all 0.3s ease-out',\n ':hover': {\n cursor: 'pointer',\n },\n ':active, :hover': {\n borderColor: 'muted.2',\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n transition: 'all 0.3 ease-out',\n '.title, .description': {\n transition: 'all 0.3s ease-out',\n color: '#000711',\n },\n '.link, .caret': {\n transition: 'all 0.3s ease-out',\n color: 'muted.0',\n },\n },\n}\n\nconst title: SxStyleProp = {\n mb: '8px',\n fontSize: '16px',\n fontWeight: '400',\n lineHeight: ['22px', '18px'],\n color: 'muted.0',\n}\n\nconst imageTitle: SxStyleProp = {\n padding: '16px',\n fontSize: '16px',\n fontWeight: '400',\n color: 'muted.0',\n ':after': {\n content: `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='rgb(74 89 108)' %3E%3Cpath fill-rule='evenodd' d='M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z' clip-rule='evenodd' /%3E%3C/svg%3E\")`,\n position: 'absolute',\n height: '16px',\n width: '16px',\n marginLeft: '3px',\n lineHeight: '30px',\n },\n}\n\nconst description: SxStyleProp = {\n fontSize: '14px',\n fontWeight: '400',\n lineHeight: '20px',\n color: 'muted.0',\n}\n\nconst linkContainer: SxStyleProp = {\n mt: '8px',\n alignItems: 'center',\n}\n\nconst link: SxStyleProp = {\n ...description,\n color: 'muted.1',\n}\n\nexport default {\n container,\n title,\n imageTitle,\n description,\n linkContainer,\n link,\n}","import type { Dispatch, ReactNode, SetStateAction } from 'react'\nimport { createContext, useEffect, useState } from 'react'\nimport { Item } from 'lib/table-of-contents/TableOfContents.types'\nimport { Section } from 'utils/typings/types'\nimport { SWRConfig } from 'swr'\n\ninterface Props extends Partial {\n children: ReactNode\n /** The navigation array containing the list of documentations shown in the sidebar. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fallback?: any\n /** Documentation sections, the same sections that divide the fallback. */\n sections: Section[][]\n /** Whether is a branch preview or not. */\n isPreview: boolean\n /** The section currently selected. */\n sectionSelected: string\n /** The sections to be used on the hamburguer menu */\n hamburguerMenuSections: Section[][]\n /** The portal language. The default is english. */\n locale?: 'en' | 'pt' | 'es'\n}\n\nexport type ContextType = {\n headingItems: Item[]\n setHeadingItems: Dispatch>\n activeItem: ActiveItem\n setActiveItem: Dispatch>\n goToPreviousItem: () => void\n goToPreviousSubItem: () => void\n isEditorPreview: boolean\n sidebarSectionHidden: boolean\n activeSectionName: string\n activeSidebarElement: string\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sidebarDataMaster: any\n sidebarElementStatus: Map\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setSidebarDataMaster: Dispatch>\n setIsEditorPreview: Dispatch>\n setSidebarSectionHidden: Dispatch>\n setActiveSectionName: Dispatch>\n setActiveSidebarElement: Dispatch>\n toggleSidebarElementStatus: (title: string) => void\n openSidebarElement: (title: string) => void\n closeSidebarElements: (parentsArray: string[]) => void\n sidebarSections: Section[][]\n setSidebarSections: Dispatch>\n hamburguerSections: Section[][]\n setHamburguerSections: Dispatch>\n locale: 'en' | 'pt' | 'es'\n}\n\ntype ActiveItem = {\n item: string\n subItem: string\n}\n\nexport const LibraryContext = createContext({\n headingItems: [],\n setHeadingItems: () => undefined,\n activeItem: {\n item: '',\n subItem: '',\n },\n setActiveItem: () => undefined,\n goToPreviousItem: () => undefined,\n goToPreviousSubItem: () => undefined,\n isEditorPreview: false,\n sidebarSectionHidden: false,\n activeSectionName: '',\n activeSidebarElement: '',\n sidebarDataMaster: {},\n setIsEditorPreview: () => undefined,\n sidebarElementStatus: new Map(),\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n setSidebarDataMaster: (_: any) => undefined,\n setSidebarSectionHidden: () => undefined,\n setActiveSectionName: () => undefined,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\n setActiveSidebarElement: (_: any) => undefined,\n toggleSidebarElementStatus: () => undefined,\n openSidebarElement: () => undefined,\n closeSidebarElements: () => undefined,\n sidebarSections: [],\n setSidebarSections: () => undefined,\n hamburguerSections: [],\n setHamburguerSections: () => undefined,\n locale: 'en',\n})\n\n/** Provider for the LibraryContext created with React.createContext. The context is used in the following components: feedback, search, sidebar, hamburger menu, markdown renderer and table of contents. */\nconst LibraryContextProvider = ({ children, ...props }: Props) => {\n const [headingItems, setHeadingItems] = useState([])\n const [activeItem, setActiveItem] = useState({\n item: '',\n subItem: '',\n })\n\n const [activeSectionName, setActiveSectionName] = useState(\n props.sectionSelected\n )\n const [sidebarSectionHidden, setSidebarSectionHidden] = useState(false)\n const [activeSidebarElement, setActiveSidebarElement] = useState('')\n const [sidebarElementStatus, setSidebarElementStatus] = useState(new Map())\n const [sidebarDataMaster, setSidebarDataMaster] = useState(props.fallback)\n const [isEditorPreview, setIsEditorPreview] = useState(props.isPreview)\n const [sidebarSections, setSidebarSections] = useState(props.sections)\n const [hamburguerSections, setHamburguerSections] = useState(\n props.hamburguerMenuSections\n )\n const locale = 'en'\n\n useEffect(() => {\n setSidebarDataMaster(props.fallback)\n }, [props.fallback])\n\n useEffect(() => {\n if (props.sectionSelected === '') setSidebarSectionHidden(true)\n else if (props.sectionSelected !== activeSectionName)\n setActiveSectionName(props.sectionSelected)\n }, [props.sectionSelected])\n\n const { fallback } = props\n\n const toggleSidebarElementStatus = (title: string) => {\n setSidebarElementStatus((sidebarElementStatus) => {\n const open =\n sidebarElementStatus.has(title) === false\n ? true\n : !sidebarElementStatus.get(title)\n\n return new Map(sidebarElementStatus.set(title, open))\n })\n }\n\n const closeSidebarElements = (parentsArray: string[]) => {\n sidebarElementStatus.forEach((_value, key) => {\n if (!parentsArray.includes(key)) {\n setSidebarElementStatus((sidebarElementStatus) => {\n return new Map(sidebarElementStatus.set(key, false))\n })\n }\n })\n }\n\n const openSidebarElement = (title: string) => {\n setSidebarElementStatus((sidebarElementStatus) => {\n return new Map(sidebarElementStatus.set(title, true))\n })\n }\n\n const goToPreviousItem = () => {\n setActiveItem(({ item, subItem }) => {\n const index = headingItems.findIndex((heading) => heading.slug === item)\n if (index === -1) return { item, subItem }\n\n const previousItem = !index ? '' : headingItems[index - 1].slug\n const previousChildren = !index ? [] : headingItems[index - 1].children\n const previousSubItem = !previousChildren.length\n ? ''\n : previousChildren.slice(-1)[0].slug\n\n return {\n item: previousItem,\n subItem: previousSubItem,\n }\n })\n }\n\n const goToPreviousSubItem = () => {\n setActiveItem(({ item, subItem }) => {\n const heading = headingItems.find((heading) => heading.slug === item)\n const index = heading?.children.findIndex(\n (child) => child.slug === subItem\n )\n\n if (!heading || index === -1) return { item, subItem }\n\n return {\n item,\n subItem: !index ? '' : heading.children[index - 1].slug,\n }\n })\n }\n\n return (\n \n \n {children}\n \n \n )\n}\n\nexport default LibraryContextProvider\n","export const removeHTML = (str: string) => str.replace(/<\\/?[^>]+>/g, '')\n\nexport const capitalizeFirstLetter = (str: string) => {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport const toCamelCase = (str: string) => {\n const [firstWord, ...otherWords] = str.split('-')\n return `${firstWord}${otherWords.map(capitalizeFirstLetter).join('')}`\n}\n\nexport const slugify = (str: string) => {\n return str\n .normalize('NFD') // Decomposes diacritics (e.g., \"é\" → \"é\")\n .replace(/[\\u0300-\\u036f]/g, '') // Removes diacritic marks\n .toLowerCase()\n .replace(/[^\\w\\s-]/g, '') // Removes non-word characters except spaces and hyphens\n .replace(/\\s+/g, '-') // Replaces spaces with hyphens\n .replace(/-+/g, '-') // Removes multiple consecutive hyphens\n .trim() // Trims leading/trailing spaces\n}\n\ntype Child = string | { props: { children: Child[] } }\n\nexport const childrenToString: (children: Child[]) => string = (children) => {\n if (!children) return ''\n else if (Array.isArray(children))\n return children\n .map((child) => {\n if (typeof child === 'string') return child\n return childrenToString(child.props.children)\n })\n .join('')\n else {\n if (typeof children === 'string') return children\n return childrenToString(children['props']['children'])\n }\n}\n\nexport const matrixToMarkdownTable: (matrix: string[][]) => string = (\n matrix\n) => {\n const matrixRowToMarkdownTableRow = (matrixRow: string[]) =>\n `|${matrixRow\n .map((matrixElement) => ` ${matrixElement.replace(/\\n/g, '
')} |`)\n .join('')}`\n\n let table = matrixRowToMarkdownTableRow(matrix[0]) + '\\n|'\n for (let i = 0; i < matrix[0].length; i++) table += ' --- |'\n\n table += '\\n'\n for (let i = 1; i < matrix.length; i++)\n table += matrixRowToMarkdownTableRow(matrix[i]) + '\\n'\n\n return table\n}\n","import mermaid from 'mermaid'\n\nconst mermaidInit = () => {\n mermaid.initialize({\n theme: 'base',\n themeVariables: {\n primaryColor: '#FFFFFF',\n primaryTextColor: '#142032',\n primaryBorderColor: '#A1AAB7',\n labelBoxBorderColor: '#E31C58',\n labelTextColor: '#E31C58',\n labelBoxBkgColor: '#FFF3F6',\n lineColor: '#A1AAB7',\n mainBkg: '#F8F7FC',\n },\n })\n}\n\nexport default mermaidInit\n",".img {\n max-width: 100%;\n padding-top: 2vh;\n border-radius: 4px;\n}\n\n.heading::before {\n content: '';\n display: block;\n visibility: hidden;\n pointer-events: none;\n}\n\n.code {\n background-color: #f6f8fa;\n background-color: var(--md-code-background, #f6f8fa);\n border-radius: 4px;\n color: var(--md-code-text);\n margin: 0;\n padding: 0.2em 0.4em;\n font-size: 0.875em;\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\ntable .code {\n word-break: normal;\n}\n\n.blockquote {\n display: grid;\n padding: 20px;\n gap: 20px;\n width: 100%;\n margin: 16px 0px 24px;\n border-radius: 4px;\n align-items: center;\n border: 1px solid #ccced8;\n grid-template-columns: 20px 1fr;\n grid-template-rows: 1fr;\n word-break: break-word;\n}\n\n.blockquote a {\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\n.blockquote p,\n.blockquote div {\n margin: 0px;\n grid-column: 2 / -1;\n grid-row: 1 / 1;\n}\n\n.blockquote a {\n color: #e31c58 !important;\n -webkit-text-decoration: underline 1px solid;\n text-decoration: underline 1px solid;\n}\n\n.blockquote a:hover {\n color: #c81e51;\n}\n\n.blockquoteInfo {\n background: #f8f7fc;\n border: 1px solid #ccced8;\n}\n\n.blockquoteInfo:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteDanger {\n background: #fdefef;\n border: 1px solid #dc5a41;\n}\n\n.blockquoteDanger:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteWarning {\n background: #fff2d4;\n border: 1px solid #ffb100;\n}\n\n.blockquoteWarning code {\n background-color: #ffe5b5;\n}\n\n.blockquoteInfo code {\n background-color: #ecebf3;\n}\n\n.blockquoteWarning:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.blockquoteSuccess {\n background: #f3f8f3;\n border: 1px solid #80be80;\n}\n\n.blockquoteSuccess:before {\n display: inline-block;\n height: 20px;\n width: 20px;\n content: '';\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg')\n no-repeat 0 0;\n background-size: 20px 20px;\n}\n\n.flexWrap {\n flex-wrap: wrap;\n justify-content: space-between;\n}\n\n.svgContainer {\n width: 100%;\n}\n","{\n \"feedback_section.question\": \"Was this helpful?\",\n \"feedback_section.response\": \"Thanks for the feedback!\",\n \"feedback_section.positive\": \"Yes\",\n \"feedback_section.negative\": \"No\",\n \"feedback_section.edit\": \"Suggest Edits (GitHub)\",\n \"feedback_modal.title\": \"Leave a Comment (Optional)\",\n \"feedback_modal.button\": \"Send Feedback\",\n \"search_input.empty\": \"No results found. Try different search terms.\",\n \"search_input.placeholder\": \"Search\",\n \"search_results.showing\": \"Showing\",\n \"search_results.results_for\": \"results for\",\n \"search_results.in\": \"in\",\n \"search_results.all_lowercase\": \"all results\",\n \"sidebar_search.placeholder\": \"Search in\",\n \"search_input.see_all\": \"See all results\",\n \"search_results.summary\": \"Showing {count} results for \\\"{keyword}\\\" in {section}\",\n \"search_results.all\": \"All results\",\n \"search_card.in\": \"In\",\n \"image.error_loading\": \"An error occurred while loading the image\",\n \"api_reference_sidebar_filter_clear\": \"Clear All\",\n \"api_reference_sidebar_filter\": \"Filter By\",\n \"cookie_bar.title\": \"We use cookies\",\n \"cookie_bar.description\": \"This website uses cookies to improve navigation, analyze usage, and assist with our marketing efforts.\",\n \"cookie_bar.accept\": \"I agree\",\n \"cookie_bar.decline\": \"I decline\"\n}\n","{\n \"feedback_section.question\": \"¿Te ha parecido útil?\",\n \"feedback_section.response\": \"Gracias por tu feedback\",\n \"feedback_section.positive\": \"Sí\",\n \"feedback_section.negative\": \"No\",\n \"feedback_section.edit\": \"Sugerir cambios (GitHub)\",\n \"feedback_modal.title\": \"Dar feedback (opcional)\",\n \"feedback_modal.button\": \"Enviar feedback\",\n \"search_input.empty\": \"No se encontraron resultados. Intenta utilizar otros términos.\",\n \"search_input.placeholder\": \"Buscar\",\n \"sidebar_search.placeholder\": \"Buscar en\",\n \"search_results.showing\": \"Mostrando\",\n \"search_results.results_for\": \"resultados para\",\n \"search_results.in\": \"en\",\n \"search_results.all_lowercase\": \"todos los resultados\",\n \"search_input.see_all\": \"Ver todos los resultados\",\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" en {section}\",\n \"search_results.all\": \"Todos los resultados\",\n \"search_card.in\": \"En\",\n \"image.error_loading\": \"Se produjo un error al cargar la imagen\",\n \"api_reference_sidebar_filter_clear\": \"Limpiar todo\",\n \"api_reference_sidebar_filter\": \"Filtrar por\",\n \"cookie_bar.title\": \"Utilizamos cookies\",\n \"cookie_bar.description\": \"Este sitio web utiliza cookies para optimizar la navegación, analizar el uso e impulsar nuestros esfuerzos de marketing.\",\n \"cookie_bar.accept\": \"Acepto\",\n \"cookie_bar.decline\": \"Rechazo\"\n}\n","{\n \"feedback_section.question\": \"Isso foi útil?\",\n \"feedback_section.response\": \"Agradecemos pelo seu feedback.\",\n \"feedback_section.positive\": \"Sim\",\n \"feedback_section.negative\": \"Não\",\n \"feedback_section.edit\": \"Sugerir edições (GitHub)\",\n \"feedback_modal.title\": \"Deixe um comentário (opcional)\",\n \"feedback_modal.button\": \"Enviar feedback\",\n \"search_input.empty\": \"Nenhum resultado encontrado. Tente buscar por outros termos.\",\n \"search_input.placeholder\": \"Buscar\",\n \"sidebar_search.placeholder\": \"Buscar em\",\n \"search_results.showing\": \"Mostrando\",\n \"search_results.results_for\": \"resultados para\",\n \"search_results.in\": \"em\",\n \"search_results.all_lowercase\": \"todos os resultados\",\n \"search_input.see_all\": \"Ver todos os resultados\",\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" em {section}\",\n \"search_results.all\": \"Todos os resultados\",\n \"search_card.in\": \"Em\",\n \"image.error_loading\": \"Ocorreu um erro ao carregar a imagem\",\n \"api_reference_sidebar_filter_clear\": \"Limpar tudo\",\n \"api_reference_sidebar_filter\": \"Filtrar por\",\n \"cookie_bar.title\": \"Nós usamos cookies\",\n \"cookie_bar.description\": \"Este site utiliza cookies para melhorar a navegação, analisar a experiência de uso e auxiliar em nossas ações de marketing.\",\n \"cookie_bar.accept\": \"Concordo\",\n \"cookie_bar.decline\": \"Discordo\"\n}","import enMessages from '../messages/en.json'\nimport esMessages from '../messages/es.json'\nimport ptMessages from '../messages/pt.json'\nimport { MessagesType } from './typings/messages-types'\n\nconst getMessages = (): {\n en: MessagesType\n es: MessagesType\n pt: MessagesType\n} => {\n const messages = {\n en: enMessages,\n es: esMessages,\n pt: ptMessages,\n }\n\n return messages\n}\n\nexport const messages = getMessages()\n","import { useContext, useEffect } from 'react'\nimport Link from 'next/link.js'\nimport { useRouter } from 'next/router.js'\nimport { Box, Text } from '@vtex/brand-ui'\nimport AnimateHeight from 'react-animate-height'\n\nimport { removeHTML } from 'utils/string-utils'\nimport { Item } from './TableOfContents.types'\n\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nimport styles from './styles'\n\ninterface Props {\n /** List of headings in the current documentation page */\n headingList?: Item[]\n children?: React.ReactNode\n}\n\n/** Table of contents for documentation pages. */\nconst TableOfContents = ({ headingList, children }: Props) => {\n const router = useRouter()\n const { headingItems, activeItem, setHeadingItems, setActiveItem } =\n useContext(LibraryContext)\n\n useEffect(() => {\n const headings: Item[] = headingList ?? []\n if (!headings.length) {\n document.querySelectorAll('h2, h3').forEach((heading) => {\n const headingSlug = heading.id\n const item = {\n title: removeHTML(heading.innerHTML).replace(':', ''),\n slug: headingSlug,\n }\n\n if (heading.tagName === 'H2') {\n headings.push({ ...item, children: [] })\n } else if (headings.length > 0) {\n headings[headings.length - 1].children.push({ ...item })\n } else {\n headings.push({ ...item, children: [] })\n }\n })\n setHeadingItems(headings)\n } else setHeadingItems(headings)\n }, [router.asPath, headingList])\n\n const Item = ({\n title,\n slug,\n level,\n active,\n }: {\n title: string\n slug: string\n level: number\n active: boolean\n }) => {\n return (\n {\n setActiveItem(({ item }) => ({\n item: level === 1 ? slug : item,\n subItem: level === 1 ? '' : slug,\n }))\n }}\n >\n {title}\n \n )\n }\n\n return (\n \n {headingItems.length > 0 && (\n ON THIS PAGE\n )}\n \n {headingItems.map((item) => (\n \n \n \n \n {item.children.map((subItem) => (\n \n ))}\n \n \n \n ))}\n \n {children}\n \n )\n}\n\nexport default TableOfContents\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst itemsContainer: SxStyleProp = {\n position: 'sticky',\n top: 'calc(5rem + 32px)',\n}\n\nconst tocTitle: SxStyleProp = {\n fontSize: '10px',\n fontWeight: '600',\n textTransform: 'uppercase',\n mb: '6px',\n color: 'muted.0',\n}\n\nconst headings: SxStyleProp = {\n borderLeft: '1px solid #E7E9EE',\n mb: '16px',\n}\n\nconst item: (level: number, active: boolean) => SxStyleProp = (\n level,\n active\n) => {\n const defaultLineHeight = `${level === 1 ? 18 : 22}px`\n return {\n ml: '-1px',\n pl: `${level * 8}px`,\n py: ['6px', '6px', '6px', '6px', '4px', '4px'],\n borderLeft: `1px solid ${active && level === 1 ? '#E31C58' : '#E7E9EE'}`,\n fontSize: ['16px', '16px', '16px', '16px', '12px', '16px'],\n lineHeight: [\n defaultLineHeight,\n defaultLineHeight,\n defaultLineHeight,\n defaultLineHeight,\n `${level === 1 ? 16 : 18}px`,\n defaultLineHeight,\n ],\n fontWeight: `${active ? '600' : '400'}`,\n color: `${active ? '#0C1522' : 'muted.0'}`,\n\n ':hover': {\n color: '#000711',\n },\n }\n}\n\nconst subItemsContainer: SxStyleProp = {\n ml: '16px',\n borderLeft: '1px solid #E7E9EE',\n}\n\nexport default { tocTitle, itemsContainer, item, subItemsContainer, headings }\n","import { useEffect, useRef, useState, useContext } from 'react'\nimport { Flex, Text, Box } from '@vtex/brand-ui'\nimport Link from 'next/link.js'\n\nimport styles from './styles'\nimport { iconTooltipStyle } from './functions'\n\nimport { Section } from 'utils/typings/types'\nimport Tooltip from 'components/tooltip'\nimport { updateOpenPage } from 'utils/sidebar-utils'\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nexport interface SideBarSectionState {\n /** Array containing the name of the parents of the expanded page in the menu. */\n parentsArray?: string[]\n}\n\n/**\n * Sidebar component.\n */\nconst Sidebar = ({ parentsArray = [] }: SideBarSectionState) => {\n const [expandDelayStatus, setExpandDelayStatus] = useState(true)\n\n const context = useContext(LibraryContext)\n const {\n isEditorPreview,\n setActiveSectionName,\n activeSectionName,\n sidebarSections,\n sidebarDataMaster,\n } = context\n\n const sidebarSectionContent = {\n ...(Array.isArray(sidebarDataMaster)\n ? sidebarDataMaster?.find(\n (section: SidebarSectionProps) =>\n section.documentation === activeSectionName\n )\n : null),\n }\n\n updateOpenPage({\n parentsArray,\n context,\n })\n\n useEffect(() => {\n let timer: NodeJS.Timeout | undefined = undefined\n if (sidebarSectionContent.categories?.length > 0)\n timer = setTimeout(\n () => setExpandDelayStatus && setExpandDelayStatus(false),\n 5000\n )\n else setExpandDelayStatus && setExpandDelayStatus(true)\n\n return () => {\n timer && clearTimeout(timer)\n }\n }, [activeSectionName])\n\n const SideBarIcon = (sectionElement: Section) => {\n const [iconTooltip, setIconTooltip] = useState(false)\n const [tooltipLabel, setTooltipLabel] = useState(sectionElement.title)\n const titleRef = useRef()\n\n useEffect(() => {\n const resizeObserver = new MutationObserver(function (entries) {\n const target = entries[0].target as HTMLElement\n if (target.offsetWidth < target.scrollWidth) setIconTooltip(true)\n else setIconTooltip(false)\n\n if (target.offsetWidth > 0) setTooltipLabel(target.innerText)\n })\n if (titleRef.current) {\n if (titleRef.current.offsetWidth < titleRef.current.scrollWidth)\n setIconTooltip(true)\n resizeObserver.observe(titleRef.current, {\n childList: true,\n })\n }\n return () => {\n resizeObserver.disconnect\n }\n }, [titleRef.current])\n\n return (\n \n \n {\n if (isEditorPreview) {\n e.preventDefault()\n }\n setActiveSectionName(sectionElement.id)\n }}\n passHref\n aria-label={sectionElement.title}\n >\n \n \n \n {sectionElement.title}\n \n \n \n \n \n )\n }\n\n return (\n \n \n {sidebarSections.map((section, id) => {\n return (\n <>\n {id > 0 && (\n \n
\n
\n )}\n \n {section.map((element) => (\n \n ))}\n \n \n )\n })}\n
\n {activeSectionName ? : null}\n \n )\n}\n\nexport default Sidebar\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sidebar: SxStyleProp = {\n display: [\n 'none !important',\n 'none !important',\n 'none !important',\n 'flex !important',\n ],\n position: 'sticky',\n left: '0',\n top: '5rem',\n flex: '1 0 auto',\n height: 'calc(100vh - 5rem)',\n width: 'auto',\n minWidth: 'auto',\n transition: 'all 0.3s ease-in-out',\n '.active': {\n marginLeft: '-276px',\n transition: 'all 0.3s ease-in-out',\n },\n '.iconContainerExpanded': {\n transition: 'all 0.3s ease-in-out',\n width: '160px',\n },\n '.iconDescriptionExpanded': {\n display: 'block',\n },\n}\n\nconst sidebarIcons: SxStyleProp = {\n width: ['56px', '56px', '56px', '56px', '56px', '160px'],\n minWidth: 'max-content',\n transition: 'all 0.3s ease-in-out',\n flexDirection: 'column',\n borderRight: '1px solid #E7E9EE',\n background: '#FFFFFF',\n zIndex: '2',\n paddingBottom: '32px',\n}\n\nconst linkContainer: SxStyleProp = {\n minWidth: '100%',\n}\n\nconst iconBox: SxStyleProp = {\n mt: ['16px'],\n width: '100%',\n maxWidth: '144px',\n paddingLeft: ['0', '0', '0', '8px'],\n paddingRight: ['0', '0', '0', '8px', '8px', '0'],\n py: ['0', '0', '0', '8px', '8px', '10px'],\n height: '40px',\n borderRadius: '4px',\n alignItems: 'center',\n justifyContent: 'flex-start',\n background: 'transparent',\n color: 'muted.0',\n cursor: 'pointer',\n ':hover': {\n background: '#F8F7FC',\n color: '#000711',\n path: {\n stroke: [\n '#000711',\n '#000711',\n '#000711',\n '#000711',\n '#000711',\n '#4A596B',\n ],\n },\n },\n}\n\nconst iconBoxActive: SxStyleProp = {\n ...iconBox,\n background: ['#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', 'none'],\n color: '#E31C58',\n}\n\nconst sidebarIconsContainer: SxStyleProp = {\n width: '100%',\n flexDirection: 'column',\n alignItems: 'flex-start',\n px: ['0', '0', '0', '8px'],\n}\n\nconst icon: SxStyleProp = {\n width: ['24px'],\n height: ['24px'],\n}\n\nconst iconActive: SxStyleProp = {\n ...icon,\n '> path': {\n stroke: '#E31C58',\n },\n}\n\nconst sectionDivider: SxStyleProp = {\n px: '8px',\n marginTop: '16px',\n hr: {\n border: '1px solid #E7E9EE',\n borderTop: 'none',\n },\n}\n\nconst iconTitle: SxStyleProp = {\n display: ['none', 'none', 'none', 'none', 'none', 'block'],\n width: '100%',\n fontSize: '14px',\n ml: ['8px', '8px', '8px', '8px', '8px', '12px'],\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst iconTooltip: SxStyleProp = {\n display: [\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'none !important',\n ],\n}\n\nexport default {\n sidebar,\n sidebarIcons,\n sidebarIconsContainer,\n linkContainer,\n iconBox,\n icon,\n iconActive,\n iconBoxActive,\n sectionDivider,\n iconTitle,\n iconTooltip,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nexport const iconTooltipStyle: SxStyleProp = (tooltipState: boolean) => {\n const iconTooltip: SxStyleProp = {\n display: [\n 'flex',\n 'flex',\n 'flex',\n 'flex',\n 'flex',\n tooltipState ? 'flex' : 'none !important',\n ],\n }\n return iconTooltip\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { Box, Flex, TooltipProps, SxStyleProp } from '@vtex/brand-ui'\n\nimport styles from './styles'\nimport CaretIcon from 'components/icons/caret'\ninterface Props extends Pick {\n sx?: SxStyleProp\n isCard?: boolean\n}\n\nconst Tooltip = ({ children, label, placement, sx, isCard }: Props) => {\n const box = useRef()\n const [boxWidth, setBoxWidth] = useState(0)\n const [boxHeight, setBoxHeight] = useState(0)\n const [boxOffsetLeft, setBoxOffsetLeft] = useState(0)\n const [boxOffsetTop, setBoxOffsetTop] = useState(0)\n const [visible, setVisible] = useState(false)\n\n useEffect(() => {\n if (box.current) {\n setBoxWidth(box.current.clientWidth)\n setBoxHeight(box.current.clientHeight)\n setBoxOffsetLeft(box.current.offsetLeft)\n setBoxOffsetTop(box.current.offsetTop)\n }\n }, [\n box.current,\n box.current?.clientWidth,\n box.current?.clientHeight,\n box.current?.offsetLeft,\n box.current?.offsetTop,\n ])\n\n return (\n \n setVisible(true)}\n onMouseLeave={() => setVisible(false)}\n >\n {children}\n \n {visible && (isCard ?? true) && (\n \n \n {label}\n \n )}\n \n )\n}\n\nexport default Tooltip\n","import { SxStyleProp } from '@vtex/brand-ui'\n\ntype Placement = 'top' | 'right' | 'bottom' | 'left'\n\nconst tooltipContainer: (\n sx: SxStyleProp,\n placement: Placement,\n width: number,\n height: number,\n x: number,\n y: number\n) => SxStyleProp = (sx, placement, width, height, x, y) => {\n const position = {\n bottom: {\n left: `${x + width / 2}px`,\n top: `${y + height + 3}px`,\n },\n left: {\n left: `${x - 1}px`,\n top: `${y + height / 2}px`,\n },\n top: {\n left: `${x + width / 2}px`,\n top: `${y - 3}px`,\n },\n right: {\n left: `${x + width + 1}px`,\n top: `${y + height / 2}px`,\n },\n }\n\n const translation = {\n bottom: 'translateX(-50%)',\n left: 'translateX(-100%) translateY(-50%)',\n top: 'translateX(-50%) translateY(-100%)',\n right: 'translateY(-50%)',\n }\n\n const direction = {\n bottom: 'column',\n left: 'row-reverse',\n top: 'column-reverse',\n right: 'row',\n }\n\n return {\n ...sx,\n zIndex: '100',\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n ...position[placement],\n transform: translation[placement],\n flexDirection: direction[placement],\n }\n}\n\nconst caret: (placement: Placement) => SxStyleProp = (placement) => {\n const rotation = {\n bottom: 0,\n left: 90,\n top: 180,\n right: 270,\n }\n\n const translation = {\n bottom: 1,\n left: 3,\n top: 1,\n right: 3,\n }\n\n return {\n width: '8px',\n height: '4px',\n minWidth: 'initial',\n minHeight: 'initial',\n transform: `rotate(${rotation[placement]}deg) translateY(${translation[placement]}px)`,\n }\n}\n\nconst label: SxStyleProp = {\n borderRadius: '4px',\n backgroundColor: 'black',\n color: 'white',\n fontSize: '12px',\n fontWeight: '400',\n lineHeight: '130%',\n}\n\nconst labelContibutorsContainer: SxStyleProp = {\n ...label,\n padding: '4px 8px',\n}\n\nconst labelDocumentationContainer: SxStyleProp = {\n ...label,\n width: '284px',\n textAlign: 'center',\n px: '12px',\n py: '8px',\n}\n\nconst labelStyle = (documentationSection: boolean): SxStyleProp => {\n if (documentationSection) return labelDocumentationContainer\n return labelContibutorsContainer\n}\nexport default { tooltipContainer, caret, labelStyle }\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CaretIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default CaretIcon\n","export const flattenJSON = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n obj: any = {},\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n res: any = {},\n extraKey = ''\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any => {\n for (const key in obj) {\n if (typeof obj[key] !== 'object') {\n res[extraKey + key] = obj[key]\n } else {\n flattenJSON(obj[key], res, `${extraKey}${key}.`)\n }\n }\n return res\n}\n\nexport const getKeyByEndpoint = (\n object: { [x: string]: string },\n endpoint: string,\n slug: string,\n method?: string\n) => {\n const slugPaths = Object.keys(object).filter((key) => object[key] === slug)\n let path = ''\n slugPaths?.map((el) => {\n if (\n method &&\n object[`${el.replace('.slug', '.method')}`] == method?.toUpperCase() &&\n object[`${el.replace('.slug', '.endpoint')}`] == endpoint\n ) {\n path = el\n } else if (hasChildren(object, el.replace('.slug', '.children'))) {\n path = el\n }\n })\n return path\n}\n\nfunction hasChildren(\n flattenedJson: { [x: string]: string },\n elementKey: string\n): boolean {\n for (const key in flattenedJson) {\n if (key.startsWith(`${elementKey}.`)) {\n return true\n }\n }\n return false\n}\n\nexport const getParents = (\n path: string,\n data: string,\n flattenedSidebar: { [x: string]: string },\n parentsArray: string[],\n parent?: string\n) => {\n const pathParts = path?.split('children')\n pathParts?.splice(-1)\n let prev = ''\n pathParts?.map((el) => {\n el = prev + el\n prev = el + 'children'\n\n if (!parent || flattenedSidebar[`${el}${data}`].includes(parent)) {\n parentsArray.push(flattenedSidebar[`${el}${data}`])\n }\n })\n return parentsArray\n}\n","import { Section } from './typings/types'\nimport { flattenJSON, getKeyByEndpoint, getParents } from './navigation-utils'\nimport { useRouter } from 'next/router.js'\nimport { useEffect } from 'react'\nimport { ContextType } from './context/libraryContext'\n\nexport const getIcon = (doc: string, sections: Section[][]) => {\n for (const section of sections) {\n return section.find((icon) => icon.title === doc)?.Icon\n }\n}\n\ninterface updateOpenPageProps {\n parentsArray?: string[]\n context: ContextType\n}\nexport const updateOpenPage = ({\n parentsArray = [],\n context,\n}: updateOpenPageProps) => {\n const {\n activeSidebarElement,\n sidebarDataMaster,\n setActiveSidebarElement,\n openSidebarElement,\n closeSidebarElements,\n } = context\n const flattenedSidebar = flattenJSON(sidebarDataMaster)\n const router = useRouter()\n\n let activeSlug = ''\n const querySlug = router.query.slug\n\n if (querySlug && router.pathname === '/docs/api-reference/[slug]') {\n activeSlug = router.asPath.replace('/docs/api-reference/', '')\n const docPath = activeSlug.split('/')\n const hasHashTag = router.asPath.indexOf('#') > -1\n const apiSlug = docPath[0].split(hasHashTag ? '#' : '?endpoint=')[0]\n const endpoint = '/' + docPath.splice(1, docPath.length).join('/')\n let keyPath\n if (endpoint == '/') {\n activeSlug = apiSlug\n keyPath = getKeyByEndpoint(flattenedSidebar, '', apiSlug)\n } else {\n const method = docPath[0]\n .split(hasHashTag ? '#' : '?endpoint=')[1]\n .split('-')[0]\n keyPath = getKeyByEndpoint(flattenedSidebar, endpoint, apiSlug, method)\n }\n parentsArray.push(activeSlug)\n if (keyPath) {\n getParents(keyPath, 'slug', flattenedSidebar, parentsArray)\n }\n } else {\n activeSlug = parentsArray[parentsArray.length - 1]\n }\n\n useEffect(() => {\n closeSidebarElements(parentsArray)\n parentsArray.forEach((slug: string) => {\n openSidebarElement(slug)\n })\n setActiveSidebarElement(activeSlug?.replace('?endpoint=', '#'))\n }, [activeSidebarElement, router])\n}\n","// Sidebar Section\nimport { Flex, Box, Text, Button } from '@vtex/brand-ui'\nimport { useContext, useMemo, useState } from 'react'\n\nimport styles from './styles'\nimport { SidebarElement } from '../sidebar-elements'\nimport SectionFilter from '../sidebar-section-filter'\nimport SideBarElements from '../sidebar-elements'\nimport SearchIcon from 'components/icons/search-icon'\nimport SideBarToggleIcon from 'components/icons/sidebar-toggle-icon'\nimport ArrowLeftIcon from 'components/icons/arrow-left-icon'\nimport { getIcon } from 'utils/sidebar-utils'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\n\nexport interface SidebarSectionProps {\n documentation: string\n name: string | { en: string, es: string, pt: string }\n categories: SidebarElement[]\n slugPrefix: string\n isHamburgerMenu: boolean\n}\n\nconst SidebarSection = ({\n documentation,\n name,\n categories,\n slugPrefix,\n isHamburgerMenu = false,\n}: SidebarSectionProps) => {\n const [searchValue, setSearchValue] = useState('')\n const {\n isEditorPreview,\n sidebarSectionHidden,\n setSidebarSectionHidden,\n sidebarSections,\n locale\n } = useContext(LibraryContext)\n const [methodFilterList, setMethodFilterList] = useState([\n { name: 'POST', active: false },\n { name: 'GET', active: false },\n { name: 'PUT', active: false },\n { name: 'DELETE', active: false },\n { name: 'PATCH', active: false },\n ])\n\n const filterStatus = methodFilterList.some(\n (methodFilter) => methodFilter.active\n )\n\n const filteredResult = useMemo(() => {\n if (!filterStatus && searchValue === '') return categories\n\n const dataCopy = JSON.parse(JSON.stringify(categories))\n\n const filteredCategories = dataCopy\n .map((category: SidebarElement) => {\n category.children = category.children\n .map((subcategory) => {\n subcategory.children = subcategory.children.filter((endpoint) => {\n const hasMethodFilter =\n !filterStatus ||\n methodFilterList.find(\n (methodFilter) => methodFilter.name === endpoint.method\n )?.active\n const hasInputFilter =\n searchValue === '' ||\n (typeof endpoint.name === 'string'\n ? endpoint.name\n : endpoint.name[locale]\n )\n .toLowerCase()\n .includes(searchValue.toLowerCase())\n return hasMethodFilter && hasInputFilter\n })\n return subcategory\n })\n .filter(\n (subcategory) =>\n subcategory.children.length > 0 ||\n (subcategory.type === 'markdown' &&\n (typeof subcategory.name === 'string'\n ? subcategory.name\n : subcategory.name[locale]\n )\n .toLowerCase()\n .includes(searchValue.toLowerCase()))\n )\n return category\n })\n .filter((category: SidebarElement) => category.children.length > 0)\n return filteredCategories\n }, [filterStatus, methodFilterList, categories, searchValue])\n\n const DocIcon = getIcon(documentation, sidebarSections)\n\n let localizedSectionTitle = ''\n\n if (!categories || categories.length <= 0) {\n return <>\n } else {\n localizedSectionTitle = typeof(name) === 'string' ? name : name[locale]\n }\n\n return isHamburgerMenu ? (\n \n \n \n }\n onClick={() => {\n setSidebarSectionHidden(true)\n }}\n />\n {DocIcon && }\n {localizedSectionTitle}\n \n \n \n \n setSearchValue(e.currentTarget.value)}\n />\n \n {documentation == 'API Reference' && (\n \n )}\n \n \n \n \n \n \n ) : (\n \n \n \n {isEditorPreview && (\n \n \n \n \n \n \n PREVIEW MODE\n \n )}\n {localizedSectionTitle}\n \n \n setSearchValue(e.currentTarget.value)}\n />\n \n \n {documentation == 'API Reference' && (\n \n )}\n \n \n \n \n \n {\n setSidebarSectionHidden(\n (sidebarSectionHidden) => !sidebarSectionHidden\n )\n }}\n sx={sidebarSectionHidden ? styles.toggleIcon : {}}\n />\n \n \n )\n}\n\nexport default SidebarSection\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sidebarContainer: SxStyleProp = {\n position: 'relative',\n width: 'auto',\n height: 'inherit',\n borderRight: '1px solid #E7E9EE',\n zIndex: '1',\n left: '0',\n transition: 'all 0.3s ease-in-out',\n '.toggleIcon': {\n opacity: '0',\n transition: 'all 0.3s ease-out',\n },\n '.sidebarHide': {\n opacity: '0',\n transition: 'all 0.5s ease-out',\n },\n ':hover': {\n '.toggleIcon': {\n opacity: '100',\n transition: 'all 0.3s ease-out',\n },\n },\n}\n\nconst sidebarContainerHamburger: SxStyleProp = {\n width: 'auto',\n minHeight: '692px',\n zIndex: '1',\n}\n\nconst sidebarContainerBox: SxStyleProp = {\n opacity: '100',\n paddingTop: '34px',\n paddingBottom: '24px',\n overflowY: 'auto',\n height: 'inherit',\n maskImage:\n 'linear-gradient(to top, transparent, black), linear-gradient(to left, transparent 17px, black 17px)',\n maskSize: '100% 20000px',\n maskPosition: 'left bottom',\n transition: 'mask-position 0.3s, -webkit-mask-position 0.3s',\n ':hover': {\n maskPosition: 'left top',\n },\n}\n\nconst sidebarContainerBoxHamburger: SxStyleProp = {\n opacity: '100',\n transition: 'all 1s ease-out',\n}\n\nconst sidebarContainerBody: SxStyleProp = {\n px: '17px',\n}\n\nconst sidebarContainerHeader: SxStyleProp = {\n ...sidebarContainerBody,\n}\n\nconst sidebarContainerTitle: SxStyleProp = {\n alignItems: 'center',\n lineHeight: '22px',\n gap: '5px',\n padding: '17px 0px 17px 17px',\n borderBottom: '1px solid #E7E9EE',\n}\n\nconst sidebarTitle: SxStyleProp = {\n display: 'flex',\n alignItems: 'center',\n fontSize: '16px',\n lineHeight: '18px',\n}\n\nconst sidebarHelpIcon: SxStyleProp = {\n ml: '4px',\n width: '24px',\n height: '24px',\n}\n\nconst searchBox: SxStyleProp = {\n mt: '16px',\n mb: '20px',\n alignItems: 'center',\n borderRadius: '4px',\n background: '#F4F4F4',\n width: '265px',\n height: '40px',\n paddingLeft: '12px',\n}\n\nconst searchInput: SxStyleProp = {\n width: 'auto',\n background: '#F4F4F4',\n border: '#F4F4F4',\n color: '#545454',\n fontSize: ['14px'],\n}\n\nconst searchIcon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n mr: '8px',\n}\n\nconst toggleIconBox: SxStyleProp = {\n justifyContent: 'center',\n alignItems: 'center',\n width: '32px',\n height: '32px',\n borderRadius: '50%',\n border: '1px solid #E7E9EE',\n background: '#FFFFFF',\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n position: 'absolute',\n top: '32px',\n right: '-16px',\n cursor: 'pointer',\n}\n\nconst toggleIconBoxActive: SxStyleProp = {\n ...toggleIconBox,\n opacity: '100 !important',\n}\n\nconst toggleIcon: SxStyleProp = {\n transform: 'scaleX(-1)',\n}\n\nconst arrowButton: SxStyleProp = {\n padding: '0px',\n}\n\nconst previewMode: SxStyleProp = {\n display: 'flex',\n color: '#A87600',\n backgroundColor: '#ffe5b5',\n padding: '10px',\n borderRadius: '10px',\n fontWeight: '600',\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0.5px',\n mb: '20px',\n svg: {\n width: '20px',\n mr: '10px',\n },\n}\n\nexport default {\n sidebarContainer,\n sidebarContainerHamburger,\n sidebarContainerBox,\n sidebarContainerBoxHamburger,\n sidebarContainerBody,\n sidebarContainerHeader,\n sidebarContainerTitle,\n sidebarTitle,\n sidebarHelpIcon,\n searchBox,\n searchInput,\n searchIcon,\n toggleIconBox,\n toggleIconBoxActive,\n toggleIcon,\n arrowButton,\n previewMode,\n}\n","import { Box, Flex, Text } from '@vtex/brand-ui'\nimport MethodCategory from 'components/method-category'\nimport { Dispatch, SetStateAction, useContext, useState } from 'react'\n\nimport styles from './styles'\nimport { MethodType } from 'utils/typings/types'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\n\ntype MethodFilter = {\n name: string\n active: boolean\n}\n\ninterface MethodButtonProps {\n methodFilter: MethodFilter\n}\n\ninterface SectionFilterProps {\n methodFilterList: MethodFilter[]\n setMethodFilter: Dispatch>\n}\n\nconst SectionFilter = ({\n methodFilterList,\n setMethodFilter,\n}: SectionFilterProps) => {\n const [activeFilters, setActiveFilters] = useState([])\n const { locale } = useContext(LibraryContext)\n\n const setFilter = (methodFilterChanged: MethodType | null) => {\n if (methodFilterChanged) {\n const index = activeFilters.indexOf(methodFilterChanged)\n index === -1\n ? setActiveFilters([...activeFilters, methodFilterChanged])\n : setActiveFilters(\n activeFilters.filter((filter) => filter !== methodFilterChanged)\n )\n setMethodFilter(\n methodFilterList.map((methodFilter) => {\n if (methodFilter.name === methodFilterChanged)\n methodFilter.active = !methodFilter.active\n return methodFilter\n })\n )\n } else {\n setActiveFilters([])\n setMethodFilter(\n methodFilterList.map((methodFilter) => {\n methodFilter.active = false\n return methodFilter\n })\n )\n }\n }\n\n const MethodButton = ({ methodFilter }: MethodButtonProps) => {\n return (\n setFilter(methodFilter.name as MethodType)}\n >\n \n \n )\n }\n\n return (\n \n \n {messages[locale]['api_reference_sidebar_filter']}\n \n \n {methodFilterList.map((methodFilter) => (\n \n ))}\n {activeFilters.length > 1 && (\n setFilter(null)} sx={styles.clear}>\n {messages[locale]['api_reference_sidebar_filter_clear']}\n \n )}\n \n \n )\n}\n\nexport default SectionFilter\n","import { Flex, Text, SxStyleProp } from '@vtex/brand-ui'\nimport { categoryStyle, categoryText, closeCategoryStyle } from './functions'\nimport styles from './styles'\nimport CloseFilterIcon from 'components/icons/close-filter-icon'\nimport { MethodType } from 'utils/typings/types'\n\nexport interface MethodCategoryProps {\n method: MethodType\n active: boolean\n origin: 'sidebar' | 'search' | 'filter' | 'pagination'\n sx?: SxStyleProp\n}\n\nconst MethodCategory = ({\n method,\n active,\n origin,\n sx,\n}: MethodCategoryProps) => {\n return (\n \n {categoryText(method, origin)}\n {origin === 'filter' && active && (\n \n )}\n \n )\n}\n\nexport default MethodCategory\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n border: '1px solid #DDDDDD',\n background: '#F4F4F4',\n borderRadius: '2px',\n width: '24px',\n height: '24px',\n alignItems: 'center',\n justifyContent: 'center',\n}\n\nconst text: SxStyleProp = {\n fontWeight: '600',\n fontSize: '12px',\n}\n\nconst closeIcon: SxStyleProp = {\n minWidth: '12px',\n minHeight: '12px',\n height: '12px',\n width: '12px',\n ml: '4px',\n}\n\nexport default {\n container,\n text,\n closeIcon,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\nimport { MethodType } from 'utils/typings/unionTypes'\n\nimport styles from './styles'\n\nexport const methodsColors = {\n POST: {\n border: '1px solid #7CBBEA',\n color: '#2978B5',\n background: '#DEECF7',\n },\n GET: {\n border: '1px solid #83D187',\n color: '#38853C',\n background: '#DFF1E0',\n },\n PUT: {\n border: '1px solid #F5AE70',\n color: '#D56A00',\n background: '#FFEBD7',\n },\n DELETE: {\n border: '1px solid #F49494',\n color: '#CC3D3D',\n background: '#F8E3E3',\n },\n PATCH: {\n border: '1px solid #afa871',\n color: '#6C6314',\n background: '#e9e7da',\n },\n}\n\nexport const categoryStyle = (\n method: MethodType,\n active: boolean,\n sx?: SxStyleProp\n): SxStyleProp => {\n const categoryColors = methodsColors[method] || {\n border: '1px solid #F49494',\n color: '#CC3D3D',\n background: '#F8E3E3',\n }\n\n const categoryStyle: SxStyleProp = active\n ? {\n ...styles.container,\n ...categoryColors,\n ...sx,\n ':hover': {\n '.filter-close-button': {\n rect: {\n fill: categoryColors.color,\n },\n path: {\n stroke: '#DEECF7',\n },\n },\n },\n }\n : {\n ...styles.container,\n color: categoryColors.color,\n ...sx,\n }\n\n return categoryStyle\n}\n\nexport const categoryText = (method: MethodType, origin: string): string => {\n const textPascalCase = method[0] + method.slice(1).toLowerCase()\n if (origin == 'filter') return textPascalCase\n return textPascalCase.slice(0, 2)\n}\n\nexport const closeCategoryStyle = (method: MethodType) => {\n const categoryColors = methodsColors[method]\n const categoryStyle: SxStyleProp = {\n ...styles.closeIcon,\n rect: {\n fill: 'transparent',\n },\n path: {\n stroke: categoryColors.color,\n },\n }\n\n return categoryStyle\n}\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CloseFilterIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default CloseFilterIcon\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n px: '17px',\n paddingTop: '6px',\n borderBottom: '1px solid #E7E9EE',\n paddingBottom: '16px',\n mb: '24px',\n}\n\nconst text: SxStyleProp = {\n mb: '8px',\n}\n\nconst category: SxStyleProp = {\n mr: '8px',\n px: '4px',\n width: 'auto',\n cursor: 'pointer',\n ':hover': {\n borderWidth: '2px',\n },\n}\n\nconst clear: SxStyleProp = {\n display: 'flex',\n alignItems: 'center',\n color: 'muted.0',\n fontSize: '12px',\n cursor: 'pointer',\n ':hover': {\n color: '#000711',\n },\n}\n\nexport default {\n container,\n text,\n category,\n clear,\n}\n","import { useRouter } from 'next/router.js'\nimport React, { Fragment, useContext } from 'react'\nimport {\n Box,\n Flex,\n Link,\n Button,\n IconCaret,\n IconExternalLink,\n} from '@vtex/brand-ui'\n\nimport MethodCategory from 'components/method-category'\n\nimport { styleByLevelNormal, textStyle } from './functions'\nimport styles from './styles'\nimport { MethodType } from 'utils/typings/types'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nexport interface SidebarElement {\n name: string | { en: string; pt: string; es: string }\n slug: string | { en: string; pt: string; es: string }\n origin: string\n type: string\n method?: MethodType\n endpoint?: string\n children: SidebarElement[]\n}\n\nexport interface SidebarProps {\n slugPrefix?: string\n items: SidebarElement[]\n subItemLevel: number\n}\n\nconst SidebarElements = ({ slugPrefix, items, subItemLevel }: SidebarProps) => {\n const {\n isEditorPreview,\n activeSidebarElement,\n sidebarElementStatus,\n toggleSidebarElementStatus,\n sidebarDataMaster,\n locale,\n } = useContext(LibraryContext)\n const router = useRouter()\n\n const handleClick = (\n e: { preventDefault: () => void },\n pathSuffix: string,\n slug: string\n ) => {\n e.preventDefault()\n const hasEndpointQuery = router.query.endpoint\n router.push(getHref(slugPrefix || '', pathSuffix, slug)).then(() => {\n if (hasEndpointQuery) router.reload()\n })\n }\n\n // eslint-disable-next-line\n // @ts-ignore\n const checkDocumentationType = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n sidebarData: any,\n slug: string,\n type: string\n ) => {\n if (\n !sidebarData ||\n (typeof sidebarData !== 'object' && !Array.isArray(sidebarData))\n ) {\n return false\n } else if (sidebarData?.slug == slug && sidebarData?.type == type) {\n return true\n } else if (Array.isArray(sidebarData)) {\n for (let i = 0; i < sidebarData.length; i++) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const result = checkDocumentationType(sidebarData[i], slug, type)\n if (result) {\n return result\n }\n }\n } else {\n for (const k in sidebarData) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const result = checkDocumentationType(sidebarData[k], slug, type)\n if (result) {\n return result\n }\n }\n }\n\n return false\n }\n\n const getHref = (slugPrefix: string, pathSuffix: string, slug: string) => {\n const href =\n slugPrefix === 'docs/api-reference'\n ? `/${slugPrefix}/${slug}/${pathSuffix}`\n : `/${slugPrefix}/${slug}`\n return href.replaceAll('//', '/')\n }\n\n const ElementRoot = ({\n slug,\n name,\n method,\n endpoint,\n children,\n }: SidebarElement) => {\n const localizedName: string = typeof name === 'string' ? name : name[locale]\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\n const isExpandable = children.length > 0\n const pathSuffix = method ? `#${method.toLowerCase()}-${endpoint}` : ''\n const activeItem = method ? `${localizedSlug}${pathSuffix}` : localizedSlug\n return (\n \n \n {isExpandable && (\n (\n \n )}\n onClick={() => toggleSidebarElementStatus(localizedSlug)}\n />\n )}\n {!checkDocumentationType(sidebarDataMaster, localizedSlug, 'category') &&\n !checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\n void }) => {\n if (!isEditorPreview) {\n handleClick(e, pathSuffix, localizedSlug)\n }\n toggleSidebarElementStatus(activeItem)\n }}\n href={getHref(slugPrefix || '', pathSuffix, localizedSlug)}\n target={isEditorPreview === true ? '_blank' : '_self'}\n >\n {method && (\n \n )}\n {localizedName}\n \n ) : checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\n \n \n {localizedName}\n \n ) : (\n {\n toggleSidebarElementStatus(localizedSlug)\n }}\n >\n {method && (\n \n )}\n {localizedName}\n \n )}\n \n \n )\n }\n \n const ElementChildren = ({ slug, children }: SidebarElement) => {\n const isExpandable = children.length > 0\n // const newPathPrefix =\n // slugPrefix === 'api-reference' ? `/api-reference/${slug}` : slugPrefix\n\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\n return isExpandable &&\n sidebarElementStatus.has(localizedSlug) &&\n sidebarElementStatus.get(localizedSlug) ? (\n \n \n \n ) : null\n }\n\n return (\n \n {items?.map((item, index) => {\n const key = typeof item.slug === 'string' ? String(item.slug) + String(index) : String(item.slug[locale]) + String(index)\n const slug = typeof item.slug === 'string' ? `${item.slug}` : `${item.slug[locale]}`\n \n return (\n \n \n \n \n \n {subItemLevel == 0 ? (\n \n
\n
\n ) : null}\n
\n )\n })}\n
\n )\n}\n\nexport default SidebarElements\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst elementContainer: SxStyleProp = {\n maxWidth: '265px',\n background: '#FFFFFF',\n ':hover': {\n background: '#F8F7FC',\n a: {\n color: '#142032',\n '& > :first-of-type': {\n borderWidth: '2px',\n },\n },\n },\n}\n\nconst elementText: SxStyleProp = {\n color: 'muted.0',\n fontSize: '14px',\n lineHeight: '20px',\n fontWeight: '400',\n textAlign: 'initial',\n paddingBlock: '7px',\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer',\n}\n\nconst elementActive: SxStyleProp = {\n ...elementText,\n color: '#D71D55 !important',\n}\n\nconst arrowIcon: SxStyleProp = {\n padding: '0',\n color: 'muted.1',\n height: '34px',\n}\n\nconst arrowIconActive: SxStyleProp = {\n ...arrowIcon,\n color: '#D71D55',\n}\n\nconst elementButton: SxStyleProp = {\n textTransform: 'initial',\n fontVariationSettings: 'unset',\n padding: '0',\n margin: '0',\n textDecoration: 'none !important',\n}\n\nconst sectionDivider: SxStyleProp = {\n hr: {\n border: '1px solid #E7E9EE',\n borderTop: 'none',\n },\n}\n\nconst methodBox: SxStyleProp = {\n mr: '10px',\n}\n\nexport default {\n elementContainer,\n elementText,\n elementActive,\n arrowIcon,\n arrowIconActive,\n elementButton,\n sectionDivider,\n methodBox,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\nimport styles from './styles'\n\nexport const styleByLevelNormal = (level: number, icon: boolean) => {\n const ml = 8 + (icon ? (level - 1) * 20 + 6 : (level - 1) * 20 + 14)\n const borderLeft = icon ? 'none' : level >= 2 ? '1px solid #E7E9EE' : ''\n const normal: SxStyleProp = {\n marginLeft: `${ml}px`,\n borderLeft,\n }\n\n return normal\n}\n\nexport const textStyle = (active: boolean, icon: boolean) => {\n const ml = icon ? '4px' : '16px'\n if (active) {\n const textStyleActive: SxStyleProp = {\n ...styles.elementActive,\n ml,\n }\n return textStyleActive\n }\n const textStyle: SxStyleProp = {\n ...styles.elementText,\n ml,\n }\n\n return textStyle\n}\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst SearchIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default SearchIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst SideBarToggleIcon = (props: IconProps) => (\n \n \n \n \n \n \n)\n\nexport default SideBarToggleIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ArrowLeftIcon = (props: IconProps) => (\n \n {' '}\n \n \n \n)\n\nexport default ArrowLeftIcon\n","import {\n Header,\n HamburgerMenu as VtexHamburgerMenu,\n Box,\n IconCaret,\n Button,\n} from '@vtex/brand-ui'\nimport styles from './styles'\n\nimport { useContext } from 'react'\nimport DocumentationCard from 'components/documentation-card'\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\nimport { updateOpenPage } from 'utils/sidebar-utils'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport SearchInput from 'components/search-input'\n\nexport interface HamburgerMenuProps {\n /** Array that contains the name of the sections in the menu that should be expanded. */\n parentsArray?: string[]\n}\n\n/** Hamburger Menu component, the menu uses the sidebar components internally, but it is only visible on the smaller breakpoints. */\nconst HamburgerMenu = ({ parentsArray = [] }: HamburgerMenuProps) => {\n const context = useContext(LibraryContext)\n const {\n sidebarDataMaster,\n sidebarSectionHidden,\n activeSectionName,\n setActiveSectionName,\n setSidebarSectionHidden,\n hamburguerSections,\n } = context\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const isDocument = (sections: any, documentID: string) => {\n let isDoc = false\n\n if (Array.isArray(sections)) {\n isDoc = sections.find((section) => section.documentation === documentID)\n }\n\n return isDoc\n }\n\n updateOpenPage({ parentsArray, context })\n\n return (\n \n \n \n \n \n \n \n \n {hamburguerSections.map((section, id) => (\n 0\n ? styles.updatesContainer\n : styles.documentationContainer\n }\n key={id}\n data-cy=\"dropdown-menu-first-section\"\n >\n {section.map((card) => (\n \n \n {isDocument(sidebarDataMaster, card.id) ? (\n }\n sx={\n activeSectionName === card.id &&\n !sidebarSectionHidden\n ? styles.arrowIconActive\n : styles.arrowIcon\n }\n onClick={() => {\n setActiveSectionName(card.id)\n setSidebarSectionHidden(false)\n }}\n />\n ) : null}\n \n ))}\n \n ))}\n \n \n {activeSectionName ? (\n \n section.documentation === activeSectionName\n )\n : null)}\n />\n ) : null}\n \n \n \n \n \n )\n}\n\nexport default HamburgerMenu\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst menuContainer: SxStyleProp = {\n display: 'flex',\n width: 'max-content',\n}\n\nconst cardContainer: SxStyleProp = {\n display: 'flex',\n flexDirection: 'column',\n width: '100vw',\n overflowY: 'scroll',\n height: 'calc(100vh - 5rem)',\n}\n\nconst sideMenuContainer: SxStyleProp = {\n backgroundColor: '#ffff',\n height: 'calc(100vh - 5rem)',\n width: '100vw',\n overflowY: 'auto',\n overflowX: 'hidden',\n transform: 'translate(0)',\n transition: 'transform .5s cubic-bezier(.4,0,.2,1)',\n}\n\nconst hamburgerContainer: SxStyleProp = {\n display: ['block', 'block', 'block', 'none'],\n backgroundColor: '#ffff',\n width: '100%',\n '.menuHidden': {\n transform: 'translate(-100%)',\n },\n}\n\n// eslint-disable-next-line prettier/prettier\n\nconst hamburgerSearchContainer: SxStyleProp = {\n display: 'flex',\n justifyContent: 'center',\n paddingBlock: '18px',\n height: 'auto',\n}\n\nconst documentationContainer: SxStyleProp = {\n px: '16px',\n paddingBottom: '8px',\n}\n\nconst updatesContainer: SxStyleProp = {\n px: '16px',\n paddingTop: '8px',\n borderRadius: '0px 0px 8px 8px',\n borderTop: '1px solid #E7E9EE',\n}\n\nconst innerHambugerContainer: SxStyleProp = {\n padding: '0px',\n position: 'relative',\n overflowX: 'hidden',\n}\n\nconst innerCardContainer: SxStyleProp = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n}\n\nconst arrowIcon: SxStyleProp = {\n padding: '0',\n height: '50px',\n width: '50px',\n color: 'muted.1',\n}\n\nconst arrowIconActive: SxStyleProp = {\n ...arrowIcon,\n color: '#D71D55',\n}\n\nexport default {\n menuContainer,\n cardContainer,\n sideMenuContainer,\n hamburgerSearchContainer,\n documentationContainer,\n updatesContainer,\n hamburgerContainer,\n innerHambugerContainer,\n innerCardContainer,\n arrowIcon,\n arrowIconActive,\n}\n","import Link from 'next/link.js'\nimport { Box, Flex, Text } from '@vtex/brand-ui'\n\nimport styles from './styles'\nimport { cardContainer, cardTitle, titleContainer } from './functions'\nimport { MouseEventHandler } from 'react'\nimport { DataElement } from 'utils/typings/types'\n\nexport interface DocumentProps extends DataElement {\n title: string\n}\nexport interface CardProps extends DocumentProps {\n containerType: 'dropdown' | 'see-also' | 'mobile'\n onClick?: MouseEventHandler | undefined\n}\nconst DocumentationCard = ({\n title,\n description,\n link,\n containerType,\n Icon,\n onClick,\n}: CardProps) => {\n return (\n \n \n \n \n \n \n {title}\n \n \n \n {description}\n \n \n \n \n )\n}\n\nexport default DocumentationCard\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst cardContainer: SxStyleProp = {\n my: ['16px', '16px', '16px', '16px', '16px', '16px', '24px'],\n padding: '8px',\n cursor: 'pointer',\n ':active, :hover': {\n borderRadius: '4px',\n backgroundColor: '#F8F7FC',\n\n '.description': {\n color: 'muted.0',\n },\n },\n\n ':active .title': {\n color: '#0C1522',\n },\n\n ':hover .title': {\n color: '#000711',\n },\n}\n\nconst titleContainer: SxStyleProp = {\n alignItems: 'center',\n}\n\nconst title: SxStyleProp = {\n ml: '8px',\n color: 'muted.0',\n}\n\nconst description: SxStyleProp = {\n ml: '32px',\n fontSize: '16px',\n lineHeight: '18px',\n color: 'muted.1',\n}\n\nexport default {\n cardContainer,\n description,\n title,\n titleContainer,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\nimport styles from './styles'\n\nconst cardContainer = (containerType: string) => {\n const containerWidth =\n containerType === 'dropdown'\n ? ['308px', '442px', '444px', '480px']\n : containerType === 'mobile'\n ? '100%'\n : ['324px', '544px', '544px', '544px', '544px', '720px', '1400px']\n\n const textWidth =\n containerType === 'dropdown'\n ? ['276px', '410px', '412px', '432px']\n : containerType === 'mobile'\n ? '90%'\n : ['276px', '496px', '496px', '496px', '496px', '672px', '1352px']\n\n const cardContainer: SxStyleProp = {\n ...styles.cardContainer,\n width: containerWidth,\n\n '.title, .description': {\n width: textWidth,\n },\n }\n\n return cardContainer\n}\n\nconst titleContainer = (containerType: string) => {\n const marginBottom =\n containerType === 'dropdown' ? ['5px', '5px', '5px', '1px'] : '8px'\n\n const titleContainer: SxStyleProp = {\n ...styles.titleContainer,\n marginBottom,\n }\n\n return titleContainer\n}\n\nconst cardTitle = (containerType: string) => {\n const titleAttributes =\n containerType === 'see-also'\n ? {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n fontSize: '18px',\n lineHeight: '24px',\n }\n : {\n fontSize: '16px',\n lineHeight: '22px',\n }\n\n const cardTitle: SxStyleProp = {\n ...styles.title,\n ...titleAttributes,\n }\n\n return cardTitle\n}\n\nexport { cardContainer, cardTitle, titleContainer }\n","import { Configure, InstantSearch } from 'react-instantsearch-dom'\nimport SearchBox from './search-box'\nimport Results from './results-box'\nimport { Box } from '@vtex/brand-ui'\nimport { useContext, useRef, useState } from 'react'\nimport useClickOutside from 'utils/hooks/useClickOutside'\nimport { searchClient, searchIndex } from 'utils/config/search-config'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nexport default function SearchInput() {\n const { locale } = useContext(LibraryContext)\n const [focusOut, setfocusOut] = useState<{ modaltoggle: boolean }>({\n modaltoggle: true,\n })\n const resultsBox = useRef()\n useClickOutside(resultsBox, setfocusOut)\n\n const changeFocus = (value: boolean) => {\n setfocusOut({ modaltoggle: value })\n }\n\n return (\n \n {searchClient.instantSearchConfigs && (\n \n )}\n {searchClient.useLanguageFilter && (\n \n )}\n {!searchClient.useLanguageFilter && }\n setfocusOut({ modaltoggle: true })} ref={resultsBox}>\n \n {focusOut.modaltoggle && }\n \n \n )\n}\n","import { useRef, KeyboardEvent, useContext } from 'react'\nimport { useRouter } from 'next/router.js'\nimport { Flex } from '@vtex/brand-ui'\nimport { connectSearchBox } from 'react-instantsearch-dom'\nimport { SearchBoxProvided } from 'react-instantsearch-core'\n\nimport SearchIcon from 'components/icons/search-icon'\nimport styles from './styles'\nimport { messages } from 'utils/get-message'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\ninterface SearchBoxProps extends SearchBoxProvided {\n changeFocus: (value: boolean) => void\n}\n\nconst SearchBoxComponent = ({\n currentRefinement,\n refine,\n changeFocus,\n}: SearchBoxProps) => {\n const router = useRouter()\n const inputRef = useRef(null)\n const { locale } = useContext(LibraryContext)\n\n const handleClick = () => {\n if (inputRef.current != null) inputRef.current.focus()\n }\n\n const keyPressed = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n router.push({\n pathname: '/search',\n query: { keyword: inputRef.current?.value },\n })\n inputRef.current?.blur()\n changeFocus(false)\n }\n }\n\n return (\n \n \n keyPressed(e)}\n onChange={(e) => refine(e.currentTarget.value)}\n />\n \n )\n}\n\nconst SearchBox = connectSearchBox(SearchBoxComponent)\n\nexport default SearchBox\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst resultsOuterContainer: SxStyleProp = {\n position: 'relative',\n}\n\nconst resultsInnerContainer: SxStyleProp = {\n top: 0,\n position: 'absolute',\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\n border: '1px solid #B9B9B9',\n borderRadius: '0px 0px 4px 4px',\n background: '#FFFFFF',\n}\n\nconst resultsBox: SxStyleProp = {\n padding: '16px',\n}\n\nconst seeAll: SxStyleProp = {\n padding: '24px',\n borderTop: '1px solid #E7E9EE',\n color: 'muted.0',\n cursor: 'pointer',\n ':hover': {\n background: '#F8F7FC',\n borderTop: '1px solid #d0cdcd',\n },\n}\n\nconst hitBox: SxStyleProp = {\n padding: '8px',\n cursor: 'pointer',\n ':active, :hover': {\n backgroundColor: '#F8F7FC',\n borderRadius: '4px',\n '.hit-content-title': {\n color: '#000711',\n },\n '.hit-icon': {\n '> path': {\n stroke: '#000711',\n },\n },\n },\n}\n\nconst hitIcon: SxStyleProp = {\n width: '16px',\n height: '16px',\n marginRight: '8px',\n}\n\nconst hitContentContainer: SxStyleProp = {\n width: '100%',\n}\n\nconst hitContent: SxStyleProp = {\n color: 'muted.0',\n fontSize: ['14px', '16px'],\n lineHeight: ['20px', '22px'],\n width: '100%',\n}\n\nconst hitContentSmall: SxStyleProp = {\n color: 'muted.0',\n fontSize: ['14px', '16px'],\n lineHeight: ['20px', '22px'],\n width: '100%',\n whiteSpace: 'pre',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst alignCenter: SxStyleProp = {\n alignItems: 'center',\n}\n\nconst hitBreadCrumb: SxStyleProp = {\n color: 'muted.1',\n fontSize: '12px',\n lineHeight: '16px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst hitBreadCrumbIn: SxStyleProp = {\n ...hitBreadCrumb,\n minWidth: 'fit-content',\n}\n\nconst hitBreadCrumbArrow: SxStyleProp = {\n width: '16px',\n height: '16px',\n color: 'muted.2',\n}\n\nconst searchInput: SxStyleProp = {\n width: '76px',\n background: 'none',\n border: '#F4F4F4',\n color: '#545454',\n fontSize: ['14px'],\n flex: 0,\n transition: 'flex 0.3s',\n}\n\nconst searchIcon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n mr: '8px',\n flex: 0,\n maxWidth: 'fit-content',\n}\n\nconst searchContainer: SxStyleProp = {\n paddingLeft: '12px',\n alignItems: 'center',\n justifyContent: 'center',\n background: '#F4F4F4',\n width: '288px',\n height: '40px',\n borderRadius: '4px',\n transition: 'all 0.3s ease-out',\n cursor: 'pointer',\n ':hover': {\n transition: 'all 0.3s ease-out',\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\n border: '1px solid #3B3B3B',\n },\n ':focus-within': {\n background: '#FFFFFF',\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\n transition: 'all 0.3s ease-out',\n border: '1px solid #3B3B3B',\n boxShadow: '0px 0px 0px 1px #FFFFFF, 0px 0px 0px 3px #B9B9B9',\n flex: 'auto',\n '.searchComponent': {\n flex: '1 !important',\n },\n },\n '.searchComponent': {\n ':placeholder-shown': {\n width: '76px',\n },\n ':not(:placeholder-shown)': {\n flex: '1 !important',\n },\n },\n}\n\nconst noResults: SxStyleProp = {\n justifyContent: 'center',\n alignContent: 'center',\n padding: '12px',\n}\n\nconst hitContentHighlighted: SxStyleProp = {\n ...hitContent,\n color: '#4A596B',\n width: 'auto',\n background: '#FFE0EF',\n}\n\nexport default {\n resultsOuterContainer,\n resultsInnerContainer,\n resultsBox,\n seeAll,\n hitBox,\n hitIcon,\n hitContentContainer,\n hitContent,\n hitContentSmall,\n hitBreadCrumb,\n hitBreadCrumbIn,\n hitBreadCrumbArrow,\n searchInput,\n searchIcon,\n searchContainer,\n alignCenter,\n noResults,\n hitContentHighlighted,\n}\n","import { useRouter } from 'next/router.js'\nimport Link from 'next/link.js'\nimport {\n connectStateResults,\n connectHitInsights,\n} from 'react-instantsearch-dom'\nimport {\n Hit,\n StateResultsProvided,\n WrappedInsightsClient,\n} from 'react-instantsearch-core'\nimport aa from 'search-insights'\nimport { Box, Flex, IconCaret, Text } from '@vtex/brand-ui'\n\nimport {\n getBreadcrumbs,\n getIconFromSection,\n getRelativeURL,\n} from 'utils/search-utils'\nimport CustomHighlight from './customHighlight'\nimport styles from './styles'\nimport { useContext } from 'react'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\n\ninterface HitProps {\n hit: Hit\n insights: WrappedInsightsClient\n}\n\ninterface HitsBoxProps extends StateResultsProvided {\n changeFocus: (value: boolean) => void\n}\n\nconst Hit2 = ({ hit, insights }: HitProps) => {\n const { sidebarSections } = useContext(LibraryContext)\n const breadcrumbsList = getBreadcrumbs(hit)\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\n return (\n \n \n insights('clickedObjectIDsAfterSearch', {\n eventName: 'Search in top bar',\n objectIDs: [hit.objectID],\n })\n }\n >\n \n \n {DocIcon && }\n \n \n \n \n \n {`In ${hit.doctype}`}\n {breadcrumbsList.length > 0 && (\n \n )}\n {breadcrumbsList.map((filter: string, index: number) => (\n \n {filter}\n {index < breadcrumbsList.length - 1 ? (\n \n ) : null}\n \n ))}\n \n \n \n \n )\n}\n\nconst HitWithInsights = connectHitInsights(aa)(Hit2)\n\nconst HitsBox = connectStateResults(\n ({ searchState, searchResults, changeFocus }) => {\n const router = useRouter()\n const { locale } = useContext(LibraryContext)\n\n const seeAllSubmit = (keyword: string) => {\n router.push({\n pathname: '/search',\n query: { keyword },\n })\n changeFocus(false)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const setQueryIDAndPosition = (hit: Hit, index: number): any => {\n return {\n ...hit,\n __queryID: searchResults.queryID || '',\n __position: searchResults.hitsPerPage * searchResults.page + index + 1,\n }\n }\n\n return (\n <>\n {searchResults && (\n \n \n \n {searchResults.hits.map(\n (searchResult, index) =>\n index < 7 && (\n changeFocus(false)}\n >\n \n \n )\n )}\n \n {searchResults.hits.length > 7 && (\n seeAllSubmit(searchState.query || '')}\n >\n \n {messages[locale]['search_input.see_all'] || 'See all results'}\n \n \n )}\n {!searchResults.hits.length && (\n \n \n {messages[locale]['search_input.empty'] || 'No results found. Try different search terms.'}\n \n \n )}\n \n \n )}\n \n )\n }\n)\n\nexport default HitsBox\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst APIGuidesIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n)\n\nexport default APIGuidesIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst APIReferenceIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default APIReferenceIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst AppDevelopmentIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default AppDevelopmentIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ReleaseNotesIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n)\n\nexport default ReleaseNotesIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst StorefrontDevelopmentIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n)\n\nexport default StorefrontDevelopmentIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst VTEXIOAppsIcon = (props: IconProps) => (\n \n \n \n \n \n \n)\n\nexport default VTEXIOAppsIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst TroubleshootingIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default TroubleshootingIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst AddedIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default AddedIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst DeprecatedIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default DeprecatedIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst FixedIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default FixedIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ImprovedIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default ImprovedIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst RemovedIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default RemovedIcon\n","import { Hit } from 'react-instantsearch-core'\n\nimport APIGuidesIcon from 'components/icons/api-guides-icon'\nimport APIReferenceIcon from 'components/icons/api-reference-icon'\nimport AppDevelopmentIcon from 'components/icons/app-development-icon'\nimport ReleaseNotesIcon from 'components/icons/release-notes-icon'\nimport StorefrontDevelopmentIcon from 'components/icons/storefront-development-icon'\nimport VTEXIOAppsIcon from 'components/icons/vtex-io-apps-icon'\nimport TroubleshootingIcon from 'components/icons/troubleshooting-icon'\nimport { IconComponent, Section } from './typings/types'\nimport AddedIcon from 'components/icons/added-icon'\nimport DeprecatedIcon from 'components/icons/deprecated-icon'\nimport FixedIcon from 'components/icons/fixed-icon'\nimport ImprovedIcon from 'components/icons/improved-icon'\nimport RemovedIcon from 'components/icons/removed-icon'\n\nexport const getBreadcrumbs = (hit: Hit) => {\n const breadcrumbs: string[] = []\n if (hit.doctype === 'API Reference' && hit.doccategory)\n breadcrumbs.push(hit.doccategory)\n breadcrumbs.push(hit.doctitle)\n return breadcrumbs\n}\n\nexport const getRelativeURL = (url: string) => {\n const relativeURL = url.replace(/^(?:\\/\\/|[^/]+)*\\//, '')\n return '/' + relativeURL\n}\n\ninterface IconsI {\n name: string\n Icon: IconComponent\n}\n\nconst iconsMap: IconsI[] = [\n {\n Icon: APIGuidesIcon,\n name: 'Guides',\n },\n {\n Icon: APIReferenceIcon,\n name: 'API Reference',\n },\n {\n Icon: AppDevelopmentIcon,\n name: 'App Development',\n },\n {\n Icon: StorefrontDevelopmentIcon,\n name: 'Storefront Development',\n },\n {\n Icon: VTEXIOAppsIcon,\n name: 'VTEX IO Apps',\n },\n {\n Icon: TroubleshootingIcon,\n name: 'Troubleshooting',\n },\n {\n Icon: ReleaseNotesIcon,\n name: 'Release Notes',\n },\n]\n\nexport const getIcon = (name: string) => {\n return iconsMap.find((icon) => icon.name === name)?.Icon\n}\n\nexport const getIconFromSection = (sections: Section[][], id: string) => {\n return sections.flat().find((section) => section.id === id)?.Icon\n}\n\nexport type ActionType =\n | 'added'\n | 'deprecated'\n | 'fixed'\n | 'improved'\n | 'removed'\nexport interface Action {\n type: ActionType\n title: string\n Icon: IconComponent\n}\n\nconst actions: Action[] = [\n {\n type: 'added',\n title: 'Added',\n Icon: AddedIcon,\n },\n {\n type: 'deprecated',\n title: 'Deprecated',\n Icon: DeprecatedIcon,\n },\n {\n type: 'fixed',\n title: 'Fixed',\n Icon: FixedIcon,\n },\n {\n type: 'improved',\n title: 'Improved',\n Icon: ImprovedIcon,\n },\n {\n type: 'removed',\n title: 'Removed',\n Icon: RemovedIcon,\n },\n]\n\nexport const getAction = (actionType: ActionType): Action => {\n return actions.find((action) => action.type === actionType) as Action\n}\n\nexport const getTitleById = (sections: Section[][], id: string) => {\n return sections.flat().find((item) => item.id === id)?.title || id\n}\n","import { useEffect, useRef, useState } from 'react'\nimport { connectHighlight } from 'react-instantsearch-dom'\nimport { HighlightProps, Hit } from 'react-instantsearch-core'\nimport { Flex, Text } from '@vtex/brand-ui'\nimport styles from './styles'\n\ninterface HighLightPartsProps {\n index: number\n isBetween: boolean\n size: number\n}\n\ninterface HitHighlightProps {\n value: string\n isHighlighted: boolean\n}\ninterface CustomHighlightProps extends HighlightProps {\n searchPage?: boolean\n}\n\nconst Highlight = ({\n highlight,\n attribute,\n hit,\n searchPage,\n}: CustomHighlightProps) => {\n const [parsedHit, setParsedHit] = useState([])\n const textContainer = useRef(null)\n const hitHighlights: HitHighlightProps[] = highlight({\n highlightProperty: '_highlightResult',\n attribute: hit.type != 'content' ? `hierarchy.${hit.type}` : attribute,\n hit,\n })\n const maxDescriptionSize = 700\n const ellipsedContent: HitHighlightProps[] = []\n if (searchPage) {\n let charCount = 0\n hitHighlights.forEach((part) => {\n if (maxDescriptionSize - charCount <= 0) return\n if (part.value.length + charCount >= maxDescriptionSize) {\n part.value =\n part.value.slice(0, maxDescriptionSize - charCount - 3) + '...'\n }\n charCount += part.value.length\n ellipsedContent.push(part)\n })\n }\n\n useEffect(() => {\n if (searchPage) return\n const titleSize = textContainer.current\n ? textContainer.current.offsetWidth / 7.75\n : 40\n\n const highlightParts: HighLightPartsProps[] = []\n let highlightCount = 0,\n highlightLength = 0\n\n hitHighlights.forEach((match: HitHighlightProps, index: number) => {\n const isBetween =\n index > 0 && index < hitHighlights.length - 1 ? true : false\n if (match.isHighlighted) {\n if (isBetween) highlightCount++\n highlightCount++\n highlightLength += match.value.length\n } else {\n highlightParts.push({\n index,\n isBetween,\n size: match.value.length,\n })\n }\n })\n\n highlightParts.sort(\n (a: HighLightPartsProps, b: HighLightPartsProps) => a.size - b.size\n )\n\n let sizeRemaining = titleSize - highlightLength\n let size = sizeRemaining / (highlightCount || 1)\n\n highlightParts.forEach((match: HighLightPartsProps) => {\n const value = hitHighlights[match.index].value\n if (match.isBetween) {\n if (match.size >= size * 2) {\n const reticences = (size * 2 - 3) / 2\n hitHighlights[match.index].value =\n value.slice(0, reticences) +\n '...' +\n value.slice(value.length - reticences)\n sizeRemaining -= size * 2\n } else {\n sizeRemaining -= match.size\n }\n highlightCount -= 2\n } else {\n if (match.size >= size) {\n if (match.index === 0)\n hitHighlights[match.index].value =\n '...' + value.slice(value.length - (size - 3))\n else\n hitHighlights[match.index].value = value.slice(0, size - 3) + '...'\n sizeRemaining -= size\n } else {\n sizeRemaining -= match.size\n }\n highlightCount -= 1\n }\n size = sizeRemaining / highlightCount\n hitHighlights[match.index].value = hitHighlights[\n match.index\n ].value.replace(/\\s+/g, '\\u00A0')\n })\n setParsedHit(hitHighlights)\n }, [hit, textContainer.current])\n\n return (\n \n \n {(searchPage ? ellipsedContent : parsedHit).map(\n (part: HitHighlightProps, index: number) =>\n part.isHighlighted ? (\n \n {part.value}\n \n ) : (\n part.value\n )\n )}\n \n \n )\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ninterface HighlightPassedThru {\n hit: Hit\n attribute: string\n highlightProperty?: string | undefined\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst connectedHighlight: React.ComponentClass> =\n connectHighlight(Highlight)\n\nexport default connectedHighlight\n","import algoliasearch, { AlgoliaSearchOptions } from 'algoliasearch/lite'\nimport aa from 'search-insights'\nimport { MultipleQueriesQuery } from '@algolia/client-search'\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport let searchClient: any = {}\nexport let searchIndex = ''\n\ninterface AlgoliaConfig {\n appId: string\n apiKey: string\n index: string\n algoliaOptions?: AlgoliaSearchOptions\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customOptions?: any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n instantSearchConfigs?: any\n useLanguageFilter?: boolean\n}\n\nconst createAlgoliaClient = (config: AlgoliaConfig) => {\n const {\n apiKey,\n appId,\n index,\n algoliaOptions,\n customOptions,\n instantSearchConfigs,\n useLanguageFilter = true,\n } = config\n searchIndex = index\n\n aa('init', {\n appId: appId || '',\n apiKey: apiKey || '',\n useCookie: false,\n })\n\n aa('getUserToken', null, (err) => {\n if (err) {\n console.error(err)\n return\n }\n })\n\n const algoliaClient = algoliasearch(appId || '', apiKey || '', algoliaOptions)\n\n searchClient = {\n ...algoliaClient,\n ...customOptions,\n instantSearchConfigs,\n useLanguageFilter,\n search(requests: MultipleQueriesQuery[]) {\n if (requests.every(({ params }) => !params?.query)) return\n return algoliaClient.search(requests)\n },\n }\n}\n\nexport default createAlgoliaClient\n","import { Flex, Text, Link } from '@vtex/brand-ui'\nimport EditIcon from 'components/icons/edit-icon'\nimport LikeIcon from 'components/icons/like-icon'\nimport LikeSelectedIcon from 'components/icons/like-selected-icon'\nimport { useContext, useEffect, useRef, useState } from 'react'\nimport styles from './styles'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\nimport ShareButton from 'components/share-button'\n\nexport interface DocPath {\n /** Slug that corresponds to the current page. */\n slug?: string\n /** Github edit URL to the corresponding documentation file. */\n urlToEdit?: string\n /** Whether is possible for the user to suggest edits or not. */\n suggestEdits?: boolean\n /** Include or not a share button. */\n shareButton?: boolean\n /** Executes when the user sends the feedback. Receives whether it was positive (liked). */\n sendFeedback: (liked: boolean) => Promise\n /** Whether to render the small version of the component or not. */\n small?: boolean\n}\n\nconst FeedbackSection = ({\n slug,\n urlToEdit,\n suggestEdits = true,\n shareButton = false,\n sendFeedback,\n small = false,\n}: DocPath) => {\n const [feedback, setFeedback] = useState(undefined)\n const { locale } = useContext(LibraryContext)\n\n // Reset feedback selection whenever the page (slug) changes\n useEffect(() => {\n setFeedback(undefined)\n }, [slug])\n\n const handleSend = async (liked: boolean) => {\n if (feedback !== undefined) return\n setFeedback(liked)\n try {\n await sendFeedback(liked)\n } catch (e) {\n setFeedback(undefined)\n }\n }\n\n return (\n \n \n \n {feedback !== undefined\n ? messages[locale]['feedback_section.response']\n : messages[locale]['feedback_section.question']}\n \n\n \n {/* LIKE */}\n handleSend(true)}\n role=\"button\"\n aria-pressed={feedback === true}\n data-cy=\"feedback-section-like\"\n >\n {feedback === true ? (\n \n ) : (\n \n )}\n {!small && (\n {messages[locale]['feedback_section.positive']}\n )}\n \n\n {/* DISLIKE */}\n handleSend(false)}\n role=\"button\"\n aria-pressed={feedback === false}\n data-cy=\"feedback-section-dislike\"\n >\n {feedback === false ? (\n \n ) : (\n \n )}\n {!small && (\n {messages[locale]['feedback_section.negative']}\n )}\n \n \n \n {suggestEdits && (\n \n \n {messages[locale]['feedback_section.edit']}\n \n )}\n {shareButton && (\n \n )}\n \n )\n}\n\nexport default FeedbackSection\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst EditIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default EditIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LikeIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default LikeIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LikeSelectedIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default LikeSelectedIcon\n","import { SxStyleProp } from '@vtex/brand-ui'\n\ntype StyleFn = (opts?: { small?: boolean }) => SxStyleProp\n\nconst container: StyleFn = ({ small } = {}) => ({\n width: '100%',\n flexDirection: small ? 'column' : ['column', 'row'],\n alignItems: small ? 'flex-start' : 'center',\n alignContent: ['initial', 'space-between'],\n justifyContent: ['initial', 'space-between'],\n marginTop: small ? '0px' : '32px',\n marginBottom: small ? '0px' : '16px',\n gap: small ? '8px' : '0px',\n})\n\nconst question: StyleFn = ({ small } = {}) => ({\n fontSize: small ? '12px' : '16px',\n lineHeight: '18px',\n color: '#4A596B',\n})\n\nconst iconsContainer: StyleFn = ({ small } = {}) => ({\n display: 'flex',\n alignItems: 'center',\n gap: small ? '0px' : '4px',\n ml: small ? '3px' : '6px',\n})\n\nconst likeContainer: SxStyleProp = {\n paddingBottom: ['16px', '0'],\n borderBottom: ['1px solid #E7E9EE', 'none'],\n mt: ['8px', '0'],\n mb: ['16px', '0'],\n width: ['100%', 'auto'],\n justifyContent: ['center', 'initial'],\n alignItems: 'center',\n}\n\nconst likeIcon: SxStyleProp = {\n mr: '2px',\n}\n\nconst dislikeIcon: SxStyleProp = {\n mr: '2px',\n transform: 'rotateX(180deg) rotateY(180deg)',\n}\n\nconst button: SxStyleProp = {\n ':hover': {\n cursor: 'pointer',\n color: '#000711',\n 'svg > path': {\n stroke: '#000711',\n },\n },\n}\n\nconst buttonActive: SxStyleProp = {\n cursor: 'pointer',\n color: '#000711',\n 'svg > path': {\n stroke: '#000711',\n },\n}\n\nconst selectedButton: SxStyleProp = {\n color: 'muted.1',\n}\n\nconst box: StyleFn = ({ small } = {}) => ({\n alignItems: 'center',\n color: 'muted.0',\n fontSize: small ? '12px' : '16px',\n lineHeight: '22px',\n})\n\nconst disabled: SxStyleProp = {\n display: 'none !important',\n}\n\nconst editContainer: StyleFn = ({ small } = {}) => ({\n ...box({ small }),\n ...button,\n ':hover': {\n color: '#000711 !important',\n },\n // ml: ['0', 'auto'],\n color: '#4A596B !important',\n display: 'flex',\n})\n\nconst editIcon: SxStyleProp = { mr: '4px' }\n\nconst shareButton: SxStyleProp = {\n // ml: ['0', 'auto'],\n}\n\nexport default {\n disabled,\n container,\n question,\n likeContainer,\n likeIcon,\n dislikeIcon,\n editContainer,\n editIcon,\n box,\n button,\n buttonActive,\n selectedButton,\n shareButton,\n iconsContainer,\n}\n","import { Box, Button, Flex, Text } from '@vtex/brand-ui'\nimport FacebookIcon from 'components/icons/facebook-icon'\nimport LinkedinIcon from 'components/icons/linkedin-icon'\nimport ShareIcon from 'components/icons/share-icon'\nimport TwitterIcon from 'components/icons/twitter-icon'\nimport { useRef, useState } from 'react'\nimport {\n FacebookShareButton,\n LinkedinShareButton,\n TwitterShareButton,\n EmailShareButton,\n} from 'react-share'\nimport styles from './styles'\nimport EmailIcon from 'components/icons/email-icon'\nimport LinkIcon from 'components/icons/link-icon'\nimport { SxStyleProp } from '@vtex/brand-ui'\nimport useClickOutside from 'utils/hooks/useClickOutside'\n\ninterface Props {\n url: string\n sx?: SxStyleProp\n}\n\nconst ShareButton = ({ url, sx={} }: Props) => {\n const [isOpen, setIsOpen] = useState(false)\n const containerRef = useRef()\n useClickOutside(containerRef, () => setIsOpen(false))\n\n const handleCopyLink = async () => {\n try {\n if (window) await navigator.clipboard.writeText(window.location.href)\n } catch (error) {\n console.error('Error copying link to clipboard:', error)\n }\n }\n\n return (\n \n setIsOpen(!isOpen)}\n >\n Share\n \n {isOpen && (\n \n \n \n Copy link\n \n \n \n \n \n E-mail\n \n \n \n \n \n Twitter\n \n \n \n \n \n Facebook\n \n \n \n \n \n LinkedIn\n \n \n \n )}\n \n )\n}\n\nexport default ShareButton\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst FacebookIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default FacebookIcon\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LinkedinIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default LinkedinIcon\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ShareIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default ShareIcon\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst TwitterIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default TwitterIcon\n\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n position: 'relative',\n height: '24px',\n}\n\nconst button: SxStyleProp = {\n cursor: 'pointer',\n textTransform: 'none',\n fontSize: '16px',\n lineHeight: '18px',\n color: '#4A596B',\n width: '24px',\n height: '24px',\n transition: '0.3s',\n ':hover': {\n color: '#000711 !important',\n textDecoration: 'none',\n },\n alignItems: 'start',\n}\n\nconst shareIcon: SxStyleProp = {\n marginRight: '4px',\n}\n\nconst innerButton: SxStyleProp = {\n gap: '16px',\n color: '#A1AAB7',\n cursor: 'pointer',\n transition: '0.3s',\n ':hover': {\n color: '#4A4A4A',\n },\n alignItems: 'center',\n}\n\nconst innerContainer: SxStyleProp = {\n position: 'absolute',\n backgroundColor: 'white',\n flexDirection: 'column',\n top: '100%',\n right: '0',\n mt: '8px',\n padding: '16px',\n gap: '16px',\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n borderRadius: '5px',\n\n ':before': {\n content: \"''\",\n position: 'absolute',\n top: '-8px',\n right: '8px',\n borderLeft: '8px solid transparent',\n borderRight: '8px solid transparent',\n borderBottom: '8px solid white',\n boxShadow: '0 16px 10px -17px rgba(0, 0, 0, 0.5)',\n },\n}\n\nconst divider: SxStyleProp = {\n borderBottom: '1px solid #E7E9EE',\n}\n\nexport default {\n container,\n button,\n shareIcon,\n innerButton,\n innerContainer,\n divider,\n}\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst EmailIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default EmailIcon\n\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LinkIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default LinkIcon\n\n","import { Box, Flex } from '@vtex/brand-ui'\nimport SearchSections from 'components/search-sections'\nimport SearchResults from 'components/search-results'\nimport SearchFilterTabBar from 'components/search-filter-tab-bar'\nimport SearchContextProvider from 'utils/context/search'\nimport styles from './styles'\nimport SearchInput from 'components/search-input'\n\nconst Search = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default Search\n","import { Box } from '@vtex/brand-ui'\n\nimport SearchSection from 'components/search-section'\nimport styles from './styles'\nimport { useContext } from 'react'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nconst SearchSections = () => {\n const { sidebarSections } = useContext(LibraryContext)\n\n const internalOnlySections = sidebarSections.map((section) =>\n section.filter((item) => !item.isExternalLink)\n )\n\n return (\n \n {internalOnlySections.map((sections, id) => (\n \n {id === 0 && }\n {sections.map((section, index) => (\n \n ))}\n \n ))}\n \n )\n}\n\nexport default SearchSections\n","import { Box, Flex, Text } from '@vtex/brand-ui'\nimport { useContext, useEffect } from 'react'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\nimport styles from './styles'\nimport { useRouter } from 'next/router.js'\nimport { FilterType, SearchContext } from 'utils/context/search'\nimport { Section } from 'utils/typings/types'\n\ninterface SearchSectionProps {\n dataElement: Section | null\n index?: number\n}\n\nconst SearchSection = ({ dataElement, index }: SearchSectionProps) => {\n const router = useRouter()\n const { filterSelectedSection, ocurrenceCount, changeFilterSelectedSection } =\n useContext(SearchContext)\n const { locale } = useContext(LibraryContext)\n\n const updateFilter = (value: FilterType) => {\n router.query.filter = value\n changeFilterSelectedSection(value)\n }\n\n useEffect(() => {\n updateFilter('')\n }, [router.query])\n\n return !dataElement ? (\n updateFilter('')}>\n \n {messages[locale]['search_results.all'] || 'All results' }\n \n \n {ocurrenceCount['']}\n \n \n ) : (\n updateFilter(dataElement.id)}\n >\n \n \n \n {dataElement.title}\n \n \n \n {ocurrenceCount[dataElement.id] || 0}\n \n \n )\n}\n\nexport default SearchSection\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sectionContainer: SxStyleProp = {\n justifyContent: 'space-between',\n padding: '8px',\n mb: '8px',\n cursor: 'pointer',\n ':active, :hover': {\n backgroundColor: '#F8F7FC',\n borderRadius: '4px',\n '.search-section-title': {\n color: '#000711',\n },\n '.search-section-count': {\n background: '#E7E9EE',\n },\n },\n}\n\nconst sectionIconTitleBox: SxStyleProp = {\n alignItems: 'center',\n}\n\nconst sectionIcon: SxStyleProp = {\n width: '16px',\n height: '16px',\n minWidth: '16px',\n minHeight: '16px',\n mr: '8px',\n}\n\nconst sectionTitle: SxStyleProp = {\n fontSize: '12px',\n lineHeight: '16px',\n}\n\nconst sectionTitleActive: SxStyleProp = {\n ...sectionTitle,\n color: '#142032',\n fontWeight: '600',\n}\n\nconst sectionCount: SxStyleProp = {\n background: '#F8F7FC',\n borderRadius: '24px',\n width: 'auto',\n textAlign: 'center',\n px: '8px',\n fontSize: '12px',\n lineHeight: '16px',\n}\n\nconst allResultsText: SxStyleProp = {\n ...sectionTitle,\n ml: '24px',\n}\n\nconst allResultsTextActive: SxStyleProp = {\n ...allResultsText,\n fontWeight: 'bold',\n color: '#0C1522',\n}\n\nexport default {\n sectionContainer,\n sectionIconTitleBox,\n sectionIcon,\n sectionTitle,\n sectionTitleActive,\n sectionCount,\n allResultsText,\n allResultsTextActive,\n}\n","import {\n createContext,\n Dispatch,\n ReactNode,\n SetStateAction,\n useState,\n} from 'react'\n\nexport type FilterType = string\n\ntype OcurrenceType = {\n [key: string]: number\n}\n\ntype SearchContextType = {\n filterSelectedSection: FilterType\n changeFilterSelectedSection: Dispatch>\n ocurrenceCount: OcurrenceType\n updateOcurrenceCount: (resultsData: OcurrenceType) => void\n}\n\nexport const SearchContext = createContext({\n filterSelectedSection: '',\n changeFilterSelectedSection: () => undefined,\n ocurrenceCount: {},\n updateOcurrenceCount: () => undefined,\n})\n\ninterface Props {\n children: ReactNode\n}\n\nconst SearchContextProvider = ({ children }: Props) => {\n const [filterSelectedSection, changeFilterSelectedSection] =\n useState('')\n const [ocurrenceCount, changeOcurrenceCount] = useState({})\n\n const updateOcurrenceCount = (resultsData: OcurrenceType) => {\n changeOcurrenceCount(resultsData)\n }\n\n return (\n \n {children}\n \n )\n}\n\nexport default SearchContextProvider\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n display: ['none', 'none', 'none', 'initial'],\n height: '100%',\n width: '242px',\n border: '1px solid #E7E9EE',\n borderRadius: '4px',\n mr: ['32px', '32px', '32px', '32px', '32px', '32px', '64px'],\n mt: '96px',\n}\n\nconst notesSection: SxStyleProp = {\n px: '8px',\n paddingTop: '8px',\n}\n\nconst docsSection: SxStyleProp = {\n ...notesSection,\n borderBottom: '1px solid #E7E9EE',\n}\n\nexport default {\n container,\n notesSection,\n docsSection,\n}\n","import { useRouter } from 'next/router.js'\nimport { useContext, useState } from 'react'\n\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\nimport { Box, Text } from '@vtex/brand-ui'\n\nimport { Configure, InstantSearch } from 'react-instantsearch-dom'\nimport { SearchState } from 'react-instantsearch-core'\nimport InfiniteHits from './infiniteHits'\n\nimport styles from './styles'\nimport { SearchContext } from 'utils/context/search'\nimport { searchClient, searchIndex } from 'utils/config/search-config'\n\nconst SearchResults = () => {\n const router = useRouter()\n const { filterSelectedSection, ocurrenceCount } = useContext(SearchContext)\n const { locale } = useContext(LibraryContext)\n const filters = [\n `language:${locale}`,\n filterSelectedSection ? `doctype:\"${filterSelectedSection}\"` : '',\n ]\n .filter(Boolean)\n .join(' AND ')\n const [prevFilter, setPrevFilter] = useState('')\n const [searchState, setSearchState] = useState({})\n\n const updateSearchState = (currentState: SearchState) => {\n const page = filters !== prevFilter ? 1 : currentState.page || 1\n setPrevFilter(filters)\n setSearchState({\n ...currentState,\n page,\n })\n }\n\n return (\n \n \n {`${messages[locale]['search_results.showing'] || 'Showing'} ${\n ocurrenceCount[filterSelectedSection] === undefined\n ? ''\n : ocurrenceCount[filterSelectedSection]\n } ${messages[locale]['search_results.results_for'] || 'results for'} ${\n router.query.keyword\n } ${messages[locale]['search_results.in'] || 'in'} ${\n !filterSelectedSection\n ? messages[locale]['search_results.all_lowercase'] || 'all results'\n : filterSelectedSection\n }`}\n \n
\n \n \n updateSearchState(currentState)\n }\n >\n \n \n \n \n
\n )\n}\n\nexport default SearchResults\n","import { useContext, useEffect, useMemo, useRef } from 'react'\nimport {\n connectInfiniteHits,\n connectStateResults,\n} from 'react-instantsearch-dom'\nimport {\n Hit,\n InfiniteHitsProvided,\n StateResultsProvided,\n} from 'react-instantsearch-core'\nimport SearchCard from 'components/search-card'\nimport {\n ActionType,\n getIconFromSection,\n getRelativeURL,\n getTitleById,\n} from 'utils/search-utils'\nimport { Box, Flex } from '@vtex/brand-ui'\nimport { MethodType } from 'utils/typings/types'\nimport { SearchContext } from 'utils/context/search'\nimport { LibraryContext } from 'utils/context/libraryContext'\n\nexport type FilteredHit2 = Hit & { filteredMatches?: Hit[] }\n\ninterface HitProps {\n hit: FilteredHit2\n}\n\nconst HitCard = ({ hit }: HitProps) => {\n const { sidebarSections } = useContext(LibraryContext)\n const breadcrumbTitle = getTitleById(sidebarSections, hit.doctype)\n\n const breadcrumbs = [\n breadcrumbTitle,\n ...(hit.doccategory ? [hit.doccategory] : []),\n ,\n hit.doctitle,\n ]\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\n\n return (\n \n )\n}\n\nconst StateResults = connectStateResults(\n ({ searchResults }: StateResultsProvided) => {\n const { updateOcurrenceCount } = useContext(SearchContext)\n\n useEffect(() => {\n if (!searchResults) return\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const results = searchResults as any\n const isFilteringByDoctype =\n typeof results?._state.filters === 'string' &&\n results._state.filters.includes('doctype:')\n\n const facets = results?.facets as\n | Array<{\n name: string\n data: Record\n exhaustive?: boolean\n }>\n | undefined\n\n const doctypeFacet = facets?.find((facet) => facet.name === 'doctype')\n const nbHits = results?.nbHits ?? 0\n\n const formattedFacets: Record = {}\n\n if (doctypeFacet?.data) {\n Object.entries(doctypeFacet.data).forEach(([key, value]) => {\n if (typeof value === 'number') {\n formattedFacets[key] = value\n }\n })\n }\n\n formattedFacets[''] = nbHits\n\n if (!isFilteringByDoctype) {\n updateOcurrenceCount(formattedFacets)\n }\n }, [searchResults?.queryID])\n\n return null\n }\n)\n\nconst InfiniteHits = ({ hits, hasMore, refineNext }: InfiniteHitsProvided) => {\n const scrollRef = useRef(null)\n\n function onSentinelIntersection(entries: IntersectionObserverEntry[]) {\n entries.forEach((entry: IntersectionObserverEntry) => {\n if (entry.isIntersecting && hasMore) {\n refineNext()\n }\n })\n }\n\n const filteredResult = useMemo(() => {\n const mergeHits: FilteredHit2[] = [] //hitsData\n hits.forEach((hit) => {\n const alreadyExists = mergeHits.findIndex(\n (e) => e.url_without_anchor === hit.url_without_anchor\n )\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const filteredHit: any = { ...hit, filteredMatches: [] }\n if (alreadyExists >= 0) {\n mergeHits[alreadyExists].filteredMatches?.push(filteredHit)\n } else mergeHits.push(filteredHit)\n })\n return mergeHits\n }, [hits])\n\n useEffect(() => {\n const observer = new IntersectionObserver(onSentinelIntersection, {})\n\n if (scrollRef.current) observer.observe(scrollRef.current)\n return () => {\n observer.disconnect()\n }\n }, [hits])\n return (\n \n \n {filteredResult.map((hit: Hit, index: number) => (\n \n \n \n ))}\n \n \n )\n}\n\nexport default connectInfiniteHits(InfiniteHits)\n","import { Box, Flex, Text, IconCaret, Tooltip } from '@vtex/brand-ui'\n\nimport styles from './styles'\nimport Link from 'next/link.js'\nimport CustomHighlight from 'components/search-input/customHighlight'\nimport { useState } from 'react'\nimport { useContext } from 'react'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\nimport ExpandedResultsIcon from 'components/icons/expanded-results-icon'\nimport { Hit } from 'react-instantsearch-core'\nimport MethodCategory from 'components/method-category'\nimport { IconComponent, MethodType } from 'utils/typings/types'\nimport { ActionType, getAction } from 'utils/search-utils'\n\nexport type FilteredHit = Hit & { filteredMatches?: Hit[] }\ninterface SearchCardProps {\n doc: string\n title: string\n breadcrumbs?: string[]\n method?: MethodType\n actionType?: ActionType\n Icon?: IconComponent\n url: string\n hit: FilteredHit\n}\n\nconst SearchCard = ({\n Icon,\n title,\n method,\n breadcrumbs,\n actionType,\n url,\n hit,\n}: SearchCardProps) => {\n const actionValue = actionType ? getAction(actionType) : null\n const [toggleChildResults, setToggleChildResults] = useState(false)\n const { locale } = useContext(LibraryContext)\n return (\n \n \n \n \n {Icon && }\n {method ? (\n \n ) : null}\n {title === 'overview' && `${hit.doccategory} `}\n {title}\n \n \n \n \n \n {toggleChildResults &&\n hit.filteredMatches?.map((childHit, index: number) => (\n \n \n \n ))}\n \n {breadcrumbs ? (\n \n \n {messages[locale]['search_card.in'] || 'In'}\n \n {breadcrumbs.map((breadcrumb, index) => (\n \n \n {breadcrumb}\n \n {index < breadcrumbs.length - 1 ? (\n \n ) : null}\n \n ))}\n \n ) : null}\n {actionValue ? (\n \n {' '}\n {actionValue?.title}\n \n ) : null}\n \n {hit.filteredMatches && hit.filteredMatches.length > 0 && (\n {\n setToggleChildResults(!toggleChildResults)\n event.stopPropagation()\n }}\n >\n \n \n )}\n \n \n )\n}\n\nexport default SearchCard\n","import { SxStyleProp } from '@vtex/brand-ui'\nimport { methodsColors } from 'components/method-category/functions'\nimport { MethodType } from 'utils/typings/unionTypes'\n\nconst container: SxStyleProp = {\n justifyContent: 'space-between',\n borderRadius: '9px',\n border: '1px solid #DDDDDD',\n width: '100%',\n mb: '18px',\n paddingTop: '26px',\n paddingBottom: '10px',\n paddingLeft: ['13px', '44px'],\n paddingRight: ['13px', '34px'],\n background: '#FFFFFF',\n cursor: 'pointer',\n}\n\nconst containerActive = (method: MethodType | undefined): SxStyleProp => {\n const methodCategory = method ? methodsColors[method] : ''\n return {\n ...container,\n ':hover': {\n background: '#F8F7FC',\n '.searchCardTitle, .searchCardDescription': {\n color: '#142032',\n },\n '.method-category': {\n ...methodCategory,\n },\n },\n }\n}\n\nconst title: SxStyleProp = {\n display: 'flex',\n alignItems: 'flex-start',\n fontSize: ['16px', '18px'],\n lineHeight: ['22px', '24px'],\n color: 'muted.0',\n}\n\nconst httpMethod: SxStyleProp = {\n mr: '4px',\n}\n\nconst icon: SxStyleProp = {\n width: '24px',\n height: '24px',\n mr: '8px',\n path: {\n stroke: '#A1A8B3',\n },\n}\n\nconst description: SxStyleProp = {\n fontSize: '16px',\n lineHeight: '22px',\n paddingLeft: '32px',\n color: 'muted.0',\n mt: '4px',\n mb: '8px',\n}\n\nconst descriptionToggle: SxStyleProp = {\n height: 'auto',\n minWidth: 'auto',\n}\n\nconst descriptionExpandedItem: SxStyleProp = {\n mt: '24px',\n}\n\nconst breadcrumbsContainer: SxStyleProp = {\n display: ['none', 'flex'],\n paddingLeft: '32px',\n alignItems: 'center',\n}\n\nconst alignCenter: SxStyleProp = {\n alignItems: 'center',\n}\n\nconst documentation: SxStyleProp = {\n ...alignCenter,\n minWidth: 'max-content',\n}\n\nconst breadcrumb: SxStyleProp = {\n color: 'muted.1',\n fontSize: '16px',\n lineHeight: '18px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst lastBreadcrumb: SxStyleProp = {\n ...breadcrumb,\n margin: 'auto 0',\n display: 'block',\n overflow: 'hidden',\n maxWidth: 'max-content',\n whiteSpace: 'nowrap',\n}\n\nconst breadcrumbsIn: SxStyleProp = {\n ...breadcrumb,\n mr: '4px',\n minWidth: 'fit-content',\n}\n\nconst breadcrumbsArrow: SxStyleProp = {\n width: '16px',\n height: '16px',\n color: 'muted.2',\n}\n\nconst actionContainer: SxStyleProp = {\n paddingLeft: '32px',\n alignItems: 'center',\n}\n\nconst actionIcon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n height: '16px',\n mr: '8px',\n}\n\nexport default {\n containerActive,\n title,\n httpMethod,\n icon,\n description,\n descriptionToggle,\n descriptionExpandedItem,\n breadcrumbsContainer,\n alignCenter,\n documentation,\n breadcrumb,\n lastBreadcrumb,\n breadcrumbsIn,\n breadcrumbsArrow,\n actionContainer,\n actionIcon,\n}\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\ninterface ExpandedResultsProps extends IconProps {\n active: boolean\n}\n\nconst ExpandedResultsIcon = ({ active }: ExpandedResultsProps) =>\n active ? (\n \n \n \n \n ) : (\n \n \n \n \n \n )\n\nexport default ExpandedResultsIcon\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst resultContainer: SxStyleProp = {\n width: ['80%', '544px', '544px', '544px', '720px', '720px', '1400px'],\n paddingTop: ['32px', '32px', '32px', '64px'],\n hr: {\n marginTop: '16px',\n marginBottom: '32px',\n borderTop: 'none',\n borderColor: '#DDDDDD',\n display: ['none', 'none', 'none', 'block'],\n },\n}\n\nconst resultText: SxStyleProp = {\n mb: '16px',\n fontSize: '16px',\n lineHeight: '22px',\n display: ['none', 'none', 'none', 'initial'],\n}\n\nconst paginationContainer: SxStyleProp = {\n mt: ['48px', '115px'],\n mb: '34px',\n justifyContent: 'center',\n}\n\nconst paginationLink: SxStyleProp = {\n fontSize: '16px',\n lineHeight: '20px',\n color: '#EE2565',\n cursor: 'pointer',\n}\n\nconst paginationLinkDisabled: SxStyleProp = {\n ...paginationLink,\n color: 'muted.1',\n}\n\nconst paginationNumber: SxStyleProp = {\n display: 'flex',\n fontSize: ['14px', '16px'],\n lineHeight: '20px',\n color: '#4A596B',\n mx: ['18px', '27px'],\n}\n\nconst paginationActualNumber: SxStyleProp = {\n fontWeight: '700',\n mx: '4px',\n}\n\nconst noResults: SxStyleProp = {\n justifyContent: 'center',\n alignContent: 'center',\n padding: '12px',\n}\n\nexport default {\n resultContainer,\n resultText,\n paginationContainer,\n paginationLink,\n paginationLinkDisabled,\n paginationNumber,\n paginationActualNumber,\n noResults,\n}\n","import { useContext } from 'react'\nimport { Flex, Text } from '@vtex/brand-ui'\n\nimport styles from './styles'\nimport { SearchContext } from 'utils/context/search'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport { messages } from 'utils/get-message'\n\nconst SearchFilterTab = ({ filter }: { filter: string }) => {\n const { filterSelectedSection, changeFilterSelectedSection, ocurrenceCount } =\n useContext(SearchContext)\n const { locale } = useContext(LibraryContext)\n\n return (\n changeFilterSelectedSection(filter)}\n >\n \n {filter || messages[locale]['search_results.all'] || 'All results'}\n \n {ocurrenceCount[filter] || 0}\n \n )\n}\n\nconst SearchFilterTabBar = () => {\n const { sidebarSections } = useContext(LibraryContext)\n return (\n \n \n {sidebarSections.flat().map((section) => {\n return \n })}\n \n )\n}\n\nexport default SearchFilterTabBar\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst container: SxStyleProp = {\n display: ['flex', 'flex', 'flex', 'none'],\n overflowX: 'scroll',\n scrollbarWidth: 'none',\n '::-webkit-scrollbar': {\n display: 'none',\n },\n}\n\nconst tab: (active: boolean) => SxStyleProp = (active) => ({\n pt: '8px',\n pb: '14px',\n px: '24px',\n cursor: 'pointer',\n justifyContent: 'center',\n alignItems: 'center',\n borderBottom: `${active ? 2 : 1}px solid #${active ? 'D71D55' : 'DDDDDD'}`,\n minWidth: 'max-content',\n})\n\nconst tabTitle: (active: boolean) => SxStyleProp = (active) => ({\n fontSize: '14px',\n fontWeight: '600',\n lineHeight: '16.38px',\n whiteSpace: 'nowrap',\n color: `#${active ? 'D71D55' : '545454'}`,\n})\n\nconst tabCount: SxStyleProp = {\n px: '8px',\n ml: '2px',\n fontSize: '12px',\n fontWeight: '400',\n lineHeight: '16px',\n borderRadius: '24px',\n backgroundColor: '#F8F7FC',\n}\n\nexport default { container, tab, tabTitle, tabCount }\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst searchBarContainer: SxStyleProp = {\n display: ['flex', 'flex', 'flex', 'none'],\n justifyContent: 'center',\n py: '16px',\n}\n\nconst body: SxStyleProp = {\n background: '#FFFFFF',\n justifyContent: 'center',\n}\n\nexport default {\n searchBarContainer,\n body,\n}\n","import { ReactNode, useContext } from 'react'\nimport { CookieConsent } from 'react-cookie-consent'\nimport styles from './styles'\nimport { Flex, SxStyleProp, Text } from '@vtex/brand-ui'\nimport { messages } from 'utils/get-message'\nimport { LibraryContext } from 'utils/context/libraryContext'\nimport aa from 'search-insights'\n\ninterface Props {\n onAccept: () => void\n}\n\ninterface ButtonProps {\n children: ReactNode[]\n style: SxStyleProp\n}\n\nconst Button = ({ children, style, ...props }: ButtonProps) => {\n return (\n \n {children}\n \n )\n}\n\nconst CookieBar = ({ onAccept }: Props) => {\n const { locale } = useContext(LibraryContext)\n\n return (\n {\n aa('init', {\n partial: true,\n useCookie: true,\n })\n onAccept()\n }}\n declineButtonText={messages[locale]['cookie_bar.decline']}\n buttonText={messages[locale]['cookie_bar.accept']}\n ButtonComponent={Button}\n customButtonWrapperAttributes={{ style: styles.buttonContainer }}\n customContentAttributes={{ style: styles.barContent }}\n >\n {messages[locale]['cookie_bar.title']}\n {messages[locale]['cookie_bar.description']}\n \n )\n}\n\nexport default CookieBar\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst bar: SxStyleProp = {\n backgroundColor: '#FFF',\n borderRadius: '8px',\n color: '#5E6E84',\n padding: '20px',\n width: '80%',\n left: '50%',\n transform: 'translateX(-50%)',\n maxWidth: '1280px',\n alignItems: 'center',\n justifyContent: 'center',\n boxShadow: '0 0 10px rgba(0, 0, 0, 0.1)',\n}\n\nconst barContent: SxStyleProp = {\n display: 'flex',\n flex: '1 0 300px',\n flexDirection: 'column',\n maxWidth: '100%',\n}\n\nconst title: SxStyleProp = {\n color: '#5E6E84',\n marginBottom: '10px',\n lineHeight: '28px',\n fontSize: '25px',\n fontWeight: '400',\n}\n\nconst buttonContainer: SxStyleProp = {\n display: 'flex',\n flexWrap: 'wrap',\n gap: '10px',\n justifyContent: 'center',\n margin: '15px',\n}\n\nconst acceptButton: SxStyleProp = {\n background: '#F71963',\n color: '#FFF',\n padding: '7px 16px',\n borderRadius: '2px',\n margin: '0',\n height: '32px',\n fontWeight: '400',\n\n ':hover': {\n opacity: '0.7',\n },\n}\n\nconst declineButton: SxStyleProp = {\n border: '1px solid #F71963',\n background: '#FFF',\n color: '#F71963',\n borderRadius: '2px',\n fontWeight: '400',\n margin: '0',\n height: '32px',\n\n ':hover': {\n opacity: '0.7',\n },\n}\n\nexport default {\n bar,\n barContent,\n title,\n acceptButton,\n declineButton,\n buttonContainer,\n}\n","import { Button } from '@vtex/brand-ui'\nimport Tooltip from 'components/tooltip'\nimport CopyIcon from '../icons/copy-icon'\nimport { useState } from 'react'\nimport styles from './styles'\n\nconst CopyLinkButton = () => {\n const [tooltipText, setTooltipText] = useState('Copy')\n\n const handleCopy = () => {\n navigator.clipboard.writeText(window.location.href)\n setTooltipText('Copy')\n\n setTimeout(() => {\n setTooltipText('Copied!')\n }, 2000)\n }\n\n return (\n \n \n \n )\n}\n\nexport default CopyLinkButton\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CopyIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default CopyIcon\n","import type { SxStyleProp } from '@vtex/brand-ui'\n\nconst copyIcon: SxStyleProp = {\n marginRight: '4px',\n}\n\nconst copyLinkButton: SxStyleProp = {\n textTransform: 'none',\n color: '#3F3F3F',\n fontWeight: '100',\n fontSize: '12px',\n lineHeight: '18px',\n height: 'none',\n padding: '8px 5px 8px 8px',\n border: '1px solid #A1AAB7',\n backgroundColor: 'white',\n ':hover': {\n backgroundColor: '#EFEFEF',\n },\n}\n\nexport default {\n copyIcon,\n copyLinkButton,\n}\n","import { useState, useEffect } from 'react'\nimport styles from './styles'\nimport { Flex } from '@vtex/brand-ui'\nimport { IconComponent } from 'utils/typings/types'\n\ninterface InputProps {\n value: string\n Icon?: IconComponent\n placeholder?: string\n onChange: (value: string) => void\n}\n\nconst Input = ({ value, onChange, placeholder = '', Icon }: InputProps) => {\n const [inputValue, setInputValue] = useState(value ?? '')\n\n useEffect(() => {\n if (inputValue !== value) setInputValue(value)\n }, [value])\n\n return (\n \n {Icon && }\n {\n setInputValue(e.currentTarget.value)\n onChange(e.currentTarget.value)\n }}\n />\n \n )\n}\n\nexport default Input\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst input: SxStyleProp = {\n background: 'none',\n border: '#F4F4F4',\n color: '#545454',\n fontSize: ['14px'],\n width: '100%',\n transition: 'flex 0.3s',\n outline: 'none',\n}\n\nconst icon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n mr: '8px',\n flex: 0,\n maxWidth: 'fit-content',\n}\n\nconst container: SxStyleProp = {\n paddingLeft: '12px',\n alignItems: 'center',\n justifyContent: 'center',\n background: '#F4F4F4',\n width: '100%',\n height: '40px',\n borderRadius: '4px',\n transition: 'all 0.3s ease-out',\n cursor: 'pointer',\n border: '1px solid #F4F4F4',\n\n ':hover': {\n transition: 'all 0.3s ease-out',\n border: '1px solid #3B3B3B',\n },\n}\n\nexport default { container, input, icon }\n","export const getDaysElapsed = (date: Date) => {\n const msInDay = 1000 * 60 * 60 * 24\n const msElapsed = new Date().getTime() - date.getTime()\n return Math.floor(msElapsed / msInDay)\n}\n","import { Icon } from '@vtex/brand-ui'\nimport type { IconProps } from '@vtex/brand-ui'\n\nconst GearTroubleshootingIcon = (props: IconProps) => {\n return (\n \n \n \n \n \n \n \n \n )\n}\n\nexport default GearTroubleshootingIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst DocumentationUpdatesIcon = (props: IconProps) => (\n \n \n \n \n \n \n)\n\nexport default DocumentationUpdatesIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst HelpCenterIcon = (props: IconProps) => (\n \n {' '}\n \n \n \n \n \n)\n\nexport default HelpCenterIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst DeveloperPortalIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n)\n\nexport default DeveloperPortalIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst FAQIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default FAQIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst KnownIssueIcon = (props: IconProps) => (\n \n \n \n \n
\n \n)\n\nexport default KnownIssueIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst MegaphoneIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n)\n\nexport default MegaphoneIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst GraphIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default GraphIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst WarningIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default WarningIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst PaperIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n)\n\nexport default PaperIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst StartHereIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default StartHereIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst TutorialsIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n)\n\nexport default TutorialsIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst AnnouncementIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default AnnouncementIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst VTEXDevPortalIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default VTEXDevPortalIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst VTEXHelpCenterIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default VTEXHelpCenterIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst InfoIcon = (props: IconProps) => (\n \n \n \n \n \n)\n\nexport default InfoIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst NewIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default NewIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst GithubIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default GithubIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CommunityIcon = (props: IconProps) => (\n \n {' '}\n \n \n \n)\n\nexport default CommunityIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst FacebookCircleIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default FacebookCircleIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LinkedinCircleIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default LinkedinCircleIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst TwitterCircleIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default TwitterCircleIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst YoutubeIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default YoutubeIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst IgIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default IgIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ChatGPTIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default ChatGPTIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ClaudeIcon = (props: IconProps) => (\n \n Claude\n \n \n)\n\nexport default ClaudeIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst GeminiIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default GeminiIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst CopilotIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default CopilotIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst GridIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default GridIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst TrashcanIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n)\n\nexport default TrashcanIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst FilterIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n \n \n)\n\nexport default FilterIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst MenuIcon = (props: IconProps) => (\n \n \n \n \n \n \n \n \n \n)\n\nexport default MenuIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\ninterface CheckboxProps extends IconProps {\n checked: boolean\n}\n\nconst CheckboxIcon = (props: CheckboxProps) => (\n \n {!props.checked ? (\n <>\n \n \n \n ) : (\n <>\n \n \n \n )}\n \n)\n\nexport default CheckboxIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ResizeIcon = (props: IconProps) => (\n \n \n \n)\n\nexport default ResizeIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst ArrowRightIcon = (props: IconProps) => (\n \n {' '}\n \n \n \n)\n\nexport default ArrowRightIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst LongArrowIcon = (props: IconProps) => (\n \n \n \n \n)\n\nexport default LongArrowIcon\n","import type { IconProps } from '@vtex/brand-ui'\nimport { Icon } from '@vtex/brand-ui'\n\nconst VTEXLogoFooter = (props: IconProps) => (\n \n \n \n \n \n \n \n)\n\nexport default VTEXLogoFooter\n"],"mappings":"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","names":["Fragment","text","text","i","checker","version","encode","AuthMode","addMethods","createAuth","encode","init_client_common_esm","createAuth","AuthMode","addMethods","init_client_common_esm","init_client_common_esm","createAuth","AuthMode","addMethods","createAuth","AuthMode","createRetryablePromise","createWaitablePromise","shuffle","addMethods","encode","init_client_common_esm","init_client_common_esm","createAuth","AuthMode","shuffle","version","addMethods","createRetryablePromise","createWaitablePromise","encode","searchIndex","body","client_common_esm_exports","AuthMode","addMethods","createAuth","createRetryablePromise","createWaitablePromise","destroy","encode","shuffle","version","init_client_common_esm","parse","version","requester_node_http_esm_exports","createNodeHttpRequester","http","Agent","https","Agent$1","parse","defaultHttpAgent","defaultHttpsAgent","agentOptions","init_requester_node_http_esm","algoliasearch","algoliasearch","Box","useEffect","useRef","useState","Box","Flex","mermaid","jsx","jsxs","icon","link","Icon","jsx","PropTypes","Box","styles_default","jsx","Box","styles_default","useEffect","Box","Flex","Icon","jsx","jsxs","body","styles_default","jsx","jsxs","useEffect","Flex","styles_default","Box","Box","Flex","Link","container","styles_default","jsx","jsxs","title","description","Link","styles_default","Box","Flex","useEffect","useState","jsx","title","sidebarElementStatus","item","heading","styles_default","img","heading","code","blockquote","blockquoteInfo","blockquoteDanger","blockquoteWarning","blockquoteSuccess","flexWrap","svgContainer","messages","jsx","jsxs","useState","styles_default","icon","useRef","useEffect","mermaid","Box","Flex","item","jsx","Box","useContext","useEffect","Link","Box","Text","styles_default","jsx","jsxs","useContext","useEffect","headings","item","title","Link","Text","styles_default","Box","useEffect","useRef","useState","useContext","Flex","Text","Box","Link","linkContainer","styles_default","iconTooltip","useEffect","useRef","useState","Box","Flex","styles_default","Icon","jsx","jsx","jsxs","label","box","useRef","useState","useEffect","Box","Flex","styles_default","useRouter","useEffect","getIcon","icon","Flex","Box","Text","Button","useContext","useState","styles_default","Box","Flex","Text","Flex","Text","container","styles_default","categoryStyle","styles_default","Icon","jsx","jsxs","jsx","jsxs","Flex","Text","styles_default","useContext","useState","container","text","styles_default","jsx","jsxs","useState","useContext","Box","styles_default","Text","Flex","useRouter","useContext","Box","Flex","Link","Button","IconCaret","sectionDivider","styles_default","icon","styles_default","textStyle","jsx","jsxs","useContext","useRouter","slugPrefix","Box","styles_default","Flex","Button","IconCaret","Link","item","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","jsxs","Fragment","jsx","jsxs","documentation","useState","useContext","category","getIcon","Box","styles_default","Flex","Button","Text","sidebarSectionHidden","Fragment","jsx","jsxs","useState","useContext","useEffect","iconTooltip","useRef","Box","styles_default","Link","Flex","Text","Box","IconCaret","Button","arrowIcon","arrowIconActive","styles_default","useContext","Link","Box","Flex","Text","cardContainer","title","description","styles_default","cardContainer","styles_default","titleContainer","cardTitle","jsx","jsxs","title","description","link","Icon","Link","Box","cardContainer","Flex","titleContainer","Text","styles_default","useRef","useContext","useRouter","Flex","searchInput","searchIcon","styles_default","jsx","jsxs","useRouter","useRef","useContext","Flex","styles_default","useRouter","Link","Box","Flex","IconCaret","Text","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","item","useEffect","useRef","useState","Flex","Text","jsx","useState","useRef","useEffect","Flex","styles_default","Text","useContext","Fragment","jsx","jsxs","useContext","Link","Box","styles_default","Flex","Text","IconCaret","useRouter","Box","useContext","useRef","useState","aa","algoliasearch","jsx","jsxs","useContext","useState","resultsBox","useRef","Box","jsx","jsxs","useContext","styles_default","Box","Button","IconCaret","Flex","Text","Link","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","useContext","useEffect","useState","container","styles_default","Box","Button","Flex","Text","Icon","jsx","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","useRef","useState","container","button","styles_default","Icon","jsx","Icon","jsx","jsxs","jsx","jsxs","useState","useRef","Flex","styles_default","Button","Text","Box","jsx","jsxs","shareButton","useState","useContext","useEffect","Flex","styles_default","Text","Link","Box","Flex","Box","Box","Flex","Text","useContext","useEffect","styles_default","useRouter","createContext","useState","jsx","jsx","jsxs","useRouter","useContext","useEffect","Flex","styles_default","Text","Box","container","styles_default","useContext","jsx","jsxs","useContext","item","Box","styles_default","useRouter","useContext","useState","Box","Text","Configure","InstantSearch","useContext","useEffect","useMemo","useRef","connectStateResults","Box","Flex","Text","IconCaret","Tooltip","container","title","icon","description","alignCenter","styles_default","Link","useState","useContext","Icon","jsx","jsxs","jsx","jsxs","Icon","title","useState","useContext","Link","Flex","styles_default","Box","Text","breadcrumb","Tooltip","IconCaret","Box","Flex","jsx","jsxs","useContext","connectStateResults","useEffect","useRef","useMemo","Box","Flex","noResults","styles_default","jsx","jsxs","useRouter","useContext","useState","Box","styles_default","Text","InstantSearch","Configure","useContext","Flex","Text","container","styles_default","jsx","jsxs","useContext","Flex","styles_default","Text","styles_default","jsx","jsxs","Box","Flex","styles_default","search_default","useContext","title","styles_default","Flex","Text","aa","jsx","jsxs","Button","Flex","useContext","styles_default","Text","Button","Icon","jsx","jsxs","useState","styles_default","jsx","useState","Button","styles_default","useState","useEffect","icon","container","styles_default","Flex","jsx","jsxs","Icon","useState","useEffect","styles_default","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","Fragment","jsx","jsxs","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs"]} +======= +{"version":3,"sources":["../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../node_modules/prop-types/node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@algolia/cache-common/dist/cache-common.esm.js","../node_modules/@algolia/cache-in-memory/dist/cache-in-memory.esm.js","../node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/requester-common/dist/requester-common.esm.js","../node_modules/@algolia/transporter/dist/transporter.esm.js","../node_modules/@algolia/client-analytics/dist/client-analytics.esm.js","../node_modules/@algolia/client-personalization/dist/client-personalization.esm.js","../node_modules/@algolia/client-search/dist/client-search.esm.js","../node_modules/@algolia/logger-common/dist/logger-common.esm.js","../node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js","../node_modules/algoliasearch/dist/algoliasearch.cjs.js","../node_modules/algoliasearch/index.js","../node_modules/algoliasearch/lite.js","../src/lib/markdown-renderer/MarkdownRenderer.tsx","../src/lib/markdown-renderer/components.tsx","../src/components/overview-card/styles.ts","../src/components/overview-card/index.tsx","../src/components/overview-card/icons.tsx","../src/components/youtube-frame/index.tsx","../src/components/steps/index.tsx","../src/components/steps/styles.ts","../src/components/lightbox/index.tsx","../src/components/icons/close-icon.tsx","../src/utils/hooks/useClickOutside.ts","../src/components/lightbox/styles.ts","../src/components/whats-next-card/index.tsx","../src/components/whats-next-card/styles.ts","../src/utils/context/libraryContext.tsx","../src/utils/string-utils.ts","../src/utils/mermaidInit.ts","../src/lib/markdown-renderer/styles.module.css","../src/messages/en.json","../src/messages/es.json","../src/messages/pt.json","../src/utils/get-message.ts","../src/lib/table-of-contents/TableOfContents.tsx","../src/lib/table-of-contents/styles.ts","../src/lib/sidebar/index.tsx","../src/lib/sidebar/styles.ts","../src/lib/sidebar/functions.ts","../src/components/tooltip/index.tsx","../src/components/tooltip/styles.ts","../src/components/icons/caret.tsx","../src/utils/navigation-utils.ts","../src/utils/sidebar-utils.ts","../src/components/sidebar-section/index.tsx","../src/components/sidebar-section/styles.ts","../src/components/sidebar-section-filter/index.tsx","../src/components/method-category/index.tsx","../src/components/method-category/styles.ts","../src/components/method-category/functions.ts","../src/components/icons/close-filter-icon.tsx","../src/components/sidebar-section-filter/styles.ts","../src/components/sidebar-elements/index.tsx","../src/components/sidebar-elements/styles.ts","../src/components/sidebar-elements/functions.tsx","../src/components/icons/search-icon.tsx","../src/components/icons/sidebar-toggle-icon.tsx","../src/components/icons/arrow-left-icon.tsx","../src/lib/hamburger-menu/index.tsx","../src/lib/hamburger-menu/styles.ts","../src/components/documentation-card/index.tsx","../src/components/documentation-card/styles.ts","../src/components/documentation-card/functions.ts","../src/components/search-input/index.tsx","../src/components/search-input/search-box.tsx","../src/components/search-input/styles.ts","../src/components/search-input/results-box.tsx","../src/components/icons/api-guides-icon.tsx","../src/components/icons/api-reference-icon.tsx","../src/components/icons/app-development-icon.tsx","../src/components/icons/release-notes-icon.tsx","../src/components/icons/storefront-development-icon.tsx","../src/components/icons/vtex-io-apps-icon.tsx","../src/components/icons/troubleshooting-icon.tsx","../src/components/icons/added-icon.tsx","../src/components/icons/deprecated-icon.tsx","../src/components/icons/fixed-icon.tsx","../src/components/icons/improved-icon.tsx","../src/components/icons/removed-icon.tsx","../src/utils/search-utils.ts","../src/components/search-input/customHighlight.tsx","../src/utils/config/search-config.ts","../src/lib/feedback-section/index.tsx","../src/components/icons/edit-icon.tsx","../src/components/icons/like-icon.tsx","../src/components/icons/like-selected-icon.tsx","../src/lib/feedback-section/styles.ts","../src/components/share-button/index.tsx","../src/components/icons/facebook-icon.tsx","../src/components/icons/linkedin-icon.tsx","../src/components/icons/share-icon.tsx","../src/components/icons/twitter-icon.tsx","../src/components/share-button/styles.ts","../src/components/icons/email-icon.tsx","../src/components/icons/link-icon.tsx","../src/lib/search/index.tsx","../src/components/search-sections/index.tsx","../src/components/search-section/index.tsx","../src/components/search-section/styles.ts","../src/utils/context/search.tsx","../src/components/search-sections/styles.ts","../src/components/search-results/index.tsx","../src/components/search-results/infiniteHits.tsx","../src/components/search-card/index.tsx","../src/components/search-card/styles.ts","../src/components/icons/expanded-results-icon.tsx","../src/components/search-results/styles.ts","../src/components/search-filter-tab-bar/index.tsx","../src/components/search-filter-tab-bar/styles.ts","../src/lib/search/styles.ts","../src/lib/cookie-bar/index.tsx","../src/lib/cookie-bar/styles.ts","../src/components/copy-link-button/index.tsx","../src/components/icons/copy-icon.tsx","../src/components/copy-link-button/styles.ts","../src/components/input/index.tsx","../src/components/input/styles.ts"],"sourcesContent":["/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","// @todo Add logger on options to debug when caches go wrong.\r\nfunction createFallbackableCache(options) {\r\n const caches = [...options.caches];\r\n const current = caches.shift(); // eslint-disable-line functional/immutable-data\r\n if (current === undefined) {\r\n return createNullCache();\r\n }\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n return current.get(key, defaultValue, events).catch(() => {\r\n return createFallbackableCache({ caches }).get(key, defaultValue, events);\r\n });\r\n },\r\n set(key, value) {\r\n return current.set(key, value).catch(() => {\r\n return createFallbackableCache({ caches }).set(key, value);\r\n });\r\n },\r\n delete(key) {\r\n return current.delete(key).catch(() => {\r\n return createFallbackableCache({ caches }).delete(key);\r\n });\r\n },\r\n clear() {\r\n return current.clear().catch(() => {\r\n return createFallbackableCache({ caches }).clear();\r\n });\r\n },\r\n };\r\n}\n\nfunction createNullCache() {\r\n return {\r\n get(_key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const value = defaultValue();\r\n return value\r\n .then(result => Promise.all([result, events.miss(result)]))\r\n .then(([result]) => result);\r\n },\r\n set(_key, value) {\r\n return Promise.resolve(value);\r\n },\r\n delete(_key) {\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createFallbackableCache, createNullCache };\n","function createInMemoryCache(options = { serializable: true }) {\r\n // eslint-disable-next-line functional/no-let\r\n let cache = {};\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const keyAsString = JSON.stringify(key);\r\n if (keyAsString in cache) {\r\n return Promise.resolve(options.serializable ? JSON.parse(cache[keyAsString]) : cache[keyAsString]);\r\n }\r\n const promise = defaultValue();\r\n const miss = (events && events.miss) || (() => Promise.resolve());\r\n return promise.then((value) => miss(value)).then(() => promise);\r\n },\r\n set(key, value) {\r\n // eslint-disable-next-line functional/immutable-data\r\n cache[JSON.stringify(key)] = options.serializable ? JSON.stringify(value) : value;\r\n return Promise.resolve(value);\r\n },\r\n delete(key) {\r\n // eslint-disable-next-line functional/immutable-data\r\n delete cache[JSON.stringify(key)];\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n cache = {};\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createInMemoryCache };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.20.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","const MethodEnum = {\r\n Delete: 'DELETE',\r\n Get: 'GET',\r\n Post: 'POST',\r\n Put: 'PUT',\r\n};\n\nexport { MethodEnum };\n","import { MethodEnum } from '@algolia/requester-common';\n\nfunction createMappedRequestOptions(requestOptions, timeout) {\r\n const options = requestOptions || {};\r\n const data = options.data || {};\r\n Object.keys(options).forEach(key => {\r\n if (['timeout', 'headers', 'queryParameters', 'data', 'cacheable'].indexOf(key) === -1) {\r\n data[key] = options[key]; // eslint-disable-line functional/immutable-data\r\n }\r\n });\r\n return {\r\n data: Object.entries(data).length > 0 ? data : undefined,\r\n timeout: options.timeout || timeout,\r\n headers: options.headers || {},\r\n queryParameters: options.queryParameters || {},\r\n cacheable: options.cacheable,\r\n };\r\n}\n\nconst CallEnum = {\r\n /**\r\n * If the host is read only.\r\n */\r\n Read: 1,\r\n /**\r\n * If the host is write only.\r\n */\r\n Write: 2,\r\n /**\r\n * If the host is both read and write.\r\n */\r\n Any: 3,\r\n};\n\nconst HostStatusEnum = {\r\n Up: 1,\r\n Down: 2,\r\n Timeouted: 3,\r\n};\n\n// By default, API Clients at Algolia have expiration delay\r\n// of 5 mins. In the JavaScript client, we have 2 mins.\r\nconst EXPIRATION_DELAY = 2 * 60 * 1000;\r\nfunction createStatefulHost(host, status = HostStatusEnum.Up) {\r\n return {\r\n ...host,\r\n status,\r\n lastUpdate: Date.now(),\r\n };\r\n}\r\nfunction isStatefulHostUp(host) {\r\n return host.status === HostStatusEnum.Up || Date.now() - host.lastUpdate > EXPIRATION_DELAY;\r\n}\r\nfunction isStatefulHostTimeouted(host) {\r\n return (host.status === HostStatusEnum.Timeouted && Date.now() - host.lastUpdate <= EXPIRATION_DELAY);\r\n}\n\nfunction createStatelessHost(options) {\r\n if (typeof options === 'string') {\r\n return {\r\n protocol: 'https',\r\n url: options,\r\n accept: CallEnum.Any,\r\n };\r\n }\r\n return {\r\n protocol: options.protocol || 'https',\r\n url: options.url,\r\n accept: options.accept || CallEnum.Any,\r\n };\r\n}\n\nfunction createRetryableOptions(hostsCache, statelessHosts) {\r\n return Promise.all(statelessHosts.map(statelessHost => {\r\n return hostsCache.get(statelessHost, () => {\r\n return Promise.resolve(createStatefulHost(statelessHost));\r\n });\r\n })).then(statefulHosts => {\r\n const hostsUp = statefulHosts.filter(host => isStatefulHostUp(host));\r\n const hostsTimeouted = statefulHosts.filter(host => isStatefulHostTimeouted(host));\r\n /**\r\n * Note, we put the hosts that previously timeouted on the end of the list.\r\n */\r\n const hostsAvailable = [...hostsUp, ...hostsTimeouted];\r\n const statelessHostsAvailable = hostsAvailable.length > 0\r\n ? hostsAvailable.map(host => createStatelessHost(host))\r\n : statelessHosts;\r\n return {\r\n getTimeout(timeoutsCount, baseTimeout) {\r\n /**\r\n * Imagine that you have 4 hosts, if timeouts will increase\r\n * on the following way: 1 (timeouted) > 4 (timeouted) > 5 (200)\r\n *\r\n * Note that, the very next request, we start from the previous timeout\r\n *\r\n * 5 (timeouted) > 6 (timeouted) > 7 ...\r\n *\r\n * This strategy may need to be reviewed, but is the strategy on the our\r\n * current v3 version.\r\n */\r\n const timeoutMultiplier = hostsTimeouted.length === 0 && timeoutsCount === 0\r\n ? 1\r\n : hostsTimeouted.length + 3 + timeoutsCount;\r\n return timeoutMultiplier * baseTimeout;\r\n },\r\n statelessHosts: statelessHostsAvailable,\r\n };\r\n });\r\n}\n\nconst isNetworkError = ({ isTimedOut, status }) => {\r\n return !isTimedOut && ~~status === 0;\r\n};\r\nconst isRetryable = (response) => {\r\n const status = response.status;\r\n const isTimedOut = response.isTimedOut;\r\n return (isTimedOut || isNetworkError(response) || (~~(status / 100) !== 2 && ~~(status / 100) !== 4));\r\n};\r\nconst isSuccess = ({ status }) => {\r\n return ~~(status / 100) === 2;\r\n};\r\nconst retryDecision = (response, outcomes) => {\r\n if (isRetryable(response)) {\r\n return outcomes.onRetry(response);\r\n }\r\n if (isSuccess(response)) {\r\n return outcomes.onSuccess(response);\r\n }\r\n return outcomes.onFail(response);\r\n};\n\nfunction retryableRequest(transporter, statelessHosts, request, requestOptions) {\r\n const stackTrace = []; // eslint-disable-line functional/prefer-readonly-type\r\n /**\r\n * First we prepare the payload that do not depend from hosts.\r\n */\r\n const data = serializeData(request, requestOptions);\r\n const headers = serializeHeaders(transporter, requestOptions);\r\n const method = request.method;\r\n // On `GET`, the data is proxied to query parameters.\r\n const dataQueryParameters = request.method !== MethodEnum.Get\r\n ? {}\r\n : {\r\n ...request.data,\r\n ...requestOptions.data,\r\n };\r\n const queryParameters = {\r\n 'x-algolia-agent': transporter.userAgent.value,\r\n ...transporter.queryParameters,\r\n ...dataQueryParameters,\r\n ...requestOptions.queryParameters,\r\n };\r\n let timeoutsCount = 0; // eslint-disable-line functional/no-let\r\n const retry = (hosts, // eslint-disable-line functional/prefer-readonly-type\r\n getTimeout) => {\r\n /**\r\n * We iterate on each host, until there is no host left.\r\n */\r\n const host = hosts.pop(); // eslint-disable-line functional/immutable-data\r\n if (host === undefined) {\r\n throw createRetryError(stackTraceWithoutCredentials(stackTrace));\r\n }\r\n const payload = {\r\n data,\r\n headers,\r\n method,\r\n url: serializeUrl(host, request.path, queryParameters),\r\n connectTimeout: getTimeout(timeoutsCount, transporter.timeouts.connect),\r\n responseTimeout: getTimeout(timeoutsCount, requestOptions.timeout),\r\n };\r\n /**\r\n * The stackFrame is pushed to the stackTrace so we\r\n * can have information about onRetry and onFailure\r\n * decisions.\r\n */\r\n const pushToStackTrace = (response) => {\r\n const stackFrame = {\r\n request: payload,\r\n response,\r\n host,\r\n triesLeft: hosts.length,\r\n };\r\n // eslint-disable-next-line functional/immutable-data\r\n stackTrace.push(stackFrame);\r\n return stackFrame;\r\n };\r\n const decisions = {\r\n onSuccess: response => deserializeSuccess(response),\r\n onRetry(response) {\r\n const stackFrame = pushToStackTrace(response);\r\n /**\r\n * If response is a timeout, we increaset the number of\r\n * timeouts so we can increase the timeout later.\r\n */\r\n if (response.isTimedOut) {\r\n timeoutsCount++;\r\n }\r\n return Promise.all([\r\n /**\r\n * Failures are individually send the logger, allowing\r\n * the end user to debug / store stack frames even\r\n * when a retry error does not happen.\r\n */\r\n transporter.logger.info('Retryable failure', stackFrameWithoutCredentials(stackFrame)),\r\n /**\r\n * We also store the state of the host in failure cases. If the host, is\r\n * down it will remain down for the next 2 minutes. In a timeout situation,\r\n * this host will be added end of the list of hosts on the next request.\r\n */\r\n transporter.hostsCache.set(host, createStatefulHost(host, response.isTimedOut ? HostStatusEnum.Timeouted : HostStatusEnum.Down)),\r\n ]).then(() => retry(hosts, getTimeout));\r\n },\r\n onFail(response) {\r\n pushToStackTrace(response);\r\n throw deserializeFailure(response, stackTraceWithoutCredentials(stackTrace));\r\n },\r\n };\r\n return transporter.requester.send(payload).then(response => {\r\n return retryDecision(response, decisions);\r\n });\r\n };\r\n /**\r\n * Finally, for each retryable host perform request until we got a non\r\n * retryable response. Some notes here:\r\n *\r\n * 1. The reverse here is applied so we can apply a `pop` later on => more performant.\r\n * 2. We also get from the retryable options a timeout multiplier that is tailored\r\n * for the current context.\r\n */\r\n return createRetryableOptions(transporter.hostsCache, statelessHosts).then(options => {\r\n return retry([...options.statelessHosts].reverse(), options.getTimeout);\r\n });\r\n}\n\nfunction createTransporter(options) {\r\n const { hostsCache, logger, requester, requestsCache, responsesCache, timeouts, userAgent, hosts, queryParameters, headers, } = options;\r\n const transporter = {\r\n hostsCache,\r\n logger,\r\n requester,\r\n requestsCache,\r\n responsesCache,\r\n timeouts,\r\n userAgent,\r\n headers,\r\n queryParameters,\r\n hosts: hosts.map(host => createStatelessHost(host)),\r\n read(request, requestOptions) {\r\n /**\r\n * First, we compute the user request options. Now, keep in mind,\r\n * that using request options the user is able to modified the intire\r\n * payload of the request. Such as headers, query parameters, and others.\r\n */\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions, transporter.timeouts.read);\r\n const createRetryableRequest = () => {\r\n /**\r\n * Then, we prepare a function factory that contains the construction of\r\n * the retryable request. At this point, we may *not* perform the actual\r\n * request. But we want to have the function factory ready.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Read) !== 0), request, mappedRequestOptions);\r\n };\r\n /**\r\n * Once we have the function factory ready, we need to determine of the\r\n * request is \"cacheable\" - should be cached. Note that, once again,\r\n * the user can force this option.\r\n */\r\n const cacheable = mappedRequestOptions.cacheable !== undefined\r\n ? mappedRequestOptions.cacheable\r\n : request.cacheable;\r\n /**\r\n * If is not \"cacheable\", we immediatly trigger the retryable request, no\r\n * need to check cache implementations.\r\n */\r\n if (cacheable !== true) {\r\n return createRetryableRequest();\r\n }\r\n /**\r\n * If the request is \"cacheable\", we need to first compute the key to ask\r\n * the cache implementations if this request is on progress or if the\r\n * response already exists on the cache.\r\n */\r\n const key = {\r\n request,\r\n mappedRequestOptions,\r\n transporter: {\r\n queryParameters: transporter.queryParameters,\r\n headers: transporter.headers,\r\n },\r\n };\r\n /**\r\n * With the computed key, we first ask the responses cache\r\n * implemention if this request was been resolved before.\r\n */\r\n return transporter.responsesCache.get(key, () => {\r\n /**\r\n * If the request has never resolved before, we actually ask if there\r\n * is a current request with the same key on progress.\r\n */\r\n return transporter.requestsCache.get(key, () => {\r\n return (transporter.requestsCache\r\n /**\r\n * Finally, if there is no request in progress with the same key,\r\n * this `createRetryableRequest()` will actually trigger the\r\n * retryable request.\r\n */\r\n .set(key, createRetryableRequest())\r\n .then(response => Promise.all([transporter.requestsCache.delete(key), response]), err => Promise.all([transporter.requestsCache.delete(key), Promise.reject(err)]))\r\n .then(([_, response]) => response));\r\n });\r\n }, {\r\n /**\r\n * Of course, once we get this response back from the server, we\r\n * tell response cache to actually store the received response\r\n * to be used later.\r\n */\r\n miss: response => transporter.responsesCache.set(key, response),\r\n });\r\n },\r\n write(request, requestOptions) {\r\n /**\r\n * On write requests, no cache mechanisms are applied, and we\r\n * proxy the request immediately to the requester.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Write) !== 0), request, createMappedRequestOptions(requestOptions, transporter.timeouts.write));\r\n },\r\n };\r\n return transporter;\r\n}\n\nfunction createUserAgent(version) {\r\n const userAgent = {\r\n value: `Algolia for JavaScript (${version})`,\r\n add(options) {\r\n const addedUserAgent = `; ${options.segment}${options.version !== undefined ? ` (${options.version})` : ''}`;\r\n if (userAgent.value.indexOf(addedUserAgent) === -1) {\r\n // eslint-disable-next-line functional/immutable-data\r\n userAgent.value = `${userAgent.value}${addedUserAgent}`;\r\n }\r\n return userAgent;\r\n },\r\n };\r\n return userAgent;\r\n}\n\nfunction deserializeSuccess(response) {\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n return JSON.parse(response.content);\r\n }\r\n catch (e) {\r\n throw createDeserializationError(e.message, response);\r\n }\r\n}\r\nfunction deserializeFailure({ content, status }, stackFrame) {\r\n // eslint-disable-next-line functional/no-let\r\n let message = content;\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n message = JSON.parse(content).message;\r\n }\r\n catch (e) {\r\n // ..\r\n }\r\n return createApiError(message, status, stackFrame);\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nfunction serializeUrl(host, path, queryParameters) {\r\n const queryParametersAsString = serializeQueryParameters(queryParameters);\r\n // eslint-disable-next-line functional/no-let\r\n let url = `${host.protocol}://${host.url}/${path.charAt(0) === '/' ? path.substr(1) : path}`;\r\n if (queryParametersAsString.length) {\r\n url += `?${queryParametersAsString}`;\r\n }\r\n return url;\r\n}\r\nfunction serializeQueryParameters(parameters) {\r\n const isObjectOrArray = (value) => Object.prototype.toString.call(value) === '[object Object]' ||\r\n Object.prototype.toString.call(value) === '[object Array]';\r\n return Object.keys(parameters)\r\n .map(key => encode('%s=%s', key, isObjectOrArray(parameters[key]) ? JSON.stringify(parameters[key]) : parameters[key]))\r\n .join('&');\r\n}\r\nfunction serializeData(request, requestOptions) {\r\n if (request.method === MethodEnum.Get ||\r\n (request.data === undefined && requestOptions.data === undefined)) {\r\n return undefined;\r\n }\r\n const data = Array.isArray(request.data)\r\n ? request.data\r\n : { ...request.data, ...requestOptions.data };\r\n return JSON.stringify(data);\r\n}\r\nfunction serializeHeaders(transporter, requestOptions) {\r\n const headers = {\r\n ...transporter.headers,\r\n ...requestOptions.headers,\r\n };\r\n const serializedHeaders = {};\r\n Object.keys(headers).forEach(header => {\r\n const value = headers[header];\r\n // @ts-ignore\r\n // eslint-disable-next-line functional/immutable-data\r\n serializedHeaders[header.toLowerCase()] = value;\r\n });\r\n return serializedHeaders;\r\n}\n\nfunction stackTraceWithoutCredentials(stackTrace) {\r\n return stackTrace.map(stackFrame => stackFrameWithoutCredentials(stackFrame));\r\n}\r\nfunction stackFrameWithoutCredentials(stackFrame) {\r\n const modifiedHeaders = stackFrame.request.headers['x-algolia-api-key']\r\n ? { 'x-algolia-api-key': '*****' }\r\n : {};\r\n return {\r\n ...stackFrame,\r\n request: {\r\n ...stackFrame.request,\r\n headers: {\r\n ...stackFrame.request.headers,\r\n ...modifiedHeaders,\r\n },\r\n },\r\n };\r\n}\n\nfunction createApiError(message, status, transporterStackTrace) {\r\n return {\r\n name: 'ApiError',\r\n message,\r\n status,\r\n transporterStackTrace,\r\n };\r\n}\n\nfunction createDeserializationError(message, response) {\r\n return {\r\n name: 'DeserializationError',\r\n message,\r\n response,\r\n };\r\n}\n\nfunction createRetryError(transporterStackTrace) {\r\n return {\r\n name: 'RetryError',\r\n message: 'Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.',\r\n transporterStackTrace,\r\n };\r\n}\n\nexport { CallEnum, HostStatusEnum, createApiError, createDeserializationError, createMappedRequestOptions, createRetryError, createStatefulHost, createStatelessHost, createTransporter, createUserAgent, deserializeFailure, deserializeSuccess, isStatefulHostTimeouted, isStatefulHostUp, serializeData, serializeHeaders, serializeQueryParameters, serializeUrl, stackFrameWithoutCredentials, stackTraceWithoutCredentials };\n","import { createAuth, AuthMode, addMethods, encode } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createAnalyticsClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `analytics.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const appId = options.appId;\r\n return addMethods({ appId, transporter }, options.methods);\r\n};\n\nconst addABTest = (base) => {\r\n return (abTest, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '2/abtests',\r\n data: abTest,\r\n }, requestOptions);\r\n };\r\n};\n\nconst deleteABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTests = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '2/abtests',\r\n }, requestOptions);\r\n };\r\n};\n\nconst stopABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('2/abtests/%s/stop', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nexport { addABTest, createAnalyticsClient, deleteABTest, getABTest, getABTests, stopABTest };\n","import { createAuth, AuthMode, addMethods } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createPersonalizationClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `personalization.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n return addMethods({ appId: options.appId, transporter }, options.methods);\r\n};\n\nconst getPersonalizationStrategy = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/strategies/personalization',\r\n }, requestOptions);\r\n };\r\n};\n\nconst setPersonalizationStrategy = (base) => {\r\n return (personalizationStrategy, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/strategies/personalization',\r\n data: personalizationStrategy,\r\n }, requestOptions);\r\n };\r\n};\n\nexport { createPersonalizationClient, getPersonalizationStrategy, setPersonalizationStrategy };\n","import { createAuth, AuthMode, shuffle, addMethods, createWaitablePromise, createRetryablePromise, encode } from '@algolia/client-common';\nimport { createTransporter, CallEnum, createMappedRequestOptions, serializeQueryParameters } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\nimport { createHmac } from 'crypto';\n\nfunction createBrowsablePromise(options) {\r\n const browse = (data) => {\r\n return options.request(data).then(response => {\r\n /**\r\n * First we send to the developer the\r\n * batch retrieved from the API.\r\n */\r\n if (options.batch !== undefined) {\r\n options.batch(response.hits);\r\n }\r\n /**\r\n * Then, we ask to the browse concrete implementation\r\n * if we should stop browsing. As example, the `browseObjects`\r\n * method will stop if the cursor is not present on the response.\r\n */\r\n if (options.shouldStop(response)) {\r\n return undefined;\r\n }\r\n /**\r\n * Finally, if the response contains a cursor, we browse to the next\r\n * batch using that same cursor. Otherwise, we just use the traditional\r\n * browsing using the page element.\r\n */\r\n if (response.cursor) {\r\n return browse({\r\n cursor: response.cursor,\r\n });\r\n }\r\n return browse({\r\n page: (data.page || 0) + 1,\r\n });\r\n });\r\n };\r\n return browse({});\r\n}\n\nconst createSearchClient = options => {\r\n const appId = options.appId;\r\n const auth = createAuth(options.authMode !== undefined ? options.authMode : AuthMode.WithinHeaders, appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [\r\n { url: `${appId}-dsn.algolia.net`, accept: CallEnum.Read },\r\n { url: `${appId}.algolia.net`, accept: CallEnum.Write },\r\n ].concat(shuffle([\r\n { url: `${appId}-1.algolianet.com` },\r\n { url: `${appId}-2.algolianet.com` },\r\n { url: `${appId}-3.algolianet.com` },\r\n ])),\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/x-www-form-urlencoded' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const base = {\r\n transporter,\r\n appId,\r\n addAlgoliaAgent(segment, version) {\r\n transporter.userAgent.add({ segment, version });\r\n },\r\n clearCache() {\r\n return Promise.all([\r\n transporter.requestsCache.clear(),\r\n transporter.responsesCache.clear(),\r\n ]).then(() => undefined);\r\n },\r\n };\r\n return addMethods(base, options.methods);\r\n};\n\nfunction createMissingObjectIDError() {\r\n return {\r\n name: 'MissingObjectIDError',\r\n message: 'All objects must have an unique objectID ' +\r\n '(like a primary key) to be valid. ' +\r\n 'Algolia is also able to generate objectIDs ' +\r\n \"automatically but *it's not recommended*. \" +\r\n \"To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.\",\r\n };\r\n}\n\nfunction createObjectNotFoundError() {\r\n return {\r\n name: 'ObjectNotFoundError',\r\n message: 'Object not found.',\r\n };\r\n}\n\nfunction createValidUntilNotFoundError() {\r\n return {\r\n name: 'ValidUntilNotFoundError',\r\n message: 'ValidUntil not found in given secured api key.',\r\n };\r\n}\n\nconst addApiKey = (base) => {\r\n return (acl, requestOptions) => {\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = {\r\n acl,\r\n ...(queryParameters !== undefined ? { queryParameters } : {}),\r\n };\r\n const wait = (response, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(response.key, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/keys',\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst assignUserID = (base) => {\r\n return (userID, clusterName, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping',\r\n data: { cluster: clusterName },\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst assignUserIDs = (base) => {\r\n return (userIDs, clusterName, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/batch',\r\n data: {\r\n users: userIDs,\r\n cluster: clusterName,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst clearDictionaryEntries = (base) => {\r\n return (dictionary, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: {\r\n clearExistingDictionaryEntries: true,\r\n requests: { action: 'addEntry', body: [] },\r\n },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst copyIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'copy',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst copyRules = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Rules],\r\n });\r\n };\r\n};\n\nconst copySettings = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Settings],\r\n });\r\n };\r\n};\n\nconst copySynonyms = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Synonyms],\r\n });\r\n };\r\n};\n\nconst customRequest = (base) => {\r\n return (request, requestOptions) => {\r\n if (request.method === MethodEnum.Get) {\r\n return base.transporter.read(request, requestOptions);\r\n }\r\n return base.transporter.write(request, requestOptions);\r\n };\r\n};\n\nconst deleteApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions)\r\n .then(retry)\r\n .catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst deleteDictionaryEntries = (base) => {\r\n return (dictionary, objectIDs, requestOptions) => {\r\n const requests = objectIDs.map(objectID => ({\r\n action: 'deleteEntry',\r\n body: { objectID },\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst generateSecuredApiKey = () => {\r\n return (parentApiKey, restrictions) => {\r\n const queryParameters = serializeQueryParameters(restrictions);\r\n const securedKey = createHmac('sha256', parentApiKey)\r\n .update(queryParameters)\r\n .digest('hex');\r\n return Buffer.from(securedKey + queryParameters).toString('base64');\r\n };\r\n};\n\nconst getApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/task/%s', taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getDictionarySettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '/1/dictionaries/*/settings',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getLogs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/logs',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSecuredApiKeyRemainingValidity = () => {\r\n return (securedApiKey) => {\r\n const decodedString = Buffer.from(securedApiKey, 'base64').toString('ascii');\r\n const regex = /validUntil=(\\d+)/;\r\n const match = decodedString.match(regex);\r\n if (match === null) {\r\n throw createValidUntilNotFoundError();\r\n }\r\n return parseInt(match[1], 10) - Math.round(new Date().getTime() / 1000);\r\n };\r\n};\n\nconst getTopUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/top',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/clusters/mapping/%s', userID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst hasPendingMappings = (base) => {\r\n return (requestOptions) => {\r\n const { retrieveMappings, ...options } = requestOptions || {};\r\n if (retrieveMappings === true) {\r\n // eslint-disable-next-line functional/immutable-data\r\n options.getClusters = true;\r\n }\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/pending',\r\n }, options);\r\n };\r\n};\n\nconst initIndex = (base) => {\r\n return (indexName, options = {}) => {\r\n const searchIndex = {\r\n transporter: base.transporter,\r\n appId: base.appId,\r\n indexName,\r\n };\r\n return addMethods(searchIndex, options.methods);\r\n };\r\n};\n\nconst listApiKeys = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/keys',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listClusters = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listIndices = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/indexes',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping',\r\n }, requestOptions);\r\n };\r\n};\n\nconst moveIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'move',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleBatch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return Promise.all(Object.keys(response.taskID).map(indexName => {\r\n return initIndex(base)(indexName, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID[indexName], waitRequestOptions);\r\n }));\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/batch',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleGetObjects = (base) => {\r\n return (requests, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleQueries = (base) => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => {\r\n return {\r\n ...query,\r\n params: serializeQueryParameters(query.params || {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/queries',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleSearchForFacetValues = (base) => {\r\n return (queries, requestOptions) => {\r\n return Promise.all(queries.map(query => {\r\n const { facetName, facetQuery, ...params } = query.params;\r\n return initIndex(base)(query.indexName, {\r\n methods: { searchForFacetValues },\r\n }).searchForFacetValues(facetName, facetQuery, {\r\n ...requestOptions,\r\n ...params,\r\n });\r\n }));\r\n };\r\n};\n\nconst removeUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: '1/clusters/mapping',\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst replaceDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: true, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst restoreApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/keys/%s/restore', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst saveDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst searchDictionaryEntries = (base) => {\r\n return (dictionary, query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/search', dictionary),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchUserIDs = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/search',\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setDictionarySettings = (base) => {\r\n return (settings, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: '/1/dictionaries/*/settings',\r\n data: settings,\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst updateApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const updatedFields = Object.assign({}, requestOptions);\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = queryParameters ? { queryParameters } : {};\r\n const apiKeyFields = [\r\n 'acl',\r\n 'indexes',\r\n 'referers',\r\n 'restrictSources',\r\n 'queryParameters',\r\n 'description',\r\n 'maxQueriesPerIPPerHour',\r\n 'maxHitsPerQuery',\r\n ];\r\n // Check that all the fields retrieved through getApiKey are the same as the ones we wanted to update\r\n const hasChanged = (getApiKeyResponse) => {\r\n return Object.keys(updatedFields)\r\n .filter((updatedField) => apiKeyFields.indexOf(updatedField) !== -1)\r\n .every(updatedField => {\r\n // If the field is an array, we need to check that they are the same length and that all the values are the same\r\n if (Array.isArray(getApiKeyResponse[updatedField]) &&\r\n Array.isArray(updatedFields[updatedField])) {\r\n const getApiKeyResponseArray = getApiKeyResponse[updatedField];\r\n return (getApiKeyResponseArray.length === updatedFields[updatedField].length &&\r\n getApiKeyResponseArray.every((value, index) => value === updatedFields[updatedField][index]));\r\n }\r\n else {\r\n return getApiKeyResponse[updatedField] === updatedFields[updatedField];\r\n }\r\n });\r\n };\r\n const wait = (_, waitRequestOptions) => createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).then(getApiKeyResponse => {\r\n return hasChanged(getApiKeyResponse) ? Promise.resolve() : retry();\r\n });\r\n });\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/keys/%s', apiKey),\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst waitAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getAppTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst batch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return waitTask(base)(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/batch', base.indexName),\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst browseObjects = (base) => {\r\n return (requestOptions) => {\r\n return createBrowsablePromise({\r\n shouldStop: response => response.cursor === undefined,\r\n ...requestOptions,\r\n request: (data) => base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/browse', base.indexName),\r\n data,\r\n }, requestOptions),\r\n });\r\n };\r\n};\n\nconst browseRules = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchRules(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(rule => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete rule._highlightResult;\r\n return rule;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst browseSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchSynonyms(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(synonym => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete synonym._highlightResult;\r\n return synonym;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst chunkedBatch = (base) => {\r\n return (bodies, action, requestOptions) => {\r\n const { batchSize, ...options } = requestOptions || {};\r\n const response = {\r\n taskIDs: [],\r\n objectIDs: [],\r\n };\r\n const forEachBatch = (lastIndex = 0) => {\r\n // eslint-disable-next-line functional/prefer-readonly-type\r\n const bodiesChunk = [];\r\n // eslint-disable-next-line functional/no-let\r\n let index;\r\n /* eslint-disable-next-line functional/no-loop-statement */\r\n for (index = lastIndex; index < bodies.length; index++) {\r\n // eslint-disable-next-line functional/immutable-data\r\n bodiesChunk.push(bodies[index]);\r\n if (bodiesChunk.length === (batchSize || 1000)) {\r\n break;\r\n }\r\n }\r\n if (bodiesChunk.length === 0) {\r\n return Promise.resolve(response);\r\n }\r\n return batch(base)(bodiesChunk.map(body => {\r\n return {\r\n action,\r\n body,\r\n };\r\n }), options).then(res => {\r\n response.objectIDs = response.objectIDs.concat(res.objectIDs); // eslint-disable-line functional/immutable-data\r\n response.taskIDs.push(res.taskID); // eslint-disable-line functional/immutable-data\r\n index++;\r\n return forEachBatch(index);\r\n });\r\n };\r\n return createWaitablePromise(forEachBatch(), (chunkedBatchResponse, waitRequestOptions) => {\r\n return Promise.all(chunkedBatchResponse.taskIDs.map(taskID => {\r\n return waitTask(base)(taskID, waitRequestOptions);\r\n }));\r\n });\r\n };\r\n};\n\nconst clearObjects = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/clear', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearRules = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteBy = (base) => {\r\n return (filters, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/deleteByQuery', base.indexName),\r\n data: filters,\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteIndex = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return createWaitablePromise(deleteObjects(base)([objectID], requestOptions).then(response => {\r\n return { taskID: response.taskIDs[0] };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const objects = objectIDs.map(objectID => {\r\n return { objectID };\r\n });\r\n return chunkedBatch(base)(objects, BatchActionEnum.DeleteObject, requestOptions);\r\n };\r\n};\n\nconst deleteRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/synonyms/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst exists = (base) => {\r\n return (requestOptions) => {\r\n return getSettings(base)(requestOptions)\r\n .then(() => true)\r\n .catch(error => {\r\n if (error.status !== 404) {\r\n throw error;\r\n }\r\n return false;\r\n });\r\n };\r\n};\n\nconst findAnswers = (base) => {\r\n return (query, queryLanguages, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/answers/%s/prediction', base.indexName),\r\n data: {\r\n query,\r\n queryLanguages,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst findObject = (base) => {\r\n return (callback, requestOptions) => {\r\n const { query, paginate, ...options } = requestOptions || {};\r\n // eslint-disable-next-line functional/no-let\r\n let page = 0;\r\n const forEachPage = () => {\r\n return search(base)(query || '', { ...options, page }).then(result => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(result.hits)) {\r\n // eslint-disable-next-line promise/no-callback-in-promise\r\n if (callback(hit)) {\r\n return {\r\n object: hit,\r\n position: parseInt(position, 10),\r\n page,\r\n };\r\n }\r\n }\r\n page++;\r\n // paginate if option was set and has next page\r\n if (paginate === false || page >= result.nbPages) {\r\n throw createObjectNotFoundError();\r\n }\r\n return forEachPage();\r\n });\r\n };\r\n return forEachPage();\r\n };\r\n};\n\nconst getObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getObjectPosition = () => {\r\n return (searchResponse, objectID) => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(searchResponse.hits)) {\r\n if (hit.objectID === objectID) {\r\n return parseInt(position, 10);\r\n }\r\n }\r\n return -1;\r\n };\r\n};\n\nconst getObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const { attributesToRetrieve, ...options } = requestOptions || {};\r\n const requests = objectIDs.map(objectID => {\r\n return {\r\n indexName: base.indexName,\r\n objectID,\r\n ...(attributesToRetrieve ? { attributesToRetrieve } : {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, options);\r\n };\r\n};\n\nconst getRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: {\r\n getVersion: 2,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode(`1/indexes/%s/synonyms/%s`, base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/task/%s', base.indexName, taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst partialUpdateObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(partialUpdateObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst partialUpdateObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { createIfNotExists, ...options } = requestOptions || {};\r\n const action = createIfNotExists\r\n ? BatchActionEnum.PartialUpdateObject\r\n : BatchActionEnum.PartialUpdateObjectNoCreate;\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst replaceAllObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { safe, autoGenerateObjectIDIfNotExist, batchSize, ...options } = requestOptions || {};\r\n const operation = (from, to, type, operationRequestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: type,\r\n destination: to,\r\n },\r\n }, operationRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n const randomSuffix = Math.random()\r\n .toString(36)\r\n .substring(7);\r\n const temporaryIndexName = `${base.indexName}_tmp_${randomSuffix}`;\r\n const saveObjectsInTemporary = saveObjects({\r\n appId: base.appId,\r\n transporter: base.transporter,\r\n indexName: temporaryIndexName,\r\n });\r\n // @ts-ignore\r\n // eslint-disable-next-line prefer-const, functional/no-let, functional/prefer-readonly-type\r\n let responses = [];\r\n const copyWaitablePromise = operation(base.indexName, temporaryIndexName, 'copy', {\r\n ...options,\r\n scope: ['settings', 'synonyms', 'rules'],\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(copyWaitablePromise);\r\n const result = (safe\r\n ? copyWaitablePromise.wait(options)\r\n : copyWaitablePromise)\r\n .then(() => {\r\n const saveObjectsWaitablePromise = saveObjectsInTemporary(objects, {\r\n ...options,\r\n autoGenerateObjectIDIfNotExist,\r\n batchSize,\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(saveObjectsWaitablePromise);\r\n return safe ? saveObjectsWaitablePromise.wait(options) : saveObjectsWaitablePromise;\r\n })\r\n .then(() => {\r\n const moveWaitablePromise = operation(temporaryIndexName, base.indexName, 'move', options);\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(moveWaitablePromise);\r\n return safe ? moveWaitablePromise.wait(options) : moveWaitablePromise;\r\n })\r\n .then(() => Promise.all(responses))\r\n .then(([copyResponse, saveObjectsResponse, moveResponse]) => {\r\n return {\r\n objectIDs: saveObjectsResponse.objectIDs,\r\n taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID],\r\n };\r\n });\r\n return createWaitablePromise(result, (_, waitRequestOptions) => {\r\n return Promise.all(responses.map(response => response.wait(waitRequestOptions)));\r\n });\r\n };\r\n};\n\nconst replaceAllRules = (base) => {\r\n return (rules, requestOptions) => {\r\n return saveRules(base)(rules, {\r\n ...requestOptions,\r\n clearExistingRules: true,\r\n });\r\n };\r\n};\n\nconst replaceAllSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n return saveSynonyms(base)(synonyms, {\r\n ...requestOptions,\r\n clearExistingSynonyms: true,\r\n });\r\n };\r\n};\n\nconst saveObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(saveObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { autoGenerateObjectIDIfNotExist, ...options } = requestOptions || {};\r\n const action = autoGenerateObjectIDIfNotExist\r\n ? BatchActionEnum.AddObject\r\n : BatchActionEnum.UpdateObject;\r\n if (action === BatchActionEnum.UpdateObject) {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const object of objects) {\r\n if (object.objectID === undefined) {\r\n return createWaitablePromise(Promise.reject(createMissingObjectIDError()));\r\n }\r\n }\r\n }\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst saveRule = (base) => {\r\n return (rule, requestOptions) => {\r\n return saveRules(base)([rule], requestOptions);\r\n };\r\n};\n\nconst saveRules = (base) => {\r\n return (rules, requestOptions) => {\r\n const { forwardToReplicas, clearExistingRules, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (clearExistingRules) {\r\n mappedRequestOptions.queryParameters.clearExistingRules = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/batch', base.indexName),\r\n data: rules,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveSynonym = (base) => {\r\n return (synonym, requestOptions) => {\r\n return saveSynonyms(base)([synonym], requestOptions);\r\n };\r\n};\n\nconst saveSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n const { forwardToReplicas, clearExistingSynonyms, replaceExistingSynonyms, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (replaceExistingSynonyms || clearExistingSynonyms) {\r\n mappedRequestOptions.queryParameters.replaceExistingSynonyms = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/batch', base.indexName),\r\n data: synonyms,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst search = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/query', base.indexName),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchForFacetValues = (base) => {\r\n return (facetName, facetQuery, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/facets/%s/query', base.indexName, facetName),\r\n data: {\r\n facetQuery,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchRules = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchSynonyms = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setSettings = (base) => {\r\n return (settings, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: settings,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst waitTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst ApiKeyACLEnum = {\r\n AddObject: 'addObject',\r\n Analytics: 'analytics',\r\n Browser: 'browse',\r\n DeleteIndex: 'deleteIndex',\r\n DeleteObject: 'deleteObject',\r\n EditSettings: 'editSettings',\r\n Inference: 'inference',\r\n ListIndexes: 'listIndexes',\r\n Logs: 'logs',\r\n Personalization: 'personalization',\r\n Recommendation: 'recommendation',\r\n Search: 'search',\r\n SeeUnretrievableAttributes: 'seeUnretrievableAttributes',\r\n Settings: 'settings',\r\n Usage: 'usage',\r\n};\n\nconst BatchActionEnum = {\r\n AddObject: 'addObject',\r\n UpdateObject: 'updateObject',\r\n PartialUpdateObject: 'partialUpdateObject',\r\n PartialUpdateObjectNoCreate: 'partialUpdateObjectNoCreate',\r\n DeleteObject: 'deleteObject',\r\n DeleteIndex: 'delete',\r\n ClearIndex: 'clear',\r\n};\n\nconst ScopeEnum = {\r\n Settings: 'settings',\r\n Synonyms: 'synonyms',\r\n Rules: 'rules',\r\n};\n\nconst StrategyEnum = {\r\n None: 'none',\r\n StopIfEnoughMatches: 'stopIfEnoughMatches',\r\n};\n\nconst SynonymEnum = {\r\n Synonym: 'synonym',\r\n OneWaySynonym: 'oneWaySynonym',\r\n AltCorrection1: 'altCorrection1',\r\n AltCorrection2: 'altCorrection2',\r\n Placeholder: 'placeholder',\r\n};\n\nexport { ApiKeyACLEnum, BatchActionEnum, ScopeEnum, StrategyEnum, SynonymEnum, addApiKey, assignUserID, assignUserIDs, batch, browseObjects, browseRules, browseSynonyms, chunkedBatch, clearDictionaryEntries, clearObjects, clearRules, clearSynonyms, copyIndex, copyRules, copySettings, copySynonyms, createBrowsablePromise, createMissingObjectIDError, createObjectNotFoundError, createSearchClient, createValidUntilNotFoundError, customRequest, deleteApiKey, deleteBy, deleteDictionaryEntries, deleteIndex, deleteObject, deleteObjects, deleteRule, deleteSynonym, exists, findAnswers, findObject, generateSecuredApiKey, getApiKey, getAppTask, getDictionarySettings, getLogs, getObject, getObjectPosition, getObjects, getRule, getSecuredApiKeyRemainingValidity, getSettings, getSynonym, getTask, getTopUserIDs, getUserID, hasPendingMappings, initIndex, listApiKeys, listClusters, listIndices, listUserIDs, moveIndex, multipleBatch, multipleGetObjects, multipleQueries, multipleSearchForFacetValues, partialUpdateObject, partialUpdateObjects, removeUserID, replaceAllObjects, replaceAllRules, replaceAllSynonyms, replaceDictionaryEntries, restoreApiKey, saveDictionaryEntries, saveObject, saveObjects, saveRule, saveRules, saveSynonym, saveSynonyms, search, searchDictionaryEntries, searchForFacetValues, searchRules, searchSynonyms, searchUserIDs, setDictionarySettings, setSettings, updateApiKey, waitAppTask, waitTask };\n","function createNullLogger() {\r\n return {\r\n debug(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n info(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n error(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nconst LogLevelEnum = {\r\n Debug: 1,\r\n Info: 2,\r\n Error: 3,\r\n};\n\nexport { LogLevelEnum, createNullLogger };\n","import * as http from 'http';\nimport { Agent } from 'http';\nimport * as https from 'https';\nimport { Agent as Agent$1 } from 'https';\nimport { parse } from 'url';\n\n/* eslint functional/prefer-readonly-type: 0 */\r\nconst agentOptions = { keepAlive: true };\r\nconst defaultHttpAgent = new Agent(agentOptions);\r\nconst defaultHttpsAgent = new Agent$1(agentOptions);\r\nfunction createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {}, } = {}) {\r\n const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;\r\n const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;\r\n return {\r\n send(request) {\r\n return new Promise(resolve => {\r\n const url = parse(request.url);\r\n const path = url.query === null ? url.pathname : `${url.pathname}?${url.query}`;\r\n const options = {\r\n ...requesterOptions,\r\n agent: url.protocol === 'https:' ? httpsAgent : httpAgent,\r\n hostname: url.hostname,\r\n path,\r\n method: request.method,\r\n headers: {\r\n ...(requesterOptions && requesterOptions.headers ? requesterOptions.headers : {}),\r\n ...request.headers,\r\n },\r\n ...(url.port !== undefined ? { port: url.port || '' } : {}),\r\n };\r\n const req = (url.protocol === 'https:' ? https : http).request(options, response => {\r\n // eslint-disable-next-line functional/no-let\r\n let contentBuffers = [];\r\n response.on('data', chunk => {\r\n contentBuffers = contentBuffers.concat(chunk);\r\n });\r\n response.on('end', () => {\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(connectTimeout);\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(responseTimeout);\r\n resolve({\r\n status: response.statusCode || 0,\r\n content: Buffer.concat(contentBuffers).toString(),\r\n isTimedOut: false,\r\n });\r\n });\r\n });\r\n const createTimeout = (timeout, content) => {\r\n return setTimeout(() => {\r\n req.abort();\r\n resolve({\r\n status: 0,\r\n content,\r\n isTimedOut: true,\r\n });\r\n }, timeout * 1000);\r\n };\r\n const connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout');\r\n // eslint-disable-next-line functional/no-let\r\n let responseTimeout;\r\n req.on('error', error => {\r\n clearTimeout(connectTimeout);\r\n clearTimeout(responseTimeout);\r\n resolve({ status: 0, content: error.message, isTimedOut: false });\r\n });\r\n req.once('response', () => {\r\n clearTimeout(connectTimeout);\r\n responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout');\r\n });\r\n if (request.data !== undefined) {\r\n req.write(request.data);\r\n }\r\n req.end();\r\n });\r\n },\r\n destroy() {\r\n httpAgent.destroy();\r\n httpsAgent.destroy();\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createNodeHttpRequester };\n","'use strict';\n\nvar cacheCommon = require('@algolia/cache-common');\nvar cacheInMemory = require('@algolia/cache-in-memory');\nvar clientAnalytics = require('@algolia/client-analytics');\nvar clientCommon = require('@algolia/client-common');\nvar clientPersonalization = require('@algolia/client-personalization');\nvar clientSearch = require('@algolia/client-search');\nvar loggerCommon = require('@algolia/logger-common');\nvar requesterNodeHttp = require('@algolia/requester-node-http');\nvar transporter = require('@algolia/transporter');\n\nfunction algoliasearch(appId, apiKey, options) {\r\n const commonOptions = {\r\n appId,\r\n apiKey,\r\n timeouts: {\r\n connect: 2,\r\n read: 5,\r\n write: 30,\r\n },\r\n requester: requesterNodeHttp.createNodeHttpRequester(),\r\n logger: loggerCommon.createNullLogger(),\r\n responsesCache: cacheCommon.createNullCache(),\r\n requestsCache: cacheCommon.createNullCache(),\r\n hostsCache: cacheInMemory.createInMemoryCache(),\r\n userAgent: transporter.createUserAgent(clientCommon.version).add({\r\n segment: 'Node.js',\r\n version: process.versions.node,\r\n }),\r\n };\r\n const searchClientOptions = { ...commonOptions, ...options };\r\n const initPersonalization = () => (clientOptions) => {\r\n return clientPersonalization.createPersonalizationClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n getPersonalizationStrategy: clientPersonalization.getPersonalizationStrategy,\r\n setPersonalizationStrategy: clientPersonalization.setPersonalizationStrategy,\r\n },\r\n });\r\n };\r\n return clientSearch.createSearchClient({\r\n ...searchClientOptions,\r\n methods: {\r\n search: clientSearch.multipleQueries,\r\n searchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n multipleBatch: clientSearch.multipleBatch,\r\n multipleGetObjects: clientSearch.multipleGetObjects,\r\n multipleQueries: clientSearch.multipleQueries,\r\n copyIndex: clientSearch.copyIndex,\r\n copySettings: clientSearch.copySettings,\r\n copyRules: clientSearch.copyRules,\r\n copySynonyms: clientSearch.copySynonyms,\r\n moveIndex: clientSearch.moveIndex,\r\n listIndices: clientSearch.listIndices,\r\n getLogs: clientSearch.getLogs,\r\n listClusters: clientSearch.listClusters,\r\n multipleSearchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n getApiKey: clientSearch.getApiKey,\r\n addApiKey: clientSearch.addApiKey,\r\n listApiKeys: clientSearch.listApiKeys,\r\n updateApiKey: clientSearch.updateApiKey,\r\n deleteApiKey: clientSearch.deleteApiKey,\r\n restoreApiKey: clientSearch.restoreApiKey,\r\n assignUserID: clientSearch.assignUserID,\r\n assignUserIDs: clientSearch.assignUserIDs,\r\n getUserID: clientSearch.getUserID,\r\n searchUserIDs: clientSearch.searchUserIDs,\r\n listUserIDs: clientSearch.listUserIDs,\r\n getTopUserIDs: clientSearch.getTopUserIDs,\r\n removeUserID: clientSearch.removeUserID,\r\n hasPendingMappings: clientSearch.hasPendingMappings,\r\n generateSecuredApiKey: clientSearch.generateSecuredApiKey,\r\n getSecuredApiKeyRemainingValidity: clientSearch.getSecuredApiKeyRemainingValidity,\r\n destroy: clientCommon.destroy,\r\n clearDictionaryEntries: clientSearch.clearDictionaryEntries,\r\n deleteDictionaryEntries: clientSearch.deleteDictionaryEntries,\r\n getDictionarySettings: clientSearch.getDictionarySettings,\r\n getAppTask: clientSearch.getAppTask,\r\n replaceDictionaryEntries: clientSearch.replaceDictionaryEntries,\r\n saveDictionaryEntries: clientSearch.saveDictionaryEntries,\r\n searchDictionaryEntries: clientSearch.searchDictionaryEntries,\r\n setDictionarySettings: clientSearch.setDictionarySettings,\r\n waitAppTask: clientSearch.waitAppTask,\r\n customRequest: clientSearch.customRequest,\r\n initIndex: base => (indexName) => {\r\n return clientSearch.initIndex(base)(indexName, {\r\n methods: {\r\n batch: clientSearch.batch,\r\n delete: clientSearch.deleteIndex,\r\n findAnswers: clientSearch.findAnswers,\r\n getObject: clientSearch.getObject,\r\n getObjects: clientSearch.getObjects,\r\n saveObject: clientSearch.saveObject,\r\n saveObjects: clientSearch.saveObjects,\r\n search: clientSearch.search,\r\n searchForFacetValues: clientSearch.searchForFacetValues,\r\n waitTask: clientSearch.waitTask,\r\n setSettings: clientSearch.setSettings,\r\n getSettings: clientSearch.getSettings,\r\n partialUpdateObject: clientSearch.partialUpdateObject,\r\n partialUpdateObjects: clientSearch.partialUpdateObjects,\r\n deleteObject: clientSearch.deleteObject,\r\n deleteObjects: clientSearch.deleteObjects,\r\n deleteBy: clientSearch.deleteBy,\r\n clearObjects: clientSearch.clearObjects,\r\n browseObjects: clientSearch.browseObjects,\r\n getObjectPosition: clientSearch.getObjectPosition,\r\n findObject: clientSearch.findObject,\r\n exists: clientSearch.exists,\r\n saveSynonym: clientSearch.saveSynonym,\r\n saveSynonyms: clientSearch.saveSynonyms,\r\n getSynonym: clientSearch.getSynonym,\r\n searchSynonyms: clientSearch.searchSynonyms,\r\n browseSynonyms: clientSearch.browseSynonyms,\r\n deleteSynonym: clientSearch.deleteSynonym,\r\n clearSynonyms: clientSearch.clearSynonyms,\r\n replaceAllObjects: clientSearch.replaceAllObjects,\r\n replaceAllSynonyms: clientSearch.replaceAllSynonyms,\r\n searchRules: clientSearch.searchRules,\r\n getRule: clientSearch.getRule,\r\n deleteRule: clientSearch.deleteRule,\r\n saveRule: clientSearch.saveRule,\r\n saveRules: clientSearch.saveRules,\r\n replaceAllRules: clientSearch.replaceAllRules,\r\n browseRules: clientSearch.browseRules,\r\n clearRules: clientSearch.clearRules,\r\n },\r\n });\r\n },\r\n initAnalytics: () => (clientOptions) => {\r\n return clientAnalytics.createAnalyticsClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n addABTest: clientAnalytics.addABTest,\r\n getABTest: clientAnalytics.getABTest,\r\n getABTests: clientAnalytics.getABTests,\r\n stopABTest: clientAnalytics.stopABTest,\r\n deleteABTest: clientAnalytics.deleteABTest,\r\n },\r\n });\r\n },\r\n initPersonalization,\r\n initRecommendation: () => (clientOptions) => {\r\n searchClientOptions.logger.info('The `initRecommendation` method is deprecated. Use `initPersonalization` instead.');\r\n return initPersonalization()(clientOptions);\r\n },\r\n },\r\n });\r\n}\r\n// eslint-disable-next-line functional/immutable-data\r\nalgoliasearch.version = clientCommon.version;\n\nmodule.exports = algoliasearch;\n","/* eslint-disable functional/immutable-data, import/no-commonjs */\nconst algoliasearch = require('./dist/algoliasearch.cjs.js');\n\n/**\n * The Common JS build is the default entry point for the Node environment. Keep in\n * in mind, that for the browser environment, we hint the bundler to use the UMD\n * build instead as specified on the key `browser` of our `package.json` file.\n */\nmodule.exports = algoliasearch;\n\n/**\n * In addition, we also set explicitly the default export below making\n * this Common JS module in compliance with es6 modules specification.\n */\nmodule.exports.default = algoliasearch;\n","// eslint-disable-next-line functional/immutable-data, import/no-commonjs\nmodule.exports = require('./index');\n","import { Box } from '@vtex/brand-ui'\r\nimport { MDXRemote } from 'next-mdx-remote'\r\nimport { MarkdownRendererProps } from './MarkdownRenderer.types'\r\nimport components from './components'\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst MDXRemote2 = MDXRemote as any\r\n\r\nconst MarkdownRenderer = ({\r\n serialized,\r\n customComponents,\r\n scope,\r\n}: MarkdownRendererProps) => {\r\n if (components && scope) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default MarkdownRenderer\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { useContext, useEffect, useRef, useState } from 'react'\r\nimport { Box, Flex } from '@vtex/brand-ui'\r\nimport {\r\n ReactSVGPanZoom,\r\n UncontrolledReactSVGPanZoom,\r\n} from 'react-svg-pan-zoom'\r\nimport mermaid from 'mermaid'\r\nimport parse from 'html-react-parser'\r\nimport { InView } from 'react-intersection-observer'\r\n\r\nimport { CH } from '@code-hike/mdx/components'\r\nimport OverviewCard from 'components/overview-card'\r\nimport YoutubeFrame from 'components/youtube-frame'\r\nimport Steps from 'components/steps'\r\nimport LightBox from 'components/lightbox'\r\nimport WhatsNextCard from 'components/whats-next-card'\r\n\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { childrenToString, slugify } from 'utils/string-utils'\r\nimport mermaidInit from 'utils/mermaidInit'\r\n\r\nimport { Component, ObservableHeadingProps } from './MarkdownRenderer.types'\r\nimport styles from './styles.module.css'\r\nimport { messages } from 'utils/get-message'\r\n\r\nmermaidInit()\r\n\r\nconst ObservableHeading = ({\r\n level,\r\n onEnterView,\r\n onLeaveView,\r\n ...headingProps\r\n}: ObservableHeadingProps) => {\r\n const [y, setY] = useState(Infinity)\r\n const toSlugify = childrenToString(headingProps.children)\r\n const slug = slugify(toSlugify)\r\n return (\r\n {\r\n if (inView) onEnterView(slug)\r\n else onLeaveView(slug, entry, y)\r\n\r\n setY(entry.boundingClientRect.y)\r\n }}\r\n >\r\n {level === 2 ? (\r\n

\r\n ) : (\r\n

\r\n )}\r\n \r\n )\r\n}\r\n\r\nconst Callout = ({ node, icon, ...props }: Component) => {\r\n const blockquoteType: string = icon ? icon : 'info'\r\n return (\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nconst MermaidDiagram = ({ node, ...props }: Component) => {\r\n const viewerRef = useRef(null)\r\n const ref = useRef()\r\n\r\n const [diagram, setDiagram] = useState('')\r\n const [width, setWidth] = useState(0)\r\n const [height, setHeight] = useState(0)\r\n\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(() => {\r\n if (!ref.current) return\r\n setWidth(ref.current?.clientWidth ?? 0)\r\n setHeight(ref.current?.clientWidth / 2 ?? 0)\r\n })\r\n\r\n const mermaidRenderer = async function () {\r\n const { svg } = await mermaid.render('mermaid-id', props.children)\r\n setDiagram(\r\n svg.replace('id=\"mermaid-id\"', '').replaceAll('#mermaid-id', '')\r\n )\r\n }\r\n\r\n mermaidRenderer()\r\n if (ref.current) resizeObserver.observe(ref.current)\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n \r\n {parse(diagram)}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst ImageComponent = ({ node, ...props }: Component) => {\r\n const [srcHasError, setSrcHasError] = useState(false)\r\n const { locale } = useContext(LibraryContext)\r\n const regularImg = (\r\n // eslint-disable-next-line @next/next/no-img-element\r\n {props.alt} setSrcHasError(true)} />\r\n )\r\n const errorMessage = (\r\n
\r\n {messages[locale]['image.error_loading']} {props.src}\r\n
\r\n )\r\n\r\n let data: { base64: string; img: object } = { base64: '', img: {} }\r\n try {\r\n data = JSON.parse(props.alt)\r\n } catch (error) {\r\n console.log(`Error parsing`, error)\r\n return errorMessage\r\n }\r\n return !srcHasError ? {regularImg} : errorMessage\r\n}\r\n\r\nexport default {\r\n CH,\r\n OverviewCard,\r\n WhatsNextCard,\r\n YoutubeFrame,\r\n Steps,\r\n Flex: ({ node, ...props }: Component) => (\r\n \r\n ),\r\n table: ({ node, ...props }: Component) => ,\r\n td: ({ node, ...props }: Component) =>
,\r\n img: ImageComponent,\r\n text: ({ node, ...props }: Component) => {\r\n return \r\n },\r\n blockquote: ({ ...props }: Component) => {\r\n return \r\n },\r\n code: ({ node, ...props }: Component) => {\r\n return \r\n },\r\n pre: ({ ...props }: Component) => {\r\n if (props.className && props.className === 'mermaid')\r\n return \r\n\r\n return
\r\n  },\r\n  h2: ({ node, ...props }: Component) => {\r\n    const { activeItem, setActiveItem, goToPreviousItem } =\r\n      useContext(LibraryContext)\r\n\r\n    return (\r\n       {\r\n          setActiveItem(({ item, subItem }) => ({\r\n            item: slug,\r\n            subItem: item !== slug ? '' : subItem,\r\n          }))\r\n        }}\r\n        onLeaveView={(slug, entry, y) => {\r\n          if (entry.boundingClientRect.y > y && activeItem.item === slug) {\r\n            goToPreviousItem()\r\n          }\r\n        }}\r\n        {...props}\r\n      />\r\n    )\r\n  },\r\n  h3: ({ node, ...props }: Component) => {\r\n    const { activeItem, setActiveItem, goToPreviousSubItem } =\r\n      useContext(LibraryContext)\r\n\r\n    return (\r\n       {\r\n          setActiveItem(({ item }) => ({\r\n            item,\r\n            subItem: slug,\r\n          }))\r\n        }}\r\n        onLeaveView={(slug, entry, y) => {\r\n          if (entry.boundingClientRect.y > y && activeItem.subItem === slug) {\r\n            goToPreviousSubItem()\r\n          }\r\n        }}\r\n        {...props}\r\n      />\r\n    )\r\n  },\r\n}\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst overviewCard: SxStyleProp = {\r\n  alignItems: 'flex-start',\r\n  margin: '20px 0px',\r\n  border: '1px solid #E7E9EE',\r\n  borderRadius: '4px',\r\n  padding: '18px 24px 4px',\r\n  color: '#4A596B',\r\n  ':active, :hover': {\r\n    borderColor: 'muted.2',\r\n    boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n    transition: 'all 0.3 ease-out',\r\n    '*':{\r\n      color: '#000711',\r\n    }\r\n  },\r\n  ul: {\r\n    borderLeft: '1px rgb(202, 203, 204) solid',\r\n    fontSize: '0.9em',\r\n    mt: '0',\r\n    paddingLeft: '1.5em',\r\n    listStyleType: 'none',\r\n    display: 'block',\r\n    textDecoration: 'none',\r\n  },\r\n  'h3, h4': {\r\n    color: '#4A596B',\r\n    fontSize: '1.125em',\r\n    fontWeight: '400',\r\n    my: '0',\r\n  },\r\n}\r\n\r\nconst overviewIcon: SxStyleProp = {\r\n  marginRight: '1.25em',\r\n  marginTop: '0.375em',\r\n}\r\n\r\nexport default {\r\n  overviewCard,\r\n  overviewIcon,\r\n}\r\n","import styles from './styles'\r\nimport { Flex, Box } from '@vtex/brand-ui'\r\nimport * as Icons from './icons'\r\nimport { IconComponent } from 'utils/typings/types'\r\nimport Link from 'next/link.js'\r\n\r\ninterface IconsI {\r\n  name: string\r\n  Icon: IconComponent\r\n}\r\n\r\nconst IconsMap: IconsI[] = [\r\n  {\r\n    name: 'StorageUnit',\r\n    Icon: Icons.StorageUnit,\r\n  },\r\n  {\r\n    name: 'Board',\r\n    Icon: Icons.Board,\r\n  },\r\n  {\r\n    name: 'Integration',\r\n    Icon: Icons.Integration,\r\n  },\r\n  {\r\n    name: 'SearchList',\r\n    Icon: Icons.SearchList,\r\n  },\r\n  {\r\n    name: 'SearchDetails',\r\n    Icon: Icons.SearchDetails,\r\n  },\r\n  {\r\n    name: 'SwitchArrows',\r\n    Icon: Icons.SwitchArrows,\r\n  },\r\n  {\r\n    name: 'ChangeCart',\r\n    Icon: Icons.ChangeCart,\r\n  },\r\n  {\r\n    name: 'ToStore',\r\n    Icon: Icons.ToStore,\r\n  },\r\n  {\r\n    name: 'PaymentHand',\r\n    Icon: Icons.PaymentHand,\r\n  },\r\n  {\r\n    name: 'GlobeCart',\r\n    Icon: Icons.GlobeCart,\r\n  },\r\n  {\r\n    name: 'StoreCart',\r\n    Icon: Icons.StoreCart,\r\n  },\r\n  {\r\n    name: 'List',\r\n    Icon: Icons.List,\r\n  },\r\n  {\r\n    name: 'Blocks',\r\n    Icon: Icons.Blocks,\r\n  },\r\n  {\r\n    name: 'StoreData',\r\n    Icon: Icons.StoreData,\r\n  },\r\n  {\r\n    name: 'Cart',\r\n    Icon: Icons.Cart,\r\n  },\r\n  {\r\n    name: 'FileConfiguration',\r\n    Icon: Icons.FileConfiguration,\r\n  },\r\n  {\r\n    name: 'Platform',\r\n    Icon: Icons.Platform,\r\n  },\r\n  {\r\n    name: 'RestApis',\r\n    Icon: Icons.RestApis,\r\n  },\r\n  {\r\n    name: 'Catalog',\r\n    Icon: Icons.Catalog,\r\n  },\r\n  {\r\n    name: 'Orders',\r\n    Icon: Icons.Orders,\r\n  },\r\n  {\r\n    name: 'Checkout',\r\n    Icon: Icons.Checkout,\r\n  },\r\n  {\r\n    name: 'Payments',\r\n    Icon: Icons.Payments,\r\n  },\r\n  {\r\n    name: 'Promotions',\r\n    Icon: Icons.Promotions,\r\n  },\r\n  {\r\n    name: 'Pricing',\r\n    Icon: Icons.Pricing,\r\n  },\r\n  {\r\n    name: 'AccountManagement',\r\n    Icon: Icons.AccountManagement,\r\n  },\r\n  {\r\n    name: 'StoreSearch',\r\n    Icon: Icons.StoreSearch,\r\n  },\r\n  {\r\n    name: 'Subscriptions',\r\n    Icon: Icons.Subscriptions,\r\n  },\r\n  {\r\n    name: 'Fulfillment',\r\n    Icon: Icons.Fulfillment,\r\n  },\r\n]\r\n\r\nconst getIcon = (name: string) => {\r\n  return IconsMap.find((icon) => icon.name === name)?.Icon\r\n}\r\n\r\n//Interfaces\r\nexport interface OverviewCardProps {\r\n  icon: string\r\n  link: string\r\n  children: string\r\n}\r\n\r\nconst OverviewCard = ({ icon, link, children }: OverviewCardProps) => {\r\n  const Icon = getIcon(icon)\r\n  return (\r\n    \r\n      \r\n        {Icon && }\r\n        {children}\r\n      \r\n    \r\n  )\r\n}\r\n\r\nexport default OverviewCard\r\n","import React from 'react'\r\nimport type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst StorageUnit = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Board = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Composable = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Integration = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst SearchList = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst SwitchArrows = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst SearchDetails = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst List = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst StoreCart = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst GlobeCart = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst PaymentHand = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst ToStore = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\nconst ChangeCart = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst Blocks = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    \r\n      {' '}\r\n      {' '}\r\n      {' '}\r\n      {' '}\r\n      {' '}\r\n    \r\n  \r\n)\r\nconst StoreData = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\nconst FileConfiguration = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\nconst Cart = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst Platform = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst RestApis = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Catalog = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Orders = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Checkout = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Payments = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Promotions = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Pricing = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst AccountManagement = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst StoreSearch = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\nconst Subscriptions = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Fulfillment = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nexport {\r\n  StorageUnit,\r\n  Board,\r\n  Composable,\r\n  Integration,\r\n  SearchList,\r\n  SwitchArrows,\r\n  SearchDetails,\r\n  ChangeCart,\r\n  ToStore,\r\n  PaymentHand,\r\n  GlobeCart,\r\n  StoreCart,\r\n  List,\r\n  Blocks,\r\n  StoreData,\r\n  FileConfiguration,\r\n  Cart,\r\n  Platform,\r\n  RestApis,\r\n  Catalog,\r\n  Orders,\r\n  Checkout,\r\n  Payments,\r\n  Promotions,\r\n  Pricing,\r\n  AccountManagement,\r\n  StoreSearch,\r\n  Subscriptions,\r\n  Fulfillment,\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nexport interface IYoutubeFrame {\r\n  embedId: string\r\n}\r\nconst YoutubeFrame = ({ embedId }: IYoutubeFrame) => (\r\n  
\r\n \r\n
\r\n)\r\n\r\nYoutubeFrame.propTypes = {\r\n embedId: PropTypes.string.isRequired,\r\n}\r\n\r\nexport default YoutubeFrame\r\n","import React from 'react'\r\nimport { Box } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nexport interface StepsProps {\r\n children: string\r\n}\r\nconst Steps = ({ children }: StepsProps) => {\r\n return {children}\r\n}\r\nexport default Steps\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst steps: SxStyleProp = {\r\n ml: '4px',\r\n mt: '12px',\r\n mb: '27px',\r\n borderLeft: '1px solid #e5e7eb',\r\n pl: '25px',\r\n position: 'relative',\r\n '.heading': {\r\n counterIncrement: `step`,\r\n },\r\n '.heading:before': {\r\n content: `counter(step)`,\r\n position: 'absolute',\r\n border: '4px solid #ffffff',\r\n width: '2em',\r\n height: '2em',\r\n left: '-1.3em',\r\n color: '#a1a1aa',\r\n backgroundColor: '#f2f3f6',\r\n borderRadius: '9999px',\r\n fontSize: '1em',\r\n textAlign: 'center',\r\n lineHeight: '2.1em',\r\n boxSizing: 'content-box',\r\n },\r\n}\r\n\r\nexport default {\r\n steps,\r\n}\r\n","import React, { ReactElement, useEffect, useRef, useState } from 'react'\r\nimport { Box, Button, Flex } from '@vtex/brand-ui'\r\nimport CloseIcon from 'components/icons/close-icon'\r\nimport useClickOutside from 'utils/hooks/useClickOutside'\r\nimport styles from './styles'\r\n\r\ninterface Props {\r\n children: ReactElement\r\n}\r\n\r\nexport default function LightBox({ children }: Props) {\r\n const [isModalOpen, setIsModalOpen] = useState(false)\r\n const modalRef = useRef()\r\n\r\n useEffect(() => {\r\n if (isModalOpen) {\r\n const scrollTop = document.body.getBoundingClientRect().top\r\n document.body.style.top = `${scrollTop}px`\r\n document.body.classList.add('modal-open')\r\n } else {\r\n document.body.classList.remove('modal-open')\r\n document.body.style.removeProperty('top')\r\n }\r\n }, [isModalOpen])\r\n\r\n useClickOutside(modalRef, () => setIsModalOpen(false))\r\n\r\n return (\r\n
\r\n {isModalOpen && (\r\n \r\n }\r\n onClick={() => setIsModalOpen(false)}\r\n />\r\n \r\n {children}\r\n \r\n \r\n )}\r\n setIsModalOpen(true)}>\r\n {children}\r\n \r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CloseIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CloseIcon\r\n","import { useEffect, MutableRefObject, SetStateAction, Dispatch } from 'react'\r\n\r\nexport default function useClickOutside(\r\n ref: MutableRefObject,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n openModal: Dispatch>\r\n) {\r\n useEffect(() => {\r\n function handleClickOutside(event: MouseEvent) {\r\n const { body, documentElement } = document\r\n if (\r\n ref.current &&\r\n event.target instanceof Node &&\r\n !ref.current.contains(event.target)\r\n ) {\r\n openModal({ modalToggle: false })\r\n const scrollTop = body.getBoundingClientRect().top * -1\r\n body.classList.remove('modal-open')\r\n documentElement.scrollTop = scrollTop\r\n body.style.removeProperty('top')\r\n }\r\n }\r\n document.addEventListener('mousedown', handleClickOutside)\r\n return () => {\r\n document.removeEventListener('mousedown', handleClickOutside)\r\n }\r\n }, [])\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst imageContainer: SxStyleProp = {\r\n cursor: 'pointer',\r\n borderRadius: '5px',\r\n width: 'fit-content',\r\n mt: '16px',\r\n mb: '24px',\r\n transition: '0.3s',\r\n ':hover': {\r\n boxShadow: '2px 4px 8px 2px rgb(0 0 0 / 10%)',\r\n },\r\n\r\n '> img': {\r\n maxWidth: '100%',\r\n display: 'block',\r\n padding: '0',\r\n margin: '0',\r\n border: '1px solid #e7e9ed',\r\n borderRadius: '4px'\r\n },\r\n}\r\n\r\nconst container: SxStyleProp = {\r\n margin: '0',\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: 'rgba(0,0,0,0.9)',\r\n position: 'fixed',\r\n top: '0',\r\n left: '0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n zIndex: '10000',\r\n}\r\n\r\nconst modal: SxStyleProp = {\r\n display: 'inline-block',\r\n margin: 'auto',\r\n boxShadow: '2px 4px 16px rgb(0 0 0 / 30%)',\r\n position: 'relative',\r\n zIndex: '10001',\r\n padding: '0',\r\n\r\n '> img': {\r\n display: 'block',\r\n maxHeight: 'calc(100vh - 50px)',\r\n maxWidth: 'calc(100vw - 50px)',\r\n width: 'auto',\r\n margin: '0',\r\n padding: '0',\r\n },\r\n}\r\n\r\nconst closeButton: SxStyleProp = {\r\n position: 'absolute',\r\n zIndex: '10002',\r\n top: '10px',\r\n right: '10px',\r\n color: '#FEFEFE',\r\n\r\n ':hover': {\r\n color: 'rgb(100, 100, 100)',\r\n },\r\n}\r\n\r\nexport default {\r\n imageContainer,\r\n container,\r\n modal,\r\n closeButton,\r\n}\r\n","import React from 'react'\r\nimport { Box, Flex, IconCaret, Text, Link } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\nimport Image from 'next/image.js'\r\n\r\nexport type WhatsNextDataElement = {\r\n title: string\r\n description?: string\r\n linkTitle?: string\r\n linkTo: string\r\n image?: string\r\n}\r\n\r\nconst WhatsNextCard = ({\r\n title,\r\n description,\r\n linkTitle,\r\n linkTo,\r\n image,\r\n}: WhatsNextDataElement) => {\r\n return (\r\n \r\n {image ? (\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {title}\r\n \r\n {description && (\r\n \r\n {description}\r\n \r\n )}\r\n {linkTitle && (\r\n \r\n \r\n {linkTitle}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default WhatsNextCard\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n mt: '16px',\r\n borderRadius: '4px',\r\n border: '1px solid #E7E9EE',\r\n width: ['100%', '49%'],\r\n transition: 'all 0.3s ease-out',\r\n ':hover': {\r\n cursor: 'pointer',\r\n },\r\n ':active, :hover': {\r\n borderColor: 'muted.2',\r\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n transition: 'all 0.3 ease-out',\r\n '.title, .description': {\r\n transition: 'all 0.3s ease-out',\r\n color: '#000711',\r\n },\r\n '.link, .caret': {\r\n transition: 'all 0.3s ease-out',\r\n color: 'muted.0',\r\n },\r\n },\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n mb: '8px',\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n lineHeight: ['22px', '18px'],\r\n color: 'muted.0',\r\n}\r\n\r\nconst imageTitle: SxStyleProp = {\r\n padding: '16px',\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n color: 'muted.0',\r\n ':after': {\r\n content: `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='rgb(74 89 108)' %3E%3Cpath fill-rule='evenodd' d='M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z' clip-rule='evenodd' /%3E%3C/svg%3E\")`,\r\n position: 'absolute',\r\n height: '16px',\r\n width: '16px',\r\n marginLeft: '3px',\r\n lineHeight: '30px',\r\n },\r\n}\r\n\r\nconst description: SxStyleProp = {\r\n fontSize: '14px',\r\n fontWeight: '400',\r\n lineHeight: '20px',\r\n color: 'muted.0',\r\n}\r\n\r\nconst linkContainer: SxStyleProp = {\r\n mt: '8px',\r\n alignItems: 'center',\r\n}\r\n\r\nconst link: SxStyleProp = {\r\n ...description,\r\n color: 'muted.1',\r\n}\r\n\r\nexport default {\r\n container,\r\n title,\r\n imageTitle,\r\n description,\r\n linkContainer,\r\n link,\r\n}","import type { Dispatch, ReactNode, SetStateAction } from 'react'\r\nimport { createContext, useEffect, useState } from 'react'\r\nimport { Item } from 'lib/table-of-contents/TableOfContents.types'\r\nimport { Section } from 'utils/typings/types'\r\nimport { SWRConfig } from 'swr'\r\n\r\ninterface Props extends Partial {\r\n children: ReactNode\r\n /** The navigation array containing the list of documentations shown in the sidebar. */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n fallback?: any\r\n /** Documentation sections, the same sections that divide the fallback. */\r\n sections: Section[][]\r\n /** Whether is a branch preview or not. */\r\n isPreview: boolean\r\n /** The section currently selected. */\r\n sectionSelected: string\r\n /** The sections to be used on the hamburguer menu */\r\n hamburguerMenuSections: Section[][]\r\n /** The portal language. The default is english. */\r\n locale?: 'en' | 'pt' | 'es'\r\n}\r\n\r\nexport type ContextType = {\r\n headingItems: Item[]\r\n setHeadingItems: Dispatch>\r\n activeItem: ActiveItem\r\n setActiveItem: Dispatch>\r\n goToPreviousItem: () => void\r\n goToPreviousSubItem: () => void\r\n isEditorPreview: boolean\r\n sidebarSectionHidden: boolean\r\n activeSectionName: string\r\n activeSidebarElement: string\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sidebarDataMaster: any\r\n sidebarElementStatus: Map\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setSidebarDataMaster: Dispatch>\r\n setIsEditorPreview: Dispatch>\r\n setSidebarSectionHidden: Dispatch>\r\n setActiveSectionName: Dispatch>\r\n setActiveSidebarElement: Dispatch>\r\n toggleSidebarElementStatus: (title: string) => void\r\n openSidebarElement: (title: string) => void\r\n closeSidebarElements: (parentsArray: string[]) => void\r\n sidebarSections: Section[][]\r\n setSidebarSections: Dispatch>\r\n hamburguerSections: Section[][]\r\n setHamburguerSections: Dispatch>\r\n locale: 'en' | 'pt' | 'es'\r\n}\r\n\r\ntype ActiveItem = {\r\n item: string\r\n subItem: string\r\n}\r\n\r\nexport const LibraryContext = createContext({\r\n headingItems: [],\r\n setHeadingItems: () => undefined,\r\n activeItem: {\r\n item: '',\r\n subItem: '',\r\n },\r\n setActiveItem: () => undefined,\r\n goToPreviousItem: () => undefined,\r\n goToPreviousSubItem: () => undefined,\r\n isEditorPreview: false,\r\n sidebarSectionHidden: false,\r\n activeSectionName: '',\r\n activeSidebarElement: '',\r\n sidebarDataMaster: {},\r\n setIsEditorPreview: () => undefined,\r\n sidebarElementStatus: new Map(),\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n setSidebarDataMaster: (_: any) => undefined,\r\n setSidebarSectionHidden: () => undefined,\r\n setActiveSectionName: () => undefined,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n setActiveSidebarElement: (_: any) => undefined,\r\n toggleSidebarElementStatus: () => undefined,\r\n openSidebarElement: () => undefined,\r\n closeSidebarElements: () => undefined,\r\n sidebarSections: [],\r\n setSidebarSections: () => undefined,\r\n hamburguerSections: [],\r\n setHamburguerSections: () => undefined,\r\n locale: 'en',\r\n})\r\n\r\n/** Provider for the LibraryContext created with React.createContext. The context is used in the following components: feedback, search, sidebar, hamburger menu, markdown renderer and table of contents. */\r\nconst LibraryContextProvider = ({ children, ...props }: Props) => {\r\n const [headingItems, setHeadingItems] = useState([])\r\n const [activeItem, setActiveItem] = useState({\r\n item: '',\r\n subItem: '',\r\n })\r\n\r\n const [activeSectionName, setActiveSectionName] = useState(\r\n props.sectionSelected\r\n )\r\n const [sidebarSectionHidden, setSidebarSectionHidden] = useState(false)\r\n const [activeSidebarElement, setActiveSidebarElement] = useState('')\r\n const [sidebarElementStatus, setSidebarElementStatus] = useState(new Map())\r\n const [sidebarDataMaster, setSidebarDataMaster] = useState(props.fallback)\r\n const [isEditorPreview, setIsEditorPreview] = useState(props.isPreview)\r\n const [sidebarSections, setSidebarSections] = useState(props.sections)\r\n const [hamburguerSections, setHamburguerSections] = useState(\r\n props.hamburguerMenuSections\r\n )\r\n const locale = 'en'\r\n\r\n useEffect(() => {\r\n setSidebarDataMaster(props.fallback)\r\n }, [props.fallback])\r\n\r\n useEffect(() => {\r\n if (props.sectionSelected === '') setSidebarSectionHidden(true)\r\n else if (props.sectionSelected !== activeSectionName)\r\n setActiveSectionName(props.sectionSelected)\r\n }, [props.sectionSelected])\r\n\r\n const { fallback } = props\r\n\r\n const toggleSidebarElementStatus = (title: string) => {\r\n setSidebarElementStatus((sidebarElementStatus) => {\r\n const open =\r\n sidebarElementStatus.has(title) === false\r\n ? true\r\n : !sidebarElementStatus.get(title)\r\n\r\n return new Map(sidebarElementStatus.set(title, open))\r\n })\r\n }\r\n\r\n const closeSidebarElements = (parentsArray: string[]) => {\r\n sidebarElementStatus.forEach((_value, key) => {\r\n if (!parentsArray.includes(key)) {\r\n setSidebarElementStatus((sidebarElementStatus) => {\r\n return new Map(sidebarElementStatus.set(key, false))\r\n })\r\n }\r\n })\r\n }\r\n\r\n const openSidebarElement = (title: string) => {\r\n setSidebarElementStatus((sidebarElementStatus) => {\r\n return new Map(sidebarElementStatus.set(title, true))\r\n })\r\n }\r\n\r\n const goToPreviousItem = () => {\r\n setActiveItem(({ item, subItem }) => {\r\n const index = headingItems.findIndex((heading) => heading.slug === item)\r\n if (index === -1) return { item, subItem }\r\n\r\n const previousItem = !index ? '' : headingItems[index - 1].slug\r\n const previousChildren = !index ? [] : headingItems[index - 1].children\r\n const previousSubItem = !previousChildren.length\r\n ? ''\r\n : previousChildren.slice(-1)[0].slug\r\n\r\n return {\r\n item: previousItem,\r\n subItem: previousSubItem,\r\n }\r\n })\r\n }\r\n\r\n const goToPreviousSubItem = () => {\r\n setActiveItem(({ item, subItem }) => {\r\n const heading = headingItems.find((heading) => heading.slug === item)\r\n const index = heading?.children.findIndex(\r\n (child) => child.slug === subItem\r\n )\r\n\r\n if (!heading || index === -1) return { item, subItem }\r\n\r\n return {\r\n item,\r\n subItem: !index ? '' : heading.children[index - 1].slug,\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default LibraryContextProvider\r\n","export const removeHTML = (str: string) => str.replace(/<\\/?[^>]+>/g, '')\r\n\r\nexport const capitalizeFirstLetter = (str: string) => {\r\n return str.charAt(0).toUpperCase() + str.slice(1)\r\n}\r\n\r\nexport const toCamelCase = (str: string) => {\r\n const [firstWord, ...otherWords] = str.split('-')\r\n return `${firstWord}${otherWords.map(capitalizeFirstLetter).join('')}`\r\n}\r\n\r\nexport const slugify = (str: string) => {\r\n return str\r\n .normalize('NFD') // Decomposes diacritics (e.g., \"é\" → \"é\")\r\n .replace(/[\\u0300-\\u036f]/g, '') // Removes diacritic marks\r\n .toLowerCase()\r\n .replace(/[^\\w\\s-]/g, '') // Removes non-word characters except spaces and hyphens\r\n .replace(/\\s+/g, '-') // Replaces spaces with hyphens\r\n .replace(/-+/g, '-') // Removes multiple consecutive hyphens\r\n .trim() // Trims leading/trailing spaces\r\n}\r\n\r\ntype Child = string | { props: { children: Child[] } }\r\n\r\nexport const childrenToString: (children: Child[]) => string = (children) => {\r\n if (!children) return ''\r\n else if (Array.isArray(children))\r\n return children\r\n .map((child) => {\r\n if (typeof child === 'string') return child\r\n return childrenToString(child.props.children)\r\n })\r\n .join('')\r\n else {\r\n if (typeof children === 'string') return children\r\n return childrenToString(children['props']['children'])\r\n }\r\n}\r\n\r\nexport const matrixToMarkdownTable: (matrix: string[][]) => string = (\r\n matrix\r\n) => {\r\n const matrixRowToMarkdownTableRow = (matrixRow: string[]) =>\r\n `|${matrixRow\r\n .map((matrixElement) => ` ${matrixElement.replace(/\\n/g, '
')} |`)\r\n .join('')}`\r\n\r\n let table = matrixRowToMarkdownTableRow(matrix[0]) + '\\n|'\r\n for (let i = 0; i < matrix[0].length; i++) table += ' --- |'\r\n\r\n table += '\\n'\r\n for (let i = 1; i < matrix.length; i++)\r\n table += matrixRowToMarkdownTableRow(matrix[i]) + '\\n'\r\n\r\n return table\r\n}\r\n","import mermaid from 'mermaid'\r\n\r\nconst mermaidInit = () => {\r\n mermaid.initialize({\r\n theme: 'base',\r\n themeVariables: {\r\n primaryColor: '#FFFFFF',\r\n primaryTextColor: '#142032',\r\n primaryBorderColor: '#A1AAB7',\r\n labelBoxBorderColor: '#E31C58',\r\n labelTextColor: '#E31C58',\r\n labelBoxBkgColor: '#FFF3F6',\r\n lineColor: '#A1AAB7',\r\n mainBkg: '#F8F7FC',\r\n },\r\n })\r\n}\r\n\r\nexport default mermaidInit\r\n",".img {\r\n max-width: 100%;\r\n padding-top: 2vh;\r\n border-radius: 4px;\r\n}\r\n\r\n.heading::before {\r\n content: '';\r\n display: block;\r\n visibility: hidden;\r\n pointer-events: none;\r\n}\r\n\r\n.code {\r\n background-color: #f6f8fa;\r\n background-color: var(--md-code-background, #f6f8fa);\r\n border-radius: 4px;\r\n color: var(--md-code-text);\r\n margin: 0;\r\n padding: 0.2em 0.4em;\r\n font-size: 0.875em;\r\n word-break: break-all;\r\n}\r\n\r\ntable .code {\r\n word-break: normal;\r\n}\r\n\r\n.blockquote {\r\n display: grid;\r\n padding: 20px;\r\n gap: 20px;\r\n width: 100%;\r\n margin: 16px 0px 24px;\r\n border-radius: 4px;\r\n align-items: center;\r\n border: 1px solid #ccced8;\r\n grid-template-columns: 20px 1fr;\r\n grid-template-rows: 1fr;\r\n word-break: break-word;\r\n}\r\n\r\n.blockquote a {\r\n word-break: break-all;\r\n}\r\n\r\n.blockquote p, .blockquote div{\r\n margin: 0px;\r\n grid-column: 2 / -1;\r\n grid-row: 1 / 1;\r\n}\r\n\r\n.blockquote a{\r\n color: #e31c58 !important;\r\n -webkit-text-decoration: underline 1px solid;\r\n text-decoration: underline 1px solid;\r\n}\r\n\r\n.blockquote a:hover{\r\n color: #c81e51;\r\n}\r\n\r\n.blockquoteInfo {\r\n background: #f8f7fc;\r\n border: 1px solid #ccced8;\r\n}\r\n\r\n.blockquoteInfo:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteDanger {\r\n background: #fdefef;\r\n border: 1px solid #dc5a41;\r\n}\r\n\r\n.blockquoteDanger:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteWarning {\r\n background: #fff2d4;\r\n border: 1px solid #ffb100;\r\n}\r\n\r\n.blockquoteWarning code {\r\n background-color: #ffe5b5;\r\n}\r\n\r\n.blockquoteInfo code {\r\n background-color: #ecebf3;\r\n}\r\n\r\n.blockquoteWarning:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteSuccess {\r\n background: #f3f8f3;\r\n border: 1px solid #80be80;\r\n}\r\n\r\n.blockquoteSuccess:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.flexWrap {\r\n flex-wrap: wrap;\r\n justify-content: space-between;\r\n}\r\n\r\n.svgContainer {\r\n width: 100%;\r\n}","{\r\n \"feedback_section.question\": \"Was this helpful?\",\r\n \"feedback_section.response\": \"Thanks for the feedback!\",\r\n \"feedback_section.positive\": \"Yes\",\r\n \"feedback_section.negative\": \"No\",\r\n \"feedback_section.edit\": \"Suggest Edits (GitHub)\",\r\n \"feedback_modal.title\": \"Leave a Comment (Optional)\",\r\n \"feedback_modal.button\": \"Send Feedback\",\r\n \"search_input.empty\": \"No results found. Try different search terms.\",\r\n \"search_input.placeholder\": \"Search\",\r\n \"search_results.showing\": \"Showing\",\r\n \"search_results.results_for\": \"results for\",\r\n \"search_results.in\": \"in\",\r\n \"search_results.all_lowercase\": \"all results\",\r\n \"sidebar_search.placeholder\": \"Search in\",\r\n \"search_input.see_all\": \"See all results\",\r\n \"search_results.summary\": \"Showing {count} results for \\\"{keyword}\\\" in {section}\",\r\n \"search_results.all\": \"All results\",\r\n \"search_card.in\": \"In\",\r\n \"image.error_loading\": \"An error occurred while loading the image\",\r\n \"api_reference_sidebar_filter_clear\": \"Clear All\",\r\n \"api_reference_sidebar_filter\": \"Filter By\",\r\n \"cookie_bar.title\": \"We use cookies\",\r\n \"cookie_bar.description\": \"This website uses cookies to improve navigation, analyze usage, and assist with our marketing efforts.\",\r\n \"cookie_bar.accept\": \"I agree\",\r\n \"cookie_bar.decline\": \"I decline\"\r\n}\r\n","{\r\n \"feedback_section.question\": \"¿Te ha parecido útil?\",\r\n \"feedback_section.response\": \"Gracias por tu feedback\",\r\n \"feedback_section.positive\": \"Sí\",\r\n \"feedback_section.negative\": \"No\",\r\n \"feedback_section.edit\": \"Sugerir cambios (GitHub)\",\r\n \"feedback_modal.title\": \"Dar feedback (opcional)\",\r\n \"feedback_modal.button\": \"Enviar feedback\",\r\n \"search_input.empty\": \"No se encontraron resultados. Intenta utilizar otros términos.\",\r\n \"search_input.placeholder\": \"Buscar\",\r\n \"sidebar_search.placeholder\": \"Buscar en\",\r\n \"search_results.showing\": \"Mostrando\",\r\n \"search_results.results_for\": \"resultados para\",\r\n \"search_results.in\": \"en\",\r\n \"search_results.all_lowercase\": \"todos los resultados\",\r\n \"search_input.see_all\": \"Ver todos los resultados\",\r\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" en {section}\",\r\n \"search_results.all\": \"Todos los resultados\",\r\n \"search_card.in\": \"En\",\r\n \"image.error_loading\": \"Se produjo un error al cargar la imagen\",\r\n \"api_reference_sidebar_filter_clear\": \"Limpiar todo\",\r\n \"api_reference_sidebar_filter\": \"Filtrar por\",\r\n \"cookie_bar.title\": \"Utilizamos cookies\",\r\n \"cookie_bar.description\": \"Este sitio web utiliza cookies para optimizar la navegación, analizar el uso e impulsar nuestros esfuerzos de marketing.\",\r\n \"cookie_bar.accept\": \"Acepto\",\r\n \"cookie_bar.decline\": \"Rechazo\"\r\n}\r\n","{\r\n \"feedback_section.question\": \"Isso foi útil?\",\r\n \"feedback_section.response\": \"Agradecemos pelo seu feedback.\",\r\n \"feedback_section.positive\": \"Sim\",\r\n \"feedback_section.negative\": \"Não\",\r\n \"feedback_section.edit\": \"Sugerir edições (GitHub)\",\r\n \"feedback_modal.title\": \"Deixe um comentário (opcional)\",\r\n \"feedback_modal.button\": \"Enviar feedback\",\r\n \"search_input.empty\": \"Nenhum resultado encontrado. Tente buscar por outros termos.\",\r\n \"search_input.placeholder\": \"Buscar\",\r\n \"sidebar_search.placeholder\": \"Buscar em\",\r\n \"search_results.showing\": \"Mostrando\",\r\n \"search_results.results_for\": \"resultados para\",\r\n \"search_results.in\": \"em\",\r\n \"search_results.all_lowercase\": \"todos os resultados\",\r\n \"search_input.see_all\": \"Ver todos os resultados\",\r\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" em {section}\",\r\n \"search_results.all\": \"Todos os resultados\",\r\n \"search_card.in\": \"Em\",\r\n \"image.error_loading\": \"Ocorreu um erro ao carregar a imagem\",\r\n \"api_reference_sidebar_filter_clear\": \"Limpar tudo\",\r\n \"api_reference_sidebar_filter\": \"Filtrar por\",\r\n \"cookie_bar.title\": \"Nós usamos cookies\",\r\n \"cookie_bar.description\": \"Este site utiliza cookies para melhorar a navegação, analisar a experiência de uso e auxiliar em nossas ações de marketing.\",\r\n \"cookie_bar.accept\": \"Concordo\",\r\n \"cookie_bar.decline\": \"Discordo\"\r\n}","import enMessages from '../messages/en.json'\r\nimport esMessages from '../messages/es.json'\r\nimport ptMessages from '../messages/pt.json'\r\nimport { MessagesType } from './typings/messages-types'\r\n\r\nconst getMessages = (): {\r\n en: MessagesType\r\n es: MessagesType\r\n pt: MessagesType\r\n} => {\r\n const messages = {\r\n en: enMessages,\r\n es: esMessages,\r\n pt: ptMessages,\r\n }\r\n\r\n return messages\r\n}\r\n\r\nexport const messages = getMessages()\r\n","import { useContext, useEffect } from 'react'\r\nimport Link from 'next/link.js'\r\nimport { useRouter } from 'next/router.js'\r\nimport { Box, Text } from '@vtex/brand-ui'\r\nimport AnimateHeight from 'react-animate-height'\r\n\r\nimport { removeHTML } from 'utils/string-utils'\r\nimport { Item } from './TableOfContents.types'\r\n\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nimport styles from './styles'\r\n\r\ninterface Props {\r\n /** List of headings in the current documentation page */\r\n headingList?: Item[]\r\n children?: React.ReactNode\r\n}\r\n\r\n/** Table of contents for documentation pages. */\r\nconst TableOfContents = ({ headingList, children }: Props) => {\r\n const router = useRouter()\r\n const { headingItems, activeItem, setHeadingItems, setActiveItem } =\r\n useContext(LibraryContext)\r\n\r\n useEffect(() => {\r\n const headings: Item[] = headingList ?? []\r\n if (!headings.length) {\r\n document.querySelectorAll('h2, h3').forEach((heading) => {\r\n const headingSlug = heading.id\r\n const item = {\r\n title: removeHTML(heading.innerHTML).replace(':', ''),\r\n slug: headingSlug,\r\n }\r\n\r\n if (heading.tagName === 'H2') {\r\n headings.push({ ...item, children: [] })\r\n } else if (headings.length > 0) {\r\n headings[headings.length - 1].children.push({ ...item })\r\n } else {\r\n headings.push({ ...item, children: [] })\r\n }\r\n })\r\n setHeadingItems(headings)\r\n } else setHeadingItems(headings)\r\n }, [router.asPath, headingList])\r\n\r\n const Item = ({\r\n title,\r\n slug,\r\n level,\r\n active,\r\n }: {\r\n title: string\r\n slug: string\r\n level: number\r\n active: boolean\r\n }) => {\r\n return (\r\n {\r\n setActiveItem(({ item }) => ({\r\n item: level === 1 ? slug : item,\r\n subItem: level === 1 ? '' : slug,\r\n }))\r\n }}\r\n >\r\n {title}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {headingItems.length > 0 && (\r\n ON THIS PAGE\r\n )}\r\n \r\n {headingItems.map((item) => (\r\n \r\n \r\n \r\n \r\n {item.children.map((subItem) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n ))}\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default TableOfContents\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst itemsContainer: SxStyleProp = {\r\n position: 'sticky',\r\n top: 'calc(5rem + 32px)',\r\n}\r\n\r\nconst tocTitle: SxStyleProp = {\r\n fontSize: '10px',\r\n fontWeight: '600',\r\n textTransform: 'uppercase',\r\n mb: '6px',\r\n color: 'muted.0',\r\n}\r\n\r\nconst headings: SxStyleProp = {\r\n borderLeft: '1px solid #E7E9EE',\r\n mb: '16px',\r\n}\r\n\r\nconst item: (level: number, active: boolean) => SxStyleProp = (\r\n level,\r\n active\r\n) => {\r\n const defaultLineHeight = `${level === 1 ? 18 : 22}px`\r\n return {\r\n ml: '-1px',\r\n pl: `${level * 8}px`,\r\n py: ['6px', '6px', '6px', '6px', '4px', '4px'],\r\n borderLeft: `1px solid ${active && level === 1 ? '#E31C58' : '#E7E9EE'}`,\r\n fontSize: ['16px', '16px', '16px', '16px', '12px', '16px'],\r\n lineHeight: [\r\n defaultLineHeight,\r\n defaultLineHeight,\r\n defaultLineHeight,\r\n defaultLineHeight,\r\n `${level === 1 ? 16 : 18}px`,\r\n defaultLineHeight,\r\n ],\r\n fontWeight: `${active ? '600' : '400'}`,\r\n color: `${active ? '#0C1522' : 'muted.0'}`,\r\n\r\n ':hover': {\r\n color: '#000711',\r\n },\r\n }\r\n}\r\n\r\nconst subItemsContainer: SxStyleProp = {\r\n ml: '16px',\r\n borderLeft: '1px solid #E7E9EE',\r\n}\r\n\r\nexport default { tocTitle, itemsContainer, item, subItemsContainer, headings }\r\n","import { useEffect, useRef, useState, useContext } from 'react'\r\nimport { Flex, Text, Box } from '@vtex/brand-ui'\r\nimport Link from 'next/link.js'\r\n\r\nimport styles from './styles'\r\nimport { iconTooltipStyle } from './functions'\r\n\r\nimport { Section } from 'utils/typings/types'\r\nimport Tooltip from 'components/tooltip'\r\nimport { updateOpenPage } from 'utils/sidebar-utils'\r\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport interface SideBarSectionState {\r\n /** Array containing the name of the parents of the expanded page in the menu. */\r\n parentsArray?: string[]\r\n}\r\n\r\n/**\r\n * Sidebar component.\r\n */\r\nconst Sidebar = ({ parentsArray = [] }: SideBarSectionState) => {\r\n const [expandDelayStatus, setExpandDelayStatus] = useState(true)\r\n\r\n const context = useContext(LibraryContext)\r\n const {\r\n isEditorPreview,\r\n setActiveSectionName,\r\n activeSectionName,\r\n sidebarSections,\r\n sidebarDataMaster,\r\n } = context\r\n\r\n const sidebarSectionContent = {\r\n ...(Array.isArray(sidebarDataMaster)\r\n ? sidebarDataMaster?.find(\r\n (section: SidebarSectionProps) =>\r\n section.documentation === activeSectionName\r\n )\r\n : null),\r\n }\r\n\r\n updateOpenPage({\r\n parentsArray,\r\n context,\r\n })\r\n\r\n useEffect(() => {\r\n let timer: NodeJS.Timeout | undefined = undefined\r\n if (sidebarSectionContent.categories?.length > 0)\r\n timer = setTimeout(\r\n () => setExpandDelayStatus && setExpandDelayStatus(false),\r\n 5000\r\n )\r\n else setExpandDelayStatus && setExpandDelayStatus(true)\r\n\r\n return () => {\r\n timer && clearTimeout(timer)\r\n }\r\n }, [activeSectionName])\r\n\r\n const SideBarIcon = (sectionElement: Section) => {\r\n const [iconTooltip, setIconTooltip] = useState(false)\r\n const [tooltipLabel, setTooltipLabel] = useState(sectionElement.title)\r\n const titleRef = useRef()\r\n\r\n useEffect(() => {\r\n const resizeObserver = new MutationObserver(function (entries) {\r\n const target = entries[0].target as HTMLElement\r\n if (target.offsetWidth < target.scrollWidth) setIconTooltip(true)\r\n else setIconTooltip(false)\r\n\r\n if (target.offsetWidth > 0) setTooltipLabel(target.innerText)\r\n })\r\n if (titleRef.current) {\r\n if (titleRef.current.offsetWidth < titleRef.current.scrollWidth)\r\n setIconTooltip(true)\r\n resizeObserver.observe(titleRef.current, {\r\n childList: true,\r\n })\r\n }\r\n return () => {\r\n resizeObserver.disconnect\r\n }\r\n }, [titleRef.current])\r\n\r\n return (\r\n \r\n \r\n {\r\n if (isEditorPreview) {\r\n e.preventDefault()\r\n }\r\n setActiveSectionName(sectionElement.id)\r\n }}\r\n passHref\r\n aria-label={sectionElement.title}\r\n >\r\n \r\n \r\n \r\n {sectionElement.title}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {sidebarSections.map((section, id) => {\r\n return (\r\n <>\r\n {id > 0 && (\r\n \r\n
\r\n
\r\n )}\r\n \r\n {section.map((element) => (\r\n \r\n ))}\r\n \r\n \r\n )\r\n })}\r\n
\r\n {activeSectionName ? : null}\r\n \r\n )\r\n}\r\n\r\nexport default Sidebar\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst sidebar: SxStyleProp = {\r\n display: [\r\n 'none !important',\r\n 'none !important',\r\n 'none !important',\r\n 'flex !important',\r\n ],\r\n position: 'sticky',\r\n left: '0',\r\n top: '5rem',\r\n flex: '1 0 auto',\r\n height: 'calc(100vh - 5rem)',\r\n width: 'auto',\r\n minWidth: 'auto',\r\n transition: 'all 0.3s ease-in-out',\r\n '.active': {\r\n marginLeft: '-276px',\r\n transition: 'all 0.3s ease-in-out',\r\n },\r\n '.iconContainerExpanded': {\r\n transition: 'all 0.3s ease-in-out',\r\n width: '160px',\r\n },\r\n '.iconDescriptionExpanded': {\r\n display: 'block',\r\n },\r\n}\r\n\r\nconst sidebarIcons: SxStyleProp = {\r\n width: ['56px', '56px', '56px', '56px', '160px', '160px'],\r\n minWidth: 'max-content',\r\n transition: 'all 0.3s ease-in-out',\r\n flexDirection: 'column',\r\n borderRight: '1px solid #E7E9EE',\r\n background: '#FFFFFF',\r\n zIndex: '2',\r\n paddingBottom: '32px',\r\n}\r\n\r\nconst linkContainer: SxStyleProp = {\r\n minWidth: '100%',\r\n}\r\n\r\nconst iconBox: SxStyleProp = {\r\n mt: ['16px'],\r\n width: '100%',\r\n maxWidth: '144px',\r\n paddingLeft: ['0', '0', '0', '8px'],\r\n paddingRight: ['0', '0', '0', '8px', '0', '0'],\r\n py: ['0', '0', '0', '8px', '10px', '10px'],\r\n height: '40px',\r\n borderRadius: '4px',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n background: 'transparent',\r\n color: 'muted.0',\r\n cursor: 'pointer',\r\n ':hover': {\r\n background: '#F8F7FC',\r\n color: '#000711',\r\n path: {\r\n stroke: [\r\n '#000711',\r\n '#000711',\r\n '#000711',\r\n '#000711',\r\n '#4A596B',\r\n '#4A596B',\r\n ],\r\n },\r\n },\r\n}\r\n\r\nconst iconBoxActive: SxStyleProp = {\r\n ...iconBox,\r\n background: ['#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', 'none'],\r\n color: '#E31C58',\r\n}\r\n\r\nconst sidebarIconsContainer: SxStyleProp = {\r\n width: '100%',\r\n flexDirection: 'column',\r\n alignItems: 'flex-start',\r\n px: ['0', '0', '0', '8px'],\r\n}\r\n\r\nconst icon: SxStyleProp = {\r\n width: ['24px'],\r\n height: ['24px'],\r\n}\r\n\r\nconst iconActive: SxStyleProp = {\r\n ...icon,\r\n '> path': {\r\n stroke: '#E31C58',\r\n },\r\n}\r\n\r\nconst sectionDivider: SxStyleProp = {\r\n px: '8px',\r\n marginTop: '16px',\r\n hr: {\r\n border: '1px solid #E7E9EE',\r\n borderTop: 'none',\r\n },\r\n}\r\n\r\nconst iconTitle: SxStyleProp = {\r\n display: ['none', 'none', 'none', 'none', 'block', 'block'],\r\n width: '100%',\r\n fontSize: '14px',\r\n ml: ['8px', '8px', '8px', '8px', '12px', '12px'],\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst iconTooltip: SxStyleProp = {\r\n display: [\r\n 'flex !important',\r\n 'flex !important',\r\n 'flex !important',\r\n 'flex !important',\r\n 'none !important',\r\n 'none !important',\r\n ],\r\n}\r\n\r\nexport default {\r\n sidebar,\r\n sidebarIcons,\r\n sidebarIconsContainer,\r\n linkContainer,\r\n iconBox,\r\n icon,\r\n iconActive,\r\n iconBoxActive,\r\n sectionDivider,\r\n iconTitle,\r\n iconTooltip,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nexport const iconTooltipStyle: SxStyleProp = (tooltipState: boolean) => {\r\n const iconTooltip: SxStyleProp = {\r\n display: [\r\n 'flex',\r\n 'flex',\r\n 'flex',\r\n 'flex',\r\n 'flex',\r\n tooltipState ? 'flex' : 'none !important',\r\n ],\r\n }\r\n return iconTooltip\r\n}\r\n","import { useEffect, useRef, useState } from 'react'\r\nimport { Box, Flex, TooltipProps, SxStyleProp } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport CaretIcon from 'components/icons/caret'\r\ninterface Props extends Pick {\r\n sx?: SxStyleProp\r\n isCard?: boolean\r\n}\r\n\r\nconst Tooltip = ({ children, label, placement, sx, isCard }: Props) => {\r\n const box = useRef()\r\n const [boxWidth, setBoxWidth] = useState(0)\r\n const [boxHeight, setBoxHeight] = useState(0)\r\n const [boxOffsetLeft, setBoxOffsetLeft] = useState(0)\r\n const [boxOffsetTop, setBoxOffsetTop] = useState(0)\r\n const [visible, setVisible] = useState(false)\r\n\r\n useEffect(() => {\r\n if (box.current) {\r\n setBoxWidth(box.current.clientWidth)\r\n setBoxHeight(box.current.clientHeight)\r\n setBoxOffsetLeft(box.current.offsetLeft)\r\n setBoxOffsetTop(box.current.offsetTop)\r\n }\r\n }, [\r\n box.current,\r\n box.current?.clientWidth,\r\n box.current?.clientHeight,\r\n box.current?.offsetLeft,\r\n box.current?.offsetTop,\r\n ])\r\n\r\n return (\r\n \r\n setVisible(true)}\r\n onMouseLeave={() => setVisible(false)}\r\n >\r\n {children}\r\n \r\n {visible && (isCard ?? true) && (\r\n \r\n \r\n {label}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default Tooltip\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\ntype Placement = 'top' | 'right' | 'bottom' | 'left'\r\n\r\nconst tooltipContainer: (\r\n sx: SxStyleProp,\r\n placement: Placement,\r\n width: number,\r\n height: number,\r\n x: number,\r\n y: number\r\n) => SxStyleProp = (sx, placement, width, height, x, y) => {\r\n const position = {\r\n bottom: {\r\n left: `${x + width / 2}px`,\r\n top: `${y + height + 3}px`,\r\n },\r\n left: {\r\n left: `${x - 1}px`,\r\n top: `${y + height / 2}px`,\r\n },\r\n top: {\r\n left: `${x + width / 2}px`,\r\n top: `${y - 3}px`,\r\n },\r\n right: {\r\n left: `${x + width + 1}px`,\r\n top: `${y + height / 2}px`,\r\n },\r\n }\r\n\r\n const translation = {\r\n bottom: 'translateX(-50%)',\r\n left: 'translateX(-100%) translateY(-50%)',\r\n top: 'translateX(-50%) translateY(-100%)',\r\n right: 'translateY(-50%)',\r\n }\r\n\r\n const direction = {\r\n bottom: 'column',\r\n left: 'row-reverse',\r\n top: 'column-reverse',\r\n right: 'row',\r\n }\r\n\r\n return {\r\n ...sx,\r\n zIndex: '100',\r\n position: 'absolute',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n ...position[placement],\r\n transform: translation[placement],\r\n flexDirection: direction[placement],\r\n }\r\n}\r\n\r\nconst caret: (placement: Placement) => SxStyleProp = (placement) => {\r\n const rotation = {\r\n bottom: 0,\r\n left: 90,\r\n top: 180,\r\n right: 270,\r\n }\r\n\r\n const translation = {\r\n bottom: 1,\r\n left: 3,\r\n top: 1,\r\n right: 3,\r\n }\r\n\r\n return {\r\n width: '8px',\r\n height: '4px',\r\n minWidth: 'initial',\r\n minHeight: 'initial',\r\n transform: `rotate(${rotation[placement]}deg) translateY(${translation[placement]}px)`,\r\n }\r\n}\r\n\r\nconst label: SxStyleProp = {\r\n borderRadius: '4px',\r\n backgroundColor: 'black',\r\n color: 'white',\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n lineHeight: '130%',\r\n}\r\n\r\nconst labelContibutorsContainer: SxStyleProp = {\r\n ...label,\r\n padding: '4px 8px',\r\n}\r\n\r\nconst labelDocumentationContainer: SxStyleProp = {\r\n ...label,\r\n width: '284px',\r\n textAlign: 'center',\r\n px: '12px',\r\n py: '8px',\r\n}\r\n\r\nconst labelStyle = (documentationSection: boolean): SxStyleProp => {\r\n if (documentationSection) return labelDocumentationContainer\r\n return labelContibutorsContainer\r\n}\r\nexport default { tooltipContainer, caret, labelStyle }\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CaretIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default CaretIcon\r\n","export const flattenJSON = (\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n obj: any = {},\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n res: any = {},\r\n extraKey = ''\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n): any => {\r\n for (const key in obj) {\r\n if (typeof obj[key] !== 'object') {\r\n res[extraKey + key] = obj[key]\r\n } else {\r\n flattenJSON(obj[key], res, `${extraKey}${key}.`)\r\n }\r\n }\r\n return res\r\n}\r\n\r\nexport const getKeyByEndpoint = (\r\n object: { [x: string]: string },\r\n endpoint: string,\r\n slug: string,\r\n method?: string\r\n) => {\r\n const slugPaths = Object.keys(object).filter((key) => object[key] === slug)\r\n let path = ''\r\n slugPaths?.map((el) => {\r\n if (\r\n method &&\r\n object[`${el.replace('.slug', '.method')}`] == method?.toUpperCase() &&\r\n object[`${el.replace('.slug', '.endpoint')}`] == endpoint\r\n ) {\r\n path = el\r\n } else if (hasChildren(object, el.replace('.slug', '.children'))) {\r\n path = el\r\n }\r\n })\r\n return path\r\n}\r\n\r\nfunction hasChildren(\r\n flattenedJson: { [x: string]: string },\r\n elementKey: string\r\n): boolean {\r\n for (const key in flattenedJson) {\r\n if (key.startsWith(`${elementKey}.`)) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nexport const getParents = (\r\n path: string,\r\n data: string,\r\n flattenedSidebar: { [x: string]: string },\r\n parentsArray: string[],\r\n parent?: string\r\n) => {\r\n const pathParts = path?.split('children')\r\n pathParts?.splice(-1)\r\n let prev = ''\r\n pathParts?.map((el) => {\r\n el = prev + el\r\n prev = el + 'children'\r\n\r\n if (!parent || flattenedSidebar[`${el}${data}`].includes(parent)) {\r\n parentsArray.push(flattenedSidebar[`${el}${data}`])\r\n }\r\n })\r\n return parentsArray\r\n}\r\n","import { Section } from './typings/types'\r\nimport { flattenJSON, getKeyByEndpoint, getParents } from './navigation-utils'\r\nimport { useRouter } from 'next/router.js'\r\nimport { useEffect } from 'react'\r\nimport { ContextType } from './context/libraryContext'\r\n\r\nexport const getIcon = (doc: string, sections: Section[][]) => {\r\n for (const section of sections) {\r\n return section.find((icon) => icon.title === doc)?.Icon\r\n }\r\n}\r\n\r\ninterface updateOpenPageProps {\r\n parentsArray?: string[]\r\n context: ContextType\r\n}\r\nexport const updateOpenPage = ({\r\n parentsArray = [],\r\n context,\r\n}: updateOpenPageProps) => {\r\n const {\r\n activeSidebarElement,\r\n sidebarDataMaster,\r\n setActiveSidebarElement,\r\n openSidebarElement,\r\n closeSidebarElements,\r\n } = context\r\n const flattenedSidebar = flattenJSON(sidebarDataMaster)\r\n const router = useRouter()\r\n\r\n let activeSlug = ''\r\n const querySlug = router.query.slug\r\n\r\n if (querySlug && router.pathname === '/docs/api-reference/[slug]') {\r\n activeSlug = router.asPath.replace('/docs/api-reference/', '')\r\n const docPath = activeSlug.split('/')\r\n const hasHashTag = router.asPath.indexOf('#') > -1\r\n const apiSlug = docPath[0].split(hasHashTag ? '#' : '?endpoint=')[0]\r\n const endpoint = '/' + docPath.splice(1, docPath.length).join('/')\r\n let keyPath\r\n if (endpoint == '/') {\r\n activeSlug = apiSlug\r\n keyPath = getKeyByEndpoint(flattenedSidebar, '', apiSlug)\r\n } else {\r\n const method = docPath[0]\r\n .split(hasHashTag ? '#' : '?endpoint=')[1]\r\n .split('-')[0]\r\n keyPath = getKeyByEndpoint(flattenedSidebar, endpoint, apiSlug, method)\r\n }\r\n parentsArray.push(activeSlug)\r\n if (keyPath) {\r\n getParents(keyPath, 'slug', flattenedSidebar, parentsArray)\r\n }\r\n } else {\r\n activeSlug = parentsArray[parentsArray.length - 1]\r\n }\r\n\r\n useEffect(() => {\r\n closeSidebarElements(parentsArray)\r\n parentsArray.forEach((slug: string) => {\r\n openSidebarElement(slug)\r\n })\r\n setActiveSidebarElement(activeSlug?.replace('?endpoint=', '#'))\r\n }, [activeSidebarElement, router])\r\n}\r\n","// Sidebar Section\r\nimport { Flex, Box, Text, Button } from '@vtex/brand-ui'\r\nimport { useContext, useMemo, useState } from 'react'\r\n\r\nimport styles from './styles'\r\nimport { SidebarElement } from '../sidebar-elements'\r\nimport SectionFilter from '../sidebar-section-filter'\r\nimport SideBarElements from '../sidebar-elements'\r\nimport SearchIcon from 'components/icons/search-icon'\r\nimport SideBarToggleIcon from 'components/icons/sidebar-toggle-icon'\r\nimport ArrowLeftIcon from 'components/icons/arrow-left-icon'\r\nimport { getIcon } from 'utils/sidebar-utils'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\nexport interface SidebarSectionProps {\r\n documentation: string\r\n name: string | { en: string, es: string, pt: string }\r\n categories: SidebarElement[]\r\n slugPrefix: string\r\n isHamburgerMenu: boolean\r\n}\r\n\r\nconst SidebarSection = ({\r\n documentation,\r\n name,\r\n categories,\r\n slugPrefix,\r\n isHamburgerMenu = false,\r\n}: SidebarSectionProps) => {\r\n const [searchValue, setSearchValue] = useState('')\r\n const {\r\n isEditorPreview,\r\n sidebarSectionHidden,\r\n setSidebarSectionHidden,\r\n sidebarSections,\r\n locale\r\n } = useContext(LibraryContext)\r\n const [methodFilterList, setMethodFilterList] = useState([\r\n { name: 'POST', active: false },\r\n { name: 'GET', active: false },\r\n { name: 'PUT', active: false },\r\n { name: 'DELETE', active: false },\r\n { name: 'PATCH', active: false },\r\n ])\r\n\r\n const filterStatus = methodFilterList.some(\r\n (methodFilter) => methodFilter.active\r\n )\r\n\r\n const filteredResult = useMemo(() => {\r\n if (!filterStatus && searchValue === '') return categories\r\n\r\n const dataCopy = JSON.parse(JSON.stringify(categories))\r\n\r\n const filteredCategories = dataCopy\r\n .map((category: SidebarElement) => {\r\n category.children = category.children\r\n .map((subcategory) => {\r\n subcategory.children = subcategory.children.filter((endpoint) => {\r\n const hasMethodFilter =\r\n !filterStatus ||\r\n methodFilterList.find(\r\n (methodFilter) => methodFilter.name === endpoint.method\r\n )?.active\r\n const hasInputFilter =\r\n searchValue === '' ||\r\n (typeof endpoint.name === 'string'\r\n ? endpoint.name\r\n : endpoint.name[locale]\r\n )\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase())\r\n return hasMethodFilter && hasInputFilter\r\n })\r\n return subcategory\r\n })\r\n .filter(\r\n (subcategory) =>\r\n subcategory.children.length > 0 ||\r\n (subcategory.type === 'markdown' &&\r\n (typeof subcategory.name === 'string'\r\n ? subcategory.name\r\n : subcategory.name[locale]\r\n )\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase()))\r\n )\r\n return category\r\n })\r\n .filter((category: SidebarElement) => category.children.length > 0)\r\n return filteredCategories\r\n }, [filterStatus, methodFilterList, categories, searchValue])\r\n\r\n const DocIcon = getIcon(documentation, sidebarSections)\r\n\r\n let localizedSectionTitle = ''\r\n\r\n if (!categories || categories.length <= 0) {\r\n return <>\r\n } else {\r\n localizedSectionTitle = typeof(name) === 'string' ? name : name[locale]\r\n }\r\n\r\n return isHamburgerMenu ? (\r\n \r\n \r\n \r\n }\r\n onClick={() => {\r\n setSidebarSectionHidden(true)\r\n }}\r\n />\r\n {DocIcon && }\r\n {localizedSectionTitle}\r\n \r\n \r\n \r\n \r\n setSearchValue(e.currentTarget.value)}\r\n />\r\n \r\n {documentation == 'API Reference' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n {isEditorPreview && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n PREVIEW MODE\r\n \r\n )}\r\n {localizedSectionTitle}\r\n \r\n \r\n setSearchValue(e.currentTarget.value)}\r\n />\r\n \r\n \r\n {documentation == 'API Reference' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setSidebarSectionHidden(\r\n (sidebarSectionHidden) => !sidebarSectionHidden\r\n )\r\n }}\r\n sx={sidebarSectionHidden ? styles.toggleIcon : {}}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SidebarSection\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst sidebarContainer: SxStyleProp = {\r\n position: 'relative',\r\n width: ['auto', 'auto', 'auto', 'auto', '300px', '300px'],\r\n minWidth: ['auto', 'auto', 'auto', 'auto', '300px', '300px'],\r\n height: 'inherit',\r\n borderRight: '1px solid #E7E9EE',\r\n zIndex: '1',\r\n left: '0',\r\n transition: 'all 0.3s ease-in-out',\r\n '.toggleIcon': {\r\n opacity: '0',\r\n transition: 'all 0.3s ease-out',\r\n },\r\n '.sidebarHide': {\r\n opacity: '0',\r\n transition: 'all 0.5s ease-out',\r\n },\r\n ':hover': {\r\n '.toggleIcon': {\r\n opacity: '100',\r\n transition: 'all 0.3s ease-out',\r\n },\r\n },\r\n}\r\n\r\nconst sidebarContainerHamburger: SxStyleProp = {\r\n width: 'auto',\r\n minHeight: '692px',\r\n zIndex: '1',\r\n}\r\n\r\nconst sidebarContainerBox: SxStyleProp = {\r\n opacity: '100',\r\n paddingTop: '34px',\r\n paddingBottom: '24px',\r\n overflowY: 'auto',\r\n height: 'inherit',\r\n maskImage:\r\n 'linear-gradient(to top, transparent, black), linear-gradient(to left, transparent 17px, black 17px)',\r\n maskSize: '100% 20000px',\r\n maskPosition: 'left bottom',\r\n transition: 'mask-position 0.3s, -webkit-mask-position 0.3s',\r\n ':hover': {\r\n maskPosition: 'left top',\r\n },\r\n}\r\n\r\nconst sidebarContainerBoxHamburger: SxStyleProp = {\r\n opacity: '100',\r\n transition: 'all 1s ease-out',\r\n}\r\n\r\nconst sidebarContainerBody: SxStyleProp = {\r\n px: '17px',\r\n}\r\n\r\nconst sidebarContainerHeader: SxStyleProp = {\r\n ...sidebarContainerBody,\r\n}\r\n\r\nconst sidebarContainerTitle: SxStyleProp = {\r\n alignItems: 'center',\r\n lineHeight: '22px',\r\n gap: '5px',\r\n padding: '17px 0px 17px 17px',\r\n borderBottom: '1px solid #E7E9EE',\r\n}\r\n\r\nconst sidebarTitle: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n}\r\n\r\nconst sidebarHelpIcon: SxStyleProp = {\r\n ml: '4px',\r\n width: '24px',\r\n height: '24px',\r\n}\r\n\r\nconst searchBox: SxStyleProp = {\r\n mt: '16px',\r\n mb: '20px',\r\n alignItems: 'center',\r\n borderRadius: '4px',\r\n background: '#F4F4F4',\r\n width: '100%',\r\n maxWidth: '265px',\r\n height: '40px',\r\n paddingLeft: '12px',\r\n}\r\n\r\nconst searchInput: SxStyleProp = {\r\n width: 'auto',\r\n background: '#F4F4F4',\r\n border: '#F4F4F4',\r\n color: '#545454',\r\n fontSize: ['14px'],\r\n}\r\n\r\nconst searchIcon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n mr: '8px',\r\n}\r\n\r\nconst toggleIconBox: SxStyleProp = {\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n width: '32px',\r\n height: '32px',\r\n borderRadius: '50%',\r\n border: '1px solid #E7E9EE',\r\n background: '#FFFFFF',\r\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n position: 'absolute',\r\n top: '32px',\r\n right: '-16px',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst toggleIconBoxActive: SxStyleProp = {\r\n ...toggleIconBox,\r\n opacity: '100 !important',\r\n}\r\n\r\nconst toggleIcon: SxStyleProp = {\r\n transform: 'scaleX(-1)',\r\n}\r\n\r\nconst arrowButton: SxStyleProp = {\r\n padding: '0px',\r\n}\r\n\r\nconst previewMode: SxStyleProp = {\r\n display: 'flex',\r\n color: '#A87600',\r\n backgroundColor: '#ffe5b5',\r\n padding: '10px',\r\n borderRadius: '10px',\r\n fontWeight: '600',\r\n fontSize: '14px',\r\n lineHeight: '20px',\r\n letterSpacing: '0.5px',\r\n mb: '20px',\r\n svg: {\r\n width: '20px',\r\n mr: '10px',\r\n },\r\n}\r\n\r\nexport default {\r\n sidebarContainer,\r\n sidebarContainerHamburger,\r\n sidebarContainerBox,\r\n sidebarContainerBoxHamburger,\r\n sidebarContainerBody,\r\n sidebarContainerHeader,\r\n sidebarContainerTitle,\r\n sidebarTitle,\r\n sidebarHelpIcon,\r\n searchBox,\r\n searchInput,\r\n searchIcon,\r\n toggleIconBox,\r\n toggleIconBoxActive,\r\n toggleIcon,\r\n arrowButton,\r\n previewMode,\r\n}\r\n","import { Box, Flex, Text } from '@vtex/brand-ui'\r\nimport MethodCategory from 'components/method-category'\r\nimport { Dispatch, SetStateAction, useContext, useState } from 'react'\r\n\r\nimport styles from './styles'\r\nimport { MethodType } from 'utils/typings/types'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\ntype MethodFilter = {\r\n name: string\r\n active: boolean\r\n}\r\n\r\ninterface MethodButtonProps {\r\n methodFilter: MethodFilter\r\n}\r\n\r\ninterface SectionFilterProps {\r\n methodFilterList: MethodFilter[]\r\n setMethodFilter: Dispatch>\r\n}\r\n\r\nconst SectionFilter = ({\r\n methodFilterList,\r\n setMethodFilter,\r\n}: SectionFilterProps) => {\r\n const [activeFilters, setActiveFilters] = useState([])\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const setFilter = (methodFilterChanged: MethodType | null) => {\r\n if (methodFilterChanged) {\r\n const index = activeFilters.indexOf(methodFilterChanged)\r\n index === -1\r\n ? setActiveFilters([...activeFilters, methodFilterChanged])\r\n : setActiveFilters(\r\n activeFilters.filter((filter) => filter !== methodFilterChanged)\r\n )\r\n setMethodFilter(\r\n methodFilterList.map((methodFilter) => {\r\n if (methodFilter.name === methodFilterChanged)\r\n methodFilter.active = !methodFilter.active\r\n return methodFilter\r\n })\r\n )\r\n } else {\r\n setActiveFilters([])\r\n setMethodFilter(\r\n methodFilterList.map((methodFilter) => {\r\n methodFilter.active = false\r\n return methodFilter\r\n })\r\n )\r\n }\r\n }\r\n\r\n const MethodButton = ({ methodFilter }: MethodButtonProps) => {\r\n return (\r\n setFilter(methodFilter.name as MethodType)}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {messages[locale]['api_reference_sidebar_filter']}\r\n \r\n \r\n {methodFilterList.map((methodFilter) => (\r\n \r\n ))}\r\n {activeFilters.length > 1 && (\r\n setFilter(null)} sx={styles.clear}>\r\n {messages[locale]['api_reference_sidebar_filter_clear']}\r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SectionFilter\r\n","import { Flex, Text, SxStyleProp } from '@vtex/brand-ui'\r\nimport { categoryStyle, categoryText, closeCategoryStyle } from './functions'\r\nimport styles from './styles'\r\nimport CloseFilterIcon from 'components/icons/close-filter-icon'\r\nimport { MethodType } from 'utils/typings/types'\r\n\r\nexport interface MethodCategoryProps {\r\n method: MethodType\r\n active: boolean\r\n origin: 'sidebar' | 'search' | 'filter' | 'pagination'\r\n sx?: SxStyleProp\r\n}\r\n\r\nconst MethodCategory = ({\r\n method,\r\n active,\r\n origin,\r\n sx,\r\n}: MethodCategoryProps) => {\r\n return (\r\n \r\n {categoryText(method, origin)}\r\n {origin === 'filter' && active && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default MethodCategory\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n border: '1px solid #DDDDDD',\r\n background: '#F4F4F4',\r\n borderRadius: '2px',\r\n width: '24px',\r\n height: '24px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n}\r\n\r\nconst text: SxStyleProp = {\r\n fontWeight: '600',\r\n fontSize: '12px',\r\n}\r\n\r\nconst closeIcon: SxStyleProp = {\r\n minWidth: '12px',\r\n minHeight: '12px',\r\n height: '12px',\r\n width: '12px',\r\n ml: '4px',\r\n}\r\n\r\nexport default {\r\n container,\r\n text,\r\n closeIcon,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport { MethodType } from 'utils/typings/unionTypes'\r\n\r\nimport styles from './styles'\r\n\r\nexport const methodsColors = {\r\n POST: {\r\n border: '1px solid #7CBBEA',\r\n color: '#2978B5',\r\n background: '#DEECF7',\r\n },\r\n GET: {\r\n border: '1px solid #83D187',\r\n color: '#38853C',\r\n background: '#DFF1E0',\r\n },\r\n PUT: {\r\n border: '1px solid #F5AE70',\r\n color: '#D56A00',\r\n background: '#FFEBD7',\r\n },\r\n DELETE: {\r\n border: '1px solid #F49494',\r\n color: '#CC3D3D',\r\n background: '#F8E3E3',\r\n },\r\n PATCH: {\r\n border: '1px solid #afa871',\r\n color: '#6C6314',\r\n background: '#e9e7da',\r\n },\r\n}\r\n\r\nexport const categoryStyle = (\r\n method: MethodType,\r\n active: boolean,\r\n sx?: SxStyleProp\r\n): SxStyleProp => {\r\n const categoryColors = methodsColors[method] || {\r\n border: '1px solid #F49494',\r\n color: '#CC3D3D',\r\n background: '#F8E3E3',\r\n }\r\n\r\n const categoryStyle: SxStyleProp = active\r\n ? {\r\n ...styles.container,\r\n ...categoryColors,\r\n ...sx,\r\n ':hover': {\r\n '.filter-close-button': {\r\n rect: {\r\n fill: categoryColors.color,\r\n },\r\n path: {\r\n stroke: '#DEECF7',\r\n },\r\n },\r\n },\r\n }\r\n : {\r\n ...styles.container,\r\n color: categoryColors.color,\r\n ...sx,\r\n }\r\n\r\n return categoryStyle\r\n}\r\n\r\nexport const categoryText = (method: MethodType, origin: string): string => {\r\n const textPascalCase = method[0] + method.slice(1).toLowerCase()\r\n if (origin == 'filter') return textPascalCase\r\n return textPascalCase.slice(0, 2)\r\n}\r\n\r\nexport const closeCategoryStyle = (method: MethodType) => {\r\n const categoryColors = methodsColors[method]\r\n const categoryStyle: SxStyleProp = {\r\n ...styles.closeIcon,\r\n rect: {\r\n fill: 'transparent',\r\n },\r\n path: {\r\n stroke: categoryColors.color,\r\n },\r\n }\r\n\r\n return categoryStyle\r\n}\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CloseFilterIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CloseFilterIcon\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n px: '17px',\r\n paddingTop: '6px',\r\n borderBottom: '1px solid #E7E9EE',\r\n paddingBottom: '16px',\r\n mb: '24px',\r\n}\r\n\r\nconst text: SxStyleProp = {\r\n mb: '8px',\r\n}\r\n\r\nconst category: SxStyleProp = {\r\n mr: '8px',\r\n px: '4px',\r\n width: 'auto',\r\n cursor: 'pointer',\r\n ':hover': {\r\n borderWidth: '2px',\r\n },\r\n}\r\n\r\nconst clear: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n color: 'muted.0',\r\n fontSize: '12px',\r\n cursor: 'pointer',\r\n ':hover': {\r\n color: '#000711',\r\n },\r\n}\r\n\r\nexport default {\r\n container,\r\n text,\r\n category,\r\n clear,\r\n}\r\n","import { useRouter } from 'next/router.js'\r\nimport React, { Fragment, useContext } from 'react'\r\nimport {\r\n Box,\r\n Flex,\r\n Link,\r\n Button,\r\n IconCaret,\r\n IconExternalLink,\r\n} from '@vtex/brand-ui'\r\n\r\nimport MethodCategory from 'components/method-category'\r\n\r\nimport { styleByLevelNormal, textStyle } from './functions'\r\nimport styles from './styles'\r\nimport { MethodType } from 'utils/typings/types'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport interface SidebarElement {\r\n name: string | { en: string; pt: string; es: string }\r\n slug: string | { en: string; pt: string; es: string }\r\n origin: string\r\n type: string\r\n method?: MethodType\r\n endpoint?: string\r\n children: SidebarElement[]\r\n}\r\n\r\nexport interface SidebarProps {\r\n slugPrefix?: string\r\n items: SidebarElement[]\r\n subItemLevel: number\r\n}\r\n\r\nconst SidebarElements = ({ slugPrefix, items, subItemLevel }: SidebarProps) => {\r\n const {\r\n isEditorPreview,\r\n activeSidebarElement,\r\n sidebarElementStatus,\r\n toggleSidebarElementStatus,\r\n sidebarDataMaster,\r\n locale,\r\n } = useContext(LibraryContext)\r\n const router = useRouter()\r\n\r\n const handleClick = (\r\n e: { preventDefault: () => void },\r\n pathSuffix: string,\r\n slug: string\r\n ) => {\r\n e.preventDefault()\r\n const hasEndpointQuery = router.query.endpoint\r\n router.push(getHref(slugPrefix || '', pathSuffix, slug)).then(() => {\r\n if (hasEndpointQuery) router.reload()\r\n })\r\n }\r\n\r\n // eslint-disable-next-line\r\n // @ts-ignore\r\n const checkDocumentationType = (\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sidebarData: any,\r\n slug: string,\r\n type: string\r\n ) => {\r\n if (\r\n !sidebarData ||\r\n (typeof sidebarData !== 'object' && !Array.isArray(sidebarData))\r\n ) {\r\n return false\r\n } else if (sidebarData?.slug == slug && sidebarData?.type == type) {\r\n return true\r\n } else if (Array.isArray(sidebarData)) {\r\n for (let i = 0; i < sidebarData.length; i++) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n const result = checkDocumentationType(sidebarData[i], slug, type)\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else {\r\n for (const k in sidebarData) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n const result = checkDocumentationType(sidebarData[k], slug, type)\r\n if (result) {\r\n return result\r\n }\r\n }\r\n }\r\n\r\n return false\r\n }\r\n\r\n const getHref = (slugPrefix: string, pathSuffix: string, slug: string) => {\r\n const href =\r\n slugPrefix === 'docs/api-reference'\r\n ? `/${slugPrefix}/${slug}/${pathSuffix}`\r\n : `/${slugPrefix}/${slug}`\r\n return href.replaceAll('//', '/')\r\n }\r\n\r\n const ElementRoot = ({\r\n slug,\r\n name,\r\n method,\r\n endpoint,\r\n children,\r\n }: SidebarElement) => {\r\n const localizedName: string = typeof name === 'string' ? name : name[locale]\r\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\r\n const isExpandable = children.length > 0\r\n const pathSuffix = method ? `#${method.toLowerCase()}-${endpoint}` : ''\r\n const activeItem = method ? `${localizedSlug}${pathSuffix}` : localizedSlug\r\n return (\r\n \r\n \r\n {isExpandable && (\r\n (\r\n \r\n )}\r\n onClick={() => toggleSidebarElementStatus(localizedSlug)}\r\n />\r\n )}\r\n {!checkDocumentationType(sidebarDataMaster, localizedSlug, 'category') &&\r\n !checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\r\n void }) => {\r\n if (!isEditorPreview) {\r\n handleClick(e, pathSuffix, localizedSlug)\r\n }\r\n toggleSidebarElementStatus(activeItem)\r\n }}\r\n href={getHref(slugPrefix || '', pathSuffix, localizedSlug)}\r\n target={isEditorPreview === true ? '_blank' : '_self'}\r\n >\r\n {method && (\r\n \r\n )}\r\n {localizedName}\r\n \r\n ) : checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\r\n \r\n \r\n {localizedName}\r\n \r\n ) : (\r\n {\r\n toggleSidebarElementStatus(localizedSlug)\r\n }}\r\n >\r\n {method && (\r\n \r\n )}\r\n {localizedName}\r\n \r\n )}\r\n \r\n \r\n )\r\n }\r\n \r\n const ElementChildren = ({ slug, children }: SidebarElement) => {\r\n const isExpandable = children.length > 0\r\n // const newPathPrefix =\r\n // slugPrefix === 'api-reference' ? `/api-reference/${slug}` : slugPrefix\r\n\r\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\r\n return isExpandable &&\r\n sidebarElementStatus.has(localizedSlug) &&\r\n sidebarElementStatus.get(localizedSlug) ? (\r\n \r\n \r\n \r\n ) : null\r\n }\r\n\r\n return (\r\n \r\n {items?.map((item, index) => {\r\n const key = typeof item.slug === 'string' ? String(item.slug) + String(index) : String(item.slug[locale]) + String(index)\r\n const slug = typeof item.slug === 'string' ? `${item.slug}` : `${item.slug[locale]}`\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {subItemLevel == 0 ? (\r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n )\r\n })}\r\n
\r\n )\r\n}\r\n\r\nexport default SidebarElements\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst elementContainer: SxStyleProp = {\r\n maxWidth: '265px',\r\n background: '#FFFFFF',\r\n ':hover': {\r\n background: '#F8F7FC',\r\n a: {\r\n color: '#142032',\r\n '& > :first-of-type': {\r\n borderWidth: '2px',\r\n },\r\n },\r\n },\r\n}\r\n\r\nconst elementText: SxStyleProp = {\r\n color: 'muted.0',\r\n fontSize: '14px',\r\n lineHeight: '20px',\r\n fontWeight: '400',\r\n textAlign: 'initial',\r\n paddingBlock: '7px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst elementActive: SxStyleProp = {\r\n ...elementText,\r\n color: '#D71D55 !important',\r\n}\r\n\r\nconst arrowIcon: SxStyleProp = {\r\n padding: '0',\r\n color: 'muted.1',\r\n height: '34px',\r\n}\r\n\r\nconst arrowIconActive: SxStyleProp = {\r\n ...arrowIcon,\r\n color: '#D71D55',\r\n}\r\n\r\nconst elementButton: SxStyleProp = {\r\n textTransform: 'initial',\r\n fontVariationSettings: 'unset',\r\n padding: '0',\r\n margin: '0',\r\n textDecoration: 'none !important',\r\n}\r\n\r\nconst sectionDivider: SxStyleProp = {\r\n hr: {\r\n border: '1px solid #E7E9EE',\r\n borderTop: 'none',\r\n },\r\n}\r\n\r\nconst methodBox: SxStyleProp = {\r\n mr: '10px',\r\n}\r\n\r\nexport default {\r\n elementContainer,\r\n elementText,\r\n elementActive,\r\n arrowIcon,\r\n arrowIconActive,\r\n elementButton,\r\n sectionDivider,\r\n methodBox,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nexport const styleByLevelNormal = (level: number, icon: boolean) => {\r\n const ml = 8 + (icon ? (level - 1) * 20 + 6 : (level - 1) * 20 + 14)\r\n const borderLeft = icon ? 'none' : level >= 2 ? '1px solid #E7E9EE' : ''\r\n const normal: SxStyleProp = {\r\n marginLeft: `${ml}px`,\r\n borderLeft,\r\n }\r\n\r\n return normal\r\n}\r\n\r\nexport const textStyle = (active: boolean, icon: boolean) => {\r\n const ml = icon ? '4px' : '16px'\r\n if (active) {\r\n const textStyleActive: SxStyleProp = {\r\n ...styles.elementActive,\r\n ml,\r\n }\r\n return textStyleActive\r\n }\r\n const textStyle: SxStyleProp = {\r\n ...styles.elementText,\r\n ml,\r\n }\r\n\r\n return textStyle\r\n}\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst SearchIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default SearchIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst SideBarToggleIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default SideBarToggleIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ArrowLeftIcon = (props: IconProps) => (\r\n \r\n {' '}\r\n \r\n \r\n \r\n)\r\n\r\nexport default ArrowLeftIcon\r\n","import {\r\n Header,\r\n HamburgerMenu as VtexHamburgerMenu,\r\n Box,\r\n IconCaret,\r\n Button,\r\n} from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nimport { useContext } from 'react'\r\nimport DocumentationCard from 'components/documentation-card'\r\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\r\nimport { updateOpenPage } from 'utils/sidebar-utils'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport SearchInput from 'components/search-input'\r\n\r\nexport interface HamburgerMenuProps {\r\n /** Array that contains the name of the sections in the menu that should be expanded. */\r\n parentsArray?: string[]\r\n}\r\n\r\n/** Hamburger Menu component, the menu uses the sidebar components internally, but it is only visible on the smaller breakpoints. */\r\nconst HamburgerMenu = ({ parentsArray = [] }: HamburgerMenuProps) => {\r\n const context = useContext(LibraryContext)\r\n const {\r\n sidebarDataMaster,\r\n sidebarSectionHidden,\r\n activeSectionName,\r\n setActiveSectionName,\r\n setSidebarSectionHidden,\r\n hamburguerSections,\r\n } = context\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const isDocument = (sections: any, documentID: string) => {\r\n let isDoc = false\r\n\r\n if (Array.isArray(sections)) {\r\n isDoc = sections.find((section) => section.documentation === documentID)\r\n }\r\n\r\n return isDoc\r\n }\r\n\r\n updateOpenPage({ parentsArray, context })\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {hamburguerSections.map((section, id) => (\r\n 0\r\n ? styles.updatesContainer\r\n : styles.documentationContainer\r\n }\r\n key={id}\r\n data-cy=\"dropdown-menu-first-section\"\r\n >\r\n {section.map((card) => (\r\n \r\n \r\n {isDocument(sidebarDataMaster, card.id) ? (\r\n }\r\n sx={\r\n activeSectionName === card.id &&\r\n !sidebarSectionHidden\r\n ? styles.arrowIconActive\r\n : styles.arrowIcon\r\n }\r\n onClick={() => {\r\n setActiveSectionName(card.id)\r\n setSidebarSectionHidden(false)\r\n }}\r\n />\r\n ) : null}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {activeSectionName ? (\r\n \r\n section.documentation === activeSectionName\r\n )\r\n : null)}\r\n />\r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default HamburgerMenu\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst menuContainer: SxStyleProp = {\r\n display: 'flex',\r\n width: 'max-content',\r\n}\r\n\r\nconst cardContainer: SxStyleProp = {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100vw',\r\n overflowY: 'scroll',\r\n height: 'calc(100vh - 5rem)',\r\n}\r\n\r\nconst sideMenuContainer: SxStyleProp = {\r\n backgroundColor: '#ffff',\r\n height: 'calc(100vh - 5rem)',\r\n width: '100vw',\r\n overflowY: 'auto',\r\n overflowX: 'hidden',\r\n transform: 'translate(0)',\r\n transition: 'transform .5s cubic-bezier(.4,0,.2,1)',\r\n}\r\n\r\nconst hamburgerContainer: SxStyleProp = {\r\n display: ['block', 'block', 'block', 'none'],\r\n backgroundColor: '#ffff',\r\n width: '100%',\r\n '.menuHidden': {\r\n transform: 'translate(-100%)',\r\n },\r\n}\r\n\r\n// eslint-disable-next-line prettier/prettier\r\n\r\nconst hamburgerSearchContainer: SxStyleProp = {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n paddingBlock: '18px',\r\n height: 'auto',\r\n}\r\n\r\nconst documentationContainer: SxStyleProp = {\r\n px: '16px',\r\n paddingBottom: '8px',\r\n}\r\n\r\nconst updatesContainer: SxStyleProp = {\r\n px: '16px',\r\n paddingTop: '8px',\r\n borderRadius: '0px 0px 8px 8px',\r\n borderTop: '1px solid #E7E9EE',\r\n}\r\n\r\nconst innerHambugerContainer: SxStyleProp = {\r\n padding: '0px',\r\n position: 'relative',\r\n overflowX: 'hidden',\r\n}\r\n\r\nconst innerCardContainer: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n}\r\n\r\nconst arrowIcon: SxStyleProp = {\r\n padding: '0',\r\n height: '50px',\r\n width: '50px',\r\n color: 'muted.1',\r\n}\r\n\r\nconst arrowIconActive: SxStyleProp = {\r\n ...arrowIcon,\r\n color: '#D71D55',\r\n}\r\n\r\nexport default {\r\n menuContainer,\r\n cardContainer,\r\n sideMenuContainer,\r\n hamburgerSearchContainer,\r\n documentationContainer,\r\n updatesContainer,\r\n hamburgerContainer,\r\n innerHambugerContainer,\r\n innerCardContainer,\r\n arrowIcon,\r\n arrowIconActive,\r\n}\r\n","import Link from 'next/link.js'\r\nimport { Box, Flex, Text } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport { cardContainer, cardTitle, titleContainer } from './functions'\r\nimport { MouseEventHandler } from 'react'\r\nimport { DataElement } from 'utils/typings/types'\r\n\r\nexport interface DocumentProps extends DataElement {\r\n title: string\r\n}\r\nexport interface CardProps extends DocumentProps {\r\n containerType: 'dropdown' | 'see-also' | 'mobile'\r\n onClick?: MouseEventHandler | undefined\r\n}\r\nconst DocumentationCard = ({\r\n title,\r\n description,\r\n link,\r\n containerType,\r\n Icon,\r\n onClick,\r\n}: CardProps) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n {description}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default DocumentationCard\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst cardContainer: SxStyleProp = {\r\n my: ['16px', '16px', '16px', '16px', '16px', '16px', '24px'],\r\n padding: '8px',\r\n cursor: 'pointer',\r\n ':active, :hover': {\r\n borderRadius: '4px',\r\n backgroundColor: '#F8F7FC',\r\n\r\n '.description': {\r\n color: 'muted.0',\r\n },\r\n },\r\n\r\n ':active .title': {\r\n color: '#0C1522',\r\n },\r\n\r\n ':hover .title': {\r\n color: '#000711',\r\n },\r\n}\r\n\r\nconst titleContainer: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n ml: '8px',\r\n color: 'muted.0',\r\n}\r\n\r\nconst description: SxStyleProp = {\r\n ml: '32px',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n color: 'muted.1',\r\n}\r\n\r\nexport default {\r\n cardContainer,\r\n description,\r\n title,\r\n titleContainer,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nconst cardContainer = (containerType: string) => {\r\n const containerWidth =\r\n containerType === 'dropdown'\r\n ? ['308px', '442px', '444px', '480px']\r\n : containerType === 'mobile'\r\n ? '100%'\r\n : ['324px', '544px', '544px', '544px', '544px', '720px', '1400px']\r\n\r\n const textWidth =\r\n containerType === 'dropdown'\r\n ? ['276px', '410px', '412px', '432px']\r\n : containerType === 'mobile'\r\n ? '90%'\r\n : ['276px', '496px', '496px', '496px', '496px', '672px', '1352px']\r\n\r\n const cardContainer: SxStyleProp = {\r\n ...styles.cardContainer,\r\n width: containerWidth,\r\n\r\n '.title, .description': {\r\n width: textWidth,\r\n },\r\n }\r\n\r\n return cardContainer\r\n}\r\n\r\nconst titleContainer = (containerType: string) => {\r\n const marginBottom =\r\n containerType === 'dropdown' ? ['5px', '5px', '5px', '1px'] : '8px'\r\n\r\n const titleContainer: SxStyleProp = {\r\n ...styles.titleContainer,\r\n marginBottom,\r\n }\r\n\r\n return titleContainer\r\n}\r\n\r\nconst cardTitle = (containerType: string) => {\r\n const titleAttributes =\r\n containerType === 'see-also'\r\n ? {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n fontSize: '18px',\r\n lineHeight: '24px',\r\n }\r\n : {\r\n fontSize: '16px',\r\n lineHeight: '22px',\r\n }\r\n\r\n const cardTitle: SxStyleProp = {\r\n ...styles.title,\r\n ...titleAttributes,\r\n }\r\n\r\n return cardTitle\r\n}\r\n\r\nexport { cardContainer, cardTitle, titleContainer }\r\n","import { Configure, InstantSearch } from 'react-instantsearch-dom'\r\nimport SearchBox from './search-box'\r\nimport Results from './results-box'\r\nimport { Box } from '@vtex/brand-ui'\r\nimport { useContext, useRef, useState } from 'react'\r\nimport useClickOutside from 'utils/hooks/useClickOutside'\r\nimport { searchClient, searchIndex } from 'utils/config/search-config'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport default function SearchInput() {\r\n const { locale } = useContext(LibraryContext)\r\n const [focusOut, setfocusOut] = useState<{ modaltoggle: boolean }>({\r\n modaltoggle: true,\r\n })\r\n const resultsBox = useRef()\r\n useClickOutside(resultsBox, setfocusOut)\r\n\r\n const changeFocus = (value: boolean) => {\r\n setfocusOut({ modaltoggle: value })\r\n }\r\n\r\n return (\r\n \r\n {searchClient.instantSearchConfigs && (\r\n \r\n )}\r\n {searchClient.useLanguageFilter && (\r\n \r\n )}\r\n {!searchClient.useLanguageFilter && }\r\n setfocusOut({ modaltoggle: true })} ref={resultsBox}>\r\n \r\n {focusOut.modaltoggle && }\r\n \r\n \r\n )\r\n}\r\n","import { useRef, KeyboardEvent, useContext } from 'react'\r\nimport { useRouter } from 'next/router.js'\r\nimport { Flex } from '@vtex/brand-ui'\r\nimport { connectSearchBox } from 'react-instantsearch-dom'\r\nimport { SearchBoxProvided } from 'react-instantsearch-core'\r\n\r\nimport SearchIcon from 'components/icons/search-icon'\r\nimport styles from './styles'\r\nimport { messages } from 'utils/get-message'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\ninterface SearchBoxProps extends SearchBoxProvided {\r\n changeFocus: (value: boolean) => void\r\n}\r\n\r\nconst SearchBoxComponent = ({\r\n currentRefinement,\r\n refine,\r\n changeFocus,\r\n}: SearchBoxProps) => {\r\n const router = useRouter()\r\n const inputRef = useRef(null)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const handleClick = () => {\r\n if (inputRef.current != null) inputRef.current.focus()\r\n }\r\n\r\n const keyPressed = (e: KeyboardEvent) => {\r\n if (e.key === 'Enter') {\r\n router.push({\r\n pathname: '/search',\r\n query: { keyword: inputRef.current?.value },\r\n })\r\n inputRef.current?.blur()\r\n changeFocus(false)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n keyPressed(e)}\r\n onChange={(e) => refine(e.currentTarget.value)}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst SearchBox = connectSearchBox(SearchBoxComponent)\r\n\r\nexport default SearchBox\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst resultsOuterContainer: SxStyleProp = {\r\n position: 'relative',\r\n}\r\n\r\nconst resultsInnerContainer: SxStyleProp = {\r\n top: 0,\r\n position: 'absolute',\r\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\r\n border: '1px solid #B9B9B9',\r\n borderRadius: '0px 0px 4px 4px',\r\n background: '#FFFFFF',\r\n}\r\n\r\nconst resultsBox: SxStyleProp = {\r\n padding: '16px',\r\n}\r\n\r\nconst seeAll: SxStyleProp = {\r\n padding: '24px',\r\n borderTop: '1px solid #E7E9EE',\r\n color: 'muted.0',\r\n cursor: 'pointer',\r\n ':hover': {\r\n background: '#F8F7FC',\r\n borderTop: '1px solid #d0cdcd',\r\n },\r\n}\r\n\r\nconst hitBox: SxStyleProp = {\r\n padding: '8px',\r\n cursor: 'pointer',\r\n ':active, :hover': {\r\n backgroundColor: '#F8F7FC',\r\n borderRadius: '4px',\r\n '.hit-content-title': {\r\n color: '#000711',\r\n },\r\n '.hit-icon': {\r\n '> path': {\r\n stroke: '#000711',\r\n },\r\n },\r\n },\r\n}\r\n\r\nconst hitIcon: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n marginRight: '8px',\r\n}\r\n\r\nconst hitContentContainer: SxStyleProp = {\r\n width: '100%',\r\n}\r\n\r\nconst hitContent: SxStyleProp = {\r\n color: 'muted.0',\r\n fontSize: ['14px', '16px'],\r\n lineHeight: ['20px', '22px'],\r\n width: '100%',\r\n}\r\n\r\nconst hitContentSmall: SxStyleProp = {\r\n color: 'muted.0',\r\n fontSize: ['14px', '16px'],\r\n lineHeight: ['20px', '22px'],\r\n width: '100%',\r\n whiteSpace: 'pre',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst alignCenter: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst hitBreadCrumb: SxStyleProp = {\r\n color: 'muted.1',\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst hitBreadCrumbIn: SxStyleProp = {\r\n ...hitBreadCrumb,\r\n minWidth: 'fit-content',\r\n}\r\n\r\nconst hitBreadCrumbArrow: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n color: 'muted.2',\r\n}\r\n\r\nconst searchInput: SxStyleProp = {\r\n width: '76px',\r\n background: 'none',\r\n border: '#F4F4F4',\r\n color: '#545454',\r\n fontSize: ['14px'],\r\n flex: 0,\r\n transition: 'flex 0.3s',\r\n}\r\n\r\nconst searchIcon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n mr: '8px',\r\n flex: 0,\r\n maxWidth: 'fit-content',\r\n}\r\n\r\nconst searchContainer: SxStyleProp = {\r\n paddingLeft: '12px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n background: '#F4F4F4',\r\n width: '288px',\r\n height: '40px',\r\n borderRadius: '4px',\r\n transition: 'all 0.3s ease-out',\r\n cursor: 'pointer',\r\n ':hover': {\r\n transition: 'all 0.3s ease-out',\r\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\r\n border: '1px solid #3B3B3B',\r\n },\r\n ':focus-within': {\r\n background: '#FFFFFF',\r\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\r\n transition: 'all 0.3s ease-out',\r\n border: '1px solid #3B3B3B',\r\n boxShadow: '0px 0px 0px 1px #FFFFFF, 0px 0px 0px 3px #B9B9B9',\r\n flex: 'auto',\r\n '.searchComponent': {\r\n flex: '1 !important',\r\n },\r\n },\r\n '.searchComponent': {\r\n ':placeholder-shown': {\r\n width: '76px',\r\n },\r\n ':not(:placeholder-shown)': {\r\n flex: '1 !important',\r\n },\r\n },\r\n}\r\n\r\nconst noResults: SxStyleProp = {\r\n justifyContent: 'center',\r\n alignContent: 'center',\r\n padding: '12px',\r\n}\r\n\r\nconst hitContentHighlighted: SxStyleProp = {\r\n ...hitContent,\r\n color: '#4A596B',\r\n width: 'auto',\r\n background: '#FFE0EF',\r\n}\r\n\r\nexport default {\r\n resultsOuterContainer,\r\n resultsInnerContainer,\r\n resultsBox,\r\n seeAll,\r\n hitBox,\r\n hitIcon,\r\n hitContentContainer,\r\n hitContent,\r\n hitContentSmall,\r\n hitBreadCrumb,\r\n hitBreadCrumbIn,\r\n hitBreadCrumbArrow,\r\n searchInput,\r\n searchIcon,\r\n searchContainer,\r\n alignCenter,\r\n noResults,\r\n hitContentHighlighted,\r\n}\r\n","import { useRouter } from 'next/router.js'\r\nimport Link from 'next/link.js'\r\nimport {\r\n connectStateResults,\r\n connectHitInsights,\r\n} from 'react-instantsearch-dom'\r\nimport {\r\n Hit,\r\n StateResultsProvided,\r\n WrappedInsightsClient,\r\n} from 'react-instantsearch-core'\r\nimport aa from 'search-insights'\r\nimport { Box, Flex, IconCaret, Text } from '@vtex/brand-ui'\r\n\r\nimport {\r\n getBreadcrumbs,\r\n getIconFromSection,\r\n getRelativeURL,\r\n} from 'utils/search-utils'\r\nimport CustomHighlight from './customHighlight'\r\nimport styles from './styles'\r\nimport { useContext } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\ninterface HitProps {\r\n hit: Hit\r\n insights: WrappedInsightsClient\r\n}\r\n\r\ninterface HitsBoxProps extends StateResultsProvided {\r\n changeFocus: (value: boolean) => void\r\n}\r\n\r\nconst Hit2 = ({ hit, insights }: HitProps) => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n const breadcrumbsList = getBreadcrumbs(hit)\r\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\r\n return (\r\n \r\n \r\n insights('clickedObjectIDsAfterSearch', {\r\n eventName: 'Search in top bar',\r\n objectIDs: [hit.objectID],\r\n })\r\n }\r\n >\r\n \r\n \r\n {DocIcon && }\r\n \r\n \r\n \r\n \r\n \r\n {`In ${hit.doctype}`}\r\n {breadcrumbsList.length > 0 && (\r\n \r\n )}\r\n {breadcrumbsList.map((filter: string, index: number) => (\r\n \r\n {filter}\r\n {index < breadcrumbsList.length - 1 ? (\r\n \r\n ) : null}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst HitWithInsights = connectHitInsights(aa)(Hit2)\r\n\r\nconst HitsBox = connectStateResults(\r\n ({ searchState, searchResults, changeFocus }) => {\r\n const router = useRouter()\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const seeAllSubmit = (keyword: string) => {\r\n router.push({\r\n pathname: '/search',\r\n query: { keyword },\r\n })\r\n changeFocus(false)\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const setQueryIDAndPosition = (hit: Hit, index: number): any => {\r\n return {\r\n ...hit,\r\n __queryID: searchResults.queryID || '',\r\n __position: searchResults.hitsPerPage * searchResults.page + index + 1,\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {searchResults && (\r\n \r\n \r\n \r\n {searchResults.hits.map(\r\n (searchResult, index) =>\r\n index < 7 && (\r\n changeFocus(false)}\r\n >\r\n \r\n \r\n )\r\n )}\r\n \r\n {searchResults.hits.length > 7 && (\r\n seeAllSubmit(searchState.query || '')}\r\n >\r\n \r\n {messages[locale]['search_input.see_all'] || 'See all results'}\r\n \r\n \r\n )}\r\n {!searchResults.hits.length && (\r\n \r\n \r\n {messages[locale]['search_input.empty'] || 'No results found. Try different search terms.'}\r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n )\r\n }\r\n)\r\n\r\nexport default HitsBox\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst APIGuidesIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default APIGuidesIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst APIReferenceIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default APIReferenceIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst AppDevelopmentIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default AppDevelopmentIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ReleaseNotesIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ReleaseNotesIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst StorefrontDevelopmentIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default StorefrontDevelopmentIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst VTEXIOAppsIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default VTEXIOAppsIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst TroubleshootingIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default TroubleshootingIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst AddedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default AddedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst DeprecatedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default DeprecatedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst FixedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default FixedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ImprovedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ImprovedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst RemovedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default RemovedIcon\r\n","import { Hit } from 'react-instantsearch-core'\r\n\r\nimport APIGuidesIcon from 'components/icons/api-guides-icon'\r\nimport APIReferenceIcon from 'components/icons/api-reference-icon'\r\nimport AppDevelopmentIcon from 'components/icons/app-development-icon'\r\nimport ReleaseNotesIcon from 'components/icons/release-notes-icon'\r\nimport StorefrontDevelopmentIcon from 'components/icons/storefront-development-icon'\r\nimport VTEXIOAppsIcon from 'components/icons/vtex-io-apps-icon'\r\nimport TroubleshootingIcon from 'components/icons/troubleshooting-icon'\r\nimport { IconComponent, Section } from './typings/types'\r\nimport AddedIcon from 'components/icons/added-icon'\r\nimport DeprecatedIcon from 'components/icons/deprecated-icon'\r\nimport FixedIcon from 'components/icons/fixed-icon'\r\nimport ImprovedIcon from 'components/icons/improved-icon'\r\nimport RemovedIcon from 'components/icons/removed-icon'\r\n\r\nexport const getBreadcrumbs = (hit: Hit) => {\r\n const breadcrumbs: string[] = []\r\n if (hit.doctype === 'API Reference' && hit.doccategory)\r\n breadcrumbs.push(hit.doccategory)\r\n breadcrumbs.push(hit.doctitle)\r\n return breadcrumbs\r\n}\r\n\r\nexport const getRelativeURL = (url: string) => {\r\n const relativeURL = url.replace(/^(?:\\/\\/|[^/]+)*\\//, '')\r\n return '/' + relativeURL\r\n}\r\n\r\ninterface IconsI {\r\n name: string\r\n Icon: IconComponent\r\n}\r\n\r\nconst iconsMap: IconsI[] = [\r\n {\r\n Icon: APIGuidesIcon,\r\n name: 'Guides',\r\n },\r\n {\r\n Icon: APIReferenceIcon,\r\n name: 'API Reference',\r\n },\r\n {\r\n Icon: AppDevelopmentIcon,\r\n name: 'App Development',\r\n },\r\n {\r\n Icon: StorefrontDevelopmentIcon,\r\n name: 'Storefront Development',\r\n },\r\n {\r\n Icon: VTEXIOAppsIcon,\r\n name: 'VTEX IO Apps',\r\n },\r\n {\r\n Icon: TroubleshootingIcon,\r\n name: 'Troubleshooting',\r\n },\r\n {\r\n Icon: ReleaseNotesIcon,\r\n name: 'Release Notes',\r\n },\r\n]\r\n\r\nexport const getIcon = (name: string) => {\r\n return iconsMap.find((icon) => icon.name === name)?.Icon\r\n}\r\n\r\nexport const getIconFromSection = (sections: Section[][], id: string) => {\r\n return sections.flat().find((section) => section.id === id)?.Icon\r\n}\r\n\r\nexport type ActionType =\r\n | 'added'\r\n | 'deprecated'\r\n | 'fixed'\r\n | 'improved'\r\n | 'removed'\r\nexport interface Action {\r\n type: ActionType\r\n title: string\r\n Icon: IconComponent\r\n}\r\n\r\nconst actions: Action[] = [\r\n {\r\n type: 'added',\r\n title: 'Added',\r\n Icon: AddedIcon,\r\n },\r\n {\r\n type: 'deprecated',\r\n title: 'Deprecated',\r\n Icon: DeprecatedIcon,\r\n },\r\n {\r\n type: 'fixed',\r\n title: 'Fixed',\r\n Icon: FixedIcon,\r\n },\r\n {\r\n type: 'improved',\r\n title: 'Improved',\r\n Icon: ImprovedIcon,\r\n },\r\n {\r\n type: 'removed',\r\n title: 'Removed',\r\n Icon: RemovedIcon,\r\n },\r\n]\r\n\r\nexport const getAction = (actionType: ActionType): Action => {\r\n return actions.find((action) => action.type === actionType) as Action\r\n}\r\n\r\nexport const getTitleById = (sections: Section[][], id: string) => {\r\n return sections.flat().find((item) => item.id === id)?.title || id\r\n}\r\n","import { useEffect, useRef, useState } from 'react'\r\nimport { connectHighlight } from 'react-instantsearch-dom'\r\nimport { HighlightProps, Hit } from 'react-instantsearch-core'\r\nimport { Flex, Text } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\ninterface HighLightPartsProps {\r\n index: number\r\n isBetween: boolean\r\n size: number\r\n}\r\n\r\ninterface HitHighlightProps {\r\n value: string\r\n isHighlighted: boolean\r\n}\r\ninterface CustomHighlightProps extends HighlightProps {\r\n searchPage?: boolean\r\n}\r\n\r\nconst Highlight = ({\r\n highlight,\r\n attribute,\r\n hit,\r\n searchPage,\r\n}: CustomHighlightProps) => {\r\n const [parsedHit, setParsedHit] = useState([])\r\n const textContainer = useRef(null)\r\n const hitHighlights: HitHighlightProps[] = highlight({\r\n highlightProperty: '_highlightResult',\r\n attribute: hit.type != 'content' ? `hierarchy.${hit.type}` : attribute,\r\n hit,\r\n })\r\n const maxDescriptionSize = 700\r\n const ellipsedContent: HitHighlightProps[] = []\r\n if (searchPage) {\r\n let charCount = 0\r\n hitHighlights.forEach((part) => {\r\n if (maxDescriptionSize - charCount <= 0) return\r\n if (part.value.length + charCount >= maxDescriptionSize) {\r\n part.value =\r\n part.value.slice(0, maxDescriptionSize - charCount - 3) + '...'\r\n }\r\n charCount += part.value.length\r\n ellipsedContent.push(part)\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (searchPage) return\r\n const titleSize = textContainer.current\r\n ? textContainer.current.offsetWidth / 7.75\r\n : 40\r\n\r\n const highlightParts: HighLightPartsProps[] = []\r\n let highlightCount = 0,\r\n highlightLength = 0\r\n\r\n hitHighlights.forEach((match: HitHighlightProps, index: number) => {\r\n const isBetween =\r\n index > 0 && index < hitHighlights.length - 1 ? true : false\r\n if (match.isHighlighted) {\r\n if (isBetween) highlightCount++\r\n highlightCount++\r\n highlightLength += match.value.length\r\n } else {\r\n highlightParts.push({\r\n index,\r\n isBetween,\r\n size: match.value.length,\r\n })\r\n }\r\n })\r\n\r\n highlightParts.sort(\r\n (a: HighLightPartsProps, b: HighLightPartsProps) => a.size - b.size\r\n )\r\n\r\n let sizeRemaining = titleSize - highlightLength\r\n let size = sizeRemaining / (highlightCount || 1)\r\n\r\n highlightParts.forEach((match: HighLightPartsProps) => {\r\n const value = hitHighlights[match.index].value\r\n if (match.isBetween) {\r\n if (match.size >= size * 2) {\r\n const reticences = (size * 2 - 3) / 2\r\n hitHighlights[match.index].value =\r\n value.slice(0, reticences) +\r\n '...' +\r\n value.slice(value.length - reticences)\r\n sizeRemaining -= size * 2\r\n } else {\r\n sizeRemaining -= match.size\r\n }\r\n highlightCount -= 2\r\n } else {\r\n if (match.size >= size) {\r\n if (match.index === 0)\r\n hitHighlights[match.index].value =\r\n '...' + value.slice(value.length - (size - 3))\r\n else\r\n hitHighlights[match.index].value = value.slice(0, size - 3) + '...'\r\n sizeRemaining -= size\r\n } else {\r\n sizeRemaining -= match.size\r\n }\r\n highlightCount -= 1\r\n }\r\n size = sizeRemaining / highlightCount\r\n hitHighlights[match.index].value = hitHighlights[\r\n match.index\r\n ].value.replace(/\\s+/g, '\\u00A0')\r\n })\r\n setParsedHit(hitHighlights)\r\n }, [hit, textContainer.current])\r\n\r\n return (\r\n \r\n \r\n {(searchPage ? ellipsedContent : parsedHit).map(\r\n (part: HitHighlightProps, index: number) =>\r\n part.isHighlighted ? (\r\n \r\n {part.value}\r\n \r\n ) : (\r\n part.value\r\n )\r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\ninterface HighlightPassedThru {\r\n hit: Hit\r\n attribute: string\r\n highlightProperty?: string | undefined\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst connectedHighlight: React.ComponentClass> =\r\n connectHighlight(Highlight)\r\n\r\nexport default connectedHighlight\r\n","import algoliasearch, { AlgoliaSearchOptions } from 'algoliasearch/lite'\r\nimport aa from 'search-insights'\r\nimport { MultipleQueriesQuery } from '@algolia/client-search'\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport let searchClient: any = {}\r\nexport let searchIndex = ''\r\n\r\ninterface AlgoliaConfig {\r\n appId: string\r\n apiKey: string\r\n index: string\r\n algoliaOptions?: AlgoliaSearchOptions\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n customOptions?: any\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n instantSearchConfigs?: any\r\n useLanguageFilter?: boolean\r\n}\r\n\r\nconst createAlgoliaClient = (config: AlgoliaConfig) => {\r\n const {\r\n apiKey,\r\n appId,\r\n index,\r\n algoliaOptions,\r\n customOptions,\r\n instantSearchConfigs,\r\n useLanguageFilter = true,\r\n } = config\r\n searchIndex = index\r\n\r\n aa('init', {\r\n appId: appId || '',\r\n apiKey: apiKey || '',\r\n useCookie: false,\r\n })\r\n\r\n aa('getUserToken', null, (err) => {\r\n if (err) {\r\n console.error(err)\r\n return\r\n }\r\n })\r\n\r\n const algoliaClient = algoliasearch(appId || '', apiKey || '', algoliaOptions)\r\n\r\n searchClient = {\r\n ...algoliaClient,\r\n ...customOptions,\r\n instantSearchConfigs,\r\n useLanguageFilter,\r\n search(requests: MultipleQueriesQuery[]) {\r\n if (requests.every(({ params }) => !params?.query)) return\r\n return algoliaClient.search(requests)\r\n },\r\n }\r\n}\r\n\r\nexport default createAlgoliaClient\r\n","import { Flex, Text, Link } from '@vtex/brand-ui'\r\nimport EditIcon from 'components/icons/edit-icon'\r\nimport LikeIcon from 'components/icons/like-icon'\r\nimport LikeSelectedIcon from 'components/icons/like-selected-icon'\r\nimport { useContext, useEffect, useRef, useState } from 'react'\r\nimport styles from './styles'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport ShareButton from 'components/share-button'\r\n\r\nexport interface DocPath {\r\n /** Slug that corresponds to the current page. */\r\n slug?: string\r\n /** Github edit URL to the corresponding documentation file. */\r\n urlToEdit?: string\r\n /** Whether is possible for the user to suggest edits or not. */\r\n suggestEdits?: boolean\r\n /** Include or not a share button. */\r\n shareButton?: boolean\r\n /** Executes when the user sends the feedback. Receives whether it was positive (liked). */\r\n sendFeedback: (liked: boolean) => Promise\r\n /** Whether to render the small version of the component or not. */\r\n small?: boolean\r\n}\r\n\r\nconst FeedbackSection = ({\r\n slug,\r\n urlToEdit,\r\n suggestEdits = true,\r\n shareButton = false,\r\n sendFeedback,\r\n small = false,\r\n}: DocPath) => {\r\n const [feedback, setFeedback] = useState(undefined)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n // Reset feedback selection whenever the page (slug) changes\r\n useEffect(() => {\r\n setFeedback(undefined)\r\n }, [slug])\r\n\r\n const handleSend = async (liked: boolean) => {\r\n if (feedback !== undefined) return\r\n setFeedback(liked)\r\n try {\r\n await sendFeedback(liked)\r\n } catch (e) {\r\n setFeedback(undefined)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {feedback !== undefined\r\n ? messages[locale]['feedback_section.response']\r\n : messages[locale]['feedback_section.question']}\r\n \r\n\r\n \r\n {/* LIKE */}\r\n handleSend(true)}\r\n role=\"button\"\r\n aria-pressed={feedback === true}\r\n data-cy=\"feedback-section-like\"\r\n >\r\n {feedback === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {!small && (\r\n {messages[locale]['feedback_section.positive']}\r\n )}\r\n \r\n\r\n {/* DISLIKE */}\r\n handleSend(false)}\r\n role=\"button\"\r\n aria-pressed={feedback === false}\r\n data-cy=\"feedback-section-dislike\"\r\n >\r\n {feedback === false ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {!small && (\r\n {messages[locale]['feedback_section.negative']}\r\n )}\r\n \r\n \r\n \r\n {suggestEdits && (\r\n \r\n \r\n {messages[locale]['feedback_section.edit']}\r\n \r\n )}\r\n {shareButton && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default FeedbackSection\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst EditIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default EditIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LikeIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LikeIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LikeSelectedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LikeSelectedIcon\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\ntype StyleFn = (opts?: { small?: boolean }) => SxStyleProp\r\n\r\nconst container: StyleFn = ({ small } = {}) => ({\r\n width: '100%',\r\n flexDirection: small ? 'column' : ['column', 'row'],\r\n alignItems: small ? 'flex-start' : 'center',\r\n alignContent: ['initial', 'space-between'],\r\n justifyContent: ['initial', 'space-between'],\r\n marginTop: small ? '0px' : '32px',\r\n marginBottom: small ? '0px' : '16px',\r\n gap: small ? '8px' : '0px',\r\n})\r\n\r\nconst question: StyleFn = ({ small } = {}) => ({\r\n fontSize: small ? '12px' : '16px',\r\n lineHeight: '18px',\r\n color: '#4A596B',\r\n})\r\n\r\nconst iconsContainer: StyleFn = ({ small } = {}) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: small ? '0px' : '4px',\r\n ml: small ? '3px' : '6px',\r\n})\r\n\r\nconst likeContainer: SxStyleProp = {\r\n paddingBottom: ['16px', '0'],\r\n borderBottom: ['1px solid #E7E9EE', 'none'],\r\n mt: ['8px', '0'],\r\n mb: ['16px', '0'],\r\n width: ['100%', 'auto'],\r\n justifyContent: ['center', 'initial'],\r\n alignItems: 'center',\r\n}\r\n\r\nconst likeIcon: SxStyleProp = {\r\n mr: '2px',\r\n}\r\n\r\nconst dislikeIcon: SxStyleProp = {\r\n mr: '2px',\r\n transform: 'rotateX(180deg) rotateY(180deg)',\r\n}\r\n\r\nconst button: SxStyleProp = {\r\n ':hover': {\r\n cursor: 'pointer',\r\n color: '#000711',\r\n 'svg > path': {\r\n stroke: '#000711',\r\n },\r\n },\r\n}\r\n\r\nconst buttonActive: SxStyleProp = {\r\n cursor: 'pointer',\r\n color: '#000711',\r\n 'svg > path': {\r\n stroke: '#000711',\r\n },\r\n}\r\n\r\nconst selectedButton: SxStyleProp = {\r\n color: 'muted.1',\r\n}\r\n\r\nconst box: StyleFn = ({ small } = {}) => ({\r\n alignItems: 'center',\r\n color: 'muted.0',\r\n fontSize: small ? '12px' : '16px',\r\n lineHeight: '22px',\r\n})\r\n\r\nconst disabled: SxStyleProp = {\r\n display: 'none !important',\r\n}\r\n\r\nconst editContainer: StyleFn = ({ small } = {}) => ({\r\n ...box({ small }),\r\n ...button,\r\n ':hover': {\r\n color: '#000711 !important',\r\n },\r\n // ml: ['0', 'auto'],\r\n color: '#4A596B !important',\r\n display: 'flex',\r\n})\r\n\r\nconst editIcon: SxStyleProp = { mr: '4px' }\r\n\r\nconst shareButton: SxStyleProp = {\r\n // ml: ['0', 'auto'],\r\n}\r\n\r\nexport default {\r\n disabled,\r\n container,\r\n question,\r\n likeContainer,\r\n likeIcon,\r\n dislikeIcon,\r\n editContainer,\r\n editIcon,\r\n box,\r\n button,\r\n buttonActive,\r\n selectedButton,\r\n shareButton,\r\n iconsContainer,\r\n}\r\n","import { Box, Button, Flex, Text } from '@vtex/brand-ui'\r\nimport FacebookIcon from 'components/icons/facebook-icon'\r\nimport LinkedinIcon from 'components/icons/linkedin-icon'\r\nimport ShareIcon from 'components/icons/share-icon'\r\nimport TwitterIcon from 'components/icons/twitter-icon'\r\nimport { useRef, useState } from 'react'\r\nimport {\r\n FacebookShareButton,\r\n LinkedinShareButton,\r\n TwitterShareButton,\r\n EmailShareButton,\r\n} from 'react-share'\r\nimport styles from './styles'\r\nimport EmailIcon from 'components/icons/email-icon'\r\nimport LinkIcon from 'components/icons/link-icon'\r\nimport { SxStyleProp } from '@vtex/brand-ui'\r\nimport useClickOutside from 'utils/hooks/useClickOutside'\r\n\r\ninterface Props {\r\n url: string\r\n sx?: SxStyleProp\r\n}\r\n\r\nconst ShareButton = ({ url, sx={} }: Props) => {\r\n const [isOpen, setIsOpen] = useState(false)\r\n const containerRef = useRef()\r\n useClickOutside(containerRef, () => setIsOpen(false))\r\n\r\n const handleCopyLink = async () => {\r\n try {\r\n if (window) await navigator.clipboard.writeText(window.location.href)\r\n } catch (error) {\r\n console.error('Error copying link to clipboard:', error)\r\n }\r\n }\r\n\r\n return (\r\n \r\n setIsOpen(!isOpen)}\r\n >\r\n Share\r\n \r\n {isOpen && (\r\n \r\n \r\n \r\n Copy link\r\n \r\n \r\n \r\n \r\n \r\n E-mail\r\n \r\n \r\n \r\n \r\n \r\n Twitter\r\n \r\n \r\n \r\n \r\n \r\n Facebook\r\n \r\n \r\n \r\n \r\n \r\n LinkedIn\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default ShareButton\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst FacebookIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default FacebookIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LinkedinIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default LinkedinIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ShareIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ShareIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst TwitterIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default TwitterIcon\r\n\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n position: 'relative',\r\n height: '24px',\r\n}\r\n\r\nconst button: SxStyleProp = {\r\n cursor: 'pointer',\r\n textTransform: 'none',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n color: '#4A596B',\r\n width: '24px',\r\n height: '24px',\r\n transition: '0.3s',\r\n ':hover': {\r\n color: '#000711 !important',\r\n textDecoration: 'none',\r\n },\r\n alignItems: 'start',\r\n}\r\n\r\nconst shareIcon: SxStyleProp = {\r\n marginRight: '4px',\r\n}\r\n\r\nconst innerButton: SxStyleProp = {\r\n gap: '16px',\r\n color: '#A1AAB7',\r\n cursor: 'pointer',\r\n transition: '0.3s',\r\n ':hover': {\r\n color: '#4A4A4A',\r\n },\r\n alignItems: 'center',\r\n}\r\n\r\nconst innerContainer: SxStyleProp = {\r\n position: 'absolute',\r\n backgroundColor: 'white',\r\n flexDirection: 'column',\r\n top: '100%',\r\n right: '0',\r\n mt: '8px',\r\n padding: '16px',\r\n gap: '16px',\r\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n borderRadius: '5px',\r\n\r\n ':before': {\r\n content: \"''\",\r\n position: 'absolute',\r\n top: '-8px',\r\n right: '8px',\r\n borderLeft: '8px solid transparent',\r\n borderRight: '8px solid transparent',\r\n borderBottom: '8px solid white',\r\n boxShadow: '0 16px 10px -17px rgba(0, 0, 0, 0.5)',\r\n },\r\n}\r\n\r\nconst divider: SxStyleProp = {\r\n borderBottom: '1px solid #E7E9EE',\r\n}\r\n\r\nexport default {\r\n container,\r\n button,\r\n shareIcon,\r\n innerButton,\r\n innerContainer,\r\n divider,\r\n}\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst EmailIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default EmailIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LinkIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LinkIcon\r\n\r\n","import { Box, Flex } from '@vtex/brand-ui'\r\nimport SearchSections from 'components/search-sections'\r\nimport SearchResults from 'components/search-results'\r\nimport SearchFilterTabBar from 'components/search-filter-tab-bar'\r\nimport SearchContextProvider from 'utils/context/search'\r\nimport styles from './styles'\r\nimport SearchInput from 'components/search-input'\r\n\r\nconst Search = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Search\r\n","import { Box } from '@vtex/brand-ui'\r\n\r\nimport SearchSection from 'components/search-section'\r\nimport styles from './styles'\r\nimport { useContext } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nconst SearchSections = () => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n\r\n const internalOnlySections = sidebarSections.map((section) =>\r\n section.filter((item) => !item.isExternalLink)\r\n )\r\n\r\n return (\r\n \r\n {internalOnlySections.map((sections, id) => (\r\n \r\n {id === 0 && }\r\n {sections.map((section, index) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n )\r\n}\r\n\r\nexport default SearchSections\r\n","import { Box, Flex, Text } from '@vtex/brand-ui'\r\nimport { useContext, useEffect } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport styles from './styles'\r\nimport { useRouter } from 'next/router.js'\r\nimport { FilterType, SearchContext } from 'utils/context/search'\r\nimport { Section } from 'utils/typings/types'\r\n\r\ninterface SearchSectionProps {\r\n dataElement: Section | null\r\n index?: number\r\n}\r\n\r\nconst SearchSection = ({ dataElement, index }: SearchSectionProps) => {\r\n const router = useRouter()\r\n const { filterSelectedSection, ocurrenceCount, changeFilterSelectedSection } =\r\n useContext(SearchContext)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const updateFilter = (value: FilterType) => {\r\n router.query.filter = value\r\n changeFilterSelectedSection(value)\r\n }\r\n\r\n useEffect(() => {\r\n updateFilter('')\r\n }, [router.query])\r\n\r\n return !dataElement ? (\r\n updateFilter('')}>\r\n \r\n {messages[locale]['search_results.all'] || 'All results' }\r\n \r\n \r\n {ocurrenceCount['']}\r\n \r\n \r\n ) : (\r\n updateFilter(dataElement.id)}\r\n >\r\n \r\n \r\n \r\n {dataElement.title}\r\n \r\n \r\n \r\n {ocurrenceCount[dataElement.id] || 0}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SearchSection\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst sectionContainer: SxStyleProp = {\r\n justifyContent: 'space-between',\r\n padding: '8px',\r\n mb: '8px',\r\n cursor: 'pointer',\r\n ':active, :hover': {\r\n backgroundColor: '#F8F7FC',\r\n borderRadius: '4px',\r\n '.search-section-title': {\r\n color: '#000711',\r\n },\r\n '.search-section-count': {\r\n background: '#E7E9EE',\r\n },\r\n },\r\n}\r\n\r\nconst sectionIconTitleBox: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst sectionIcon: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n mr: '8px',\r\n}\r\n\r\nconst sectionTitle: SxStyleProp = {\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n}\r\n\r\nconst sectionTitleActive: SxStyleProp = {\r\n ...sectionTitle,\r\n color: '#142032',\r\n fontWeight: '600',\r\n}\r\n\r\nconst sectionCount: SxStyleProp = {\r\n background: '#F8F7FC',\r\n borderRadius: '24px',\r\n width: 'auto',\r\n textAlign: 'center',\r\n px: '8px',\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n}\r\n\r\nconst allResultsText: SxStyleProp = {\r\n ...sectionTitle,\r\n ml: '24px',\r\n}\r\n\r\nconst allResultsTextActive: SxStyleProp = {\r\n ...allResultsText,\r\n fontWeight: 'bold',\r\n color: '#0C1522',\r\n}\r\n\r\nexport default {\r\n sectionContainer,\r\n sectionIconTitleBox,\r\n sectionIcon,\r\n sectionTitle,\r\n sectionTitleActive,\r\n sectionCount,\r\n allResultsText,\r\n allResultsTextActive,\r\n}\r\n","import {\r\n createContext,\r\n Dispatch,\r\n ReactNode,\r\n SetStateAction,\r\n useState,\r\n} from 'react'\r\n\r\nexport type FilterType = string\r\n\r\ntype OcurrenceType = {\r\n [key: string]: number\r\n}\r\n\r\ntype SearchContextType = {\r\n filterSelectedSection: FilterType\r\n changeFilterSelectedSection: Dispatch>\r\n ocurrenceCount: OcurrenceType\r\n updateOcurrenceCount: (resultsData: OcurrenceType) => void\r\n}\r\n\r\nexport const SearchContext = createContext({\r\n filterSelectedSection: '',\r\n changeFilterSelectedSection: () => undefined,\r\n ocurrenceCount: {},\r\n updateOcurrenceCount: () => undefined,\r\n})\r\n\r\ninterface Props {\r\n children: ReactNode\r\n}\r\n\r\nconst SearchContextProvider = ({ children }: Props) => {\r\n const [filterSelectedSection, changeFilterSelectedSection] =\r\n useState('')\r\n const [ocurrenceCount, changeOcurrenceCount] = useState({})\r\n\r\n const updateOcurrenceCount = (resultsData: OcurrenceType) => {\r\n changeOcurrenceCount(resultsData)\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default SearchContextProvider\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n display: ['none', 'none', 'none', 'initial'],\r\n height: '100%',\r\n width: '242px',\r\n border: '1px solid #E7E9EE',\r\n borderRadius: '4px',\r\n mr: ['32px', '32px', '32px', '32px', '32px', '32px', '64px'],\r\n mt: '96px',\r\n}\r\n\r\nconst notesSection: SxStyleProp = {\r\n px: '8px',\r\n paddingTop: '8px',\r\n}\r\n\r\nconst docsSection: SxStyleProp = {\r\n ...notesSection,\r\n borderBottom: '1px solid #E7E9EE',\r\n}\r\n\r\nexport default {\r\n container,\r\n notesSection,\r\n docsSection,\r\n}\r\n","import { useRouter } from 'next/router.js'\r\nimport { useContext, useState } from 'react'\r\n\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport { Box, Text } from '@vtex/brand-ui'\r\n\r\nimport { Configure, InstantSearch } from 'react-instantsearch-dom'\r\nimport { SearchState } from 'react-instantsearch-core'\r\nimport InfiniteHits from './infiniteHits'\r\n\r\nimport styles from './styles'\r\nimport { SearchContext } from 'utils/context/search'\r\nimport { searchClient, searchIndex } from 'utils/config/search-config'\r\n\r\nconst SearchResults = () => {\r\n const router = useRouter()\r\n const { filterSelectedSection, ocurrenceCount } = useContext(SearchContext)\r\n const { locale } = useContext(LibraryContext)\r\n const filters = [\r\n `language:${locale}`,\r\n filterSelectedSection ? `doctype:\"${filterSelectedSection}\"` : '',\r\n ]\r\n .filter(Boolean)\r\n .join(' AND ')\r\n const [prevFilter, setPrevFilter] = useState('')\r\n const [searchState, setSearchState] = useState({})\r\n\r\n const updateSearchState = (currentState: SearchState) => {\r\n const page = filters !== prevFilter ? 1 : currentState.page || 1\r\n setPrevFilter(filters)\r\n setSearchState({\r\n ...currentState,\r\n page,\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n {`${messages[locale]['search_results.showing'] || 'Showing'} ${\r\n ocurrenceCount[filterSelectedSection] === undefined\r\n ? ''\r\n : ocurrenceCount[filterSelectedSection]\r\n } ${messages[locale]['search_results.results_for'] || 'results for'} ${\r\n router.query.keyword\r\n } ${messages[locale]['search_results.in'] || 'in'} ${\r\n !filterSelectedSection\r\n ? messages[locale]['search_results.all_lowercase'] || 'all results'\r\n : filterSelectedSection\r\n }`}\r\n \r\n
\r\n \r\n \r\n updateSearchState(currentState)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default SearchResults\r\n","import { useContext, useEffect, useMemo, useRef } from 'react'\r\nimport {\r\n connectInfiniteHits,\r\n connectStateResults,\r\n} from 'react-instantsearch-dom'\r\nimport {\r\n Hit,\r\n InfiniteHitsProvided,\r\n StateResultsProvided,\r\n} from 'react-instantsearch-core'\r\nimport SearchCard from 'components/search-card'\r\nimport {\r\n ActionType,\r\n getIconFromSection,\r\n getRelativeURL,\r\n getTitleById,\r\n} from 'utils/search-utils'\r\nimport { Box, Flex } from '@vtex/brand-ui'\r\nimport { MethodType } from 'utils/typings/types'\r\nimport { SearchContext } from 'utils/context/search'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport type FilteredHit2 = Hit & { filteredMatches?: Hit[] }\r\n\r\ninterface HitProps {\r\n hit: FilteredHit2\r\n}\r\n\r\nconst HitCard = ({ hit }: HitProps) => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n const breadcrumbTitle = getTitleById(sidebarSections, hit.doctype)\r\n\r\n const breadcrumbs = [\r\n breadcrumbTitle,\r\n ...(hit.doccategory ? [hit.doccategory] : []),\r\n ,\r\n hit.doctitle,\r\n ]\r\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst StateResults = connectStateResults(\r\n ({ searchResults }: StateResultsProvided) => {\r\n const { updateOcurrenceCount } = useContext(SearchContext)\r\n\r\n useEffect(() => {\r\n if (!searchResults) return\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const results = searchResults as any\r\n const isFilteringByDoctype =\r\n typeof results?._state.filters === 'string' &&\r\n results._state.filters.includes('doctype:')\r\n\r\n const facets = results?.facets as\r\n | Array<{\r\n name: string\r\n data: Record\r\n exhaustive?: boolean\r\n }>\r\n | undefined\r\n\r\n const doctypeFacet = facets?.find((facet) => facet.name === 'doctype')\r\n const nbHits = results?.nbHits ?? 0\r\n\r\n const formattedFacets: Record = {}\r\n\r\n if (doctypeFacet?.data) {\r\n Object.entries(doctypeFacet.data).forEach(([key, value]) => {\r\n if (typeof value === 'number') {\r\n formattedFacets[key] = value\r\n }\r\n })\r\n }\r\n\r\n formattedFacets[''] = nbHits\r\n\r\n if (!isFilteringByDoctype) {\r\n updateOcurrenceCount(formattedFacets)\r\n }\r\n }, [searchResults?.queryID])\r\n\r\n return null\r\n }\r\n)\r\n\r\nconst InfiniteHits = ({ hits, hasMore, refineNext }: InfiniteHitsProvided) => {\r\n const scrollRef = useRef(null)\r\n\r\n function onSentinelIntersection(entries: IntersectionObserverEntry[]) {\r\n entries.forEach((entry: IntersectionObserverEntry) => {\r\n if (entry.isIntersecting && hasMore) {\r\n refineNext()\r\n }\r\n })\r\n }\r\n\r\n const filteredResult = useMemo(() => {\r\n const mergeHits: FilteredHit2[] = [] //hitsData\r\n hits.forEach((hit) => {\r\n const alreadyExists = mergeHits.findIndex(\r\n (e) => e.url_without_anchor === hit.url_without_anchor\r\n )\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const filteredHit: any = { ...hit, filteredMatches: [] }\r\n if (alreadyExists >= 0) {\r\n mergeHits[alreadyExists].filteredMatches?.push(filteredHit)\r\n } else mergeHits.push(filteredHit)\r\n })\r\n return mergeHits\r\n }, [hits])\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(onSentinelIntersection, {})\r\n\r\n if (scrollRef.current) observer.observe(scrollRef.current)\r\n return () => {\r\n observer.disconnect()\r\n }\r\n }, [hits])\r\n return (\r\n \r\n \r\n {filteredResult.map((hit: Hit, index: number) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default connectInfiniteHits(InfiniteHits)\r\n","import { Box, Flex, Text, IconCaret, Tooltip } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport Link from 'next/link.js'\r\nimport CustomHighlight from 'components/search-input/customHighlight'\r\nimport { useState } from 'react'\r\nimport { useContext } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport ExpandedResultsIcon from 'components/icons/expanded-results-icon'\r\nimport { Hit } from 'react-instantsearch-core'\r\nimport MethodCategory from 'components/method-category'\r\nimport { IconComponent, MethodType } from 'utils/typings/types'\r\nimport { ActionType, getAction } from 'utils/search-utils'\r\n\r\nexport type FilteredHit = Hit & { filteredMatches?: Hit[] }\r\ninterface SearchCardProps {\r\n doc: string\r\n title: string\r\n breadcrumbs?: string[]\r\n method?: MethodType\r\n actionType?: ActionType\r\n Icon?: IconComponent\r\n url: string\r\n hit: FilteredHit\r\n}\r\n\r\nconst SearchCard = ({\r\n Icon,\r\n title,\r\n method,\r\n breadcrumbs,\r\n actionType,\r\n url,\r\n hit,\r\n}: SearchCardProps) => {\r\n const actionValue = actionType ? getAction(actionType) : null\r\n const [toggleChildResults, setToggleChildResults] = useState(false)\r\n const { locale } = useContext(LibraryContext)\r\n return (\r\n \r\n \r\n \r\n \r\n {Icon && }\r\n {method ? (\r\n \r\n ) : null}\r\n {title === 'overview' && `${hit.doccategory} `}\r\n {title}\r\n \r\n \r\n \r\n \r\n \r\n {toggleChildResults &&\r\n hit.filteredMatches?.map((childHit, index: number) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n {breadcrumbs ? (\r\n \r\n \r\n {messages[locale]['search_card.in'] || 'In'}\r\n \r\n {breadcrumbs.map((breadcrumb, index) => (\r\n \r\n \r\n {breadcrumb}\r\n \r\n {index < breadcrumbs.length - 1 ? (\r\n \r\n ) : null}\r\n \r\n ))}\r\n \r\n ) : null}\r\n {actionValue ? (\r\n \r\n {' '}\r\n {actionValue?.title}\r\n \r\n ) : null}\r\n \r\n {hit.filteredMatches && hit.filteredMatches.length > 0 && (\r\n {\r\n setToggleChildResults(!toggleChildResults)\r\n event.stopPropagation()\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SearchCard\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport { methodsColors } from 'components/method-category/functions'\r\nimport { MethodType } from 'utils/typings/unionTypes'\r\n\r\nconst container: SxStyleProp = {\r\n justifyContent: 'space-between',\r\n borderRadius: '9px',\r\n border: '1px solid #DDDDDD',\r\n width: '100%',\r\n mb: '18px',\r\n paddingTop: '26px',\r\n paddingBottom: '10px',\r\n paddingLeft: ['13px', '44px'],\r\n paddingRight: ['13px', '34px'],\r\n background: '#FFFFFF',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst containerActive = (method: MethodType | undefined): SxStyleProp => {\r\n const methodCategory = method ? methodsColors[method] : ''\r\n return {\r\n ...container,\r\n ':hover': {\r\n background: '#F8F7FC',\r\n '.searchCardTitle, .searchCardDescription': {\r\n color: '#142032',\r\n },\r\n '.method-category': {\r\n ...methodCategory,\r\n },\r\n },\r\n }\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n fontSize: ['16px', '18px'],\r\n lineHeight: ['22px', '24px'],\r\n color: 'muted.0',\r\n}\r\n\r\nconst httpMethod: SxStyleProp = {\r\n mr: '4px',\r\n}\r\n\r\nconst icon: SxStyleProp = {\r\n width: '24px',\r\n height: '24px',\r\n mr: '8px',\r\n path: {\r\n stroke: '#A1A8B3',\r\n },\r\n}\r\n\r\nconst description: SxStyleProp = {\r\n fontSize: '16px',\r\n lineHeight: '22px',\r\n paddingLeft: '32px',\r\n color: 'muted.0',\r\n mt: '4px',\r\n mb: '8px',\r\n}\r\n\r\nconst descriptionToggle: SxStyleProp = {\r\n height: 'auto',\r\n minWidth: 'auto',\r\n}\r\n\r\nconst descriptionExpandedItem: SxStyleProp = {\r\n mt: '24px',\r\n}\r\n\r\nconst breadcrumbsContainer: SxStyleProp = {\r\n display: ['none', 'flex'],\r\n paddingLeft: '32px',\r\n alignItems: 'center',\r\n}\r\n\r\nconst alignCenter: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst documentation: SxStyleProp = {\r\n ...alignCenter,\r\n minWidth: 'max-content',\r\n}\r\n\r\nconst breadcrumb: SxStyleProp = {\r\n color: 'muted.1',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst lastBreadcrumb: SxStyleProp = {\r\n ...breadcrumb,\r\n margin: 'auto 0',\r\n display: 'block',\r\n overflow: 'hidden',\r\n maxWidth: 'max-content',\r\n whiteSpace: 'nowrap',\r\n}\r\n\r\nconst breadcrumbsIn: SxStyleProp = {\r\n ...breadcrumb,\r\n mr: '4px',\r\n minWidth: 'fit-content',\r\n}\r\n\r\nconst breadcrumbsArrow: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n color: 'muted.2',\r\n}\r\n\r\nconst actionContainer: SxStyleProp = {\r\n paddingLeft: '32px',\r\n alignItems: 'center',\r\n}\r\n\r\nconst actionIcon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n height: '16px',\r\n mr: '8px',\r\n}\r\n\r\nexport default {\r\n containerActive,\r\n title,\r\n httpMethod,\r\n icon,\r\n description,\r\n descriptionToggle,\r\n descriptionExpandedItem,\r\n breadcrumbsContainer,\r\n alignCenter,\r\n documentation,\r\n breadcrumb,\r\n lastBreadcrumb,\r\n breadcrumbsIn,\r\n breadcrumbsArrow,\r\n actionContainer,\r\n actionIcon,\r\n}\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\ninterface ExpandedResultsProps extends IconProps {\r\n active: boolean\r\n}\r\n\r\nconst ExpandedResultsIcon = ({ active }: ExpandedResultsProps) =>\r\n active ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\nexport default ExpandedResultsIcon\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst resultContainer: SxStyleProp = {\r\n width: ['80%', '544px', '544px', '544px', '720px', '720px', '1400px'],\r\n paddingTop: ['32px', '32px', '32px', '64px'],\r\n hr: {\r\n marginTop: '16px',\r\n marginBottom: '32px',\r\n borderTop: 'none',\r\n borderColor: '#DDDDDD',\r\n display: ['none', 'none', 'none', 'block'],\r\n },\r\n}\r\n\r\nconst resultText: SxStyleProp = {\r\n mb: '16px',\r\n fontSize: '16px',\r\n lineHeight: '22px',\r\n display: ['none', 'none', 'none', 'initial'],\r\n}\r\n\r\nconst paginationContainer: SxStyleProp = {\r\n mt: ['48px', '115px'],\r\n mb: '34px',\r\n justifyContent: 'center',\r\n}\r\n\r\nconst paginationLink: SxStyleProp = {\r\n fontSize: '16px',\r\n lineHeight: '20px',\r\n color: '#EE2565',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst paginationLinkDisabled: SxStyleProp = {\r\n ...paginationLink,\r\n color: 'muted.1',\r\n}\r\n\r\nconst paginationNumber: SxStyleProp = {\r\n display: 'flex',\r\n fontSize: ['14px', '16px'],\r\n lineHeight: '20px',\r\n color: '#4A596B',\r\n mx: ['18px', '27px'],\r\n}\r\n\r\nconst paginationActualNumber: SxStyleProp = {\r\n fontWeight: '700',\r\n mx: '4px',\r\n}\r\n\r\nconst noResults: SxStyleProp = {\r\n justifyContent: 'center',\r\n alignContent: 'center',\r\n padding: '12px',\r\n}\r\n\r\nexport default {\r\n resultContainer,\r\n resultText,\r\n paginationContainer,\r\n paginationLink,\r\n paginationLinkDisabled,\r\n paginationNumber,\r\n paginationActualNumber,\r\n noResults,\r\n}\r\n","import { useContext } from 'react'\r\nimport { Flex, Text } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport { SearchContext } from 'utils/context/search'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\nconst SearchFilterTab = ({ filter }: { filter: string }) => {\r\n const { filterSelectedSection, changeFilterSelectedSection, ocurrenceCount } =\r\n useContext(SearchContext)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n return (\r\n changeFilterSelectedSection(filter)}\r\n >\r\n \r\n {filter || messages[locale]['search_results.all'] || 'All results'}\r\n \r\n {ocurrenceCount[filter] || 0}\r\n \r\n )\r\n}\r\n\r\nconst SearchFilterTabBar = () => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n return (\r\n \r\n \r\n {sidebarSections.flat().map((section) => {\r\n return \r\n })}\r\n \r\n )\r\n}\r\n\r\nexport default SearchFilterTabBar\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n display: ['flex', 'flex', 'flex', 'none'],\r\n overflowX: 'scroll',\r\n scrollbarWidth: 'none',\r\n '::-webkit-scrollbar': {\r\n display: 'none',\r\n },\r\n}\r\n\r\nconst tab: (active: boolean) => SxStyleProp = (active) => ({\r\n pt: '8px',\r\n pb: '14px',\r\n px: '24px',\r\n cursor: 'pointer',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n borderBottom: `${active ? 2 : 1}px solid #${active ? 'D71D55' : 'DDDDDD'}`,\r\n minWidth: 'max-content',\r\n})\r\n\r\nconst tabTitle: (active: boolean) => SxStyleProp = (active) => ({\r\n fontSize: '14px',\r\n fontWeight: '600',\r\n lineHeight: '16.38px',\r\n whiteSpace: 'nowrap',\r\n color: `#${active ? 'D71D55' : '545454'}`,\r\n})\r\n\r\nconst tabCount: SxStyleProp = {\r\n px: '8px',\r\n ml: '2px',\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n lineHeight: '16px',\r\n borderRadius: '24px',\r\n backgroundColor: '#F8F7FC',\r\n}\r\n\r\nexport default { container, tab, tabTitle, tabCount }\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst searchBarContainer: SxStyleProp = {\r\n display: ['flex', 'flex', 'flex', 'none'],\r\n justifyContent: 'center',\r\n py: '16px',\r\n}\r\n\r\nconst body: SxStyleProp = {\r\n background: '#FFFFFF',\r\n justifyContent: 'center',\r\n}\r\n\r\nexport default {\r\n searchBarContainer,\r\n body,\r\n}\r\n","import { ReactNode, useContext } from 'react'\r\nimport { CookieConsent } from 'react-cookie-consent'\r\nimport styles from './styles'\r\nimport { Flex, SxStyleProp, Text } from '@vtex/brand-ui'\r\nimport { messages } from 'utils/get-message'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport aa from 'search-insights'\r\n\r\ninterface Props {\r\n onAccept: () => void\r\n}\r\n\r\ninterface ButtonProps {\r\n children: ReactNode[]\r\n style: SxStyleProp\r\n}\r\n\r\nconst Button = ({ children, style, ...props }: ButtonProps) => {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nconst CookieBar = ({ onAccept }: Props) => {\r\n const { locale } = useContext(LibraryContext)\r\n\r\n return (\r\n {\r\n aa('init', {\r\n partial: true,\r\n useCookie: true,\r\n })\r\n onAccept()\r\n }}\r\n declineButtonText={messages[locale]['cookie_bar.decline']}\r\n buttonText={messages[locale]['cookie_bar.accept']}\r\n ButtonComponent={Button}\r\n customButtonWrapperAttributes={{ style: styles.buttonContainer }}\r\n customContentAttributes={{ style: styles.barContent }}\r\n >\r\n {messages[locale]['cookie_bar.title']}\r\n {messages[locale]['cookie_bar.description']}\r\n \r\n )\r\n}\r\n\r\nexport default CookieBar\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst bar: SxStyleProp = {\r\n backgroundColor: '#FFF',\r\n borderRadius: '8px',\r\n color: '#5E6E84',\r\n padding: '20px',\r\n width: '80%',\r\n left: '50%',\r\n transform: 'translateX(-50%)',\r\n maxWidth: '1280px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n boxShadow: '0 0 10px rgba(0, 0, 0, 0.1)',\r\n}\r\n\r\nconst barContent: SxStyleProp = {\r\n display: 'flex',\r\n flex: '1 0 300px',\r\n flexDirection: 'column',\r\n maxWidth: '100%',\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n color: '#5E6E84',\r\n marginBottom: '10px',\r\n lineHeight: '28px',\r\n fontSize: '25px',\r\n fontWeight: '400',\r\n}\r\n\r\nconst buttonContainer: SxStyleProp = {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n gap: '10px',\r\n justifyContent: 'center',\r\n margin: '15px',\r\n}\r\n\r\nconst acceptButton: SxStyleProp = {\r\n background: '#F71963',\r\n color: '#FFF',\r\n padding: '7px 16px',\r\n borderRadius: '2px',\r\n margin: '0',\r\n height: '32px',\r\n fontWeight: '400',\r\n\r\n ':hover': {\r\n opacity: '0.7',\r\n },\r\n}\r\n\r\nconst declineButton: SxStyleProp = {\r\n border: '1px solid #F71963',\r\n background: '#FFF',\r\n color: '#F71963',\r\n borderRadius: '2px',\r\n fontWeight: '400',\r\n margin: '0',\r\n height: '32px',\r\n\r\n ':hover': {\r\n opacity: '0.7',\r\n },\r\n}\r\n\r\nexport default {\r\n bar,\r\n barContent,\r\n title,\r\n acceptButton,\r\n declineButton,\r\n buttonContainer,\r\n}\r\n","import { Button } from '@vtex/brand-ui'\r\nimport Tooltip from 'components/tooltip'\r\nimport CopyIcon from '../icons/copy-icon'\r\nimport { useState } from 'react'\r\nimport styles from './styles'\r\n\r\nconst CopyLinkButton = () => {\r\n const [tooltipText, setTooltipText] = useState('Copy')\r\n\r\n const handleCopy = () => {\r\n navigator.clipboard.writeText(window.location.href)\r\n setTooltipText('Copy')\r\n\r\n setTimeout(() => {\r\n setTooltipText('Copied!')\r\n }, 2000)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default CopyLinkButton\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CopyIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CopyIcon\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst copyIcon: SxStyleProp = {\r\n marginRight: '4px',\r\n}\r\n\r\nconst copyLinkButton: SxStyleProp = {\r\n textTransform: 'none',\r\n color: '#3F3F3F',\r\n fontWeight: '100',\r\n fontSize: '12px',\r\n lineHeight: '18px',\r\n height: 'none',\r\n padding: '8px 5px 8px 8px',\r\n border: '1px solid #A1AAB7',\r\n backgroundColor: 'white',\r\n ':hover': {\r\n backgroundColor: '#EFEFEF',\r\n },\r\n}\r\n\r\nexport default {\r\n copyIcon,\r\n copyLinkButton,\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport styles from './styles'\r\nimport { Flex } from '@vtex/brand-ui'\r\nimport { IconComponent } from 'utils/typings/types'\r\n\r\ninterface InputProps {\r\n value: string\r\n Icon?: IconComponent\r\n placeholder?: string\r\n onChange: (value: string) => void\r\n}\r\n\r\nconst Input = ({ value, onChange, placeholder = '', Icon }: InputProps) => {\r\n const [inputValue, setInputValue] = useState(value ?? '')\r\n\r\n useEffect(() => {\r\n if (inputValue !== value) setInputValue(value)\r\n }, [value])\r\n\r\n return (\r\n \r\n {Icon && }\r\n {\r\n setInputValue(e.currentTarget.value)\r\n onChange(e.currentTarget.value)\r\n }}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default Input\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst input: SxStyleProp = {\r\n background: 'none',\r\n border: '#F4F4F4',\r\n color: '#545454',\r\n fontSize: ['14px'],\r\n width: '100%',\r\n transition: 'flex 0.3s',\r\n outline: 'none',\r\n}\r\n\r\nconst icon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n mr: '8px',\r\n flex: 0,\r\n maxWidth: 'fit-content',\r\n}\r\n\r\nconst container: SxStyleProp = {\r\n paddingLeft: '12px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n background: '#F4F4F4',\r\n width: '100%',\r\n height: '40px',\r\n borderRadius: '4px',\r\n transition: 'all 0.3s ease-out',\r\n cursor: 'pointer',\r\n border: '1px solid #F4F4F4',\r\n\r\n ':hover': {\r\n transition: 'all 0.3s ease-out',\r\n border: '1px solid #3B3B3B',\r\n },\r\n}\r\n\r\nexport default { container, input, icon }\r\n"],"mappings":"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","names":["Fragment","text","text","i","checker","version","encode","version","searchIndex","body","parse","algoliasearch","algoliasearch","Box","useEffect","useRef","useState","Box","Flex","mermaid","jsx","jsxs","icon","link","Icon","jsx","PropTypes","Box","styles_default","jsx","Box","styles_default","useEffect","Box","Flex","Icon","jsx","jsxs","body","styles_default","jsx","jsxs","useEffect","Flex","styles_default","Box","Box","Flex","Link","container","styles_default","jsx","jsxs","title","description","Link","styles_default","Box","Flex","useEffect","useState","jsx","title","sidebarElementStatus","item","heading","img","heading","code","blockquote","blockquoteInfo","blockquoteDanger","blockquoteWarning","blockquoteSuccess","flexWrap","svgContainer","messages","jsx","jsxs","useState","icon","useRef","useEffect","mermaid","Box","Flex","item","jsx","Box","useContext","useEffect","Link","Box","Text","styles_default","jsx","jsxs","useContext","useEffect","headings","item","title","Link","Text","styles_default","Box","useEffect","useRef","useState","useContext","Flex","Text","Box","Link","linkContainer","styles_default","iconTooltip","useEffect","useRef","useState","Box","Flex","styles_default","Icon","jsx","jsx","jsxs","label","box","useRef","useState","useEffect","Box","Flex","styles_default","useRouter","useEffect","getIcon","icon","Flex","Box","Text","Button","useContext","useState","styles_default","Box","Flex","Text","Flex","Text","container","styles_default","categoryStyle","styles_default","Icon","jsx","jsxs","jsx","jsxs","Flex","Text","styles_default","useContext","useState","container","text","styles_default","jsx","jsxs","useState","useContext","Box","styles_default","Text","Flex","useRouter","useContext","Box","Flex","Link","Button","IconCaret","sectionDivider","styles_default","icon","styles_default","textStyle","jsx","jsxs","useContext","useRouter","slugPrefix","Box","styles_default","Flex","Button","IconCaret","Link","item","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","jsxs","Fragment","jsx","jsxs","documentation","useState","useContext","category","getIcon","Box","styles_default","Flex","Button","Text","sidebarSectionHidden","Fragment","jsx","jsxs","useState","useContext","useEffect","iconTooltip","useRef","Box","styles_default","Link","Flex","Text","Box","IconCaret","Button","arrowIcon","arrowIconActive","styles_default","useContext","Link","Box","Flex","Text","cardContainer","title","description","styles_default","cardContainer","styles_default","titleContainer","cardTitle","jsx","jsxs","title","description","link","Icon","Link","Box","cardContainer","Flex","titleContainer","Text","styles_default","useRef","useContext","useRouter","Flex","searchInput","searchIcon","styles_default","jsx","jsxs","useRouter","useRef","useContext","Flex","styles_default","useRouter","Link","Box","Flex","IconCaret","Text","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","item","useEffect","useRef","useState","Flex","Text","jsx","useState","useRef","useEffect","Flex","styles_default","Text","useContext","Fragment","jsx","jsxs","useContext","Link","Box","styles_default","Flex","Text","IconCaret","useRouter","Box","useContext","useRef","useState","aa","algoliasearch","jsx","jsxs","useContext","useState","resultsBox","useRef","Box","jsx","jsxs","useContext","styles_default","Box","Button","IconCaret","Flex","Text","Link","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","useContext","useEffect","useState","container","styles_default","Box","Button","Flex","Text","Icon","jsx","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","useRef","useState","container","button","styles_default","Icon","jsx","Icon","jsx","jsxs","jsx","jsxs","useState","useRef","Flex","styles_default","Button","Text","Box","jsx","jsxs","shareButton","useState","useContext","useEffect","Flex","styles_default","Text","Link","Box","Flex","Box","Box","Flex","Text","useContext","useEffect","styles_default","useRouter","createContext","useState","jsx","jsx","jsxs","useRouter","useContext","useEffect","Flex","styles_default","Text","Box","container","styles_default","useContext","jsx","jsxs","useContext","item","Box","styles_default","useRouter","useContext","useState","Box","Text","Configure","InstantSearch","useContext","useEffect","useMemo","useRef","connectStateResults","Box","Flex","Text","IconCaret","Tooltip","container","title","icon","description","alignCenter","styles_default","Link","useState","useContext","Icon","jsx","jsxs","jsx","jsxs","Icon","title","useState","useContext","Link","Flex","styles_default","Box","Text","breadcrumb","Tooltip","IconCaret","Box","Flex","jsx","jsxs","useContext","connectStateResults","useEffect","useRef","useMemo","Box","Flex","noResults","styles_default","jsx","jsxs","useRouter","useContext","useState","Box","styles_default","Text","InstantSearch","Configure","useContext","Flex","Text","container","styles_default","jsx","jsxs","useContext","Flex","styles_default","Text","styles_default","jsx","jsxs","Box","Flex","styles_default","search_default","useContext","title","styles_default","Flex","Text","aa","jsx","jsxs","Button","Flex","useContext","styles_default","Text","Button","Icon","jsx","jsxs","useState","styles_default","jsx","useState","Button","styles_default","useState","useEffect","icon","container","styles_default","Flex","jsx","jsxs","Icon","useState","useEffect","styles_default"]} +>>>>>>> 168317c (build: update dist files) +======= +{"version":3,"sources":["../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../node_modules/prop-types/node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@algolia/cache-common/dist/cache-common.esm.js","../node_modules/@algolia/cache-in-memory/dist/cache-in-memory.esm.js","../node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/requester-common/dist/requester-common.esm.js","../node_modules/@algolia/transporter/dist/transporter.esm.js","../node_modules/@algolia/client-analytics/dist/client-analytics.esm.js","../node_modules/@algolia/client-personalization/dist/client-personalization.esm.js","../node_modules/@algolia/client-search/dist/client-search.esm.js","../node_modules/@algolia/logger-common/dist/logger-common.esm.js","../node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js","../node_modules/algoliasearch/dist/algoliasearch.cjs.js","../node_modules/algoliasearch/index.js","../node_modules/algoliasearch/lite.js","../src/lib/markdown-renderer/MarkdownRenderer.tsx","../src/lib/markdown-renderer/components.tsx","../src/components/overview-card/styles.ts","../src/components/overview-card/index.tsx","../src/components/overview-card/icons.tsx","../src/components/youtube-frame/index.tsx","../src/components/steps/index.tsx","../src/components/steps/styles.ts","../src/components/lightbox/index.tsx","../src/components/icons/close-icon.tsx","../src/utils/hooks/useClickOutside.ts","../src/components/lightbox/styles.ts","../src/components/whats-next-card/index.tsx","../src/components/whats-next-card/styles.ts","../src/utils/context/libraryContext.tsx","../src/utils/string-utils.ts","../src/utils/mermaidInit.ts","../src/lib/markdown-renderer/styles.module.css","../src/messages/en.json","../src/messages/es.json","../src/messages/pt.json","../src/utils/get-message.ts","../src/lib/table-of-contents/TableOfContents.tsx","../src/lib/table-of-contents/styles.ts","../src/lib/sidebar/index.tsx","../src/lib/sidebar/styles.ts","../src/lib/sidebar/functions.ts","../src/components/tooltip/index.tsx","../src/components/tooltip/styles.ts","../src/components/icons/caret.tsx","../src/utils/navigation-utils.ts","../src/utils/sidebar-utils.ts","../src/components/sidebar-section/index.tsx","../src/components/sidebar-section/styles.ts","../src/components/sidebar-section-filter/index.tsx","../src/components/method-category/index.tsx","../src/components/method-category/styles.ts","../src/components/method-category/functions.ts","../src/components/icons/close-filter-icon.tsx","../src/components/sidebar-section-filter/styles.ts","../src/components/sidebar-elements/index.tsx","../src/components/sidebar-elements/styles.ts","../src/components/sidebar-elements/functions.tsx","../src/components/icons/search-icon.tsx","../src/components/icons/sidebar-toggle-icon.tsx","../src/components/icons/arrow-left-icon.tsx","../src/lib/hamburger-menu/index.tsx","../src/lib/hamburger-menu/styles.ts","../src/components/documentation-card/index.tsx","../src/components/documentation-card/styles.ts","../src/components/documentation-card/functions.ts","../src/components/search-input/index.tsx","../src/components/search-input/search-box.tsx","../src/components/search-input/styles.ts","../src/components/search-input/results-box.tsx","../src/components/icons/api-guides-icon.tsx","../src/components/icons/api-reference-icon.tsx","../src/components/icons/app-development-icon.tsx","../src/components/icons/release-notes-icon.tsx","../src/components/icons/storefront-development-icon.tsx","../src/components/icons/vtex-io-apps-icon.tsx","../src/components/icons/troubleshooting-icon.tsx","../src/components/icons/added-icon.tsx","../src/components/icons/deprecated-icon.tsx","../src/components/icons/fixed-icon.tsx","../src/components/icons/improved-icon.tsx","../src/components/icons/removed-icon.tsx","../src/utils/search-utils.ts","../src/components/search-input/customHighlight.tsx","../src/utils/config/search-config.ts","../src/lib/feedback-section/index.tsx","../src/components/icons/edit-icon.tsx","../src/components/icons/like-icon.tsx","../src/components/icons/like-selected-icon.tsx","../src/lib/feedback-section/styles.ts","../src/components/share-button/index.tsx","../src/components/icons/facebook-icon.tsx","../src/components/icons/linkedin-icon.tsx","../src/components/icons/share-icon.tsx","../src/components/icons/twitter-icon.tsx","../src/components/share-button/styles.ts","../src/components/icons/email-icon.tsx","../src/components/icons/link-icon.tsx","../src/lib/search/index.tsx","../src/components/search-sections/index.tsx","../src/components/search-section/index.tsx","../src/components/search-section/styles.ts","../src/utils/context/search.tsx","../src/components/search-sections/styles.ts","../src/components/search-results/index.tsx","../src/components/search-results/infiniteHits.tsx","../src/components/search-card/index.tsx","../src/components/search-card/styles.ts","../src/components/icons/expanded-results-icon.tsx","../src/components/search-results/styles.ts","../src/components/search-filter-tab-bar/index.tsx","../src/components/search-filter-tab-bar/styles.ts","../src/lib/search/styles.ts","../src/lib/cookie-bar/index.tsx","../src/lib/cookie-bar/styles.ts","../src/components/copy-link-button/index.tsx","../src/components/icons/copy-icon.tsx","../src/components/copy-link-button/styles.ts","../src/components/input/index.tsx","../src/components/input/styles.ts"],"sourcesContent":["/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","// @todo Add logger on options to debug when caches go wrong.\r\nfunction createFallbackableCache(options) {\r\n const caches = [...options.caches];\r\n const current = caches.shift(); // eslint-disable-line functional/immutable-data\r\n if (current === undefined) {\r\n return createNullCache();\r\n }\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n return current.get(key, defaultValue, events).catch(() => {\r\n return createFallbackableCache({ caches }).get(key, defaultValue, events);\r\n });\r\n },\r\n set(key, value) {\r\n return current.set(key, value).catch(() => {\r\n return createFallbackableCache({ caches }).set(key, value);\r\n });\r\n },\r\n delete(key) {\r\n return current.delete(key).catch(() => {\r\n return createFallbackableCache({ caches }).delete(key);\r\n });\r\n },\r\n clear() {\r\n return current.clear().catch(() => {\r\n return createFallbackableCache({ caches }).clear();\r\n });\r\n },\r\n };\r\n}\n\nfunction createNullCache() {\r\n return {\r\n get(_key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const value = defaultValue();\r\n return value\r\n .then(result => Promise.all([result, events.miss(result)]))\r\n .then(([result]) => result);\r\n },\r\n set(_key, value) {\r\n return Promise.resolve(value);\r\n },\r\n delete(_key) {\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createFallbackableCache, createNullCache };\n","function createInMemoryCache(options = { serializable: true }) {\r\n // eslint-disable-next-line functional/no-let\r\n let cache = {};\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const keyAsString = JSON.stringify(key);\r\n if (keyAsString in cache) {\r\n return Promise.resolve(options.serializable ? JSON.parse(cache[keyAsString]) : cache[keyAsString]);\r\n }\r\n const promise = defaultValue();\r\n const miss = (events && events.miss) || (() => Promise.resolve());\r\n return promise.then((value) => miss(value)).then(() => promise);\r\n },\r\n set(key, value) {\r\n // eslint-disable-next-line functional/immutable-data\r\n cache[JSON.stringify(key)] = options.serializable ? JSON.stringify(value) : value;\r\n return Promise.resolve(value);\r\n },\r\n delete(key) {\r\n // eslint-disable-next-line functional/immutable-data\r\n delete cache[JSON.stringify(key)];\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n cache = {};\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createInMemoryCache };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.20.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","const MethodEnum = {\r\n Delete: 'DELETE',\r\n Get: 'GET',\r\n Post: 'POST',\r\n Put: 'PUT',\r\n};\n\nexport { MethodEnum };\n","import { MethodEnum } from '@algolia/requester-common';\n\nfunction createMappedRequestOptions(requestOptions, timeout) {\r\n const options = requestOptions || {};\r\n const data = options.data || {};\r\n Object.keys(options).forEach(key => {\r\n if (['timeout', 'headers', 'queryParameters', 'data', 'cacheable'].indexOf(key) === -1) {\r\n data[key] = options[key]; // eslint-disable-line functional/immutable-data\r\n }\r\n });\r\n return {\r\n data: Object.entries(data).length > 0 ? data : undefined,\r\n timeout: options.timeout || timeout,\r\n headers: options.headers || {},\r\n queryParameters: options.queryParameters || {},\r\n cacheable: options.cacheable,\r\n };\r\n}\n\nconst CallEnum = {\r\n /**\r\n * If the host is read only.\r\n */\r\n Read: 1,\r\n /**\r\n * If the host is write only.\r\n */\r\n Write: 2,\r\n /**\r\n * If the host is both read and write.\r\n */\r\n Any: 3,\r\n};\n\nconst HostStatusEnum = {\r\n Up: 1,\r\n Down: 2,\r\n Timeouted: 3,\r\n};\n\n// By default, API Clients at Algolia have expiration delay\r\n// of 5 mins. In the JavaScript client, we have 2 mins.\r\nconst EXPIRATION_DELAY = 2 * 60 * 1000;\r\nfunction createStatefulHost(host, status = HostStatusEnum.Up) {\r\n return {\r\n ...host,\r\n status,\r\n lastUpdate: Date.now(),\r\n };\r\n}\r\nfunction isStatefulHostUp(host) {\r\n return host.status === HostStatusEnum.Up || Date.now() - host.lastUpdate > EXPIRATION_DELAY;\r\n}\r\nfunction isStatefulHostTimeouted(host) {\r\n return (host.status === HostStatusEnum.Timeouted && Date.now() - host.lastUpdate <= EXPIRATION_DELAY);\r\n}\n\nfunction createStatelessHost(options) {\r\n if (typeof options === 'string') {\r\n return {\r\n protocol: 'https',\r\n url: options,\r\n accept: CallEnum.Any,\r\n };\r\n }\r\n return {\r\n protocol: options.protocol || 'https',\r\n url: options.url,\r\n accept: options.accept || CallEnum.Any,\r\n };\r\n}\n\nfunction createRetryableOptions(hostsCache, statelessHosts) {\r\n return Promise.all(statelessHosts.map(statelessHost => {\r\n return hostsCache.get(statelessHost, () => {\r\n return Promise.resolve(createStatefulHost(statelessHost));\r\n });\r\n })).then(statefulHosts => {\r\n const hostsUp = statefulHosts.filter(host => isStatefulHostUp(host));\r\n const hostsTimeouted = statefulHosts.filter(host => isStatefulHostTimeouted(host));\r\n /**\r\n * Note, we put the hosts that previously timeouted on the end of the list.\r\n */\r\n const hostsAvailable = [...hostsUp, ...hostsTimeouted];\r\n const statelessHostsAvailable = hostsAvailable.length > 0\r\n ? hostsAvailable.map(host => createStatelessHost(host))\r\n : statelessHosts;\r\n return {\r\n getTimeout(timeoutsCount, baseTimeout) {\r\n /**\r\n * Imagine that you have 4 hosts, if timeouts will increase\r\n * on the following way: 1 (timeouted) > 4 (timeouted) > 5 (200)\r\n *\r\n * Note that, the very next request, we start from the previous timeout\r\n *\r\n * 5 (timeouted) > 6 (timeouted) > 7 ...\r\n *\r\n * This strategy may need to be reviewed, but is the strategy on the our\r\n * current v3 version.\r\n */\r\n const timeoutMultiplier = hostsTimeouted.length === 0 && timeoutsCount === 0\r\n ? 1\r\n : hostsTimeouted.length + 3 + timeoutsCount;\r\n return timeoutMultiplier * baseTimeout;\r\n },\r\n statelessHosts: statelessHostsAvailable,\r\n };\r\n });\r\n}\n\nconst isNetworkError = ({ isTimedOut, status }) => {\r\n return !isTimedOut && ~~status === 0;\r\n};\r\nconst isRetryable = (response) => {\r\n const status = response.status;\r\n const isTimedOut = response.isTimedOut;\r\n return (isTimedOut || isNetworkError(response) || (~~(status / 100) !== 2 && ~~(status / 100) !== 4));\r\n};\r\nconst isSuccess = ({ status }) => {\r\n return ~~(status / 100) === 2;\r\n};\r\nconst retryDecision = (response, outcomes) => {\r\n if (isRetryable(response)) {\r\n return outcomes.onRetry(response);\r\n }\r\n if (isSuccess(response)) {\r\n return outcomes.onSuccess(response);\r\n }\r\n return outcomes.onFail(response);\r\n};\n\nfunction retryableRequest(transporter, statelessHosts, request, requestOptions) {\r\n const stackTrace = []; // eslint-disable-line functional/prefer-readonly-type\r\n /**\r\n * First we prepare the payload that do not depend from hosts.\r\n */\r\n const data = serializeData(request, requestOptions);\r\n const headers = serializeHeaders(transporter, requestOptions);\r\n const method = request.method;\r\n // On `GET`, the data is proxied to query parameters.\r\n const dataQueryParameters = request.method !== MethodEnum.Get\r\n ? {}\r\n : {\r\n ...request.data,\r\n ...requestOptions.data,\r\n };\r\n const queryParameters = {\r\n 'x-algolia-agent': transporter.userAgent.value,\r\n ...transporter.queryParameters,\r\n ...dataQueryParameters,\r\n ...requestOptions.queryParameters,\r\n };\r\n let timeoutsCount = 0; // eslint-disable-line functional/no-let\r\n const retry = (hosts, // eslint-disable-line functional/prefer-readonly-type\r\n getTimeout) => {\r\n /**\r\n * We iterate on each host, until there is no host left.\r\n */\r\n const host = hosts.pop(); // eslint-disable-line functional/immutable-data\r\n if (host === undefined) {\r\n throw createRetryError(stackTraceWithoutCredentials(stackTrace));\r\n }\r\n const payload = {\r\n data,\r\n headers,\r\n method,\r\n url: serializeUrl(host, request.path, queryParameters),\r\n connectTimeout: getTimeout(timeoutsCount, transporter.timeouts.connect),\r\n responseTimeout: getTimeout(timeoutsCount, requestOptions.timeout),\r\n };\r\n /**\r\n * The stackFrame is pushed to the stackTrace so we\r\n * can have information about onRetry and onFailure\r\n * decisions.\r\n */\r\n const pushToStackTrace = (response) => {\r\n const stackFrame = {\r\n request: payload,\r\n response,\r\n host,\r\n triesLeft: hosts.length,\r\n };\r\n // eslint-disable-next-line functional/immutable-data\r\n stackTrace.push(stackFrame);\r\n return stackFrame;\r\n };\r\n const decisions = {\r\n onSuccess: response => deserializeSuccess(response),\r\n onRetry(response) {\r\n const stackFrame = pushToStackTrace(response);\r\n /**\r\n * If response is a timeout, we increaset the number of\r\n * timeouts so we can increase the timeout later.\r\n */\r\n if (response.isTimedOut) {\r\n timeoutsCount++;\r\n }\r\n return Promise.all([\r\n /**\r\n * Failures are individually send the logger, allowing\r\n * the end user to debug / store stack frames even\r\n * when a retry error does not happen.\r\n */\r\n transporter.logger.info('Retryable failure', stackFrameWithoutCredentials(stackFrame)),\r\n /**\r\n * We also store the state of the host in failure cases. If the host, is\r\n * down it will remain down for the next 2 minutes. In a timeout situation,\r\n * this host will be added end of the list of hosts on the next request.\r\n */\r\n transporter.hostsCache.set(host, createStatefulHost(host, response.isTimedOut ? HostStatusEnum.Timeouted : HostStatusEnum.Down)),\r\n ]).then(() => retry(hosts, getTimeout));\r\n },\r\n onFail(response) {\r\n pushToStackTrace(response);\r\n throw deserializeFailure(response, stackTraceWithoutCredentials(stackTrace));\r\n },\r\n };\r\n return transporter.requester.send(payload).then(response => {\r\n return retryDecision(response, decisions);\r\n });\r\n };\r\n /**\r\n * Finally, for each retryable host perform request until we got a non\r\n * retryable response. Some notes here:\r\n *\r\n * 1. The reverse here is applied so we can apply a `pop` later on => more performant.\r\n * 2. We also get from the retryable options a timeout multiplier that is tailored\r\n * for the current context.\r\n */\r\n return createRetryableOptions(transporter.hostsCache, statelessHosts).then(options => {\r\n return retry([...options.statelessHosts].reverse(), options.getTimeout);\r\n });\r\n}\n\nfunction createTransporter(options) {\r\n const { hostsCache, logger, requester, requestsCache, responsesCache, timeouts, userAgent, hosts, queryParameters, headers, } = options;\r\n const transporter = {\r\n hostsCache,\r\n logger,\r\n requester,\r\n requestsCache,\r\n responsesCache,\r\n timeouts,\r\n userAgent,\r\n headers,\r\n queryParameters,\r\n hosts: hosts.map(host => createStatelessHost(host)),\r\n read(request, requestOptions) {\r\n /**\r\n * First, we compute the user request options. Now, keep in mind,\r\n * that using request options the user is able to modified the intire\r\n * payload of the request. Such as headers, query parameters, and others.\r\n */\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions, transporter.timeouts.read);\r\n const createRetryableRequest = () => {\r\n /**\r\n * Then, we prepare a function factory that contains the construction of\r\n * the retryable request. At this point, we may *not* perform the actual\r\n * request. But we want to have the function factory ready.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Read) !== 0), request, mappedRequestOptions);\r\n };\r\n /**\r\n * Once we have the function factory ready, we need to determine of the\r\n * request is \"cacheable\" - should be cached. Note that, once again,\r\n * the user can force this option.\r\n */\r\n const cacheable = mappedRequestOptions.cacheable !== undefined\r\n ? mappedRequestOptions.cacheable\r\n : request.cacheable;\r\n /**\r\n * If is not \"cacheable\", we immediatly trigger the retryable request, no\r\n * need to check cache implementations.\r\n */\r\n if (cacheable !== true) {\r\n return createRetryableRequest();\r\n }\r\n /**\r\n * If the request is \"cacheable\", we need to first compute the key to ask\r\n * the cache implementations if this request is on progress or if the\r\n * response already exists on the cache.\r\n */\r\n const key = {\r\n request,\r\n mappedRequestOptions,\r\n transporter: {\r\n queryParameters: transporter.queryParameters,\r\n headers: transporter.headers,\r\n },\r\n };\r\n /**\r\n * With the computed key, we first ask the responses cache\r\n * implemention if this request was been resolved before.\r\n */\r\n return transporter.responsesCache.get(key, () => {\r\n /**\r\n * If the request has never resolved before, we actually ask if there\r\n * is a current request with the same key on progress.\r\n */\r\n return transporter.requestsCache.get(key, () => {\r\n return (transporter.requestsCache\r\n /**\r\n * Finally, if there is no request in progress with the same key,\r\n * this `createRetryableRequest()` will actually trigger the\r\n * retryable request.\r\n */\r\n .set(key, createRetryableRequest())\r\n .then(response => Promise.all([transporter.requestsCache.delete(key), response]), err => Promise.all([transporter.requestsCache.delete(key), Promise.reject(err)]))\r\n .then(([_, response]) => response));\r\n });\r\n }, {\r\n /**\r\n * Of course, once we get this response back from the server, we\r\n * tell response cache to actually store the received response\r\n * to be used later.\r\n */\r\n miss: response => transporter.responsesCache.set(key, response),\r\n });\r\n },\r\n write(request, requestOptions) {\r\n /**\r\n * On write requests, no cache mechanisms are applied, and we\r\n * proxy the request immediately to the requester.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Write) !== 0), request, createMappedRequestOptions(requestOptions, transporter.timeouts.write));\r\n },\r\n };\r\n return transporter;\r\n}\n\nfunction createUserAgent(version) {\r\n const userAgent = {\r\n value: `Algolia for JavaScript (${version})`,\r\n add(options) {\r\n const addedUserAgent = `; ${options.segment}${options.version !== undefined ? ` (${options.version})` : ''}`;\r\n if (userAgent.value.indexOf(addedUserAgent) === -1) {\r\n // eslint-disable-next-line functional/immutable-data\r\n userAgent.value = `${userAgent.value}${addedUserAgent}`;\r\n }\r\n return userAgent;\r\n },\r\n };\r\n return userAgent;\r\n}\n\nfunction deserializeSuccess(response) {\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n return JSON.parse(response.content);\r\n }\r\n catch (e) {\r\n throw createDeserializationError(e.message, response);\r\n }\r\n}\r\nfunction deserializeFailure({ content, status }, stackFrame) {\r\n // eslint-disable-next-line functional/no-let\r\n let message = content;\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n message = JSON.parse(content).message;\r\n }\r\n catch (e) {\r\n // ..\r\n }\r\n return createApiError(message, status, stackFrame);\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nfunction serializeUrl(host, path, queryParameters) {\r\n const queryParametersAsString = serializeQueryParameters(queryParameters);\r\n // eslint-disable-next-line functional/no-let\r\n let url = `${host.protocol}://${host.url}/${path.charAt(0) === '/' ? path.substr(1) : path}`;\r\n if (queryParametersAsString.length) {\r\n url += `?${queryParametersAsString}`;\r\n }\r\n return url;\r\n}\r\nfunction serializeQueryParameters(parameters) {\r\n const isObjectOrArray = (value) => Object.prototype.toString.call(value) === '[object Object]' ||\r\n Object.prototype.toString.call(value) === '[object Array]';\r\n return Object.keys(parameters)\r\n .map(key => encode('%s=%s', key, isObjectOrArray(parameters[key]) ? JSON.stringify(parameters[key]) : parameters[key]))\r\n .join('&');\r\n}\r\nfunction serializeData(request, requestOptions) {\r\n if (request.method === MethodEnum.Get ||\r\n (request.data === undefined && requestOptions.data === undefined)) {\r\n return undefined;\r\n }\r\n const data = Array.isArray(request.data)\r\n ? request.data\r\n : { ...request.data, ...requestOptions.data };\r\n return JSON.stringify(data);\r\n}\r\nfunction serializeHeaders(transporter, requestOptions) {\r\n const headers = {\r\n ...transporter.headers,\r\n ...requestOptions.headers,\r\n };\r\n const serializedHeaders = {};\r\n Object.keys(headers).forEach(header => {\r\n const value = headers[header];\r\n // @ts-ignore\r\n // eslint-disable-next-line functional/immutable-data\r\n serializedHeaders[header.toLowerCase()] = value;\r\n });\r\n return serializedHeaders;\r\n}\n\nfunction stackTraceWithoutCredentials(stackTrace) {\r\n return stackTrace.map(stackFrame => stackFrameWithoutCredentials(stackFrame));\r\n}\r\nfunction stackFrameWithoutCredentials(stackFrame) {\r\n const modifiedHeaders = stackFrame.request.headers['x-algolia-api-key']\r\n ? { 'x-algolia-api-key': '*****' }\r\n : {};\r\n return {\r\n ...stackFrame,\r\n request: {\r\n ...stackFrame.request,\r\n headers: {\r\n ...stackFrame.request.headers,\r\n ...modifiedHeaders,\r\n },\r\n },\r\n };\r\n}\n\nfunction createApiError(message, status, transporterStackTrace) {\r\n return {\r\n name: 'ApiError',\r\n message,\r\n status,\r\n transporterStackTrace,\r\n };\r\n}\n\nfunction createDeserializationError(message, response) {\r\n return {\r\n name: 'DeserializationError',\r\n message,\r\n response,\r\n };\r\n}\n\nfunction createRetryError(transporterStackTrace) {\r\n return {\r\n name: 'RetryError',\r\n message: 'Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.',\r\n transporterStackTrace,\r\n };\r\n}\n\nexport { CallEnum, HostStatusEnum, createApiError, createDeserializationError, createMappedRequestOptions, createRetryError, createStatefulHost, createStatelessHost, createTransporter, createUserAgent, deserializeFailure, deserializeSuccess, isStatefulHostTimeouted, isStatefulHostUp, serializeData, serializeHeaders, serializeQueryParameters, serializeUrl, stackFrameWithoutCredentials, stackTraceWithoutCredentials };\n","import { createAuth, AuthMode, addMethods, encode } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createAnalyticsClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `analytics.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const appId = options.appId;\r\n return addMethods({ appId, transporter }, options.methods);\r\n};\n\nconst addABTest = (base) => {\r\n return (abTest, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '2/abtests',\r\n data: abTest,\r\n }, requestOptions);\r\n };\r\n};\n\nconst deleteABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTests = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '2/abtests',\r\n }, requestOptions);\r\n };\r\n};\n\nconst stopABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('2/abtests/%s/stop', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nexport { addABTest, createAnalyticsClient, deleteABTest, getABTest, getABTests, stopABTest };\n","import { createAuth, AuthMode, addMethods } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createPersonalizationClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `personalization.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n return addMethods({ appId: options.appId, transporter }, options.methods);\r\n};\n\nconst getPersonalizationStrategy = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/strategies/personalization',\r\n }, requestOptions);\r\n };\r\n};\n\nconst setPersonalizationStrategy = (base) => {\r\n return (personalizationStrategy, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/strategies/personalization',\r\n data: personalizationStrategy,\r\n }, requestOptions);\r\n };\r\n};\n\nexport { createPersonalizationClient, getPersonalizationStrategy, setPersonalizationStrategy };\n","import { createAuth, AuthMode, shuffle, addMethods, createWaitablePromise, createRetryablePromise, encode } from '@algolia/client-common';\nimport { createTransporter, CallEnum, createMappedRequestOptions, serializeQueryParameters } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\nimport { createHmac } from 'crypto';\n\nfunction createBrowsablePromise(options) {\r\n const browse = (data) => {\r\n return options.request(data).then(response => {\r\n /**\r\n * First we send to the developer the\r\n * batch retrieved from the API.\r\n */\r\n if (options.batch !== undefined) {\r\n options.batch(response.hits);\r\n }\r\n /**\r\n * Then, we ask to the browse concrete implementation\r\n * if we should stop browsing. As example, the `browseObjects`\r\n * method will stop if the cursor is not present on the response.\r\n */\r\n if (options.shouldStop(response)) {\r\n return undefined;\r\n }\r\n /**\r\n * Finally, if the response contains a cursor, we browse to the next\r\n * batch using that same cursor. Otherwise, we just use the traditional\r\n * browsing using the page element.\r\n */\r\n if (response.cursor) {\r\n return browse({\r\n cursor: response.cursor,\r\n });\r\n }\r\n return browse({\r\n page: (data.page || 0) + 1,\r\n });\r\n });\r\n };\r\n return browse({});\r\n}\n\nconst createSearchClient = options => {\r\n const appId = options.appId;\r\n const auth = createAuth(options.authMode !== undefined ? options.authMode : AuthMode.WithinHeaders, appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [\r\n { url: `${appId}-dsn.algolia.net`, accept: CallEnum.Read },\r\n { url: `${appId}.algolia.net`, accept: CallEnum.Write },\r\n ].concat(shuffle([\r\n { url: `${appId}-1.algolianet.com` },\r\n { url: `${appId}-2.algolianet.com` },\r\n { url: `${appId}-3.algolianet.com` },\r\n ])),\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/x-www-form-urlencoded' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const base = {\r\n transporter,\r\n appId,\r\n addAlgoliaAgent(segment, version) {\r\n transporter.userAgent.add({ segment, version });\r\n },\r\n clearCache() {\r\n return Promise.all([\r\n transporter.requestsCache.clear(),\r\n transporter.responsesCache.clear(),\r\n ]).then(() => undefined);\r\n },\r\n };\r\n return addMethods(base, options.methods);\r\n};\n\nfunction createMissingObjectIDError() {\r\n return {\r\n name: 'MissingObjectIDError',\r\n message: 'All objects must have an unique objectID ' +\r\n '(like a primary key) to be valid. ' +\r\n 'Algolia is also able to generate objectIDs ' +\r\n \"automatically but *it's not recommended*. \" +\r\n \"To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.\",\r\n };\r\n}\n\nfunction createObjectNotFoundError() {\r\n return {\r\n name: 'ObjectNotFoundError',\r\n message: 'Object not found.',\r\n };\r\n}\n\nfunction createValidUntilNotFoundError() {\r\n return {\r\n name: 'ValidUntilNotFoundError',\r\n message: 'ValidUntil not found in given secured api key.',\r\n };\r\n}\n\nconst addApiKey = (base) => {\r\n return (acl, requestOptions) => {\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = {\r\n acl,\r\n ...(queryParameters !== undefined ? { queryParameters } : {}),\r\n };\r\n const wait = (response, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(response.key, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/keys',\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst assignUserID = (base) => {\r\n return (userID, clusterName, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping',\r\n data: { cluster: clusterName },\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst assignUserIDs = (base) => {\r\n return (userIDs, clusterName, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/batch',\r\n data: {\r\n users: userIDs,\r\n cluster: clusterName,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst clearDictionaryEntries = (base) => {\r\n return (dictionary, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: {\r\n clearExistingDictionaryEntries: true,\r\n requests: { action: 'addEntry', body: [] },\r\n },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst copyIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'copy',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst copyRules = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Rules],\r\n });\r\n };\r\n};\n\nconst copySettings = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Settings],\r\n });\r\n };\r\n};\n\nconst copySynonyms = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Synonyms],\r\n });\r\n };\r\n};\n\nconst customRequest = (base) => {\r\n return (request, requestOptions) => {\r\n if (request.method === MethodEnum.Get) {\r\n return base.transporter.read(request, requestOptions);\r\n }\r\n return base.transporter.write(request, requestOptions);\r\n };\r\n};\n\nconst deleteApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions)\r\n .then(retry)\r\n .catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst deleteDictionaryEntries = (base) => {\r\n return (dictionary, objectIDs, requestOptions) => {\r\n const requests = objectIDs.map(objectID => ({\r\n action: 'deleteEntry',\r\n body: { objectID },\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst generateSecuredApiKey = () => {\r\n return (parentApiKey, restrictions) => {\r\n const queryParameters = serializeQueryParameters(restrictions);\r\n const securedKey = createHmac('sha256', parentApiKey)\r\n .update(queryParameters)\r\n .digest('hex');\r\n return Buffer.from(securedKey + queryParameters).toString('base64');\r\n };\r\n};\n\nconst getApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/task/%s', taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getDictionarySettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '/1/dictionaries/*/settings',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getLogs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/logs',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSecuredApiKeyRemainingValidity = () => {\r\n return (securedApiKey) => {\r\n const decodedString = Buffer.from(securedApiKey, 'base64').toString('ascii');\r\n const regex = /validUntil=(\\d+)/;\r\n const match = decodedString.match(regex);\r\n if (match === null) {\r\n throw createValidUntilNotFoundError();\r\n }\r\n return parseInt(match[1], 10) - Math.round(new Date().getTime() / 1000);\r\n };\r\n};\n\nconst getTopUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/top',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/clusters/mapping/%s', userID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst hasPendingMappings = (base) => {\r\n return (requestOptions) => {\r\n const { retrieveMappings, ...options } = requestOptions || {};\r\n if (retrieveMappings === true) {\r\n // eslint-disable-next-line functional/immutable-data\r\n options.getClusters = true;\r\n }\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/pending',\r\n }, options);\r\n };\r\n};\n\nconst initIndex = (base) => {\r\n return (indexName, options = {}) => {\r\n const searchIndex = {\r\n transporter: base.transporter,\r\n appId: base.appId,\r\n indexName,\r\n };\r\n return addMethods(searchIndex, options.methods);\r\n };\r\n};\n\nconst listApiKeys = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/keys',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listClusters = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listIndices = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/indexes',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping',\r\n }, requestOptions);\r\n };\r\n};\n\nconst moveIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'move',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleBatch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return Promise.all(Object.keys(response.taskID).map(indexName => {\r\n return initIndex(base)(indexName, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID[indexName], waitRequestOptions);\r\n }));\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/batch',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleGetObjects = (base) => {\r\n return (requests, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleQueries = (base) => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => {\r\n return {\r\n ...query,\r\n params: serializeQueryParameters(query.params || {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/queries',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleSearchForFacetValues = (base) => {\r\n return (queries, requestOptions) => {\r\n return Promise.all(queries.map(query => {\r\n const { facetName, facetQuery, ...params } = query.params;\r\n return initIndex(base)(query.indexName, {\r\n methods: { searchForFacetValues },\r\n }).searchForFacetValues(facetName, facetQuery, {\r\n ...requestOptions,\r\n ...params,\r\n });\r\n }));\r\n };\r\n};\n\nconst removeUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: '1/clusters/mapping',\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst replaceDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: true, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst restoreApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/keys/%s/restore', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst saveDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst searchDictionaryEntries = (base) => {\r\n return (dictionary, query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/search', dictionary),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchUserIDs = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/search',\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setDictionarySettings = (base) => {\r\n return (settings, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: '/1/dictionaries/*/settings',\r\n data: settings,\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst updateApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const updatedFields = Object.assign({}, requestOptions);\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = queryParameters ? { queryParameters } : {};\r\n const apiKeyFields = [\r\n 'acl',\r\n 'indexes',\r\n 'referers',\r\n 'restrictSources',\r\n 'queryParameters',\r\n 'description',\r\n 'maxQueriesPerIPPerHour',\r\n 'maxHitsPerQuery',\r\n ];\r\n // Check that all the fields retrieved through getApiKey are the same as the ones we wanted to update\r\n const hasChanged = (getApiKeyResponse) => {\r\n return Object.keys(updatedFields)\r\n .filter((updatedField) => apiKeyFields.indexOf(updatedField) !== -1)\r\n .every(updatedField => {\r\n // If the field is an array, we need to check that they are the same length and that all the values are the same\r\n if (Array.isArray(getApiKeyResponse[updatedField]) &&\r\n Array.isArray(updatedFields[updatedField])) {\r\n const getApiKeyResponseArray = getApiKeyResponse[updatedField];\r\n return (getApiKeyResponseArray.length === updatedFields[updatedField].length &&\r\n getApiKeyResponseArray.every((value, index) => value === updatedFields[updatedField][index]));\r\n }\r\n else {\r\n return getApiKeyResponse[updatedField] === updatedFields[updatedField];\r\n }\r\n });\r\n };\r\n const wait = (_, waitRequestOptions) => createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).then(getApiKeyResponse => {\r\n return hasChanged(getApiKeyResponse) ? Promise.resolve() : retry();\r\n });\r\n });\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/keys/%s', apiKey),\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst waitAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getAppTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst batch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return waitTask(base)(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/batch', base.indexName),\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst browseObjects = (base) => {\r\n return (requestOptions) => {\r\n return createBrowsablePromise({\r\n shouldStop: response => response.cursor === undefined,\r\n ...requestOptions,\r\n request: (data) => base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/browse', base.indexName),\r\n data,\r\n }, requestOptions),\r\n });\r\n };\r\n};\n\nconst browseRules = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchRules(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(rule => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete rule._highlightResult;\r\n return rule;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst browseSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchSynonyms(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(synonym => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete synonym._highlightResult;\r\n return synonym;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst chunkedBatch = (base) => {\r\n return (bodies, action, requestOptions) => {\r\n const { batchSize, ...options } = requestOptions || {};\r\n const response = {\r\n taskIDs: [],\r\n objectIDs: [],\r\n };\r\n const forEachBatch = (lastIndex = 0) => {\r\n // eslint-disable-next-line functional/prefer-readonly-type\r\n const bodiesChunk = [];\r\n // eslint-disable-next-line functional/no-let\r\n let index;\r\n /* eslint-disable-next-line functional/no-loop-statement */\r\n for (index = lastIndex; index < bodies.length; index++) {\r\n // eslint-disable-next-line functional/immutable-data\r\n bodiesChunk.push(bodies[index]);\r\n if (bodiesChunk.length === (batchSize || 1000)) {\r\n break;\r\n }\r\n }\r\n if (bodiesChunk.length === 0) {\r\n return Promise.resolve(response);\r\n }\r\n return batch(base)(bodiesChunk.map(body => {\r\n return {\r\n action,\r\n body,\r\n };\r\n }), options).then(res => {\r\n response.objectIDs = response.objectIDs.concat(res.objectIDs); // eslint-disable-line functional/immutable-data\r\n response.taskIDs.push(res.taskID); // eslint-disable-line functional/immutable-data\r\n index++;\r\n return forEachBatch(index);\r\n });\r\n };\r\n return createWaitablePromise(forEachBatch(), (chunkedBatchResponse, waitRequestOptions) => {\r\n return Promise.all(chunkedBatchResponse.taskIDs.map(taskID => {\r\n return waitTask(base)(taskID, waitRequestOptions);\r\n }));\r\n });\r\n };\r\n};\n\nconst clearObjects = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/clear', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearRules = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteBy = (base) => {\r\n return (filters, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/deleteByQuery', base.indexName),\r\n data: filters,\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteIndex = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return createWaitablePromise(deleteObjects(base)([objectID], requestOptions).then(response => {\r\n return { taskID: response.taskIDs[0] };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const objects = objectIDs.map(objectID => {\r\n return { objectID };\r\n });\r\n return chunkedBatch(base)(objects, BatchActionEnum.DeleteObject, requestOptions);\r\n };\r\n};\n\nconst deleteRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/synonyms/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst exists = (base) => {\r\n return (requestOptions) => {\r\n return getSettings(base)(requestOptions)\r\n .then(() => true)\r\n .catch(error => {\r\n if (error.status !== 404) {\r\n throw error;\r\n }\r\n return false;\r\n });\r\n };\r\n};\n\nconst findAnswers = (base) => {\r\n return (query, queryLanguages, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/answers/%s/prediction', base.indexName),\r\n data: {\r\n query,\r\n queryLanguages,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst findObject = (base) => {\r\n return (callback, requestOptions) => {\r\n const { query, paginate, ...options } = requestOptions || {};\r\n // eslint-disable-next-line functional/no-let\r\n let page = 0;\r\n const forEachPage = () => {\r\n return search(base)(query || '', { ...options, page }).then(result => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(result.hits)) {\r\n // eslint-disable-next-line promise/no-callback-in-promise\r\n if (callback(hit)) {\r\n return {\r\n object: hit,\r\n position: parseInt(position, 10),\r\n page,\r\n };\r\n }\r\n }\r\n page++;\r\n // paginate if option was set and has next page\r\n if (paginate === false || page >= result.nbPages) {\r\n throw createObjectNotFoundError();\r\n }\r\n return forEachPage();\r\n });\r\n };\r\n return forEachPage();\r\n };\r\n};\n\nconst getObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getObjectPosition = () => {\r\n return (searchResponse, objectID) => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(searchResponse.hits)) {\r\n if (hit.objectID === objectID) {\r\n return parseInt(position, 10);\r\n }\r\n }\r\n return -1;\r\n };\r\n};\n\nconst getObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const { attributesToRetrieve, ...options } = requestOptions || {};\r\n const requests = objectIDs.map(objectID => {\r\n return {\r\n indexName: base.indexName,\r\n objectID,\r\n ...(attributesToRetrieve ? { attributesToRetrieve } : {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, options);\r\n };\r\n};\n\nconst getRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: {\r\n getVersion: 2,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode(`1/indexes/%s/synonyms/%s`, base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/task/%s', base.indexName, taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst partialUpdateObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(partialUpdateObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst partialUpdateObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { createIfNotExists, ...options } = requestOptions || {};\r\n const action = createIfNotExists\r\n ? BatchActionEnum.PartialUpdateObject\r\n : BatchActionEnum.PartialUpdateObjectNoCreate;\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst replaceAllObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { safe, autoGenerateObjectIDIfNotExist, batchSize, ...options } = requestOptions || {};\r\n const operation = (from, to, type, operationRequestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: type,\r\n destination: to,\r\n },\r\n }, operationRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n const randomSuffix = Math.random()\r\n .toString(36)\r\n .substring(7);\r\n const temporaryIndexName = `${base.indexName}_tmp_${randomSuffix}`;\r\n const saveObjectsInTemporary = saveObjects({\r\n appId: base.appId,\r\n transporter: base.transporter,\r\n indexName: temporaryIndexName,\r\n });\r\n // @ts-ignore\r\n // eslint-disable-next-line prefer-const, functional/no-let, functional/prefer-readonly-type\r\n let responses = [];\r\n const copyWaitablePromise = operation(base.indexName, temporaryIndexName, 'copy', {\r\n ...options,\r\n scope: ['settings', 'synonyms', 'rules'],\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(copyWaitablePromise);\r\n const result = (safe\r\n ? copyWaitablePromise.wait(options)\r\n : copyWaitablePromise)\r\n .then(() => {\r\n const saveObjectsWaitablePromise = saveObjectsInTemporary(objects, {\r\n ...options,\r\n autoGenerateObjectIDIfNotExist,\r\n batchSize,\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(saveObjectsWaitablePromise);\r\n return safe ? saveObjectsWaitablePromise.wait(options) : saveObjectsWaitablePromise;\r\n })\r\n .then(() => {\r\n const moveWaitablePromise = operation(temporaryIndexName, base.indexName, 'move', options);\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(moveWaitablePromise);\r\n return safe ? moveWaitablePromise.wait(options) : moveWaitablePromise;\r\n })\r\n .then(() => Promise.all(responses))\r\n .then(([copyResponse, saveObjectsResponse, moveResponse]) => {\r\n return {\r\n objectIDs: saveObjectsResponse.objectIDs,\r\n taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID],\r\n };\r\n });\r\n return createWaitablePromise(result, (_, waitRequestOptions) => {\r\n return Promise.all(responses.map(response => response.wait(waitRequestOptions)));\r\n });\r\n };\r\n};\n\nconst replaceAllRules = (base) => {\r\n return (rules, requestOptions) => {\r\n return saveRules(base)(rules, {\r\n ...requestOptions,\r\n clearExistingRules: true,\r\n });\r\n };\r\n};\n\nconst replaceAllSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n return saveSynonyms(base)(synonyms, {\r\n ...requestOptions,\r\n clearExistingSynonyms: true,\r\n });\r\n };\r\n};\n\nconst saveObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(saveObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { autoGenerateObjectIDIfNotExist, ...options } = requestOptions || {};\r\n const action = autoGenerateObjectIDIfNotExist\r\n ? BatchActionEnum.AddObject\r\n : BatchActionEnum.UpdateObject;\r\n if (action === BatchActionEnum.UpdateObject) {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const object of objects) {\r\n if (object.objectID === undefined) {\r\n return createWaitablePromise(Promise.reject(createMissingObjectIDError()));\r\n }\r\n }\r\n }\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst saveRule = (base) => {\r\n return (rule, requestOptions) => {\r\n return saveRules(base)([rule], requestOptions);\r\n };\r\n};\n\nconst saveRules = (base) => {\r\n return (rules, requestOptions) => {\r\n const { forwardToReplicas, clearExistingRules, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (clearExistingRules) {\r\n mappedRequestOptions.queryParameters.clearExistingRules = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/batch', base.indexName),\r\n data: rules,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveSynonym = (base) => {\r\n return (synonym, requestOptions) => {\r\n return saveSynonyms(base)([synonym], requestOptions);\r\n };\r\n};\n\nconst saveSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n const { forwardToReplicas, clearExistingSynonyms, replaceExistingSynonyms, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (replaceExistingSynonyms || clearExistingSynonyms) {\r\n mappedRequestOptions.queryParameters.replaceExistingSynonyms = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/batch', base.indexName),\r\n data: synonyms,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst search = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/query', base.indexName),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchForFacetValues = (base) => {\r\n return (facetName, facetQuery, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/facets/%s/query', base.indexName, facetName),\r\n data: {\r\n facetQuery,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchRules = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchSynonyms = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setSettings = (base) => {\r\n return (settings, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: settings,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst waitTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst ApiKeyACLEnum = {\r\n AddObject: 'addObject',\r\n Analytics: 'analytics',\r\n Browser: 'browse',\r\n DeleteIndex: 'deleteIndex',\r\n DeleteObject: 'deleteObject',\r\n EditSettings: 'editSettings',\r\n Inference: 'inference',\r\n ListIndexes: 'listIndexes',\r\n Logs: 'logs',\r\n Personalization: 'personalization',\r\n Recommendation: 'recommendation',\r\n Search: 'search',\r\n SeeUnretrievableAttributes: 'seeUnretrievableAttributes',\r\n Settings: 'settings',\r\n Usage: 'usage',\r\n};\n\nconst BatchActionEnum = {\r\n AddObject: 'addObject',\r\n UpdateObject: 'updateObject',\r\n PartialUpdateObject: 'partialUpdateObject',\r\n PartialUpdateObjectNoCreate: 'partialUpdateObjectNoCreate',\r\n DeleteObject: 'deleteObject',\r\n DeleteIndex: 'delete',\r\n ClearIndex: 'clear',\r\n};\n\nconst ScopeEnum = {\r\n Settings: 'settings',\r\n Synonyms: 'synonyms',\r\n Rules: 'rules',\r\n};\n\nconst StrategyEnum = {\r\n None: 'none',\r\n StopIfEnoughMatches: 'stopIfEnoughMatches',\r\n};\n\nconst SynonymEnum = {\r\n Synonym: 'synonym',\r\n OneWaySynonym: 'oneWaySynonym',\r\n AltCorrection1: 'altCorrection1',\r\n AltCorrection2: 'altCorrection2',\r\n Placeholder: 'placeholder',\r\n};\n\nexport { ApiKeyACLEnum, BatchActionEnum, ScopeEnum, StrategyEnum, SynonymEnum, addApiKey, assignUserID, assignUserIDs, batch, browseObjects, browseRules, browseSynonyms, chunkedBatch, clearDictionaryEntries, clearObjects, clearRules, clearSynonyms, copyIndex, copyRules, copySettings, copySynonyms, createBrowsablePromise, createMissingObjectIDError, createObjectNotFoundError, createSearchClient, createValidUntilNotFoundError, customRequest, deleteApiKey, deleteBy, deleteDictionaryEntries, deleteIndex, deleteObject, deleteObjects, deleteRule, deleteSynonym, exists, findAnswers, findObject, generateSecuredApiKey, getApiKey, getAppTask, getDictionarySettings, getLogs, getObject, getObjectPosition, getObjects, getRule, getSecuredApiKeyRemainingValidity, getSettings, getSynonym, getTask, getTopUserIDs, getUserID, hasPendingMappings, initIndex, listApiKeys, listClusters, listIndices, listUserIDs, moveIndex, multipleBatch, multipleGetObjects, multipleQueries, multipleSearchForFacetValues, partialUpdateObject, partialUpdateObjects, removeUserID, replaceAllObjects, replaceAllRules, replaceAllSynonyms, replaceDictionaryEntries, restoreApiKey, saveDictionaryEntries, saveObject, saveObjects, saveRule, saveRules, saveSynonym, saveSynonyms, search, searchDictionaryEntries, searchForFacetValues, searchRules, searchSynonyms, searchUserIDs, setDictionarySettings, setSettings, updateApiKey, waitAppTask, waitTask };\n","function createNullLogger() {\r\n return {\r\n debug(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n info(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n error(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nconst LogLevelEnum = {\r\n Debug: 1,\r\n Info: 2,\r\n Error: 3,\r\n};\n\nexport { LogLevelEnum, createNullLogger };\n","import * as http from 'http';\nimport { Agent } from 'http';\nimport * as https from 'https';\nimport { Agent as Agent$1 } from 'https';\nimport { parse } from 'url';\n\n/* eslint functional/prefer-readonly-type: 0 */\r\nconst agentOptions = { keepAlive: true };\r\nconst defaultHttpAgent = new Agent(agentOptions);\r\nconst defaultHttpsAgent = new Agent$1(agentOptions);\r\nfunction createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {}, } = {}) {\r\n const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;\r\n const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;\r\n return {\r\n send(request) {\r\n return new Promise(resolve => {\r\n const url = parse(request.url);\r\n const path = url.query === null ? url.pathname : `${url.pathname}?${url.query}`;\r\n const options = {\r\n ...requesterOptions,\r\n agent: url.protocol === 'https:' ? httpsAgent : httpAgent,\r\n hostname: url.hostname,\r\n path,\r\n method: request.method,\r\n headers: {\r\n ...(requesterOptions && requesterOptions.headers ? requesterOptions.headers : {}),\r\n ...request.headers,\r\n },\r\n ...(url.port !== undefined ? { port: url.port || '' } : {}),\r\n };\r\n const req = (url.protocol === 'https:' ? https : http).request(options, response => {\r\n // eslint-disable-next-line functional/no-let\r\n let contentBuffers = [];\r\n response.on('data', chunk => {\r\n contentBuffers = contentBuffers.concat(chunk);\r\n });\r\n response.on('end', () => {\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(connectTimeout);\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(responseTimeout);\r\n resolve({\r\n status: response.statusCode || 0,\r\n content: Buffer.concat(contentBuffers).toString(),\r\n isTimedOut: false,\r\n });\r\n });\r\n });\r\n const createTimeout = (timeout, content) => {\r\n return setTimeout(() => {\r\n req.abort();\r\n resolve({\r\n status: 0,\r\n content,\r\n isTimedOut: true,\r\n });\r\n }, timeout * 1000);\r\n };\r\n const connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout');\r\n // eslint-disable-next-line functional/no-let\r\n let responseTimeout;\r\n req.on('error', error => {\r\n clearTimeout(connectTimeout);\r\n clearTimeout(responseTimeout);\r\n resolve({ status: 0, content: error.message, isTimedOut: false });\r\n });\r\n req.once('response', () => {\r\n clearTimeout(connectTimeout);\r\n responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout');\r\n });\r\n if (request.data !== undefined) {\r\n req.write(request.data);\r\n }\r\n req.end();\r\n });\r\n },\r\n destroy() {\r\n httpAgent.destroy();\r\n httpsAgent.destroy();\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createNodeHttpRequester };\n","'use strict';\n\nvar cacheCommon = require('@algolia/cache-common');\nvar cacheInMemory = require('@algolia/cache-in-memory');\nvar clientAnalytics = require('@algolia/client-analytics');\nvar clientCommon = require('@algolia/client-common');\nvar clientPersonalization = require('@algolia/client-personalization');\nvar clientSearch = require('@algolia/client-search');\nvar loggerCommon = require('@algolia/logger-common');\nvar requesterNodeHttp = require('@algolia/requester-node-http');\nvar transporter = require('@algolia/transporter');\n\nfunction algoliasearch(appId, apiKey, options) {\r\n const commonOptions = {\r\n appId,\r\n apiKey,\r\n timeouts: {\r\n connect: 2,\r\n read: 5,\r\n write: 30,\r\n },\r\n requester: requesterNodeHttp.createNodeHttpRequester(),\r\n logger: loggerCommon.createNullLogger(),\r\n responsesCache: cacheCommon.createNullCache(),\r\n requestsCache: cacheCommon.createNullCache(),\r\n hostsCache: cacheInMemory.createInMemoryCache(),\r\n userAgent: transporter.createUserAgent(clientCommon.version).add({\r\n segment: 'Node.js',\r\n version: process.versions.node,\r\n }),\r\n };\r\n const searchClientOptions = { ...commonOptions, ...options };\r\n const initPersonalization = () => (clientOptions) => {\r\n return clientPersonalization.createPersonalizationClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n getPersonalizationStrategy: clientPersonalization.getPersonalizationStrategy,\r\n setPersonalizationStrategy: clientPersonalization.setPersonalizationStrategy,\r\n },\r\n });\r\n };\r\n return clientSearch.createSearchClient({\r\n ...searchClientOptions,\r\n methods: {\r\n search: clientSearch.multipleQueries,\r\n searchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n multipleBatch: clientSearch.multipleBatch,\r\n multipleGetObjects: clientSearch.multipleGetObjects,\r\n multipleQueries: clientSearch.multipleQueries,\r\n copyIndex: clientSearch.copyIndex,\r\n copySettings: clientSearch.copySettings,\r\n copyRules: clientSearch.copyRules,\r\n copySynonyms: clientSearch.copySynonyms,\r\n moveIndex: clientSearch.moveIndex,\r\n listIndices: clientSearch.listIndices,\r\n getLogs: clientSearch.getLogs,\r\n listClusters: clientSearch.listClusters,\r\n multipleSearchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n getApiKey: clientSearch.getApiKey,\r\n addApiKey: clientSearch.addApiKey,\r\n listApiKeys: clientSearch.listApiKeys,\r\n updateApiKey: clientSearch.updateApiKey,\r\n deleteApiKey: clientSearch.deleteApiKey,\r\n restoreApiKey: clientSearch.restoreApiKey,\r\n assignUserID: clientSearch.assignUserID,\r\n assignUserIDs: clientSearch.assignUserIDs,\r\n getUserID: clientSearch.getUserID,\r\n searchUserIDs: clientSearch.searchUserIDs,\r\n listUserIDs: clientSearch.listUserIDs,\r\n getTopUserIDs: clientSearch.getTopUserIDs,\r\n removeUserID: clientSearch.removeUserID,\r\n hasPendingMappings: clientSearch.hasPendingMappings,\r\n generateSecuredApiKey: clientSearch.generateSecuredApiKey,\r\n getSecuredApiKeyRemainingValidity: clientSearch.getSecuredApiKeyRemainingValidity,\r\n destroy: clientCommon.destroy,\r\n clearDictionaryEntries: clientSearch.clearDictionaryEntries,\r\n deleteDictionaryEntries: clientSearch.deleteDictionaryEntries,\r\n getDictionarySettings: clientSearch.getDictionarySettings,\r\n getAppTask: clientSearch.getAppTask,\r\n replaceDictionaryEntries: clientSearch.replaceDictionaryEntries,\r\n saveDictionaryEntries: clientSearch.saveDictionaryEntries,\r\n searchDictionaryEntries: clientSearch.searchDictionaryEntries,\r\n setDictionarySettings: clientSearch.setDictionarySettings,\r\n waitAppTask: clientSearch.waitAppTask,\r\n customRequest: clientSearch.customRequest,\r\n initIndex: base => (indexName) => {\r\n return clientSearch.initIndex(base)(indexName, {\r\n methods: {\r\n batch: clientSearch.batch,\r\n delete: clientSearch.deleteIndex,\r\n findAnswers: clientSearch.findAnswers,\r\n getObject: clientSearch.getObject,\r\n getObjects: clientSearch.getObjects,\r\n saveObject: clientSearch.saveObject,\r\n saveObjects: clientSearch.saveObjects,\r\n search: clientSearch.search,\r\n searchForFacetValues: clientSearch.searchForFacetValues,\r\n waitTask: clientSearch.waitTask,\r\n setSettings: clientSearch.setSettings,\r\n getSettings: clientSearch.getSettings,\r\n partialUpdateObject: clientSearch.partialUpdateObject,\r\n partialUpdateObjects: clientSearch.partialUpdateObjects,\r\n deleteObject: clientSearch.deleteObject,\r\n deleteObjects: clientSearch.deleteObjects,\r\n deleteBy: clientSearch.deleteBy,\r\n clearObjects: clientSearch.clearObjects,\r\n browseObjects: clientSearch.browseObjects,\r\n getObjectPosition: clientSearch.getObjectPosition,\r\n findObject: clientSearch.findObject,\r\n exists: clientSearch.exists,\r\n saveSynonym: clientSearch.saveSynonym,\r\n saveSynonyms: clientSearch.saveSynonyms,\r\n getSynonym: clientSearch.getSynonym,\r\n searchSynonyms: clientSearch.searchSynonyms,\r\n browseSynonyms: clientSearch.browseSynonyms,\r\n deleteSynonym: clientSearch.deleteSynonym,\r\n clearSynonyms: clientSearch.clearSynonyms,\r\n replaceAllObjects: clientSearch.replaceAllObjects,\r\n replaceAllSynonyms: clientSearch.replaceAllSynonyms,\r\n searchRules: clientSearch.searchRules,\r\n getRule: clientSearch.getRule,\r\n deleteRule: clientSearch.deleteRule,\r\n saveRule: clientSearch.saveRule,\r\n saveRules: clientSearch.saveRules,\r\n replaceAllRules: clientSearch.replaceAllRules,\r\n browseRules: clientSearch.browseRules,\r\n clearRules: clientSearch.clearRules,\r\n },\r\n });\r\n },\r\n initAnalytics: () => (clientOptions) => {\r\n return clientAnalytics.createAnalyticsClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n addABTest: clientAnalytics.addABTest,\r\n getABTest: clientAnalytics.getABTest,\r\n getABTests: clientAnalytics.getABTests,\r\n stopABTest: clientAnalytics.stopABTest,\r\n deleteABTest: clientAnalytics.deleteABTest,\r\n },\r\n });\r\n },\r\n initPersonalization,\r\n initRecommendation: () => (clientOptions) => {\r\n searchClientOptions.logger.info('The `initRecommendation` method is deprecated. Use `initPersonalization` instead.');\r\n return initPersonalization()(clientOptions);\r\n },\r\n },\r\n });\r\n}\r\n// eslint-disable-next-line functional/immutable-data\r\nalgoliasearch.version = clientCommon.version;\n\nmodule.exports = algoliasearch;\n","/* eslint-disable functional/immutable-data, import/no-commonjs */\nconst algoliasearch = require('./dist/algoliasearch.cjs.js');\n\n/**\n * The Common JS build is the default entry point for the Node environment. Keep in\n * in mind, that for the browser environment, we hint the bundler to use the UMD\n * build instead as specified on the key `browser` of our `package.json` file.\n */\nmodule.exports = algoliasearch;\n\n/**\n * In addition, we also set explicitly the default export below making\n * this Common JS module in compliance with es6 modules specification.\n */\nmodule.exports.default = algoliasearch;\n","// eslint-disable-next-line functional/immutable-data, import/no-commonjs\nmodule.exports = require('./index');\n","import { Box } from '@vtex/brand-ui'\r\nimport { MDXRemote } from 'next-mdx-remote'\r\nimport { MarkdownRendererProps } from './MarkdownRenderer.types'\r\nimport components from './components'\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst MDXRemote2 = MDXRemote as any\r\n\r\nconst MarkdownRenderer = ({\r\n serialized,\r\n customComponents,\r\n scope,\r\n}: MarkdownRendererProps) => {\r\n if (components && scope) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default MarkdownRenderer\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { useContext, useEffect, useRef, useState } from 'react'\r\nimport { Box, Flex } from '@vtex/brand-ui'\r\nimport {\r\n ReactSVGPanZoom,\r\n UncontrolledReactSVGPanZoom,\r\n} from 'react-svg-pan-zoom'\r\nimport mermaid from 'mermaid'\r\nimport parse from 'html-react-parser'\r\nimport { InView } from 'react-intersection-observer'\r\n\r\nimport { CH } from '@code-hike/mdx/components'\r\nimport OverviewCard from 'components/overview-card'\r\nimport YoutubeFrame from 'components/youtube-frame'\r\nimport Steps from 'components/steps'\r\nimport LightBox from 'components/lightbox'\r\nimport WhatsNextCard from 'components/whats-next-card'\r\n\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { childrenToString, slugify } from 'utils/string-utils'\r\nimport mermaidInit from 'utils/mermaidInit'\r\n\r\nimport { Component, ObservableHeadingProps } from './MarkdownRenderer.types'\r\nimport styles from './styles.module.css'\r\nimport { messages } from 'utils/get-message'\r\n\r\nmermaidInit()\r\n\r\nconst ObservableHeading = ({\r\n level,\r\n onEnterView,\r\n onLeaveView,\r\n ...headingProps\r\n}: ObservableHeadingProps) => {\r\n const [y, setY] = useState(Infinity)\r\n const toSlugify = childrenToString(headingProps.children)\r\n const slug = slugify(toSlugify)\r\n return (\r\n {\r\n if (inView) onEnterView(slug)\r\n else onLeaveView(slug, entry, y)\r\n\r\n setY(entry.boundingClientRect.y)\r\n }}\r\n >\r\n {level === 2 ? (\r\n

\r\n ) : (\r\n

\r\n )}\r\n \r\n )\r\n}\r\n\r\nconst Callout = ({ node, icon, ...props }: Component) => {\r\n const blockquoteType: string = icon ? icon : 'info'\r\n return (\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nconst MermaidDiagram = ({ node, ...props }: Component) => {\r\n const viewerRef = useRef(null)\r\n const ref = useRef()\r\n\r\n const [diagram, setDiagram] = useState('')\r\n const [width, setWidth] = useState(0)\r\n const [height, setHeight] = useState(0)\r\n\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(() => {\r\n if (!ref.current) return\r\n setWidth(ref.current?.clientWidth ?? 0)\r\n setHeight(ref.current?.clientWidth / 2 ?? 0)\r\n })\r\n\r\n const mermaidRenderer = async function () {\r\n const { svg } = await mermaid.render('mermaid-id', props.children)\r\n setDiagram(\r\n svg.replace('id=\"mermaid-id\"', '').replaceAll('#mermaid-id', '')\r\n )\r\n }\r\n\r\n mermaidRenderer()\r\n if (ref.current) resizeObserver.observe(ref.current)\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n \r\n {parse(diagram)}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst ImageComponent = ({ node, ...props }: Component) => {\r\n const [srcHasError, setSrcHasError] = useState(false)\r\n const { locale } = useContext(LibraryContext)\r\n const regularImg = (\r\n // eslint-disable-next-line @next/next/no-img-element\r\n {props.alt} setSrcHasError(true)} />\r\n )\r\n const errorMessage = (\r\n
\r\n {messages[locale]['image.error_loading']} {props.src}\r\n
\r\n )\r\n\r\n let data: { base64: string; img: object } = { base64: '', img: {} }\r\n try {\r\n data = JSON.parse(props.alt)\r\n } catch (error) {\r\n console.log(`Error parsing`, error)\r\n return errorMessage\r\n }\r\n return !srcHasError ? {regularImg} : errorMessage\r\n}\r\n\r\nexport default {\r\n CH,\r\n OverviewCard,\r\n WhatsNextCard,\r\n YoutubeFrame,\r\n Steps,\r\n Flex: ({ node, ...props }: Component) => (\r\n \r\n ),\r\n table: ({ node, ...props }: Component) => ,\r\n td: ({ node, ...props }: Component) =>
,\r\n img: ImageComponent,\r\n text: ({ node, ...props }: Component) => {\r\n return \r\n },\r\n blockquote: ({ ...props }: Component) => {\r\n return \r\n },\r\n code: ({ node, ...props }: Component) => {\r\n return \r\n },\r\n pre: ({ ...props }: Component) => {\r\n if (props.className && props.className === 'mermaid')\r\n return \r\n\r\n return
\r\n  },\r\n  h2: ({ node, ...props }: Component) => {\r\n    const { activeItem, setActiveItem, goToPreviousItem } =\r\n      useContext(LibraryContext)\r\n\r\n    return (\r\n       {\r\n          setActiveItem(({ item, subItem }) => ({\r\n            item: slug,\r\n            subItem: item !== slug ? '' : subItem,\r\n          }))\r\n        }}\r\n        onLeaveView={(slug, entry, y) => {\r\n          if (entry.boundingClientRect.y > y && activeItem.item === slug) {\r\n            goToPreviousItem()\r\n          }\r\n        }}\r\n        {...props}\r\n      />\r\n    )\r\n  },\r\n  h3: ({ node, ...props }: Component) => {\r\n    const { activeItem, setActiveItem, goToPreviousSubItem } =\r\n      useContext(LibraryContext)\r\n\r\n    return (\r\n       {\r\n          setActiveItem(({ item }) => ({\r\n            item,\r\n            subItem: slug,\r\n          }))\r\n        }}\r\n        onLeaveView={(slug, entry, y) => {\r\n          if (entry.boundingClientRect.y > y && activeItem.subItem === slug) {\r\n            goToPreviousSubItem()\r\n          }\r\n        }}\r\n        {...props}\r\n      />\r\n    )\r\n  },\r\n}\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst overviewCard: SxStyleProp = {\r\n  alignItems: 'flex-start',\r\n  margin: '20px 0px',\r\n  border: '1px solid #E7E9EE',\r\n  borderRadius: '4px',\r\n  padding: '18px 24px 4px',\r\n  color: '#4A596B',\r\n  ':active, :hover': {\r\n    borderColor: 'muted.2',\r\n    boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n    transition: 'all 0.3 ease-out',\r\n    '*':{\r\n      color: '#000711',\r\n    }\r\n  },\r\n  ul: {\r\n    borderLeft: '1px rgb(202, 203, 204) solid',\r\n    fontSize: '0.9em',\r\n    mt: '0',\r\n    paddingLeft: '1.5em',\r\n    listStyleType: 'none',\r\n    display: 'block',\r\n    textDecoration: 'none',\r\n  },\r\n  'h3, h4': {\r\n    color: '#4A596B',\r\n    fontSize: '1.125em',\r\n    fontWeight: '400',\r\n    my: '0',\r\n  },\r\n}\r\n\r\nconst overviewIcon: SxStyleProp = {\r\n  marginRight: '1.25em',\r\n  marginTop: '0.375em',\r\n}\r\n\r\nexport default {\r\n  overviewCard,\r\n  overviewIcon,\r\n}\r\n","import styles from './styles'\r\nimport { Flex, Box } from '@vtex/brand-ui'\r\nimport * as Icons from './icons'\r\nimport { IconComponent } from 'utils/typings/types'\r\nimport Link from 'next/link.js'\r\n\r\ninterface IconsI {\r\n  name: string\r\n  Icon: IconComponent\r\n}\r\n\r\nconst IconsMap: IconsI[] = [\r\n  {\r\n    name: 'StorageUnit',\r\n    Icon: Icons.StorageUnit,\r\n  },\r\n  {\r\n    name: 'Board',\r\n    Icon: Icons.Board,\r\n  },\r\n  {\r\n    name: 'Integration',\r\n    Icon: Icons.Integration,\r\n  },\r\n  {\r\n    name: 'SearchList',\r\n    Icon: Icons.SearchList,\r\n  },\r\n  {\r\n    name: 'SearchDetails',\r\n    Icon: Icons.SearchDetails,\r\n  },\r\n  {\r\n    name: 'SwitchArrows',\r\n    Icon: Icons.SwitchArrows,\r\n  },\r\n  {\r\n    name: 'ChangeCart',\r\n    Icon: Icons.ChangeCart,\r\n  },\r\n  {\r\n    name: 'ToStore',\r\n    Icon: Icons.ToStore,\r\n  },\r\n  {\r\n    name: 'PaymentHand',\r\n    Icon: Icons.PaymentHand,\r\n  },\r\n  {\r\n    name: 'GlobeCart',\r\n    Icon: Icons.GlobeCart,\r\n  },\r\n  {\r\n    name: 'StoreCart',\r\n    Icon: Icons.StoreCart,\r\n  },\r\n  {\r\n    name: 'List',\r\n    Icon: Icons.List,\r\n  },\r\n  {\r\n    name: 'Blocks',\r\n    Icon: Icons.Blocks,\r\n  },\r\n  {\r\n    name: 'StoreData',\r\n    Icon: Icons.StoreData,\r\n  },\r\n  {\r\n    name: 'Cart',\r\n    Icon: Icons.Cart,\r\n  },\r\n  {\r\n    name: 'FileConfiguration',\r\n    Icon: Icons.FileConfiguration,\r\n  },\r\n  {\r\n    name: 'Platform',\r\n    Icon: Icons.Platform,\r\n  },\r\n  {\r\n    name: 'RestApis',\r\n    Icon: Icons.RestApis,\r\n  },\r\n  {\r\n    name: 'Catalog',\r\n    Icon: Icons.Catalog,\r\n  },\r\n  {\r\n    name: 'Orders',\r\n    Icon: Icons.Orders,\r\n  },\r\n  {\r\n    name: 'Checkout',\r\n    Icon: Icons.Checkout,\r\n  },\r\n  {\r\n    name: 'Payments',\r\n    Icon: Icons.Payments,\r\n  },\r\n  {\r\n    name: 'Promotions',\r\n    Icon: Icons.Promotions,\r\n  },\r\n  {\r\n    name: 'Pricing',\r\n    Icon: Icons.Pricing,\r\n  },\r\n  {\r\n    name: 'AccountManagement',\r\n    Icon: Icons.AccountManagement,\r\n  },\r\n  {\r\n    name: 'StoreSearch',\r\n    Icon: Icons.StoreSearch,\r\n  },\r\n  {\r\n    name: 'Subscriptions',\r\n    Icon: Icons.Subscriptions,\r\n  },\r\n  {\r\n    name: 'Fulfillment',\r\n    Icon: Icons.Fulfillment,\r\n  },\r\n]\r\n\r\nconst getIcon = (name: string) => {\r\n  return IconsMap.find((icon) => icon.name === name)?.Icon\r\n}\r\n\r\n//Interfaces\r\nexport interface OverviewCardProps {\r\n  icon: string\r\n  link: string\r\n  children: string\r\n}\r\n\r\nconst OverviewCard = ({ icon, link, children }: OverviewCardProps) => {\r\n  const Icon = getIcon(icon)\r\n  return (\r\n    \r\n      \r\n        {Icon && }\r\n        {children}\r\n      \r\n    \r\n  )\r\n}\r\n\r\nexport default OverviewCard\r\n","import React from 'react'\r\nimport type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst StorageUnit = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Board = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Composable = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Integration = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst SearchList = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst SwitchArrows = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst SearchDetails = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst List = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst StoreCart = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst GlobeCart = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst PaymentHand = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst ToStore = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\nconst ChangeCart = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst Blocks = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    \r\n      {' '}\r\n      {' '}\r\n      {' '}\r\n      {' '}\r\n      {' '}\r\n    \r\n  \r\n)\r\nconst StoreData = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\nconst FileConfiguration = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\nconst Cart = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst Platform = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst RestApis = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Catalog = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Orders = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Checkout = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Payments = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Promotions = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Pricing = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst AccountManagement = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst StoreSearch = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\nconst Subscriptions = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Fulfillment = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nexport {\r\n  StorageUnit,\r\n  Board,\r\n  Composable,\r\n  Integration,\r\n  SearchList,\r\n  SwitchArrows,\r\n  SearchDetails,\r\n  ChangeCart,\r\n  ToStore,\r\n  PaymentHand,\r\n  GlobeCart,\r\n  StoreCart,\r\n  List,\r\n  Blocks,\r\n  StoreData,\r\n  FileConfiguration,\r\n  Cart,\r\n  Platform,\r\n  RestApis,\r\n  Catalog,\r\n  Orders,\r\n  Checkout,\r\n  Payments,\r\n  Promotions,\r\n  Pricing,\r\n  AccountManagement,\r\n  StoreSearch,\r\n  Subscriptions,\r\n  Fulfillment,\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nexport interface IYoutubeFrame {\r\n  embedId: string\r\n}\r\nconst YoutubeFrame = ({ embedId }: IYoutubeFrame) => (\r\n  
\r\n \r\n
\r\n)\r\n\r\nYoutubeFrame.propTypes = {\r\n embedId: PropTypes.string.isRequired,\r\n}\r\n\r\nexport default YoutubeFrame\r\n","import React from 'react'\r\nimport { Box } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nexport interface StepsProps {\r\n children: string\r\n}\r\nconst Steps = ({ children }: StepsProps) => {\r\n return {children}\r\n}\r\nexport default Steps\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst steps: SxStyleProp = {\r\n ml: '4px',\r\n mt: '12px',\r\n mb: '27px',\r\n borderLeft: '1px solid #e5e7eb',\r\n pl: '25px',\r\n position: 'relative',\r\n '.heading': {\r\n counterIncrement: `step`,\r\n },\r\n '.heading:before': {\r\n content: `counter(step)`,\r\n position: 'absolute',\r\n border: '4px solid #ffffff',\r\n width: '2em',\r\n height: '2em',\r\n left: '-1.3em',\r\n color: '#a1a1aa',\r\n backgroundColor: '#f2f3f6',\r\n borderRadius: '9999px',\r\n fontSize: '1em',\r\n textAlign: 'center',\r\n lineHeight: '2.1em',\r\n boxSizing: 'content-box',\r\n },\r\n}\r\n\r\nexport default {\r\n steps,\r\n}\r\n","import React, { ReactElement, useEffect, useRef, useState } from 'react'\r\nimport { Box, Button, Flex } from '@vtex/brand-ui'\r\nimport CloseIcon from 'components/icons/close-icon'\r\nimport useClickOutside from 'utils/hooks/useClickOutside'\r\nimport styles from './styles'\r\n\r\ninterface Props {\r\n children: ReactElement\r\n}\r\n\r\nexport default function LightBox({ children }: Props) {\r\n const [isModalOpen, setIsModalOpen] = useState(false)\r\n const modalRef = useRef()\r\n\r\n useEffect(() => {\r\n if (isModalOpen) {\r\n const scrollTop = document.body.getBoundingClientRect().top\r\n document.body.style.top = `${scrollTop}px`\r\n document.body.classList.add('modal-open')\r\n } else {\r\n document.body.classList.remove('modal-open')\r\n document.body.style.removeProperty('top')\r\n }\r\n }, [isModalOpen])\r\n\r\n useClickOutside(modalRef, () => setIsModalOpen(false))\r\n\r\n return (\r\n
\r\n {isModalOpen && (\r\n \r\n }\r\n onClick={() => setIsModalOpen(false)}\r\n />\r\n \r\n {children}\r\n \r\n \r\n )}\r\n setIsModalOpen(true)}>\r\n {children}\r\n \r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CloseIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CloseIcon\r\n","import { useEffect, MutableRefObject, SetStateAction, Dispatch } from 'react'\r\n\r\nexport default function useClickOutside(\r\n ref: MutableRefObject,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n openModal: Dispatch>\r\n) {\r\n useEffect(() => {\r\n function handleClickOutside(event: MouseEvent) {\r\n const { body, documentElement } = document\r\n if (\r\n ref.current &&\r\n event.target instanceof Node &&\r\n !ref.current.contains(event.target)\r\n ) {\r\n openModal({ modalToggle: false })\r\n const scrollTop = body.getBoundingClientRect().top * -1\r\n body.classList.remove('modal-open')\r\n documentElement.scrollTop = scrollTop\r\n body.style.removeProperty('top')\r\n }\r\n }\r\n document.addEventListener('mousedown', handleClickOutside)\r\n return () => {\r\n document.removeEventListener('mousedown', handleClickOutside)\r\n }\r\n }, [])\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst imageContainer: SxStyleProp = {\r\n cursor: 'pointer',\r\n borderRadius: '5px',\r\n width: 'fit-content',\r\n mt: '16px',\r\n mb: '24px',\r\n transition: '0.3s',\r\n ':hover': {\r\n boxShadow: '2px 4px 8px 2px rgb(0 0 0 / 10%)',\r\n },\r\n\r\n '> img': {\r\n maxWidth: '100%',\r\n display: 'block',\r\n padding: '0',\r\n margin: '0',\r\n border: '1px solid #e7e9ed',\r\n borderRadius: '4px'\r\n },\r\n}\r\n\r\nconst container: SxStyleProp = {\r\n margin: '0',\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: 'rgba(0,0,0,0.9)',\r\n position: 'fixed',\r\n top: '0',\r\n left: '0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n zIndex: '10000',\r\n}\r\n\r\nconst modal: SxStyleProp = {\r\n display: 'inline-block',\r\n margin: 'auto',\r\n boxShadow: '2px 4px 16px rgb(0 0 0 / 30%)',\r\n position: 'relative',\r\n zIndex: '10001',\r\n padding: '0',\r\n\r\n '> img': {\r\n display: 'block',\r\n maxHeight: 'calc(100vh - 50px)',\r\n maxWidth: 'calc(100vw - 50px)',\r\n width: 'auto',\r\n margin: '0',\r\n padding: '0',\r\n },\r\n}\r\n\r\nconst closeButton: SxStyleProp = {\r\n position: 'absolute',\r\n zIndex: '10002',\r\n top: '10px',\r\n right: '10px',\r\n color: '#FEFEFE',\r\n\r\n ':hover': {\r\n color: 'rgb(100, 100, 100)',\r\n },\r\n}\r\n\r\nexport default {\r\n imageContainer,\r\n container,\r\n modal,\r\n closeButton,\r\n}\r\n","import React from 'react'\r\nimport { Box, Flex, IconCaret, Text, Link } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\nimport Image from 'next/image.js'\r\n\r\nexport type WhatsNextDataElement = {\r\n title: string\r\n description?: string\r\n linkTitle?: string\r\n linkTo: string\r\n image?: string\r\n}\r\n\r\nconst WhatsNextCard = ({\r\n title,\r\n description,\r\n linkTitle,\r\n linkTo,\r\n image,\r\n}: WhatsNextDataElement) => {\r\n return (\r\n \r\n {image ? (\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {title}\r\n \r\n {description && (\r\n \r\n {description}\r\n \r\n )}\r\n {linkTitle && (\r\n \r\n \r\n {linkTitle}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default WhatsNextCard\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n mt: '16px',\r\n borderRadius: '4px',\r\n border: '1px solid #E7E9EE',\r\n width: ['100%', '49%'],\r\n transition: 'all 0.3s ease-out',\r\n ':hover': {\r\n cursor: 'pointer',\r\n },\r\n ':active, :hover': {\r\n borderColor: 'muted.2',\r\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n transition: 'all 0.3 ease-out',\r\n '.title, .description': {\r\n transition: 'all 0.3s ease-out',\r\n color: '#000711',\r\n },\r\n '.link, .caret': {\r\n transition: 'all 0.3s ease-out',\r\n color: 'muted.0',\r\n },\r\n },\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n mb: '8px',\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n lineHeight: ['22px', '18px'],\r\n color: 'muted.0',\r\n}\r\n\r\nconst imageTitle: SxStyleProp = {\r\n padding: '16px',\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n color: 'muted.0',\r\n ':after': {\r\n content: `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='rgb(74 89 108)' %3E%3Cpath fill-rule='evenodd' d='M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z' clip-rule='evenodd' /%3E%3C/svg%3E\")`,\r\n position: 'absolute',\r\n height: '16px',\r\n width: '16px',\r\n marginLeft: '3px',\r\n lineHeight: '30px',\r\n },\r\n}\r\n\r\nconst description: SxStyleProp = {\r\n fontSize: '14px',\r\n fontWeight: '400',\r\n lineHeight: '20px',\r\n color: 'muted.0',\r\n}\r\n\r\nconst linkContainer: SxStyleProp = {\r\n mt: '8px',\r\n alignItems: 'center',\r\n}\r\n\r\nconst link: SxStyleProp = {\r\n ...description,\r\n color: 'muted.1',\r\n}\r\n\r\nexport default {\r\n container,\r\n title,\r\n imageTitle,\r\n description,\r\n linkContainer,\r\n link,\r\n}","import type { Dispatch, ReactNode, SetStateAction } from 'react'\r\nimport { createContext, useEffect, useState } from 'react'\r\nimport { Item } from 'lib/table-of-contents/TableOfContents.types'\r\nimport { Section } from 'utils/typings/types'\r\nimport { SWRConfig } from 'swr'\r\n\r\ninterface Props extends Partial {\r\n children: ReactNode\r\n /** The navigation array containing the list of documentations shown in the sidebar. */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n fallback?: any\r\n /** Documentation sections, the same sections that divide the fallback. */\r\n sections: Section[][]\r\n /** Whether is a branch preview or not. */\r\n isPreview: boolean\r\n /** The section currently selected. */\r\n sectionSelected: string\r\n /** The sections to be used on the hamburguer menu */\r\n hamburguerMenuSections: Section[][]\r\n /** The portal language. The default is english. */\r\n locale?: 'en' | 'pt' | 'es'\r\n}\r\n\r\nexport type ContextType = {\r\n headingItems: Item[]\r\n setHeadingItems: Dispatch>\r\n activeItem: ActiveItem\r\n setActiveItem: Dispatch>\r\n goToPreviousItem: () => void\r\n goToPreviousSubItem: () => void\r\n isEditorPreview: boolean\r\n sidebarSectionHidden: boolean\r\n activeSectionName: string\r\n activeSidebarElement: string\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sidebarDataMaster: any\r\n sidebarElementStatus: Map\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setSidebarDataMaster: Dispatch>\r\n setIsEditorPreview: Dispatch>\r\n setSidebarSectionHidden: Dispatch>\r\n setActiveSectionName: Dispatch>\r\n setActiveSidebarElement: Dispatch>\r\n toggleSidebarElementStatus: (title: string) => void\r\n openSidebarElement: (title: string) => void\r\n closeSidebarElements: (parentsArray: string[]) => void\r\n sidebarSections: Section[][]\r\n setSidebarSections: Dispatch>\r\n hamburguerSections: Section[][]\r\n setHamburguerSections: Dispatch>\r\n locale: 'en' | 'pt' | 'es'\r\n}\r\n\r\ntype ActiveItem = {\r\n item: string\r\n subItem: string\r\n}\r\n\r\nexport const LibraryContext = createContext({\r\n headingItems: [],\r\n setHeadingItems: () => undefined,\r\n activeItem: {\r\n item: '',\r\n subItem: '',\r\n },\r\n setActiveItem: () => undefined,\r\n goToPreviousItem: () => undefined,\r\n goToPreviousSubItem: () => undefined,\r\n isEditorPreview: false,\r\n sidebarSectionHidden: false,\r\n activeSectionName: '',\r\n activeSidebarElement: '',\r\n sidebarDataMaster: {},\r\n setIsEditorPreview: () => undefined,\r\n sidebarElementStatus: new Map(),\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n setSidebarDataMaster: (_: any) => undefined,\r\n setSidebarSectionHidden: () => undefined,\r\n setActiveSectionName: () => undefined,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n setActiveSidebarElement: (_: any) => undefined,\r\n toggleSidebarElementStatus: () => undefined,\r\n openSidebarElement: () => undefined,\r\n closeSidebarElements: () => undefined,\r\n sidebarSections: [],\r\n setSidebarSections: () => undefined,\r\n hamburguerSections: [],\r\n setHamburguerSections: () => undefined,\r\n locale: 'en',\r\n})\r\n\r\n/** Provider for the LibraryContext created with React.createContext. The context is used in the following components: feedback, search, sidebar, hamburger menu, markdown renderer and table of contents. */\r\nconst LibraryContextProvider = ({ children, ...props }: Props) => {\r\n const [headingItems, setHeadingItems] = useState([])\r\n const [activeItem, setActiveItem] = useState({\r\n item: '',\r\n subItem: '',\r\n })\r\n\r\n const [activeSectionName, setActiveSectionName] = useState(\r\n props.sectionSelected\r\n )\r\n const [sidebarSectionHidden, setSidebarSectionHidden] = useState(false)\r\n const [activeSidebarElement, setActiveSidebarElement] = useState('')\r\n const [sidebarElementStatus, setSidebarElementStatus] = useState(new Map())\r\n const [sidebarDataMaster, setSidebarDataMaster] = useState(props.fallback)\r\n const [isEditorPreview, setIsEditorPreview] = useState(props.isPreview)\r\n const [sidebarSections, setSidebarSections] = useState(props.sections)\r\n const [hamburguerSections, setHamburguerSections] = useState(\r\n props.hamburguerMenuSections\r\n )\r\n const locale = 'en'\r\n\r\n useEffect(() => {\r\n setSidebarDataMaster(props.fallback)\r\n }, [props.fallback])\r\n\r\n useEffect(() => {\r\n if (props.sectionSelected === '') setSidebarSectionHidden(true)\r\n else if (props.sectionSelected !== activeSectionName)\r\n setActiveSectionName(props.sectionSelected)\r\n }, [props.sectionSelected])\r\n\r\n const { fallback } = props\r\n\r\n const toggleSidebarElementStatus = (title: string) => {\r\n setSidebarElementStatus((sidebarElementStatus) => {\r\n const open =\r\n sidebarElementStatus.has(title) === false\r\n ? true\r\n : !sidebarElementStatus.get(title)\r\n\r\n return new Map(sidebarElementStatus.set(title, open))\r\n })\r\n }\r\n\r\n const closeSidebarElements = (parentsArray: string[]) => {\r\n sidebarElementStatus.forEach((_value, key) => {\r\n if (!parentsArray.includes(key)) {\r\n setSidebarElementStatus((sidebarElementStatus) => {\r\n return new Map(sidebarElementStatus.set(key, false))\r\n })\r\n }\r\n })\r\n }\r\n\r\n const openSidebarElement = (title: string) => {\r\n setSidebarElementStatus((sidebarElementStatus) => {\r\n return new Map(sidebarElementStatus.set(title, true))\r\n })\r\n }\r\n\r\n const goToPreviousItem = () => {\r\n setActiveItem(({ item, subItem }) => {\r\n const index = headingItems.findIndex((heading) => heading.slug === item)\r\n if (index === -1) return { item, subItem }\r\n\r\n const previousItem = !index ? '' : headingItems[index - 1].slug\r\n const previousChildren = !index ? [] : headingItems[index - 1].children\r\n const previousSubItem = !previousChildren.length\r\n ? ''\r\n : previousChildren.slice(-1)[0].slug\r\n\r\n return {\r\n item: previousItem,\r\n subItem: previousSubItem,\r\n }\r\n })\r\n }\r\n\r\n const goToPreviousSubItem = () => {\r\n setActiveItem(({ item, subItem }) => {\r\n const heading = headingItems.find((heading) => heading.slug === item)\r\n const index = heading?.children.findIndex(\r\n (child) => child.slug === subItem\r\n )\r\n\r\n if (!heading || index === -1) return { item, subItem }\r\n\r\n return {\r\n item,\r\n subItem: !index ? '' : heading.children[index - 1].slug,\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default LibraryContextProvider\r\n","export const removeHTML = (str: string) => str.replace(/<\\/?[^>]+>/g, '')\r\n\r\nexport const capitalizeFirstLetter = (str: string) => {\r\n return str.charAt(0).toUpperCase() + str.slice(1)\r\n}\r\n\r\nexport const toCamelCase = (str: string) => {\r\n const [firstWord, ...otherWords] = str.split('-')\r\n return `${firstWord}${otherWords.map(capitalizeFirstLetter).join('')}`\r\n}\r\n\r\nexport const slugify = (str: string) => {\r\n return str\r\n .normalize('NFD') // Decomposes diacritics (e.g., \"é\" → \"é\")\r\n .replace(/[\\u0300-\\u036f]/g, '') // Removes diacritic marks\r\n .toLowerCase()\r\n .replace(/[^\\w\\s-]/g, '') // Removes non-word characters except spaces and hyphens\r\n .replace(/\\s+/g, '-') // Replaces spaces with hyphens\r\n .replace(/-+/g, '-') // Removes multiple consecutive hyphens\r\n .trim() // Trims leading/trailing spaces\r\n}\r\n\r\ntype Child = string | { props: { children: Child[] } }\r\n\r\nexport const childrenToString: (children: Child[]) => string = (children) => {\r\n if (!children) return ''\r\n else if (Array.isArray(children))\r\n return children\r\n .map((child) => {\r\n if (typeof child === 'string') return child\r\n return childrenToString(child.props.children)\r\n })\r\n .join('')\r\n else {\r\n if (typeof children === 'string') return children\r\n return childrenToString(children['props']['children'])\r\n }\r\n}\r\n\r\nexport const matrixToMarkdownTable: (matrix: string[][]) => string = (\r\n matrix\r\n) => {\r\n const matrixRowToMarkdownTableRow = (matrixRow: string[]) =>\r\n `|${matrixRow\r\n .map((matrixElement) => ` ${matrixElement.replace(/\\n/g, '
')} |`)\r\n .join('')}`\r\n\r\n let table = matrixRowToMarkdownTableRow(matrix[0]) + '\\n|'\r\n for (let i = 0; i < matrix[0].length; i++) table += ' --- |'\r\n\r\n table += '\\n'\r\n for (let i = 1; i < matrix.length; i++)\r\n table += matrixRowToMarkdownTableRow(matrix[i]) + '\\n'\r\n\r\n return table\r\n}\r\n","import mermaid from 'mermaid'\r\n\r\nconst mermaidInit = () => {\r\n mermaid.initialize({\r\n theme: 'base',\r\n themeVariables: {\r\n primaryColor: '#FFFFFF',\r\n primaryTextColor: '#142032',\r\n primaryBorderColor: '#A1AAB7',\r\n labelBoxBorderColor: '#E31C58',\r\n labelTextColor: '#E31C58',\r\n labelBoxBkgColor: '#FFF3F6',\r\n lineColor: '#A1AAB7',\r\n mainBkg: '#F8F7FC',\r\n },\r\n })\r\n}\r\n\r\nexport default mermaidInit\r\n",".img {\r\n max-width: 100%;\r\n padding-top: 2vh;\r\n border-radius: 4px;\r\n}\r\n\r\n.heading::before {\r\n content: '';\r\n display: block;\r\n visibility: hidden;\r\n pointer-events: none;\r\n}\r\n\r\n.code {\r\n background-color: #f6f8fa;\r\n background-color: var(--md-code-background, #f6f8fa);\r\n border-radius: 4px;\r\n color: var(--md-code-text);\r\n margin: 0;\r\n padding: 0.2em 0.4em;\r\n font-size: 0.875em;\r\n word-break: break-all;\r\n}\r\n\r\ntable .code {\r\n word-break: normal;\r\n}\r\n\r\n.blockquote {\r\n display: grid;\r\n padding: 20px;\r\n gap: 20px;\r\n width: 100%;\r\n margin: 16px 0px 24px;\r\n border-radius: 4px;\r\n align-items: center;\r\n border: 1px solid #ccced8;\r\n grid-template-columns: 20px 1fr;\r\n grid-template-rows: 1fr;\r\n word-break: break-word;\r\n}\r\n\r\n.blockquote a {\r\n word-break: break-all;\r\n}\r\n\r\n.blockquote p, .blockquote div{\r\n margin: 0px;\r\n grid-column: 2 / -1;\r\n grid-row: 1 / 1;\r\n}\r\n\r\n.blockquote a{\r\n color: #e31c58 !important;\r\n -webkit-text-decoration: underline 1px solid;\r\n text-decoration: underline 1px solid;\r\n}\r\n\r\n.blockquote a:hover{\r\n color: #c81e51;\r\n}\r\n\r\n.blockquoteInfo {\r\n background: #f8f7fc;\r\n border: 1px solid #ccced8;\r\n}\r\n\r\n.blockquoteInfo:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteDanger {\r\n background: #fdefef;\r\n border: 1px solid #dc5a41;\r\n}\r\n\r\n.blockquoteDanger:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteWarning {\r\n background: #fff2d4;\r\n border: 1px solid #ffb100;\r\n}\r\n\r\n.blockquoteWarning code {\r\n background-color: #ffe5b5;\r\n}\r\n\r\n.blockquoteInfo code {\r\n background-color: #ecebf3;\r\n}\r\n\r\n.blockquoteWarning:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteSuccess {\r\n background: #f3f8f3;\r\n border: 1px solid #80be80;\r\n}\r\n\r\n.blockquoteSuccess:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.flexWrap {\r\n flex-wrap: wrap;\r\n justify-content: space-between;\r\n}\r\n\r\n.svgContainer {\r\n width: 100%;\r\n}","{\r\n \"feedback_section.question\": \"Was this helpful?\",\r\n \"feedback_section.response\": \"Thanks for the feedback!\",\r\n \"feedback_section.positive\": \"Yes\",\r\n \"feedback_section.negative\": \"No\",\r\n \"feedback_section.edit\": \"Suggest Edits (GitHub)\",\r\n \"feedback_modal.title\": \"Leave a Comment (Optional)\",\r\n \"feedback_modal.button\": \"Send Feedback\",\r\n \"search_input.empty\": \"No results found. Try different search terms.\",\r\n \"search_input.placeholder\": \"Search\",\r\n \"search_results.showing\": \"Showing\",\r\n \"search_results.results_for\": \"results for\",\r\n \"search_results.in\": \"in\",\r\n \"search_results.all_lowercase\": \"all results\",\r\n \"sidebar_search.placeholder\": \"Search in\",\r\n \"search_input.see_all\": \"See all results\",\r\n \"search_results.summary\": \"Showing {count} results for \\\"{keyword}\\\" in {section}\",\r\n \"search_results.all\": \"All results\",\r\n \"search_card.in\": \"In\",\r\n \"image.error_loading\": \"An error occurred while loading the image\",\r\n \"api_reference_sidebar_filter_clear\": \"Clear All\",\r\n \"api_reference_sidebar_filter\": \"Filter By\",\r\n \"cookie_bar.title\": \"We use cookies\",\r\n \"cookie_bar.description\": \"This website uses cookies to improve navigation, analyze usage, and assist with our marketing efforts.\",\r\n \"cookie_bar.accept\": \"I agree\",\r\n \"cookie_bar.decline\": \"I decline\"\r\n}\r\n","{\r\n \"feedback_section.question\": \"¿Te ha parecido útil?\",\r\n \"feedback_section.response\": \"Gracias por tu feedback\",\r\n \"feedback_section.positive\": \"Sí\",\r\n \"feedback_section.negative\": \"No\",\r\n \"feedback_section.edit\": \"Sugerir cambios (GitHub)\",\r\n \"feedback_modal.title\": \"Dar feedback (opcional)\",\r\n \"feedback_modal.button\": \"Enviar feedback\",\r\n \"search_input.empty\": \"No se encontraron resultados. Intenta utilizar otros términos.\",\r\n \"search_input.placeholder\": \"Buscar\",\r\n \"sidebar_search.placeholder\": \"Buscar en\",\r\n \"search_results.showing\": \"Mostrando\",\r\n \"search_results.results_for\": \"resultados para\",\r\n \"search_results.in\": \"en\",\r\n \"search_results.all_lowercase\": \"todos los resultados\",\r\n \"search_input.see_all\": \"Ver todos los resultados\",\r\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" en {section}\",\r\n \"search_results.all\": \"Todos los resultados\",\r\n \"search_card.in\": \"En\",\r\n \"image.error_loading\": \"Se produjo un error al cargar la imagen\",\r\n \"api_reference_sidebar_filter_clear\": \"Limpiar todo\",\r\n \"api_reference_sidebar_filter\": \"Filtrar por\",\r\n \"cookie_bar.title\": \"Utilizamos cookies\",\r\n \"cookie_bar.description\": \"Este sitio web utiliza cookies para optimizar la navegación, analizar el uso e impulsar nuestros esfuerzos de marketing.\",\r\n \"cookie_bar.accept\": \"Acepto\",\r\n \"cookie_bar.decline\": \"Rechazo\"\r\n}\r\n","{\r\n \"feedback_section.question\": \"Isso foi útil?\",\r\n \"feedback_section.response\": \"Agradecemos pelo seu feedback.\",\r\n \"feedback_section.positive\": \"Sim\",\r\n \"feedback_section.negative\": \"Não\",\r\n \"feedback_section.edit\": \"Sugerir edições (GitHub)\",\r\n \"feedback_modal.title\": \"Deixe um comentário (opcional)\",\r\n \"feedback_modal.button\": \"Enviar feedback\",\r\n \"search_input.empty\": \"Nenhum resultado encontrado. Tente buscar por outros termos.\",\r\n \"search_input.placeholder\": \"Buscar\",\r\n \"sidebar_search.placeholder\": \"Buscar em\",\r\n \"search_results.showing\": \"Mostrando\",\r\n \"search_results.results_for\": \"resultados para\",\r\n \"search_results.in\": \"em\",\r\n \"search_results.all_lowercase\": \"todos os resultados\",\r\n \"search_input.see_all\": \"Ver todos os resultados\",\r\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" em {section}\",\r\n \"search_results.all\": \"Todos os resultados\",\r\n \"search_card.in\": \"Em\",\r\n \"image.error_loading\": \"Ocorreu um erro ao carregar a imagem\",\r\n \"api_reference_sidebar_filter_clear\": \"Limpar tudo\",\r\n \"api_reference_sidebar_filter\": \"Filtrar por\",\r\n \"cookie_bar.title\": \"Nós usamos cookies\",\r\n \"cookie_bar.description\": \"Este site utiliza cookies para melhorar a navegação, analisar a experiência de uso e auxiliar em nossas ações de marketing.\",\r\n \"cookie_bar.accept\": \"Concordo\",\r\n \"cookie_bar.decline\": \"Discordo\"\r\n}","import enMessages from '../messages/en.json'\r\nimport esMessages from '../messages/es.json'\r\nimport ptMessages from '../messages/pt.json'\r\nimport { MessagesType } from './typings/messages-types'\r\n\r\nconst getMessages = (): {\r\n en: MessagesType\r\n es: MessagesType\r\n pt: MessagesType\r\n} => {\r\n const messages = {\r\n en: enMessages,\r\n es: esMessages,\r\n pt: ptMessages,\r\n }\r\n\r\n return messages\r\n}\r\n\r\nexport const messages = getMessages()\r\n","import { useContext, useEffect } from 'react'\r\nimport Link from 'next/link.js'\r\nimport { useRouter } from 'next/router.js'\r\nimport { Box, Text } from '@vtex/brand-ui'\r\nimport AnimateHeight from 'react-animate-height'\r\n\r\nimport { removeHTML } from 'utils/string-utils'\r\nimport { Item } from './TableOfContents.types'\r\n\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nimport styles from './styles'\r\n\r\ninterface Props {\r\n /** List of headings in the current documentation page */\r\n headingList?: Item[]\r\n children?: React.ReactNode\r\n}\r\n\r\n/** Table of contents for documentation pages. */\r\nconst TableOfContents = ({ headingList, children }: Props) => {\r\n const router = useRouter()\r\n const { headingItems, activeItem, setHeadingItems, setActiveItem } =\r\n useContext(LibraryContext)\r\n\r\n useEffect(() => {\r\n const headings: Item[] = headingList ?? []\r\n if (!headings.length) {\r\n document.querySelectorAll('h2, h3').forEach((heading) => {\r\n const headingSlug = heading.id\r\n const item = {\r\n title: removeHTML(heading.innerHTML).replace(':', ''),\r\n slug: headingSlug,\r\n }\r\n\r\n if (heading.tagName === 'H2') {\r\n headings.push({ ...item, children: [] })\r\n } else if (headings.length > 0) {\r\n headings[headings.length - 1].children.push({ ...item })\r\n } else {\r\n headings.push({ ...item, children: [] })\r\n }\r\n })\r\n setHeadingItems(headings)\r\n } else setHeadingItems(headings)\r\n }, [router.asPath, headingList])\r\n\r\n const Item = ({\r\n title,\r\n slug,\r\n level,\r\n active,\r\n }: {\r\n title: string\r\n slug: string\r\n level: number\r\n active: boolean\r\n }) => {\r\n return (\r\n {\r\n setActiveItem(({ item }) => ({\r\n item: level === 1 ? slug : item,\r\n subItem: level === 1 ? '' : slug,\r\n }))\r\n }}\r\n >\r\n {title}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {headingItems.length > 0 && (\r\n ON THIS PAGE\r\n )}\r\n \r\n {headingItems.map((item) => (\r\n \r\n \r\n \r\n \r\n {item.children.map((subItem) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n ))}\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default TableOfContents\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst itemsContainer: SxStyleProp = {\r\n position: 'sticky',\r\n top: 'calc(5rem + 32px)',\r\n}\r\n\r\nconst tocTitle: SxStyleProp = {\r\n fontSize: '10px',\r\n fontWeight: '600',\r\n textTransform: 'uppercase',\r\n mb: '6px',\r\n color: 'muted.0',\r\n}\r\n\r\nconst headings: SxStyleProp = {\r\n borderLeft: '1px solid #E7E9EE',\r\n mb: '16px',\r\n}\r\n\r\nconst item: (level: number, active: boolean) => SxStyleProp = (\r\n level,\r\n active\r\n) => {\r\n const defaultLineHeight = `${level === 1 ? 18 : 22}px`\r\n return {\r\n ml: '-1px',\r\n pl: `${level * 8}px`,\r\n py: ['6px', '6px', '6px', '6px', '4px', '4px'],\r\n borderLeft: `1px solid ${active && level === 1 ? '#E31C58' : '#E7E9EE'}`,\r\n fontSize: ['16px', '16px', '16px', '16px', '12px', '16px'],\r\n lineHeight: [\r\n defaultLineHeight,\r\n defaultLineHeight,\r\n defaultLineHeight,\r\n defaultLineHeight,\r\n `${level === 1 ? 16 : 18}px`,\r\n defaultLineHeight,\r\n ],\r\n fontWeight: `${active ? '600' : '400'}`,\r\n color: `${active ? '#0C1522' : 'muted.0'}`,\r\n\r\n ':hover': {\r\n color: '#000711',\r\n },\r\n }\r\n}\r\n\r\nconst subItemsContainer: SxStyleProp = {\r\n ml: '16px',\r\n borderLeft: '1px solid #E7E9EE',\r\n}\r\n\r\nexport default { tocTitle, itemsContainer, item, subItemsContainer, headings }\r\n","import { useEffect, useRef, useState, useContext } from 'react'\r\nimport { Flex, Text, Box } from '@vtex/brand-ui'\r\nimport Link from 'next/link.js'\r\n\r\nimport styles from './styles'\r\nimport { iconTooltipStyle } from './functions'\r\n\r\nimport { Section } from 'utils/typings/types'\r\nimport Tooltip from 'components/tooltip'\r\nimport { updateOpenPage } from 'utils/sidebar-utils'\r\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport interface SideBarSectionState {\r\n /** Array containing the name of the parents of the expanded page in the menu. */\r\n parentsArray?: string[]\r\n}\r\n\r\n/**\r\n * Sidebar component.\r\n */\r\nconst Sidebar = ({ parentsArray = [] }: SideBarSectionState) => {\r\n const [expandDelayStatus, setExpandDelayStatus] = useState(true)\r\n\r\n const context = useContext(LibraryContext)\r\n const {\r\n isEditorPreview,\r\n setActiveSectionName,\r\n activeSectionName,\r\n sidebarSections,\r\n sidebarDataMaster,\r\n } = context\r\n\r\n const sidebarSectionContent = {\r\n ...(Array.isArray(sidebarDataMaster)\r\n ? sidebarDataMaster?.find(\r\n (section: SidebarSectionProps) =>\r\n section.documentation === activeSectionName\r\n )\r\n : null),\r\n }\r\n\r\n updateOpenPage({\r\n parentsArray,\r\n context,\r\n })\r\n\r\n useEffect(() => {\r\n let timer: NodeJS.Timeout | undefined = undefined\r\n if (sidebarSectionContent.categories?.length > 0)\r\n timer = setTimeout(\r\n () => setExpandDelayStatus && setExpandDelayStatus(false),\r\n 5000\r\n )\r\n else setExpandDelayStatus && setExpandDelayStatus(true)\r\n\r\n return () => {\r\n timer && clearTimeout(timer)\r\n }\r\n }, [activeSectionName])\r\n\r\n const SideBarIcon = (sectionElement: Section) => {\r\n const [iconTooltip, setIconTooltip] = useState(false)\r\n const [tooltipLabel, setTooltipLabel] = useState(sectionElement.title)\r\n const titleRef = useRef()\r\n\r\n useEffect(() => {\r\n const resizeObserver = new MutationObserver(function (entries) {\r\n const target = entries[0].target as HTMLElement\r\n if (target.offsetWidth < target.scrollWidth) setIconTooltip(true)\r\n else setIconTooltip(false)\r\n\r\n if (target.offsetWidth > 0) setTooltipLabel(target.innerText)\r\n })\r\n if (titleRef.current) {\r\n if (titleRef.current.offsetWidth < titleRef.current.scrollWidth)\r\n setIconTooltip(true)\r\n resizeObserver.observe(titleRef.current, {\r\n childList: true,\r\n })\r\n }\r\n return () => {\r\n resizeObserver.disconnect\r\n }\r\n }, [titleRef.current])\r\n\r\n return (\r\n \r\n \r\n {\r\n if (isEditorPreview) {\r\n e.preventDefault()\r\n }\r\n setActiveSectionName(sectionElement.id)\r\n }}\r\n passHref\r\n aria-label={sectionElement.title}\r\n >\r\n \r\n \r\n \r\n {sectionElement.title}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {sidebarSections.map((section, id) => {\r\n return (\r\n <>\r\n {id > 0 && (\r\n \r\n
\r\n
\r\n )}\r\n \r\n {section.map((element) => (\r\n \r\n ))}\r\n \r\n \r\n )\r\n })}\r\n
\r\n {activeSectionName ? : null}\r\n \r\n )\r\n}\r\n\r\nexport default Sidebar\r\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sidebar: SxStyleProp = {\n display: [\n 'none !important',\n 'none !important',\n 'none !important',\n 'flex !important',\n ],\n position: 'sticky',\n left: '0',\n top: '5rem',\n flex: '1 0 auto',\n height: 'calc(100vh - 5rem)',\n width: 'auto',\n minWidth: 'auto',\n transition: 'all 0.3s ease-in-out',\n '.active': {\n marginLeft: '-276px',\n transition: 'all 0.3s ease-in-out',\n },\n '.iconContainerExpanded': {\n transition: 'all 0.3s ease-in-out',\n width: '160px',\n overflowY: 'auto',\n },\n '.iconDescriptionExpanded': {\n display: 'block',\n },\n}\n\nconst sidebarIcons: SxStyleProp = {\n width: ['56px', '56px', '56px', '56px', '160px', '160px'],\n minWidth: 'max-content',\n transition: 'all 0.3s ease-in-out',\n flexDirection: 'column',\n borderRight: '1px solid #E7E9EE',\n background: '#FFFFFF',\n zIndex: '2',\n paddingBottom: '32px',\n}\n\nconst linkContainer: SxStyleProp = {\n minWidth: '100%',\n}\n\nconst iconBox: SxStyleProp = {\n mt: ['16px'],\n width: '100%',\n maxWidth: '144px',\n paddingLeft: ['0', '0', '0', '8px'],\n paddingRight: ['0', '0', '0', '8px', '0', '0'],\n py: ['0', '0', '0', '8px', '10px', '10px'],\n height: '40px',\n borderRadius: '4px',\n alignItems: 'center',\n justifyContent: 'flex-start',\n background: 'transparent',\n color: 'muted.0',\n cursor: 'pointer',\n ':hover': {\n background: '#F8F7FC',\n color: '#000711',\n path: {\n stroke: [\n '#000711',\n '#000711',\n '#000711',\n '#000711',\n '#4A596B',\n '#4A596B',\n ],\n },\n },\n}\n\nconst iconBoxActive: SxStyleProp = {\n ...iconBox,\n background: ['#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', 'none'],\n color: '#E31C58',\n}\n\nconst sidebarIconsContainer: SxStyleProp = {\n width: '100%',\n flexDirection: 'column',\n alignItems: 'flex-start',\n px: ['0', '0', '0', '8px'],\n}\n\nconst icon: SxStyleProp = {\n width: ['24px'],\n height: ['24px'],\n}\n\nconst iconActive: SxStyleProp = {\n ...icon,\n '> path': {\n stroke: '#E31C58',\n },\n}\n\nconst sectionDivider: SxStyleProp = {\n px: '8px',\n marginTop: '16px',\n hr: {\n border: '1px solid #E7E9EE',\n borderTop: 'none',\n },\n}\n\nconst iconTitle: SxStyleProp = {\n display: ['none', 'none', 'none', 'none', 'block', 'block'],\n width: '100%',\n fontSize: '14px',\n ml: ['8px', '8px', '8px', '8px', '12px', '12px'],\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst iconTooltip: SxStyleProp = {\n display: [\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'none !important',\n 'none !important',\n ],\n}\n\nexport default {\n sidebar,\n sidebarIcons,\n sidebarIconsContainer,\n linkContainer,\n iconBox,\n icon,\n iconActive,\n iconBoxActive,\n sectionDivider,\n iconTitle,\n iconTooltip,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nexport const iconTooltipStyle: SxStyleProp = (tooltipState: boolean) => {\r\n const iconTooltip: SxStyleProp = {\r\n display: [\r\n 'flex',\r\n 'flex',\r\n 'flex',\r\n 'flex',\r\n 'flex',\r\n tooltipState ? 'flex' : 'none !important',\r\n ],\r\n }\r\n return iconTooltip\r\n}\r\n","import { useEffect, useRef, useState } from 'react'\r\nimport { Box, Flex, TooltipProps, SxStyleProp } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport CaretIcon from 'components/icons/caret'\r\ninterface Props extends Pick {\r\n sx?: SxStyleProp\r\n isCard?: boolean\r\n}\r\n\r\nconst Tooltip = ({ children, label, placement, sx, isCard }: Props) => {\r\n const box = useRef()\r\n const [boxWidth, setBoxWidth] = useState(0)\r\n const [boxHeight, setBoxHeight] = useState(0)\r\n const [boxOffsetLeft, setBoxOffsetLeft] = useState(0)\r\n const [boxOffsetTop, setBoxOffsetTop] = useState(0)\r\n const [visible, setVisible] = useState(false)\r\n\r\n useEffect(() => {\r\n if (box.current) {\r\n setBoxWidth(box.current.clientWidth)\r\n setBoxHeight(box.current.clientHeight)\r\n setBoxOffsetLeft(box.current.offsetLeft)\r\n setBoxOffsetTop(box.current.offsetTop)\r\n }\r\n }, [\r\n box.current,\r\n box.current?.clientWidth,\r\n box.current?.clientHeight,\r\n box.current?.offsetLeft,\r\n box.current?.offsetTop,\r\n ])\r\n\r\n return (\r\n \r\n setVisible(true)}\r\n onMouseLeave={() => setVisible(false)}\r\n >\r\n {children}\r\n \r\n {visible && (isCard ?? true) && (\r\n \r\n \r\n {label}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default Tooltip\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\ntype Placement = 'top' | 'right' | 'bottom' | 'left'\r\n\r\nconst tooltipContainer: (\r\n sx: SxStyleProp,\r\n placement: Placement,\r\n width: number,\r\n height: number,\r\n x: number,\r\n y: number\r\n) => SxStyleProp = (sx, placement, width, height, x, y) => {\r\n const position = {\r\n bottom: {\r\n left: `${x + width / 2}px`,\r\n top: `${y + height + 3}px`,\r\n },\r\n left: {\r\n left: `${x - 1}px`,\r\n top: `${y + height / 2}px`,\r\n },\r\n top: {\r\n left: `${x + width / 2}px`,\r\n top: `${y - 3}px`,\r\n },\r\n right: {\r\n left: `${x + width + 1}px`,\r\n top: `${y + height / 2}px`,\r\n },\r\n }\r\n\r\n const translation = {\r\n bottom: 'translateX(-50%)',\r\n left: 'translateX(-100%) translateY(-50%)',\r\n top: 'translateX(-50%) translateY(-100%)',\r\n right: 'translateY(-50%)',\r\n }\r\n\r\n const direction = {\r\n bottom: 'column',\r\n left: 'row-reverse',\r\n top: 'column-reverse',\r\n right: 'row',\r\n }\r\n\r\n return {\r\n ...sx,\r\n zIndex: '100',\r\n position: 'absolute',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n ...position[placement],\r\n transform: translation[placement],\r\n flexDirection: direction[placement],\r\n }\r\n}\r\n\r\nconst caret: (placement: Placement) => SxStyleProp = (placement) => {\r\n const rotation = {\r\n bottom: 0,\r\n left: 90,\r\n top: 180,\r\n right: 270,\r\n }\r\n\r\n const translation = {\r\n bottom: 1,\r\n left: 3,\r\n top: 1,\r\n right: 3,\r\n }\r\n\r\n return {\r\n width: '8px',\r\n height: '4px',\r\n minWidth: 'initial',\r\n minHeight: 'initial',\r\n transform: `rotate(${rotation[placement]}deg) translateY(${translation[placement]}px)`,\r\n }\r\n}\r\n\r\nconst label: SxStyleProp = {\r\n borderRadius: '4px',\r\n backgroundColor: 'black',\r\n color: 'white',\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n lineHeight: '130%',\r\n}\r\n\r\nconst labelContibutorsContainer: SxStyleProp = {\r\n ...label,\r\n padding: '4px 8px',\r\n}\r\n\r\nconst labelDocumentationContainer: SxStyleProp = {\r\n ...label,\r\n width: '284px',\r\n textAlign: 'center',\r\n px: '12px',\r\n py: '8px',\r\n}\r\n\r\nconst labelStyle = (documentationSection: boolean): SxStyleProp => {\r\n if (documentationSection) return labelDocumentationContainer\r\n return labelContibutorsContainer\r\n}\r\nexport default { tooltipContainer, caret, labelStyle }\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CaretIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default CaretIcon\r\n","export const flattenJSON = (\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n obj: any = {},\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n res: any = {},\r\n extraKey = ''\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n): any => {\r\n for (const key in obj) {\r\n if (typeof obj[key] !== 'object') {\r\n res[extraKey + key] = obj[key]\r\n } else {\r\n flattenJSON(obj[key], res, `${extraKey}${key}.`)\r\n }\r\n }\r\n return res\r\n}\r\n\r\nexport const getKeyByEndpoint = (\r\n object: { [x: string]: string },\r\n endpoint: string,\r\n slug: string,\r\n method?: string\r\n) => {\r\n const slugPaths = Object.keys(object).filter((key) => object[key] === slug)\r\n let path = ''\r\n slugPaths?.map((el) => {\r\n if (\r\n method &&\r\n object[`${el.replace('.slug', '.method')}`] == method?.toUpperCase() &&\r\n object[`${el.replace('.slug', '.endpoint')}`] == endpoint\r\n ) {\r\n path = el\r\n } else if (hasChildren(object, el.replace('.slug', '.children'))) {\r\n path = el\r\n }\r\n })\r\n return path\r\n}\r\n\r\nfunction hasChildren(\r\n flattenedJson: { [x: string]: string },\r\n elementKey: string\r\n): boolean {\r\n for (const key in flattenedJson) {\r\n if (key.startsWith(`${elementKey}.`)) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nexport const getParents = (\r\n path: string,\r\n data: string,\r\n flattenedSidebar: { [x: string]: string },\r\n parentsArray: string[],\r\n parent?: string\r\n) => {\r\n const pathParts = path?.split('children')\r\n pathParts?.splice(-1)\r\n let prev = ''\r\n pathParts?.map((el) => {\r\n el = prev + el\r\n prev = el + 'children'\r\n\r\n if (!parent || flattenedSidebar[`${el}${data}`].includes(parent)) {\r\n parentsArray.push(flattenedSidebar[`${el}${data}`])\r\n }\r\n })\r\n return parentsArray\r\n}\r\n","import { Section } from './typings/types'\r\nimport { flattenJSON, getKeyByEndpoint, getParents } from './navigation-utils'\r\nimport { useRouter } from 'next/router.js'\r\nimport { useEffect } from 'react'\r\nimport { ContextType } from './context/libraryContext'\r\n\r\nexport const getIcon = (doc: string, sections: Section[][]) => {\r\n for (const section of sections) {\r\n return section.find((icon) => icon.title === doc)?.Icon\r\n }\r\n}\r\n\r\ninterface updateOpenPageProps {\r\n parentsArray?: string[]\r\n context: ContextType\r\n}\r\nexport const updateOpenPage = ({\r\n parentsArray = [],\r\n context,\r\n}: updateOpenPageProps) => {\r\n const {\r\n activeSidebarElement,\r\n sidebarDataMaster,\r\n setActiveSidebarElement,\r\n openSidebarElement,\r\n closeSidebarElements,\r\n } = context\r\n const flattenedSidebar = flattenJSON(sidebarDataMaster)\r\n const router = useRouter()\r\n\r\n let activeSlug = ''\r\n const querySlug = router.query.slug\r\n\r\n if (querySlug && router.pathname === '/docs/api-reference/[slug]') {\r\n activeSlug = router.asPath.replace('/docs/api-reference/', '')\r\n const docPath = activeSlug.split('/')\r\n const hasHashTag = router.asPath.indexOf('#') > -1\r\n const apiSlug = docPath[0].split(hasHashTag ? '#' : '?endpoint=')[0]\r\n const endpoint = '/' + docPath.splice(1, docPath.length).join('/')\r\n let keyPath\r\n if (endpoint == '/') {\r\n activeSlug = apiSlug\r\n keyPath = getKeyByEndpoint(flattenedSidebar, '', apiSlug)\r\n } else {\r\n const method = docPath[0]\r\n .split(hasHashTag ? '#' : '?endpoint=')[1]\r\n .split('-')[0]\r\n keyPath = getKeyByEndpoint(flattenedSidebar, endpoint, apiSlug, method)\r\n }\r\n parentsArray.push(activeSlug)\r\n if (keyPath) {\r\n getParents(keyPath, 'slug', flattenedSidebar, parentsArray)\r\n }\r\n } else {\r\n activeSlug = parentsArray[parentsArray.length - 1]\r\n }\r\n\r\n useEffect(() => {\r\n closeSidebarElements(parentsArray)\r\n parentsArray.forEach((slug: string) => {\r\n openSidebarElement(slug)\r\n })\r\n setActiveSidebarElement(activeSlug?.replace('?endpoint=', '#'))\r\n }, [activeSidebarElement, router])\r\n}\r\n","// Sidebar Section\r\nimport { Flex, Box, Text, Button } from '@vtex/brand-ui'\r\nimport { useContext, useMemo, useState } from 'react'\r\n\r\nimport styles from './styles'\r\nimport { SidebarElement } from '../sidebar-elements'\r\nimport SectionFilter from '../sidebar-section-filter'\r\nimport SideBarElements from '../sidebar-elements'\r\nimport SearchIcon from 'components/icons/search-icon'\r\nimport SideBarToggleIcon from 'components/icons/sidebar-toggle-icon'\r\nimport ArrowLeftIcon from 'components/icons/arrow-left-icon'\r\nimport { getIcon } from 'utils/sidebar-utils'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\nexport interface SidebarSectionProps {\r\n documentation: string\r\n name: string | { en: string, es: string, pt: string }\r\n categories: SidebarElement[]\r\n slugPrefix: string\r\n isHamburgerMenu: boolean\r\n}\r\n\r\nconst SidebarSection = ({\r\n documentation,\r\n name,\r\n categories,\r\n slugPrefix,\r\n isHamburgerMenu = false,\r\n}: SidebarSectionProps) => {\r\n const [searchValue, setSearchValue] = useState('')\r\n const {\r\n isEditorPreview,\r\n sidebarSectionHidden,\r\n setSidebarSectionHidden,\r\n sidebarSections,\r\n locale\r\n } = useContext(LibraryContext)\r\n const [methodFilterList, setMethodFilterList] = useState([\r\n { name: 'POST', active: false },\r\n { name: 'GET', active: false },\r\n { name: 'PUT', active: false },\r\n { name: 'DELETE', active: false },\r\n { name: 'PATCH', active: false },\r\n ])\r\n\r\n const filterStatus = methodFilterList.some(\r\n (methodFilter) => methodFilter.active\r\n )\r\n\r\n const filteredResult = useMemo(() => {\r\n if (!filterStatus && searchValue === '') return categories\r\n\r\n const dataCopy = JSON.parse(JSON.stringify(categories))\r\n\r\n const filteredCategories = dataCopy\r\n .map((category: SidebarElement) => {\r\n category.children = category.children\r\n .map((subcategory) => {\r\n subcategory.children = subcategory.children.filter((endpoint) => {\r\n const hasMethodFilter =\r\n !filterStatus ||\r\n methodFilterList.find(\r\n (methodFilter) => methodFilter.name === endpoint.method\r\n )?.active\r\n const hasInputFilter =\r\n searchValue === '' ||\r\n (typeof endpoint.name === 'string'\r\n ? endpoint.name\r\n : endpoint.name[locale]\r\n )\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase())\r\n return hasMethodFilter && hasInputFilter\r\n })\r\n return subcategory\r\n })\r\n .filter(\r\n (subcategory) =>\r\n subcategory.children.length > 0 ||\r\n (subcategory.type === 'markdown' &&\r\n (typeof subcategory.name === 'string'\r\n ? subcategory.name\r\n : subcategory.name[locale]\r\n )\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase()))\r\n )\r\n return category\r\n })\r\n .filter((category: SidebarElement) => category.children.length > 0)\r\n return filteredCategories\r\n }, [filterStatus, methodFilterList, categories, searchValue])\r\n\r\n const DocIcon = getIcon(documentation, sidebarSections)\r\n\r\n let localizedSectionTitle = ''\r\n\r\n if (!categories || categories.length <= 0) {\r\n return <>\r\n } else {\r\n localizedSectionTitle = typeof(name) === 'string' ? name : name[locale]\r\n }\r\n\r\n return isHamburgerMenu ? (\r\n \r\n \r\n \r\n }\r\n onClick={() => {\r\n setSidebarSectionHidden(true)\r\n }}\r\n />\r\n {DocIcon && }\r\n {localizedSectionTitle}\r\n \r\n \r\n \r\n \r\n setSearchValue(e.currentTarget.value)}\r\n />\r\n \r\n {documentation == 'API Reference' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n {isEditorPreview && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n PREVIEW MODE\r\n \r\n )}\r\n {localizedSectionTitle}\r\n \r\n \r\n setSearchValue(e.currentTarget.value)}\r\n />\r\n \r\n \r\n {documentation == 'API Reference' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setSidebarSectionHidden(\r\n (sidebarSectionHidden) => !sidebarSectionHidden\r\n )\r\n }}\r\n sx={sidebarSectionHidden ? styles.toggleIcon : {}}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SidebarSection\r\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sidebarContainer: SxStyleProp = {\n position: 'relative',\n width: ['auto', 'auto', 'auto', 'auto', '300px', '300px'],\n minWidth: ['auto', 'auto', 'auto', 'auto', '300px', '300px'],\n height: 'inherit',\n borderRight: '1px solid #E7E9EE',\n zIndex: '1',\n left: '0',\n transition: 'all 0.3s ease-in-out',\n '.toggleIcon': {\n opacity: '0',\n transition: 'all 0.3s ease-out',\n },\n '.sidebarHide': {\n opacity: '0',\n transition: 'all 0.5s ease-out',\n },\n ':hover': {\n '.toggleIcon': {\n opacity: '100',\n transition: 'all 0.3s ease-out',\n },\n },\n}\n\nconst sidebarContainerHamburger: SxStyleProp = {\n width: 'auto',\n minHeight: '692px',\n zIndex: '1',\n}\n\nconst sidebarContainerBox: SxStyleProp = {\n opacity: '100',\n paddingTop: '34px',\n paddingBottom: '24px',\n overflowY: 'auto',\n height: 'inherit',\n maskImage:\n 'linear-gradient(to top, transparent, black), linear-gradient(to left, transparent 17px, black 17px)',\n maskSize: '100% 20000px',\n maskPosition: 'left bottom',\n transition: 'mask-position 0.3s, -webkit-mask-position 0.3s',\n ':hover': {\n maskPosition: 'left top',\n },\n}\n\nconst sidebarContainerBoxHamburger: SxStyleProp = {\n opacity: '100',\n transition: 'all 1s ease-out',\n}\n\nconst sidebarContainerBody: SxStyleProp = {\n px: '17px',\n}\n\nconst sidebarContainerHeader: SxStyleProp = {\n ...sidebarContainerBody,\n}\n\nconst sidebarContainerTitle: SxStyleProp = {\n alignItems: 'center',\n lineHeight: '22px',\n gap: '5px',\n padding: '17px 0px 17px 17px',\n borderBottom: '1px solid #E7E9EE',\n}\n\nconst sidebarTitle: SxStyleProp = {\n display: 'flex',\n alignItems: 'center',\n fontSize: '16px',\n lineHeight: '18px',\n}\n\nconst sidebarHelpIcon: SxStyleProp = {\n ml: '4px',\n width: '24px',\n height: '24px',\n}\n\nconst searchBox: SxStyleProp = {\n mt: '16px',\n mb: '20px',\n alignItems: 'center',\n borderRadius: '4px',\n background: '#F4F4F4',\n width: '100%',\n maxWidth: '315px',\n height: '40px',\n paddingLeft: '12px',\n}\n\nconst searchInput: SxStyleProp = {\n width: 'auto',\n background: '#F4F4F4',\n border: '#F4F4F4',\n color: '#545454',\n fontSize: ['14px'],\n}\n\nconst searchIcon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n mr: '8px',\n}\n\nconst toggleIconBox: SxStyleProp = {\n justifyContent: 'center',\n alignItems: 'center',\n width: '32px',\n height: '32px',\n borderRadius: '50%',\n border: '1px solid #E7E9EE',\n background: '#FFFFFF',\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n position: 'absolute',\n top: '32px',\n right: '-16px',\n cursor: 'pointer',\n}\n\nconst toggleIconBoxActive: SxStyleProp = {\n ...toggleIconBox,\n opacity: '100 !important',\n}\n\nconst toggleIcon: SxStyleProp = {\n transform: 'scaleX(-1)',\n}\n\nconst arrowButton: SxStyleProp = {\n padding: '0px',\n}\n\nconst previewMode: SxStyleProp = {\n display: 'flex',\n color: '#A87600',\n backgroundColor: '#ffe5b5',\n padding: '10px',\n borderRadius: '10px',\n fontWeight: '600',\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0.5px',\n mb: '20px',\n svg: {\n width: '20px',\n mr: '10px',\n },\n}\n\nexport default {\n sidebarContainer,\n sidebarContainerHamburger,\n sidebarContainerBox,\n sidebarContainerBoxHamburger,\n sidebarContainerBody,\n sidebarContainerHeader,\n sidebarContainerTitle,\n sidebarTitle,\n sidebarHelpIcon,\n searchBox,\n searchInput,\n searchIcon,\n toggleIconBox,\n toggleIconBoxActive,\n toggleIcon,\n arrowButton,\n previewMode,\n}\n","import { Box, Flex, Text } from '@vtex/brand-ui'\r\nimport MethodCategory from 'components/method-category'\r\nimport { Dispatch, SetStateAction, useContext, useState } from 'react'\r\n\r\nimport styles from './styles'\r\nimport { MethodType } from 'utils/typings/types'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\ntype MethodFilter = {\r\n name: string\r\n active: boolean\r\n}\r\n\r\ninterface MethodButtonProps {\r\n methodFilter: MethodFilter\r\n}\r\n\r\ninterface SectionFilterProps {\r\n methodFilterList: MethodFilter[]\r\n setMethodFilter: Dispatch>\r\n}\r\n\r\nconst SectionFilter = ({\r\n methodFilterList,\r\n setMethodFilter,\r\n}: SectionFilterProps) => {\r\n const [activeFilters, setActiveFilters] = useState([])\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const setFilter = (methodFilterChanged: MethodType | null) => {\r\n if (methodFilterChanged) {\r\n const index = activeFilters.indexOf(methodFilterChanged)\r\n index === -1\r\n ? setActiveFilters([...activeFilters, methodFilterChanged])\r\n : setActiveFilters(\r\n activeFilters.filter((filter) => filter !== methodFilterChanged)\r\n )\r\n setMethodFilter(\r\n methodFilterList.map((methodFilter) => {\r\n if (methodFilter.name === methodFilterChanged)\r\n methodFilter.active = !methodFilter.active\r\n return methodFilter\r\n })\r\n )\r\n } else {\r\n setActiveFilters([])\r\n setMethodFilter(\r\n methodFilterList.map((methodFilter) => {\r\n methodFilter.active = false\r\n return methodFilter\r\n })\r\n )\r\n }\r\n }\r\n\r\n const MethodButton = ({ methodFilter }: MethodButtonProps) => {\r\n return (\r\n setFilter(methodFilter.name as MethodType)}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {messages[locale]['api_reference_sidebar_filter']}\r\n \r\n \r\n {methodFilterList.map((methodFilter) => (\r\n \r\n ))}\r\n {activeFilters.length > 1 && (\r\n setFilter(null)} sx={styles.clear}>\r\n {messages[locale]['api_reference_sidebar_filter_clear']}\r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SectionFilter\r\n","import { Flex, Text, SxStyleProp } from '@vtex/brand-ui'\r\nimport { categoryStyle, categoryText, closeCategoryStyle } from './functions'\r\nimport styles from './styles'\r\nimport CloseFilterIcon from 'components/icons/close-filter-icon'\r\nimport { MethodType } from 'utils/typings/types'\r\n\r\nexport interface MethodCategoryProps {\r\n method: MethodType\r\n active: boolean\r\n origin: 'sidebar' | 'search' | 'filter' | 'pagination'\r\n sx?: SxStyleProp\r\n}\r\n\r\nconst MethodCategory = ({\r\n method,\r\n active,\r\n origin,\r\n sx,\r\n}: MethodCategoryProps) => {\r\n return (\r\n \r\n {categoryText(method, origin)}\r\n {origin === 'filter' && active && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default MethodCategory\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n border: '1px solid #DDDDDD',\r\n background: '#F4F4F4',\r\n borderRadius: '2px',\r\n width: '24px',\r\n height: '24px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n}\r\n\r\nconst text: SxStyleProp = {\r\n fontWeight: '600',\r\n fontSize: '12px',\r\n}\r\n\r\nconst closeIcon: SxStyleProp = {\r\n minWidth: '12px',\r\n minHeight: '12px',\r\n height: '12px',\r\n width: '12px',\r\n ml: '4px',\r\n}\r\n\r\nexport default {\r\n container,\r\n text,\r\n closeIcon,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport { MethodType } from 'utils/typings/unionTypes'\r\n\r\nimport styles from './styles'\r\n\r\nexport const methodsColors = {\r\n POST: {\r\n border: '1px solid #7CBBEA',\r\n color: '#2978B5',\r\n background: '#DEECF7',\r\n },\r\n GET: {\r\n border: '1px solid #83D187',\r\n color: '#38853C',\r\n background: '#DFF1E0',\r\n },\r\n PUT: {\r\n border: '1px solid #F5AE70',\r\n color: '#D56A00',\r\n background: '#FFEBD7',\r\n },\r\n DELETE: {\r\n border: '1px solid #F49494',\r\n color: '#CC3D3D',\r\n background: '#F8E3E3',\r\n },\r\n PATCH: {\r\n border: '1px solid #afa871',\r\n color: '#6C6314',\r\n background: '#e9e7da',\r\n },\r\n}\r\n\r\nexport const categoryStyle = (\r\n method: MethodType,\r\n active: boolean,\r\n sx?: SxStyleProp\r\n): SxStyleProp => {\r\n const categoryColors = methodsColors[method] || {\r\n border: '1px solid #F49494',\r\n color: '#CC3D3D',\r\n background: '#F8E3E3',\r\n }\r\n\r\n const categoryStyle: SxStyleProp = active\r\n ? {\r\n ...styles.container,\r\n ...categoryColors,\r\n ...sx,\r\n ':hover': {\r\n '.filter-close-button': {\r\n rect: {\r\n fill: categoryColors.color,\r\n },\r\n path: {\r\n stroke: '#DEECF7',\r\n },\r\n },\r\n },\r\n }\r\n : {\r\n ...styles.container,\r\n color: categoryColors.color,\r\n ...sx,\r\n }\r\n\r\n return categoryStyle\r\n}\r\n\r\nexport const categoryText = (method: MethodType, origin: string): string => {\r\n const textPascalCase = method[0] + method.slice(1).toLowerCase()\r\n if (origin == 'filter') return textPascalCase\r\n return textPascalCase.slice(0, 2)\r\n}\r\n\r\nexport const closeCategoryStyle = (method: MethodType) => {\r\n const categoryColors = methodsColors[method]\r\n const categoryStyle: SxStyleProp = {\r\n ...styles.closeIcon,\r\n rect: {\r\n fill: 'transparent',\r\n },\r\n path: {\r\n stroke: categoryColors.color,\r\n },\r\n }\r\n\r\n return categoryStyle\r\n}\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CloseFilterIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CloseFilterIcon\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n px: '17px',\r\n paddingTop: '6px',\r\n borderBottom: '1px solid #E7E9EE',\r\n paddingBottom: '16px',\r\n mb: '24px',\r\n}\r\n\r\nconst text: SxStyleProp = {\r\n mb: '8px',\r\n}\r\n\r\nconst category: SxStyleProp = {\r\n mr: '8px',\r\n px: '4px',\r\n width: 'auto',\r\n cursor: 'pointer',\r\n ':hover': {\r\n borderWidth: '2px',\r\n },\r\n}\r\n\r\nconst clear: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n color: 'muted.0',\r\n fontSize: '12px',\r\n cursor: 'pointer',\r\n ':hover': {\r\n color: '#000711',\r\n },\r\n}\r\n\r\nexport default {\r\n container,\r\n text,\r\n category,\r\n clear,\r\n}\r\n","import { useRouter } from 'next/router.js'\r\nimport React, { Fragment, useContext } from 'react'\r\nimport {\r\n Box,\r\n Flex,\r\n Link,\r\n Button,\r\n IconCaret,\r\n IconExternalLink,\r\n} from '@vtex/brand-ui'\r\n\r\nimport MethodCategory from 'components/method-category'\r\n\r\nimport { styleByLevelNormal, textStyle } from './functions'\r\nimport styles from './styles'\r\nimport { MethodType } from 'utils/typings/types'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport interface SidebarElement {\r\n name: string | { en: string; pt: string; es: string }\r\n slug: string | { en: string; pt: string; es: string }\r\n origin: string\r\n type: string\r\n method?: MethodType\r\n endpoint?: string\r\n children: SidebarElement[]\r\n}\r\n\r\nexport interface SidebarProps {\r\n slugPrefix?: string\r\n items: SidebarElement[]\r\n subItemLevel: number\r\n}\r\n\r\nconst SidebarElements = ({ slugPrefix, items, subItemLevel }: SidebarProps) => {\r\n const {\r\n isEditorPreview,\r\n activeSidebarElement,\r\n sidebarElementStatus,\r\n toggleSidebarElementStatus,\r\n sidebarDataMaster,\r\n locale,\r\n } = useContext(LibraryContext)\r\n const router = useRouter()\r\n\r\n const handleClick = (\r\n e: { preventDefault: () => void },\r\n pathSuffix: string,\r\n slug: string\r\n ) => {\r\n e.preventDefault()\r\n const hasEndpointQuery = router.query.endpoint\r\n router.push(getHref(slugPrefix || '', pathSuffix, slug)).then(() => {\r\n if (hasEndpointQuery) router.reload()\r\n })\r\n }\r\n\r\n // eslint-disable-next-line\r\n // @ts-ignore\r\n const checkDocumentationType = (\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sidebarData: any,\r\n slug: string,\r\n type: string\r\n ) => {\r\n if (\r\n !sidebarData ||\r\n (typeof sidebarData !== 'object' && !Array.isArray(sidebarData))\r\n ) {\r\n return false\r\n } else if (sidebarData?.slug == slug && sidebarData?.type == type) {\r\n return true\r\n } else if (Array.isArray(sidebarData)) {\r\n for (let i = 0; i < sidebarData.length; i++) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n const result = checkDocumentationType(sidebarData[i], slug, type)\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else {\r\n for (const k in sidebarData) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n const result = checkDocumentationType(sidebarData[k], slug, type)\r\n if (result) {\r\n return result\r\n }\r\n }\r\n }\r\n\r\n return false\r\n }\r\n\r\n const getHref = (slugPrefix: string, pathSuffix: string, slug: string) => {\r\n const href =\r\n slugPrefix === 'docs/api-reference'\r\n ? `/${slugPrefix}/${slug}/${pathSuffix}`\r\n : `/${slugPrefix}/${slug}`\r\n return href.replaceAll('//', '/')\r\n }\r\n\r\n const ElementRoot = ({\r\n slug,\r\n name,\r\n method,\r\n endpoint,\r\n children,\r\n }: SidebarElement) => {\r\n const localizedName: string = typeof name === 'string' ? name : name[locale]\r\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\r\n const isExpandable = children.length > 0\r\n const pathSuffix = method ? `#${method.toLowerCase()}-${endpoint}` : ''\r\n const activeItem = method ? `${localizedSlug}${pathSuffix}` : localizedSlug\r\n return (\r\n \r\n \r\n {isExpandable && (\r\n (\r\n \r\n )}\r\n onClick={() => toggleSidebarElementStatus(localizedSlug)}\r\n />\r\n )}\r\n {!checkDocumentationType(sidebarDataMaster, localizedSlug, 'category') &&\r\n !checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\r\n void }) => {\r\n if (!isEditorPreview) {\r\n handleClick(e, pathSuffix, localizedSlug)\r\n }\r\n toggleSidebarElementStatus(activeItem)\r\n }}\r\n href={getHref(slugPrefix || '', pathSuffix, localizedSlug)}\r\n target={isEditorPreview === true ? '_blank' : '_self'}\r\n >\r\n {method && (\r\n \r\n )}\r\n {localizedName}\r\n \r\n ) : checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\r\n \r\n \r\n {localizedName}\r\n \r\n ) : (\r\n {\r\n toggleSidebarElementStatus(localizedSlug)\r\n }}\r\n >\r\n {method && (\r\n \r\n )}\r\n {localizedName}\r\n \r\n )}\r\n \r\n \r\n )\r\n }\r\n \r\n const ElementChildren = ({ slug, children }: SidebarElement) => {\r\n const isExpandable = children.length > 0\r\n // const newPathPrefix =\r\n // slugPrefix === 'api-reference' ? `/api-reference/${slug}` : slugPrefix\r\n\r\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\r\n return isExpandable &&\r\n sidebarElementStatus.has(localizedSlug) &&\r\n sidebarElementStatus.get(localizedSlug) ? (\r\n \r\n \r\n \r\n ) : null\r\n }\r\n\r\n return (\r\n \r\n {items?.map((item, index) => {\r\n const key = typeof item.slug === 'string' ? String(item.slug) + String(index) : String(item.slug[locale]) + String(index)\r\n const slug = typeof item.slug === 'string' ? `${item.slug}` : `${item.slug[locale]}`\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {subItemLevel == 0 ? (\r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n )\r\n })}\r\n
\r\n )\r\n}\r\n\r\nexport default SidebarElements\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst elementContainer: SxStyleProp = {\r\n maxWidth: '315px',\r\n background: '#FFFFFF',\r\n ':hover': {\r\n background: '#F8F7FC',\r\n a: {\r\n color: '#142032',\r\n '& > :first-of-type': {\r\n borderWidth: '2px',\r\n },\r\n },\r\n },\r\n}\r\n\r\nconst elementText: SxStyleProp = {\r\n color: 'muted.0',\r\n fontSize: '14px',\r\n lineHeight: '20px',\r\n fontWeight: '400',\r\n textAlign: 'initial',\r\n paddingBlock: '7px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst elementActive: SxStyleProp = {\r\n ...elementText,\r\n color: '#D71D55 !important',\r\n}\r\n\r\nconst arrowIcon: SxStyleProp = {\r\n padding: '0',\r\n color: 'muted.1',\r\n height: '34px',\r\n}\r\n\r\nconst arrowIconActive: SxStyleProp = {\r\n ...arrowIcon,\r\n color: '#D71D55',\r\n}\r\n\r\nconst elementButton: SxStyleProp = {\r\n textTransform: 'initial',\r\n fontVariationSettings: 'unset',\r\n padding: '0',\r\n margin: '0',\r\n textDecoration: 'none !important',\r\n}\r\n\r\nconst sectionDivider: SxStyleProp = {\r\n hr: {\r\n border: '1px solid #E7E9EE',\r\n borderTop: 'none',\r\n },\r\n}\r\n\r\nconst methodBox: SxStyleProp = {\r\n mr: '10px',\r\n}\r\n\r\nexport default {\r\n elementContainer,\r\n elementText,\r\n elementActive,\r\n arrowIcon,\r\n arrowIconActive,\r\n elementButton,\r\n sectionDivider,\r\n methodBox,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nexport const styleByLevelNormal = (level: number, icon: boolean) => {\r\n const ml = 8 + (icon ? (level - 1) * 20 + 6 : (level - 1) * 20 + 14)\r\n const borderLeft = icon ? 'none' : level >= 2 ? '1px solid #E7E9EE' : ''\r\n const normal: SxStyleProp = {\r\n marginLeft: `${ml}px`,\r\n borderLeft,\r\n }\r\n\r\n return normal\r\n}\r\n\r\nexport const textStyle = (active: boolean, icon: boolean) => {\r\n const ml = icon ? '4px' : '16px'\r\n if (active) {\r\n const textStyleActive: SxStyleProp = {\r\n ...styles.elementActive,\r\n ml,\r\n }\r\n return textStyleActive\r\n }\r\n const textStyle: SxStyleProp = {\r\n ...styles.elementText,\r\n ml,\r\n }\r\n\r\n return textStyle\r\n}\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst SearchIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default SearchIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst SideBarToggleIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default SideBarToggleIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ArrowLeftIcon = (props: IconProps) => (\r\n \r\n {' '}\r\n \r\n \r\n \r\n)\r\n\r\nexport default ArrowLeftIcon\r\n","import {\r\n Header,\r\n HamburgerMenu as VtexHamburgerMenu,\r\n Box,\r\n IconCaret,\r\n Button,\r\n} from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nimport { useContext } from 'react'\r\nimport DocumentationCard from 'components/documentation-card'\r\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\r\nimport { updateOpenPage } from 'utils/sidebar-utils'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport SearchInput from 'components/search-input'\r\n\r\nexport interface HamburgerMenuProps {\r\n /** Array that contains the name of the sections in the menu that should be expanded. */\r\n parentsArray?: string[]\r\n}\r\n\r\n/** Hamburger Menu component, the menu uses the sidebar components internally, but it is only visible on the smaller breakpoints. */\r\nconst HamburgerMenu = ({ parentsArray = [] }: HamburgerMenuProps) => {\r\n const context = useContext(LibraryContext)\r\n const {\r\n sidebarDataMaster,\r\n sidebarSectionHidden,\r\n activeSectionName,\r\n setActiveSectionName,\r\n setSidebarSectionHidden,\r\n hamburguerSections,\r\n } = context\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const isDocument = (sections: any, documentID: string) => {\r\n let isDoc = false\r\n\r\n if (Array.isArray(sections)) {\r\n isDoc = sections.find((section) => section.documentation === documentID)\r\n }\r\n\r\n return isDoc\r\n }\r\n\r\n updateOpenPage({ parentsArray, context })\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {hamburguerSections.map((section, id) => (\r\n 0\r\n ? styles.updatesContainer\r\n : styles.documentationContainer\r\n }\r\n key={id}\r\n data-cy=\"dropdown-menu-first-section\"\r\n >\r\n {section.map((card) => (\r\n \r\n \r\n {isDocument(sidebarDataMaster, card.id) ? (\r\n }\r\n sx={\r\n activeSectionName === card.id &&\r\n !sidebarSectionHidden\r\n ? styles.arrowIconActive\r\n : styles.arrowIcon\r\n }\r\n onClick={() => {\r\n setActiveSectionName(card.id)\r\n setSidebarSectionHidden(false)\r\n }}\r\n />\r\n ) : null}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {activeSectionName ? (\r\n \r\n section.documentation === activeSectionName\r\n )\r\n : null)}\r\n />\r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default HamburgerMenu\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst menuContainer: SxStyleProp = {\r\n display: 'flex',\r\n width: 'max-content',\r\n}\r\n\r\nconst cardContainer: SxStyleProp = {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100vw',\r\n overflowY: 'scroll',\r\n height: 'calc(100vh - 5rem)',\r\n}\r\n\r\nconst sideMenuContainer: SxStyleProp = {\r\n backgroundColor: '#ffff',\r\n height: 'calc(100vh - 5rem)',\r\n width: '100vw',\r\n overflowY: 'auto',\r\n overflowX: 'hidden',\r\n transform: 'translate(0)',\r\n transition: 'transform .5s cubic-bezier(.4,0,.2,1)',\r\n}\r\n\r\nconst hamburgerContainer: SxStyleProp = {\r\n display: ['block', 'block', 'block', 'none'],\r\n backgroundColor: '#ffff',\r\n width: '100%',\r\n '.menuHidden': {\r\n transform: 'translate(-100%)',\r\n },\r\n}\r\n\r\n// eslint-disable-next-line prettier/prettier\r\n\r\nconst hamburgerSearchContainer: SxStyleProp = {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n paddingBlock: '18px',\r\n height: 'auto',\r\n}\r\n\r\nconst documentationContainer: SxStyleProp = {\r\n px: '16px',\r\n paddingBottom: '8px',\r\n}\r\n\r\nconst updatesContainer: SxStyleProp = {\r\n px: '16px',\r\n paddingTop: '8px',\r\n borderRadius: '0px 0px 8px 8px',\r\n borderTop: '1px solid #E7E9EE',\r\n}\r\n\r\nconst innerHambugerContainer: SxStyleProp = {\r\n padding: '0px',\r\n position: 'relative',\r\n overflowX: 'hidden',\r\n}\r\n\r\nconst innerCardContainer: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n}\r\n\r\nconst arrowIcon: SxStyleProp = {\r\n padding: '0',\r\n height: '50px',\r\n width: '50px',\r\n color: 'muted.1',\r\n}\r\n\r\nconst arrowIconActive: SxStyleProp = {\r\n ...arrowIcon,\r\n color: '#D71D55',\r\n}\r\n\r\nexport default {\r\n menuContainer,\r\n cardContainer,\r\n sideMenuContainer,\r\n hamburgerSearchContainer,\r\n documentationContainer,\r\n updatesContainer,\r\n hamburgerContainer,\r\n innerHambugerContainer,\r\n innerCardContainer,\r\n arrowIcon,\r\n arrowIconActive,\r\n}\r\n","import Link from 'next/link.js'\r\nimport { Box, Flex, Text } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport { cardContainer, cardTitle, titleContainer } from './functions'\r\nimport { MouseEventHandler } from 'react'\r\nimport { DataElement } from 'utils/typings/types'\r\n\r\nexport interface DocumentProps extends DataElement {\r\n title: string\r\n}\r\nexport interface CardProps extends DocumentProps {\r\n containerType: 'dropdown' | 'see-also' | 'mobile'\r\n onClick?: MouseEventHandler | undefined\r\n}\r\nconst DocumentationCard = ({\r\n title,\r\n description,\r\n link,\r\n containerType,\r\n Icon,\r\n onClick,\r\n}: CardProps) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n {description}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default DocumentationCard\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst cardContainer: SxStyleProp = {\r\n my: ['16px', '16px', '16px', '16px', '16px', '16px', '24px'],\r\n padding: '8px',\r\n cursor: 'pointer',\r\n ':active, :hover': {\r\n borderRadius: '4px',\r\n backgroundColor: '#F8F7FC',\r\n\r\n '.description': {\r\n color: 'muted.0',\r\n },\r\n },\r\n\r\n ':active .title': {\r\n color: '#0C1522',\r\n },\r\n\r\n ':hover .title': {\r\n color: '#000711',\r\n },\r\n}\r\n\r\nconst titleContainer: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n ml: '8px',\r\n color: 'muted.0',\r\n}\r\n\r\nconst description: SxStyleProp = {\r\n ml: '32px',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n color: 'muted.1',\r\n}\r\n\r\nexport default {\r\n cardContainer,\r\n description,\r\n title,\r\n titleContainer,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nconst cardContainer = (containerType: string) => {\r\n const containerWidth =\r\n containerType === 'dropdown'\r\n ? ['308px', '442px', '444px', '480px']\r\n : containerType === 'mobile'\r\n ? '100%'\r\n : ['324px', '544px', '544px', '544px', '544px', '720px', '1400px']\r\n\r\n const textWidth =\r\n containerType === 'dropdown'\r\n ? ['276px', '410px', '412px', '432px']\r\n : containerType === 'mobile'\r\n ? '90%'\r\n : ['276px', '496px', '496px', '496px', '496px', '672px', '1352px']\r\n\r\n const cardContainer: SxStyleProp = {\r\n ...styles.cardContainer,\r\n width: containerWidth,\r\n\r\n '.title, .description': {\r\n width: textWidth,\r\n },\r\n }\r\n\r\n return cardContainer\r\n}\r\n\r\nconst titleContainer = (containerType: string) => {\r\n const marginBottom =\r\n containerType === 'dropdown' ? ['5px', '5px', '5px', '1px'] : '8px'\r\n\r\n const titleContainer: SxStyleProp = {\r\n ...styles.titleContainer,\r\n marginBottom,\r\n }\r\n\r\n return titleContainer\r\n}\r\n\r\nconst cardTitle = (containerType: string) => {\r\n const titleAttributes =\r\n containerType === 'see-also'\r\n ? {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n fontSize: '18px',\r\n lineHeight: '24px',\r\n }\r\n : {\r\n fontSize: '16px',\r\n lineHeight: '22px',\r\n }\r\n\r\n const cardTitle: SxStyleProp = {\r\n ...styles.title,\r\n ...titleAttributes,\r\n }\r\n\r\n return cardTitle\r\n}\r\n\r\nexport { cardContainer, cardTitle, titleContainer }\r\n","import { Configure, InstantSearch } from 'react-instantsearch-dom'\r\nimport SearchBox from './search-box'\r\nimport Results from './results-box'\r\nimport { Box } from '@vtex/brand-ui'\r\nimport { useContext, useRef, useState } from 'react'\r\nimport useClickOutside from 'utils/hooks/useClickOutside'\r\nimport { searchClient, searchIndex } from 'utils/config/search-config'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport default function SearchInput() {\r\n const { locale } = useContext(LibraryContext)\r\n const [focusOut, setfocusOut] = useState<{ modaltoggle: boolean }>({\r\n modaltoggle: true,\r\n })\r\n const resultsBox = useRef()\r\n useClickOutside(resultsBox, setfocusOut)\r\n\r\n const changeFocus = (value: boolean) => {\r\n setfocusOut({ modaltoggle: value })\r\n }\r\n\r\n return (\r\n \r\n {searchClient.instantSearchConfigs && (\r\n \r\n )}\r\n {searchClient.useLanguageFilter && (\r\n \r\n )}\r\n {!searchClient.useLanguageFilter && }\r\n setfocusOut({ modaltoggle: true })} ref={resultsBox}>\r\n \r\n {focusOut.modaltoggle && }\r\n \r\n \r\n )\r\n}\r\n","import { useRef, KeyboardEvent, useContext } from 'react'\r\nimport { useRouter } from 'next/router.js'\r\nimport { Flex } from '@vtex/brand-ui'\r\nimport { connectSearchBox } from 'react-instantsearch-dom'\r\nimport { SearchBoxProvided } from 'react-instantsearch-core'\r\n\r\nimport SearchIcon from 'components/icons/search-icon'\r\nimport styles from './styles'\r\nimport { messages } from 'utils/get-message'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\ninterface SearchBoxProps extends SearchBoxProvided {\r\n changeFocus: (value: boolean) => void\r\n}\r\n\r\nconst SearchBoxComponent = ({\r\n currentRefinement,\r\n refine,\r\n changeFocus,\r\n}: SearchBoxProps) => {\r\n const router = useRouter()\r\n const inputRef = useRef(null)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const handleClick = () => {\r\n if (inputRef.current != null) inputRef.current.focus()\r\n }\r\n\r\n const keyPressed = (e: KeyboardEvent) => {\r\n if (e.key === 'Enter') {\r\n router.push({\r\n pathname: '/search',\r\n query: { keyword: inputRef.current?.value },\r\n })\r\n inputRef.current?.blur()\r\n changeFocus(false)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n keyPressed(e)}\r\n onChange={(e) => refine(e.currentTarget.value)}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst SearchBox = connectSearchBox(SearchBoxComponent)\r\n\r\nexport default SearchBox\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst resultsOuterContainer: SxStyleProp = {\r\n position: 'relative',\r\n}\r\n\r\nconst resultsInnerContainer: SxStyleProp = {\r\n top: 0,\r\n position: 'absolute',\r\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\r\n border: '1px solid #B9B9B9',\r\n borderRadius: '0px 0px 4px 4px',\r\n background: '#FFFFFF',\r\n}\r\n\r\nconst resultsBox: SxStyleProp = {\r\n padding: '16px',\r\n}\r\n\r\nconst seeAll: SxStyleProp = {\r\n padding: '24px',\r\n borderTop: '1px solid #E7E9EE',\r\n color: 'muted.0',\r\n cursor: 'pointer',\r\n ':hover': {\r\n background: '#F8F7FC',\r\n borderTop: '1px solid #d0cdcd',\r\n },\r\n}\r\n\r\nconst hitBox: SxStyleProp = {\r\n padding: '8px',\r\n cursor: 'pointer',\r\n ':active, :hover': {\r\n backgroundColor: '#F8F7FC',\r\n borderRadius: '4px',\r\n '.hit-content-title': {\r\n color: '#000711',\r\n },\r\n '.hit-icon': {\r\n '> path': {\r\n stroke: '#000711',\r\n },\r\n },\r\n },\r\n}\r\n\r\nconst hitIcon: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n marginRight: '8px',\r\n}\r\n\r\nconst hitContentContainer: SxStyleProp = {\r\n width: '100%',\r\n}\r\n\r\nconst hitContent: SxStyleProp = {\r\n color: 'muted.0',\r\n fontSize: ['14px', '16px'],\r\n lineHeight: ['20px', '22px'],\r\n width: '100%',\r\n}\r\n\r\nconst hitContentSmall: SxStyleProp = {\r\n color: 'muted.0',\r\n fontSize: ['14px', '16px'],\r\n lineHeight: ['20px', '22px'],\r\n width: '100%',\r\n whiteSpace: 'pre',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst alignCenter: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst hitBreadCrumb: SxStyleProp = {\r\n color: 'muted.1',\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst hitBreadCrumbIn: SxStyleProp = {\r\n ...hitBreadCrumb,\r\n minWidth: 'fit-content',\r\n}\r\n\r\nconst hitBreadCrumbArrow: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n color: 'muted.2',\r\n}\r\n\r\nconst searchInput: SxStyleProp = {\r\n width: '76px',\r\n background: 'none',\r\n border: '#F4F4F4',\r\n color: '#545454',\r\n fontSize: ['14px'],\r\n flex: 0,\r\n transition: 'flex 0.3s',\r\n}\r\n\r\nconst searchIcon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n mr: '8px',\r\n flex: 0,\r\n maxWidth: 'fit-content',\r\n}\r\n\r\nconst searchContainer: SxStyleProp = {\r\n paddingLeft: '12px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n background: '#F4F4F4',\r\n width: '288px',\r\n height: '40px',\r\n borderRadius: '4px',\r\n transition: 'all 0.3s ease-out',\r\n cursor: 'pointer',\r\n ':hover': {\r\n transition: 'all 0.3s ease-out',\r\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\r\n border: '1px solid #3B3B3B',\r\n },\r\n ':focus-within': {\r\n background: '#FFFFFF',\r\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\r\n transition: 'all 0.3s ease-out',\r\n border: '1px solid #3B3B3B',\r\n boxShadow: '0px 0px 0px 1px #FFFFFF, 0px 0px 0px 3px #B9B9B9',\r\n flex: 'auto',\r\n '.searchComponent': {\r\n flex: '1 !important',\r\n },\r\n },\r\n '.searchComponent': {\r\n ':placeholder-shown': {\r\n width: '76px',\r\n },\r\n ':not(:placeholder-shown)': {\r\n flex: '1 !important',\r\n },\r\n },\r\n}\r\n\r\nconst noResults: SxStyleProp = {\r\n justifyContent: 'center',\r\n alignContent: 'center',\r\n padding: '12px',\r\n}\r\n\r\nconst hitContentHighlighted: SxStyleProp = {\r\n ...hitContent,\r\n color: '#4A596B',\r\n width: 'auto',\r\n background: '#FFE0EF',\r\n}\r\n\r\nexport default {\r\n resultsOuterContainer,\r\n resultsInnerContainer,\r\n resultsBox,\r\n seeAll,\r\n hitBox,\r\n hitIcon,\r\n hitContentContainer,\r\n hitContent,\r\n hitContentSmall,\r\n hitBreadCrumb,\r\n hitBreadCrumbIn,\r\n hitBreadCrumbArrow,\r\n searchInput,\r\n searchIcon,\r\n searchContainer,\r\n alignCenter,\r\n noResults,\r\n hitContentHighlighted,\r\n}\r\n","import { useRouter } from 'next/router.js'\r\nimport Link from 'next/link.js'\r\nimport {\r\n connectStateResults,\r\n connectHitInsights,\r\n} from 'react-instantsearch-dom'\r\nimport {\r\n Hit,\r\n StateResultsProvided,\r\n WrappedInsightsClient,\r\n} from 'react-instantsearch-core'\r\nimport aa from 'search-insights'\r\nimport { Box, Flex, IconCaret, Text } from '@vtex/brand-ui'\r\n\r\nimport {\r\n getBreadcrumbs,\r\n getIconFromSection,\r\n getRelativeURL,\r\n} from 'utils/search-utils'\r\nimport CustomHighlight from './customHighlight'\r\nimport styles from './styles'\r\nimport { useContext } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\ninterface HitProps {\r\n hit: Hit\r\n insights: WrappedInsightsClient\r\n}\r\n\r\ninterface HitsBoxProps extends StateResultsProvided {\r\n changeFocus: (value: boolean) => void\r\n}\r\n\r\nconst Hit2 = ({ hit, insights }: HitProps) => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n const breadcrumbsList = getBreadcrumbs(hit)\r\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\r\n return (\r\n \r\n \r\n insights('clickedObjectIDsAfterSearch', {\r\n eventName: 'Search in top bar',\r\n objectIDs: [hit.objectID],\r\n })\r\n }\r\n >\r\n \r\n \r\n {DocIcon && }\r\n \r\n \r\n \r\n \r\n \r\n {`In ${hit.doctype}`}\r\n {breadcrumbsList.length > 0 && (\r\n \r\n )}\r\n {breadcrumbsList.map((filter: string, index: number) => (\r\n \r\n {filter}\r\n {index < breadcrumbsList.length - 1 ? (\r\n \r\n ) : null}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst HitWithInsights = connectHitInsights(aa)(Hit2)\r\n\r\nconst HitsBox = connectStateResults(\r\n ({ searchState, searchResults, changeFocus }) => {\r\n const router = useRouter()\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const seeAllSubmit = (keyword: string) => {\r\n router.push({\r\n pathname: '/search',\r\n query: { keyword },\r\n })\r\n changeFocus(false)\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const setQueryIDAndPosition = (hit: Hit, index: number): any => {\r\n return {\r\n ...hit,\r\n __queryID: searchResults.queryID || '',\r\n __position: searchResults.hitsPerPage * searchResults.page + index + 1,\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {searchResults && (\r\n \r\n \r\n \r\n {searchResults.hits.map(\r\n (searchResult, index) =>\r\n index < 7 && (\r\n changeFocus(false)}\r\n >\r\n \r\n \r\n )\r\n )}\r\n \r\n {searchResults.hits.length > 7 && (\r\n seeAllSubmit(searchState.query || '')}\r\n >\r\n \r\n {messages[locale]['search_input.see_all'] || 'See all results'}\r\n \r\n \r\n )}\r\n {!searchResults.hits.length && (\r\n \r\n \r\n {messages[locale]['search_input.empty'] || 'No results found. Try different search terms.'}\r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n )\r\n }\r\n)\r\n\r\nexport default HitsBox\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst APIGuidesIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default APIGuidesIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst APIReferenceIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default APIReferenceIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst AppDevelopmentIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default AppDevelopmentIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ReleaseNotesIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ReleaseNotesIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst StorefrontDevelopmentIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default StorefrontDevelopmentIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst VTEXIOAppsIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default VTEXIOAppsIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst TroubleshootingIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default TroubleshootingIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst AddedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default AddedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst DeprecatedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default DeprecatedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst FixedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default FixedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ImprovedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ImprovedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst RemovedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default RemovedIcon\r\n","import { Hit } from 'react-instantsearch-core'\r\n\r\nimport APIGuidesIcon from 'components/icons/api-guides-icon'\r\nimport APIReferenceIcon from 'components/icons/api-reference-icon'\r\nimport AppDevelopmentIcon from 'components/icons/app-development-icon'\r\nimport ReleaseNotesIcon from 'components/icons/release-notes-icon'\r\nimport StorefrontDevelopmentIcon from 'components/icons/storefront-development-icon'\r\nimport VTEXIOAppsIcon from 'components/icons/vtex-io-apps-icon'\r\nimport TroubleshootingIcon from 'components/icons/troubleshooting-icon'\r\nimport { IconComponent, Section } from './typings/types'\r\nimport AddedIcon from 'components/icons/added-icon'\r\nimport DeprecatedIcon from 'components/icons/deprecated-icon'\r\nimport FixedIcon from 'components/icons/fixed-icon'\r\nimport ImprovedIcon from 'components/icons/improved-icon'\r\nimport RemovedIcon from 'components/icons/removed-icon'\r\n\r\nexport const getBreadcrumbs = (hit: Hit) => {\r\n const breadcrumbs: string[] = []\r\n if (hit.doctype === 'API Reference' && hit.doccategory)\r\n breadcrumbs.push(hit.doccategory)\r\n breadcrumbs.push(hit.doctitle)\r\n return breadcrumbs\r\n}\r\n\r\nexport const getRelativeURL = (url: string) => {\r\n const relativeURL = url.replace(/^(?:\\/\\/|[^/]+)*\\//, '')\r\n return '/' + relativeURL\r\n}\r\n\r\ninterface IconsI {\r\n name: string\r\n Icon: IconComponent\r\n}\r\n\r\nconst iconsMap: IconsI[] = [\r\n {\r\n Icon: APIGuidesIcon,\r\n name: 'Guides',\r\n },\r\n {\r\n Icon: APIReferenceIcon,\r\n name: 'API Reference',\r\n },\r\n {\r\n Icon: AppDevelopmentIcon,\r\n name: 'App Development',\r\n },\r\n {\r\n Icon: StorefrontDevelopmentIcon,\r\n name: 'Storefront Development',\r\n },\r\n {\r\n Icon: VTEXIOAppsIcon,\r\n name: 'VTEX IO Apps',\r\n },\r\n {\r\n Icon: TroubleshootingIcon,\r\n name: 'Troubleshooting',\r\n },\r\n {\r\n Icon: ReleaseNotesIcon,\r\n name: 'Release Notes',\r\n },\r\n]\r\n\r\nexport const getIcon = (name: string) => {\r\n return iconsMap.find((icon) => icon.name === name)?.Icon\r\n}\r\n\r\nexport const getIconFromSection = (sections: Section[][], id: string) => {\r\n return sections.flat().find((section) => section.id === id)?.Icon\r\n}\r\n\r\nexport type ActionType =\r\n | 'added'\r\n | 'deprecated'\r\n | 'fixed'\r\n | 'improved'\r\n | 'removed'\r\nexport interface Action {\r\n type: ActionType\r\n title: string\r\n Icon: IconComponent\r\n}\r\n\r\nconst actions: Action[] = [\r\n {\r\n type: 'added',\r\n title: 'Added',\r\n Icon: AddedIcon,\r\n },\r\n {\r\n type: 'deprecated',\r\n title: 'Deprecated',\r\n Icon: DeprecatedIcon,\r\n },\r\n {\r\n type: 'fixed',\r\n title: 'Fixed',\r\n Icon: FixedIcon,\r\n },\r\n {\r\n type: 'improved',\r\n title: 'Improved',\r\n Icon: ImprovedIcon,\r\n },\r\n {\r\n type: 'removed',\r\n title: 'Removed',\r\n Icon: RemovedIcon,\r\n },\r\n]\r\n\r\nexport const getAction = (actionType: ActionType): Action => {\r\n return actions.find((action) => action.type === actionType) as Action\r\n}\r\n\r\nexport const getTitleById = (sections: Section[][], id: string) => {\r\n return sections.flat().find((item) => item.id === id)?.title || id\r\n}\r\n","import { useEffect, useRef, useState } from 'react'\r\nimport { connectHighlight } from 'react-instantsearch-dom'\r\nimport { HighlightProps, Hit } from 'react-instantsearch-core'\r\nimport { Flex, Text } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\ninterface HighLightPartsProps {\r\n index: number\r\n isBetween: boolean\r\n size: number\r\n}\r\n\r\ninterface HitHighlightProps {\r\n value: string\r\n isHighlighted: boolean\r\n}\r\ninterface CustomHighlightProps extends HighlightProps {\r\n searchPage?: boolean\r\n}\r\n\r\nconst Highlight = ({\r\n highlight,\r\n attribute,\r\n hit,\r\n searchPage,\r\n}: CustomHighlightProps) => {\r\n const [parsedHit, setParsedHit] = useState([])\r\n const textContainer = useRef(null)\r\n const hitHighlights: HitHighlightProps[] = highlight({\r\n highlightProperty: '_highlightResult',\r\n attribute: hit.type != 'content' ? `hierarchy.${hit.type}` : attribute,\r\n hit,\r\n })\r\n const maxDescriptionSize = 700\r\n const ellipsedContent: HitHighlightProps[] = []\r\n if (searchPage) {\r\n let charCount = 0\r\n hitHighlights.forEach((part) => {\r\n if (maxDescriptionSize - charCount <= 0) return\r\n if (part.value.length + charCount >= maxDescriptionSize) {\r\n part.value =\r\n part.value.slice(0, maxDescriptionSize - charCount - 3) + '...'\r\n }\r\n charCount += part.value.length\r\n ellipsedContent.push(part)\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (searchPage) return\r\n const titleSize = textContainer.current\r\n ? textContainer.current.offsetWidth / 7.75\r\n : 40\r\n\r\n const highlightParts: HighLightPartsProps[] = []\r\n let highlightCount = 0,\r\n highlightLength = 0\r\n\r\n hitHighlights.forEach((match: HitHighlightProps, index: number) => {\r\n const isBetween =\r\n index > 0 && index < hitHighlights.length - 1 ? true : false\r\n if (match.isHighlighted) {\r\n if (isBetween) highlightCount++\r\n highlightCount++\r\n highlightLength += match.value.length\r\n } else {\r\n highlightParts.push({\r\n index,\r\n isBetween,\r\n size: match.value.length,\r\n })\r\n }\r\n })\r\n\r\n highlightParts.sort(\r\n (a: HighLightPartsProps, b: HighLightPartsProps) => a.size - b.size\r\n )\r\n\r\n let sizeRemaining = titleSize - highlightLength\r\n let size = sizeRemaining / (highlightCount || 1)\r\n\r\n highlightParts.forEach((match: HighLightPartsProps) => {\r\n const value = hitHighlights[match.index].value\r\n if (match.isBetween) {\r\n if (match.size >= size * 2) {\r\n const reticences = (size * 2 - 3) / 2\r\n hitHighlights[match.index].value =\r\n value.slice(0, reticences) +\r\n '...' +\r\n value.slice(value.length - reticences)\r\n sizeRemaining -= size * 2\r\n } else {\r\n sizeRemaining -= match.size\r\n }\r\n highlightCount -= 2\r\n } else {\r\n if (match.size >= size) {\r\n if (match.index === 0)\r\n hitHighlights[match.index].value =\r\n '...' + value.slice(value.length - (size - 3))\r\n else\r\n hitHighlights[match.index].value = value.slice(0, size - 3) + '...'\r\n sizeRemaining -= size\r\n } else {\r\n sizeRemaining -= match.size\r\n }\r\n highlightCount -= 1\r\n }\r\n size = sizeRemaining / highlightCount\r\n hitHighlights[match.index].value = hitHighlights[\r\n match.index\r\n ].value.replace(/\\s+/g, '\\u00A0')\r\n })\r\n setParsedHit(hitHighlights)\r\n }, [hit, textContainer.current])\r\n\r\n return (\r\n \r\n \r\n {(searchPage ? ellipsedContent : parsedHit).map(\r\n (part: HitHighlightProps, index: number) =>\r\n part.isHighlighted ? (\r\n \r\n {part.value}\r\n \r\n ) : (\r\n part.value\r\n )\r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\ninterface HighlightPassedThru {\r\n hit: Hit\r\n attribute: string\r\n highlightProperty?: string | undefined\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst connectedHighlight: React.ComponentClass> =\r\n connectHighlight(Highlight)\r\n\r\nexport default connectedHighlight\r\n","import algoliasearch, { AlgoliaSearchOptions } from 'algoliasearch/lite'\r\nimport aa from 'search-insights'\r\nimport { MultipleQueriesQuery } from '@algolia/client-search'\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport let searchClient: any = {}\r\nexport let searchIndex = ''\r\n\r\ninterface AlgoliaConfig {\r\n appId: string\r\n apiKey: string\r\n index: string\r\n algoliaOptions?: AlgoliaSearchOptions\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n customOptions?: any\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n instantSearchConfigs?: any\r\n useLanguageFilter?: boolean\r\n}\r\n\r\nconst createAlgoliaClient = (config: AlgoliaConfig) => {\r\n const {\r\n apiKey,\r\n appId,\r\n index,\r\n algoliaOptions,\r\n customOptions,\r\n instantSearchConfigs,\r\n useLanguageFilter = true,\r\n } = config\r\n searchIndex = index\r\n\r\n aa('init', {\r\n appId: appId || '',\r\n apiKey: apiKey || '',\r\n useCookie: false,\r\n })\r\n\r\n aa('getUserToken', null, (err) => {\r\n if (err) {\r\n console.error(err)\r\n return\r\n }\r\n })\r\n\r\n const algoliaClient = algoliasearch(appId || '', apiKey || '', algoliaOptions)\r\n\r\n searchClient = {\r\n ...algoliaClient,\r\n ...customOptions,\r\n instantSearchConfigs,\r\n useLanguageFilter,\r\n search(requests: MultipleQueriesQuery[]) {\r\n if (requests.every(({ params }) => !params?.query)) return\r\n return algoliaClient.search(requests)\r\n },\r\n }\r\n}\r\n\r\nexport default createAlgoliaClient\r\n","import { Flex, Text, Link } from '@vtex/brand-ui'\r\nimport EditIcon from 'components/icons/edit-icon'\r\nimport LikeIcon from 'components/icons/like-icon'\r\nimport LikeSelectedIcon from 'components/icons/like-selected-icon'\r\nimport { useContext, useEffect, useRef, useState } from 'react'\r\nimport styles from './styles'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport ShareButton from 'components/share-button'\r\n\r\nexport interface DocPath {\r\n /** Slug that corresponds to the current page. */\r\n slug?: string\r\n /** Github edit URL to the corresponding documentation file. */\r\n urlToEdit?: string\r\n /** Whether is possible for the user to suggest edits or not. */\r\n suggestEdits?: boolean\r\n /** Include or not a share button. */\r\n shareButton?: boolean\r\n /** Executes when the user sends the feedback. Receives whether it was positive (liked). */\r\n sendFeedback: (liked: boolean) => Promise\r\n /** Whether to render the small version of the component or not. */\r\n small?: boolean\r\n}\r\n\r\nconst FeedbackSection = ({\r\n slug,\r\n urlToEdit,\r\n suggestEdits = true,\r\n shareButton = false,\r\n sendFeedback,\r\n small = false,\r\n}: DocPath) => {\r\n const [feedback, setFeedback] = useState(undefined)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n // Reset feedback selection whenever the page (slug) changes\r\n useEffect(() => {\r\n setFeedback(undefined)\r\n }, [slug])\r\n\r\n const handleSend = async (liked: boolean) => {\r\n if (feedback !== undefined) return\r\n setFeedback(liked)\r\n try {\r\n await sendFeedback(liked)\r\n } catch (e) {\r\n setFeedback(undefined)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {feedback !== undefined\r\n ? messages[locale]['feedback_section.response']\r\n : messages[locale]['feedback_section.question']}\r\n \r\n\r\n \r\n {/* LIKE */}\r\n handleSend(true)}\r\n role=\"button\"\r\n aria-pressed={feedback === true}\r\n data-cy=\"feedback-section-like\"\r\n >\r\n {feedback === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {!small && (\r\n {messages[locale]['feedback_section.positive']}\r\n )}\r\n \r\n\r\n {/* DISLIKE */}\r\n handleSend(false)}\r\n role=\"button\"\r\n aria-pressed={feedback === false}\r\n data-cy=\"feedback-section-dislike\"\r\n >\r\n {feedback === false ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {!small && (\r\n {messages[locale]['feedback_section.negative']}\r\n )}\r\n \r\n \r\n \r\n {suggestEdits && (\r\n \r\n \r\n {messages[locale]['feedback_section.edit']}\r\n \r\n )}\r\n {shareButton && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default FeedbackSection\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst EditIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default EditIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LikeIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LikeIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LikeSelectedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LikeSelectedIcon\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\ntype StyleFn = (opts?: { small?: boolean }) => SxStyleProp\r\n\r\nconst container: StyleFn = ({ small } = {}) => ({\r\n width: '100%',\r\n flexDirection: small ? 'column' : ['column', 'row'],\r\n alignItems: small ? 'flex-start' : 'center',\r\n alignContent: ['initial', 'space-between'],\r\n justifyContent: ['initial', 'space-between'],\r\n marginTop: small ? '0px' : '32px',\r\n marginBottom: small ? '0px' : '16px',\r\n gap: small ? '8px' : '0px',\r\n})\r\n\r\nconst question: StyleFn = ({ small } = {}) => ({\r\n fontSize: small ? '12px' : '16px',\r\n lineHeight: '18px',\r\n color: '#4A596B',\r\n})\r\n\r\nconst iconsContainer: StyleFn = ({ small } = {}) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: small ? '0px' : '4px',\r\n ml: small ? '3px' : '6px',\r\n})\r\n\r\nconst likeContainer: SxStyleProp = {\r\n paddingBottom: ['16px', '0'],\r\n borderBottom: ['1px solid #E7E9EE', 'none'],\r\n mt: ['8px', '0'],\r\n mb: ['16px', '0'],\r\n width: ['100%', 'auto'],\r\n justifyContent: ['center', 'initial'],\r\n alignItems: 'center',\r\n}\r\n\r\nconst likeIcon: SxStyleProp = {\r\n mr: '2px',\r\n}\r\n\r\nconst dislikeIcon: SxStyleProp = {\r\n mr: '2px',\r\n transform: 'rotateX(180deg) rotateY(180deg)',\r\n}\r\n\r\nconst button: SxStyleProp = {\r\n ':hover': {\r\n cursor: 'pointer',\r\n color: '#000711',\r\n 'svg > path': {\r\n stroke: '#000711',\r\n },\r\n },\r\n}\r\n\r\nconst buttonActive: SxStyleProp = {\r\n cursor: 'pointer',\r\n color: '#000711',\r\n 'svg > path': {\r\n stroke: '#000711',\r\n },\r\n}\r\n\r\nconst selectedButton: SxStyleProp = {\r\n color: 'muted.1',\r\n}\r\n\r\nconst box: StyleFn = ({ small } = {}) => ({\r\n alignItems: 'center',\r\n color: 'muted.0',\r\n fontSize: small ? '12px' : '16px',\r\n lineHeight: '22px',\r\n})\r\n\r\nconst disabled: SxStyleProp = {\r\n display: 'none !important',\r\n}\r\n\r\nconst editContainer: StyleFn = ({ small } = {}) => ({\r\n ...box({ small }),\r\n ...button,\r\n ':hover': {\r\n color: '#000711 !important',\r\n },\r\n // ml: ['0', 'auto'],\r\n color: '#4A596B !important',\r\n display: 'flex',\r\n})\r\n\r\nconst editIcon: SxStyleProp = { mr: '4px' }\r\n\r\nconst shareButton: SxStyleProp = {\r\n // ml: ['0', 'auto'],\r\n}\r\n\r\nexport default {\r\n disabled,\r\n container,\r\n question,\r\n likeContainer,\r\n likeIcon,\r\n dislikeIcon,\r\n editContainer,\r\n editIcon,\r\n box,\r\n button,\r\n buttonActive,\r\n selectedButton,\r\n shareButton,\r\n iconsContainer,\r\n}\r\n","import { Box, Button, Flex, Text } from '@vtex/brand-ui'\r\nimport FacebookIcon from 'components/icons/facebook-icon'\r\nimport LinkedinIcon from 'components/icons/linkedin-icon'\r\nimport ShareIcon from 'components/icons/share-icon'\r\nimport TwitterIcon from 'components/icons/twitter-icon'\r\nimport { useRef, useState } from 'react'\r\nimport {\r\n FacebookShareButton,\r\n LinkedinShareButton,\r\n TwitterShareButton,\r\n EmailShareButton,\r\n} from 'react-share'\r\nimport styles from './styles'\r\nimport EmailIcon from 'components/icons/email-icon'\r\nimport LinkIcon from 'components/icons/link-icon'\r\nimport { SxStyleProp } from '@vtex/brand-ui'\r\nimport useClickOutside from 'utils/hooks/useClickOutside'\r\n\r\ninterface Props {\r\n url: string\r\n sx?: SxStyleProp\r\n}\r\n\r\nconst ShareButton = ({ url, sx={} }: Props) => {\r\n const [isOpen, setIsOpen] = useState(false)\r\n const containerRef = useRef()\r\n useClickOutside(containerRef, () => setIsOpen(false))\r\n\r\n const handleCopyLink = async () => {\r\n try {\r\n if (window) await navigator.clipboard.writeText(window.location.href)\r\n } catch (error) {\r\n console.error('Error copying link to clipboard:', error)\r\n }\r\n }\r\n\r\n return (\r\n \r\n setIsOpen(!isOpen)}\r\n >\r\n Share\r\n \r\n {isOpen && (\r\n \r\n \r\n \r\n Copy link\r\n \r\n \r\n \r\n \r\n \r\n E-mail\r\n \r\n \r\n \r\n \r\n \r\n Twitter\r\n \r\n \r\n \r\n \r\n \r\n Facebook\r\n \r\n \r\n \r\n \r\n \r\n LinkedIn\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default ShareButton\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst FacebookIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default FacebookIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LinkedinIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default LinkedinIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ShareIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ShareIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst TwitterIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default TwitterIcon\r\n\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n position: 'relative',\r\n height: '24px',\r\n}\r\n\r\nconst button: SxStyleProp = {\r\n cursor: 'pointer',\r\n textTransform: 'none',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n color: '#4A596B',\r\n width: '24px',\r\n height: '24px',\r\n transition: '0.3s',\r\n ':hover': {\r\n color: '#000711 !important',\r\n textDecoration: 'none',\r\n },\r\n alignItems: 'start',\r\n}\r\n\r\nconst shareIcon: SxStyleProp = {\r\n marginRight: '4px',\r\n}\r\n\r\nconst innerButton: SxStyleProp = {\r\n gap: '16px',\r\n color: '#A1AAB7',\r\n cursor: 'pointer',\r\n transition: '0.3s',\r\n ':hover': {\r\n color: '#4A4A4A',\r\n },\r\n alignItems: 'center',\r\n}\r\n\r\nconst innerContainer: SxStyleProp = {\r\n position: 'absolute',\r\n backgroundColor: 'white',\r\n flexDirection: 'column',\r\n top: '100%',\r\n right: '0',\r\n mt: '8px',\r\n padding: '16px',\r\n gap: '16px',\r\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n borderRadius: '5px',\r\n\r\n ':before': {\r\n content: \"''\",\r\n position: 'absolute',\r\n top: '-8px',\r\n right: '8px',\r\n borderLeft: '8px solid transparent',\r\n borderRight: '8px solid transparent',\r\n borderBottom: '8px solid white',\r\n boxShadow: '0 16px 10px -17px rgba(0, 0, 0, 0.5)',\r\n },\r\n}\r\n\r\nconst divider: SxStyleProp = {\r\n borderBottom: '1px solid #E7E9EE',\r\n}\r\n\r\nexport default {\r\n container,\r\n button,\r\n shareIcon,\r\n innerButton,\r\n innerContainer,\r\n divider,\r\n}\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst EmailIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default EmailIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LinkIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LinkIcon\r\n\r\n","import { Box, Flex } from '@vtex/brand-ui'\r\nimport SearchSections from 'components/search-sections'\r\nimport SearchResults from 'components/search-results'\r\nimport SearchFilterTabBar from 'components/search-filter-tab-bar'\r\nimport SearchContextProvider from 'utils/context/search'\r\nimport styles from './styles'\r\nimport SearchInput from 'components/search-input'\r\n\r\nconst Search = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Search\r\n","import { Box } from '@vtex/brand-ui'\r\n\r\nimport SearchSection from 'components/search-section'\r\nimport styles from './styles'\r\nimport { useContext } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nconst SearchSections = () => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n\r\n const internalOnlySections = sidebarSections.map((section) =>\r\n section.filter((item) => !item.isExternalLink)\r\n )\r\n\r\n return (\r\n \r\n {internalOnlySections.map((sections, id) => (\r\n \r\n {id === 0 && }\r\n {sections.map((section, index) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n )\r\n}\r\n\r\nexport default SearchSections\r\n","import { Box, Flex, Text } from '@vtex/brand-ui'\r\nimport { useContext, useEffect } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport styles from './styles'\r\nimport { useRouter } from 'next/router.js'\r\nimport { FilterType, SearchContext } from 'utils/context/search'\r\nimport { Section } from 'utils/typings/types'\r\n\r\ninterface SearchSectionProps {\r\n dataElement: Section | null\r\n index?: number\r\n}\r\n\r\nconst SearchSection = ({ dataElement, index }: SearchSectionProps) => {\r\n const router = useRouter()\r\n const { filterSelectedSection, ocurrenceCount, changeFilterSelectedSection } =\r\n useContext(SearchContext)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const updateFilter = (value: FilterType) => {\r\n router.query.filter = value\r\n changeFilterSelectedSection(value)\r\n }\r\n\r\n useEffect(() => {\r\n updateFilter('')\r\n }, [router.query])\r\n\r\n return !dataElement ? (\r\n updateFilter('')}>\r\n \r\n {messages[locale]['search_results.all'] || 'All results' }\r\n \r\n \r\n {ocurrenceCount['']}\r\n \r\n \r\n ) : (\r\n updateFilter(dataElement.id)}\r\n >\r\n \r\n \r\n \r\n {dataElement.title}\r\n \r\n \r\n \r\n {ocurrenceCount[dataElement.id] || 0}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SearchSection\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst sectionContainer: SxStyleProp = {\r\n justifyContent: 'space-between',\r\n padding: '8px',\r\n mb: '8px',\r\n cursor: 'pointer',\r\n ':active, :hover': {\r\n backgroundColor: '#F8F7FC',\r\n borderRadius: '4px',\r\n '.search-section-title': {\r\n color: '#000711',\r\n },\r\n '.search-section-count': {\r\n background: '#E7E9EE',\r\n },\r\n },\r\n}\r\n\r\nconst sectionIconTitleBox: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst sectionIcon: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n mr: '8px',\r\n}\r\n\r\nconst sectionTitle: SxStyleProp = {\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n}\r\n\r\nconst sectionTitleActive: SxStyleProp = {\r\n ...sectionTitle,\r\n color: '#142032',\r\n fontWeight: '600',\r\n}\r\n\r\nconst sectionCount: SxStyleProp = {\r\n background: '#F8F7FC',\r\n borderRadius: '24px',\r\n width: 'auto',\r\n textAlign: 'center',\r\n px: '8px',\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n}\r\n\r\nconst allResultsText: SxStyleProp = {\r\n ...sectionTitle,\r\n ml: '24px',\r\n}\r\n\r\nconst allResultsTextActive: SxStyleProp = {\r\n ...allResultsText,\r\n fontWeight: 'bold',\r\n color: '#0C1522',\r\n}\r\n\r\nexport default {\r\n sectionContainer,\r\n sectionIconTitleBox,\r\n sectionIcon,\r\n sectionTitle,\r\n sectionTitleActive,\r\n sectionCount,\r\n allResultsText,\r\n allResultsTextActive,\r\n}\r\n","import {\r\n createContext,\r\n Dispatch,\r\n ReactNode,\r\n SetStateAction,\r\n useState,\r\n} from 'react'\r\n\r\nexport type FilterType = string\r\n\r\ntype OcurrenceType = {\r\n [key: string]: number\r\n}\r\n\r\ntype SearchContextType = {\r\n filterSelectedSection: FilterType\r\n changeFilterSelectedSection: Dispatch>\r\n ocurrenceCount: OcurrenceType\r\n updateOcurrenceCount: (resultsData: OcurrenceType) => void\r\n}\r\n\r\nexport const SearchContext = createContext({\r\n filterSelectedSection: '',\r\n changeFilterSelectedSection: () => undefined,\r\n ocurrenceCount: {},\r\n updateOcurrenceCount: () => undefined,\r\n})\r\n\r\ninterface Props {\r\n children: ReactNode\r\n}\r\n\r\nconst SearchContextProvider = ({ children }: Props) => {\r\n const [filterSelectedSection, changeFilterSelectedSection] =\r\n useState('')\r\n const [ocurrenceCount, changeOcurrenceCount] = useState({})\r\n\r\n const updateOcurrenceCount = (resultsData: OcurrenceType) => {\r\n changeOcurrenceCount(resultsData)\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default SearchContextProvider\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n display: ['none', 'none', 'none', 'initial'],\r\n height: '100%',\r\n width: '242px',\r\n border: '1px solid #E7E9EE',\r\n borderRadius: '4px',\r\n mr: ['32px', '32px', '32px', '32px', '32px', '32px', '64px'],\r\n mt: '96px',\r\n}\r\n\r\nconst notesSection: SxStyleProp = {\r\n px: '8px',\r\n paddingTop: '8px',\r\n}\r\n\r\nconst docsSection: SxStyleProp = {\r\n ...notesSection,\r\n borderBottom: '1px solid #E7E9EE',\r\n}\r\n\r\nexport default {\r\n container,\r\n notesSection,\r\n docsSection,\r\n}\r\n","import { useRouter } from 'next/router.js'\r\nimport { useContext, useState } from 'react'\r\n\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport { Box, Text } from '@vtex/brand-ui'\r\n\r\nimport { Configure, InstantSearch } from 'react-instantsearch-dom'\r\nimport { SearchState } from 'react-instantsearch-core'\r\nimport InfiniteHits from './infiniteHits'\r\n\r\nimport styles from './styles'\r\nimport { SearchContext } from 'utils/context/search'\r\nimport { searchClient, searchIndex } from 'utils/config/search-config'\r\n\r\nconst SearchResults = () => {\r\n const router = useRouter()\r\n const { filterSelectedSection, ocurrenceCount } = useContext(SearchContext)\r\n const { locale } = useContext(LibraryContext)\r\n const filters = [\r\n `language:${locale}`,\r\n filterSelectedSection ? `doctype:\"${filterSelectedSection}\"` : '',\r\n ]\r\n .filter(Boolean)\r\n .join(' AND ')\r\n const [prevFilter, setPrevFilter] = useState('')\r\n const [searchState, setSearchState] = useState({})\r\n\r\n const updateSearchState = (currentState: SearchState) => {\r\n const page = filters !== prevFilter ? 1 : currentState.page || 1\r\n setPrevFilter(filters)\r\n setSearchState({\r\n ...currentState,\r\n page,\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n {`${messages[locale]['search_results.showing'] || 'Showing'} ${\r\n ocurrenceCount[filterSelectedSection] === undefined\r\n ? ''\r\n : ocurrenceCount[filterSelectedSection]\r\n } ${messages[locale]['search_results.results_for'] || 'results for'} ${\r\n router.query.keyword\r\n } ${messages[locale]['search_results.in'] || 'in'} ${\r\n !filterSelectedSection\r\n ? messages[locale]['search_results.all_lowercase'] || 'all results'\r\n : filterSelectedSection\r\n }`}\r\n \r\n
\r\n \r\n \r\n updateSearchState(currentState)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default SearchResults\r\n","import { useContext, useEffect, useMemo, useRef } from 'react'\r\nimport {\r\n connectInfiniteHits,\r\n connectStateResults,\r\n} from 'react-instantsearch-dom'\r\nimport {\r\n Hit,\r\n InfiniteHitsProvided,\r\n StateResultsProvided,\r\n} from 'react-instantsearch-core'\r\nimport SearchCard from 'components/search-card'\r\nimport {\r\n ActionType,\r\n getIconFromSection,\r\n getRelativeURL,\r\n getTitleById,\r\n} from 'utils/search-utils'\r\nimport { Box, Flex } from '@vtex/brand-ui'\r\nimport { MethodType } from 'utils/typings/types'\r\nimport { SearchContext } from 'utils/context/search'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport type FilteredHit2 = Hit & { filteredMatches?: Hit[] }\r\n\r\ninterface HitProps {\r\n hit: FilteredHit2\r\n}\r\n\r\nconst HitCard = ({ hit }: HitProps) => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n const breadcrumbTitle = getTitleById(sidebarSections, hit.doctype)\r\n\r\n const breadcrumbs = [\r\n breadcrumbTitle,\r\n ...(hit.doccategory ? [hit.doccategory] : []),\r\n ,\r\n hit.doctitle,\r\n ]\r\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst StateResults = connectStateResults(\r\n ({ searchResults }: StateResultsProvided) => {\r\n const { updateOcurrenceCount } = useContext(SearchContext)\r\n\r\n useEffect(() => {\r\n if (!searchResults) return\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const results = searchResults as any\r\n const isFilteringByDoctype =\r\n typeof results?._state.filters === 'string' &&\r\n results._state.filters.includes('doctype:')\r\n\r\n const facets = results?.facets as\r\n | Array<{\r\n name: string\r\n data: Record\r\n exhaustive?: boolean\r\n }>\r\n | undefined\r\n\r\n const doctypeFacet = facets?.find((facet) => facet.name === 'doctype')\r\n const nbHits = results?.nbHits ?? 0\r\n\r\n const formattedFacets: Record = {}\r\n\r\n if (doctypeFacet?.data) {\r\n Object.entries(doctypeFacet.data).forEach(([key, value]) => {\r\n if (typeof value === 'number') {\r\n formattedFacets[key] = value\r\n }\r\n })\r\n }\r\n\r\n formattedFacets[''] = nbHits\r\n\r\n if (!isFilteringByDoctype) {\r\n updateOcurrenceCount(formattedFacets)\r\n }\r\n }, [searchResults?.queryID])\r\n\r\n return null\r\n }\r\n)\r\n\r\nconst InfiniteHits = ({ hits, hasMore, refineNext }: InfiniteHitsProvided) => {\r\n const scrollRef = useRef(null)\r\n\r\n function onSentinelIntersection(entries: IntersectionObserverEntry[]) {\r\n entries.forEach((entry: IntersectionObserverEntry) => {\r\n if (entry.isIntersecting && hasMore) {\r\n refineNext()\r\n }\r\n })\r\n }\r\n\r\n const filteredResult = useMemo(() => {\r\n const mergeHits: FilteredHit2[] = [] //hitsData\r\n hits.forEach((hit) => {\r\n const alreadyExists = mergeHits.findIndex(\r\n (e) => e.url_without_anchor === hit.url_without_anchor\r\n )\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const filteredHit: any = { ...hit, filteredMatches: [] }\r\n if (alreadyExists >= 0) {\r\n mergeHits[alreadyExists].filteredMatches?.push(filteredHit)\r\n } else mergeHits.push(filteredHit)\r\n })\r\n return mergeHits\r\n }, [hits])\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(onSentinelIntersection, {})\r\n\r\n if (scrollRef.current) observer.observe(scrollRef.current)\r\n return () => {\r\n observer.disconnect()\r\n }\r\n }, [hits])\r\n return (\r\n \r\n \r\n {filteredResult.map((hit: Hit, index: number) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default connectInfiniteHits(InfiniteHits)\r\n","import { Box, Flex, Text, IconCaret, Tooltip } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport Link from 'next/link.js'\r\nimport CustomHighlight from 'components/search-input/customHighlight'\r\nimport { useState } from 'react'\r\nimport { useContext } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport ExpandedResultsIcon from 'components/icons/expanded-results-icon'\r\nimport { Hit } from 'react-instantsearch-core'\r\nimport MethodCategory from 'components/method-category'\r\nimport { IconComponent, MethodType } from 'utils/typings/types'\r\nimport { ActionType, getAction } from 'utils/search-utils'\r\n\r\nexport type FilteredHit = Hit & { filteredMatches?: Hit[] }\r\ninterface SearchCardProps {\r\n doc: string\r\n title: string\r\n breadcrumbs?: string[]\r\n method?: MethodType\r\n actionType?: ActionType\r\n Icon?: IconComponent\r\n url: string\r\n hit: FilteredHit\r\n}\r\n\r\nconst SearchCard = ({\r\n Icon,\r\n title,\r\n method,\r\n breadcrumbs,\r\n actionType,\r\n url,\r\n hit,\r\n}: SearchCardProps) => {\r\n const actionValue = actionType ? getAction(actionType) : null\r\n const [toggleChildResults, setToggleChildResults] = useState(false)\r\n const { locale } = useContext(LibraryContext)\r\n return (\r\n \r\n \r\n \r\n \r\n {Icon && }\r\n {method ? (\r\n \r\n ) : null}\r\n {title === 'overview' && `${hit.doccategory} `}\r\n {title}\r\n \r\n \r\n \r\n \r\n \r\n {toggleChildResults &&\r\n hit.filteredMatches?.map((childHit, index: number) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n {breadcrumbs ? (\r\n \r\n \r\n {messages[locale]['search_card.in'] || 'In'}\r\n \r\n {breadcrumbs.map((breadcrumb, index) => (\r\n \r\n \r\n {breadcrumb}\r\n \r\n {index < breadcrumbs.length - 1 ? (\r\n \r\n ) : null}\r\n \r\n ))}\r\n \r\n ) : null}\r\n {actionValue ? (\r\n \r\n {' '}\r\n {actionValue?.title}\r\n \r\n ) : null}\r\n \r\n {hit.filteredMatches && hit.filteredMatches.length > 0 && (\r\n {\r\n setToggleChildResults(!toggleChildResults)\r\n event.stopPropagation()\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SearchCard\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport { methodsColors } from 'components/method-category/functions'\r\nimport { MethodType } from 'utils/typings/unionTypes'\r\n\r\nconst container: SxStyleProp = {\r\n justifyContent: 'space-between',\r\n borderRadius: '9px',\r\n border: '1px solid #DDDDDD',\r\n width: '100%',\r\n mb: '18px',\r\n paddingTop: '26px',\r\n paddingBottom: '10px',\r\n paddingLeft: ['13px', '44px'],\r\n paddingRight: ['13px', '34px'],\r\n background: '#FFFFFF',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst containerActive = (method: MethodType | undefined): SxStyleProp => {\r\n const methodCategory = method ? methodsColors[method] : ''\r\n return {\r\n ...container,\r\n ':hover': {\r\n background: '#F8F7FC',\r\n '.searchCardTitle, .searchCardDescription': {\r\n color: '#142032',\r\n },\r\n '.method-category': {\r\n ...methodCategory,\r\n },\r\n },\r\n }\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n fontSize: ['16px', '18px'],\r\n lineHeight: ['22px', '24px'],\r\n color: 'muted.0',\r\n}\r\n\r\nconst httpMethod: SxStyleProp = {\r\n mr: '4px',\r\n}\r\n\r\nconst icon: SxStyleProp = {\r\n width: '24px',\r\n height: '24px',\r\n mr: '8px',\r\n path: {\r\n stroke: '#A1A8B3',\r\n },\r\n}\r\n\r\nconst description: SxStyleProp = {\r\n fontSize: '16px',\r\n lineHeight: '22px',\r\n paddingLeft: '32px',\r\n color: 'muted.0',\r\n mt: '4px',\r\n mb: '8px',\r\n}\r\n\r\nconst descriptionToggle: SxStyleProp = {\r\n height: 'auto',\r\n minWidth: 'auto',\r\n}\r\n\r\nconst descriptionExpandedItem: SxStyleProp = {\r\n mt: '24px',\r\n}\r\n\r\nconst breadcrumbsContainer: SxStyleProp = {\r\n display: ['none', 'flex'],\r\n paddingLeft: '32px',\r\n alignItems: 'center',\r\n}\r\n\r\nconst alignCenter: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst documentation: SxStyleProp = {\r\n ...alignCenter,\r\n minWidth: 'max-content',\r\n}\r\n\r\nconst breadcrumb: SxStyleProp = {\r\n color: 'muted.1',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst lastBreadcrumb: SxStyleProp = {\r\n ...breadcrumb,\r\n margin: 'auto 0',\r\n display: 'block',\r\n overflow: 'hidden',\r\n maxWidth: 'max-content',\r\n whiteSpace: 'nowrap',\r\n}\r\n\r\nconst breadcrumbsIn: SxStyleProp = {\r\n ...breadcrumb,\r\n mr: '4px',\r\n minWidth: 'fit-content',\r\n}\r\n\r\nconst breadcrumbsArrow: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n color: 'muted.2',\r\n}\r\n\r\nconst actionContainer: SxStyleProp = {\r\n paddingLeft: '32px',\r\n alignItems: 'center',\r\n}\r\n\r\nconst actionIcon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n height: '16px',\r\n mr: '8px',\r\n}\r\n\r\nexport default {\r\n containerActive,\r\n title,\r\n httpMethod,\r\n icon,\r\n description,\r\n descriptionToggle,\r\n descriptionExpandedItem,\r\n breadcrumbsContainer,\r\n alignCenter,\r\n documentation,\r\n breadcrumb,\r\n lastBreadcrumb,\r\n breadcrumbsIn,\r\n breadcrumbsArrow,\r\n actionContainer,\r\n actionIcon,\r\n}\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\ninterface ExpandedResultsProps extends IconProps {\r\n active: boolean\r\n}\r\n\r\nconst ExpandedResultsIcon = ({ active }: ExpandedResultsProps) =>\r\n active ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\nexport default ExpandedResultsIcon\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst resultContainer: SxStyleProp = {\r\n width: ['80%', '544px', '544px', '544px', '720px', '720px', '1400px'],\r\n paddingTop: ['32px', '32px', '32px', '64px'],\r\n hr: {\r\n marginTop: '16px',\r\n marginBottom: '32px',\r\n borderTop: 'none',\r\n borderColor: '#DDDDDD',\r\n display: ['none', 'none', 'none', 'block'],\r\n },\r\n}\r\n\r\nconst resultText: SxStyleProp = {\r\n mb: '16px',\r\n fontSize: '16px',\r\n lineHeight: '22px',\r\n display: ['none', 'none', 'none', 'initial'],\r\n}\r\n\r\nconst paginationContainer: SxStyleProp = {\r\n mt: ['48px', '115px'],\r\n mb: '34px',\r\n justifyContent: 'center',\r\n}\r\n\r\nconst paginationLink: SxStyleProp = {\r\n fontSize: '16px',\r\n lineHeight: '20px',\r\n color: '#EE2565',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst paginationLinkDisabled: SxStyleProp = {\r\n ...paginationLink,\r\n color: 'muted.1',\r\n}\r\n\r\nconst paginationNumber: SxStyleProp = {\r\n display: 'flex',\r\n fontSize: ['14px', '16px'],\r\n lineHeight: '20px',\r\n color: '#4A596B',\r\n mx: ['18px', '27px'],\r\n}\r\n\r\nconst paginationActualNumber: SxStyleProp = {\r\n fontWeight: '700',\r\n mx: '4px',\r\n}\r\n\r\nconst noResults: SxStyleProp = {\r\n justifyContent: 'center',\r\n alignContent: 'center',\r\n padding: '12px',\r\n}\r\n\r\nexport default {\r\n resultContainer,\r\n resultText,\r\n paginationContainer,\r\n paginationLink,\r\n paginationLinkDisabled,\r\n paginationNumber,\r\n paginationActualNumber,\r\n noResults,\r\n}\r\n","import { useContext } from 'react'\r\nimport { Flex, Text } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport { SearchContext } from 'utils/context/search'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\nconst SearchFilterTab = ({ filter }: { filter: string }) => {\r\n const { filterSelectedSection, changeFilterSelectedSection, ocurrenceCount } =\r\n useContext(SearchContext)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n return (\r\n changeFilterSelectedSection(filter)}\r\n >\r\n \r\n {filter || messages[locale]['search_results.all'] || 'All results'}\r\n \r\n {ocurrenceCount[filter] || 0}\r\n \r\n )\r\n}\r\n\r\nconst SearchFilterTabBar = () => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n return (\r\n \r\n \r\n {sidebarSections.flat().map((section) => {\r\n return \r\n })}\r\n \r\n )\r\n}\r\n\r\nexport default SearchFilterTabBar\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n display: ['flex', 'flex', 'flex', 'none'],\r\n overflowX: 'scroll',\r\n scrollbarWidth: 'none',\r\n '::-webkit-scrollbar': {\r\n display: 'none',\r\n },\r\n}\r\n\r\nconst tab: (active: boolean) => SxStyleProp = (active) => ({\r\n pt: '8px',\r\n pb: '14px',\r\n px: '24px',\r\n cursor: 'pointer',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n borderBottom: `${active ? 2 : 1}px solid #${active ? 'D71D55' : 'DDDDDD'}`,\r\n minWidth: 'max-content',\r\n})\r\n\r\nconst tabTitle: (active: boolean) => SxStyleProp = (active) => ({\r\n fontSize: '14px',\r\n fontWeight: '600',\r\n lineHeight: '16.38px',\r\n whiteSpace: 'nowrap',\r\n color: `#${active ? 'D71D55' : '545454'}`,\r\n})\r\n\r\nconst tabCount: SxStyleProp = {\r\n px: '8px',\r\n ml: '2px',\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n lineHeight: '16px',\r\n borderRadius: '24px',\r\n backgroundColor: '#F8F7FC',\r\n}\r\n\r\nexport default { container, tab, tabTitle, tabCount }\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst searchBarContainer: SxStyleProp = {\r\n display: ['flex', 'flex', 'flex', 'none'],\r\n justifyContent: 'center',\r\n py: '16px',\r\n}\r\n\r\nconst body: SxStyleProp = {\r\n background: '#FFFFFF',\r\n justifyContent: 'center',\r\n}\r\n\r\nexport default {\r\n searchBarContainer,\r\n body,\r\n}\r\n","import { ReactNode, useContext } from 'react'\r\nimport { CookieConsent } from 'react-cookie-consent'\r\nimport styles from './styles'\r\nimport { Flex, SxStyleProp, Text } from '@vtex/brand-ui'\r\nimport { messages } from 'utils/get-message'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport aa from 'search-insights'\r\n\r\ninterface Props {\r\n onAccept: () => void\r\n}\r\n\r\ninterface ButtonProps {\r\n children: ReactNode[]\r\n style: SxStyleProp\r\n}\r\n\r\nconst Button = ({ children, style, ...props }: ButtonProps) => {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nconst CookieBar = ({ onAccept }: Props) => {\r\n const { locale } = useContext(LibraryContext)\r\n\r\n return (\r\n {\r\n aa('init', {\r\n partial: true,\r\n useCookie: true,\r\n })\r\n onAccept()\r\n }}\r\n declineButtonText={messages[locale]['cookie_bar.decline']}\r\n buttonText={messages[locale]['cookie_bar.accept']}\r\n ButtonComponent={Button}\r\n customButtonWrapperAttributes={{ style: styles.buttonContainer }}\r\n customContentAttributes={{ style: styles.barContent }}\r\n >\r\n {messages[locale]['cookie_bar.title']}\r\n {messages[locale]['cookie_bar.description']}\r\n \r\n )\r\n}\r\n\r\nexport default CookieBar\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst bar: SxStyleProp = {\r\n backgroundColor: '#FFF',\r\n borderRadius: '8px',\r\n color: '#5E6E84',\r\n padding: '20px',\r\n width: '80%',\r\n left: '50%',\r\n transform: 'translateX(-50%)',\r\n maxWidth: '1280px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n boxShadow: '0 0 10px rgba(0, 0, 0, 0.1)',\r\n}\r\n\r\nconst barContent: SxStyleProp = {\r\n display: 'flex',\r\n flex: '1 0 300px',\r\n flexDirection: 'column',\r\n maxWidth: '100%',\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n color: '#5E6E84',\r\n marginBottom: '10px',\r\n lineHeight: '28px',\r\n fontSize: '25px',\r\n fontWeight: '400',\r\n}\r\n\r\nconst buttonContainer: SxStyleProp = {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n gap: '10px',\r\n justifyContent: 'center',\r\n margin: '15px',\r\n}\r\n\r\nconst acceptButton: SxStyleProp = {\r\n background: '#F71963',\r\n color: '#FFF',\r\n padding: '7px 16px',\r\n borderRadius: '2px',\r\n margin: '0',\r\n height: '32px',\r\n fontWeight: '400',\r\n\r\n ':hover': {\r\n opacity: '0.7',\r\n },\r\n}\r\n\r\nconst declineButton: SxStyleProp = {\r\n border: '1px solid #F71963',\r\n background: '#FFF',\r\n color: '#F71963',\r\n borderRadius: '2px',\r\n fontWeight: '400',\r\n margin: '0',\r\n height: '32px',\r\n\r\n ':hover': {\r\n opacity: '0.7',\r\n },\r\n}\r\n\r\nexport default {\r\n bar,\r\n barContent,\r\n title,\r\n acceptButton,\r\n declineButton,\r\n buttonContainer,\r\n}\r\n","import { Button } from '@vtex/brand-ui'\r\nimport Tooltip from 'components/tooltip'\r\nimport CopyIcon from '../icons/copy-icon'\r\nimport { useState } from 'react'\r\nimport styles from './styles'\r\n\r\nconst CopyLinkButton = () => {\r\n const [tooltipText, setTooltipText] = useState('Copy')\r\n\r\n const handleCopy = () => {\r\n navigator.clipboard.writeText(window.location.href)\r\n setTooltipText('Copy')\r\n\r\n setTimeout(() => {\r\n setTooltipText('Copied!')\r\n }, 2000)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default CopyLinkButton\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CopyIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CopyIcon\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst copyIcon: SxStyleProp = {\r\n marginRight: '4px',\r\n}\r\n\r\nconst copyLinkButton: SxStyleProp = {\r\n textTransform: 'none',\r\n color: '#3F3F3F',\r\n fontWeight: '100',\r\n fontSize: '12px',\r\n lineHeight: '18px',\r\n height: 'none',\r\n padding: '8px 5px 8px 8px',\r\n border: '1px solid #A1AAB7',\r\n backgroundColor: 'white',\r\n ':hover': {\r\n backgroundColor: '#EFEFEF',\r\n },\r\n}\r\n\r\nexport default {\r\n copyIcon,\r\n copyLinkButton,\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport styles from './styles'\r\nimport { Flex } from '@vtex/brand-ui'\r\nimport { IconComponent } from 'utils/typings/types'\r\n\r\ninterface InputProps {\r\n value: string\r\n Icon?: IconComponent\r\n placeholder?: string\r\n onChange: (value: string) => void\r\n}\r\n\r\nconst Input = ({ value, onChange, placeholder = '', Icon }: InputProps) => {\r\n const [inputValue, setInputValue] = useState(value ?? '')\r\n\r\n useEffect(() => {\r\n if (inputValue !== value) setInputValue(value)\r\n }, [value])\r\n\r\n return (\r\n \r\n {Icon && }\r\n {\r\n setInputValue(e.currentTarget.value)\r\n onChange(e.currentTarget.value)\r\n }}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default Input\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst input: SxStyleProp = {\r\n background: 'none',\r\n border: '#F4F4F4',\r\n color: '#545454',\r\n fontSize: ['14px'],\r\n width: '100%',\r\n transition: 'flex 0.3s',\r\n outline: 'none',\r\n}\r\n\r\nconst icon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n mr: '8px',\r\n flex: 0,\r\n maxWidth: 'fit-content',\r\n}\r\n\r\nconst container: SxStyleProp = {\r\n paddingLeft: '12px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n background: '#F4F4F4',\r\n width: '100%',\r\n height: '40px',\r\n borderRadius: '4px',\r\n transition: 'all 0.3s ease-out',\r\n cursor: 'pointer',\r\n border: '1px solid #F4F4F4',\r\n\r\n ':hover': {\r\n transition: 'all 0.3s ease-out',\r\n border: '1px solid #3B3B3B',\r\n },\r\n}\r\n\r\nexport default { container, input, icon }\r\n"],"mappings":"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","names":["Fragment","text","text","i","checker","version","encode","version","searchIndex","body","parse","algoliasearch","algoliasearch","Box","useEffect","useRef","useState","Box","Flex","mermaid","jsx","jsxs","icon","link","Icon","jsx","PropTypes","Box","styles_default","jsx","Box","styles_default","useEffect","Box","Flex","Icon","jsx","jsxs","body","styles_default","jsx","jsxs","useEffect","Flex","styles_default","Box","Box","Flex","Link","container","styles_default","jsx","jsxs","title","description","Link","styles_default","Box","Flex","useEffect","useState","jsx","title","sidebarElementStatus","item","heading","img","heading","code","blockquote","blockquoteInfo","blockquoteDanger","blockquoteWarning","blockquoteSuccess","flexWrap","svgContainer","messages","jsx","jsxs","useState","icon","useRef","useEffect","mermaid","Box","Flex","item","jsx","Box","useContext","useEffect","Link","Box","Text","styles_default","jsx","jsxs","useContext","useEffect","headings","item","title","Link","Text","styles_default","Box","useEffect","useRef","useState","useContext","Flex","Text","Box","Link","linkContainer","styles_default","iconTooltip","useEffect","useRef","useState","Box","Flex","styles_default","Icon","jsx","jsx","jsxs","label","box","useRef","useState","useEffect","Box","Flex","styles_default","useRouter","useEffect","getIcon","icon","Flex","Box","Text","Button","useContext","useState","styles_default","Box","Flex","Text","Flex","Text","container","styles_default","categoryStyle","styles_default","Icon","jsx","jsxs","jsx","jsxs","Flex","Text","styles_default","useContext","useState","container","text","styles_default","jsx","jsxs","useState","useContext","Box","styles_default","Text","Flex","useRouter","useContext","Box","Flex","Link","Button","IconCaret","sectionDivider","styles_default","icon","styles_default","textStyle","jsx","jsxs","useContext","useRouter","slugPrefix","Box","styles_default","Flex","Button","IconCaret","Link","item","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","jsxs","Fragment","jsx","jsxs","documentation","useState","useContext","category","getIcon","Box","styles_default","Flex","Button","Text","sidebarSectionHidden","Fragment","jsx","jsxs","useState","useContext","useEffect","iconTooltip","useRef","Box","styles_default","Link","Flex","Text","Box","IconCaret","Button","arrowIcon","arrowIconActive","styles_default","useContext","Link","Box","Flex","Text","cardContainer","title","description","styles_default","cardContainer","styles_default","titleContainer","cardTitle","jsx","jsxs","title","description","link","Icon","Link","Box","cardContainer","Flex","titleContainer","Text","styles_default","useRef","useContext","useRouter","Flex","searchInput","searchIcon","styles_default","jsx","jsxs","useRouter","useRef","useContext","Flex","styles_default","useRouter","Link","Box","Flex","IconCaret","Text","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","item","useEffect","useRef","useState","Flex","Text","jsx","useState","useRef","useEffect","Flex","styles_default","Text","useContext","Fragment","jsx","jsxs","useContext","Link","Box","styles_default","Flex","Text","IconCaret","useRouter","Box","useContext","useRef","useState","aa","algoliasearch","jsx","jsxs","useContext","useState","resultsBox","useRef","Box","jsx","jsxs","useContext","styles_default","Box","Button","IconCaret","Flex","Text","Link","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","useContext","useEffect","useState","container","styles_default","Box","Button","Flex","Text","Icon","jsx","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","useRef","useState","container","button","styles_default","Icon","jsx","Icon","jsx","jsxs","jsx","jsxs","useState","useRef","Flex","styles_default","Button","Text","Box","jsx","jsxs","shareButton","useState","useContext","useEffect","Flex","styles_default","Text","Link","Box","Flex","Box","Box","Flex","Text","useContext","useEffect","styles_default","useRouter","createContext","useState","jsx","jsx","jsxs","useRouter","useContext","useEffect","Flex","styles_default","Text","Box","container","styles_default","useContext","jsx","jsxs","useContext","item","Box","styles_default","useRouter","useContext","useState","Box","Text","Configure","InstantSearch","useContext","useEffect","useMemo","useRef","connectStateResults","Box","Flex","Text","IconCaret","Tooltip","container","title","icon","description","alignCenter","styles_default","Link","useState","useContext","Icon","jsx","jsxs","jsx","jsxs","Icon","title","useState","useContext","Link","Flex","styles_default","Box","Text","breadcrumb","Tooltip","IconCaret","Box","Flex","jsx","jsxs","useContext","connectStateResults","useEffect","useRef","useMemo","Box","Flex","noResults","styles_default","jsx","jsxs","useRouter","useContext","useState","Box","styles_default","Text","InstantSearch","Configure","useContext","Flex","Text","container","styles_default","jsx","jsxs","useContext","Flex","styles_default","Text","styles_default","jsx","jsxs","Box","Flex","styles_default","search_default","useContext","title","styles_default","Flex","Text","aa","jsx","jsxs","Button","Flex","useContext","styles_default","Text","Button","Icon","jsx","jsxs","useState","styles_default","jsx","useState","Button","styles_default","useState","useEffect","icon","container","styles_default","Flex","jsx","jsxs","Icon","useState","useEffect","styles_default"]} +>>>>>>> ce89f07 (build: update dist files) +======= +{"version":3,"sources":["../node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","../node_modules/prop-types/node_modules/react-is/index.js","../node_modules/object-assign/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/lib/has.js","../node_modules/prop-types/checkPropTypes.js","../node_modules/prop-types/factoryWithTypeCheckers.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/@algolia/cache-common/dist/cache-common.esm.js","../node_modules/@algolia/cache-in-memory/dist/cache-in-memory.esm.js","../node_modules/@algolia/client-common/dist/client-common.esm.js","../node_modules/@algolia/requester-common/dist/requester-common.esm.js","../node_modules/@algolia/transporter/dist/transporter.esm.js","../node_modules/@algolia/client-analytics/dist/client-analytics.esm.js","../node_modules/@algolia/client-personalization/dist/client-personalization.esm.js","../node_modules/@algolia/client-search/dist/client-search.esm.js","../node_modules/@algolia/logger-common/dist/logger-common.esm.js","../node_modules/@algolia/requester-node-http/dist/requester-node-http.esm.js","../node_modules/algoliasearch/dist/algoliasearch.cjs.js","../node_modules/algoliasearch/index.js","../node_modules/algoliasearch/lite.js","../src/lib/markdown-renderer/MarkdownRenderer.tsx","../src/lib/markdown-renderer/components.tsx","../src/components/overview-card/styles.ts","../src/components/overview-card/index.tsx","../src/components/overview-card/icons.tsx","../src/components/youtube-frame/index.tsx","../src/components/steps/index.tsx","../src/components/steps/styles.ts","../src/components/lightbox/index.tsx","../src/components/icons/close-icon.tsx","../src/utils/hooks/useClickOutside.ts","../src/components/lightbox/styles.ts","../src/components/whats-next-card/index.tsx","../src/components/whats-next-card/styles.ts","../src/utils/context/libraryContext.tsx","../src/utils/string-utils.ts","../src/utils/mermaidInit.ts","../src/lib/markdown-renderer/styles.module.css","../src/messages/en.json","../src/messages/es.json","../src/messages/pt.json","../src/utils/get-message.ts","../src/lib/table-of-contents/TableOfContents.tsx","../src/lib/table-of-contents/styles.ts","../src/lib/sidebar/index.tsx","../src/lib/sidebar/styles.ts","../src/lib/sidebar/functions.ts","../src/components/tooltip/index.tsx","../src/components/tooltip/styles.ts","../src/components/icons/caret.tsx","../src/utils/navigation-utils.ts","../src/utils/sidebar-utils.ts","../src/components/sidebar-section/index.tsx","../src/components/sidebar-section/styles.ts","../src/components/sidebar-section-filter/index.tsx","../src/components/method-category/index.tsx","../src/components/method-category/styles.ts","../src/components/method-category/functions.ts","../src/components/icons/close-filter-icon.tsx","../src/components/sidebar-section-filter/styles.ts","../src/components/sidebar-elements/index.tsx","../src/components/sidebar-elements/styles.ts","../src/components/sidebar-elements/functions.tsx","../src/components/icons/search-icon.tsx","../src/components/icons/sidebar-toggle-icon.tsx","../src/components/icons/arrow-left-icon.tsx","../src/lib/hamburger-menu/index.tsx","../src/lib/hamburger-menu/styles.ts","../src/components/documentation-card/index.tsx","../src/components/documentation-card/styles.ts","../src/components/documentation-card/functions.ts","../src/components/search-input/index.tsx","../src/components/search-input/search-box.tsx","../src/components/search-input/styles.ts","../src/components/search-input/results-box.tsx","../src/components/icons/api-guides-icon.tsx","../src/components/icons/api-reference-icon.tsx","../src/components/icons/app-development-icon.tsx","../src/components/icons/release-notes-icon.tsx","../src/components/icons/storefront-development-icon.tsx","../src/components/icons/vtex-io-apps-icon.tsx","../src/components/icons/troubleshooting-icon.tsx","../src/components/icons/added-icon.tsx","../src/components/icons/deprecated-icon.tsx","../src/components/icons/fixed-icon.tsx","../src/components/icons/improved-icon.tsx","../src/components/icons/removed-icon.tsx","../src/utils/search-utils.ts","../src/components/search-input/customHighlight.tsx","../src/utils/config/search-config.ts","../src/lib/feedback-section/index.tsx","../src/components/icons/edit-icon.tsx","../src/components/icons/like-icon.tsx","../src/components/icons/like-selected-icon.tsx","../src/lib/feedback-section/styles.ts","../src/components/share-button/index.tsx","../src/components/icons/facebook-icon.tsx","../src/components/icons/linkedin-icon.tsx","../src/components/icons/share-icon.tsx","../src/components/icons/twitter-icon.tsx","../src/components/share-button/styles.ts","../src/components/icons/email-icon.tsx","../src/components/icons/link-icon.tsx","../src/lib/search/index.tsx","../src/components/search-sections/index.tsx","../src/components/search-section/index.tsx","../src/components/search-section/styles.ts","../src/utils/context/search.tsx","../src/components/search-sections/styles.ts","../src/components/search-results/index.tsx","../src/components/search-results/infiniteHits.tsx","../src/components/search-card/index.tsx","../src/components/search-card/styles.ts","../src/components/icons/expanded-results-icon.tsx","../src/components/search-results/styles.ts","../src/components/search-filter-tab-bar/index.tsx","../src/components/search-filter-tab-bar/styles.ts","../src/lib/search/styles.ts","../src/lib/cookie-bar/index.tsx","../src/lib/cookie-bar/styles.ts","../src/components/copy-link-button/index.tsx","../src/components/icons/copy-icon.tsx","../src/components/copy-link-button/styles.ts","../src/components/input/index.tsx","../src/components/input/styles.ts"],"sourcesContent":["/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","// @todo Add logger on options to debug when caches go wrong.\r\nfunction createFallbackableCache(options) {\r\n const caches = [...options.caches];\r\n const current = caches.shift(); // eslint-disable-line functional/immutable-data\r\n if (current === undefined) {\r\n return createNullCache();\r\n }\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n return current.get(key, defaultValue, events).catch(() => {\r\n return createFallbackableCache({ caches }).get(key, defaultValue, events);\r\n });\r\n },\r\n set(key, value) {\r\n return current.set(key, value).catch(() => {\r\n return createFallbackableCache({ caches }).set(key, value);\r\n });\r\n },\r\n delete(key) {\r\n return current.delete(key).catch(() => {\r\n return createFallbackableCache({ caches }).delete(key);\r\n });\r\n },\r\n clear() {\r\n return current.clear().catch(() => {\r\n return createFallbackableCache({ caches }).clear();\r\n });\r\n },\r\n };\r\n}\n\nfunction createNullCache() {\r\n return {\r\n get(_key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const value = defaultValue();\r\n return value\r\n .then(result => Promise.all([result, events.miss(result)]))\r\n .then(([result]) => result);\r\n },\r\n set(_key, value) {\r\n return Promise.resolve(value);\r\n },\r\n delete(_key) {\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createFallbackableCache, createNullCache };\n","function createInMemoryCache(options = { serializable: true }) {\r\n // eslint-disable-next-line functional/no-let\r\n let cache = {};\r\n return {\r\n get(key, defaultValue, events = {\r\n miss: () => Promise.resolve(),\r\n }) {\r\n const keyAsString = JSON.stringify(key);\r\n if (keyAsString in cache) {\r\n return Promise.resolve(options.serializable ? JSON.parse(cache[keyAsString]) : cache[keyAsString]);\r\n }\r\n const promise = defaultValue();\r\n const miss = (events && events.miss) || (() => Promise.resolve());\r\n return promise.then((value) => miss(value)).then(() => promise);\r\n },\r\n set(key, value) {\r\n // eslint-disable-next-line functional/immutable-data\r\n cache[JSON.stringify(key)] = options.serializable ? JSON.stringify(value) : value;\r\n return Promise.resolve(value);\r\n },\r\n delete(key) {\r\n // eslint-disable-next-line functional/immutable-data\r\n delete cache[JSON.stringify(key)];\r\n return Promise.resolve();\r\n },\r\n clear() {\r\n cache = {};\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createInMemoryCache };\n","function createAuth(authMode, appId, apiKey) {\r\n const credentials = {\r\n 'x-algolia-api-key': apiKey,\r\n 'x-algolia-application-id': appId,\r\n };\r\n return {\r\n headers() {\r\n return authMode === AuthMode.WithinHeaders ? credentials : {};\r\n },\r\n queryParameters() {\r\n return authMode === AuthMode.WithinQueryParameters ? credentials : {};\r\n },\r\n };\r\n}\n\nfunction createRetryablePromise(callback) {\r\n let retriesCount = 0; // eslint-disable-line functional/no-let\r\n const retry = () => {\r\n retriesCount++;\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(callback(retry));\r\n }, Math.min(100 * retriesCount, 1000));\r\n });\r\n };\r\n return callback(retry);\r\n}\n\nfunction createWaitablePromise(promise, wait = (_response, _requestOptions) => {\r\n return Promise.resolve();\r\n}) {\r\n // eslint-disable-next-line functional/immutable-data\r\n return Object.assign(promise, {\r\n wait(requestOptions) {\r\n return createWaitablePromise(promise\r\n .then(response => Promise.all([wait(response, requestOptions), response]))\r\n .then(promiseResults => promiseResults[1]));\r\n },\r\n });\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction shuffle(array) {\r\n let c = array.length - 1; // eslint-disable-line functional/no-let\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (c; c > 0; c--) {\r\n const b = Math.floor(Math.random() * (c + 1));\r\n const a = array[c];\r\n array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign\r\n }\r\n return array;\r\n}\r\nfunction addMethods(base, methods) {\r\n if (!methods) {\r\n return base;\r\n }\r\n Object.keys(methods).forEach(key => {\r\n // eslint-disable-next-line functional/immutable-data, no-param-reassign\r\n base[key] = methods[key](base);\r\n });\r\n return base;\r\n}\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nconst version = '4.20.0';\n\nconst destroy = (base) => {\r\n return () => {\r\n return base.transporter.requester.destroy();\r\n };\r\n};\n\nconst AuthMode = {\r\n /**\r\n * If auth credentials should be in query parameters.\r\n */\r\n WithinQueryParameters: 0,\r\n /**\r\n * If auth credentials should be in headers.\r\n */\r\n WithinHeaders: 1,\r\n};\n\nexport { AuthMode, addMethods, createAuth, createRetryablePromise, createWaitablePromise, destroy, encode, shuffle, version };\n","const MethodEnum = {\r\n Delete: 'DELETE',\r\n Get: 'GET',\r\n Post: 'POST',\r\n Put: 'PUT',\r\n};\n\nexport { MethodEnum };\n","import { MethodEnum } from '@algolia/requester-common';\n\nfunction createMappedRequestOptions(requestOptions, timeout) {\r\n const options = requestOptions || {};\r\n const data = options.data || {};\r\n Object.keys(options).forEach(key => {\r\n if (['timeout', 'headers', 'queryParameters', 'data', 'cacheable'].indexOf(key) === -1) {\r\n data[key] = options[key]; // eslint-disable-line functional/immutable-data\r\n }\r\n });\r\n return {\r\n data: Object.entries(data).length > 0 ? data : undefined,\r\n timeout: options.timeout || timeout,\r\n headers: options.headers || {},\r\n queryParameters: options.queryParameters || {},\r\n cacheable: options.cacheable,\r\n };\r\n}\n\nconst CallEnum = {\r\n /**\r\n * If the host is read only.\r\n */\r\n Read: 1,\r\n /**\r\n * If the host is write only.\r\n */\r\n Write: 2,\r\n /**\r\n * If the host is both read and write.\r\n */\r\n Any: 3,\r\n};\n\nconst HostStatusEnum = {\r\n Up: 1,\r\n Down: 2,\r\n Timeouted: 3,\r\n};\n\n// By default, API Clients at Algolia have expiration delay\r\n// of 5 mins. In the JavaScript client, we have 2 mins.\r\nconst EXPIRATION_DELAY = 2 * 60 * 1000;\r\nfunction createStatefulHost(host, status = HostStatusEnum.Up) {\r\n return {\r\n ...host,\r\n status,\r\n lastUpdate: Date.now(),\r\n };\r\n}\r\nfunction isStatefulHostUp(host) {\r\n return host.status === HostStatusEnum.Up || Date.now() - host.lastUpdate > EXPIRATION_DELAY;\r\n}\r\nfunction isStatefulHostTimeouted(host) {\r\n return (host.status === HostStatusEnum.Timeouted && Date.now() - host.lastUpdate <= EXPIRATION_DELAY);\r\n}\n\nfunction createStatelessHost(options) {\r\n if (typeof options === 'string') {\r\n return {\r\n protocol: 'https',\r\n url: options,\r\n accept: CallEnum.Any,\r\n };\r\n }\r\n return {\r\n protocol: options.protocol || 'https',\r\n url: options.url,\r\n accept: options.accept || CallEnum.Any,\r\n };\r\n}\n\nfunction createRetryableOptions(hostsCache, statelessHosts) {\r\n return Promise.all(statelessHosts.map(statelessHost => {\r\n return hostsCache.get(statelessHost, () => {\r\n return Promise.resolve(createStatefulHost(statelessHost));\r\n });\r\n })).then(statefulHosts => {\r\n const hostsUp = statefulHosts.filter(host => isStatefulHostUp(host));\r\n const hostsTimeouted = statefulHosts.filter(host => isStatefulHostTimeouted(host));\r\n /**\r\n * Note, we put the hosts that previously timeouted on the end of the list.\r\n */\r\n const hostsAvailable = [...hostsUp, ...hostsTimeouted];\r\n const statelessHostsAvailable = hostsAvailable.length > 0\r\n ? hostsAvailable.map(host => createStatelessHost(host))\r\n : statelessHosts;\r\n return {\r\n getTimeout(timeoutsCount, baseTimeout) {\r\n /**\r\n * Imagine that you have 4 hosts, if timeouts will increase\r\n * on the following way: 1 (timeouted) > 4 (timeouted) > 5 (200)\r\n *\r\n * Note that, the very next request, we start from the previous timeout\r\n *\r\n * 5 (timeouted) > 6 (timeouted) > 7 ...\r\n *\r\n * This strategy may need to be reviewed, but is the strategy on the our\r\n * current v3 version.\r\n */\r\n const timeoutMultiplier = hostsTimeouted.length === 0 && timeoutsCount === 0\r\n ? 1\r\n : hostsTimeouted.length + 3 + timeoutsCount;\r\n return timeoutMultiplier * baseTimeout;\r\n },\r\n statelessHosts: statelessHostsAvailable,\r\n };\r\n });\r\n}\n\nconst isNetworkError = ({ isTimedOut, status }) => {\r\n return !isTimedOut && ~~status === 0;\r\n};\r\nconst isRetryable = (response) => {\r\n const status = response.status;\r\n const isTimedOut = response.isTimedOut;\r\n return (isTimedOut || isNetworkError(response) || (~~(status / 100) !== 2 && ~~(status / 100) !== 4));\r\n};\r\nconst isSuccess = ({ status }) => {\r\n return ~~(status / 100) === 2;\r\n};\r\nconst retryDecision = (response, outcomes) => {\r\n if (isRetryable(response)) {\r\n return outcomes.onRetry(response);\r\n }\r\n if (isSuccess(response)) {\r\n return outcomes.onSuccess(response);\r\n }\r\n return outcomes.onFail(response);\r\n};\n\nfunction retryableRequest(transporter, statelessHosts, request, requestOptions) {\r\n const stackTrace = []; // eslint-disable-line functional/prefer-readonly-type\r\n /**\r\n * First we prepare the payload that do not depend from hosts.\r\n */\r\n const data = serializeData(request, requestOptions);\r\n const headers = serializeHeaders(transporter, requestOptions);\r\n const method = request.method;\r\n // On `GET`, the data is proxied to query parameters.\r\n const dataQueryParameters = request.method !== MethodEnum.Get\r\n ? {}\r\n : {\r\n ...request.data,\r\n ...requestOptions.data,\r\n };\r\n const queryParameters = {\r\n 'x-algolia-agent': transporter.userAgent.value,\r\n ...transporter.queryParameters,\r\n ...dataQueryParameters,\r\n ...requestOptions.queryParameters,\r\n };\r\n let timeoutsCount = 0; // eslint-disable-line functional/no-let\r\n const retry = (hosts, // eslint-disable-line functional/prefer-readonly-type\r\n getTimeout) => {\r\n /**\r\n * We iterate on each host, until there is no host left.\r\n */\r\n const host = hosts.pop(); // eslint-disable-line functional/immutable-data\r\n if (host === undefined) {\r\n throw createRetryError(stackTraceWithoutCredentials(stackTrace));\r\n }\r\n const payload = {\r\n data,\r\n headers,\r\n method,\r\n url: serializeUrl(host, request.path, queryParameters),\r\n connectTimeout: getTimeout(timeoutsCount, transporter.timeouts.connect),\r\n responseTimeout: getTimeout(timeoutsCount, requestOptions.timeout),\r\n };\r\n /**\r\n * The stackFrame is pushed to the stackTrace so we\r\n * can have information about onRetry and onFailure\r\n * decisions.\r\n */\r\n const pushToStackTrace = (response) => {\r\n const stackFrame = {\r\n request: payload,\r\n response,\r\n host,\r\n triesLeft: hosts.length,\r\n };\r\n // eslint-disable-next-line functional/immutable-data\r\n stackTrace.push(stackFrame);\r\n return stackFrame;\r\n };\r\n const decisions = {\r\n onSuccess: response => deserializeSuccess(response),\r\n onRetry(response) {\r\n const stackFrame = pushToStackTrace(response);\r\n /**\r\n * If response is a timeout, we increaset the number of\r\n * timeouts so we can increase the timeout later.\r\n */\r\n if (response.isTimedOut) {\r\n timeoutsCount++;\r\n }\r\n return Promise.all([\r\n /**\r\n * Failures are individually send the logger, allowing\r\n * the end user to debug / store stack frames even\r\n * when a retry error does not happen.\r\n */\r\n transporter.logger.info('Retryable failure', stackFrameWithoutCredentials(stackFrame)),\r\n /**\r\n * We also store the state of the host in failure cases. If the host, is\r\n * down it will remain down for the next 2 minutes. In a timeout situation,\r\n * this host will be added end of the list of hosts on the next request.\r\n */\r\n transporter.hostsCache.set(host, createStatefulHost(host, response.isTimedOut ? HostStatusEnum.Timeouted : HostStatusEnum.Down)),\r\n ]).then(() => retry(hosts, getTimeout));\r\n },\r\n onFail(response) {\r\n pushToStackTrace(response);\r\n throw deserializeFailure(response, stackTraceWithoutCredentials(stackTrace));\r\n },\r\n };\r\n return transporter.requester.send(payload).then(response => {\r\n return retryDecision(response, decisions);\r\n });\r\n };\r\n /**\r\n * Finally, for each retryable host perform request until we got a non\r\n * retryable response. Some notes here:\r\n *\r\n * 1. The reverse here is applied so we can apply a `pop` later on => more performant.\r\n * 2. We also get from the retryable options a timeout multiplier that is tailored\r\n * for the current context.\r\n */\r\n return createRetryableOptions(transporter.hostsCache, statelessHosts).then(options => {\r\n return retry([...options.statelessHosts].reverse(), options.getTimeout);\r\n });\r\n}\n\nfunction createTransporter(options) {\r\n const { hostsCache, logger, requester, requestsCache, responsesCache, timeouts, userAgent, hosts, queryParameters, headers, } = options;\r\n const transporter = {\r\n hostsCache,\r\n logger,\r\n requester,\r\n requestsCache,\r\n responsesCache,\r\n timeouts,\r\n userAgent,\r\n headers,\r\n queryParameters,\r\n hosts: hosts.map(host => createStatelessHost(host)),\r\n read(request, requestOptions) {\r\n /**\r\n * First, we compute the user request options. Now, keep in mind,\r\n * that using request options the user is able to modified the intire\r\n * payload of the request. Such as headers, query parameters, and others.\r\n */\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions, transporter.timeouts.read);\r\n const createRetryableRequest = () => {\r\n /**\r\n * Then, we prepare a function factory that contains the construction of\r\n * the retryable request. At this point, we may *not* perform the actual\r\n * request. But we want to have the function factory ready.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Read) !== 0), request, mappedRequestOptions);\r\n };\r\n /**\r\n * Once we have the function factory ready, we need to determine of the\r\n * request is \"cacheable\" - should be cached. Note that, once again,\r\n * the user can force this option.\r\n */\r\n const cacheable = mappedRequestOptions.cacheable !== undefined\r\n ? mappedRequestOptions.cacheable\r\n : request.cacheable;\r\n /**\r\n * If is not \"cacheable\", we immediatly trigger the retryable request, no\r\n * need to check cache implementations.\r\n */\r\n if (cacheable !== true) {\r\n return createRetryableRequest();\r\n }\r\n /**\r\n * If the request is \"cacheable\", we need to first compute the key to ask\r\n * the cache implementations if this request is on progress or if the\r\n * response already exists on the cache.\r\n */\r\n const key = {\r\n request,\r\n mappedRequestOptions,\r\n transporter: {\r\n queryParameters: transporter.queryParameters,\r\n headers: transporter.headers,\r\n },\r\n };\r\n /**\r\n * With the computed key, we first ask the responses cache\r\n * implemention if this request was been resolved before.\r\n */\r\n return transporter.responsesCache.get(key, () => {\r\n /**\r\n * If the request has never resolved before, we actually ask if there\r\n * is a current request with the same key on progress.\r\n */\r\n return transporter.requestsCache.get(key, () => {\r\n return (transporter.requestsCache\r\n /**\r\n * Finally, if there is no request in progress with the same key,\r\n * this `createRetryableRequest()` will actually trigger the\r\n * retryable request.\r\n */\r\n .set(key, createRetryableRequest())\r\n .then(response => Promise.all([transporter.requestsCache.delete(key), response]), err => Promise.all([transporter.requestsCache.delete(key), Promise.reject(err)]))\r\n .then(([_, response]) => response));\r\n });\r\n }, {\r\n /**\r\n * Of course, once we get this response back from the server, we\r\n * tell response cache to actually store the received response\r\n * to be used later.\r\n */\r\n miss: response => transporter.responsesCache.set(key, response),\r\n });\r\n },\r\n write(request, requestOptions) {\r\n /**\r\n * On write requests, no cache mechanisms are applied, and we\r\n * proxy the request immediately to the requester.\r\n */\r\n return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Write) !== 0), request, createMappedRequestOptions(requestOptions, transporter.timeouts.write));\r\n },\r\n };\r\n return transporter;\r\n}\n\nfunction createUserAgent(version) {\r\n const userAgent = {\r\n value: `Algolia for JavaScript (${version})`,\r\n add(options) {\r\n const addedUserAgent = `; ${options.segment}${options.version !== undefined ? ` (${options.version})` : ''}`;\r\n if (userAgent.value.indexOf(addedUserAgent) === -1) {\r\n // eslint-disable-next-line functional/immutable-data\r\n userAgent.value = `${userAgent.value}${addedUserAgent}`;\r\n }\r\n return userAgent;\r\n },\r\n };\r\n return userAgent;\r\n}\n\nfunction deserializeSuccess(response) {\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n return JSON.parse(response.content);\r\n }\r\n catch (e) {\r\n throw createDeserializationError(e.message, response);\r\n }\r\n}\r\nfunction deserializeFailure({ content, status }, stackFrame) {\r\n // eslint-disable-next-line functional/no-let\r\n let message = content;\r\n // eslint-disable-next-line functional/no-try-statement\r\n try {\r\n message = JSON.parse(content).message;\r\n }\r\n catch (e) {\r\n // ..\r\n }\r\n return createApiError(message, status, stackFrame);\r\n}\n\n// eslint-disable-next-line functional/prefer-readonly-type\r\nfunction encode(format, ...args) {\r\n // eslint-disable-next-line functional/no-let\r\n let i = 0;\r\n return format.replace(/%s/g, () => encodeURIComponent(args[i++]));\r\n}\n\nfunction serializeUrl(host, path, queryParameters) {\r\n const queryParametersAsString = serializeQueryParameters(queryParameters);\r\n // eslint-disable-next-line functional/no-let\r\n let url = `${host.protocol}://${host.url}/${path.charAt(0) === '/' ? path.substr(1) : path}`;\r\n if (queryParametersAsString.length) {\r\n url += `?${queryParametersAsString}`;\r\n }\r\n return url;\r\n}\r\nfunction serializeQueryParameters(parameters) {\r\n const isObjectOrArray = (value) => Object.prototype.toString.call(value) === '[object Object]' ||\r\n Object.prototype.toString.call(value) === '[object Array]';\r\n return Object.keys(parameters)\r\n .map(key => encode('%s=%s', key, isObjectOrArray(parameters[key]) ? JSON.stringify(parameters[key]) : parameters[key]))\r\n .join('&');\r\n}\r\nfunction serializeData(request, requestOptions) {\r\n if (request.method === MethodEnum.Get ||\r\n (request.data === undefined && requestOptions.data === undefined)) {\r\n return undefined;\r\n }\r\n const data = Array.isArray(request.data)\r\n ? request.data\r\n : { ...request.data, ...requestOptions.data };\r\n return JSON.stringify(data);\r\n}\r\nfunction serializeHeaders(transporter, requestOptions) {\r\n const headers = {\r\n ...transporter.headers,\r\n ...requestOptions.headers,\r\n };\r\n const serializedHeaders = {};\r\n Object.keys(headers).forEach(header => {\r\n const value = headers[header];\r\n // @ts-ignore\r\n // eslint-disable-next-line functional/immutable-data\r\n serializedHeaders[header.toLowerCase()] = value;\r\n });\r\n return serializedHeaders;\r\n}\n\nfunction stackTraceWithoutCredentials(stackTrace) {\r\n return stackTrace.map(stackFrame => stackFrameWithoutCredentials(stackFrame));\r\n}\r\nfunction stackFrameWithoutCredentials(stackFrame) {\r\n const modifiedHeaders = stackFrame.request.headers['x-algolia-api-key']\r\n ? { 'x-algolia-api-key': '*****' }\r\n : {};\r\n return {\r\n ...stackFrame,\r\n request: {\r\n ...stackFrame.request,\r\n headers: {\r\n ...stackFrame.request.headers,\r\n ...modifiedHeaders,\r\n },\r\n },\r\n };\r\n}\n\nfunction createApiError(message, status, transporterStackTrace) {\r\n return {\r\n name: 'ApiError',\r\n message,\r\n status,\r\n transporterStackTrace,\r\n };\r\n}\n\nfunction createDeserializationError(message, response) {\r\n return {\r\n name: 'DeserializationError',\r\n message,\r\n response,\r\n };\r\n}\n\nfunction createRetryError(transporterStackTrace) {\r\n return {\r\n name: 'RetryError',\r\n message: 'Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.',\r\n transporterStackTrace,\r\n };\r\n}\n\nexport { CallEnum, HostStatusEnum, createApiError, createDeserializationError, createMappedRequestOptions, createRetryError, createStatefulHost, createStatelessHost, createTransporter, createUserAgent, deserializeFailure, deserializeSuccess, isStatefulHostTimeouted, isStatefulHostUp, serializeData, serializeHeaders, serializeQueryParameters, serializeUrl, stackFrameWithoutCredentials, stackTraceWithoutCredentials };\n","import { createAuth, AuthMode, addMethods, encode } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createAnalyticsClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `analytics.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const appId = options.appId;\r\n return addMethods({ appId, transporter }, options.methods);\r\n};\n\nconst addABTest = (base) => {\r\n return (abTest, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '2/abtests',\r\n data: abTest,\r\n }, requestOptions);\r\n };\r\n};\n\nconst deleteABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('2/abtests/%s', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getABTests = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '2/abtests',\r\n }, requestOptions);\r\n };\r\n};\n\nconst stopABTest = (base) => {\r\n return (abTestID, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('2/abtests/%s/stop', abTestID),\r\n }, requestOptions);\r\n };\r\n};\n\nexport { addABTest, createAnalyticsClient, deleteABTest, getABTest, getABTests, stopABTest };\n","import { createAuth, AuthMode, addMethods } from '@algolia/client-common';\nimport { createTransporter } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\n\nconst createPersonalizationClient = options => {\r\n const region = options.region || 'us';\r\n const auth = createAuth(AuthMode.WithinHeaders, options.appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [{ url: `personalization.${region}.algolia.com` }],\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/json' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n return addMethods({ appId: options.appId, transporter }, options.methods);\r\n};\n\nconst getPersonalizationStrategy = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/strategies/personalization',\r\n }, requestOptions);\r\n };\r\n};\n\nconst setPersonalizationStrategy = (base) => {\r\n return (personalizationStrategy, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/strategies/personalization',\r\n data: personalizationStrategy,\r\n }, requestOptions);\r\n };\r\n};\n\nexport { createPersonalizationClient, getPersonalizationStrategy, setPersonalizationStrategy };\n","import { createAuth, AuthMode, shuffle, addMethods, createWaitablePromise, createRetryablePromise, encode } from '@algolia/client-common';\nimport { createTransporter, CallEnum, createMappedRequestOptions, serializeQueryParameters } from '@algolia/transporter';\nimport { MethodEnum } from '@algolia/requester-common';\nimport { createHmac } from 'crypto';\n\nfunction createBrowsablePromise(options) {\r\n const browse = (data) => {\r\n return options.request(data).then(response => {\r\n /**\r\n * First we send to the developer the\r\n * batch retrieved from the API.\r\n */\r\n if (options.batch !== undefined) {\r\n options.batch(response.hits);\r\n }\r\n /**\r\n * Then, we ask to the browse concrete implementation\r\n * if we should stop browsing. As example, the `browseObjects`\r\n * method will stop if the cursor is not present on the response.\r\n */\r\n if (options.shouldStop(response)) {\r\n return undefined;\r\n }\r\n /**\r\n * Finally, if the response contains a cursor, we browse to the next\r\n * batch using that same cursor. Otherwise, we just use the traditional\r\n * browsing using the page element.\r\n */\r\n if (response.cursor) {\r\n return browse({\r\n cursor: response.cursor,\r\n });\r\n }\r\n return browse({\r\n page: (data.page || 0) + 1,\r\n });\r\n });\r\n };\r\n return browse({});\r\n}\n\nconst createSearchClient = options => {\r\n const appId = options.appId;\r\n const auth = createAuth(options.authMode !== undefined ? options.authMode : AuthMode.WithinHeaders, appId, options.apiKey);\r\n const transporter = createTransporter({\r\n hosts: [\r\n { url: `${appId}-dsn.algolia.net`, accept: CallEnum.Read },\r\n { url: `${appId}.algolia.net`, accept: CallEnum.Write },\r\n ].concat(shuffle([\r\n { url: `${appId}-1.algolianet.com` },\r\n { url: `${appId}-2.algolianet.com` },\r\n { url: `${appId}-3.algolianet.com` },\r\n ])),\r\n ...options,\r\n headers: {\r\n ...auth.headers(),\r\n ...{ 'content-type': 'application/x-www-form-urlencoded' },\r\n ...options.headers,\r\n },\r\n queryParameters: {\r\n ...auth.queryParameters(),\r\n ...options.queryParameters,\r\n },\r\n });\r\n const base = {\r\n transporter,\r\n appId,\r\n addAlgoliaAgent(segment, version) {\r\n transporter.userAgent.add({ segment, version });\r\n },\r\n clearCache() {\r\n return Promise.all([\r\n transporter.requestsCache.clear(),\r\n transporter.responsesCache.clear(),\r\n ]).then(() => undefined);\r\n },\r\n };\r\n return addMethods(base, options.methods);\r\n};\n\nfunction createMissingObjectIDError() {\r\n return {\r\n name: 'MissingObjectIDError',\r\n message: 'All objects must have an unique objectID ' +\r\n '(like a primary key) to be valid. ' +\r\n 'Algolia is also able to generate objectIDs ' +\r\n \"automatically but *it's not recommended*. \" +\r\n \"To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.\",\r\n };\r\n}\n\nfunction createObjectNotFoundError() {\r\n return {\r\n name: 'ObjectNotFoundError',\r\n message: 'Object not found.',\r\n };\r\n}\n\nfunction createValidUntilNotFoundError() {\r\n return {\r\n name: 'ValidUntilNotFoundError',\r\n message: 'ValidUntil not found in given secured api key.',\r\n };\r\n}\n\nconst addApiKey = (base) => {\r\n return (acl, requestOptions) => {\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = {\r\n acl,\r\n ...(queryParameters !== undefined ? { queryParameters } : {}),\r\n };\r\n const wait = (response, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(response.key, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/keys',\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst assignUserID = (base) => {\r\n return (userID, clusterName, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping',\r\n data: { cluster: clusterName },\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst assignUserIDs = (base) => {\r\n return (userIDs, clusterName, requestOptions) => {\r\n return base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/batch',\r\n data: {\r\n users: userIDs,\r\n cluster: clusterName,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst clearDictionaryEntries = (base) => {\r\n return (dictionary, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: {\r\n clearExistingDictionaryEntries: true,\r\n requests: { action: 'addEntry', body: [] },\r\n },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst copyIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'copy',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst copyRules = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Rules],\r\n });\r\n };\r\n};\n\nconst copySettings = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Settings],\r\n });\r\n };\r\n};\n\nconst copySynonyms = (base) => {\r\n return (from, to, requestOptions) => {\r\n return copyIndex(base)(from, to, {\r\n ...requestOptions,\r\n scope: [ScopeEnum.Synonyms],\r\n });\r\n };\r\n};\n\nconst customRequest = (base) => {\r\n return (request, requestOptions) => {\r\n if (request.method === MethodEnum.Get) {\r\n return base.transporter.read(request, requestOptions);\r\n }\r\n return base.transporter.write(request, requestOptions);\r\n };\r\n};\n\nconst deleteApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions)\r\n .then(retry)\r\n .catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst deleteDictionaryEntries = (base) => {\r\n return (dictionary, objectIDs, requestOptions) => {\r\n const requests = objectIDs.map(objectID => ({\r\n action: 'deleteEntry',\r\n body: { objectID },\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst generateSecuredApiKey = () => {\r\n return (parentApiKey, restrictions) => {\r\n const queryParameters = serializeQueryParameters(restrictions);\r\n const securedKey = createHmac('sha256', parentApiKey)\r\n .update(queryParameters)\r\n .digest('hex');\r\n return Buffer.from(securedKey + queryParameters).toString('base64');\r\n };\r\n};\n\nconst getApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/keys/%s', apiKey),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/task/%s', taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getDictionarySettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '/1/dictionaries/*/settings',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getLogs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/logs',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSecuredApiKeyRemainingValidity = () => {\r\n return (securedApiKey) => {\r\n const decodedString = Buffer.from(securedApiKey, 'base64').toString('ascii');\r\n const regex = /validUntil=(\\d+)/;\r\n const match = decodedString.match(regex);\r\n if (match === null) {\r\n throw createValidUntilNotFoundError();\r\n }\r\n return parseInt(match[1], 10) - Math.round(new Date().getTime() / 1000);\r\n };\r\n};\n\nconst getTopUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/top',\r\n }, requestOptions);\r\n };\r\n};\n\nconst getUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/clusters/mapping/%s', userID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst hasPendingMappings = (base) => {\r\n return (requestOptions) => {\r\n const { retrieveMappings, ...options } = requestOptions || {};\r\n if (retrieveMappings === true) {\r\n // eslint-disable-next-line functional/immutable-data\r\n options.getClusters = true;\r\n }\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping/pending',\r\n }, options);\r\n };\r\n};\n\nconst initIndex = (base) => {\r\n return (indexName, options = {}) => {\r\n const searchIndex = {\r\n transporter: base.transporter,\r\n appId: base.appId,\r\n indexName,\r\n };\r\n return addMethods(searchIndex, options.methods);\r\n };\r\n};\n\nconst listApiKeys = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/keys',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listClusters = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listIndices = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/indexes',\r\n }, requestOptions);\r\n };\r\n};\n\nconst listUserIDs = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: '1/clusters/mapping',\r\n }, requestOptions);\r\n };\r\n};\n\nconst moveIndex = (base) => {\r\n return (from, to, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return initIndex(base)(from, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: 'move',\r\n destination: to,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleBatch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return Promise.all(Object.keys(response.taskID).map(indexName => {\r\n return initIndex(base)(indexName, {\r\n methods: { waitTask },\r\n }).waitTask(response.taskID[indexName], waitRequestOptions);\r\n }));\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/batch',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst multipleGetObjects = (base) => {\r\n return (requests, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleQueries = (base) => {\r\n return (queries, requestOptions) => {\r\n const requests = queries.map(query => {\r\n return {\r\n ...query,\r\n params: serializeQueryParameters(query.params || {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/queries',\r\n data: {\r\n requests,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst multipleSearchForFacetValues = (base) => {\r\n return (queries, requestOptions) => {\r\n return Promise.all(queries.map(query => {\r\n const { facetName, facetQuery, ...params } = query.params;\r\n return initIndex(base)(query.indexName, {\r\n methods: { searchForFacetValues },\r\n }).searchForFacetValues(facetName, facetQuery, {\r\n ...requestOptions,\r\n ...params,\r\n });\r\n }));\r\n };\r\n};\n\nconst removeUserID = (base) => {\r\n return (userID, requestOptions) => {\r\n const mappedRequestOptions = createMappedRequestOptions(requestOptions);\r\n // eslint-disable-next-line functional/immutable-data\r\n mappedRequestOptions.queryParameters['X-Algolia-User-ID'] = userID;\r\n return base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: '1/clusters/mapping',\r\n }, mappedRequestOptions);\r\n };\r\n};\n\nconst replaceDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: true, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst restoreApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const wait = (_, waitRequestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).catch((apiError) => {\r\n if (apiError.status !== 404) {\r\n throw apiError;\r\n }\r\n return retry();\r\n });\r\n });\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/keys/%s/restore', apiKey),\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst saveDictionaryEntries = (base) => {\r\n return (dictionary, entries, requestOptions) => {\r\n const requests = entries.map(entry => ({\r\n action: 'addEntry',\r\n body: entry,\r\n }));\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/batch', dictionary),\r\n data: { clearExistingDictionaryEntries: false, requests },\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst searchDictionaryEntries = (base) => {\r\n return (dictionary, query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('/1/dictionaries/%s/search', dictionary),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchUserIDs = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/clusters/mapping/search',\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setDictionarySettings = (base) => {\r\n return (settings, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: '/1/dictionaries/*/settings',\r\n data: settings,\r\n }, requestOptions), (response, waitRequestOptions) => waitAppTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst updateApiKey = (base) => {\r\n return (apiKey, requestOptions) => {\r\n const updatedFields = Object.assign({}, requestOptions);\r\n const { queryParameters, ...options } = requestOptions || {};\r\n const data = queryParameters ? { queryParameters } : {};\r\n const apiKeyFields = [\r\n 'acl',\r\n 'indexes',\r\n 'referers',\r\n 'restrictSources',\r\n 'queryParameters',\r\n 'description',\r\n 'maxQueriesPerIPPerHour',\r\n 'maxHitsPerQuery',\r\n ];\r\n // Check that all the fields retrieved through getApiKey are the same as the ones we wanted to update\r\n const hasChanged = (getApiKeyResponse) => {\r\n return Object.keys(updatedFields)\r\n .filter((updatedField) => apiKeyFields.indexOf(updatedField) !== -1)\r\n .every(updatedField => {\r\n // If the field is an array, we need to check that they are the same length and that all the values are the same\r\n if (Array.isArray(getApiKeyResponse[updatedField]) &&\r\n Array.isArray(updatedFields[updatedField])) {\r\n const getApiKeyResponseArray = getApiKeyResponse[updatedField];\r\n return (getApiKeyResponseArray.length === updatedFields[updatedField].length &&\r\n getApiKeyResponseArray.every((value, index) => value === updatedFields[updatedField][index]));\r\n }\r\n else {\r\n return getApiKeyResponse[updatedField] === updatedFields[updatedField];\r\n }\r\n });\r\n };\r\n const wait = (_, waitRequestOptions) => createRetryablePromise(retry => {\r\n return getApiKey(base)(apiKey, waitRequestOptions).then(getApiKeyResponse => {\r\n return hasChanged(getApiKeyResponse) ? Promise.resolve() : retry();\r\n });\r\n });\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/keys/%s', apiKey),\r\n data,\r\n }, options), wait);\r\n };\r\n};\n\nconst waitAppTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getAppTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst batch = (base) => {\r\n return (requests, requestOptions) => {\r\n const wait = (response, waitRequestOptions) => {\r\n return waitTask(base)(response.taskID, waitRequestOptions);\r\n };\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/batch', base.indexName),\r\n data: {\r\n requests,\r\n },\r\n }, requestOptions), wait);\r\n };\r\n};\n\nconst browseObjects = (base) => {\r\n return (requestOptions) => {\r\n return createBrowsablePromise({\r\n shouldStop: response => response.cursor === undefined,\r\n ...requestOptions,\r\n request: (data) => base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/browse', base.indexName),\r\n data,\r\n }, requestOptions),\r\n });\r\n };\r\n};\n\nconst browseRules = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchRules(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(rule => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete rule._highlightResult;\r\n return rule;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst browseSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const options = {\r\n hitsPerPage: 1000,\r\n ...requestOptions,\r\n };\r\n return createBrowsablePromise({\r\n shouldStop: response => response.hits.length < options.hitsPerPage,\r\n ...options,\r\n request(data) {\r\n return searchSynonyms(base)('', { ...options, ...data }).then((response) => {\r\n return {\r\n ...response,\r\n hits: response.hits.map(synonym => {\r\n // eslint-disable-next-line functional/immutable-data,no-param-reassign\r\n delete synonym._highlightResult;\r\n return synonym;\r\n }),\r\n };\r\n });\r\n },\r\n });\r\n };\r\n};\n\nconst chunkedBatch = (base) => {\r\n return (bodies, action, requestOptions) => {\r\n const { batchSize, ...options } = requestOptions || {};\r\n const response = {\r\n taskIDs: [],\r\n objectIDs: [],\r\n };\r\n const forEachBatch = (lastIndex = 0) => {\r\n // eslint-disable-next-line functional/prefer-readonly-type\r\n const bodiesChunk = [];\r\n // eslint-disable-next-line functional/no-let\r\n let index;\r\n /* eslint-disable-next-line functional/no-loop-statement */\r\n for (index = lastIndex; index < bodies.length; index++) {\r\n // eslint-disable-next-line functional/immutable-data\r\n bodiesChunk.push(bodies[index]);\r\n if (bodiesChunk.length === (batchSize || 1000)) {\r\n break;\r\n }\r\n }\r\n if (bodiesChunk.length === 0) {\r\n return Promise.resolve(response);\r\n }\r\n return batch(base)(bodiesChunk.map(body => {\r\n return {\r\n action,\r\n body,\r\n };\r\n }), options).then(res => {\r\n response.objectIDs = response.objectIDs.concat(res.objectIDs); // eslint-disable-line functional/immutable-data\r\n response.taskIDs.push(res.taskID); // eslint-disable-line functional/immutable-data\r\n index++;\r\n return forEachBatch(index);\r\n });\r\n };\r\n return createWaitablePromise(forEachBatch(), (chunkedBatchResponse, waitRequestOptions) => {\r\n return Promise.all(chunkedBatchResponse.taskIDs.map(taskID => {\r\n return waitTask(base)(taskID, waitRequestOptions);\r\n }));\r\n });\r\n };\r\n};\n\nconst clearObjects = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/clear', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearRules = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst clearSynonyms = (base) => {\r\n return (requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/clear', base.indexName),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteBy = (base) => {\r\n return (filters, requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/deleteByQuery', base.indexName),\r\n data: filters,\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteIndex = (base) => {\r\n return (requestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s', base.indexName),\r\n }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return createWaitablePromise(deleteObjects(base)([objectID], requestOptions).then(response => {\r\n return { taskID: response.taskIDs[0] };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const objects = objectIDs.map(objectID => {\r\n return { objectID };\r\n });\r\n return chunkedBatch(base)(objects, BatchActionEnum.DeleteObject, requestOptions);\r\n };\r\n};\n\nconst deleteRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst deleteSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Delete,\r\n path: encode('1/indexes/%s/synonyms/%s', base.indexName, objectID),\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst exists = (base) => {\r\n return (requestOptions) => {\r\n return getSettings(base)(requestOptions)\r\n .then(() => true)\r\n .catch(error => {\r\n if (error.status !== 404) {\r\n throw error;\r\n }\r\n return false;\r\n });\r\n };\r\n};\n\nconst findAnswers = (base) => {\r\n return (query, queryLanguages, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/answers/%s/prediction', base.indexName),\r\n data: {\r\n query,\r\n queryLanguages,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst findObject = (base) => {\r\n return (callback, requestOptions) => {\r\n const { query, paginate, ...options } = requestOptions || {};\r\n // eslint-disable-next-line functional/no-let\r\n let page = 0;\r\n const forEachPage = () => {\r\n return search(base)(query || '', { ...options, page }).then(result => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(result.hits)) {\r\n // eslint-disable-next-line promise/no-callback-in-promise\r\n if (callback(hit)) {\r\n return {\r\n object: hit,\r\n position: parseInt(position, 10),\r\n page,\r\n };\r\n }\r\n }\r\n page++;\r\n // paginate if option was set and has next page\r\n if (paginate === false || page >= result.nbPages) {\r\n throw createObjectNotFoundError();\r\n }\r\n return forEachPage();\r\n });\r\n };\r\n return forEachPage();\r\n };\r\n};\n\nconst getObject = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getObjectPosition = () => {\r\n return (searchResponse, objectID) => {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const [position, hit] of Object.entries(searchResponse.hits)) {\r\n if (hit.objectID === objectID) {\r\n return parseInt(position, 10);\r\n }\r\n }\r\n return -1;\r\n };\r\n};\n\nconst getObjects = (base) => {\r\n return (objectIDs, requestOptions) => {\r\n const { attributesToRetrieve, ...options } = requestOptions || {};\r\n const requests = objectIDs.map(objectID => {\r\n return {\r\n indexName: base.indexName,\r\n objectID,\r\n ...(attributesToRetrieve ? { attributesToRetrieve } : {}),\r\n };\r\n });\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: '1/indexes/*/objects',\r\n data: {\r\n requests,\r\n },\r\n }, options);\r\n };\r\n};\n\nconst getRule = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/rules/%s', base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSettings = (base) => {\r\n return (requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: {\r\n getVersion: 2,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst getSynonym = (base) => {\r\n return (objectID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode(`1/indexes/%s/synonyms/%s`, base.indexName, objectID),\r\n }, requestOptions);\r\n };\r\n};\n\nconst getTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Get,\r\n path: encode('1/indexes/%s/task/%s', base.indexName, taskID.toString()),\r\n }, requestOptions);\r\n };\r\n};\n\nconst partialUpdateObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(partialUpdateObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst partialUpdateObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { createIfNotExists, ...options } = requestOptions || {};\r\n const action = createIfNotExists\r\n ? BatchActionEnum.PartialUpdateObject\r\n : BatchActionEnum.PartialUpdateObjectNoCreate;\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst replaceAllObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { safe, autoGenerateObjectIDIfNotExist, batchSize, ...options } = requestOptions || {};\r\n const operation = (from, to, type, operationRequestOptions) => {\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/operation', from),\r\n data: {\r\n operation: type,\r\n destination: to,\r\n },\r\n }, operationRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n const randomSuffix = Math.random()\r\n .toString(36)\r\n .substring(7);\r\n const temporaryIndexName = `${base.indexName}_tmp_${randomSuffix}`;\r\n const saveObjectsInTemporary = saveObjects({\r\n appId: base.appId,\r\n transporter: base.transporter,\r\n indexName: temporaryIndexName,\r\n });\r\n // @ts-ignore\r\n // eslint-disable-next-line prefer-const, functional/no-let, functional/prefer-readonly-type\r\n let responses = [];\r\n const copyWaitablePromise = operation(base.indexName, temporaryIndexName, 'copy', {\r\n ...options,\r\n scope: ['settings', 'synonyms', 'rules'],\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(copyWaitablePromise);\r\n const result = (safe\r\n ? copyWaitablePromise.wait(options)\r\n : copyWaitablePromise)\r\n .then(() => {\r\n const saveObjectsWaitablePromise = saveObjectsInTemporary(objects, {\r\n ...options,\r\n autoGenerateObjectIDIfNotExist,\r\n batchSize,\r\n });\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(saveObjectsWaitablePromise);\r\n return safe ? saveObjectsWaitablePromise.wait(options) : saveObjectsWaitablePromise;\r\n })\r\n .then(() => {\r\n const moveWaitablePromise = operation(temporaryIndexName, base.indexName, 'move', options);\r\n // eslint-disable-next-line functional/immutable-data\r\n responses.push(moveWaitablePromise);\r\n return safe ? moveWaitablePromise.wait(options) : moveWaitablePromise;\r\n })\r\n .then(() => Promise.all(responses))\r\n .then(([copyResponse, saveObjectsResponse, moveResponse]) => {\r\n return {\r\n objectIDs: saveObjectsResponse.objectIDs,\r\n taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID],\r\n };\r\n });\r\n return createWaitablePromise(result, (_, waitRequestOptions) => {\r\n return Promise.all(responses.map(response => response.wait(waitRequestOptions)));\r\n });\r\n };\r\n};\n\nconst replaceAllRules = (base) => {\r\n return (rules, requestOptions) => {\r\n return saveRules(base)(rules, {\r\n ...requestOptions,\r\n clearExistingRules: true,\r\n });\r\n };\r\n};\n\nconst replaceAllSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n return saveSynonyms(base)(synonyms, {\r\n ...requestOptions,\r\n clearExistingSynonyms: true,\r\n });\r\n };\r\n};\n\nconst saveObject = (base) => {\r\n return (object, requestOptions) => {\r\n return createWaitablePromise(saveObjects(base)([object], requestOptions).then(response => {\r\n return {\r\n objectID: response.objectIDs[0],\r\n taskID: response.taskIDs[0],\r\n };\r\n }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveObjects = (base) => {\r\n return (objects, requestOptions) => {\r\n const { autoGenerateObjectIDIfNotExist, ...options } = requestOptions || {};\r\n const action = autoGenerateObjectIDIfNotExist\r\n ? BatchActionEnum.AddObject\r\n : BatchActionEnum.UpdateObject;\r\n if (action === BatchActionEnum.UpdateObject) {\r\n // eslint-disable-next-line functional/no-loop-statement\r\n for (const object of objects) {\r\n if (object.objectID === undefined) {\r\n return createWaitablePromise(Promise.reject(createMissingObjectIDError()));\r\n }\r\n }\r\n }\r\n return chunkedBatch(base)(objects, action, options);\r\n };\r\n};\n\nconst saveRule = (base) => {\r\n return (rule, requestOptions) => {\r\n return saveRules(base)([rule], requestOptions);\r\n };\r\n};\n\nconst saveRules = (base) => {\r\n return (rules, requestOptions) => {\r\n const { forwardToReplicas, clearExistingRules, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (clearExistingRules) {\r\n mappedRequestOptions.queryParameters.clearExistingRules = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/batch', base.indexName),\r\n data: rules,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst saveSynonym = (base) => {\r\n return (synonym, requestOptions) => {\r\n return saveSynonyms(base)([synonym], requestOptions);\r\n };\r\n};\n\nconst saveSynonyms = (base) => {\r\n return (synonyms, requestOptions) => {\r\n const { forwardToReplicas, clearExistingSynonyms, replaceExistingSynonyms, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n if (replaceExistingSynonyms || clearExistingSynonyms) {\r\n mappedRequestOptions.queryParameters.replaceExistingSynonyms = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/batch', base.indexName),\r\n data: synonyms,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst search = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/query', base.indexName),\r\n data: {\r\n query,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchForFacetValues = (base) => {\r\n return (facetName, facetQuery, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/facets/%s/query', base.indexName, facetName),\r\n data: {\r\n facetQuery,\r\n },\r\n cacheable: true,\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchRules = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/rules/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst searchSynonyms = (base) => {\r\n return (query, requestOptions) => {\r\n return base.transporter.read({\r\n method: MethodEnum.Post,\r\n path: encode('1/indexes/%s/synonyms/search', base.indexName),\r\n data: {\r\n query,\r\n },\r\n }, requestOptions);\r\n };\r\n};\n\nconst setSettings = (base) => {\r\n return (settings, requestOptions) => {\r\n const { forwardToReplicas, ...options } = requestOptions || {};\r\n const mappedRequestOptions = createMappedRequestOptions(options);\r\n if (forwardToReplicas) {\r\n mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data\r\n }\r\n return createWaitablePromise(base.transporter.write({\r\n method: MethodEnum.Put,\r\n path: encode('1/indexes/%s/settings', base.indexName),\r\n data: settings,\r\n }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions));\r\n };\r\n};\n\nconst waitTask = (base) => {\r\n return (taskID, requestOptions) => {\r\n return createRetryablePromise(retry => {\r\n return getTask(base)(taskID, requestOptions).then(response => {\r\n return response.status !== 'published' ? retry() : undefined;\r\n });\r\n });\r\n };\r\n};\n\nconst ApiKeyACLEnum = {\r\n AddObject: 'addObject',\r\n Analytics: 'analytics',\r\n Browser: 'browse',\r\n DeleteIndex: 'deleteIndex',\r\n DeleteObject: 'deleteObject',\r\n EditSettings: 'editSettings',\r\n Inference: 'inference',\r\n ListIndexes: 'listIndexes',\r\n Logs: 'logs',\r\n Personalization: 'personalization',\r\n Recommendation: 'recommendation',\r\n Search: 'search',\r\n SeeUnretrievableAttributes: 'seeUnretrievableAttributes',\r\n Settings: 'settings',\r\n Usage: 'usage',\r\n};\n\nconst BatchActionEnum = {\r\n AddObject: 'addObject',\r\n UpdateObject: 'updateObject',\r\n PartialUpdateObject: 'partialUpdateObject',\r\n PartialUpdateObjectNoCreate: 'partialUpdateObjectNoCreate',\r\n DeleteObject: 'deleteObject',\r\n DeleteIndex: 'delete',\r\n ClearIndex: 'clear',\r\n};\n\nconst ScopeEnum = {\r\n Settings: 'settings',\r\n Synonyms: 'synonyms',\r\n Rules: 'rules',\r\n};\n\nconst StrategyEnum = {\r\n None: 'none',\r\n StopIfEnoughMatches: 'stopIfEnoughMatches',\r\n};\n\nconst SynonymEnum = {\r\n Synonym: 'synonym',\r\n OneWaySynonym: 'oneWaySynonym',\r\n AltCorrection1: 'altCorrection1',\r\n AltCorrection2: 'altCorrection2',\r\n Placeholder: 'placeholder',\r\n};\n\nexport { ApiKeyACLEnum, BatchActionEnum, ScopeEnum, StrategyEnum, SynonymEnum, addApiKey, assignUserID, assignUserIDs, batch, browseObjects, browseRules, browseSynonyms, chunkedBatch, clearDictionaryEntries, clearObjects, clearRules, clearSynonyms, copyIndex, copyRules, copySettings, copySynonyms, createBrowsablePromise, createMissingObjectIDError, createObjectNotFoundError, createSearchClient, createValidUntilNotFoundError, customRequest, deleteApiKey, deleteBy, deleteDictionaryEntries, deleteIndex, deleteObject, deleteObjects, deleteRule, deleteSynonym, exists, findAnswers, findObject, generateSecuredApiKey, getApiKey, getAppTask, getDictionarySettings, getLogs, getObject, getObjectPosition, getObjects, getRule, getSecuredApiKeyRemainingValidity, getSettings, getSynonym, getTask, getTopUserIDs, getUserID, hasPendingMappings, initIndex, listApiKeys, listClusters, listIndices, listUserIDs, moveIndex, multipleBatch, multipleGetObjects, multipleQueries, multipleSearchForFacetValues, partialUpdateObject, partialUpdateObjects, removeUserID, replaceAllObjects, replaceAllRules, replaceAllSynonyms, replaceDictionaryEntries, restoreApiKey, saveDictionaryEntries, saveObject, saveObjects, saveRule, saveRules, saveSynonym, saveSynonyms, search, searchDictionaryEntries, searchForFacetValues, searchRules, searchSynonyms, searchUserIDs, setDictionarySettings, setSettings, updateApiKey, waitAppTask, waitTask };\n","function createNullLogger() {\r\n return {\r\n debug(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n info(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n error(_message, _args) {\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nconst LogLevelEnum = {\r\n Debug: 1,\r\n Info: 2,\r\n Error: 3,\r\n};\n\nexport { LogLevelEnum, createNullLogger };\n","import * as http from 'http';\nimport { Agent } from 'http';\nimport * as https from 'https';\nimport { Agent as Agent$1 } from 'https';\nimport { parse } from 'url';\n\n/* eslint functional/prefer-readonly-type: 0 */\r\nconst agentOptions = { keepAlive: true };\r\nconst defaultHttpAgent = new Agent(agentOptions);\r\nconst defaultHttpsAgent = new Agent$1(agentOptions);\r\nfunction createNodeHttpRequester({ agent: userGlobalAgent, httpAgent: userHttpAgent, httpsAgent: userHttpsAgent, requesterOptions = {}, } = {}) {\r\n const httpAgent = userHttpAgent || userGlobalAgent || defaultHttpAgent;\r\n const httpsAgent = userHttpsAgent || userGlobalAgent || defaultHttpsAgent;\r\n return {\r\n send(request) {\r\n return new Promise(resolve => {\r\n const url = parse(request.url);\r\n const path = url.query === null ? url.pathname : `${url.pathname}?${url.query}`;\r\n const options = {\r\n ...requesterOptions,\r\n agent: url.protocol === 'https:' ? httpsAgent : httpAgent,\r\n hostname: url.hostname,\r\n path,\r\n method: request.method,\r\n headers: {\r\n ...(requesterOptions && requesterOptions.headers ? requesterOptions.headers : {}),\r\n ...request.headers,\r\n },\r\n ...(url.port !== undefined ? { port: url.port || '' } : {}),\r\n };\r\n const req = (url.protocol === 'https:' ? https : http).request(options, response => {\r\n // eslint-disable-next-line functional/no-let\r\n let contentBuffers = [];\r\n response.on('data', chunk => {\r\n contentBuffers = contentBuffers.concat(chunk);\r\n });\r\n response.on('end', () => {\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(connectTimeout);\r\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\r\n clearTimeout(responseTimeout);\r\n resolve({\r\n status: response.statusCode || 0,\r\n content: Buffer.concat(contentBuffers).toString(),\r\n isTimedOut: false,\r\n });\r\n });\r\n });\r\n const createTimeout = (timeout, content) => {\r\n return setTimeout(() => {\r\n req.abort();\r\n resolve({\r\n status: 0,\r\n content,\r\n isTimedOut: true,\r\n });\r\n }, timeout * 1000);\r\n };\r\n const connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout');\r\n // eslint-disable-next-line functional/no-let\r\n let responseTimeout;\r\n req.on('error', error => {\r\n clearTimeout(connectTimeout);\r\n clearTimeout(responseTimeout);\r\n resolve({ status: 0, content: error.message, isTimedOut: false });\r\n });\r\n req.once('response', () => {\r\n clearTimeout(connectTimeout);\r\n responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout');\r\n });\r\n if (request.data !== undefined) {\r\n req.write(request.data);\r\n }\r\n req.end();\r\n });\r\n },\r\n destroy() {\r\n httpAgent.destroy();\r\n httpsAgent.destroy();\r\n return Promise.resolve();\r\n },\r\n };\r\n}\n\nexport { createNodeHttpRequester };\n","'use strict';\n\nvar cacheCommon = require('@algolia/cache-common');\nvar cacheInMemory = require('@algolia/cache-in-memory');\nvar clientAnalytics = require('@algolia/client-analytics');\nvar clientCommon = require('@algolia/client-common');\nvar clientPersonalization = require('@algolia/client-personalization');\nvar clientSearch = require('@algolia/client-search');\nvar loggerCommon = require('@algolia/logger-common');\nvar requesterNodeHttp = require('@algolia/requester-node-http');\nvar transporter = require('@algolia/transporter');\n\nfunction algoliasearch(appId, apiKey, options) {\r\n const commonOptions = {\r\n appId,\r\n apiKey,\r\n timeouts: {\r\n connect: 2,\r\n read: 5,\r\n write: 30,\r\n },\r\n requester: requesterNodeHttp.createNodeHttpRequester(),\r\n logger: loggerCommon.createNullLogger(),\r\n responsesCache: cacheCommon.createNullCache(),\r\n requestsCache: cacheCommon.createNullCache(),\r\n hostsCache: cacheInMemory.createInMemoryCache(),\r\n userAgent: transporter.createUserAgent(clientCommon.version).add({\r\n segment: 'Node.js',\r\n version: process.versions.node,\r\n }),\r\n };\r\n const searchClientOptions = { ...commonOptions, ...options };\r\n const initPersonalization = () => (clientOptions) => {\r\n return clientPersonalization.createPersonalizationClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n getPersonalizationStrategy: clientPersonalization.getPersonalizationStrategy,\r\n setPersonalizationStrategy: clientPersonalization.setPersonalizationStrategy,\r\n },\r\n });\r\n };\r\n return clientSearch.createSearchClient({\r\n ...searchClientOptions,\r\n methods: {\r\n search: clientSearch.multipleQueries,\r\n searchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n multipleBatch: clientSearch.multipleBatch,\r\n multipleGetObjects: clientSearch.multipleGetObjects,\r\n multipleQueries: clientSearch.multipleQueries,\r\n copyIndex: clientSearch.copyIndex,\r\n copySettings: clientSearch.copySettings,\r\n copyRules: clientSearch.copyRules,\r\n copySynonyms: clientSearch.copySynonyms,\r\n moveIndex: clientSearch.moveIndex,\r\n listIndices: clientSearch.listIndices,\r\n getLogs: clientSearch.getLogs,\r\n listClusters: clientSearch.listClusters,\r\n multipleSearchForFacetValues: clientSearch.multipleSearchForFacetValues,\r\n getApiKey: clientSearch.getApiKey,\r\n addApiKey: clientSearch.addApiKey,\r\n listApiKeys: clientSearch.listApiKeys,\r\n updateApiKey: clientSearch.updateApiKey,\r\n deleteApiKey: clientSearch.deleteApiKey,\r\n restoreApiKey: clientSearch.restoreApiKey,\r\n assignUserID: clientSearch.assignUserID,\r\n assignUserIDs: clientSearch.assignUserIDs,\r\n getUserID: clientSearch.getUserID,\r\n searchUserIDs: clientSearch.searchUserIDs,\r\n listUserIDs: clientSearch.listUserIDs,\r\n getTopUserIDs: clientSearch.getTopUserIDs,\r\n removeUserID: clientSearch.removeUserID,\r\n hasPendingMappings: clientSearch.hasPendingMappings,\r\n generateSecuredApiKey: clientSearch.generateSecuredApiKey,\r\n getSecuredApiKeyRemainingValidity: clientSearch.getSecuredApiKeyRemainingValidity,\r\n destroy: clientCommon.destroy,\r\n clearDictionaryEntries: clientSearch.clearDictionaryEntries,\r\n deleteDictionaryEntries: clientSearch.deleteDictionaryEntries,\r\n getDictionarySettings: clientSearch.getDictionarySettings,\r\n getAppTask: clientSearch.getAppTask,\r\n replaceDictionaryEntries: clientSearch.replaceDictionaryEntries,\r\n saveDictionaryEntries: clientSearch.saveDictionaryEntries,\r\n searchDictionaryEntries: clientSearch.searchDictionaryEntries,\r\n setDictionarySettings: clientSearch.setDictionarySettings,\r\n waitAppTask: clientSearch.waitAppTask,\r\n customRequest: clientSearch.customRequest,\r\n initIndex: base => (indexName) => {\r\n return clientSearch.initIndex(base)(indexName, {\r\n methods: {\r\n batch: clientSearch.batch,\r\n delete: clientSearch.deleteIndex,\r\n findAnswers: clientSearch.findAnswers,\r\n getObject: clientSearch.getObject,\r\n getObjects: clientSearch.getObjects,\r\n saveObject: clientSearch.saveObject,\r\n saveObjects: clientSearch.saveObjects,\r\n search: clientSearch.search,\r\n searchForFacetValues: clientSearch.searchForFacetValues,\r\n waitTask: clientSearch.waitTask,\r\n setSettings: clientSearch.setSettings,\r\n getSettings: clientSearch.getSettings,\r\n partialUpdateObject: clientSearch.partialUpdateObject,\r\n partialUpdateObjects: clientSearch.partialUpdateObjects,\r\n deleteObject: clientSearch.deleteObject,\r\n deleteObjects: clientSearch.deleteObjects,\r\n deleteBy: clientSearch.deleteBy,\r\n clearObjects: clientSearch.clearObjects,\r\n browseObjects: clientSearch.browseObjects,\r\n getObjectPosition: clientSearch.getObjectPosition,\r\n findObject: clientSearch.findObject,\r\n exists: clientSearch.exists,\r\n saveSynonym: clientSearch.saveSynonym,\r\n saveSynonyms: clientSearch.saveSynonyms,\r\n getSynonym: clientSearch.getSynonym,\r\n searchSynonyms: clientSearch.searchSynonyms,\r\n browseSynonyms: clientSearch.browseSynonyms,\r\n deleteSynonym: clientSearch.deleteSynonym,\r\n clearSynonyms: clientSearch.clearSynonyms,\r\n replaceAllObjects: clientSearch.replaceAllObjects,\r\n replaceAllSynonyms: clientSearch.replaceAllSynonyms,\r\n searchRules: clientSearch.searchRules,\r\n getRule: clientSearch.getRule,\r\n deleteRule: clientSearch.deleteRule,\r\n saveRule: clientSearch.saveRule,\r\n saveRules: clientSearch.saveRules,\r\n replaceAllRules: clientSearch.replaceAllRules,\r\n browseRules: clientSearch.browseRules,\r\n clearRules: clientSearch.clearRules,\r\n },\r\n });\r\n },\r\n initAnalytics: () => (clientOptions) => {\r\n return clientAnalytics.createAnalyticsClient({\r\n ...commonOptions,\r\n ...clientOptions,\r\n methods: {\r\n addABTest: clientAnalytics.addABTest,\r\n getABTest: clientAnalytics.getABTest,\r\n getABTests: clientAnalytics.getABTests,\r\n stopABTest: clientAnalytics.stopABTest,\r\n deleteABTest: clientAnalytics.deleteABTest,\r\n },\r\n });\r\n },\r\n initPersonalization,\r\n initRecommendation: () => (clientOptions) => {\r\n searchClientOptions.logger.info('The `initRecommendation` method is deprecated. Use `initPersonalization` instead.');\r\n return initPersonalization()(clientOptions);\r\n },\r\n },\r\n });\r\n}\r\n// eslint-disable-next-line functional/immutable-data\r\nalgoliasearch.version = clientCommon.version;\n\nmodule.exports = algoliasearch;\n","/* eslint-disable functional/immutable-data, import/no-commonjs */\nconst algoliasearch = require('./dist/algoliasearch.cjs.js');\n\n/**\n * The Common JS build is the default entry point for the Node environment. Keep in\n * in mind, that for the browser environment, we hint the bundler to use the UMD\n * build instead as specified on the key `browser` of our `package.json` file.\n */\nmodule.exports = algoliasearch;\n\n/**\n * In addition, we also set explicitly the default export below making\n * this Common JS module in compliance with es6 modules specification.\n */\nmodule.exports.default = algoliasearch;\n","// eslint-disable-next-line functional/immutable-data, import/no-commonjs\nmodule.exports = require('./index');\n","import { Box } from '@vtex/brand-ui'\r\nimport { MDXRemote } from 'next-mdx-remote'\r\nimport { MarkdownRendererProps } from './MarkdownRenderer.types'\r\nimport components from './components'\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst MDXRemote2 = MDXRemote as any\r\n\r\nconst MarkdownRenderer = ({\r\n serialized,\r\n customComponents,\r\n scope,\r\n}: MarkdownRendererProps) => {\r\n if (components && scope) {\r\n return (\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default MarkdownRenderer\r\n","/* eslint-disable @typescript-eslint/no-unused-vars */\r\nimport { useContext, useEffect, useRef, useState } from 'react'\r\nimport { Box, Flex } from '@vtex/brand-ui'\r\nimport {\r\n ReactSVGPanZoom,\r\n UncontrolledReactSVGPanZoom,\r\n} from 'react-svg-pan-zoom'\r\nimport mermaid from 'mermaid'\r\nimport parse from 'html-react-parser'\r\nimport { InView } from 'react-intersection-observer'\r\n\r\nimport { CH } from '@code-hike/mdx/components'\r\nimport OverviewCard from 'components/overview-card'\r\nimport YoutubeFrame from 'components/youtube-frame'\r\nimport Steps from 'components/steps'\r\nimport LightBox from 'components/lightbox'\r\nimport WhatsNextCard from 'components/whats-next-card'\r\n\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { childrenToString, slugify } from 'utils/string-utils'\r\nimport mermaidInit from 'utils/mermaidInit'\r\n\r\nimport { Component, ObservableHeadingProps } from './MarkdownRenderer.types'\r\nimport styles from './styles.module.css'\r\nimport { messages } from 'utils/get-message'\r\n\r\nmermaidInit()\r\n\r\nconst ObservableHeading = ({\r\n level,\r\n onEnterView,\r\n onLeaveView,\r\n ...headingProps\r\n}: ObservableHeadingProps) => {\r\n const [y, setY] = useState(Infinity)\r\n const toSlugify = childrenToString(headingProps.children)\r\n const slug = slugify(toSlugify)\r\n return (\r\n {\r\n if (inView) onEnterView(slug)\r\n else onLeaveView(slug, entry, y)\r\n\r\n setY(entry.boundingClientRect.y)\r\n }}\r\n >\r\n {level === 2 ? (\r\n

\r\n ) : (\r\n

\r\n )}\r\n \r\n )\r\n}\r\n\r\nconst Callout = ({ node, icon, ...props }: Component) => {\r\n const blockquoteType: string = icon ? icon : 'info'\r\n return (\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nconst MermaidDiagram = ({ node, ...props }: Component) => {\r\n const viewerRef = useRef(null)\r\n const ref = useRef()\r\n\r\n const [diagram, setDiagram] = useState('')\r\n const [width, setWidth] = useState(0)\r\n const [height, setHeight] = useState(0)\r\n\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(() => {\r\n if (!ref.current) return\r\n setWidth(ref.current?.clientWidth ?? 0)\r\n setHeight(ref.current?.clientWidth / 2 ?? 0)\r\n })\r\n\r\n const mermaidRenderer = async function () {\r\n const { svg } = await mermaid.render('mermaid-id', props.children)\r\n setDiagram(\r\n svg.replace('id=\"mermaid-id\"', '').replaceAll('#mermaid-id', '')\r\n )\r\n }\r\n\r\n mermaidRenderer()\r\n if (ref.current) resizeObserver.observe(ref.current)\r\n }, [])\r\n\r\n return (\r\n \r\n \r\n \r\n {parse(diagram)}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst ImageComponent = ({ node, ...props }: Component) => {\r\n const [srcHasError, setSrcHasError] = useState(false)\r\n const { locale } = useContext(LibraryContext)\r\n const regularImg = (\r\n // eslint-disable-next-line @next/next/no-img-element\r\n {props.alt} setSrcHasError(true)} />\r\n )\r\n const errorMessage = (\r\n
\r\n {messages[locale]['image.error_loading']} {props.src}\r\n
\r\n )\r\n\r\n let data: { base64: string; img: object } = { base64: '', img: {} }\r\n try {\r\n data = JSON.parse(props.alt)\r\n } catch (error) {\r\n console.log(`Error parsing`, error)\r\n return errorMessage\r\n }\r\n return !srcHasError ? {regularImg} : errorMessage\r\n}\r\n\r\nexport default {\r\n CH,\r\n OverviewCard,\r\n WhatsNextCard,\r\n YoutubeFrame,\r\n Steps,\r\n Flex: ({ node, ...props }: Component) => (\r\n \r\n ),\r\n table: ({ node, ...props }: Component) => ,\r\n td: ({ node, ...props }: Component) =>
,\r\n img: ImageComponent,\r\n text: ({ node, ...props }: Component) => {\r\n return \r\n },\r\n blockquote: ({ ...props }: Component) => {\r\n return \r\n },\r\n code: ({ node, ...props }: Component) => {\r\n return \r\n },\r\n pre: ({ ...props }: Component) => {\r\n if (props.className && props.className === 'mermaid')\r\n return \r\n\r\n return
\r\n  },\r\n  h2: ({ node, ...props }: Component) => {\r\n    const { activeItem, setActiveItem, goToPreviousItem } =\r\n      useContext(LibraryContext)\r\n\r\n    return (\r\n       {\r\n          setActiveItem(({ item, subItem }) => ({\r\n            item: slug,\r\n            subItem: item !== slug ? '' : subItem,\r\n          }))\r\n        }}\r\n        onLeaveView={(slug, entry, y) => {\r\n          if (entry.boundingClientRect.y > y && activeItem.item === slug) {\r\n            goToPreviousItem()\r\n          }\r\n        }}\r\n        {...props}\r\n      />\r\n    )\r\n  },\r\n  h3: ({ node, ...props }: Component) => {\r\n    const { activeItem, setActiveItem, goToPreviousSubItem } =\r\n      useContext(LibraryContext)\r\n\r\n    return (\r\n       {\r\n          setActiveItem(({ item }) => ({\r\n            item,\r\n            subItem: slug,\r\n          }))\r\n        }}\r\n        onLeaveView={(slug, entry, y) => {\r\n          if (entry.boundingClientRect.y > y && activeItem.subItem === slug) {\r\n            goToPreviousSubItem()\r\n          }\r\n        }}\r\n        {...props}\r\n      />\r\n    )\r\n  },\r\n}\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst overviewCard: SxStyleProp = {\r\n  alignItems: 'flex-start',\r\n  margin: '20px 0px',\r\n  border: '1px solid #E7E9EE',\r\n  borderRadius: '4px',\r\n  padding: '18px 24px 4px',\r\n  color: '#4A596B',\r\n  ':active, :hover': {\r\n    borderColor: 'muted.2',\r\n    boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n    transition: 'all 0.3 ease-out',\r\n    '*':{\r\n      color: '#000711',\r\n    }\r\n  },\r\n  ul: {\r\n    borderLeft: '1px rgb(202, 203, 204) solid',\r\n    fontSize: '0.9em',\r\n    mt: '0',\r\n    paddingLeft: '1.5em',\r\n    listStyleType: 'none',\r\n    display: 'block',\r\n    textDecoration: 'none',\r\n  },\r\n  'h3, h4': {\r\n    color: '#4A596B',\r\n    fontSize: '1.125em',\r\n    fontWeight: '400',\r\n    my: '0',\r\n  },\r\n}\r\n\r\nconst overviewIcon: SxStyleProp = {\r\n  marginRight: '1.25em',\r\n  marginTop: '0.375em',\r\n}\r\n\r\nexport default {\r\n  overviewCard,\r\n  overviewIcon,\r\n}\r\n","import styles from './styles'\r\nimport { Flex, Box } from '@vtex/brand-ui'\r\nimport * as Icons from './icons'\r\nimport { IconComponent } from 'utils/typings/types'\r\nimport Link from 'next/link.js'\r\n\r\ninterface IconsI {\r\n  name: string\r\n  Icon: IconComponent\r\n}\r\n\r\nconst IconsMap: IconsI[] = [\r\n  {\r\n    name: 'StorageUnit',\r\n    Icon: Icons.StorageUnit,\r\n  },\r\n  {\r\n    name: 'Board',\r\n    Icon: Icons.Board,\r\n  },\r\n  {\r\n    name: 'Integration',\r\n    Icon: Icons.Integration,\r\n  },\r\n  {\r\n    name: 'SearchList',\r\n    Icon: Icons.SearchList,\r\n  },\r\n  {\r\n    name: 'SearchDetails',\r\n    Icon: Icons.SearchDetails,\r\n  },\r\n  {\r\n    name: 'SwitchArrows',\r\n    Icon: Icons.SwitchArrows,\r\n  },\r\n  {\r\n    name: 'ChangeCart',\r\n    Icon: Icons.ChangeCart,\r\n  },\r\n  {\r\n    name: 'ToStore',\r\n    Icon: Icons.ToStore,\r\n  },\r\n  {\r\n    name: 'PaymentHand',\r\n    Icon: Icons.PaymentHand,\r\n  },\r\n  {\r\n    name: 'GlobeCart',\r\n    Icon: Icons.GlobeCart,\r\n  },\r\n  {\r\n    name: 'StoreCart',\r\n    Icon: Icons.StoreCart,\r\n  },\r\n  {\r\n    name: 'List',\r\n    Icon: Icons.List,\r\n  },\r\n  {\r\n    name: 'Blocks',\r\n    Icon: Icons.Blocks,\r\n  },\r\n  {\r\n    name: 'StoreData',\r\n    Icon: Icons.StoreData,\r\n  },\r\n  {\r\n    name: 'Cart',\r\n    Icon: Icons.Cart,\r\n  },\r\n  {\r\n    name: 'FileConfiguration',\r\n    Icon: Icons.FileConfiguration,\r\n  },\r\n  {\r\n    name: 'Platform',\r\n    Icon: Icons.Platform,\r\n  },\r\n  {\r\n    name: 'RestApis',\r\n    Icon: Icons.RestApis,\r\n  },\r\n  {\r\n    name: 'Catalog',\r\n    Icon: Icons.Catalog,\r\n  },\r\n  {\r\n    name: 'Orders',\r\n    Icon: Icons.Orders,\r\n  },\r\n  {\r\n    name: 'Checkout',\r\n    Icon: Icons.Checkout,\r\n  },\r\n  {\r\n    name: 'Payments',\r\n    Icon: Icons.Payments,\r\n  },\r\n  {\r\n    name: 'Promotions',\r\n    Icon: Icons.Promotions,\r\n  },\r\n  {\r\n    name: 'Pricing',\r\n    Icon: Icons.Pricing,\r\n  },\r\n  {\r\n    name: 'AccountManagement',\r\n    Icon: Icons.AccountManagement,\r\n  },\r\n  {\r\n    name: 'StoreSearch',\r\n    Icon: Icons.StoreSearch,\r\n  },\r\n  {\r\n    name: 'Subscriptions',\r\n    Icon: Icons.Subscriptions,\r\n  },\r\n  {\r\n    name: 'Fulfillment',\r\n    Icon: Icons.Fulfillment,\r\n  },\r\n]\r\n\r\nconst getIcon = (name: string) => {\r\n  return IconsMap.find((icon) => icon.name === name)?.Icon\r\n}\r\n\r\n//Interfaces\r\nexport interface OverviewCardProps {\r\n  icon: string\r\n  link: string\r\n  children: string\r\n}\r\n\r\nconst OverviewCard = ({ icon, link, children }: OverviewCardProps) => {\r\n  const Icon = getIcon(icon)\r\n  return (\r\n    \r\n      \r\n        {Icon && }\r\n        {children}\r\n      \r\n    \r\n  )\r\n}\r\n\r\nexport default OverviewCard\r\n","import React from 'react'\r\nimport type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst StorageUnit = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Board = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Composable = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Integration = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst SearchList = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst SwitchArrows = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst SearchDetails = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst List = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst StoreCart = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst GlobeCart = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst PaymentHand = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst ToStore = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\nconst ChangeCart = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst Blocks = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    \r\n      {' '}\r\n      {' '}\r\n      {' '}\r\n      {' '}\r\n      {' '}\r\n    \r\n  \r\n)\r\nconst StoreData = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\nconst FileConfiguration = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\nconst Cart = (props: IconProps) => (\r\n  \r\n    \r\n    \r\n    \r\n    \r\n  \r\n)\r\n\r\nconst Platform = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst RestApis = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Catalog = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Orders = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Checkout = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Payments = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Promotions = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst Pricing = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst AccountManagement = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\n\r\nconst StoreSearch = (props: IconProps) => (\r\n  \r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    {' '}\r\n    \r\n  \r\n)\r\nconst Subscriptions = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nconst Fulfillment = (props: IconProps) => (\r\n  \r\n    \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n      \r\n    \r\n  \r\n)\r\n\r\nexport {\r\n  StorageUnit,\r\n  Board,\r\n  Composable,\r\n  Integration,\r\n  SearchList,\r\n  SwitchArrows,\r\n  SearchDetails,\r\n  ChangeCart,\r\n  ToStore,\r\n  PaymentHand,\r\n  GlobeCart,\r\n  StoreCart,\r\n  List,\r\n  Blocks,\r\n  StoreData,\r\n  FileConfiguration,\r\n  Cart,\r\n  Platform,\r\n  RestApis,\r\n  Catalog,\r\n  Orders,\r\n  Checkout,\r\n  Payments,\r\n  Promotions,\r\n  Pricing,\r\n  AccountManagement,\r\n  StoreSearch,\r\n  Subscriptions,\r\n  Fulfillment,\r\n}\r\n","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\n\r\nexport interface IYoutubeFrame {\r\n  embedId: string\r\n}\r\nconst YoutubeFrame = ({ embedId }: IYoutubeFrame) => (\r\n  
\r\n \r\n
\r\n)\r\n\r\nYoutubeFrame.propTypes = {\r\n embedId: PropTypes.string.isRequired,\r\n}\r\n\r\nexport default YoutubeFrame\r\n","import React from 'react'\r\nimport { Box } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nexport interface StepsProps {\r\n children: string\r\n}\r\nconst Steps = ({ children }: StepsProps) => {\r\n return {children}\r\n}\r\nexport default Steps\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst steps: SxStyleProp = {\r\n ml: '4px',\r\n mt: '12px',\r\n mb: '27px',\r\n borderLeft: '1px solid #e5e7eb',\r\n pl: '25px',\r\n position: 'relative',\r\n '.heading': {\r\n counterIncrement: `step`,\r\n },\r\n '.heading:before': {\r\n content: `counter(step)`,\r\n position: 'absolute',\r\n border: '4px solid #ffffff',\r\n width: '2em',\r\n height: '2em',\r\n left: '-1.3em',\r\n color: '#a1a1aa',\r\n backgroundColor: '#f2f3f6',\r\n borderRadius: '9999px',\r\n fontSize: '1em',\r\n textAlign: 'center',\r\n lineHeight: '2.1em',\r\n boxSizing: 'content-box',\r\n },\r\n}\r\n\r\nexport default {\r\n steps,\r\n}\r\n","import React, { ReactElement, useEffect, useRef, useState } from 'react'\r\nimport { Box, Button, Flex } from '@vtex/brand-ui'\r\nimport CloseIcon from 'components/icons/close-icon'\r\nimport useClickOutside from 'utils/hooks/useClickOutside'\r\nimport styles from './styles'\r\n\r\ninterface Props {\r\n children: ReactElement\r\n}\r\n\r\nexport default function LightBox({ children }: Props) {\r\n const [isModalOpen, setIsModalOpen] = useState(false)\r\n const modalRef = useRef()\r\n\r\n useEffect(() => {\r\n if (isModalOpen) {\r\n const scrollTop = document.body.getBoundingClientRect().top\r\n document.body.style.top = `${scrollTop}px`\r\n document.body.classList.add('modal-open')\r\n } else {\r\n document.body.classList.remove('modal-open')\r\n document.body.style.removeProperty('top')\r\n }\r\n }, [isModalOpen])\r\n\r\n useClickOutside(modalRef, () => setIsModalOpen(false))\r\n\r\n return (\r\n
\r\n {isModalOpen && (\r\n \r\n }\r\n onClick={() => setIsModalOpen(false)}\r\n />\r\n \r\n {children}\r\n \r\n \r\n )}\r\n setIsModalOpen(true)}>\r\n {children}\r\n \r\n
\r\n )\r\n}\r\n","import React from 'react'\r\nimport type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CloseIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CloseIcon\r\n","import { useEffect, MutableRefObject, SetStateAction, Dispatch } from 'react'\r\n\r\nexport default function useClickOutside(\r\n ref: MutableRefObject,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n openModal: Dispatch>\r\n) {\r\n useEffect(() => {\r\n function handleClickOutside(event: MouseEvent) {\r\n const { body, documentElement } = document\r\n if (\r\n ref.current &&\r\n event.target instanceof Node &&\r\n !ref.current.contains(event.target)\r\n ) {\r\n openModal({ modalToggle: false })\r\n const scrollTop = body.getBoundingClientRect().top * -1\r\n body.classList.remove('modal-open')\r\n documentElement.scrollTop = scrollTop\r\n body.style.removeProperty('top')\r\n }\r\n }\r\n document.addEventListener('mousedown', handleClickOutside)\r\n return () => {\r\n document.removeEventListener('mousedown', handleClickOutside)\r\n }\r\n }, [])\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst imageContainer: SxStyleProp = {\r\n cursor: 'pointer',\r\n borderRadius: '5px',\r\n width: 'fit-content',\r\n mt: '16px',\r\n mb: '24px',\r\n transition: '0.3s',\r\n ':hover': {\r\n boxShadow: '2px 4px 8px 2px rgb(0 0 0 / 10%)',\r\n },\r\n\r\n '> img': {\r\n maxWidth: '100%',\r\n display: 'block',\r\n padding: '0',\r\n margin: '0',\r\n border: '1px solid #e7e9ed',\r\n borderRadius: '4px'\r\n },\r\n}\r\n\r\nconst container: SxStyleProp = {\r\n margin: '0',\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: 'rgba(0,0,0,0.9)',\r\n position: 'fixed',\r\n top: '0',\r\n left: '0',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n zIndex: '10000',\r\n}\r\n\r\nconst modal: SxStyleProp = {\r\n display: 'inline-block',\r\n margin: 'auto',\r\n boxShadow: '2px 4px 16px rgb(0 0 0 / 30%)',\r\n position: 'relative',\r\n zIndex: '10001',\r\n padding: '0',\r\n\r\n '> img': {\r\n display: 'block',\r\n maxHeight: 'calc(100vh - 50px)',\r\n maxWidth: 'calc(100vw - 50px)',\r\n width: 'auto',\r\n margin: '0',\r\n padding: '0',\r\n },\r\n}\r\n\r\nconst closeButton: SxStyleProp = {\r\n position: 'absolute',\r\n zIndex: '10002',\r\n top: '10px',\r\n right: '10px',\r\n color: '#FEFEFE',\r\n\r\n ':hover': {\r\n color: 'rgb(100, 100, 100)',\r\n },\r\n}\r\n\r\nexport default {\r\n imageContainer,\r\n container,\r\n modal,\r\n closeButton,\r\n}\r\n","import React from 'react'\r\nimport { Box, Flex, IconCaret, Text, Link } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\nimport Image from 'next/image.js'\r\n\r\nexport type WhatsNextDataElement = {\r\n title: string\r\n description?: string\r\n linkTitle?: string\r\n linkTo: string\r\n image?: string\r\n}\r\n\r\nconst WhatsNextCard = ({\r\n title,\r\n description,\r\n linkTitle,\r\n linkTo,\r\n image,\r\n}: WhatsNextDataElement) => {\r\n return (\r\n \r\n {image ? (\r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n ) : (\r\n \r\n \r\n {title}\r\n \r\n {description && (\r\n \r\n {description}\r\n \r\n )}\r\n {linkTitle && (\r\n \r\n \r\n {linkTitle}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default WhatsNextCard\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n mt: '16px',\r\n borderRadius: '4px',\r\n border: '1px solid #E7E9EE',\r\n width: ['100%', '49%'],\r\n transition: 'all 0.3s ease-out',\r\n ':hover': {\r\n cursor: 'pointer',\r\n },\r\n ':active, :hover': {\r\n borderColor: 'muted.2',\r\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n transition: 'all 0.3 ease-out',\r\n '.title, .description': {\r\n transition: 'all 0.3s ease-out',\r\n color: '#000711',\r\n },\r\n '.link, .caret': {\r\n transition: 'all 0.3s ease-out',\r\n color: 'muted.0',\r\n },\r\n },\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n mb: '8px',\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n lineHeight: ['22px', '18px'],\r\n color: 'muted.0',\r\n}\r\n\r\nconst imageTitle: SxStyleProp = {\r\n padding: '16px',\r\n fontSize: '16px',\r\n fontWeight: '400',\r\n color: 'muted.0',\r\n ':after': {\r\n content: `url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='rgb(74 89 108)' %3E%3Cpath fill-rule='evenodd' d='M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z' clip-rule='evenodd' /%3E%3C/svg%3E\")`,\r\n position: 'absolute',\r\n height: '16px',\r\n width: '16px',\r\n marginLeft: '3px',\r\n lineHeight: '30px',\r\n },\r\n}\r\n\r\nconst description: SxStyleProp = {\r\n fontSize: '14px',\r\n fontWeight: '400',\r\n lineHeight: '20px',\r\n color: 'muted.0',\r\n}\r\n\r\nconst linkContainer: SxStyleProp = {\r\n mt: '8px',\r\n alignItems: 'center',\r\n}\r\n\r\nconst link: SxStyleProp = {\r\n ...description,\r\n color: 'muted.1',\r\n}\r\n\r\nexport default {\r\n container,\r\n title,\r\n imageTitle,\r\n description,\r\n linkContainer,\r\n link,\r\n}","import type { Dispatch, ReactNode, SetStateAction } from 'react'\r\nimport { createContext, useEffect, useState } from 'react'\r\nimport { Item } from 'lib/table-of-contents/TableOfContents.types'\r\nimport { Section } from 'utils/typings/types'\r\nimport { SWRConfig } from 'swr'\r\n\r\ninterface Props extends Partial {\r\n children: ReactNode\r\n /** The navigation array containing the list of documentations shown in the sidebar. */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n fallback?: any\r\n /** Documentation sections, the same sections that divide the fallback. */\r\n sections: Section[][]\r\n /** Whether is a branch preview or not. */\r\n isPreview: boolean\r\n /** The section currently selected. */\r\n sectionSelected: string\r\n /** The sections to be used on the hamburguer menu */\r\n hamburguerMenuSections: Section[][]\r\n /** The portal language. The default is english. */\r\n locale?: 'en' | 'pt' | 'es'\r\n}\r\n\r\nexport type ContextType = {\r\n headingItems: Item[]\r\n setHeadingItems: Dispatch>\r\n activeItem: ActiveItem\r\n setActiveItem: Dispatch>\r\n goToPreviousItem: () => void\r\n goToPreviousSubItem: () => void\r\n isEditorPreview: boolean\r\n sidebarSectionHidden: boolean\r\n activeSectionName: string\r\n activeSidebarElement: string\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sidebarDataMaster: any\r\n sidebarElementStatus: Map\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setSidebarDataMaster: Dispatch>\r\n setIsEditorPreview: Dispatch>\r\n setSidebarSectionHidden: Dispatch>\r\n setActiveSectionName: Dispatch>\r\n setActiveSidebarElement: Dispatch>\r\n toggleSidebarElementStatus: (title: string) => void\r\n openSidebarElement: (title: string) => void\r\n closeSidebarElements: (parentsArray: string[]) => void\r\n sidebarSections: Section[][]\r\n setSidebarSections: Dispatch>\r\n hamburguerSections: Section[][]\r\n setHamburguerSections: Dispatch>\r\n locale: 'en' | 'pt' | 'es'\r\n}\r\n\r\ntype ActiveItem = {\r\n item: string\r\n subItem: string\r\n}\r\n\r\nexport const LibraryContext = createContext({\r\n headingItems: [],\r\n setHeadingItems: () => undefined,\r\n activeItem: {\r\n item: '',\r\n subItem: '',\r\n },\r\n setActiveItem: () => undefined,\r\n goToPreviousItem: () => undefined,\r\n goToPreviousSubItem: () => undefined,\r\n isEditorPreview: false,\r\n sidebarSectionHidden: false,\r\n activeSectionName: '',\r\n activeSidebarElement: '',\r\n sidebarDataMaster: {},\r\n setIsEditorPreview: () => undefined,\r\n sidebarElementStatus: new Map(),\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n setSidebarDataMaster: (_: any) => undefined,\r\n setSidebarSectionHidden: () => undefined,\r\n setActiveSectionName: () => undefined,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any\r\n setActiveSidebarElement: (_: any) => undefined,\r\n toggleSidebarElementStatus: () => undefined,\r\n openSidebarElement: () => undefined,\r\n closeSidebarElements: () => undefined,\r\n sidebarSections: [],\r\n setSidebarSections: () => undefined,\r\n hamburguerSections: [],\r\n setHamburguerSections: () => undefined,\r\n locale: 'en',\r\n})\r\n\r\n/** Provider for the LibraryContext created with React.createContext. The context is used in the following components: feedback, search, sidebar, hamburger menu, markdown renderer and table of contents. */\r\nconst LibraryContextProvider = ({ children, ...props }: Props) => {\r\n const [headingItems, setHeadingItems] = useState([])\r\n const [activeItem, setActiveItem] = useState({\r\n item: '',\r\n subItem: '',\r\n })\r\n\r\n const [activeSectionName, setActiveSectionName] = useState(\r\n props.sectionSelected\r\n )\r\n const [sidebarSectionHidden, setSidebarSectionHidden] = useState(false)\r\n const [activeSidebarElement, setActiveSidebarElement] = useState('')\r\n const [sidebarElementStatus, setSidebarElementStatus] = useState(new Map())\r\n const [sidebarDataMaster, setSidebarDataMaster] = useState(props.fallback)\r\n const [isEditorPreview, setIsEditorPreview] = useState(props.isPreview)\r\n const [sidebarSections, setSidebarSections] = useState(props.sections)\r\n const [hamburguerSections, setHamburguerSections] = useState(\r\n props.hamburguerMenuSections\r\n )\r\n const locale = 'en'\r\n\r\n useEffect(() => {\r\n setSidebarDataMaster(props.fallback)\r\n }, [props.fallback])\r\n\r\n useEffect(() => {\r\n if (props.sectionSelected === '') setSidebarSectionHidden(true)\r\n else if (props.sectionSelected !== activeSectionName)\r\n setActiveSectionName(props.sectionSelected)\r\n }, [props.sectionSelected])\r\n\r\n const { fallback } = props\r\n\r\n const toggleSidebarElementStatus = (title: string) => {\r\n setSidebarElementStatus((sidebarElementStatus) => {\r\n const open =\r\n sidebarElementStatus.has(title) === false\r\n ? true\r\n : !sidebarElementStatus.get(title)\r\n\r\n return new Map(sidebarElementStatus.set(title, open))\r\n })\r\n }\r\n\r\n const closeSidebarElements = (parentsArray: string[]) => {\r\n sidebarElementStatus.forEach((_value, key) => {\r\n if (!parentsArray.includes(key)) {\r\n setSidebarElementStatus((sidebarElementStatus) => {\r\n return new Map(sidebarElementStatus.set(key, false))\r\n })\r\n }\r\n })\r\n }\r\n\r\n const openSidebarElement = (title: string) => {\r\n setSidebarElementStatus((sidebarElementStatus) => {\r\n return new Map(sidebarElementStatus.set(title, true))\r\n })\r\n }\r\n\r\n const goToPreviousItem = () => {\r\n setActiveItem(({ item, subItem }) => {\r\n const index = headingItems.findIndex((heading) => heading.slug === item)\r\n if (index === -1) return { item, subItem }\r\n\r\n const previousItem = !index ? '' : headingItems[index - 1].slug\r\n const previousChildren = !index ? [] : headingItems[index - 1].children\r\n const previousSubItem = !previousChildren.length\r\n ? ''\r\n : previousChildren.slice(-1)[0].slug\r\n\r\n return {\r\n item: previousItem,\r\n subItem: previousSubItem,\r\n }\r\n })\r\n }\r\n\r\n const goToPreviousSubItem = () => {\r\n setActiveItem(({ item, subItem }) => {\r\n const heading = headingItems.find((heading) => heading.slug === item)\r\n const index = heading?.children.findIndex(\r\n (child) => child.slug === subItem\r\n )\r\n\r\n if (!heading || index === -1) return { item, subItem }\r\n\r\n return {\r\n item,\r\n subItem: !index ? '' : heading.children[index - 1].slug,\r\n }\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default LibraryContextProvider\r\n","export const removeHTML = (str: string) => str.replace(/<\\/?[^>]+>/g, '')\r\n\r\nexport const capitalizeFirstLetter = (str: string) => {\r\n return str.charAt(0).toUpperCase() + str.slice(1)\r\n}\r\n\r\nexport const toCamelCase = (str: string) => {\r\n const [firstWord, ...otherWords] = str.split('-')\r\n return `${firstWord}${otherWords.map(capitalizeFirstLetter).join('')}`\r\n}\r\n\r\nexport const slugify = (str: string) => {\r\n return str\r\n .normalize('NFD') // Decomposes diacritics (e.g., \"é\" → \"é\")\r\n .replace(/[\\u0300-\\u036f]/g, '') // Removes diacritic marks\r\n .toLowerCase()\r\n .replace(/[^\\w\\s-]/g, '') // Removes non-word characters except spaces and hyphens\r\n .replace(/\\s+/g, '-') // Replaces spaces with hyphens\r\n .replace(/-+/g, '-') // Removes multiple consecutive hyphens\r\n .trim() // Trims leading/trailing spaces\r\n}\r\n\r\ntype Child = string | { props: { children: Child[] } }\r\n\r\nexport const childrenToString: (children: Child[]) => string = (children) => {\r\n if (!children) return ''\r\n else if (Array.isArray(children))\r\n return children\r\n .map((child) => {\r\n if (typeof child === 'string') return child\r\n return childrenToString(child.props.children)\r\n })\r\n .join('')\r\n else {\r\n if (typeof children === 'string') return children\r\n return childrenToString(children['props']['children'])\r\n }\r\n}\r\n\r\nexport const matrixToMarkdownTable: (matrix: string[][]) => string = (\r\n matrix\r\n) => {\r\n const matrixRowToMarkdownTableRow = (matrixRow: string[]) =>\r\n `|${matrixRow\r\n .map((matrixElement) => ` ${matrixElement.replace(/\\n/g, '
')} |`)\r\n .join('')}`\r\n\r\n let table = matrixRowToMarkdownTableRow(matrix[0]) + '\\n|'\r\n for (let i = 0; i < matrix[0].length; i++) table += ' --- |'\r\n\r\n table += '\\n'\r\n for (let i = 1; i < matrix.length; i++)\r\n table += matrixRowToMarkdownTableRow(matrix[i]) + '\\n'\r\n\r\n return table\r\n}\r\n","import mermaid from 'mermaid'\r\n\r\nconst mermaidInit = () => {\r\n mermaid.initialize({\r\n theme: 'base',\r\n themeVariables: {\r\n primaryColor: '#FFFFFF',\r\n primaryTextColor: '#142032',\r\n primaryBorderColor: '#A1AAB7',\r\n labelBoxBorderColor: '#E31C58',\r\n labelTextColor: '#E31C58',\r\n labelBoxBkgColor: '#FFF3F6',\r\n lineColor: '#A1AAB7',\r\n mainBkg: '#F8F7FC',\r\n },\r\n })\r\n}\r\n\r\nexport default mermaidInit\r\n",".img {\r\n max-width: 100%;\r\n padding-top: 2vh;\r\n border-radius: 4px;\r\n}\r\n\r\n.heading::before {\r\n content: '';\r\n display: block;\r\n visibility: hidden;\r\n pointer-events: none;\r\n}\r\n\r\n.code {\r\n background-color: #f6f8fa;\r\n background-color: var(--md-code-background, #f6f8fa);\r\n border-radius: 4px;\r\n color: var(--md-code-text);\r\n margin: 0;\r\n padding: 0.2em 0.4em;\r\n font-size: 0.875em;\r\n word-break: break-all;\r\n}\r\n\r\ntable .code {\r\n word-break: normal;\r\n}\r\n\r\n.blockquote {\r\n display: grid;\r\n padding: 20px;\r\n gap: 20px;\r\n width: 100%;\r\n margin: 16px 0px 24px;\r\n border-radius: 4px;\r\n align-items: center;\r\n border: 1px solid #ccced8;\r\n grid-template-columns: 20px 1fr;\r\n grid-template-rows: 1fr;\r\n word-break: break-word;\r\n}\r\n\r\n.blockquote a {\r\n word-break: break-all;\r\n}\r\n\r\n.blockquote p, .blockquote div{\r\n margin: 0px;\r\n grid-column: 2 / -1;\r\n grid-row: 1 / 1;\r\n}\r\n\r\n.blockquote a{\r\n color: #e31c58 !important;\r\n -webkit-text-decoration: underline 1px solid;\r\n text-decoration: underline 1px solid;\r\n}\r\n\r\n.blockquote a:hover{\r\n color: #c81e51;\r\n}\r\n\r\n.blockquoteInfo {\r\n background: #f8f7fc;\r\n border: 1px solid #ccced8;\r\n}\r\n\r\n.blockquoteInfo:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/info.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteDanger {\r\n background: #fdefef;\r\n border: 1px solid #dc5a41;\r\n}\r\n\r\n.blockquoteDanger:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/danger.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteWarning {\r\n background: #fff2d4;\r\n border: 1px solid #ffb100;\r\n}\r\n\r\n.blockquoteWarning code {\r\n background-color: #ffe5b5;\r\n}\r\n\r\n.blockquoteInfo code {\r\n background-color: #ecebf3;\r\n}\r\n\r\n.blockquoteWarning:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/warning.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.blockquoteSuccess {\r\n background: #f3f8f3;\r\n border: 1px solid #80be80;\r\n}\r\n\r\n.blockquoteSuccess:before {\r\n display: inline-block;\r\n height: 20px;\r\n width: 20px;\r\n content: '';\r\n background: url('https://vtex-dev-portal-navigation.fra1.digitaloceanspaces.com/success.svg')\r\n no-repeat 0 0;\r\n background-size: 20px 20px;\r\n}\r\n\r\n.flexWrap {\r\n flex-wrap: wrap;\r\n justify-content: space-between;\r\n}\r\n\r\n.svgContainer {\r\n width: 100%;\r\n}","{\r\n \"feedback_section.question\": \"Was this helpful?\",\r\n \"feedback_section.response\": \"Thanks for the feedback!\",\r\n \"feedback_section.positive\": \"Yes\",\r\n \"feedback_section.negative\": \"No\",\r\n \"feedback_section.edit\": \"Suggest Edits (GitHub)\",\r\n \"feedback_modal.title\": \"Leave a Comment (Optional)\",\r\n \"feedback_modal.button\": \"Send Feedback\",\r\n \"search_input.empty\": \"No results found. Try different search terms.\",\r\n \"search_input.placeholder\": \"Search\",\r\n \"search_results.showing\": \"Showing\",\r\n \"search_results.results_for\": \"results for\",\r\n \"search_results.in\": \"in\",\r\n \"search_results.all_lowercase\": \"all results\",\r\n \"sidebar_search.placeholder\": \"Search in\",\r\n \"search_input.see_all\": \"See all results\",\r\n \"search_results.summary\": \"Showing {count} results for \\\"{keyword}\\\" in {section}\",\r\n \"search_results.all\": \"All results\",\r\n \"search_card.in\": \"In\",\r\n \"image.error_loading\": \"An error occurred while loading the image\",\r\n \"api_reference_sidebar_filter_clear\": \"Clear All\",\r\n \"api_reference_sidebar_filter\": \"Filter By\",\r\n \"cookie_bar.title\": \"We use cookies\",\r\n \"cookie_bar.description\": \"This website uses cookies to improve navigation, analyze usage, and assist with our marketing efforts.\",\r\n \"cookie_bar.accept\": \"I agree\",\r\n \"cookie_bar.decline\": \"I decline\"\r\n}\r\n","{\r\n \"feedback_section.question\": \"¿Te ha parecido útil?\",\r\n \"feedback_section.response\": \"Gracias por tu feedback\",\r\n \"feedback_section.positive\": \"Sí\",\r\n \"feedback_section.negative\": \"No\",\r\n \"feedback_section.edit\": \"Sugerir cambios (GitHub)\",\r\n \"feedback_modal.title\": \"Dar feedback (opcional)\",\r\n \"feedback_modal.button\": \"Enviar feedback\",\r\n \"search_input.empty\": \"No se encontraron resultados. Intenta utilizar otros términos.\",\r\n \"search_input.placeholder\": \"Buscar\",\r\n \"sidebar_search.placeholder\": \"Buscar en\",\r\n \"search_results.showing\": \"Mostrando\",\r\n \"search_results.results_for\": \"resultados para\",\r\n \"search_results.in\": \"en\",\r\n \"search_results.all_lowercase\": \"todos los resultados\",\r\n \"search_input.see_all\": \"Ver todos los resultados\",\r\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" en {section}\",\r\n \"search_results.all\": \"Todos los resultados\",\r\n \"search_card.in\": \"En\",\r\n \"image.error_loading\": \"Se produjo un error al cargar la imagen\",\r\n \"api_reference_sidebar_filter_clear\": \"Limpiar todo\",\r\n \"api_reference_sidebar_filter\": \"Filtrar por\",\r\n \"cookie_bar.title\": \"Utilizamos cookies\",\r\n \"cookie_bar.description\": \"Este sitio web utiliza cookies para optimizar la navegación, analizar el uso e impulsar nuestros esfuerzos de marketing.\",\r\n \"cookie_bar.accept\": \"Acepto\",\r\n \"cookie_bar.decline\": \"Rechazo\"\r\n}\r\n","{\r\n \"feedback_section.question\": \"Isso foi útil?\",\r\n \"feedback_section.response\": \"Agradecemos pelo seu feedback.\",\r\n \"feedback_section.positive\": \"Sim\",\r\n \"feedback_section.negative\": \"Não\",\r\n \"feedback_section.edit\": \"Sugerir edições (GitHub)\",\r\n \"feedback_modal.title\": \"Deixe um comentário (opcional)\",\r\n \"feedback_modal.button\": \"Enviar feedback\",\r\n \"search_input.empty\": \"Nenhum resultado encontrado. Tente buscar por outros termos.\",\r\n \"search_input.placeholder\": \"Buscar\",\r\n \"sidebar_search.placeholder\": \"Buscar em\",\r\n \"search_results.showing\": \"Mostrando\",\r\n \"search_results.results_for\": \"resultados para\",\r\n \"search_results.in\": \"em\",\r\n \"search_results.all_lowercase\": \"todos os resultados\",\r\n \"search_input.see_all\": \"Ver todos os resultados\",\r\n \"search_results.summary\": \"Mostrando {count} resultados para \\\"{keyword}\\\" em {section}\",\r\n \"search_results.all\": \"Todos os resultados\",\r\n \"search_card.in\": \"Em\",\r\n \"image.error_loading\": \"Ocorreu um erro ao carregar a imagem\",\r\n \"api_reference_sidebar_filter_clear\": \"Limpar tudo\",\r\n \"api_reference_sidebar_filter\": \"Filtrar por\",\r\n \"cookie_bar.title\": \"Nós usamos cookies\",\r\n \"cookie_bar.description\": \"Este site utiliza cookies para melhorar a navegação, analisar a experiência de uso e auxiliar em nossas ações de marketing.\",\r\n \"cookie_bar.accept\": \"Concordo\",\r\n \"cookie_bar.decline\": \"Discordo\"\r\n}","import enMessages from '../messages/en.json'\r\nimport esMessages from '../messages/es.json'\r\nimport ptMessages from '../messages/pt.json'\r\nimport { MessagesType } from './typings/messages-types'\r\n\r\nconst getMessages = (): {\r\n en: MessagesType\r\n es: MessagesType\r\n pt: MessagesType\r\n} => {\r\n const messages = {\r\n en: enMessages,\r\n es: esMessages,\r\n pt: ptMessages,\r\n }\r\n\r\n return messages\r\n}\r\n\r\nexport const messages = getMessages()\r\n","import { useContext, useEffect } from 'react'\r\nimport Link from 'next/link.js'\r\nimport { useRouter } from 'next/router.js'\r\nimport { Box, Text } from '@vtex/brand-ui'\r\nimport AnimateHeight from 'react-animate-height'\r\n\r\nimport { removeHTML } from 'utils/string-utils'\r\nimport { Item } from './TableOfContents.types'\r\n\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nimport styles from './styles'\r\n\r\ninterface Props {\r\n /** List of headings in the current documentation page */\r\n headingList?: Item[]\r\n children?: React.ReactNode\r\n}\r\n\r\n/** Table of contents for documentation pages. */\r\nconst TableOfContents = ({ headingList, children }: Props) => {\r\n const router = useRouter()\r\n const { headingItems, activeItem, setHeadingItems, setActiveItem } =\r\n useContext(LibraryContext)\r\n\r\n useEffect(() => {\r\n const headings: Item[] = headingList ?? []\r\n if (!headings.length) {\r\n document.querySelectorAll('h2, h3').forEach((heading) => {\r\n const headingSlug = heading.id\r\n const item = {\r\n title: removeHTML(heading.innerHTML).replace(':', ''),\r\n slug: headingSlug,\r\n }\r\n\r\n if (heading.tagName === 'H2') {\r\n headings.push({ ...item, children: [] })\r\n } else if (headings.length > 0) {\r\n headings[headings.length - 1].children.push({ ...item })\r\n } else {\r\n headings.push({ ...item, children: [] })\r\n }\r\n })\r\n setHeadingItems(headings)\r\n } else setHeadingItems(headings)\r\n }, [router.asPath, headingList])\r\n\r\n const Item = ({\r\n title,\r\n slug,\r\n level,\r\n active,\r\n }: {\r\n title: string\r\n slug: string\r\n level: number\r\n active: boolean\r\n }) => {\r\n return (\r\n {\r\n setActiveItem(({ item }) => ({\r\n item: level === 1 ? slug : item,\r\n subItem: level === 1 ? '' : slug,\r\n }))\r\n }}\r\n >\r\n {title}\r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n {headingItems.length > 0 && (\r\n ON THIS PAGE\r\n )}\r\n \r\n {headingItems.map((item) => (\r\n \r\n \r\n \r\n \r\n {item.children.map((subItem) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n ))}\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default TableOfContents\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst itemsContainer: SxStyleProp = {\r\n position: 'sticky',\r\n top: 'calc(5rem + 32px)',\r\n}\r\n\r\nconst tocTitle: SxStyleProp = {\r\n fontSize: '10px',\r\n fontWeight: '600',\r\n textTransform: 'uppercase',\r\n mb: '6px',\r\n color: 'muted.0',\r\n}\r\n\r\nconst headings: SxStyleProp = {\r\n borderLeft: '1px solid #E7E9EE',\r\n mb: '16px',\r\n}\r\n\r\nconst item: (level: number, active: boolean) => SxStyleProp = (\r\n level,\r\n active\r\n) => {\r\n const defaultLineHeight = `${level === 1 ? 18 : 22}px`\r\n return {\r\n ml: '-1px',\r\n pl: `${level * 8}px`,\r\n py: ['6px', '6px', '6px', '6px', '4px', '4px'],\r\n borderLeft: `1px solid ${active && level === 1 ? '#E31C58' : '#E7E9EE'}`,\r\n fontSize: ['16px', '16px', '16px', '16px', '12px', '16px'],\r\n lineHeight: [\r\n defaultLineHeight,\r\n defaultLineHeight,\r\n defaultLineHeight,\r\n defaultLineHeight,\r\n `${level === 1 ? 16 : 18}px`,\r\n defaultLineHeight,\r\n ],\r\n fontWeight: `${active ? '600' : '400'}`,\r\n color: `${active ? '#0C1522' : 'muted.0'}`,\r\n\r\n ':hover': {\r\n color: '#000711',\r\n },\r\n }\r\n}\r\n\r\nconst subItemsContainer: SxStyleProp = {\r\n ml: '16px',\r\n borderLeft: '1px solid #E7E9EE',\r\n}\r\n\r\nexport default { tocTitle, itemsContainer, item, subItemsContainer, headings }\r\n","import { useEffect, useRef, useState, useContext } from 'react'\r\nimport { Flex, Text, Box } from '@vtex/brand-ui'\r\nimport Link from 'next/link.js'\r\n\r\nimport styles from './styles'\r\nimport { iconTooltipStyle } from './functions'\r\n\r\nimport { Section } from 'utils/typings/types'\r\nimport Tooltip from 'components/tooltip'\r\nimport { updateOpenPage } from 'utils/sidebar-utils'\r\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport interface SideBarSectionState {\r\n /** Array containing the name of the parents of the expanded page in the menu. */\r\n parentsArray?: string[]\r\n}\r\n\r\n/**\r\n * Sidebar component.\r\n */\r\nconst Sidebar = ({ parentsArray = [] }: SideBarSectionState) => {\r\n const [expandDelayStatus, setExpandDelayStatus] = useState(true)\r\n\r\n const context = useContext(LibraryContext)\r\n const {\r\n isEditorPreview,\r\n setActiveSectionName,\r\n activeSectionName,\r\n sidebarSections,\r\n sidebarDataMaster,\r\n } = context\r\n\r\n const sidebarSectionContent = {\r\n ...(Array.isArray(sidebarDataMaster)\r\n ? sidebarDataMaster?.find(\r\n (section: SidebarSectionProps) =>\r\n section.documentation === activeSectionName\r\n )\r\n : null),\r\n }\r\n\r\n updateOpenPage({\r\n parentsArray,\r\n context,\r\n })\r\n\r\n useEffect(() => {\r\n let timer: NodeJS.Timeout | undefined = undefined\r\n if (sidebarSectionContent.categories?.length > 0)\r\n timer = setTimeout(\r\n () => setExpandDelayStatus && setExpandDelayStatus(false),\r\n 5000\r\n )\r\n else setExpandDelayStatus && setExpandDelayStatus(true)\r\n\r\n return () => {\r\n timer && clearTimeout(timer)\r\n }\r\n }, [activeSectionName])\r\n\r\n const SideBarIcon = (sectionElement: Section) => {\r\n const [iconTooltip, setIconTooltip] = useState(false)\r\n const [tooltipLabel, setTooltipLabel] = useState(sectionElement.title)\r\n const titleRef = useRef()\r\n\r\n useEffect(() => {\r\n const resizeObserver = new MutationObserver(function (entries) {\r\n const target = entries[0].target as HTMLElement\r\n if (target.offsetWidth < target.scrollWidth) setIconTooltip(true)\r\n else setIconTooltip(false)\r\n\r\n if (target.offsetWidth > 0) setTooltipLabel(target.innerText)\r\n })\r\n if (titleRef.current) {\r\n if (titleRef.current.offsetWidth < titleRef.current.scrollWidth)\r\n setIconTooltip(true)\r\n resizeObserver.observe(titleRef.current, {\r\n childList: true,\r\n })\r\n }\r\n return () => {\r\n resizeObserver.disconnect\r\n }\r\n }, [titleRef.current])\r\n\r\n return (\r\n \r\n \r\n {\r\n if (isEditorPreview) {\r\n e.preventDefault()\r\n }\r\n setActiveSectionName(sectionElement.id)\r\n }}\r\n passHref\r\n aria-label={sectionElement.title}\r\n >\r\n \r\n \r\n \r\n {sectionElement.title}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {sidebarSections.map((section, id) => {\r\n return (\r\n <>\r\n {id > 0 && (\r\n \r\n
\r\n
\r\n )}\r\n \r\n {section.map((element) => (\r\n \r\n ))}\r\n \r\n \r\n )\r\n })}\r\n
\r\n {activeSectionName ? : null}\r\n \r\n )\r\n}\r\n\r\nexport default Sidebar\r\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sidebar: SxStyleProp = {\n display: [\n 'none !important',\n 'none !important',\n 'none !important',\n 'flex !important',\n ],\n position: 'sticky',\n left: '0',\n top: '5rem',\n flex: '1 0 auto',\n height: 'calc(100vh - 5rem)',\n width: 'auto',\n minWidth: 'auto',\n transition: 'all 0.3s ease-in-out',\n '.active': {\n marginLeft: '-276px',\n transition: 'all 0.3s ease-in-out',\n },\n '.iconContainerExpanded': {\n transition: 'all 0.3s ease-in-out',\n width: '160px',\n overflowY: 'auto',\n },\n '.iconDescriptionExpanded': {\n display: 'block',\n },\n}\n\nconst sidebarIcons: SxStyleProp = {\n width: ['56px', '56px', '56px', '56px', '160px', '160px'],\n minWidth: 'max-content',\n transition: 'all 0.3s ease-in-out',\n flexDirection: 'column',\n borderRight: '1px solid #E7E9EE',\n background: '#FFFFFF',\n zIndex: '2',\n paddingBottom: '32px',\n}\n\nconst linkContainer: SxStyleProp = {\n minWidth: '100%',\n}\n\nconst iconBox: SxStyleProp = {\n mt: ['16px'],\n width: '100%',\n maxWidth: '144px',\n paddingLeft: ['0', '0', '0', '8px'],\n paddingRight: ['0', '0', '0', '8px', '0', '0'],\n py: ['0', '0', '0', '8px', '10px', '10px'],\n height: '40px',\n borderRadius: '4px',\n alignItems: 'center',\n justifyContent: 'flex-start',\n background: 'transparent',\n color: 'muted.0',\n cursor: 'pointer',\n ':hover': {\n background: '#F8F7FC',\n color: '#000711',\n path: {\n stroke: [\n '#000711',\n '#000711',\n '#000711',\n '#000711',\n '#4A596B',\n '#4A596B',\n ],\n },\n },\n}\n\nconst iconBoxActive: SxStyleProp = {\n ...iconBox,\n background: ['#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', '#F8F7FC', 'none'],\n color: '#E31C58',\n}\n\nconst sidebarIconsContainer: SxStyleProp = {\n width: '100%',\n flexDirection: 'column',\n alignItems: 'flex-start',\n px: ['0', '0', '0', '8px'],\n}\n\nconst icon: SxStyleProp = {\n width: ['24px'],\n height: ['24px'],\n}\n\nconst iconActive: SxStyleProp = {\n ...icon,\n '> path': {\n stroke: '#E31C58',\n },\n}\n\nconst sectionDivider: SxStyleProp = {\n px: '8px',\n marginTop: '16px',\n hr: {\n border: '1px solid #E7E9EE',\n borderTop: 'none',\n },\n}\n\nconst iconTitle: SxStyleProp = {\n display: ['none', 'none', 'none', 'none', 'block', 'block'],\n width: '100%',\n fontSize: '14px',\n ml: ['8px', '8px', '8px', '8px', '12px', '12px'],\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n}\n\nconst iconTooltip: SxStyleProp = {\n display: [\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'flex !important',\n 'none !important',\n 'none !important',\n ],\n}\n\nexport default {\n sidebar,\n sidebarIcons,\n sidebarIconsContainer,\n linkContainer,\n iconBox,\n icon,\n iconActive,\n iconBoxActive,\n sectionDivider,\n iconTitle,\n iconTooltip,\n}\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nexport const iconTooltipStyle: SxStyleProp = (tooltipState: boolean) => {\r\n const iconTooltip: SxStyleProp = {\r\n display: [\r\n 'flex',\r\n 'flex',\r\n 'flex',\r\n 'flex',\r\n 'flex',\r\n tooltipState ? 'flex' : 'none !important',\r\n ],\r\n }\r\n return iconTooltip\r\n}\r\n","import { useEffect, useRef, useState } from 'react'\r\nimport { Box, Flex, TooltipProps, SxStyleProp } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport CaretIcon from 'components/icons/caret'\r\ninterface Props extends Pick {\r\n sx?: SxStyleProp\r\n isCard?: boolean\r\n}\r\n\r\nconst Tooltip = ({ children, label, placement, sx, isCard }: Props) => {\r\n const box = useRef()\r\n const [boxWidth, setBoxWidth] = useState(0)\r\n const [boxHeight, setBoxHeight] = useState(0)\r\n const [boxOffsetLeft, setBoxOffsetLeft] = useState(0)\r\n const [boxOffsetTop, setBoxOffsetTop] = useState(0)\r\n const [visible, setVisible] = useState(false)\r\n\r\n useEffect(() => {\r\n if (box.current) {\r\n setBoxWidth(box.current.clientWidth)\r\n setBoxHeight(box.current.clientHeight)\r\n setBoxOffsetLeft(box.current.offsetLeft)\r\n setBoxOffsetTop(box.current.offsetTop)\r\n }\r\n }, [\r\n box.current,\r\n box.current?.clientWidth,\r\n box.current?.clientHeight,\r\n box.current?.offsetLeft,\r\n box.current?.offsetTop,\r\n ])\r\n\r\n return (\r\n \r\n setVisible(true)}\r\n onMouseLeave={() => setVisible(false)}\r\n >\r\n {children}\r\n \r\n {visible && (isCard ?? true) && (\r\n \r\n \r\n {label}\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default Tooltip\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\ntype Placement = 'top' | 'right' | 'bottom' | 'left'\r\n\r\nconst tooltipContainer: (\r\n sx: SxStyleProp,\r\n placement: Placement,\r\n width: number,\r\n height: number,\r\n x: number,\r\n y: number\r\n) => SxStyleProp = (sx, placement, width, height, x, y) => {\r\n const position = {\r\n bottom: {\r\n left: `${x + width / 2}px`,\r\n top: `${y + height + 3}px`,\r\n },\r\n left: {\r\n left: `${x - 1}px`,\r\n top: `${y + height / 2}px`,\r\n },\r\n top: {\r\n left: `${x + width / 2}px`,\r\n top: `${y - 3}px`,\r\n },\r\n right: {\r\n left: `${x + width + 1}px`,\r\n top: `${y + height / 2}px`,\r\n },\r\n }\r\n\r\n const translation = {\r\n bottom: 'translateX(-50%)',\r\n left: 'translateX(-100%) translateY(-50%)',\r\n top: 'translateX(-50%) translateY(-100%)',\r\n right: 'translateY(-50%)',\r\n }\r\n\r\n const direction = {\r\n bottom: 'column',\r\n left: 'row-reverse',\r\n top: 'column-reverse',\r\n right: 'row',\r\n }\r\n\r\n return {\r\n ...sx,\r\n zIndex: '100',\r\n position: 'absolute',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n ...position[placement],\r\n transform: translation[placement],\r\n flexDirection: direction[placement],\r\n }\r\n}\r\n\r\nconst caret: (placement: Placement) => SxStyleProp = (placement) => {\r\n const rotation = {\r\n bottom: 0,\r\n left: 90,\r\n top: 180,\r\n right: 270,\r\n }\r\n\r\n const translation = {\r\n bottom: 1,\r\n left: 3,\r\n top: 1,\r\n right: 3,\r\n }\r\n\r\n return {\r\n width: '8px',\r\n height: '4px',\r\n minWidth: 'initial',\r\n minHeight: 'initial',\r\n transform: `rotate(${rotation[placement]}deg) translateY(${translation[placement]}px)`,\r\n }\r\n}\r\n\r\nconst label: SxStyleProp = {\r\n borderRadius: '4px',\r\n backgroundColor: 'black',\r\n color: 'white',\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n lineHeight: '130%',\r\n}\r\n\r\nconst labelContibutorsContainer: SxStyleProp = {\r\n ...label,\r\n padding: '4px 8px',\r\n}\r\n\r\nconst labelDocumentationContainer: SxStyleProp = {\r\n ...label,\r\n width: '284px',\r\n textAlign: 'center',\r\n px: '12px',\r\n py: '8px',\r\n}\r\n\r\nconst labelStyle = (documentationSection: boolean): SxStyleProp => {\r\n if (documentationSection) return labelDocumentationContainer\r\n return labelContibutorsContainer\r\n}\r\nexport default { tooltipContainer, caret, labelStyle }\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CaretIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default CaretIcon\r\n","export const flattenJSON = (\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n obj: any = {},\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n res: any = {},\r\n extraKey = ''\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n): any => {\r\n for (const key in obj) {\r\n if (typeof obj[key] !== 'object') {\r\n res[extraKey + key] = obj[key]\r\n } else {\r\n flattenJSON(obj[key], res, `${extraKey}${key}.`)\r\n }\r\n }\r\n return res\r\n}\r\n\r\nexport const getKeyByEndpoint = (\r\n object: { [x: string]: string },\r\n endpoint: string,\r\n slug: string,\r\n method?: string\r\n) => {\r\n const slugPaths = Object.keys(object).filter((key) => object[key] === slug)\r\n let path = ''\r\n slugPaths?.map((el) => {\r\n if (\r\n method &&\r\n object[`${el.replace('.slug', '.method')}`] == method?.toUpperCase() &&\r\n object[`${el.replace('.slug', '.endpoint')}`] == endpoint\r\n ) {\r\n path = el\r\n } else if (hasChildren(object, el.replace('.slug', '.children'))) {\r\n path = el\r\n }\r\n })\r\n return path\r\n}\r\n\r\nfunction hasChildren(\r\n flattenedJson: { [x: string]: string },\r\n elementKey: string\r\n): boolean {\r\n for (const key in flattenedJson) {\r\n if (key.startsWith(`${elementKey}.`)) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nexport const getParents = (\r\n path: string,\r\n data: string,\r\n flattenedSidebar: { [x: string]: string },\r\n parentsArray: string[],\r\n parent?: string\r\n) => {\r\n const pathParts = path?.split('children')\r\n pathParts?.splice(-1)\r\n let prev = ''\r\n pathParts?.map((el) => {\r\n el = prev + el\r\n prev = el + 'children'\r\n\r\n if (!parent || flattenedSidebar[`${el}${data}`].includes(parent)) {\r\n parentsArray.push(flattenedSidebar[`${el}${data}`])\r\n }\r\n })\r\n return parentsArray\r\n}\r\n","import { Section } from './typings/types'\r\nimport { flattenJSON, getKeyByEndpoint, getParents } from './navigation-utils'\r\nimport { useRouter } from 'next/router.js'\r\nimport { useEffect } from 'react'\r\nimport { ContextType } from './context/libraryContext'\r\n\r\nexport const getIcon = (doc: string, sections: Section[][]) => {\r\n for (const section of sections) {\r\n return section.find((icon) => icon.title === doc)?.Icon\r\n }\r\n}\r\n\r\ninterface updateOpenPageProps {\r\n parentsArray?: string[]\r\n context: ContextType\r\n}\r\nexport const updateOpenPage = ({\r\n parentsArray = [],\r\n context,\r\n}: updateOpenPageProps) => {\r\n const {\r\n activeSidebarElement,\r\n sidebarDataMaster,\r\n setActiveSidebarElement,\r\n openSidebarElement,\r\n closeSidebarElements,\r\n } = context\r\n const flattenedSidebar = flattenJSON(sidebarDataMaster)\r\n const router = useRouter()\r\n\r\n let activeSlug = ''\r\n const querySlug = router.query.slug\r\n\r\n if (querySlug && router.pathname === '/docs/api-reference/[slug]') {\r\n activeSlug = router.asPath.replace('/docs/api-reference/', '')\r\n const docPath = activeSlug.split('/')\r\n const hasHashTag = router.asPath.indexOf('#') > -1\r\n const apiSlug = docPath[0].split(hasHashTag ? '#' : '?endpoint=')[0]\r\n const endpoint = '/' + docPath.splice(1, docPath.length).join('/')\r\n let keyPath\r\n if (endpoint == '/') {\r\n activeSlug = apiSlug\r\n keyPath = getKeyByEndpoint(flattenedSidebar, '', apiSlug)\r\n } else {\r\n const method = docPath[0]\r\n .split(hasHashTag ? '#' : '?endpoint=')[1]\r\n .split('-')[0]\r\n keyPath = getKeyByEndpoint(flattenedSidebar, endpoint, apiSlug, method)\r\n }\r\n parentsArray.push(activeSlug)\r\n if (keyPath) {\r\n getParents(keyPath, 'slug', flattenedSidebar, parentsArray)\r\n }\r\n } else {\r\n activeSlug = parentsArray[parentsArray.length - 1]\r\n }\r\n\r\n useEffect(() => {\r\n closeSidebarElements(parentsArray)\r\n parentsArray.forEach((slug: string) => {\r\n openSidebarElement(slug)\r\n })\r\n setActiveSidebarElement(activeSlug?.replace('?endpoint=', '#'))\r\n }, [activeSidebarElement, router])\r\n}\r\n","// Sidebar Section\r\nimport { Flex, Box, Text, Button } from '@vtex/brand-ui'\r\nimport { useContext, useMemo, useState } from 'react'\r\n\r\nimport styles from './styles'\r\nimport { SidebarElement } from '../sidebar-elements'\r\nimport SectionFilter from '../sidebar-section-filter'\r\nimport SideBarElements from '../sidebar-elements'\r\nimport SearchIcon from 'components/icons/search-icon'\r\nimport SideBarToggleIcon from 'components/icons/sidebar-toggle-icon'\r\nimport ArrowLeftIcon from 'components/icons/arrow-left-icon'\r\nimport { getIcon } from 'utils/sidebar-utils'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\nexport interface SidebarSectionProps {\r\n documentation: string\r\n name: string | { en: string, es: string, pt: string }\r\n categories: SidebarElement[]\r\n slugPrefix: string\r\n isHamburgerMenu: boolean\r\n}\r\n\r\nconst SidebarSection = ({\r\n documentation,\r\n name,\r\n categories,\r\n slugPrefix,\r\n isHamburgerMenu = false,\r\n}: SidebarSectionProps) => {\r\n const [searchValue, setSearchValue] = useState('')\r\n const {\r\n isEditorPreview,\r\n sidebarSectionHidden,\r\n setSidebarSectionHidden,\r\n sidebarSections,\r\n locale\r\n } = useContext(LibraryContext)\r\n const [methodFilterList, setMethodFilterList] = useState([\r\n { name: 'POST', active: false },\r\n { name: 'GET', active: false },\r\n { name: 'PUT', active: false },\r\n { name: 'DELETE', active: false },\r\n { name: 'PATCH', active: false },\r\n ])\r\n\r\n const filterStatus = methodFilterList.some(\r\n (methodFilter) => methodFilter.active\r\n )\r\n\r\n const filteredResult = useMemo(() => {\r\n if (!filterStatus && searchValue === '') return categories\r\n\r\n const dataCopy = JSON.parse(JSON.stringify(categories))\r\n\r\n const filteredCategories = dataCopy\r\n .map((category: SidebarElement) => {\r\n category.children = category.children\r\n .map((subcategory) => {\r\n subcategory.children = subcategory.children.filter((endpoint) => {\r\n const hasMethodFilter =\r\n !filterStatus ||\r\n methodFilterList.find(\r\n (methodFilter) => methodFilter.name === endpoint.method\r\n )?.active\r\n const hasInputFilter =\r\n searchValue === '' ||\r\n (typeof endpoint.name === 'string'\r\n ? endpoint.name\r\n : endpoint.name[locale]\r\n )\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase())\r\n return hasMethodFilter && hasInputFilter\r\n })\r\n return subcategory\r\n })\r\n .filter(\r\n (subcategory) =>\r\n subcategory.children.length > 0 ||\r\n (subcategory.type === 'markdown' &&\r\n (typeof subcategory.name === 'string'\r\n ? subcategory.name\r\n : subcategory.name[locale]\r\n )\r\n .toLowerCase()\r\n .includes(searchValue.toLowerCase()))\r\n )\r\n return category\r\n })\r\n .filter((category: SidebarElement) => category.children.length > 0)\r\n return filteredCategories\r\n }, [filterStatus, methodFilterList, categories, searchValue])\r\n\r\n const DocIcon = getIcon(documentation, sidebarSections)\r\n\r\n let localizedSectionTitle = ''\r\n\r\n if (!categories || categories.length <= 0) {\r\n return <>\r\n } else {\r\n localizedSectionTitle = typeof(name) === 'string' ? name : name[locale]\r\n }\r\n\r\n return isHamburgerMenu ? (\r\n \r\n \r\n \r\n }\r\n onClick={() => {\r\n setSidebarSectionHidden(true)\r\n }}\r\n />\r\n {DocIcon && }\r\n {localizedSectionTitle}\r\n \r\n \r\n \r\n \r\n setSearchValue(e.currentTarget.value)}\r\n />\r\n \r\n {documentation == 'API Reference' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n {isEditorPreview && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n PREVIEW MODE\r\n \r\n )}\r\n {localizedSectionTitle}\r\n \r\n \r\n setSearchValue(e.currentTarget.value)}\r\n />\r\n \r\n \r\n {documentation == 'API Reference' && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setSidebarSectionHidden(\r\n (sidebarSectionHidden) => !sidebarSectionHidden\r\n )\r\n }}\r\n sx={sidebarSectionHidden ? styles.toggleIcon : {}}\r\n />\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SidebarSection\r\n","import { SxStyleProp } from '@vtex/brand-ui'\n\nconst sidebarContainer: SxStyleProp = {\n position: 'relative',\n width: ['auto', 'auto', 'auto', 'auto', '300px', '300px'],\n minWidth: ['auto', 'auto', 'auto', 'auto', '300px', '300px'],\n height: 'inherit',\n borderRight: '1px solid #E7E9EE',\n zIndex: '1',\n left: '0',\n transition: 'all 0.3s ease-in-out',\n '.toggleIcon': {\n opacity: '0',\n transition: 'all 0.3s ease-out',\n },\n '.sidebarHide': {\n opacity: '0',\n transition: 'all 0.5s ease-out',\n },\n ':hover': {\n '.toggleIcon': {\n opacity: '100',\n transition: 'all 0.3s ease-out',\n },\n },\n}\n\nconst sidebarContainerHamburger: SxStyleProp = {\n width: 'auto',\n minHeight: '692px',\n zIndex: '1',\n}\n\nconst sidebarContainerBox: SxStyleProp = {\n opacity: '100',\n paddingTop: '34px',\n paddingBottom: '24px',\n overflowY: 'auto',\n height: 'inherit',\n maskImage:\n 'linear-gradient(to top, transparent, black), linear-gradient(to left, transparent 17px, black 17px)',\n maskSize: '100% 20000px',\n maskPosition: 'left bottom',\n transition: 'mask-position 0.3s, -webkit-mask-position 0.3s',\n ':hover': {\n maskPosition: 'left top',\n },\n}\n\nconst sidebarContainerBoxHamburger: SxStyleProp = {\n opacity: '100',\n transition: 'all 1s ease-out',\n}\n\nconst sidebarContainerBody: SxStyleProp = {\n px: '17px',\n}\n\nconst sidebarContainerHeader: SxStyleProp = {\n ...sidebarContainerBody,\n}\n\nconst sidebarContainerTitle: SxStyleProp = {\n alignItems: 'center',\n lineHeight: '22px',\n gap: '5px',\n padding: '17px 0px 17px 17px',\n borderBottom: '1px solid #E7E9EE',\n}\n\nconst sidebarTitle: SxStyleProp = {\n display: 'flex',\n alignItems: 'center',\n fontSize: '16px',\n lineHeight: '18px',\n}\n\nconst sidebarHelpIcon: SxStyleProp = {\n ml: '4px',\n width: '24px',\n height: '24px',\n}\n\nconst searchBox: SxStyleProp = {\n mt: '16px',\n mb: '20px',\n alignItems: 'center',\n borderRadius: '4px',\n background: '#F4F4F4',\n width: '100%',\n maxWidth: '315px',\n height: '40px',\n paddingLeft: '12px',\n}\n\nconst searchInput: SxStyleProp = {\n width: 'auto',\n background: '#F4F4F4',\n border: '#F4F4F4',\n color: '#545454',\n fontSize: ['14px'],\n}\n\nconst searchIcon: SxStyleProp = {\n minWidth: '16px',\n minHeight: '16px',\n width: '16px',\n mr: '8px',\n}\n\nconst toggleIconBox: SxStyleProp = {\n justifyContent: 'center',\n alignItems: 'center',\n width: '32px',\n height: '32px',\n borderRadius: '50%',\n border: '1px solid #E7E9EE',\n background: '#FFFFFF',\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\n position: 'absolute',\n top: '32px',\n right: '-16px',\n cursor: 'pointer',\n}\n\nconst toggleIconBoxActive: SxStyleProp = {\n ...toggleIconBox,\n opacity: '100 !important',\n}\n\nconst toggleIcon: SxStyleProp = {\n transform: 'scaleX(-1)',\n}\n\nconst arrowButton: SxStyleProp = {\n padding: '0px',\n}\n\nconst previewMode: SxStyleProp = {\n display: 'flex',\n color: '#A87600',\n backgroundColor: '#ffe5b5',\n padding: '10px',\n borderRadius: '10px',\n fontWeight: '600',\n fontSize: '14px',\n lineHeight: '20px',\n letterSpacing: '0.5px',\n mb: '20px',\n svg: {\n width: '20px',\n mr: '10px',\n },\n}\n\nexport default {\n sidebarContainer,\n sidebarContainerHamburger,\n sidebarContainerBox,\n sidebarContainerBoxHamburger,\n sidebarContainerBody,\n sidebarContainerHeader,\n sidebarContainerTitle,\n sidebarTitle,\n sidebarHelpIcon,\n searchBox,\n searchInput,\n searchIcon,\n toggleIconBox,\n toggleIconBoxActive,\n toggleIcon,\n arrowButton,\n previewMode,\n}\n","import { Box, Flex, Text } from '@vtex/brand-ui'\r\nimport MethodCategory from 'components/method-category'\r\nimport { Dispatch, SetStateAction, useContext, useState } from 'react'\r\n\r\nimport styles from './styles'\r\nimport { MethodType } from 'utils/typings/types'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\ntype MethodFilter = {\r\n name: string\r\n active: boolean\r\n}\r\n\r\ninterface MethodButtonProps {\r\n methodFilter: MethodFilter\r\n}\r\n\r\ninterface SectionFilterProps {\r\n methodFilterList: MethodFilter[]\r\n setMethodFilter: Dispatch>\r\n}\r\n\r\nconst SectionFilter = ({\r\n methodFilterList,\r\n setMethodFilter,\r\n}: SectionFilterProps) => {\r\n const [activeFilters, setActiveFilters] = useState([])\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const setFilter = (methodFilterChanged: MethodType | null) => {\r\n if (methodFilterChanged) {\r\n const index = activeFilters.indexOf(methodFilterChanged)\r\n index === -1\r\n ? setActiveFilters([...activeFilters, methodFilterChanged])\r\n : setActiveFilters(\r\n activeFilters.filter((filter) => filter !== methodFilterChanged)\r\n )\r\n setMethodFilter(\r\n methodFilterList.map((methodFilter) => {\r\n if (methodFilter.name === methodFilterChanged)\r\n methodFilter.active = !methodFilter.active\r\n return methodFilter\r\n })\r\n )\r\n } else {\r\n setActiveFilters([])\r\n setMethodFilter(\r\n methodFilterList.map((methodFilter) => {\r\n methodFilter.active = false\r\n return methodFilter\r\n })\r\n )\r\n }\r\n }\r\n\r\n const MethodButton = ({ methodFilter }: MethodButtonProps) => {\r\n return (\r\n setFilter(methodFilter.name as MethodType)}\r\n >\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n \r\n \r\n {messages[locale]['api_reference_sidebar_filter']}\r\n \r\n \r\n {methodFilterList.map((methodFilter) => (\r\n \r\n ))}\r\n {activeFilters.length > 1 && (\r\n setFilter(null)} sx={styles.clear}>\r\n {messages[locale]['api_reference_sidebar_filter_clear']}\r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SectionFilter\r\n","import { Flex, Text, SxStyleProp } from '@vtex/brand-ui'\r\nimport { categoryStyle, categoryText, closeCategoryStyle } from './functions'\r\nimport styles from './styles'\r\nimport CloseFilterIcon from 'components/icons/close-filter-icon'\r\nimport { MethodType } from 'utils/typings/types'\r\n\r\nexport interface MethodCategoryProps {\r\n method: MethodType\r\n active: boolean\r\n origin: 'sidebar' | 'search' | 'filter' | 'pagination'\r\n sx?: SxStyleProp\r\n}\r\n\r\nconst MethodCategory = ({\r\n method,\r\n active,\r\n origin,\r\n sx,\r\n}: MethodCategoryProps) => {\r\n return (\r\n \r\n {categoryText(method, origin)}\r\n {origin === 'filter' && active && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default MethodCategory\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n border: '1px solid #DDDDDD',\r\n background: '#F4F4F4',\r\n borderRadius: '2px',\r\n width: '24px',\r\n height: '24px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n}\r\n\r\nconst text: SxStyleProp = {\r\n fontWeight: '600',\r\n fontSize: '12px',\r\n}\r\n\r\nconst closeIcon: SxStyleProp = {\r\n minWidth: '12px',\r\n minHeight: '12px',\r\n height: '12px',\r\n width: '12px',\r\n ml: '4px',\r\n}\r\n\r\nexport default {\r\n container,\r\n text,\r\n closeIcon,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport { MethodType } from 'utils/typings/unionTypes'\r\n\r\nimport styles from './styles'\r\n\r\nexport const methodsColors = {\r\n POST: {\r\n border: '1px solid #7CBBEA',\r\n color: '#2978B5',\r\n background: '#DEECF7',\r\n },\r\n GET: {\r\n border: '1px solid #83D187',\r\n color: '#38853C',\r\n background: '#DFF1E0',\r\n },\r\n PUT: {\r\n border: '1px solid #F5AE70',\r\n color: '#D56A00',\r\n background: '#FFEBD7',\r\n },\r\n DELETE: {\r\n border: '1px solid #F49494',\r\n color: '#CC3D3D',\r\n background: '#F8E3E3',\r\n },\r\n PATCH: {\r\n border: '1px solid #afa871',\r\n color: '#6C6314',\r\n background: '#e9e7da',\r\n },\r\n}\r\n\r\nexport const categoryStyle = (\r\n method: MethodType,\r\n active: boolean,\r\n sx?: SxStyleProp\r\n): SxStyleProp => {\r\n const categoryColors = methodsColors[method] || {\r\n border: '1px solid #F49494',\r\n color: '#CC3D3D',\r\n background: '#F8E3E3',\r\n }\r\n\r\n const categoryStyle: SxStyleProp = active\r\n ? {\r\n ...styles.container,\r\n ...categoryColors,\r\n ...sx,\r\n ':hover': {\r\n '.filter-close-button': {\r\n rect: {\r\n fill: categoryColors.color,\r\n },\r\n path: {\r\n stroke: '#DEECF7',\r\n },\r\n },\r\n },\r\n }\r\n : {\r\n ...styles.container,\r\n color: categoryColors.color,\r\n ...sx,\r\n }\r\n\r\n return categoryStyle\r\n}\r\n\r\nexport const categoryText = (method: MethodType, origin: string): string => {\r\n const textPascalCase = method[0] + method.slice(1).toLowerCase()\r\n if (origin == 'filter') return textPascalCase\r\n return textPascalCase.slice(0, 2)\r\n}\r\n\r\nexport const closeCategoryStyle = (method: MethodType) => {\r\n const categoryColors = methodsColors[method]\r\n const categoryStyle: SxStyleProp = {\r\n ...styles.closeIcon,\r\n rect: {\r\n fill: 'transparent',\r\n },\r\n path: {\r\n stroke: categoryColors.color,\r\n },\r\n }\r\n\r\n return categoryStyle\r\n}\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CloseFilterIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CloseFilterIcon\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n px: '17px',\r\n paddingTop: '6px',\r\n borderBottom: '1px solid #E7E9EE',\r\n paddingBottom: '16px',\r\n mb: '24px',\r\n}\r\n\r\nconst text: SxStyleProp = {\r\n mb: '8px',\r\n}\r\n\r\nconst category: SxStyleProp = {\r\n mr: '8px',\r\n px: '4px',\r\n width: 'auto',\r\n cursor: 'pointer',\r\n ':hover': {\r\n borderWidth: '2px',\r\n },\r\n}\r\n\r\nconst clear: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n color: 'muted.0',\r\n fontSize: '12px',\r\n cursor: 'pointer',\r\n ':hover': {\r\n color: '#000711',\r\n },\r\n}\r\n\r\nexport default {\r\n container,\r\n text,\r\n category,\r\n clear,\r\n}\r\n","import { useRouter } from 'next/router.js'\r\nimport React, { Fragment, useContext } from 'react'\r\nimport {\r\n Box,\r\n Flex,\r\n Link,\r\n Button,\r\n IconCaret,\r\n IconExternalLink,\r\n} from '@vtex/brand-ui'\r\n\r\nimport MethodCategory from 'components/method-category'\r\n\r\nimport { styleByLevelNormal, textStyle } from './functions'\r\nimport styles from './styles'\r\nimport { MethodType } from 'utils/typings/types'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport interface SidebarElement {\r\n name: string | { en: string; pt: string; es: string }\r\n slug: string | { en: string; pt: string; es: string }\r\n origin: string\r\n type: string\r\n method?: MethodType\r\n endpoint?: string\r\n children: SidebarElement[]\r\n}\r\n\r\nexport interface SidebarProps {\r\n slugPrefix?: string\r\n items: SidebarElement[]\r\n subItemLevel: number\r\n}\r\n\r\nconst SidebarElements = ({ slugPrefix, items, subItemLevel }: SidebarProps) => {\r\n const {\r\n isEditorPreview,\r\n activeSidebarElement,\r\n sidebarElementStatus,\r\n toggleSidebarElementStatus,\r\n sidebarDataMaster,\r\n locale,\r\n } = useContext(LibraryContext)\r\n const router = useRouter()\r\n\r\n const handleClick = (\r\n e: { preventDefault: () => void },\r\n pathSuffix: string,\r\n slug: string\r\n ) => {\r\n e.preventDefault()\r\n const hasEndpointQuery = router.query.endpoint\r\n router.push(getHref(slugPrefix || '', pathSuffix, slug)).then(() => {\r\n if (hasEndpointQuery) router.reload()\r\n })\r\n }\r\n\r\n // eslint-disable-next-line\r\n // @ts-ignore\r\n const checkDocumentationType = (\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n sidebarData: any,\r\n slug: string,\r\n type: string\r\n ) => {\r\n if (\r\n !sidebarData ||\r\n (typeof sidebarData !== 'object' && !Array.isArray(sidebarData))\r\n ) {\r\n return false\r\n } else if (sidebarData?.slug == slug && sidebarData?.type == type) {\r\n return true\r\n } else if (Array.isArray(sidebarData)) {\r\n for (let i = 0; i < sidebarData.length; i++) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n const result = checkDocumentationType(sidebarData[i], slug, type)\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else {\r\n for (const k in sidebarData) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-ignore\r\n const result = checkDocumentationType(sidebarData[k], slug, type)\r\n if (result) {\r\n return result\r\n }\r\n }\r\n }\r\n\r\n return false\r\n }\r\n\r\n const getHref = (slugPrefix: string, pathSuffix: string, slug: string) => {\r\n const href =\r\n slugPrefix === 'docs/api-reference'\r\n ? `/${slugPrefix}/${slug}/${pathSuffix}`\r\n : `/${slugPrefix}/${slug}`\r\n return href.replaceAll('//', '/')\r\n }\r\n\r\n const ElementRoot = ({\r\n slug,\r\n name,\r\n method,\r\n endpoint,\r\n children,\r\n }: SidebarElement) => {\r\n const localizedName: string = typeof name === 'string' ? name : name[locale]\r\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\r\n const isExpandable = children.length > 0\r\n const pathSuffix = method ? `#${method.toLowerCase()}-${endpoint}` : ''\r\n const activeItem = method ? `${localizedSlug}${pathSuffix}` : localizedSlug\r\n return (\r\n \r\n \r\n {isExpandable && (\r\n (\r\n \r\n )}\r\n onClick={() => toggleSidebarElementStatus(localizedSlug)}\r\n />\r\n )}\r\n {!checkDocumentationType(sidebarDataMaster, localizedSlug, 'category') &&\r\n !checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\r\n void }) => {\r\n if (!isEditorPreview) {\r\n handleClick(e, pathSuffix, localizedSlug)\r\n }\r\n toggleSidebarElementStatus(activeItem)\r\n }}\r\n href={getHref(slugPrefix || '', pathSuffix, localizedSlug)}\r\n target={isEditorPreview === true ? '_blank' : '_self'}\r\n >\r\n {method && (\r\n \r\n )}\r\n {localizedName}\r\n \r\n ) : checkDocumentationType(sidebarDataMaster, localizedSlug, 'link') ? (\r\n \r\n \r\n {localizedName}\r\n \r\n ) : (\r\n {\r\n toggleSidebarElementStatus(localizedSlug)\r\n }}\r\n >\r\n {method && (\r\n \r\n )}\r\n {localizedName}\r\n \r\n )}\r\n \r\n \r\n )\r\n }\r\n \r\n const ElementChildren = ({ slug, children }: SidebarElement) => {\r\n const isExpandable = children.length > 0\r\n // const newPathPrefix =\r\n // slugPrefix === 'api-reference' ? `/api-reference/${slug}` : slugPrefix\r\n\r\n const localizedSlug: string = typeof slug === 'string' ? slug : slug[locale]\r\n return isExpandable &&\r\n sidebarElementStatus.has(localizedSlug) &&\r\n sidebarElementStatus.get(localizedSlug) ? (\r\n \r\n \r\n \r\n ) : null\r\n }\r\n\r\n return (\r\n \r\n {items?.map((item, index) => {\r\n const key = typeof item.slug === 'string' ? String(item.slug) + String(index) : String(item.slug[locale]) + String(index)\r\n const slug = typeof item.slug === 'string' ? `${item.slug}` : `${item.slug[locale]}`\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {subItemLevel == 0 ? (\r\n \r\n
\r\n
\r\n ) : null}\r\n
\r\n )\r\n })}\r\n
\r\n )\r\n}\r\n\r\nexport default SidebarElements\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst elementContainer: SxStyleProp = {\r\n maxWidth: '315px',\r\n background: '#FFFFFF',\r\n ':hover': {\r\n background: '#F8F7FC',\r\n a: {\r\n color: '#142032',\r\n '& > :first-of-type': {\r\n borderWidth: '2px',\r\n },\r\n },\r\n },\r\n}\r\n\r\nconst elementText: SxStyleProp = {\r\n color: 'muted.0',\r\n fontSize: '14px',\r\n lineHeight: '20px',\r\n fontWeight: '400',\r\n textAlign: 'initial',\r\n paddingBlock: '7px',\r\n display: 'flex',\r\n alignItems: 'center',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst elementActive: SxStyleProp = {\r\n ...elementText,\r\n color: '#D71D55 !important',\r\n}\r\n\r\nconst arrowIcon: SxStyleProp = {\r\n padding: '0',\r\n color: 'muted.1',\r\n height: '34px',\r\n}\r\n\r\nconst arrowIconActive: SxStyleProp = {\r\n ...arrowIcon,\r\n color: '#D71D55',\r\n}\r\n\r\nconst elementButton: SxStyleProp = {\r\n textTransform: 'initial',\r\n fontVariationSettings: 'unset',\r\n padding: '0',\r\n margin: '0',\r\n textDecoration: 'none !important',\r\n}\r\n\r\nconst sectionDivider: SxStyleProp = {\r\n hr: {\r\n border: '1px solid #E7E9EE',\r\n borderTop: 'none',\r\n },\r\n}\r\n\r\nconst methodBox: SxStyleProp = {\r\n mr: '10px',\r\n}\r\n\r\nexport default {\r\n elementContainer,\r\n elementText,\r\n elementActive,\r\n arrowIcon,\r\n arrowIconActive,\r\n elementButton,\r\n sectionDivider,\r\n methodBox,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nexport const styleByLevelNormal = (level: number, icon: boolean) => {\r\n const ml = 8 + (icon ? (level - 1) * 20 + 6 : (level - 1) * 20 + 14)\r\n const borderLeft = icon ? 'none' : level >= 2 ? '1px solid #E7E9EE' : ''\r\n const normal: SxStyleProp = {\r\n marginLeft: `${ml}px`,\r\n borderLeft,\r\n }\r\n\r\n return normal\r\n}\r\n\r\nexport const textStyle = (active: boolean, icon: boolean) => {\r\n const ml = icon ? '4px' : '16px'\r\n if (active) {\r\n const textStyleActive: SxStyleProp = {\r\n ...styles.elementActive,\r\n ml,\r\n }\r\n return textStyleActive\r\n }\r\n const textStyle: SxStyleProp = {\r\n ...styles.elementText,\r\n ml,\r\n }\r\n\r\n return textStyle\r\n}\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst SearchIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default SearchIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst SideBarToggleIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default SideBarToggleIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ArrowLeftIcon = (props: IconProps) => (\r\n \r\n {' '}\r\n \r\n \r\n \r\n)\r\n\r\nexport default ArrowLeftIcon\r\n","import {\r\n Header,\r\n HamburgerMenu as VtexHamburgerMenu,\r\n Box,\r\n IconCaret,\r\n Button,\r\n} from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nimport { useContext } from 'react'\r\nimport DocumentationCard from 'components/documentation-card'\r\nimport SidebarSection, { SidebarSectionProps } from 'components/sidebar-section'\r\nimport { updateOpenPage } from 'utils/sidebar-utils'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport SearchInput from 'components/search-input'\r\n\r\nexport interface HamburgerMenuProps {\r\n /** Array that contains the name of the sections in the menu that should be expanded. */\r\n parentsArray?: string[]\r\n}\r\n\r\n/** Hamburger Menu component, the menu uses the sidebar components internally, but it is only visible on the smaller breakpoints. */\r\nconst HamburgerMenu = ({ parentsArray = [] }: HamburgerMenuProps) => {\r\n const context = useContext(LibraryContext)\r\n const {\r\n sidebarDataMaster,\r\n sidebarSectionHidden,\r\n activeSectionName,\r\n setActiveSectionName,\r\n setSidebarSectionHidden,\r\n hamburguerSections,\r\n } = context\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const isDocument = (sections: any, documentID: string) => {\r\n let isDoc = false\r\n\r\n if (Array.isArray(sections)) {\r\n isDoc = sections.find((section) => section.documentation === documentID)\r\n }\r\n\r\n return isDoc\r\n }\r\n\r\n updateOpenPage({ parentsArray, context })\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {hamburguerSections.map((section, id) => (\r\n 0\r\n ? styles.updatesContainer\r\n : styles.documentationContainer\r\n }\r\n key={id}\r\n data-cy=\"dropdown-menu-first-section\"\r\n >\r\n {section.map((card) => (\r\n \r\n \r\n {isDocument(sidebarDataMaster, card.id) ? (\r\n }\r\n sx={\r\n activeSectionName === card.id &&\r\n !sidebarSectionHidden\r\n ? styles.arrowIconActive\r\n : styles.arrowIcon\r\n }\r\n onClick={() => {\r\n setActiveSectionName(card.id)\r\n setSidebarSectionHidden(false)\r\n }}\r\n />\r\n ) : null}\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n \r\n {activeSectionName ? (\r\n \r\n section.documentation === activeSectionName\r\n )\r\n : null)}\r\n />\r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default HamburgerMenu\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst menuContainer: SxStyleProp = {\r\n display: 'flex',\r\n width: 'max-content',\r\n}\r\n\r\nconst cardContainer: SxStyleProp = {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n width: '100vw',\r\n overflowY: 'scroll',\r\n height: 'calc(100vh - 5rem)',\r\n}\r\n\r\nconst sideMenuContainer: SxStyleProp = {\r\n backgroundColor: '#ffff',\r\n height: 'calc(100vh - 5rem)',\r\n width: '100vw',\r\n overflowY: 'auto',\r\n overflowX: 'hidden',\r\n transform: 'translate(0)',\r\n transition: 'transform .5s cubic-bezier(.4,0,.2,1)',\r\n}\r\n\r\nconst hamburgerContainer: SxStyleProp = {\r\n display: ['block', 'block', 'block', 'none'],\r\n backgroundColor: '#ffff',\r\n width: '100%',\r\n '.menuHidden': {\r\n transform: 'translate(-100%)',\r\n },\r\n}\r\n\r\n// eslint-disable-next-line prettier/prettier\r\n\r\nconst hamburgerSearchContainer: SxStyleProp = {\r\n display: 'flex',\r\n justifyContent: 'center',\r\n paddingBlock: '18px',\r\n height: 'auto',\r\n}\r\n\r\nconst documentationContainer: SxStyleProp = {\r\n px: '16px',\r\n paddingBottom: '8px',\r\n}\r\n\r\nconst updatesContainer: SxStyleProp = {\r\n px: '16px',\r\n paddingTop: '8px',\r\n borderRadius: '0px 0px 8px 8px',\r\n borderTop: '1px solid #E7E9EE',\r\n}\r\n\r\nconst innerHambugerContainer: SxStyleProp = {\r\n padding: '0px',\r\n position: 'relative',\r\n overflowX: 'hidden',\r\n}\r\n\r\nconst innerCardContainer: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n}\r\n\r\nconst arrowIcon: SxStyleProp = {\r\n padding: '0',\r\n height: '50px',\r\n width: '50px',\r\n color: 'muted.1',\r\n}\r\n\r\nconst arrowIconActive: SxStyleProp = {\r\n ...arrowIcon,\r\n color: '#D71D55',\r\n}\r\n\r\nexport default {\r\n menuContainer,\r\n cardContainer,\r\n sideMenuContainer,\r\n hamburgerSearchContainer,\r\n documentationContainer,\r\n updatesContainer,\r\n hamburgerContainer,\r\n innerHambugerContainer,\r\n innerCardContainer,\r\n arrowIcon,\r\n arrowIconActive,\r\n}\r\n","import Link from 'next/link.js'\r\nimport { Box, Flex, Text } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport { cardContainer, cardTitle, titleContainer } from './functions'\r\nimport { MouseEventHandler } from 'react'\r\nimport { DataElement } from 'utils/typings/types'\r\n\r\nexport interface DocumentProps extends DataElement {\r\n title: string\r\n}\r\nexport interface CardProps extends DocumentProps {\r\n containerType: 'dropdown' | 'see-also' | 'mobile'\r\n onClick?: MouseEventHandler | undefined\r\n}\r\nconst DocumentationCard = ({\r\n title,\r\n description,\r\n link,\r\n containerType,\r\n Icon,\r\n onClick,\r\n}: CardProps) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n {description}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default DocumentationCard\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst cardContainer: SxStyleProp = {\r\n my: ['16px', '16px', '16px', '16px', '16px', '16px', '24px'],\r\n padding: '8px',\r\n cursor: 'pointer',\r\n ':active, :hover': {\r\n borderRadius: '4px',\r\n backgroundColor: '#F8F7FC',\r\n\r\n '.description': {\r\n color: 'muted.0',\r\n },\r\n },\r\n\r\n ':active .title': {\r\n color: '#0C1522',\r\n },\r\n\r\n ':hover .title': {\r\n color: '#000711',\r\n },\r\n}\r\n\r\nconst titleContainer: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n ml: '8px',\r\n color: 'muted.0',\r\n}\r\n\r\nconst description: SxStyleProp = {\r\n ml: '32px',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n color: 'muted.1',\r\n}\r\n\r\nexport default {\r\n cardContainer,\r\n description,\r\n title,\r\n titleContainer,\r\n}\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\nconst cardContainer = (containerType: string) => {\r\n const containerWidth =\r\n containerType === 'dropdown'\r\n ? ['308px', '442px', '444px', '480px']\r\n : containerType === 'mobile'\r\n ? '100%'\r\n : ['324px', '544px', '544px', '544px', '544px', '720px', '1400px']\r\n\r\n const textWidth =\r\n containerType === 'dropdown'\r\n ? ['276px', '410px', '412px', '432px']\r\n : containerType === 'mobile'\r\n ? '90%'\r\n : ['276px', '496px', '496px', '496px', '496px', '672px', '1352px']\r\n\r\n const cardContainer: SxStyleProp = {\r\n ...styles.cardContainer,\r\n width: containerWidth,\r\n\r\n '.title, .description': {\r\n width: textWidth,\r\n },\r\n }\r\n\r\n return cardContainer\r\n}\r\n\r\nconst titleContainer = (containerType: string) => {\r\n const marginBottom =\r\n containerType === 'dropdown' ? ['5px', '5px', '5px', '1px'] : '8px'\r\n\r\n const titleContainer: SxStyleProp = {\r\n ...styles.titleContainer,\r\n marginBottom,\r\n }\r\n\r\n return titleContainer\r\n}\r\n\r\nconst cardTitle = (containerType: string) => {\r\n const titleAttributes =\r\n containerType === 'see-also'\r\n ? {\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n fontSize: '18px',\r\n lineHeight: '24px',\r\n }\r\n : {\r\n fontSize: '16px',\r\n lineHeight: '22px',\r\n }\r\n\r\n const cardTitle: SxStyleProp = {\r\n ...styles.title,\r\n ...titleAttributes,\r\n }\r\n\r\n return cardTitle\r\n}\r\n\r\nexport { cardContainer, cardTitle, titleContainer }\r\n","import { Configure, InstantSearch } from 'react-instantsearch-dom'\r\nimport SearchBox from './search-box'\r\nimport Results from './results-box'\r\nimport { Box } from '@vtex/brand-ui'\r\nimport { useContext, useRef, useState } from 'react'\r\nimport useClickOutside from 'utils/hooks/useClickOutside'\r\nimport { searchClient, searchIndex } from 'utils/config/search-config'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport default function SearchInput() {\r\n const { locale } = useContext(LibraryContext)\r\n const [focusOut, setfocusOut] = useState<{ modaltoggle: boolean }>({\r\n modaltoggle: true,\r\n })\r\n const resultsBox = useRef()\r\n useClickOutside(resultsBox, setfocusOut)\r\n\r\n const changeFocus = (value: boolean) => {\r\n setfocusOut({ modaltoggle: value })\r\n }\r\n\r\n return (\r\n \r\n {searchClient.instantSearchConfigs && (\r\n \r\n )}\r\n {searchClient.useLanguageFilter && (\r\n \r\n )}\r\n {!searchClient.useLanguageFilter && }\r\n setfocusOut({ modaltoggle: true })} ref={resultsBox}>\r\n \r\n {focusOut.modaltoggle && }\r\n \r\n \r\n )\r\n}\r\n","import { useRef, KeyboardEvent, useContext } from 'react'\r\nimport { useRouter } from 'next/router.js'\r\nimport { Flex } from '@vtex/brand-ui'\r\nimport { connectSearchBox } from 'react-instantsearch-dom'\r\nimport { SearchBoxProvided } from 'react-instantsearch-core'\r\n\r\nimport SearchIcon from 'components/icons/search-icon'\r\nimport styles from './styles'\r\nimport { messages } from 'utils/get-message'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\ninterface SearchBoxProps extends SearchBoxProvided {\r\n changeFocus: (value: boolean) => void\r\n}\r\n\r\nconst SearchBoxComponent = ({\r\n currentRefinement,\r\n refine,\r\n changeFocus,\r\n}: SearchBoxProps) => {\r\n const router = useRouter()\r\n const inputRef = useRef(null)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const handleClick = () => {\r\n if (inputRef.current != null) inputRef.current.focus()\r\n }\r\n\r\n const keyPressed = (e: KeyboardEvent) => {\r\n if (e.key === 'Enter') {\r\n router.push({\r\n pathname: '/search',\r\n query: { keyword: inputRef.current?.value },\r\n })\r\n inputRef.current?.blur()\r\n changeFocus(false)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n keyPressed(e)}\r\n onChange={(e) => refine(e.currentTarget.value)}\r\n />\r\n \r\n )\r\n}\r\n\r\nconst SearchBox = connectSearchBox(SearchBoxComponent)\r\n\r\nexport default SearchBox\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst resultsOuterContainer: SxStyleProp = {\r\n position: 'relative',\r\n}\r\n\r\nconst resultsInnerContainer: SxStyleProp = {\r\n top: 0,\r\n position: 'absolute',\r\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\r\n border: '1px solid #B9B9B9',\r\n borderRadius: '0px 0px 4px 4px',\r\n background: '#FFFFFF',\r\n}\r\n\r\nconst resultsBox: SxStyleProp = {\r\n padding: '16px',\r\n}\r\n\r\nconst seeAll: SxStyleProp = {\r\n padding: '24px',\r\n borderTop: '1px solid #E7E9EE',\r\n color: 'muted.0',\r\n cursor: 'pointer',\r\n ':hover': {\r\n background: '#F8F7FC',\r\n borderTop: '1px solid #d0cdcd',\r\n },\r\n}\r\n\r\nconst hitBox: SxStyleProp = {\r\n padding: '8px',\r\n cursor: 'pointer',\r\n ':active, :hover': {\r\n backgroundColor: '#F8F7FC',\r\n borderRadius: '4px',\r\n '.hit-content-title': {\r\n color: '#000711',\r\n },\r\n '.hit-icon': {\r\n '> path': {\r\n stroke: '#000711',\r\n },\r\n },\r\n },\r\n}\r\n\r\nconst hitIcon: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n marginRight: '8px',\r\n}\r\n\r\nconst hitContentContainer: SxStyleProp = {\r\n width: '100%',\r\n}\r\n\r\nconst hitContent: SxStyleProp = {\r\n color: 'muted.0',\r\n fontSize: ['14px', '16px'],\r\n lineHeight: ['20px', '22px'],\r\n width: '100%',\r\n}\r\n\r\nconst hitContentSmall: SxStyleProp = {\r\n color: 'muted.0',\r\n fontSize: ['14px', '16px'],\r\n lineHeight: ['20px', '22px'],\r\n width: '100%',\r\n whiteSpace: 'pre',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst alignCenter: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst hitBreadCrumb: SxStyleProp = {\r\n color: 'muted.1',\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst hitBreadCrumbIn: SxStyleProp = {\r\n ...hitBreadCrumb,\r\n minWidth: 'fit-content',\r\n}\r\n\r\nconst hitBreadCrumbArrow: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n color: 'muted.2',\r\n}\r\n\r\nconst searchInput: SxStyleProp = {\r\n width: '76px',\r\n background: 'none',\r\n border: '#F4F4F4',\r\n color: '#545454',\r\n fontSize: ['14px'],\r\n flex: 0,\r\n transition: 'flex 0.3s',\r\n}\r\n\r\nconst searchIcon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n mr: '8px',\r\n flex: 0,\r\n maxWidth: 'fit-content',\r\n}\r\n\r\nconst searchContainer: SxStyleProp = {\r\n paddingLeft: '12px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n background: '#F4F4F4',\r\n width: '288px',\r\n height: '40px',\r\n borderRadius: '4px',\r\n transition: 'all 0.3s ease-out',\r\n cursor: 'pointer',\r\n ':hover': {\r\n transition: 'all 0.3s ease-out',\r\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\r\n border: '1px solid #3B3B3B',\r\n },\r\n ':focus-within': {\r\n background: '#FFFFFF',\r\n width: ['288px', '458px', '458px', '288px', '416px', '544px'],\r\n transition: 'all 0.3s ease-out',\r\n border: '1px solid #3B3B3B',\r\n boxShadow: '0px 0px 0px 1px #FFFFFF, 0px 0px 0px 3px #B9B9B9',\r\n flex: 'auto',\r\n '.searchComponent': {\r\n flex: '1 !important',\r\n },\r\n },\r\n '.searchComponent': {\r\n ':placeholder-shown': {\r\n width: '76px',\r\n },\r\n ':not(:placeholder-shown)': {\r\n flex: '1 !important',\r\n },\r\n },\r\n}\r\n\r\nconst noResults: SxStyleProp = {\r\n justifyContent: 'center',\r\n alignContent: 'center',\r\n padding: '12px',\r\n}\r\n\r\nconst hitContentHighlighted: SxStyleProp = {\r\n ...hitContent,\r\n color: '#4A596B',\r\n width: 'auto',\r\n background: '#FFE0EF',\r\n}\r\n\r\nexport default {\r\n resultsOuterContainer,\r\n resultsInnerContainer,\r\n resultsBox,\r\n seeAll,\r\n hitBox,\r\n hitIcon,\r\n hitContentContainer,\r\n hitContent,\r\n hitContentSmall,\r\n hitBreadCrumb,\r\n hitBreadCrumbIn,\r\n hitBreadCrumbArrow,\r\n searchInput,\r\n searchIcon,\r\n searchContainer,\r\n alignCenter,\r\n noResults,\r\n hitContentHighlighted,\r\n}\r\n","import { useRouter } from 'next/router.js'\r\nimport Link from 'next/link.js'\r\nimport {\r\n connectStateResults,\r\n connectHitInsights,\r\n} from 'react-instantsearch-dom'\r\nimport {\r\n Hit,\r\n StateResultsProvided,\r\n WrappedInsightsClient,\r\n} from 'react-instantsearch-core'\r\nimport aa from 'search-insights'\r\nimport { Box, Flex, IconCaret, Text } from '@vtex/brand-ui'\r\n\r\nimport {\r\n getBreadcrumbs,\r\n getIconFromSection,\r\n getRelativeURL,\r\n} from 'utils/search-utils'\r\nimport CustomHighlight from './customHighlight'\r\nimport styles from './styles'\r\nimport { useContext } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\ninterface HitProps {\r\n hit: Hit\r\n insights: WrappedInsightsClient\r\n}\r\n\r\ninterface HitsBoxProps extends StateResultsProvided {\r\n changeFocus: (value: boolean) => void\r\n}\r\n\r\nconst Hit2 = ({ hit, insights }: HitProps) => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n const breadcrumbsList = getBreadcrumbs(hit)\r\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\r\n return (\r\n \r\n \r\n insights('clickedObjectIDsAfterSearch', {\r\n eventName: 'Search in top bar',\r\n objectIDs: [hit.objectID],\r\n })\r\n }\r\n >\r\n \r\n \r\n {DocIcon && }\r\n \r\n \r\n \r\n \r\n \r\n {`In ${hit.doctype}`}\r\n {breadcrumbsList.length > 0 && (\r\n \r\n )}\r\n {breadcrumbsList.map((filter: string, index: number) => (\r\n \r\n {filter}\r\n {index < breadcrumbsList.length - 1 ? (\r\n \r\n ) : null}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nconst HitWithInsights = connectHitInsights(aa)(Hit2)\r\n\r\nconst HitsBox = connectStateResults(\r\n ({ searchState, searchResults, changeFocus }) => {\r\n const router = useRouter()\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const seeAllSubmit = (keyword: string) => {\r\n router.push({\r\n pathname: '/search',\r\n query: { keyword },\r\n })\r\n changeFocus(false)\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const setQueryIDAndPosition = (hit: Hit, index: number): any => {\r\n return {\r\n ...hit,\r\n __queryID: searchResults.queryID || '',\r\n __position: searchResults.hitsPerPage * searchResults.page + index + 1,\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {searchResults && (\r\n \r\n \r\n \r\n {searchResults.hits.map(\r\n (searchResult, index) =>\r\n index < 7 && (\r\n changeFocus(false)}\r\n >\r\n \r\n \r\n )\r\n )}\r\n \r\n {searchResults.hits.length > 7 && (\r\n seeAllSubmit(searchState.query || '')}\r\n >\r\n \r\n {messages[locale]['search_input.see_all'] || 'See all results'}\r\n \r\n \r\n )}\r\n {!searchResults.hits.length && (\r\n \r\n \r\n {messages[locale]['search_input.empty'] || 'No results found. Try different search terms.'}\r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n )\r\n }\r\n)\r\n\r\nexport default HitsBox\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst APIGuidesIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default APIGuidesIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst APIReferenceIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default APIReferenceIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst AppDevelopmentIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default AppDevelopmentIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ReleaseNotesIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ReleaseNotesIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst StorefrontDevelopmentIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default StorefrontDevelopmentIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst VTEXIOAppsIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default VTEXIOAppsIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst TroubleshootingIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default TroubleshootingIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst AddedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default AddedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst DeprecatedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default DeprecatedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst FixedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default FixedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ImprovedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ImprovedIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst RemovedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default RemovedIcon\r\n","import { Hit } from 'react-instantsearch-core'\r\n\r\nimport APIGuidesIcon from 'components/icons/api-guides-icon'\r\nimport APIReferenceIcon from 'components/icons/api-reference-icon'\r\nimport AppDevelopmentIcon from 'components/icons/app-development-icon'\r\nimport ReleaseNotesIcon from 'components/icons/release-notes-icon'\r\nimport StorefrontDevelopmentIcon from 'components/icons/storefront-development-icon'\r\nimport VTEXIOAppsIcon from 'components/icons/vtex-io-apps-icon'\r\nimport TroubleshootingIcon from 'components/icons/troubleshooting-icon'\r\nimport { IconComponent, Section } from './typings/types'\r\nimport AddedIcon from 'components/icons/added-icon'\r\nimport DeprecatedIcon from 'components/icons/deprecated-icon'\r\nimport FixedIcon from 'components/icons/fixed-icon'\r\nimport ImprovedIcon from 'components/icons/improved-icon'\r\nimport RemovedIcon from 'components/icons/removed-icon'\r\n\r\nexport const getBreadcrumbs = (hit: Hit) => {\r\n const breadcrumbs: string[] = []\r\n if (hit.doctype === 'API Reference' && hit.doccategory)\r\n breadcrumbs.push(hit.doccategory)\r\n breadcrumbs.push(hit.doctitle)\r\n return breadcrumbs\r\n}\r\n\r\nexport const getRelativeURL = (url: string) => {\r\n const relativeURL = url.replace(/^(?:\\/\\/|[^/]+)*\\//, '')\r\n return '/' + relativeURL\r\n}\r\n\r\ninterface IconsI {\r\n name: string\r\n Icon: IconComponent\r\n}\r\n\r\nconst iconsMap: IconsI[] = [\r\n {\r\n Icon: APIGuidesIcon,\r\n name: 'Guides',\r\n },\r\n {\r\n Icon: APIReferenceIcon,\r\n name: 'API Reference',\r\n },\r\n {\r\n Icon: AppDevelopmentIcon,\r\n name: 'App Development',\r\n },\r\n {\r\n Icon: StorefrontDevelopmentIcon,\r\n name: 'Storefront Development',\r\n },\r\n {\r\n Icon: VTEXIOAppsIcon,\r\n name: 'VTEX IO Apps',\r\n },\r\n {\r\n Icon: TroubleshootingIcon,\r\n name: 'Troubleshooting',\r\n },\r\n {\r\n Icon: ReleaseNotesIcon,\r\n name: 'Release Notes',\r\n },\r\n]\r\n\r\nexport const getIcon = (name: string) => {\r\n return iconsMap.find((icon) => icon.name === name)?.Icon\r\n}\r\n\r\nexport const getIconFromSection = (sections: Section[][], id: string) => {\r\n return sections.flat().find((section) => section.id === id)?.Icon\r\n}\r\n\r\nexport type ActionType =\r\n | 'added'\r\n | 'deprecated'\r\n | 'fixed'\r\n | 'improved'\r\n | 'removed'\r\nexport interface Action {\r\n type: ActionType\r\n title: string\r\n Icon: IconComponent\r\n}\r\n\r\nconst actions: Action[] = [\r\n {\r\n type: 'added',\r\n title: 'Added',\r\n Icon: AddedIcon,\r\n },\r\n {\r\n type: 'deprecated',\r\n title: 'Deprecated',\r\n Icon: DeprecatedIcon,\r\n },\r\n {\r\n type: 'fixed',\r\n title: 'Fixed',\r\n Icon: FixedIcon,\r\n },\r\n {\r\n type: 'improved',\r\n title: 'Improved',\r\n Icon: ImprovedIcon,\r\n },\r\n {\r\n type: 'removed',\r\n title: 'Removed',\r\n Icon: RemovedIcon,\r\n },\r\n]\r\n\r\nexport const getAction = (actionType: ActionType): Action => {\r\n return actions.find((action) => action.type === actionType) as Action\r\n}\r\n\r\nexport const getTitleById = (sections: Section[][], id: string) => {\r\n return sections.flat().find((item) => item.id === id)?.title || id\r\n}\r\n","import { useEffect, useRef, useState } from 'react'\r\nimport { connectHighlight } from 'react-instantsearch-dom'\r\nimport { HighlightProps, Hit } from 'react-instantsearch-core'\r\nimport { Flex, Text } from '@vtex/brand-ui'\r\nimport styles from './styles'\r\n\r\ninterface HighLightPartsProps {\r\n index: number\r\n isBetween: boolean\r\n size: number\r\n}\r\n\r\ninterface HitHighlightProps {\r\n value: string\r\n isHighlighted: boolean\r\n}\r\ninterface CustomHighlightProps extends HighlightProps {\r\n searchPage?: boolean\r\n}\r\n\r\nconst Highlight = ({\r\n highlight,\r\n attribute,\r\n hit,\r\n searchPage,\r\n}: CustomHighlightProps) => {\r\n const [parsedHit, setParsedHit] = useState([])\r\n const textContainer = useRef(null)\r\n const hitHighlights: HitHighlightProps[] = highlight({\r\n highlightProperty: '_highlightResult',\r\n attribute: hit.type != 'content' ? `hierarchy.${hit.type}` : attribute,\r\n hit,\r\n })\r\n const maxDescriptionSize = 700\r\n const ellipsedContent: HitHighlightProps[] = []\r\n if (searchPage) {\r\n let charCount = 0\r\n hitHighlights.forEach((part) => {\r\n if (maxDescriptionSize - charCount <= 0) return\r\n if (part.value.length + charCount >= maxDescriptionSize) {\r\n part.value =\r\n part.value.slice(0, maxDescriptionSize - charCount - 3) + '...'\r\n }\r\n charCount += part.value.length\r\n ellipsedContent.push(part)\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (searchPage) return\r\n const titleSize = textContainer.current\r\n ? textContainer.current.offsetWidth / 7.75\r\n : 40\r\n\r\n const highlightParts: HighLightPartsProps[] = []\r\n let highlightCount = 0,\r\n highlightLength = 0\r\n\r\n hitHighlights.forEach((match: HitHighlightProps, index: number) => {\r\n const isBetween =\r\n index > 0 && index < hitHighlights.length - 1 ? true : false\r\n if (match.isHighlighted) {\r\n if (isBetween) highlightCount++\r\n highlightCount++\r\n highlightLength += match.value.length\r\n } else {\r\n highlightParts.push({\r\n index,\r\n isBetween,\r\n size: match.value.length,\r\n })\r\n }\r\n })\r\n\r\n highlightParts.sort(\r\n (a: HighLightPartsProps, b: HighLightPartsProps) => a.size - b.size\r\n )\r\n\r\n let sizeRemaining = titleSize - highlightLength\r\n let size = sizeRemaining / (highlightCount || 1)\r\n\r\n highlightParts.forEach((match: HighLightPartsProps) => {\r\n const value = hitHighlights[match.index].value\r\n if (match.isBetween) {\r\n if (match.size >= size * 2) {\r\n const reticences = (size * 2 - 3) / 2\r\n hitHighlights[match.index].value =\r\n value.slice(0, reticences) +\r\n '...' +\r\n value.slice(value.length - reticences)\r\n sizeRemaining -= size * 2\r\n } else {\r\n sizeRemaining -= match.size\r\n }\r\n highlightCount -= 2\r\n } else {\r\n if (match.size >= size) {\r\n if (match.index === 0)\r\n hitHighlights[match.index].value =\r\n '...' + value.slice(value.length - (size - 3))\r\n else\r\n hitHighlights[match.index].value = value.slice(0, size - 3) + '...'\r\n sizeRemaining -= size\r\n } else {\r\n sizeRemaining -= match.size\r\n }\r\n highlightCount -= 1\r\n }\r\n size = sizeRemaining / highlightCount\r\n hitHighlights[match.index].value = hitHighlights[\r\n match.index\r\n ].value.replace(/\\s+/g, '\\u00A0')\r\n })\r\n setParsedHit(hitHighlights)\r\n }, [hit, textContainer.current])\r\n\r\n return (\r\n \r\n \r\n {(searchPage ? ellipsedContent : parsedHit).map(\r\n (part: HitHighlightProps, index: number) =>\r\n part.isHighlighted ? (\r\n \r\n {part.value}\r\n \r\n ) : (\r\n part.value\r\n )\r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\ninterface HighlightPassedThru {\r\n hit: Hit\r\n attribute: string\r\n highlightProperty?: string | undefined\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst connectedHighlight: React.ComponentClass> =\r\n connectHighlight(Highlight)\r\n\r\nexport default connectedHighlight\r\n","import algoliasearch, { AlgoliaSearchOptions } from 'algoliasearch/lite'\r\nimport aa from 'search-insights'\r\nimport { MultipleQueriesQuery } from '@algolia/client-search'\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport let searchClient: any = {}\r\nexport let searchIndex = ''\r\n\r\ninterface AlgoliaConfig {\r\n appId: string\r\n apiKey: string\r\n index: string\r\n algoliaOptions?: AlgoliaSearchOptions\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n customOptions?: any\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n instantSearchConfigs?: any\r\n useLanguageFilter?: boolean\r\n}\r\n\r\nconst createAlgoliaClient = (config: AlgoliaConfig) => {\r\n const {\r\n apiKey,\r\n appId,\r\n index,\r\n algoliaOptions,\r\n customOptions,\r\n instantSearchConfigs,\r\n useLanguageFilter = true,\r\n } = config\r\n searchIndex = index\r\n\r\n aa('init', {\r\n appId: appId || '',\r\n apiKey: apiKey || '',\r\n useCookie: false,\r\n })\r\n\r\n aa('getUserToken', null, (err) => {\r\n if (err) {\r\n console.error(err)\r\n return\r\n }\r\n })\r\n\r\n const algoliaClient = algoliasearch(appId || '', apiKey || '', algoliaOptions)\r\n\r\n searchClient = {\r\n ...algoliaClient,\r\n ...customOptions,\r\n instantSearchConfigs,\r\n useLanguageFilter,\r\n search(requests: MultipleQueriesQuery[]) {\r\n if (requests.every(({ params }) => !params?.query)) return\r\n return algoliaClient.search(requests)\r\n },\r\n }\r\n}\r\n\r\nexport default createAlgoliaClient\r\n","import { Flex, Text, Link } from '@vtex/brand-ui'\r\nimport EditIcon from 'components/icons/edit-icon'\r\nimport LikeIcon from 'components/icons/like-icon'\r\nimport LikeSelectedIcon from 'components/icons/like-selected-icon'\r\nimport { useContext, useEffect, useRef, useState } from 'react'\r\nimport styles from './styles'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport ShareButton from 'components/share-button'\r\n\r\nexport interface DocPath {\r\n /** Slug that corresponds to the current page. */\r\n slug?: string\r\n /** Github edit URL to the corresponding documentation file. */\r\n urlToEdit?: string\r\n /** Whether is possible for the user to suggest edits or not. */\r\n suggestEdits?: boolean\r\n /** Include or not a share button. */\r\n shareButton?: boolean\r\n /** Executes when the user sends the feedback. Receives whether it was positive (liked). */\r\n sendFeedback: (liked: boolean) => Promise\r\n /** Whether to render the small version of the component or not. */\r\n small?: boolean\r\n}\r\n\r\nconst FeedbackSection = ({\r\n slug,\r\n urlToEdit,\r\n suggestEdits = true,\r\n shareButton = false,\r\n sendFeedback,\r\n small = false,\r\n}: DocPath) => {\r\n const [feedback, setFeedback] = useState(undefined)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n // Reset feedback selection whenever the page (slug) changes\r\n useEffect(() => {\r\n setFeedback(undefined)\r\n }, [slug])\r\n\r\n const handleSend = async (liked: boolean) => {\r\n if (feedback !== undefined) return\r\n setFeedback(liked)\r\n try {\r\n await sendFeedback(liked)\r\n } catch (e) {\r\n setFeedback(undefined)\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {feedback !== undefined\r\n ? messages[locale]['feedback_section.response']\r\n : messages[locale]['feedback_section.question']}\r\n \r\n\r\n \r\n {/* LIKE */}\r\n handleSend(true)}\r\n role=\"button\"\r\n aria-pressed={feedback === true}\r\n data-cy=\"feedback-section-like\"\r\n >\r\n {feedback === true ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {!small && (\r\n {messages[locale]['feedback_section.positive']}\r\n )}\r\n \r\n\r\n {/* DISLIKE */}\r\n handleSend(false)}\r\n role=\"button\"\r\n aria-pressed={feedback === false}\r\n data-cy=\"feedback-section-dislike\"\r\n >\r\n {feedback === false ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {!small && (\r\n {messages[locale]['feedback_section.negative']}\r\n )}\r\n \r\n \r\n \r\n {suggestEdits && (\r\n \r\n \r\n {messages[locale]['feedback_section.edit']}\r\n \r\n )}\r\n {shareButton && (\r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default FeedbackSection\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst EditIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default EditIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LikeIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LikeIcon\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LikeSelectedIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LikeSelectedIcon\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\ntype StyleFn = (opts?: { small?: boolean }) => SxStyleProp\r\n\r\nconst container: StyleFn = ({ small } = {}) => ({\r\n width: '100%',\r\n flexDirection: small ? 'column' : ['column', 'row'],\r\n alignItems: small ? 'flex-start' : 'center',\r\n alignContent: ['initial', 'space-between'],\r\n justifyContent: ['initial', 'space-between'],\r\n marginTop: small ? '0px' : '32px',\r\n marginBottom: small ? '0px' : '16px',\r\n gap: small ? '8px' : '0px',\r\n})\r\n\r\nconst question: StyleFn = ({ small } = {}) => ({\r\n fontSize: small ? '12px' : '16px',\r\n lineHeight: '18px',\r\n color: '#4A596B',\r\n})\r\n\r\nconst iconsContainer: StyleFn = ({ small } = {}) => ({\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: small ? '0px' : '4px',\r\n ml: small ? '3px' : '6px',\r\n})\r\n\r\nconst likeContainer: SxStyleProp = {\r\n paddingBottom: ['16px', '0'],\r\n borderBottom: ['1px solid #E7E9EE', 'none'],\r\n mt: ['8px', '0'],\r\n mb: ['16px', '0'],\r\n width: ['100%', 'auto'],\r\n justifyContent: ['center', 'initial'],\r\n alignItems: 'center',\r\n}\r\n\r\nconst likeIcon: SxStyleProp = {\r\n mr: '2px',\r\n}\r\n\r\nconst dislikeIcon: SxStyleProp = {\r\n mr: '2px',\r\n transform: 'rotateX(180deg) rotateY(180deg)',\r\n}\r\n\r\nconst button: SxStyleProp = {\r\n ':hover': {\r\n cursor: 'pointer',\r\n color: '#000711',\r\n 'svg > path': {\r\n stroke: '#000711',\r\n },\r\n },\r\n}\r\n\r\nconst buttonActive: SxStyleProp = {\r\n cursor: 'pointer',\r\n color: '#000711',\r\n 'svg > path': {\r\n stroke: '#000711',\r\n },\r\n}\r\n\r\nconst selectedButton: SxStyleProp = {\r\n color: 'muted.1',\r\n}\r\n\r\nconst box: StyleFn = ({ small } = {}) => ({\r\n alignItems: 'center',\r\n color: 'muted.0',\r\n fontSize: small ? '12px' : '16px',\r\n lineHeight: '22px',\r\n})\r\n\r\nconst disabled: SxStyleProp = {\r\n display: 'none !important',\r\n}\r\n\r\nconst editContainer: StyleFn = ({ small } = {}) => ({\r\n ...box({ small }),\r\n ...button,\r\n ':hover': {\r\n color: '#000711 !important',\r\n },\r\n // ml: ['0', 'auto'],\r\n color: '#4A596B !important',\r\n display: 'flex',\r\n})\r\n\r\nconst editIcon: SxStyleProp = { mr: '4px' }\r\n\r\nconst shareButton: SxStyleProp = {\r\n // ml: ['0', 'auto'],\r\n}\r\n\r\nexport default {\r\n disabled,\r\n container,\r\n question,\r\n likeContainer,\r\n likeIcon,\r\n dislikeIcon,\r\n editContainer,\r\n editIcon,\r\n box,\r\n button,\r\n buttonActive,\r\n selectedButton,\r\n shareButton,\r\n iconsContainer,\r\n}\r\n","import { Box, Button, Flex, Text } from '@vtex/brand-ui'\r\nimport FacebookIcon from 'components/icons/facebook-icon'\r\nimport LinkedinIcon from 'components/icons/linkedin-icon'\r\nimport ShareIcon from 'components/icons/share-icon'\r\nimport TwitterIcon from 'components/icons/twitter-icon'\r\nimport { useRef, useState } from 'react'\r\nimport {\r\n FacebookShareButton,\r\n LinkedinShareButton,\r\n TwitterShareButton,\r\n EmailShareButton,\r\n} from 'react-share'\r\nimport styles from './styles'\r\nimport EmailIcon from 'components/icons/email-icon'\r\nimport LinkIcon from 'components/icons/link-icon'\r\nimport { SxStyleProp } from '@vtex/brand-ui'\r\nimport useClickOutside from 'utils/hooks/useClickOutside'\r\n\r\ninterface Props {\r\n url: string\r\n sx?: SxStyleProp\r\n}\r\n\r\nconst ShareButton = ({ url, sx={} }: Props) => {\r\n const [isOpen, setIsOpen] = useState(false)\r\n const containerRef = useRef()\r\n useClickOutside(containerRef, () => setIsOpen(false))\r\n\r\n const handleCopyLink = async () => {\r\n try {\r\n if (window) await navigator.clipboard.writeText(window.location.href)\r\n } catch (error) {\r\n console.error('Error copying link to clipboard:', error)\r\n }\r\n }\r\n\r\n return (\r\n \r\n setIsOpen(!isOpen)}\r\n >\r\n Share\r\n \r\n {isOpen && (\r\n \r\n \r\n \r\n Copy link\r\n \r\n \r\n \r\n \r\n \r\n E-mail\r\n \r\n \r\n \r\n \r\n \r\n Twitter\r\n \r\n \r\n \r\n \r\n \r\n Facebook\r\n \r\n \r\n \r\n \r\n \r\n LinkedIn\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nexport default ShareButton\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst FacebookIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default FacebookIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LinkedinIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default LinkedinIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst ShareIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default ShareIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst TwitterIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default TwitterIcon\r\n\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n position: 'relative',\r\n height: '24px',\r\n}\r\n\r\nconst button: SxStyleProp = {\r\n cursor: 'pointer',\r\n textTransform: 'none',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n color: '#4A596B',\r\n width: '24px',\r\n height: '24px',\r\n transition: '0.3s',\r\n ':hover': {\r\n color: '#000711 !important',\r\n textDecoration: 'none',\r\n },\r\n alignItems: 'start',\r\n}\r\n\r\nconst shareIcon: SxStyleProp = {\r\n marginRight: '4px',\r\n}\r\n\r\nconst innerButton: SxStyleProp = {\r\n gap: '16px',\r\n color: '#A1AAB7',\r\n cursor: 'pointer',\r\n transition: '0.3s',\r\n ':hover': {\r\n color: '#4A4A4A',\r\n },\r\n alignItems: 'center',\r\n}\r\n\r\nconst innerContainer: SxStyleProp = {\r\n position: 'absolute',\r\n backgroundColor: 'white',\r\n flexDirection: 'column',\r\n top: '100%',\r\n right: '0',\r\n mt: '8px',\r\n padding: '16px',\r\n gap: '16px',\r\n boxShadow: '0px 0px 16px rgba(0, 0, 0, 0.1)',\r\n borderRadius: '5px',\r\n\r\n ':before': {\r\n content: \"''\",\r\n position: 'absolute',\r\n top: '-8px',\r\n right: '8px',\r\n borderLeft: '8px solid transparent',\r\n borderRight: '8px solid transparent',\r\n borderBottom: '8px solid white',\r\n boxShadow: '0 16px 10px -17px rgba(0, 0, 0, 0.5)',\r\n },\r\n}\r\n\r\nconst divider: SxStyleProp = {\r\n borderBottom: '1px solid #E7E9EE',\r\n}\r\n\r\nexport default {\r\n container,\r\n button,\r\n shareIcon,\r\n innerButton,\r\n innerContainer,\r\n divider,\r\n}\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst EmailIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n)\r\n\r\nexport default EmailIcon\r\n\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst LinkIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default LinkIcon\r\n\r\n","import { Box, Flex } from '@vtex/brand-ui'\r\nimport SearchSections from 'components/search-sections'\r\nimport SearchResults from 'components/search-results'\r\nimport SearchFilterTabBar from 'components/search-filter-tab-bar'\r\nimport SearchContextProvider from 'utils/context/search'\r\nimport styles from './styles'\r\nimport SearchInput from 'components/search-input'\r\n\r\nconst Search = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default Search\r\n","import { Box } from '@vtex/brand-ui'\r\n\r\nimport SearchSection from 'components/search-section'\r\nimport styles from './styles'\r\nimport { useContext } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nconst SearchSections = () => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n\r\n const internalOnlySections = sidebarSections.map((section) =>\r\n section.filter((item) => !item.isExternalLink)\r\n )\r\n\r\n return (\r\n \r\n {internalOnlySections.map((sections, id) => (\r\n \r\n {id === 0 && }\r\n {sections.map((section, index) => (\r\n \r\n ))}\r\n \r\n ))}\r\n \r\n )\r\n}\r\n\r\nexport default SearchSections\r\n","import { Box, Flex, Text } from '@vtex/brand-ui'\r\nimport { useContext, useEffect } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport styles from './styles'\r\nimport { useRouter } from 'next/router.js'\r\nimport { FilterType, SearchContext } from 'utils/context/search'\r\nimport { Section } from 'utils/typings/types'\r\n\r\ninterface SearchSectionProps {\r\n dataElement: Section | null\r\n index?: number\r\n}\r\n\r\nconst SearchSection = ({ dataElement, index }: SearchSectionProps) => {\r\n const router = useRouter()\r\n const { filterSelectedSection, ocurrenceCount, changeFilterSelectedSection } =\r\n useContext(SearchContext)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n const updateFilter = (value: FilterType) => {\r\n router.query.filter = value\r\n changeFilterSelectedSection(value)\r\n }\r\n\r\n useEffect(() => {\r\n updateFilter('')\r\n }, [router.query])\r\n\r\n return !dataElement ? (\r\n updateFilter('')}>\r\n \r\n {messages[locale]['search_results.all'] || 'All results' }\r\n \r\n \r\n {ocurrenceCount['']}\r\n \r\n \r\n ) : (\r\n updateFilter(dataElement.id)}\r\n >\r\n \r\n \r\n \r\n {dataElement.title}\r\n \r\n \r\n \r\n {ocurrenceCount[dataElement.id] || 0}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SearchSection\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst sectionContainer: SxStyleProp = {\r\n justifyContent: 'space-between',\r\n padding: '8px',\r\n mb: '8px',\r\n cursor: 'pointer',\r\n ':active, :hover': {\r\n backgroundColor: '#F8F7FC',\r\n borderRadius: '4px',\r\n '.search-section-title': {\r\n color: '#000711',\r\n },\r\n '.search-section-count': {\r\n background: '#E7E9EE',\r\n },\r\n },\r\n}\r\n\r\nconst sectionIconTitleBox: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst sectionIcon: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n mr: '8px',\r\n}\r\n\r\nconst sectionTitle: SxStyleProp = {\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n}\r\n\r\nconst sectionTitleActive: SxStyleProp = {\r\n ...sectionTitle,\r\n color: '#142032',\r\n fontWeight: '600',\r\n}\r\n\r\nconst sectionCount: SxStyleProp = {\r\n background: '#F8F7FC',\r\n borderRadius: '24px',\r\n width: 'auto',\r\n textAlign: 'center',\r\n px: '8px',\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n}\r\n\r\nconst allResultsText: SxStyleProp = {\r\n ...sectionTitle,\r\n ml: '24px',\r\n}\r\n\r\nconst allResultsTextActive: SxStyleProp = {\r\n ...allResultsText,\r\n fontWeight: 'bold',\r\n color: '#0C1522',\r\n}\r\n\r\nexport default {\r\n sectionContainer,\r\n sectionIconTitleBox,\r\n sectionIcon,\r\n sectionTitle,\r\n sectionTitleActive,\r\n sectionCount,\r\n allResultsText,\r\n allResultsTextActive,\r\n}\r\n","import {\r\n createContext,\r\n Dispatch,\r\n ReactNode,\r\n SetStateAction,\r\n useState,\r\n} from 'react'\r\n\r\nexport type FilterType = string\r\n\r\ntype OcurrenceType = {\r\n [key: string]: number\r\n}\r\n\r\ntype SearchContextType = {\r\n filterSelectedSection: FilterType\r\n changeFilterSelectedSection: Dispatch>\r\n ocurrenceCount: OcurrenceType\r\n updateOcurrenceCount: (resultsData: OcurrenceType) => void\r\n}\r\n\r\nexport const SearchContext = createContext({\r\n filterSelectedSection: '',\r\n changeFilterSelectedSection: () => undefined,\r\n ocurrenceCount: {},\r\n updateOcurrenceCount: () => undefined,\r\n})\r\n\r\ninterface Props {\r\n children: ReactNode\r\n}\r\n\r\nconst SearchContextProvider = ({ children }: Props) => {\r\n const [filterSelectedSection, changeFilterSelectedSection] =\r\n useState('')\r\n const [ocurrenceCount, changeOcurrenceCount] = useState({})\r\n\r\n const updateOcurrenceCount = (resultsData: OcurrenceType) => {\r\n changeOcurrenceCount(resultsData)\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport default SearchContextProvider\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n display: ['none', 'none', 'none', 'initial'],\r\n height: '100%',\r\n width: '242px',\r\n border: '1px solid #E7E9EE',\r\n borderRadius: '4px',\r\n mr: ['32px', '32px', '32px', '32px', '32px', '32px', '64px'],\r\n mt: '96px',\r\n}\r\n\r\nconst notesSection: SxStyleProp = {\r\n px: '8px',\r\n paddingTop: '8px',\r\n}\r\n\r\nconst docsSection: SxStyleProp = {\r\n ...notesSection,\r\n borderBottom: '1px solid #E7E9EE',\r\n}\r\n\r\nexport default {\r\n container,\r\n notesSection,\r\n docsSection,\r\n}\r\n","import { useRouter } from 'next/router.js'\r\nimport { useContext, useState } from 'react'\r\n\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport { Box, Text } from '@vtex/brand-ui'\r\n\r\nimport { Configure, InstantSearch } from 'react-instantsearch-dom'\r\nimport { SearchState } from 'react-instantsearch-core'\r\nimport InfiniteHits from './infiniteHits'\r\n\r\nimport styles from './styles'\r\nimport { SearchContext } from 'utils/context/search'\r\nimport { searchClient, searchIndex } from 'utils/config/search-config'\r\n\r\nconst SearchResults = () => {\r\n const router = useRouter()\r\n const { filterSelectedSection, ocurrenceCount } = useContext(SearchContext)\r\n const { locale } = useContext(LibraryContext)\r\n const filters = [\r\n `language:${locale}`,\r\n filterSelectedSection ? `doctype:\"${filterSelectedSection}\"` : '',\r\n ]\r\n .filter(Boolean)\r\n .join(' AND ')\r\n const [prevFilter, setPrevFilter] = useState('')\r\n const [searchState, setSearchState] = useState({})\r\n\r\n const updateSearchState = (currentState: SearchState) => {\r\n const page = filters !== prevFilter ? 1 : currentState.page || 1\r\n setPrevFilter(filters)\r\n setSearchState({\r\n ...currentState,\r\n page,\r\n })\r\n }\r\n\r\n return (\r\n \r\n \r\n {`${messages[locale]['search_results.showing'] || 'Showing'} ${\r\n ocurrenceCount[filterSelectedSection] === undefined\r\n ? ''\r\n : ocurrenceCount[filterSelectedSection]\r\n } ${messages[locale]['search_results.results_for'] || 'results for'} ${\r\n router.query.keyword\r\n } ${messages[locale]['search_results.in'] || 'in'} ${\r\n !filterSelectedSection\r\n ? messages[locale]['search_results.all_lowercase'] || 'all results'\r\n : filterSelectedSection\r\n }`}\r\n \r\n
\r\n \r\n \r\n updateSearchState(currentState)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default SearchResults\r\n","import { useContext, useEffect, useMemo, useRef } from 'react'\r\nimport {\r\n connectInfiniteHits,\r\n connectStateResults,\r\n} from 'react-instantsearch-dom'\r\nimport {\r\n Hit,\r\n InfiniteHitsProvided,\r\n StateResultsProvided,\r\n} from 'react-instantsearch-core'\r\nimport SearchCard from 'components/search-card'\r\nimport {\r\n ActionType,\r\n getIconFromSection,\r\n getRelativeURL,\r\n getTitleById,\r\n} from 'utils/search-utils'\r\nimport { Box, Flex } from '@vtex/brand-ui'\r\nimport { MethodType } from 'utils/typings/types'\r\nimport { SearchContext } from 'utils/context/search'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\n\r\nexport type FilteredHit2 = Hit & { filteredMatches?: Hit[] }\r\n\r\ninterface HitProps {\r\n hit: FilteredHit2\r\n}\r\n\r\nconst HitCard = ({ hit }: HitProps) => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n const breadcrumbTitle = getTitleById(sidebarSections, hit.doctype)\r\n\r\n const breadcrumbs = [\r\n breadcrumbTitle,\r\n ...(hit.doccategory ? [hit.doccategory] : []),\r\n ,\r\n hit.doctitle,\r\n ]\r\n const DocIcon = getIconFromSection(sidebarSections, hit.doctype)\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nconst StateResults = connectStateResults(\r\n ({ searchResults }: StateResultsProvided) => {\r\n const { updateOcurrenceCount } = useContext(SearchContext)\r\n\r\n useEffect(() => {\r\n if (!searchResults) return\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const results = searchResults as any\r\n const isFilteringByDoctype =\r\n typeof results?._state.filters === 'string' &&\r\n results._state.filters.includes('doctype:')\r\n\r\n const facets = results?.facets as\r\n | Array<{\r\n name: string\r\n data: Record\r\n exhaustive?: boolean\r\n }>\r\n | undefined\r\n\r\n const doctypeFacet = facets?.find((facet) => facet.name === 'doctype')\r\n const nbHits = results?.nbHits ?? 0\r\n\r\n const formattedFacets: Record = {}\r\n\r\n if (doctypeFacet?.data) {\r\n Object.entries(doctypeFacet.data).forEach(([key, value]) => {\r\n if (typeof value === 'number') {\r\n formattedFacets[key] = value\r\n }\r\n })\r\n }\r\n\r\n formattedFacets[''] = nbHits\r\n\r\n if (!isFilteringByDoctype) {\r\n updateOcurrenceCount(formattedFacets)\r\n }\r\n }, [searchResults?.queryID])\r\n\r\n return null\r\n }\r\n)\r\n\r\nconst InfiniteHits = ({ hits, hasMore, refineNext }: InfiniteHitsProvided) => {\r\n const scrollRef = useRef(null)\r\n\r\n function onSentinelIntersection(entries: IntersectionObserverEntry[]) {\r\n entries.forEach((entry: IntersectionObserverEntry) => {\r\n if (entry.isIntersecting && hasMore) {\r\n refineNext()\r\n }\r\n })\r\n }\r\n\r\n const filteredResult = useMemo(() => {\r\n const mergeHits: FilteredHit2[] = [] //hitsData\r\n hits.forEach((hit) => {\r\n const alreadyExists = mergeHits.findIndex(\r\n (e) => e.url_without_anchor === hit.url_without_anchor\r\n )\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const filteredHit: any = { ...hit, filteredMatches: [] }\r\n if (alreadyExists >= 0) {\r\n mergeHits[alreadyExists].filteredMatches?.push(filteredHit)\r\n } else mergeHits.push(filteredHit)\r\n })\r\n return mergeHits\r\n }, [hits])\r\n\r\n useEffect(() => {\r\n const observer = new IntersectionObserver(onSentinelIntersection, {})\r\n\r\n if (scrollRef.current) observer.observe(scrollRef.current)\r\n return () => {\r\n observer.disconnect()\r\n }\r\n }, [hits])\r\n return (\r\n \r\n \r\n {filteredResult.map((hit: Hit, index: number) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default connectInfiniteHits(InfiniteHits)\r\n","import { Box, Flex, Text, IconCaret, Tooltip } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport Link from 'next/link.js'\r\nimport CustomHighlight from 'components/search-input/customHighlight'\r\nimport { useState } from 'react'\r\nimport { useContext } from 'react'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\nimport ExpandedResultsIcon from 'components/icons/expanded-results-icon'\r\nimport { Hit } from 'react-instantsearch-core'\r\nimport MethodCategory from 'components/method-category'\r\nimport { IconComponent, MethodType } from 'utils/typings/types'\r\nimport { ActionType, getAction } from 'utils/search-utils'\r\n\r\nexport type FilteredHit = Hit & { filteredMatches?: Hit[] }\r\ninterface SearchCardProps {\r\n doc: string\r\n title: string\r\n breadcrumbs?: string[]\r\n method?: MethodType\r\n actionType?: ActionType\r\n Icon?: IconComponent\r\n url: string\r\n hit: FilteredHit\r\n}\r\n\r\nconst SearchCard = ({\r\n Icon,\r\n title,\r\n method,\r\n breadcrumbs,\r\n actionType,\r\n url,\r\n hit,\r\n}: SearchCardProps) => {\r\n const actionValue = actionType ? getAction(actionType) : null\r\n const [toggleChildResults, setToggleChildResults] = useState(false)\r\n const { locale } = useContext(LibraryContext)\r\n return (\r\n \r\n \r\n \r\n \r\n {Icon && }\r\n {method ? (\r\n \r\n ) : null}\r\n {title === 'overview' && `${hit.doccategory} `}\r\n {title}\r\n \r\n \r\n \r\n \r\n \r\n {toggleChildResults &&\r\n hit.filteredMatches?.map((childHit, index: number) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n {breadcrumbs ? (\r\n \r\n \r\n {messages[locale]['search_card.in'] || 'In'}\r\n \r\n {breadcrumbs.map((breadcrumb, index) => (\r\n \r\n \r\n {breadcrumb}\r\n \r\n {index < breadcrumbs.length - 1 ? (\r\n \r\n ) : null}\r\n \r\n ))}\r\n \r\n ) : null}\r\n {actionValue ? (\r\n \r\n {' '}\r\n {actionValue?.title}\r\n \r\n ) : null}\r\n \r\n {hit.filteredMatches && hit.filteredMatches.length > 0 && (\r\n {\r\n setToggleChildResults(!toggleChildResults)\r\n event.stopPropagation()\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n )\r\n}\r\n\r\nexport default SearchCard\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\nimport { methodsColors } from 'components/method-category/functions'\r\nimport { MethodType } from 'utils/typings/unionTypes'\r\n\r\nconst container: SxStyleProp = {\r\n justifyContent: 'space-between',\r\n borderRadius: '9px',\r\n border: '1px solid #DDDDDD',\r\n width: '100%',\r\n mb: '18px',\r\n paddingTop: '26px',\r\n paddingBottom: '10px',\r\n paddingLeft: ['13px', '44px'],\r\n paddingRight: ['13px', '34px'],\r\n background: '#FFFFFF',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst containerActive = (method: MethodType | undefined): SxStyleProp => {\r\n const methodCategory = method ? methodsColors[method] : ''\r\n return {\r\n ...container,\r\n ':hover': {\r\n background: '#F8F7FC',\r\n '.searchCardTitle, .searchCardDescription': {\r\n color: '#142032',\r\n },\r\n '.method-category': {\r\n ...methodCategory,\r\n },\r\n },\r\n }\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n display: 'flex',\r\n alignItems: 'flex-start',\r\n fontSize: ['16px', '18px'],\r\n lineHeight: ['22px', '24px'],\r\n color: 'muted.0',\r\n}\r\n\r\nconst httpMethod: SxStyleProp = {\r\n mr: '4px',\r\n}\r\n\r\nconst icon: SxStyleProp = {\r\n width: '24px',\r\n height: '24px',\r\n mr: '8px',\r\n path: {\r\n stroke: '#A1A8B3',\r\n },\r\n}\r\n\r\nconst description: SxStyleProp = {\r\n fontSize: '16px',\r\n lineHeight: '22px',\r\n paddingLeft: '32px',\r\n color: 'muted.0',\r\n mt: '4px',\r\n mb: '8px',\r\n}\r\n\r\nconst descriptionToggle: SxStyleProp = {\r\n height: 'auto',\r\n minWidth: 'auto',\r\n}\r\n\r\nconst descriptionExpandedItem: SxStyleProp = {\r\n mt: '24px',\r\n}\r\n\r\nconst breadcrumbsContainer: SxStyleProp = {\r\n display: ['none', 'flex'],\r\n paddingLeft: '32px',\r\n alignItems: 'center',\r\n}\r\n\r\nconst alignCenter: SxStyleProp = {\r\n alignItems: 'center',\r\n}\r\n\r\nconst documentation: SxStyleProp = {\r\n ...alignCenter,\r\n minWidth: 'max-content',\r\n}\r\n\r\nconst breadcrumb: SxStyleProp = {\r\n color: 'muted.1',\r\n fontSize: '16px',\r\n lineHeight: '18px',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis',\r\n}\r\n\r\nconst lastBreadcrumb: SxStyleProp = {\r\n ...breadcrumb,\r\n margin: 'auto 0',\r\n display: 'block',\r\n overflow: 'hidden',\r\n maxWidth: 'max-content',\r\n whiteSpace: 'nowrap',\r\n}\r\n\r\nconst breadcrumbsIn: SxStyleProp = {\r\n ...breadcrumb,\r\n mr: '4px',\r\n minWidth: 'fit-content',\r\n}\r\n\r\nconst breadcrumbsArrow: SxStyleProp = {\r\n width: '16px',\r\n height: '16px',\r\n color: 'muted.2',\r\n}\r\n\r\nconst actionContainer: SxStyleProp = {\r\n paddingLeft: '32px',\r\n alignItems: 'center',\r\n}\r\n\r\nconst actionIcon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n height: '16px',\r\n mr: '8px',\r\n}\r\n\r\nexport default {\r\n containerActive,\r\n title,\r\n httpMethod,\r\n icon,\r\n description,\r\n descriptionToggle,\r\n descriptionExpandedItem,\r\n breadcrumbsContainer,\r\n alignCenter,\r\n documentation,\r\n breadcrumb,\r\n lastBreadcrumb,\r\n breadcrumbsIn,\r\n breadcrumbsArrow,\r\n actionContainer,\r\n actionIcon,\r\n}\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\ninterface ExpandedResultsProps extends IconProps {\r\n active: boolean\r\n}\r\n\r\nconst ExpandedResultsIcon = ({ active }: ExpandedResultsProps) =>\r\n active ? (\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )\r\n\r\nexport default ExpandedResultsIcon\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst resultContainer: SxStyleProp = {\r\n width: ['80%', '544px', '544px', '544px', '720px', '720px', '1400px'],\r\n paddingTop: ['32px', '32px', '32px', '64px'],\r\n hr: {\r\n marginTop: '16px',\r\n marginBottom: '32px',\r\n borderTop: 'none',\r\n borderColor: '#DDDDDD',\r\n display: ['none', 'none', 'none', 'block'],\r\n },\r\n}\r\n\r\nconst resultText: SxStyleProp = {\r\n mb: '16px',\r\n fontSize: '16px',\r\n lineHeight: '22px',\r\n display: ['none', 'none', 'none', 'initial'],\r\n}\r\n\r\nconst paginationContainer: SxStyleProp = {\r\n mt: ['48px', '115px'],\r\n mb: '34px',\r\n justifyContent: 'center',\r\n}\r\n\r\nconst paginationLink: SxStyleProp = {\r\n fontSize: '16px',\r\n lineHeight: '20px',\r\n color: '#EE2565',\r\n cursor: 'pointer',\r\n}\r\n\r\nconst paginationLinkDisabled: SxStyleProp = {\r\n ...paginationLink,\r\n color: 'muted.1',\r\n}\r\n\r\nconst paginationNumber: SxStyleProp = {\r\n display: 'flex',\r\n fontSize: ['14px', '16px'],\r\n lineHeight: '20px',\r\n color: '#4A596B',\r\n mx: ['18px', '27px'],\r\n}\r\n\r\nconst paginationActualNumber: SxStyleProp = {\r\n fontWeight: '700',\r\n mx: '4px',\r\n}\r\n\r\nconst noResults: SxStyleProp = {\r\n justifyContent: 'center',\r\n alignContent: 'center',\r\n padding: '12px',\r\n}\r\n\r\nexport default {\r\n resultContainer,\r\n resultText,\r\n paginationContainer,\r\n paginationLink,\r\n paginationLinkDisabled,\r\n paginationNumber,\r\n paginationActualNumber,\r\n noResults,\r\n}\r\n","import { useContext } from 'react'\r\nimport { Flex, Text } from '@vtex/brand-ui'\r\n\r\nimport styles from './styles'\r\nimport { SearchContext } from 'utils/context/search'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport { messages } from 'utils/get-message'\r\n\r\nconst SearchFilterTab = ({ filter }: { filter: string }) => {\r\n const { filterSelectedSection, changeFilterSelectedSection, ocurrenceCount } =\r\n useContext(SearchContext)\r\n const { locale } = useContext(LibraryContext)\r\n\r\n return (\r\n changeFilterSelectedSection(filter)}\r\n >\r\n \r\n {filter || messages[locale]['search_results.all'] || 'All results'}\r\n \r\n {ocurrenceCount[filter] || 0}\r\n \r\n )\r\n}\r\n\r\nconst SearchFilterTabBar = () => {\r\n const { sidebarSections } = useContext(LibraryContext)\r\n return (\r\n \r\n \r\n {sidebarSections.flat().map((section) => {\r\n return \r\n })}\r\n \r\n )\r\n}\r\n\r\nexport default SearchFilterTabBar\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst container: SxStyleProp = {\r\n display: ['flex', 'flex', 'flex', 'none'],\r\n overflowX: 'scroll',\r\n scrollbarWidth: 'none',\r\n '::-webkit-scrollbar': {\r\n display: 'none',\r\n },\r\n}\r\n\r\nconst tab: (active: boolean) => SxStyleProp = (active) => ({\r\n pt: '8px',\r\n pb: '14px',\r\n px: '24px',\r\n cursor: 'pointer',\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n borderBottom: `${active ? 2 : 1}px solid #${active ? 'D71D55' : 'DDDDDD'}`,\r\n minWidth: 'max-content',\r\n})\r\n\r\nconst tabTitle: (active: boolean) => SxStyleProp = (active) => ({\r\n fontSize: '14px',\r\n fontWeight: '600',\r\n lineHeight: '16.38px',\r\n whiteSpace: 'nowrap',\r\n color: `#${active ? 'D71D55' : '545454'}`,\r\n})\r\n\r\nconst tabCount: SxStyleProp = {\r\n px: '8px',\r\n ml: '2px',\r\n fontSize: '12px',\r\n fontWeight: '400',\r\n lineHeight: '16px',\r\n borderRadius: '24px',\r\n backgroundColor: '#F8F7FC',\r\n}\r\n\r\nexport default { container, tab, tabTitle, tabCount }\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst searchBarContainer: SxStyleProp = {\r\n display: ['flex', 'flex', 'flex', 'none'],\r\n justifyContent: 'center',\r\n py: '16px',\r\n}\r\n\r\nconst body: SxStyleProp = {\r\n background: '#FFFFFF',\r\n justifyContent: 'center',\r\n}\r\n\r\nexport default {\r\n searchBarContainer,\r\n body,\r\n}\r\n","import { ReactNode, useContext } from 'react'\r\nimport { CookieConsent } from 'react-cookie-consent'\r\nimport styles from './styles'\r\nimport { Flex, SxStyleProp, Text } from '@vtex/brand-ui'\r\nimport { messages } from 'utils/get-message'\r\nimport { LibraryContext } from 'utils/context/libraryContext'\r\nimport aa from 'search-insights'\r\n\r\ninterface Props {\r\n onAccept: () => void\r\n}\r\n\r\ninterface ButtonProps {\r\n children: ReactNode[]\r\n style: SxStyleProp\r\n}\r\n\r\nconst Button = ({ children, style, ...props }: ButtonProps) => {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nconst CookieBar = ({ onAccept }: Props) => {\r\n const { locale } = useContext(LibraryContext)\r\n\r\n return (\r\n {\r\n aa('init', {\r\n partial: true,\r\n useCookie: true,\r\n })\r\n onAccept()\r\n }}\r\n declineButtonText={messages[locale]['cookie_bar.decline']}\r\n buttonText={messages[locale]['cookie_bar.accept']}\r\n ButtonComponent={Button}\r\n customButtonWrapperAttributes={{ style: styles.buttonContainer }}\r\n customContentAttributes={{ style: styles.barContent }}\r\n >\r\n {messages[locale]['cookie_bar.title']}\r\n {messages[locale]['cookie_bar.description']}\r\n \r\n )\r\n}\r\n\r\nexport default CookieBar\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst bar: SxStyleProp = {\r\n backgroundColor: '#FFF',\r\n borderRadius: '8px',\r\n color: '#5E6E84',\r\n padding: '20px',\r\n width: '80%',\r\n left: '50%',\r\n transform: 'translateX(-50%)',\r\n maxWidth: '1280px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n boxShadow: '0 0 10px rgba(0, 0, 0, 0.1)',\r\n}\r\n\r\nconst barContent: SxStyleProp = {\r\n display: 'flex',\r\n flex: '1 0 300px',\r\n flexDirection: 'column',\r\n maxWidth: '100%',\r\n}\r\n\r\nconst title: SxStyleProp = {\r\n color: '#5E6E84',\r\n marginBottom: '10px',\r\n lineHeight: '28px',\r\n fontSize: '25px',\r\n fontWeight: '400',\r\n}\r\n\r\nconst buttonContainer: SxStyleProp = {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n gap: '10px',\r\n justifyContent: 'center',\r\n margin: '15px',\r\n}\r\n\r\nconst acceptButton: SxStyleProp = {\r\n background: '#F71963',\r\n color: '#FFF',\r\n padding: '7px 16px',\r\n borderRadius: '2px',\r\n margin: '0',\r\n height: '32px',\r\n fontWeight: '400',\r\n\r\n ':hover': {\r\n opacity: '0.7',\r\n },\r\n}\r\n\r\nconst declineButton: SxStyleProp = {\r\n border: '1px solid #F71963',\r\n background: '#FFF',\r\n color: '#F71963',\r\n borderRadius: '2px',\r\n fontWeight: '400',\r\n margin: '0',\r\n height: '32px',\r\n\r\n ':hover': {\r\n opacity: '0.7',\r\n },\r\n}\r\n\r\nexport default {\r\n bar,\r\n barContent,\r\n title,\r\n acceptButton,\r\n declineButton,\r\n buttonContainer,\r\n}\r\n","import { Button } from '@vtex/brand-ui'\r\nimport Tooltip from 'components/tooltip'\r\nimport CopyIcon from '../icons/copy-icon'\r\nimport { useState } from 'react'\r\nimport styles from './styles'\r\n\r\nconst CopyLinkButton = () => {\r\n const [tooltipText, setTooltipText] = useState('Copy')\r\n\r\n const handleCopy = () => {\r\n navigator.clipboard.writeText(window.location.href)\r\n setTooltipText('Copy')\r\n\r\n setTimeout(() => {\r\n setTooltipText('Copied!')\r\n }, 2000)\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default CopyLinkButton\r\n","import type { IconProps } from '@vtex/brand-ui'\r\nimport { Icon } from '@vtex/brand-ui'\r\n\r\nconst CopyIcon = (props: IconProps) => (\r\n \r\n \r\n \r\n \r\n)\r\n\r\nexport default CopyIcon\r\n","import type { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst copyIcon: SxStyleProp = {\r\n marginRight: '4px',\r\n}\r\n\r\nconst copyLinkButton: SxStyleProp = {\r\n textTransform: 'none',\r\n color: '#3F3F3F',\r\n fontWeight: '100',\r\n fontSize: '12px',\r\n lineHeight: '18px',\r\n height: 'none',\r\n padding: '8px 5px 8px 8px',\r\n border: '1px solid #A1AAB7',\r\n backgroundColor: 'white',\r\n ':hover': {\r\n backgroundColor: '#EFEFEF',\r\n },\r\n}\r\n\r\nexport default {\r\n copyIcon,\r\n copyLinkButton,\r\n}\r\n","import { useState, useEffect } from 'react'\r\nimport styles from './styles'\r\nimport { Flex } from '@vtex/brand-ui'\r\nimport { IconComponent } from 'utils/typings/types'\r\n\r\ninterface InputProps {\r\n value: string\r\n Icon?: IconComponent\r\n placeholder?: string\r\n onChange: (value: string) => void\r\n}\r\n\r\nconst Input = ({ value, onChange, placeholder = '', Icon }: InputProps) => {\r\n const [inputValue, setInputValue] = useState(value ?? '')\r\n\r\n useEffect(() => {\r\n if (inputValue !== value) setInputValue(value)\r\n }, [value])\r\n\r\n return (\r\n \r\n {Icon && }\r\n {\r\n setInputValue(e.currentTarget.value)\r\n onChange(e.currentTarget.value)\r\n }}\r\n />\r\n \r\n )\r\n}\r\n\r\nexport default Input\r\n","import { SxStyleProp } from '@vtex/brand-ui'\r\n\r\nconst input: SxStyleProp = {\r\n background: 'none',\r\n border: '#F4F4F4',\r\n color: '#545454',\r\n fontSize: ['14px'],\r\n width: '100%',\r\n transition: 'flex 0.3s',\r\n outline: 'none',\r\n}\r\n\r\nconst icon: SxStyleProp = {\r\n minWidth: '16px',\r\n minHeight: '16px',\r\n width: '16px',\r\n mr: '8px',\r\n flex: 0,\r\n maxWidth: 'fit-content',\r\n}\r\n\r\nconst container: SxStyleProp = {\r\n paddingLeft: '12px',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n background: '#F4F4F4',\r\n width: '100%',\r\n height: '40px',\r\n borderRadius: '4px',\r\n transition: 'all 0.3s ease-out',\r\n cursor: 'pointer',\r\n border: '1px solid #F4F4F4',\r\n\r\n ':hover': {\r\n transition: 'all 0.3s ease-out',\r\n border: '1px solid #3B3B3B',\r\n },\r\n}\r\n\r\nexport default { container, input, icon }\r\n"],"mappings":"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","names":["Fragment","text","text","i","checker","version","encode","version","searchIndex","body","parse","algoliasearch","algoliasearch","Box","useEffect","useRef","useState","Box","Flex","mermaid","jsx","jsxs","icon","link","Icon","jsx","PropTypes","Box","styles_default","jsx","Box","styles_default","useEffect","Box","Flex","Icon","jsx","jsxs","body","styles_default","jsx","jsxs","useEffect","Flex","styles_default","Box","Box","Flex","Link","container","styles_default","jsx","jsxs","title","description","Link","styles_default","Box","Flex","useEffect","useState","jsx","title","sidebarElementStatus","item","heading","img","heading","code","blockquote","blockquoteInfo","blockquoteDanger","blockquoteWarning","blockquoteSuccess","flexWrap","svgContainer","messages","jsx","jsxs","useState","icon","useRef","useEffect","mermaid","Box","Flex","item","jsx","Box","useContext","useEffect","Link","Box","Text","styles_default","jsx","jsxs","useContext","useEffect","headings","item","title","Link","Text","styles_default","Box","useEffect","useRef","useState","useContext","Flex","Text","Box","Link","linkContainer","styles_default","iconTooltip","useEffect","useRef","useState","Box","Flex","styles_default","Icon","jsx","jsx","jsxs","label","box","useRef","useState","useEffect","Box","Flex","styles_default","useRouter","useEffect","getIcon","icon","Flex","Box","Text","Button","useContext","useState","styles_default","Box","Flex","Text","Flex","Text","container","styles_default","categoryStyle","styles_default","Icon","jsx","jsxs","jsx","jsxs","Flex","Text","styles_default","useContext","useState","container","text","styles_default","jsx","jsxs","useState","useContext","Box","styles_default","Text","Flex","useRouter","useContext","Box","Flex","Link","Button","IconCaret","sectionDivider","styles_default","icon","styles_default","textStyle","jsx","jsxs","useContext","useRouter","slugPrefix","Box","styles_default","Flex","Button","IconCaret","Link","item","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","jsxs","Fragment","jsx","jsxs","documentation","useState","useContext","category","getIcon","Box","styles_default","Flex","Button","Text","sidebarSectionHidden","Fragment","jsx","jsxs","useState","useContext","useEffect","iconTooltip","useRef","Box","styles_default","Link","Flex","Text","Box","IconCaret","Button","arrowIcon","arrowIconActive","styles_default","useContext","Link","Box","Flex","Text","cardContainer","title","description","styles_default","cardContainer","styles_default","titleContainer","cardTitle","jsx","jsxs","title","description","link","Icon","Link","Box","cardContainer","Flex","titleContainer","Text","styles_default","useRef","useContext","useRouter","Flex","searchInput","searchIcon","styles_default","jsx","jsxs","useRouter","useRef","useContext","Flex","styles_default","useRouter","Link","Box","Flex","IconCaret","Text","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","item","useEffect","useRef","useState","Flex","Text","jsx","useState","useRef","useEffect","Flex","styles_default","Text","useContext","Fragment","jsx","jsxs","useContext","Link","Box","styles_default","Flex","Text","IconCaret","useRouter","Box","useContext","useRef","useState","aa","algoliasearch","jsx","jsxs","useContext","useState","resultsBox","useRef","Box","jsx","jsxs","useContext","styles_default","Box","Button","IconCaret","Flex","Text","Link","Icon","jsx","jsxs","Icon","jsx","jsxs","Icon","jsx","jsxs","useContext","useEffect","useState","container","styles_default","Box","Button","Flex","Text","Icon","jsx","Icon","jsx","Icon","jsx","jsxs","Icon","jsx","useRef","useState","container","button","styles_default","Icon","jsx","Icon","jsx","jsxs","jsx","jsxs","useState","useRef","Flex","styles_default","Button","Text","Box","jsx","jsxs","shareButton","useState","useContext","useEffect","Flex","styles_default","Text","Link","Box","Flex","Box","Box","Flex","Text","useContext","useEffect","styles_default","useRouter","createContext","useState","jsx","jsx","jsxs","useRouter","useContext","useEffect","Flex","styles_default","Text","Box","container","styles_default","useContext","jsx","jsxs","useContext","item","Box","styles_default","useRouter","useContext","useState","Box","Text","Configure","InstantSearch","useContext","useEffect","useMemo","useRef","connectStateResults","Box","Flex","Text","IconCaret","Tooltip","container","title","icon","description","alignCenter","styles_default","Link","useState","useContext","Icon","jsx","jsxs","jsx","jsxs","Icon","title","useState","useContext","Link","Flex","styles_default","Box","Text","breadcrumb","Tooltip","IconCaret","Box","Flex","jsx","jsxs","useContext","connectStateResults","useEffect","useRef","useMemo","Box","Flex","noResults","styles_default","jsx","jsxs","useRouter","useContext","useState","Box","styles_default","Text","InstantSearch","Configure","useContext","Flex","Text","container","styles_default","jsx","jsxs","useContext","Flex","styles_default","Text","styles_default","jsx","jsxs","Box","Flex","styles_default","search_default","useContext","title","styles_default","Flex","Text","aa","jsx","jsxs","Button","Flex","useContext","styles_default","Text","Button","Icon","jsx","jsxs","useState","styles_default","jsx","useState","Button","styles_default","useState","useEffect","icon","container","styles_default","Flex","jsx","jsxs","Icon","useState","useEffect","styles_default"]} +>>>>>>> 6c18c92718b344c5dce8e17537513ead66107609 diff --git a/package-lock.json b/package-lock.json index 3dcc549..6371bdb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@vtexdocs/components", - "version": "6.0.27", + "version": "6.0.33", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@vtexdocs/components", - "version": "6.0.27", + "version": "6.0.33", "license": "MIT", "dependencies": { "@code-hike/mdx": "^0.9.0", diff --git a/package.json b/package.json index d6f72fa..698c9b9 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "./styles.css": "./dist/index.css", "./dist/index.css": "./dist/index.css" }, - "version": "6.0.27", + "version": "6.0.33", "description": "", "repository": "https://github.com/vtexdocs/components", "scripts": { diff --git a/src/components/icons/announcement-icon.tsx b/src/components/icons/announcement-icon.tsx new file mode 100644 index 0000000..4a70fd8 --- /dev/null +++ b/src/components/icons/announcement-icon.tsx @@ -0,0 +1,31 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const AnnouncementIcon = (props: IconProps) => ( + + + + + +) + +export default AnnouncementIcon diff --git a/src/components/icons/arrow-right-icon.tsx b/src/components/icons/arrow-right-icon.tsx new file mode 100644 index 0000000..ea1cae1 --- /dev/null +++ b/src/components/icons/arrow-right-icon.tsx @@ -0,0 +1,29 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const ArrowRightIcon = (props: IconProps) => ( + + {' '} + + + +) + +export default ArrowRightIcon diff --git a/src/components/icons/chatgpt-icon.tsx b/src/components/icons/chatgpt-icon.tsx new file mode 100644 index 0000000..ca7aa58 --- /dev/null +++ b/src/components/icons/chatgpt-icon.tsx @@ -0,0 +1,18 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const ChatGPTIcon = (props: IconProps) => ( + + + +) + +export default ChatGPTIcon diff --git a/src/components/icons/checkbox.tsx b/src/components/icons/checkbox.tsx new file mode 100644 index 0000000..d201276 --- /dev/null +++ b/src/components/icons/checkbox.tsx @@ -0,0 +1,49 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +interface CheckboxProps extends IconProps { + checked: boolean +} + +const CheckboxIcon = (props: CheckboxProps) => ( + + {!props.checked ? ( + <> + + + + ) : ( + <> + + + + )} + +) + +export default CheckboxIcon diff --git a/src/components/icons/claude-icon.tsx b/src/components/icons/claude-icon.tsx new file mode 100644 index 0000000..72656f7 --- /dev/null +++ b/src/components/icons/claude-icon.tsx @@ -0,0 +1,19 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const ClaudeIcon = (props: IconProps) => ( + + Claude + + +) + +export default ClaudeIcon diff --git a/src/components/icons/community-icon.tsx b/src/components/icons/community-icon.tsx new file mode 100644 index 0000000..833d830 --- /dev/null +++ b/src/components/icons/community-icon.tsx @@ -0,0 +1,33 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const CommunityIcon = (props: IconProps) => ( + + {' '} + + + +) + +export default CommunityIcon diff --git a/src/components/icons/copilot-icon.tsx b/src/components/icons/copilot-icon.tsx new file mode 100644 index 0000000..ad462f4 --- /dev/null +++ b/src/components/icons/copilot-icon.tsx @@ -0,0 +1,18 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const CopilotIcon = (props: IconProps) => ( + + + +) + +export default CopilotIcon diff --git a/src/components/icons/developer-portal-icon.tsx b/src/components/icons/developer-portal-icon.tsx new file mode 100644 index 0000000..f290e2b --- /dev/null +++ b/src/components/icons/developer-portal-icon.tsx @@ -0,0 +1,45 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const DeveloperPortalIcon = (props: IconProps) => ( + + + + + + + +) + +export default DeveloperPortalIcon diff --git a/src/components/icons/documentation-updates-icon.tsx b/src/components/icons/documentation-updates-icon.tsx new file mode 100644 index 0000000..538602e --- /dev/null +++ b/src/components/icons/documentation-updates-icon.tsx @@ -0,0 +1,44 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const DocumentationUpdatesIcon = (props: IconProps) => ( + + + + + + +) + +export default DocumentationUpdatesIcon diff --git a/src/components/icons/facebook-circle-icon.tsx b/src/components/icons/facebook-circle-icon.tsx new file mode 100644 index 0000000..6c51037 --- /dev/null +++ b/src/components/icons/facebook-circle-icon.tsx @@ -0,0 +1,34 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const FacebookCircleIcon = (props: IconProps) => ( + + + + + + + + + + + +) + +export default FacebookCircleIcon diff --git a/src/components/icons/faq-icon.tsx b/src/components/icons/faq-icon.tsx new file mode 100644 index 0000000..dfa8189 --- /dev/null +++ b/src/components/icons/faq-icon.tsx @@ -0,0 +1,33 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const FAQIcon = (props: IconProps) => ( + + + + + +) + +export default FAQIcon diff --git a/src/components/icons/filter-icon.tsx b/src/components/icons/filter-icon.tsx new file mode 100644 index 0000000..e5684dc --- /dev/null +++ b/src/components/icons/filter-icon.tsx @@ -0,0 +1,68 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const FilterIcon = (props: IconProps) => ( + + + + + + + + + + + +) + +export default FilterIcon diff --git a/src/components/icons/gear-troubleshooting-icon.tsx b/src/components/icons/gear-troubleshooting-icon.tsx new file mode 100644 index 0000000..7c4b3ab --- /dev/null +++ b/src/components/icons/gear-troubleshooting-icon.tsx @@ -0,0 +1,55 @@ +import { Icon } from '@vtex/brand-ui' +import type { IconProps } from '@vtex/brand-ui' + +const GearTroubleshootingIcon = (props: IconProps) => { + return ( + + + + + + + + + ) +} + +export default GearTroubleshootingIcon diff --git a/src/components/icons/gemini-icon.tsx b/src/components/icons/gemini-icon.tsx new file mode 100644 index 0000000..fbecb0b --- /dev/null +++ b/src/components/icons/gemini-icon.tsx @@ -0,0 +1,18 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const GeminiIcon = (props: IconProps) => ( + + + +) + +export default GeminiIcon diff --git a/src/components/icons/github-icon.tsx b/src/components/icons/github-icon.tsx new file mode 100644 index 0000000..446e8fe --- /dev/null +++ b/src/components/icons/github-icon.tsx @@ -0,0 +1,23 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const GithubIcon = (props: IconProps) => ( + + + +) + +export default GithubIcon diff --git a/src/components/icons/graph-icon.tsx b/src/components/icons/graph-icon.tsx new file mode 100644 index 0000000..aa2deca --- /dev/null +++ b/src/components/icons/graph-icon.tsx @@ -0,0 +1,26 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const GraphIcon = (props: IconProps) => ( + + + + +) + +export default GraphIcon diff --git a/src/components/icons/helpcenter-icon.tsx b/src/components/icons/helpcenter-icon.tsx new file mode 100644 index 0000000..1f0b6cd --- /dev/null +++ b/src/components/icons/helpcenter-icon.tsx @@ -0,0 +1,45 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const HelpCenterIcon = (props: IconProps) => ( + + {' '} + + + + + +) + +export default HelpCenterIcon diff --git a/src/components/icons/index.ts b/src/components/icons/index.ts new file mode 100644 index 0000000..23e2e5a --- /dev/null +++ b/src/components/icons/index.ts @@ -0,0 +1,77 @@ +// Documentation Category Icons +export { default as APIGuidesIcon } from './api-guides-icon' +export { default as APIReferenceIcon } from './api-reference-icon' +export { default as AppDevelopmentIcon } from './app-development-icon' +export { default as ReleaseNotesIcon } from './release-notes-icon' +export { default as StorefrontDevelopmentIcon } from './storefront-development-icon' +export { default as TroubleshootingIcon } from './troubleshooting-icon' +export { default as GearTroubleshootingIcon } from './gear-troubleshooting-icon' +export { default as VTEXIOAppsIcon } from './vtex-io-apps-icon' +export { default as DocumentationUpdatesIcon } from './documentation-updates-icon' +export { default as HelpCenterIcon } from './helpcenter-icon' +export { default as DeveloperPortalIcon } from './developer-portal-icon' +export { default as FAQIcon } from './faq-icon' +export { default as KnownIssuesIcon } from './known-issues-icon' +export { default as MegaphoneIcon } from './megaphone-icon' +export { default as GraphIcon } from './graph-icon' +export { default as WarningIcon } from './warning-icon' +export { default as PaperIcon } from './paper-icon' +export { default as StartHereIcon } from './start-here-icon' +export { default as TutorialsIcon } from './tutorials-icon' +export { default as AnnouncementIcon } from './announcement-icon' +export { default as VTEXDevPortalIcon } from './vtex-devportal-icon' +export { default as VTEXHelpCenterIcon } from './vtex-helpcenter-icon' + +// Status/Change Icons +export { default as AddedIcon } from './added-icon' +export { default as DeprecatedIcon } from './deprecated-icon' +export { default as FixedIcon } from './fixed-icon' +export { default as ImprovedIcon } from './improved-icon' +export { default as RemovedIcon } from './removed-icon' +export { default as InfoIcon } from './info-icon' +export { default as NewIcon } from './new-icon' + +// Social Media & Sharing Icons +export { default as EmailIcon } from './email-icon' +export { default as FacebookIcon } from './facebook-icon' +export { default as LinkedinIcon } from './linkedin-icon' +export { default as LinkIcon } from './link-icon' +export { default as ShareIcon } from './share-icon' +export { default as TwitterIcon } from './twitter-icon' +export { default as GithubIcon } from './github-icon' +export { default as CommunityIcon } from './community-icon' +export { default as FacebookCircleIcon } from './facebook-circle-icon' +export { default as LinkedinCircleIcon } from './linkedin-circle-icon' +export { default as TwitterCircleIcon } from './twitter-circle-icon' +export { default as YoutubeIcon } from './youtube-icon' +export { default as InstagramIcon } from './instagram-icon' +export { default as ChatGPTIcon } from './chatgpt-icon' +export { default as ClaudeIcon } from './claude-icon' +export { default as GeminiIcon } from './gemini-icon' +export { default as CopilotIcon } from './copilot-icon' + +// UI Action Icons +export { default as CloseFilterIcon } from './close-filter-icon' +export { default as CloseIcon } from './close-icon' +export { default as CopyIcon } from './copy-icon' +export { default as EditIcon } from './edit-icon' +export { default as ExpandedResultsIcon } from './expanded-results-icon' +export { default as SearchIcon } from './search-icon' +export { default as SideBarToggleIcon } from './sidebar-toggle-icon' +export { default as GridIcon } from './grid-icon' +export { default as TrashcanIcon } from './trashcan-icon' +export { default as FilterIcon } from './filter-icon' +export { default as MenuIcon } from './menu-icon' +export { default as CheckboxIcon } from './checkbox' +export { default as ResizeIcon } from './resize-icon' + +// Navigation Icons +export { default as ArrowLeftIcon } from './arrow-left-icon' +export { default as ArrowRightIcon } from './arrow-right-icon' +export { default as CaretIcon } from './caret' +export { default as LongArrowIcon } from './long-arrow-icon' +export { default as VTEXLogoFooter } from './vtex-logo-footer' + +// Feedback Icons +export { default as LikeIcon } from './like-icon' +export { default as LikeSelectedIcon } from './like-selected-icon' diff --git a/src/components/icons/info-icon.tsx b/src/components/icons/info-icon.tsx new file mode 100644 index 0000000..88abfcb --- /dev/null +++ b/src/components/icons/info-icon.tsx @@ -0,0 +1,26 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const InfoIcon = (props: IconProps) => ( + + + + + +) + +export default InfoIcon diff --git a/src/components/icons/instagram-icon.tsx b/src/components/icons/instagram-icon.tsx new file mode 100644 index 0000000..a439fb9 --- /dev/null +++ b/src/components/icons/instagram-icon.tsx @@ -0,0 +1,34 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const IgIcon = (props: IconProps) => ( + + + + + + + + + + + +) + +export default IgIcon diff --git a/src/components/icons/known-issues-icon.tsx b/src/components/icons/known-issues-icon.tsx new file mode 100644 index 0000000..b3ea447 --- /dev/null +++ b/src/components/icons/known-issues-icon.tsx @@ -0,0 +1,49 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const KnownIssueIcon = (props: IconProps) => ( + + + + + + +) + +export default KnownIssueIcon diff --git a/src/components/icons/linkedin-circle-icon.tsx b/src/components/icons/linkedin-circle-icon.tsx new file mode 100644 index 0000000..6410ee6 --- /dev/null +++ b/src/components/icons/linkedin-circle-icon.tsx @@ -0,0 +1,34 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const LinkedinCircleIcon = (props: IconProps) => ( + + + + + + + + + + + +) + +export default LinkedinCircleIcon diff --git a/src/components/icons/megaphone-icon.tsx b/src/components/icons/megaphone-icon.tsx new file mode 100644 index 0000000..317e4ff --- /dev/null +++ b/src/components/icons/megaphone-icon.tsx @@ -0,0 +1,41 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const MegaphoneIcon = (props: IconProps) => ( + + + + + + + +) + +export default MegaphoneIcon diff --git a/src/components/icons/menu-icon.tsx b/src/components/icons/menu-icon.tsx new file mode 100644 index 0000000..2cd2d37 --- /dev/null +++ b/src/components/icons/menu-icon.tsx @@ -0,0 +1,67 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const MenuIcon = (props: IconProps) => ( + + + + + + + + + +) + +export default MenuIcon diff --git a/src/components/icons/new-icon.tsx b/src/components/icons/new-icon.tsx new file mode 100644 index 0000000..607b340 --- /dev/null +++ b/src/components/icons/new-icon.tsx @@ -0,0 +1,39 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const NewIcon = (props: IconProps) => ( + + + + + + + + + + + + +) + +export default NewIcon diff --git a/src/components/icons/paper-icon.tsx b/src/components/icons/paper-icon.tsx new file mode 100644 index 0000000..3fa8518 --- /dev/null +++ b/src/components/icons/paper-icon.tsx @@ -0,0 +1,49 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const PaperIcon = (props: IconProps) => ( + + + + + + + +) + +export default PaperIcon diff --git a/src/components/icons/resize-icon.tsx b/src/components/icons/resize-icon.tsx new file mode 100644 index 0000000..073bd1f --- /dev/null +++ b/src/components/icons/resize-icon.tsx @@ -0,0 +1,18 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const ResizeIcon = (props: IconProps) => ( + + + +) + +export default ResizeIcon diff --git a/src/components/icons/start-here-icon.tsx b/src/components/icons/start-here-icon.tsx new file mode 100644 index 0000000..e7f691b --- /dev/null +++ b/src/components/icons/start-here-icon.tsx @@ -0,0 +1,28 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const StartHereIcon = (props: IconProps) => ( + + + + +) + +export default StartHereIcon diff --git a/src/components/icons/trashcan-icon.tsx b/src/components/icons/trashcan-icon.tsx new file mode 100644 index 0000000..ab69369 --- /dev/null +++ b/src/components/icons/trashcan-icon.tsx @@ -0,0 +1,49 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const TrashcanIcon = (props: IconProps) => ( + + + + + + + +) + +export default TrashcanIcon diff --git a/src/components/icons/tutorials-icon.tsx b/src/components/icons/tutorials-icon.tsx new file mode 100644 index 0000000..6f2448b --- /dev/null +++ b/src/components/icons/tutorials-icon.tsx @@ -0,0 +1,56 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const TutorialsIcon = (props: IconProps) => ( + + + + + + + + +) + +export default TutorialsIcon diff --git a/src/components/icons/twitter-circle-icon.tsx b/src/components/icons/twitter-circle-icon.tsx new file mode 100644 index 0000000..21bf99d --- /dev/null +++ b/src/components/icons/twitter-circle-icon.tsx @@ -0,0 +1,22 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const TwitterCircleIcon = (props: IconProps) => ( + + + + +) + +export default TwitterCircleIcon diff --git a/src/components/icons/vtex-devportal-icon.tsx b/src/components/icons/vtex-devportal-icon.tsx new file mode 100644 index 0000000..c9fa788 --- /dev/null +++ b/src/components/icons/vtex-devportal-icon.tsx @@ -0,0 +1,38 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const VTEXDevPortalIcon = (props: IconProps) => ( + + + + + + + + + + + + +) + +export default VTEXDevPortalIcon diff --git a/src/components/icons/vtex-helpcenter-icon.tsx b/src/components/icons/vtex-helpcenter-icon.tsx new file mode 100644 index 0000000..cb990aa --- /dev/null +++ b/src/components/icons/vtex-helpcenter-icon.tsx @@ -0,0 +1,23 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const VTEXHelpCenterIcon = (props: IconProps) => ( + + + + + +) + +export default VTEXHelpCenterIcon diff --git a/src/components/icons/vtex-logo-footer.tsx b/src/components/icons/vtex-logo-footer.tsx new file mode 100644 index 0000000..fd55a79 --- /dev/null +++ b/src/components/icons/vtex-logo-footer.tsx @@ -0,0 +1,34 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const VTEXLogoFooter = (props: IconProps) => ( + + + + + + + +) + +export default VTEXLogoFooter diff --git a/src/components/icons/warning-icon.tsx b/src/components/icons/warning-icon.tsx new file mode 100644 index 0000000..bbecbe9 --- /dev/null +++ b/src/components/icons/warning-icon.tsx @@ -0,0 +1,35 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const WarningIcon = (props: IconProps) => ( + + + + + +) + +export default WarningIcon diff --git a/src/components/icons/youtube-icon.tsx b/src/components/icons/youtube-icon.tsx new file mode 100644 index 0000000..29b541e --- /dev/null +++ b/src/components/icons/youtube-icon.tsx @@ -0,0 +1,38 @@ +import type { IconProps } from '@vtex/brand-ui' +import { Icon } from '@vtex/brand-ui' + +const YoutubeIcon = (props: IconProps) => ( + + + + + + + + + + + + +) + +export default YoutubeIcon diff --git a/src/components/sidebar-elements/styles.ts b/src/components/sidebar-elements/styles.ts index 81d6fbd..f4798b6 100644 --- a/src/components/sidebar-elements/styles.ts +++ b/src/components/sidebar-elements/styles.ts @@ -1,7 +1,7 @@ import { SxStyleProp } from '@vtex/brand-ui' const elementContainer: SxStyleProp = { - maxWidth: '265px', + maxWidth: '315px', background: '#FFFFFF', ':hover': { background: '#F8F7FC', diff --git a/src/components/sidebar-section/styles.ts b/src/components/sidebar-section/styles.ts index 5114046..a01e7a5 100644 --- a/src/components/sidebar-section/styles.ts +++ b/src/components/sidebar-section/styles.ts @@ -2,7 +2,8 @@ import { SxStyleProp } from '@vtex/brand-ui' const sidebarContainer: SxStyleProp = { position: 'relative', - width: 'auto', + width: ['auto', 'auto', 'auto', 'auto', '300px', '300px'], + minWidth: ['auto', 'auto', 'auto', 'auto', '300px', '300px'], height: 'inherit', borderRight: '1px solid #E7E9EE', zIndex: '1', @@ -86,7 +87,8 @@ const searchBox: SxStyleProp = { alignItems: 'center', borderRadius: '4px', background: '#F4F4F4', - width: '265px', + width: '100%', + maxWidth: '315px', height: '40px', paddingLeft: '12px', } diff --git a/src/index.ts b/src/index.ts index 1155ccf..9419d81 100644 --- a/src/index.ts +++ b/src/index.ts @@ -12,6 +12,98 @@ export { Input, type Item, } from './lib' +export { getDaysElapsed } from 'utils/get-days-elapsed' export { default as LibraryContextProvider } from 'utils/context/libraryContext' export { LibraryContext } from 'utils/context/libraryContext' export { default as SearchConfig } from 'utils/config/search-config' + +// Icons +// Documentation Category Icons +export { + APIGuidesIcon, + APIReferenceIcon, + AppDevelopmentIcon, + ReleaseNotesIcon, + StorefrontDevelopmentIcon, + TroubleshootingIcon, + GearTroubleshootingIcon, + VTEXIOAppsIcon, + DocumentationUpdatesIcon, + HelpCenterIcon, + VTEXDevPortalIcon, + VTEXHelpCenterIcon, + DeveloperPortalIcon, + FAQIcon, + KnownIssuesIcon, + MegaphoneIcon, + GraphIcon, + WarningIcon, + PaperIcon, + StartHereIcon, + TutorialsIcon, + AnnouncementIcon, +} from './components/icons' + +// Status/Change Icons +export { + AddedIcon, + DeprecatedIcon, + FixedIcon, + ImprovedIcon, + RemovedIcon, + InfoIcon, + NewIcon, +} from './components/icons' + +// Social Media & Sharing Icons +export { + EmailIcon, + FacebookIcon, + LinkedinIcon, + LinkIcon, + ShareIcon, + TwitterIcon, + GithubIcon, + CommunityIcon, + InstagramIcon, + YoutubeIcon, + FacebookCircleIcon, + LinkedinCircleIcon, + TwitterCircleIcon, + ChatGPTIcon, + ClaudeIcon, + GeminiIcon, + CopilotIcon, +} from './components/icons' + +// UI Action Icons +export { + CloseFilterIcon, + CloseIcon, + CopyIcon, + EditIcon, + ExpandedResultsIcon, + SearchIcon, + SideBarToggleIcon, + TrashcanIcon, + FilterIcon, + CheckboxIcon, + ResizeIcon, + MenuIcon, +} from './components/icons' + +// Navigation Icons +export { + ArrowLeftIcon, + ArrowRightIcon, + CaretIcon, + LongArrowIcon, + GridIcon, + VTEXLogoFooter, +} from './components/icons' + +// Feedback Icons +export { + LikeIcon, + LikeSelectedIcon, +} from './components/icons' diff --git a/src/lib/markdown-renderer/styles.module.css b/src/lib/markdown-renderer/styles.module.css index ec718ff..9eba10b 100644 --- a/src/lib/markdown-renderer/styles.module.css +++ b/src/lib/markdown-renderer/styles.module.css @@ -19,7 +19,8 @@ margin: 0; padding: 0.2em 0.4em; font-size: 0.875em; - word-break: break-all; + word-break: break-word; + overflow-wrap: break-word; } table .code { @@ -41,21 +42,23 @@ table .code { } .blockquote a { - word-break: break-all; + word-break: break-word; + overflow-wrap: break-word; } -.blockquote p, .blockquote div{ +.blockquote p, +.blockquote div { margin: 0px; grid-column: 2 / -1; grid-row: 1 / 1; } -.blockquote a{ +.blockquote a { color: #e31c58 !important; text-decoration: underline 1px solid; } -.blockquote a:hover{ +.blockquote a:hover { color: #c81e51; } @@ -134,4 +137,4 @@ table .code { .svgContainer { width: 100%; -} \ No newline at end of file +} diff --git a/src/lib/sidebar/styles.ts b/src/lib/sidebar/styles.ts index e5755e4..dccc5c2 100644 --- a/src/lib/sidebar/styles.ts +++ b/src/lib/sidebar/styles.ts @@ -29,7 +29,7 @@ const sidebar: SxStyleProp = { } const sidebarIcons: SxStyleProp = { - width: ['56px', '56px', '56px', '56px', '56px', '160px'], + width: ['56px', '56px', '56px', '56px', '160px', '160px'], minWidth: 'max-content', transition: 'all 0.3s ease-in-out', flexDirection: 'column', @@ -37,6 +37,8 @@ const sidebarIcons: SxStyleProp = { background: '#FFFFFF', zIndex: '2', paddingBottom: '32px', + overflowY: 'auto', + height: '100%', } const linkContainer: SxStyleProp = { @@ -48,8 +50,8 @@ const iconBox: SxStyleProp = { width: '100%', maxWidth: '144px', paddingLeft: ['0', '0', '0', '8px'], - paddingRight: ['0', '0', '0', '8px', '8px', '0'], - py: ['0', '0', '0', '8px', '8px', '10px'], + paddingRight: ['0', '0', '0', '8px', '0', '0'], + py: ['0', '0', '0', '8px', '10px', '10px'], height: '40px', borderRadius: '4px', alignItems: 'center', @@ -66,7 +68,7 @@ const iconBox: SxStyleProp = { '#000711', '#000711', '#000711', - '#000711', + '#4A596B', '#4A596B', ], }, @@ -108,10 +110,10 @@ const sectionDivider: SxStyleProp = { } const iconTitle: SxStyleProp = { - display: ['none', 'none', 'none', 'none', 'none', 'block'], + display: ['none', 'none', 'none', 'none', 'block', 'block'], width: '100%', fontSize: '14px', - ml: ['8px', '8px', '8px', '8px', '8px', '12px'], + ml: ['8px', '8px', '8px', '8px', '12px', '12px'], whiteSpace: 'nowrap', overflow: 'hidden', textOverflow: 'ellipsis', @@ -123,7 +125,7 @@ const iconTooltip: SxStyleProp = { 'flex !important', 'flex !important', 'flex !important', - 'flex !important', + 'none !important', 'none !important', ], }