{"version":3,"file":"helper.mjs","sources":["../../../../../../packages/components/editor/src/helper.ts"],"sourcesContent":["import type { ITagRule, MentionOption } from './types'\n\nexport const filterOption = (query: string, option: MentionOption): boolean => {\n  const lowerCase = query.toLowerCase()\n  const label = option.label || option.id\n  return label.toLowerCase().includes(lowerCase)\n}\n\nexport const getTextContent = (\n  html: string,\n  rules: ITagRule[] = []\n): string => {\n  if (!rules.some((rule) => rule.tag === 'br')) {\n    rules = rules.concat({\n      tag: 'br',\n      attr: 'no-attr',\n      defaultValue: '\\n',\n    })\n  }\n\n  const parser = new DOMParser()\n  const doc = parser.parseFromString(html, 'text/html')\n\n  rules.forEach(({ tag, attr, defaultValue }) => {\n    const elements = doc.querySelectorAll(tag)\n    elements.forEach((el) => {\n      const attrValue = el.getAttribute(attr) ?? defaultValue ?? ''\n      el.replaceWith(attrValue)\n    })\n  })\n\n  return doc.body.textContent!.trim()\n}\n"],"names":[],"mappings":"AAEa,MAAA,YAAA,GAAe,CAAC,KAAA,EAAe,MAAmC,KAAA;AAC7E,EAAM,MAAA,SAAA,GAAY,MAAM,WAAY,EAAA,CAAA;AACpC,EAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,KAAA,IAAS,MAAO,CAAA,EAAA,CAAA;AACrC,EAAA,OAAO,KAAM,CAAA,WAAA,EAAc,CAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAC/C,EAAA;AAEO,MAAM,cAAiB,GAAA,CAC5B,IACA,EAAA,KAAA,GAAoB,EACT,KAAA;AACX,EAAI,IAAA,CAAC,MAAM,IAAK,CAAA,CAAC,SAAS,IAAK,CAAA,GAAA,KAAQ,IAAI,CAAG,EAAA;AAC5C,IAAA,KAAA,GAAQ,MAAM,MAAO,CAAA;AAAA,MACnB,GAAK,EAAA,IAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,YAAc,EAAA,IAAA;AAAA,KACf,CAAA,CAAA;AAAA,GACH;AAEA,EAAM,MAAA,MAAA,GAAS,IAAI,SAAU,EAAA,CAAA;AAC7B,EAAA,MAAM,GAAM,GAAA,MAAA,CAAO,eAAgB,CAAA,IAAA,EAAM,WAAW,CAAA,CAAA;AAEpD,EAAA,KAAA,CAAM,QAAQ,CAAC,EAAE,GAAK,EAAA,IAAA,EAAM,cAAmB,KAAA;AAC7C,IAAM,MAAA,QAAA,GAAW,GAAI,CAAA,gBAAA,CAAiB,GAAG,CAAA,CAAA;AACzC,IAAS,QAAA,CAAA,OAAA,CAAQ,CAAC,EAAO,KAAA;AAzB7B,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA0BM,MAAA,MAAM,aAAY,EAAG,GAAA,CAAA,EAAA,GAAA,EAAA,CAAA,YAAA,CAAa,IAAI,CAApB,KAAA,IAAA,GAAA,EAAA,GAAyB,iBAAzB,IAAyC,GAAA,EAAA,GAAA,EAAA,CAAA;AAC3D,MAAA,EAAA,CAAG,YAAY,SAAS,CAAA,CAAA;AAAA,KACzB,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AAED,EAAO,OAAA,GAAA,CAAI,IAAK,CAAA,WAAA,CAAa,IAAK,EAAA,CAAA;AACpC;;;;"}