{"version":3,"file":"query-summary-dd5936c0.js","sources":["../../../../src/scripts/coveo/components/query-summary.tsx"],"sourcesContent":["/* eslint-disable no-use-before-define */\nimport React, { useContext, useEffect, useState } from 'react';\nimport { querySummary } from '../controllers/controller';\nimport { QuerySummary as QuerySummaryType } from '@coveo/headless';\nimport SecondCall from './second-call-context';\n\ntype QuerySummaryProps = {\n  extraClasses?: string;\n};\n\nconst SUMMARY_PLACEHOLDERS = Object.freeze({\n  firstResult: '{{firstResult}}',\n  lastResult: '{{lastResult}}',\n  total: '{{totalResults}}',\n  query: '{{query}}'\n});\n\nfunction QuerySummary({ extraClasses = '' }: QuerySummaryProps) {\n  const { dataset } = document.getElementsByClassName(\n    'coveo-listing__data-wrapper'\n  )[0] as HTMLElement;\n  const summaryText = (dataset.summaryText as string).split('|')[0];\n  const queryText = (dataset.summaryText as string).split('|')[1];\n  const [state, setState] = useState((querySummary as QuerySummaryType).state);\n  const secondCallContext = useContext(SecondCall);\n\n  const text = Object.keys(SUMMARY_PLACEHOLDERS).reduce((acc, placeholder) => {\n    if (\n      acc.includes(\n        SUMMARY_PLACEHOLDERS[placeholder as keyof typeof SUMMARY_PLACEHOLDERS]\n      )\n    ) {\n      if (placeholder === 'query' && state.query != '') {\n        acc += queryText;\n      }\n\n      let replaceVal = state[placeholder as keyof typeof SUMMARY_PLACEHOLDERS]\n        ? state[placeholder as keyof typeof SUMMARY_PLACEHOLDERS].toString()\n        : '';\n\n      if (secondCallContext.secondCall) {\n        if (placeholder === 'firstResult') {\n          if (secondCallContext.selectedPage === 1) {\n            replaceVal = '1';\n          } else if (secondCallContext.selectedPage === 2) {\n            replaceVal = '11';\n          }\n        }\n\n        if (placeholder === 'lastResult') {\n          if (secondCallContext.selectedPage === 1) {\n            if (secondCallContext.filteredResults.length < 10)\n              replaceVal = secondCallContext.filteredResults.length.toString();\n            else {\n              replaceVal = '10';\n            }\n          } else if (secondCallContext.selectedPage === 2) {\n            if (\n              secondCallContext.limitValue &&\n              parseInt(replaceVal) > secondCallContext.limitValue\n            ) {\n              replaceVal = secondCallContext.limitValue.toString();\n            }\n\n            if (\n              secondCallContext.filteredResults.length <\n              secondCallContext.limitValue\n            )\n              replaceVal = secondCallContext.filteredResults.length.toString();\n          }\n        }\n\n        if (placeholder === 'total') {\n          if (parseInt(replaceVal) > secondCallContext.limitValue) {\n            replaceVal = secondCallContext.limitValue.toString();\n          }\n          if (parseInt(replaceVal) > secondCallContext.filteredResults.length)\n            replaceVal = secondCallContext.filteredResults.length.toString();\n        }\n      }\n      acc = acc.replace(\n        SUMMARY_PLACEHOLDERS[placeholder as keyof typeof SUMMARY_PLACEHOLDERS],\n        replaceVal\n      );\n    }\n\n    return acc;\n  }, summaryText);\n\n  useEffect(\n    () =>\n      (querySummary as QuerySummaryType).subscribe(() =>\n        setState((querySummary as QuerySummaryType).state)\n      ),\n    [querySummary]\n  );\n\n  return (\n    <>\n      {state.total > 0 && (\n        <div\n          className={`query-summary ${extraClasses}`}\n          dangerouslySetInnerHTML={{ __html: text }}\n        />\n      )}\n    </>\n  );\n}\n\nexport default QuerySummary;\n"],"names":["SUMMARY_PLACEHOLDERS","QuerySummary","extraClasses","dataset","summaryText","queryText","state","setState","useState","querySummary","secondCallContext","useContext","SecondCall","text","acc","placeholder","replaceVal","useEffect","React"],"mappings":"mJAUA,MAAMA,EAAuB,OAAO,OAAO,CACzC,YAAa,kBACb,WAAY,iBACZ,MAAO,mBACP,MAAO,WACT,CAAC,EAED,SAASC,EAAa,CAAE,aAAAC,EAAe,IAAyB,CACxD,KAAA,CAAE,QAAAC,GAAY,SAAS,uBAC3B,+BACA,CAAC,EACGC,EAAeD,EAAQ,YAAuB,MAAM,GAAG,EAAE,CAAC,EAC1DE,EAAaF,EAAQ,YAAuB,MAAM,GAAG,EAAE,CAAC,EACxD,CAACG,EAAOC,CAAQ,EAAIC,EAAAA,SAAUC,EAAkC,KAAK,EACrEC,EAAoBC,aAAWC,CAAU,EAEzCC,EAAO,OAAO,KAAKb,CAAoB,EAAE,OAAO,CAACc,EAAKC,IAAgB,CAC1E,GACED,EAAI,SACFd,EAAqBe,CAAgD,CAAA,EAEvE,CACIA,IAAgB,SAAWT,EAAM,OAAS,KACrCQ,GAAAT,GAGL,IAAAW,EAAaV,EAAMS,CAAgD,EACnET,EAAMS,CAAgD,EAAE,SACxD,EAAA,GAEAL,EAAkB,aAChBK,IAAgB,gBACdL,EAAkB,eAAiB,EACxBM,EAAA,IACJN,EAAkB,eAAiB,IAC/BM,EAAA,OAIbD,IAAgB,eACdL,EAAkB,eAAiB,EACjCA,EAAkB,gBAAgB,OAAS,GAChCM,EAAAN,EAAkB,gBAAgB,OAAO,SAAS,EAElDM,EAAA,KAENN,EAAkB,eAAiB,IAE1CA,EAAkB,YAClB,SAASM,CAAU,EAAIN,EAAkB,aAE5BM,EAAAN,EAAkB,WAAW,YAI1CA,EAAkB,gBAAgB,OAClCA,EAAkB,aAELM,EAAAN,EAAkB,gBAAgB,OAAO,SAAS,KAIjEK,IAAgB,UACd,SAASC,CAAU,EAAIN,EAAkB,aAC9BM,EAAAN,EAAkB,WAAW,YAExC,SAASM,CAAU,EAAIN,EAAkB,gBAAgB,SAC9CM,EAAAN,EAAkB,gBAAgB,OAAO,SAAS,KAGrEI,EAAMA,EAAI,QACRd,EAAqBe,CAAgD,EACrEC,CAAA,EAIG,OAAAF,GACNV,CAAW,EAEda,OAAAA,EAAA,UACE,IACGR,EAAkC,UAAU,IAC3CF,EAAUE,EAAkC,KAAK,CACnD,EACF,CAACA,CAAY,CAAA,EAIbS,EAAA,cAAAA,EAAA,SAAA,KACGZ,EAAM,MAAQ,GACbY,EAAA,cAAC,MAAA,CACC,UAAW,iBAAiBhB,IAC5B,wBAAyB,CAAE,OAAQW,CAAK,CAAA,CAAA,CAG9C,CAEJ"}