{"version":3,"file":"index.mjs","names":[],"sources":["../src/preview.tsx"],"sourcesContent":["import * as React from 'react';\n\nexport type PreviewProps = Readonly<\n  React.ComponentPropsWithoutRef<'div'> & {\n    children: string | string[];\n  }\n>;\n\nconst PREVIEW_MAX_LENGTH = 150;\n\nexport const Preview = React.forwardRef<HTMLDivElement, PreviewProps>(\n  ({ children = '', ...props }, ref) => {\n    const text = (\n      Array.isArray(children) ? children.join('') : children\n    ).substring(0, PREVIEW_MAX_LENGTH);\n\n    return (\n      <div\n        style={{\n          display: 'none',\n          overflow: 'hidden',\n          lineHeight: '1px',\n          opacity: 0,\n          maxHeight: 0,\n          maxWidth: 0,\n        }}\n        data-skip-in-text={true}\n        {...props}\n        ref={ref}\n      >\n        {text}\n        {renderWhiteSpace(text)}\n      </div>\n    );\n  },\n);\n\nPreview.displayName = 'Preview';\n\nconst whiteSpaceCodes = '\\xa0\\u200C\\u200B\\u200D\\u200E\\u200F\\uFEFF';\nexport const renderWhiteSpace = (text: string) => {\n  if (text.length >= PREVIEW_MAX_LENGTH) {\n    return null;\n  }\n\n  return <div>{whiteSpaceCodes.repeat(PREVIEW_MAX_LENGTH - text.length)}</div>;\n};\n"],"mappings":";;;;AAQA,MAAM,qBAAqB;AAE3B,MAAa,UAAU,MAAM,YAC1B,EAAE,WAAW,GAAI,GAAG,SAAS,QAAQ;CACpC,MAAM,QACJ,MAAM,QAAQ,SAAS,GAAG,SAAS,KAAK,GAAG,GAAG,UAC9C,UAAU,GAAG,mBAAmB;AAElC,QACE,qBAAC;EACC,OAAO;GACL,SAAS;GACT,UAAU;GACV,YAAY;GACZ,SAAS;GACT,WAAW;GACX,UAAU;GACX;EACD,qBAAmB;EACnB,GAAI;EACC;aAEJ,MACA,iBAAiB,KAAK;GACnB;EAGX;AAED,QAAQ,cAAc;AAEtB,MAAM,kBAAkB;AACxB,MAAa,oBAAoB,SAAiB;AAChD,KAAI,KAAK,UAAU,mBACjB,QAAO;AAGT,QAAO,oBAAC,mBAAK,gBAAgB,OAAO,qBAAqB,KAAK,OAAO,GAAO"}