{"version":3,"sources":["../src/tailwind.tsx"],"sourcesContent":["import { jsxToString, useData } from '@jsx-email/render';\nimport { Suspense } from 'react';\nimport { create, type Configuration } from 'twind';\nimport { virtualSheet, shim, getStyleTag } from 'twind/shim/server';\n\nexport interface TailwindProps {\n  config?: Partial<Configuration>;\n  isProduction?: boolean;\n}\n\nconst renderTwind = (html: string, { config, isProduction = false }: TailwindProps) => {\n  const sheet = virtualSheet();\n\n  const { tw } = create({ sheet, ...(config || {}), hash: isProduction });\n\n  sheet.reset();\n\n  const shimmedHtml = shim(html, tw);\n  const tag = getStyleTag(sheet);\n\n  return { shimmedHtml, styleTag: tag.replace('id=\"__twind\"', 'twind') };\n};\n\nconst Renderer = (props: React.PropsWithChildren<TailwindProps>) => {\n  const initialHtml = useData(props, () => jsxToString(<>{props.children}</>));\n  const { shimmedHtml, styleTag } = renderTwind(initialHtml, props);\n  const finalHtml = `${shimmedHtml}${styleTag}`;\n\n  return <div data-id=\"__jsx-email-twnd\" dangerouslySetInnerHTML={{ __html: finalHtml }} />;\n};\n\nexport const Tailwind = ({ children, ...props }: React.PropsWithChildren<TailwindProps>) => (\n  <>\n    <Suspense fallback={<div>waiting</div>}>\n      <Renderer {...props}>{children}</Renderer>\n    </Suspense>\n  </>\n);\n"],"mappings":";;;;AAAA,SAAS,aAAa,eAAe;AACrC,SAAS,gBAAgB;AACzB,SAAS,cAAkC;AAC3C,SAAS,cAAc,MAAM,mBAAmB;AAqBO;AAdvD,IAAM,cAAc,wBAAC,MAAc,EAAE,QAAQ,eAAe,MAAM,MAAqB;AACrF,QAAM,QAAQ,aAAa;AAE3B,QAAM,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,GAAI,UAAU,CAAC,GAAI,MAAM,aAAa,CAAC;AAEtE,QAAM,MAAM;AAEZ,QAAM,cAAc,KAAK,MAAM,EAAE;AACjC,QAAM,MAAM,YAAY,KAAK;AAE7B,SAAO,EAAE,aAAa,UAAU,IAAI,QAAQ,gBAAgB,OAAO,EAAE;AACvE,GAXoB;AAapB,IAAM,WAAW,wBAAC,UAAkD;AAClE,QAAM,cAAc,QAAQ,OAAO,MAAM,YAAY,gCAAG,gBAAM,UAAS,CAAG,CAAC;AAC3E,QAAM,EAAE,aAAa,SAAS,IAAI,YAAY,aAAa,KAAK;AAChE,QAAM,YAAY,GAAG,WAAW,GAAG,QAAQ;AAE3C,SAAO,oBAAC,SAAI,WAAQ,oBAAmB,yBAAyB,EAAE,QAAQ,UAAU,GAAG;AACzF,GANiB;AAQV,IAAM,WAAW,wBAAC,EAAE,UAAU,GAAG,MAAM,MAC5C,gCACE,8BAAC,YAAS,UAAU,oBAAC,SAAI,qBAAO,GAC9B,8BAAC,YAAU,GAAG,OAAQ,UAAS,GACjC,GACF,GALsB;","names":[]}