{"version":3,"file":"highlighter.cjs","sources":["../../../../src/components/Highlight/highlighter/highlighter.ts"],"sourcesContent":["function escapeRegex(value: string) {\n  return value.replace(/[-[\\]{}()*+?.,\\\\^$|#]/g, '\\\\$&');\n}\n\nexport function highlighter(value: string, _highlight: string | string[]) {\n  if (_highlight == null) {\n    return [{ chunk: value, highlighted: false }];\n  }\n\n  const highlight = Array.isArray(_highlight)\n    ? _highlight.map(escapeRegex)\n    : escapeRegex(_highlight);\n\n  const shouldHighlight = Array.isArray(highlight)\n    ? highlight.filter((part) => part.trim().length > 0).length > 0\n    : highlight.trim() !== '';\n\n  if (!shouldHighlight) {\n    return [{ chunk: value, highlighted: false }];\n  }\n\n  const matcher =\n    typeof highlight === 'string'\n      ? highlight.trim()\n      : highlight\n          .filter((part) => part.trim().length !== 0)\n          .map((part) => part.trim())\n          .sort((a, b) => b.length - a.length)\n          .join('|');\n\n  const re = new RegExp(`(${matcher})`, 'gi');\n  const chunks = value\n    .split(re)\n    .map((part) => ({ chunk: part, highlighted: re.test(part) }))\n    .filter(({ chunk }) => chunk);\n\n  return chunks;\n}\n"],"names":[],"mappings":";;AAAA,SAAS,YAAY,KAAe,EAAA;AAClC,EAAO,OAAA,KAAA,CAAM,OAAQ,CAAA,wBAAA,EAA0B,MAAM,CAAA;AACvD;AAEgB,SAAA,WAAA,CAAY,OAAe,UAA+B,EAAA;AACxE,EAAA,IAAI,cAAc,IAAM,EAAA;AACtB,IAAA,OAAO,CAAC,EAAE,KAAA,EAAO,KAAO,EAAA,WAAA,EAAa,OAAO,CAAA;AAAA;AAG9C,EAAM,MAAA,SAAA,GAAY,KAAM,CAAA,OAAA,CAAQ,UAAU,CAAA,GACtC,WAAW,GAAI,CAAA,WAAW,CAC1B,GAAA,WAAA,CAAY,UAAU,CAAA;AAE1B,EAAA,MAAM,kBAAkB,KAAM,CAAA,OAAA,CAAQ,SAAS,CAC3C,GAAA,SAAA,CAAU,OAAO,CAAC,IAAA,KAAS,KAAK,IAAK,EAAA,CAAE,SAAS,CAAC,CAAA,CAAE,SAAS,CAC5D,GAAA,SAAA,CAAU,MAAW,KAAA,EAAA;AAEzB,EAAA,IAAI,CAAC,eAAiB,EAAA;AACpB,IAAA,OAAO,CAAC,EAAE,KAAA,EAAO,KAAO,EAAA,WAAA,EAAa,OAAO,CAAA;AAAA;AAG9C,EAAA,MAAM,OACJ,GAAA,OAAO,SAAc,KAAA,QAAA,GACjB,UAAU,IAAK,EAAA,GACf,SACG,CAAA,MAAA,CAAO,CAAC,IAAS,KAAA,IAAA,CAAK,IAAK,EAAA,CAAE,WAAW,CAAC,CAAA,CACzC,GAAI,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,IAAK,EAAC,EACzB,IAAK,CAAA,CAAC,CAAG,EAAA,CAAA,KAAM,EAAE,MAAS,GAAA,CAAA,CAAE,MAAM,CAAA,CAClC,KAAK,GAAG,CAAA;AAEjB,EAAA,MAAM,KAAK,IAAI,MAAA,CAAO,CAAI,CAAA,EAAA,OAAO,KAAK,IAAI,CAAA;AAC1C,EAAM,MAAA,MAAA,GAAS,MACZ,KAAM,CAAA,EAAE,EACR,GAAI,CAAA,CAAC,IAAU,MAAA,EAAE,KAAO,EAAA,IAAA,EAAM,aAAa,EAAG,CAAA,IAAA,CAAK,IAAI,CAAA,EAAI,CAAA,CAAA,CAC3D,OAAO,CAAC,EAAE,KAAM,EAAA,KAAM,KAAK,CAAA;AAE9B,EAAO,OAAA,MAAA;AACT;;;;"}