{"version":3,"file":"ErrorBoundary.js","names":[],"sources":["esm/views/ErrorBoundary.js"],"sourcesContent":["import React from \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nfunction ErrorBoundary({ error, retry, route }) {\n  const isDev = process.env.NODE_ENV === \"development\";\n  React.useEffect(() => {\n    if (typeof window !== \"undefined\") {\n      window.dispatchEvent(\n        new CustomEvent(\"one-error\", {\n          detail: {\n            error: {\n              message: error.message,\n              stack: error.stack,\n              name: error.name\n            },\n            route: route || {},\n            timestamp: Date.now(),\n            type: \"render\"\n          }\n        })\n      );\n    }\n  }, [error, route]);\n  return /* @__PURE__ */ jsx(\n    \"div\",\n    {\n      style: {\n        minHeight: \"100vh\",\n        display: \"flex\",\n        alignItems: \"center\",\n        justifyContent: \"center\",\n        backgroundColor: \"#0a0a0f\",\n        fontFamily: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n        color: \"#e8e8e8\",\n        padding: \"24px\"\n      },\n      children: /* @__PURE__ */ jsxs(\n        \"div\",\n        {\n          style: {\n            maxWidth: \"600px\",\n            width: \"100%\",\n            backgroundColor: \"#1a1a2e\",\n            borderRadius: \"12px\",\n            boxShadow: \"0 8px 32px rgba(0, 0, 0, 0.4)\",\n            overflow: \"hidden\"\n          },\n          children: [\n            /* @__PURE__ */ jsxs(\n              \"div\",\n              {\n                style: {\n                  padding: \"16px 20px\",\n                  backgroundColor: \"#ef4444\",\n                  display: \"flex\",\n                  alignItems: \"center\",\n                  gap: \"12px\"\n                },\n                children: [\n                  /* @__PURE__ */ jsxs(\n                    \"svg\",\n                    {\n                      width: \"24\",\n                      height: \"24\",\n                      viewBox: \"0 0 24 24\",\n                      fill: \"none\",\n                      stroke: \"white\",\n                      strokeWidth: \"2\",\n                      children: [\n                        /* @__PURE__ */ jsx(\"circle\", { cx: \"12\", cy: \"12\", r: \"10\" }),\n                        /* @__PURE__ */ jsx(\"line\", { x1: \"12\", y1: \"8\", x2: \"12\", y2: \"12\" }),\n                        /* @__PURE__ */ jsx(\"line\", { x1: \"12\", y1: \"16\", x2: \"12.01\", y2: \"16\" })\n                      ]\n                    }\n                  ),\n                  /* @__PURE__ */ jsxs(\"div\", { children: [\n                    /* @__PURE__ */ jsx(\"div\", { style: { fontWeight: 600, fontSize: \"16px\", color: \"white\" }, children: \"Something went wrong\" }),\n                    route?.pathname && /* @__PURE__ */ jsxs(\n                      \"div\",\n                      {\n                        style: {\n                          fontSize: \"13px\",\n                          color: \"rgba(255,255,255,0.8)\",\n                          marginTop: \"2px\"\n                        },\n                        children: [\n                          \"on \",\n                          route.pathname\n                        ]\n                      }\n                    )\n                  ] })\n                ]\n              }\n            ),\n            /* @__PURE__ */ jsxs(\"div\", { style: { padding: \"20px\" }, children: [\n              /* @__PURE__ */ jsx(\n                \"div\",\n                {\n                  style: {\n                    backgroundColor: \"#2a2a4a\",\n                    borderRadius: \"8px\",\n                    padding: \"16px\",\n                    marginBottom: \"16px\"\n                  },\n                  children: /* @__PURE__ */ jsx(\n                    \"div\",\n                    {\n                      style: {\n                        fontFamily: \"monospace\",\n                        fontSize: \"14px\",\n                        lineHeight: \"1.5\",\n                        color: \"#f87171\",\n                        wordBreak: \"break-word\"\n                      },\n                      children: error.message || \"An unexpected error occurred\"\n                    }\n                  )\n                }\n              ),\n              isDev && error.stack && /* @__PURE__ */ jsxs(\n                \"details\",\n                {\n                  style: {\n                    marginBottom: \"16px\"\n                  },\n                  children: [\n                    /* @__PURE__ */ jsx(\n                      \"summary\",\n                      {\n                        style: {\n                          cursor: \"pointer\",\n                          fontSize: \"13px\",\n                          color: \"#888\",\n                          marginBottom: \"8px\"\n                        },\n                        children: \"Stack trace\"\n                      }\n                    ),\n                    /* @__PURE__ */ jsx(\n                      \"div\",\n                      {\n                        style: {\n                          backgroundColor: \"#16162a\",\n                          borderRadius: \"8px\",\n                          padding: \"12px\",\n                          maxHeight: \"200px\",\n                          overflow: \"auto\"\n                        },\n                        children: /* @__PURE__ */ jsx(\n                          \"pre\",\n                          {\n                            style: {\n                              fontFamily: \"monospace\",\n                              fontSize: \"11px\",\n                              lineHeight: \"1.6\",\n                              color: \"#a0a0a0\",\n                              margin: 0,\n                              whiteSpace: \"pre-wrap\",\n                              wordBreak: \"break-word\"\n                            },\n                            children: error.stack\n                          }\n                        )\n                      }\n                    )\n                  ]\n                }\n              ),\n              isDev && route && /* @__PURE__ */ jsxs(\n                \"details\",\n                {\n                  style: {\n                    marginBottom: \"16px\"\n                  },\n                  children: [\n                    /* @__PURE__ */ jsx(\n                      \"summary\",\n                      {\n                        style: {\n                          cursor: \"pointer\",\n                          fontSize: \"13px\",\n                          color: \"#888\",\n                          marginBottom: \"8px\"\n                        },\n                        children: \"Route info\"\n                      }\n                    ),\n                    /* @__PURE__ */ jsxs(\n                      \"div\",\n                      {\n                        style: {\n                          backgroundColor: \"#16162a\",\n                          borderRadius: \"8px\",\n                          padding: \"12px\",\n                          display: \"grid\",\n                          gridTemplateColumns: \"auto 1fr\",\n                          gap: \"8px\",\n                          fontFamily: \"monospace\",\n                          fontSize: \"12px\"\n                        },\n                        children: [\n                          route.pathname && /* @__PURE__ */ jsxs(Fragment, { children: [\n                            /* @__PURE__ */ jsx(\"span\", { style: { color: \"#888\" }, children: \"pathname\" }),\n                            /* @__PURE__ */ jsx(\"span\", { style: { color: \"#e8e8e8\" }, children: route.pathname })\n                          ] }),\n                          route.routeName && /* @__PURE__ */ jsxs(Fragment, { children: [\n                            /* @__PURE__ */ jsx(\"span\", { style: { color: \"#888\" }, children: \"route\" }),\n                            /* @__PURE__ */ jsx(\"span\", { style: { color: \"#e8e8e8\" }, children: route.routeName })\n                          ] }),\n                          route.params && Object.keys(route.params).length > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [\n                            /* @__PURE__ */ jsx(\"span\", { style: { color: \"#888\" }, children: \"params\" }),\n                            /* @__PURE__ */ jsx(\"span\", { style: { color: \"#e8e8e8\" }, children: JSON.stringify(route.params) })\n                          ] })\n                        ]\n                      }\n                    )\n                  ]\n                }\n              ),\n              /* @__PURE__ */ jsxs(\"div\", { style: { display: \"flex\", gap: \"12px\" }, children: [\n                /* @__PURE__ */ jsx(\n                  \"button\",\n                  {\n                    onClick: () => retry(),\n                    style: {\n                      flex: 1,\n                      padding: \"12px 20px\",\n                      backgroundColor: \"#3b82f6\",\n                      color: \"white\",\n                      border: \"none\",\n                      borderRadius: \"8px\",\n                      fontSize: \"14px\",\n                      fontWeight: 500,\n                      cursor: \"pointer\",\n                      transition: \"background-color 0.15s\"\n                    },\n                    onMouseOver: (e) => {\n                      e.currentTarget.style.backgroundColor = \"#2563eb\";\n                    },\n                    onMouseOut: (e) => {\n                      e.currentTarget.style.backgroundColor = \"#3b82f6\";\n                    },\n                    children: \"Try Again\"\n                  }\n                ),\n                /* @__PURE__ */ jsx(\n                  \"button\",\n                  {\n                    onClick: () => {\n                      if (typeof window !== \"undefined\") {\n                        window.location.href = \"/\";\n                      }\n                    },\n                    style: {\n                      padding: \"12px 20px\",\n                      backgroundColor: \"transparent\",\n                      color: \"#888\",\n                      border: \"1px solid #3a3a5a\",\n                      borderRadius: \"8px\",\n                      fontSize: \"14px\",\n                      fontWeight: 500,\n                      cursor: \"pointer\",\n                      transition: \"all 0.15s\"\n                    },\n                    onMouseOver: (e) => {\n                      e.currentTarget.style.backgroundColor = \"#2a2a4a\";\n                      e.currentTarget.style.color = \"#e8e8e8\";\n                    },\n                    onMouseOut: (e) => {\n                      e.currentTarget.style.backgroundColor = \"transparent\";\n                      e.currentTarget.style.color = \"#888\";\n                    },\n                    children: \"Go Home\"\n                  }\n                )\n              ] })\n            ] }),\n            isDev && /* @__PURE__ */ jsxs(\n              \"div\",\n              {\n                style: {\n                  padding: \"12px 20px\",\n                  backgroundColor: \"#16162a\",\n                  borderTop: \"1px solid #2a2a4a\",\n                  fontSize: \"11px\",\n                  color: \"#666\",\n                  display: \"flex\",\n                  alignItems: \"center\",\n                  gap: \"8px\"\n                },\n                children: [\n                  /* @__PURE__ */ jsxs(\n                    \"svg\",\n                    {\n                      width: \"12\",\n                      height: \"12\",\n                      viewBox: \"0 0 24 24\",\n                      fill: \"none\",\n                      stroke: \"#666\",\n                      strokeWidth: \"2\",\n                      children: [\n                        /* @__PURE__ */ jsx(\"circle\", { cx: \"12\", cy: \"12\", r: \"10\" }),\n                        /* @__PURE__ */ jsx(\"path\", { d: \"M12 16v-4\" }),\n                        /* @__PURE__ */ jsx(\"path\", { d: \"M12 8h.01\" })\n                      ]\n                    }\n                  ),\n                  /* @__PURE__ */ jsxs(\"span\", { children: [\n                    \"Press\",\n                    \" \",\n                    /* @__PURE__ */ jsx(\n                      \"kbd\",\n                      {\n                        style: {\n                          padding: \"2px 6px\",\n                          backgroundColor: \"#2a2a4a\",\n                          borderRadius: \"4px\"\n                        },\n                        children: \"Alt+E\"\n                      }\n                    ),\n                    \" \",\n                    \"to open Error Panel\"\n                  ] })\n                ]\n              }\n            )\n          ]\n        }\n      )\n    }\n  );\n}\nexport {\n  ErrorBoundary\n};\n//# sourceMappingURL=ErrorBoundary.web.js.map\n"],"mappings":";;;;AAEA,SAAS,cAAc,EAAE,OAAO,OAAO,SAAS;CAC9C,MAAM,QAAQ,QAAQ,IAAI,aAAa;CACvC,MAAM,gBAAgB;EACpB,IAAI,OAAO,WAAW,aAAa;GACjC,OAAO,cACL,IAAI,YAAY,aAAa,EAC3B,QAAQ;IACN,OAAO;KACL,SAAS,MAAM;KACf,OAAO,MAAM;KACb,MAAM,MAAM;IACd;IACA,OAAO,SAAS,CAAC;IACjB,WAAW,KAAK,IAAI;IACpB,MAAM;GACR,EACF,CAAC,CACH;EACF;CACF,GAAG,CAAC,OAAO,KAAK,CAAC;CACjB,OAAuB,oBACrB,OACA;EACE,OAAO;GACL,WAAW;GACX,SAAS;GACT,YAAY;GACZ,gBAAgB;GAChB,iBAAiB;GACjB,YAAY;GACZ,OAAO;GACP,SAAS;EACX;EACA,UAA0B,qBACxB,OACA;GACE,OAAO;IACL,UAAU;IACV,OAAO;IACP,iBAAiB;IACjB,cAAc;IACd,WAAW;IACX,UAAU;GACZ;GACA,UAAU;IACQ,qBACd,OACA;KACE,OAAO;MACL,SAAS;MACT,iBAAiB;MACjB,SAAS;MACT,YAAY;MACZ,KAAK;KACP;KACA,UAAU,CACQ,qBACd,OACA;MACE,OAAO;MACP,QAAQ;MACR,SAAS;MACT,MAAM;MACN,QAAQ;MACR,aAAa;MACb,UAAU;OACQ,oBAAI,UAAU;QAAE,IAAI;QAAM,IAAI;QAAM,GAAG;OAAK,CAAC;OAC7C,oBAAI,QAAQ;QAAE,IAAI;QAAM,IAAI;QAAK,IAAI;QAAM,IAAI;OAAK,CAAC;OACrD,oBAAI,QAAQ;QAAE,IAAI;QAAM,IAAI;QAAM,IAAI;QAAS,IAAI;OAAK,CAAC;MAC3E;KACF,CACF,GACgB,qBAAK,OAAO,EAAE,UAAU,CACtB,oBAAI,OAAO;MAAE,OAAO;OAAE,YAAY;OAAK,UAAU;OAAQ,OAAO;MAAQ;MAAG,UAAU;KAAuB,CAAC,GAC7H,OAAO,YAA4B,qBACjC,OACA;MACE,OAAO;OACL,UAAU;OACV,OAAO;OACP,WAAW;MACb;MACA,UAAU,CACR,OACA,MAAM,QACR;KACF,CACF,CACF,EAAE,CAAC,CACL;IACF,CACF;IACgB,qBAAK,OAAO;KAAE,OAAO,EAAE,SAAS,OAAO;KAAG,UAAU;MAClD,oBACd,OACA;OACE,OAAO;QACL,iBAAiB;QACjB,cAAc;QACd,SAAS;QACT,cAAc;OAChB;OACA,UAA0B,oBACxB,OACA;QACE,OAAO;SACL,YAAY;SACZ,UAAU;SACV,YAAY;SACZ,OAAO;SACP,WAAW;QACb;QACA,UAAU,MAAM,WAAW;OAC7B,CACF;MACF,CACF;MACA,SAAS,MAAM,SAAyB,qBACtC,WACA;OACE,OAAO,EACL,cAAc,OAChB;OACA,UAAU,CACQ,oBACd,WACA;QACE,OAAO;SACL,QAAQ;SACR,UAAU;SACV,OAAO;SACP,cAAc;QAChB;QACA,UAAU;OACZ,CACF,GACgB,oBACd,OACA;QACE,OAAO;SACL,iBAAiB;SACjB,cAAc;SACd,SAAS;SACT,WAAW;SACX,UAAU;QACZ;QACA,UAA0B,oBACxB,OACA;SACE,OAAO;UACL,YAAY;UACZ,UAAU;UACV,YAAY;UACZ,OAAO;UACP,QAAQ;UACR,YAAY;UACZ,WAAW;SACb;SACA,UAAU,MAAM;QAClB,CACF;OACF,CACF,CACF;MACF,CACF;MACA,SAAS,SAAyB,qBAChC,WACA;OACE,OAAO,EACL,cAAc,OAChB;OACA,UAAU,CACQ,oBACd,WACA;QACE,OAAO;SACL,QAAQ;SACR,UAAU;SACV,OAAO;SACP,cAAc;QAChB;QACA,UAAU;OACZ,CACF,GACgB,qBACd,OACA;QACE,OAAO;SACL,iBAAiB;SACjB,cAAc;SACd,SAAS;SACT,SAAS;SACT,qBAAqB;SACrB,KAAK;SACL,YAAY;SACZ,UAAU;QACZ;QACA,UAAU;SACR,MAAM,YAA4B,qBAAK,UAAU,EAAE,UAAU,CAC3C,oBAAI,QAAQ;UAAE,OAAO,EAAE,OAAO,OAAO;UAAG,UAAU;SAAW,CAAC,GAC9D,oBAAI,QAAQ;UAAE,OAAO,EAAE,OAAO,UAAU;UAAG,UAAU,MAAM;SAAS,CAAC,CACvF,EAAE,CAAC;SACH,MAAM,aAA6B,qBAAK,UAAU,EAAE,UAAU,CAC5C,oBAAI,QAAQ;UAAE,OAAO,EAAE,OAAO,OAAO;UAAG,UAAU;SAAQ,CAAC,GAC3D,oBAAI,QAAQ;UAAE,OAAO,EAAE,OAAO,UAAU;UAAG,UAAU,MAAM;SAAU,CAAC,CACxF,EAAE,CAAC;SACH,MAAM,UAAU,OAAO,KAAK,MAAM,MAAM,CAAC,CAAC,SAAS,KAAqB,qBAAK,UAAU,EAAE,UAAU,CACjF,oBAAI,QAAQ;UAAE,OAAO,EAAE,OAAO,OAAO;UAAG,UAAU;SAAS,CAAC,GAC5D,oBAAI,QAAQ;UAAE,OAAO,EAAE,OAAO,UAAU;UAAG,UAAU,KAAK,UAAU,MAAM,MAAM;SAAE,CAAC,CACrG,EAAE,CAAC;QACL;OACF,CACF,CACF;MACF,CACF;MACgB,qBAAK,OAAO;OAAE,OAAO;QAAE,SAAS;QAAQ,KAAK;OAAO;OAAG,UAAU,CAC/D,oBACd,UACA;QACE,eAAe,MAAM;QACrB,OAAO;SACL,MAAM;SACN,SAAS;SACT,iBAAiB;SACjB,OAAO;SACP,QAAQ;SACR,cAAc;SACd,UAAU;SACV,YAAY;SACZ,QAAQ;SACR,YAAY;QACd;QACA,cAAc,MAAM;SAClB,EAAE,cAAc,MAAM,kBAAkB;QAC1C;QACA,aAAa,MAAM;SACjB,EAAE,cAAc,MAAM,kBAAkB;QAC1C;QACA,UAAU;OACZ,CACF,GACgB,oBACd,UACA;QACE,eAAe;SACb,IAAI,OAAO,WAAW,aAAa;UACjC,OAAO,SAAS,OAAO;SACzB;QACF;QACA,OAAO;SACL,SAAS;SACT,iBAAiB;SACjB,OAAO;SACP,QAAQ;SACR,cAAc;SACd,UAAU;SACV,YAAY;SACZ,QAAQ;SACR,YAAY;QACd;QACA,cAAc,MAAM;SAClB,EAAE,cAAc,MAAM,kBAAkB;SACxC,EAAE,cAAc,MAAM,QAAQ;QAChC;QACA,aAAa,MAAM;SACjB,EAAE,cAAc,MAAM,kBAAkB;SACxC,EAAE,cAAc,MAAM,QAAQ;QAChC;QACA,UAAU;OACZ,CACF,CACF;MAAE,CAAC;KACL;IAAE,CAAC;IACH,SAAyB,qBACvB,OACA;KACE,OAAO;MACL,SAAS;MACT,iBAAiB;MACjB,WAAW;MACX,UAAU;MACV,OAAO;MACP,SAAS;MACT,YAAY;MACZ,KAAK;KACP;KACA,UAAU,CACQ,qBACd,OACA;MACE,OAAO;MACP,QAAQ;MACR,SAAS;MACT,MAAM;MACN,QAAQ;MACR,aAAa;MACb,UAAU;OACQ,oBAAI,UAAU;QAAE,IAAI;QAAM,IAAI;QAAM,GAAG;OAAK,CAAC;OAC7C,oBAAI,QAAQ,EAAE,GAAG,YAAY,CAAC;OAC9B,oBAAI,QAAQ,EAAE,GAAG,YAAY,CAAC;MAChD;KACF,CACF,GACgB,qBAAK,QAAQ,EAAE,UAAU;MACvC;MACA;MACgB,oBACd,OACA;OACE,OAAO;QACL,SAAS;QACT,iBAAiB;QACjB,cAAc;OAChB;OACA,UAAU;MACZ,CACF;MACA;MACA;KACF,EAAE,CAAC,CACL;IACF,CACF;GACF;EACF,CACF;CACF,CACF;AACF"}