{
  "version": 3,
  "sources": ["../../../../src/lib/ui/components/Toasts.tsx"],
  "sourcesContent": ["import * as T from '@radix-ui/react-toast'\nimport * as React from 'react'\nimport { TLUiToast, useToasts } from '../hooks/useToastsProvider'\nimport { useTranslation } from '../hooks/useTranslation/useTranslation'\nimport { TLUiIconType } from '../icon-types'\nimport { Button } from './primitives/Button'\nimport { Icon } from './primitives/Icon'\n\nfunction Toast({ toast }: { toast: TLUiToast }) {\n\tconst { removeToast } = useToasts()\n\tconst msg = useTranslation()\n\n\tconst onOpenChange = (isOpen: boolean) => {\n\t\tif (!isOpen) {\n\t\t\tremoveToast(toast.id)\n\t\t}\n\t}\n\n\tconst hasActions = toast.actions && toast.actions.length > 0\n\n\treturn (\n\t\t<T.Root\n\t\t\tonOpenChange={onOpenChange}\n\t\t\tclassName=\"tlui-toast__container\"\n\t\t\tduration={toast.keepOpen ? Infinity : 5000}\n\t\t>\n\t\t\t{toast.icon && (\n\t\t\t\t<div className=\"tlui-toast__icon\">\n\t\t\t\t\t<Icon icon={toast.icon as TLUiIconType} />\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div className=\"tlui-toast__main\">\n\t\t\t\t<div className=\"tlui-toast__content\">\n\t\t\t\t\t{toast.title && <T.Title className=\"tlui-toast__title\">{toast.title}</T.Title>}\n\t\t\t\t\t{toast.description && (\n\t\t\t\t\t\t<T.Description className=\"tlui-toast__description\">{toast.description}</T.Description>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{toast.actions && (\n\t\t\t\t\t<div className=\"tlui-toast__actions\">\n\t\t\t\t\t\t{toast.actions.map((action, i) => (\n\t\t\t\t\t\t\t<T.Action key={i} altText={action.label} asChild onClick={action.onClick}>\n\t\t\t\t\t\t\t\t<Button type={action.type}>{action.label}</Button>\n\t\t\t\t\t\t\t</T.Action>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<T.Close asChild>\n\t\t\t\t\t\t\t<Button type=\"normal\" className=\"tlui-toast__close\" style={{ marginLeft: 'auto' }}>\n\t\t\t\t\t\t\t\t{toast.closeLabel ?? msg('toast.close')}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</T.Close>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{!hasActions && (\n\t\t\t\t<T.Close asChild>\n\t\t\t\t\t<Button type=\"normal\" className=\"tlui-toast__close\">\n\t\t\t\t\t\t{toast.closeLabel ?? msg('toast.close')}\n\t\t\t\t\t</Button>\n\t\t\t\t</T.Close>\n\t\t\t)}\n\t\t</T.Root>\n\t)\n}\n\nfunction _Toasts() {\n\tconst { toasts } = useToasts()\n\n\treturn (\n\t\t<>\n\t\t\t{toasts.map((toast) => (\n\t\t\t\t<Toast key={toast.id} toast={toast} />\n\t\t\t))}\n\t\t</>\n\t)\n}\n\nexport const Toasts = React.memo(_Toasts)\n\nexport function ToastViewport() {\n\tconst { toasts } = useToasts()\n\n\tconst [hasToasts, setHasToasts] = React.useState(false)\n\n\tReact.useEffect(() => {\n\t\tlet cancelled = false\n\t\tif (toasts.length) {\n\t\t\tsetHasToasts(true)\n\t\t} else {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (!cancelled) {\n\t\t\t\t\tsetHasToasts(false)\n\t\t\t\t}\n\t\t\t}, 1000)\n\t\t}\n\n\t\treturn () => {\n\t\t\tcancelled = true\n\t\t}\n\t}, [toasts.length, setHasToasts])\n\n\tif (!hasToasts) return null\n\n\treturn <T.ToastViewport className=\"tlui-toast__viewport\" />\n}\n"],
  "mappings": "AA4BK,SAwCH,UAxCG,KAID,YAJC;AA5BL,YAAY,OAAO;AACnB,YAAY,WAAW;AACvB,SAAoB,iBAAiB;AACrC,SAAS,sBAAsB;AAE/B,SAAS,cAAc;AACvB,SAAS,YAAY;AAErB,SAAS,MAAM,EAAE,MAAM,GAAyB;AAC/C,QAAM,EAAE,YAAY,IAAI,UAAU;AAClC,QAAM,MAAM,eAAe;AAE3B,QAAM,eAAe,CAAC,WAAoB;AACzC,QAAI,CAAC,QAAQ;AACZ,kBAAY,MAAM,EAAE;AAAA,IACrB;AAAA,EACD;AAEA,QAAM,aAAa,MAAM,WAAW,MAAM,QAAQ,SAAS;AAE3D,SACC;AAAA,IAAC,EAAE;AAAA,IAAF;AAAA,MACA;AAAA,MACA,WAAU;AAAA,MACV,UAAU,MAAM,WAAW,WAAW;AAAA,MAErC;AAAA,cAAM,QACN,oBAAC,SAAI,WAAU,oBACd,8BAAC,QAAK,MAAM,MAAM,MAAsB,GACzC;AAAA,QAED,qBAAC,SAAI,WAAU,oBACd;AAAA,+BAAC,SAAI,WAAU,uBACb;AAAA,kBAAM,SAAS,oBAAC,EAAE,OAAF,EAAQ,WAAU,qBAAqB,gBAAM,OAAM;AAAA,YACnE,MAAM,eACN,oBAAC,EAAE,aAAF,EAAc,WAAU,2BAA2B,gBAAM,aAAY;AAAA,aAExE;AAAA,UACC,MAAM,WACN,qBAAC,SAAI,WAAU,uBACb;AAAA,kBAAM,QAAQ,IAAI,CAAC,QAAQ,MAC3B,oBAAC,EAAE,QAAF,EAAiB,SAAS,OAAO,OAAO,SAAO,MAAC,SAAS,OAAO,SAChE,8BAAC,UAAO,MAAM,OAAO,MAAO,iBAAO,OAAM,KAD3B,CAEf,CACA;AAAA,YACD,oBAAC,EAAE,OAAF,EAAQ,SAAO,MACf,8BAAC,UAAO,MAAK,UAAS,WAAU,qBAAoB,OAAO,EAAE,YAAY,OAAO,GAC9E,gBAAM,cAAc,IAAI,aAAa,GACvC,GACD;AAAA,aACD;AAAA,WAEF;AAAA,QACC,CAAC,cACD,oBAAC,EAAE,OAAF,EAAQ,SAAO,MACf,8BAAC,UAAO,MAAK,UAAS,WAAU,qBAC9B,gBAAM,cAAc,IAAI,aAAa,GACvC,GACD;AAAA;AAAA;AAAA,EAEF;AAEF;AAEA,SAAS,UAAU;AAClB,QAAM,EAAE,OAAO,IAAI,UAAU;AAE7B,SACC,gCACE,iBAAO,IAAI,CAAC,UACZ,oBAAC,SAAqB,SAAV,MAAM,EAAkB,CACpC,GACF;AAEF;AAEO,MAAM,SAAS,MAAM,KAAK,OAAO;AAEjC,SAAS,gBAAgB;AAC/B,QAAM,EAAE,OAAO,IAAI,UAAU;AAE7B,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,KAAK;AAEtD,QAAM,UAAU,MAAM;AACrB,QAAI,YAAY;AAChB,QAAI,OAAO,QAAQ;AAClB,mBAAa,IAAI;AAAA,IAClB,OAAO;AACN,iBAAW,MAAM;AAChB,YAAI,CAAC,WAAW;AACf,uBAAa,KAAK;AAAA,QACnB;AAAA,MACD,GAAG,GAAI;AAAA,IACR;AAEA,WAAO,MAAM;AACZ,kBAAY;AAAA,IACb;AAAA,EACD,GAAG,CAAC,OAAO,QAAQ,YAAY,CAAC;AAEhC,MAAI,CAAC,UAAW,QAAO;AAEvB,SAAO,oBAAC,EAAE,eAAF,EAAgB,WAAU,wBAAuB;AAC1D;",
  "names": []
}
