@supportwire/messenger-js-sdk 1.0.26 → 1.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index-bfV4xNqW-CRQbrL80.js → index-BWmHLrzv-D5EBMgNv.js} +65 -67
- package/dist/index-BWmHLrzv-D5EBMgNv.js.map +1 -0
- package/dist/{index-bfV4xNqW-ChZOGalc.cjs → index-BWmHLrzv-YDgyeN9x.cjs} +11 -11
- package/dist/index-BWmHLrzv-YDgyeN9x.cjs.map +1 -0
- package/dist/index.cjs +49 -49
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +480 -473
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/index-bfV4xNqW-CRQbrL80.js.map +0 -1
- package/dist/index-bfV4xNqW-ChZOGalc.cjs.map +0 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../widget-loader/dist/index.js","../src/settings-map.ts","../src/manager.ts","../src/index.ts"],"sourcesContent":["var ht = Object.defineProperty, gt = Object.defineProperties;\nvar mt = Object.getOwnPropertyDescriptors;\nvar De = Object.getOwnPropertySymbols;\nvar ft = Object.prototype.hasOwnProperty, wt = Object.prototype.propertyIsEnumerable;\nvar ke = (t, e, i) => e in t ? ht(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, G = (t, e) => {\n for (var i in e || (e = {}))\n ft.call(e, i) && ke(t, i, e[i]);\n if (De)\n for (var i of De(e))\n wt.call(e, i) && ke(t, i, e[i]);\n return t;\n}, te = (t, e) => gt(t, mt(e));\nvar L = (t, e, i) => ke(t, typeof e != \"symbol\" ? e + \"\" : e, i);\nconst yt = (t) => t && typeof t == \"string\" && t.trim() !== \"\" ? t.trim().replace(/\\/$/, \"\") : \"https://widget.supportwire.app\", bt = () => {\n const t = Date.now(), e = Math.random().toString(36).substring(2, 9);\n return `supportwire-iframe-${t}-${e}`;\n}, xt = () => {\n if (document.getElementById(\"supportwire-animation-styles\"))\n return;\n const t = document.createElement(\"style\");\n t.id = \"supportwire-animation-styles\", t.textContent = `\n\t\t/* ── Popup: open (fade + rise + subtle scale) ── */\n\t\t@keyframes supportwire-slide-up-fade-in {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translateY(12px) scale(0.96);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translateY(0) scale(1);\n\t\t\t}\n\t\t}\n\n\t\t/* ── Center modal: open ── */\n\t\t@keyframes supportwire-slide-up-fade-in-center {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translate(-50%, calc(-50% + 12px)) scale(0.96);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translate(-50%, -50%) scale(1);\n\t\t\t}\n\t\t}\n\n\t\t/* ── Popup: close (faster exit, sink + shrink) ── */\n\t\t@keyframes supportwire-slide-down-fade-out {\n\t\t\tfrom {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translateY(0) scale(1);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translateY(8px) scale(0.98);\n\t\t\t}\n\t\t}\n\n\t\t/* ── Center modal: close ── */\n\t\t@keyframes supportwire-slide-down-fade-out-center {\n\t\t\tfrom {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translate(-50%, -50%) scale(1);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translate(-50%, calc(-50% + 8px)) scale(0.98);\n\t\t\t}\n\t\t}\n\n\t\t.supportwire-widget-container {\n\t\t\ttransition: opacity 250ms cubic-bezier(0.22, 1, 0.36, 1), transform 250ms cubic-bezier(0.22, 1, 0.36, 1);\n\t\t}\n\n\t\t/* ── Popup (overshoot on open for \"pop\" feel) ── */\n\t\t.supportwire-widget-container.supportwire-opening {\n\t\t\tanimation: supportwire-slide-up-fade-in 300ms cubic-bezier(0, 1.2, 1, 1) forwards;\n\t\t}\n\t\t.supportwire-widget-container.supportwire-closing {\n\t\t\tanimation: supportwire-slide-down-fade-out 180ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t/* ── Drawer ── */\n\t\t.supportwire-widget-container.supportwire-drawer.supportwire-opening {\n\t\t\tanimation: supportwire-slide-up-fade-in 350ms cubic-bezier(0, 1.2, 1, 1) forwards;\n\t\t}\n\t\t.supportwire-widget-container.supportwire-drawer.supportwire-closing {\n\t\t\tanimation: supportwire-slide-down-fade-out 220ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t/* ── Center modal ── */\n\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-opening {\n\t\t\tanimation: supportwire-slide-up-fade-in-center 300ms cubic-bezier(0, 1.2, 1, 1) forwards;\n\t\t}\n\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-closing {\n\t\t\tanimation: supportwire-slide-down-fade-out-center 180ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t/* ── Reduced motion: fade only, no movement ── */\n\t\t@keyframes supportwire-fade-in {\n\t\t\tfrom { opacity: 0; }\n\t\t\tto { opacity: 1; }\n\t\t}\n\t\t@keyframes supportwire-fade-out {\n\t\t\tfrom { opacity: 1; }\n\t\t\tto { opacity: 0; }\n\t\t}\n\n\t\t/* ── Mobile fullscreen: take over viewport on narrow screens ── */\n\t\t@media (max-width: 480px) {\n\t\t\t.supportwire-widget-container.supportwire-popup,\n\t\t\t.supportwire-widget-container.supportwire-drawer,\n\t\t\t.supportwire-widget-container.supportwire-center\\\\ modal {\n\t\t\t\twidth: 100vw !important;\n\t\t\t\theight: 100vh !important;\n\t\t\t\theight: 100dvh !important;\n\t\t\t\tmax-height: none !important;\n\t\t\t\tmin-height: none !important;\n\t\t\t\ttop: 0 !important;\n\t\t\t\tleft: 0 !important;\n\t\t\t\tright: 0 !important;\n\t\t\t\tbottom: 0 !important;\n\t\t\t\tborder-radius: 0 !important;\n\t\t\t\ttransform: none !important;\n\t\t\t}\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.supportwire-widget-container {\n\t\t\t\ttransition: opacity 150ms ease-out !important;\n\t\t\t}\n\t\t\t.supportwire-widget-container.supportwire-opening,\n\t\t\t.supportwire-widget-container.supportwire-drawer.supportwire-opening,\n\t\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-opening {\n\t\t\t\tanimation: supportwire-fade-in 150ms ease-out forwards !important;\n\t\t\t}\n\t\t\t.supportwire-widget-container.supportwire-closing,\n\t\t\t.supportwire-widget-container.supportwire-drawer.supportwire-closing,\n\t\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-closing {\n\t\t\t\tanimation: supportwire-fade-out 150ms ease-out forwards !important;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(t);\n}, Qe = (t) => {\n requestAnimationFrame(() => {\n t.classList.remove(\"supportwire-closing\"), t.classList.add(\"supportwire-opening\");\n });\n}, et = (t, e) => {\n t.classList.remove(\"supportwire-opening\"), t.classList.add(\"supportwire-closing\"), setTimeout(() => {\n t.style.display = \"none\", t.classList.remove(\"supportwire-closing\");\n }, 230);\n};\nconst vt = (t, e) => {\n if (!e)\n return {\n bottom: \"20px\",\n right: \"20px\"\n };\n switch (t) {\n case \"bottom-right\":\n return {\n bottom: \"84px\",\n right: \"20px\"\n };\n case \"bottom-left\":\n return {\n bottom: \"84px\",\n left: \"20px\"\n };\n case \"top-right\":\n return {\n top: \"84px\",\n right: \"20px\"\n };\n case \"top-left\":\n return {\n top: \"84px\",\n left: \"20px\"\n };\n default:\n return {\n bottom: \"84px\",\n right: \"20px\"\n };\n }\n}, Et = () => {\n const t = \"supportwire-widget-tail-styles\";\n if (document.getElementById(t)) return;\n const e = document.createElement(\"style\");\n e.id = t, e.textContent = `\n\t\t.supportwire-widget-tail {\n\t\t\tposition: absolute;\n\t\t\twidth: 12px;\n\t\t\theight: 12px;\n\t\t\tbackground: inherit;\n\t\t\tborder-radius: 2px;\n\t\t\ttransform: rotate(45deg);\n\t\t\tz-index: -1;\n\t\t}\n\n\t\t.supportwire-widget-tail.bottom-right {\n\t\t\tbottom: -6px;\n\t\t\tright: 24px;\n\t\t\tbox-shadow: 2px 2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\n\t\t.supportwire-widget-tail.bottom-left {\n\t\t\tbottom: -6px;\n\t\t\tleft: 24px;\n\t\t\tbox-shadow: 2px 2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\n\t\t.supportwire-widget-tail.top-right {\n\t\t\ttop: -6px;\n\t\t\tright: 24px;\n\t\t\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\n\t\t.supportwire-widget-tail.top-left {\n\t\t\ttop: -6px;\n\t\t\tleft: 24px;\n\t\t\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\t`, document.head.appendChild(e);\n}, Ct = (t, e, i) => {\n Et();\n const r = t.querySelector(\".supportwire-widget-tail\");\n r && r.remove();\n const o = document.createElement(\"div\");\n o.className = `supportwire-widget-tail ${e || \"bottom-right\"}`, o.style.background = i === \"dark\" ? \"#1a1a1a\" : \"#ffffff\", t.appendChild(o);\n}, Be = (t, e) => {\n var o, n;\n const i = {\n position: \"fixed\",\n zIndex: \"999999\",\n display: \"none\",\n opacity: \"0\",\n backgroundColor: e.theme === \"dark\" ? \"#28282a\" : \"#f1f1f3\",\n transition: \"width 200ms ease-out, height 200ms ease-out\"\n }, r = !e.selector;\n switch (e.widgetType) {\n case \"popup\": {\n const s = (o = e.triggerPosition) != null && o.endsWith(\"left\") ? \"left\" : \"right\", l = (n = e.triggerPosition) != null && n.startsWith(\"top\") ? \"top\" : \"bottom\", c = G(te(G({}, i), {\n width: \"min(400px, max(0px, -20px + 100vw))\",\n height: \"min(704px, 100% - 104px)\",\n minHeight: \"80px\",\n maxHeight: \"704px\",\n borderRadius: \"24px\",\n boxShadow: e.theme === \"dark\" ? \"rgba(0, 0, 0, 0.5) 0px 5px 40px 0px\" : \"rgba(9, 14, 21, 0.12) 0px 5px 40px 0px\",\n overflow: \"hidden\",\n transformOrigin: `${s} ${l}`\n }), vt(e.triggerPosition, r));\n Object.assign(t.style, c);\n break;\n }\n case \"drawer\":\n Object.assign(t.style, i, {\n bottom: \"0\",\n right: \"0\",\n width: \"400px\",\n height: \"80vh\",\n borderTopLeftRadius: \"24px\",\n boxShadow: e.theme === \"dark\" ? \"rgba(0, 0, 0, 0.5) 0px 5px 40px 0px\" : \"rgba(9, 14, 21, 0.12) 0px 5px 40px 0px\",\n overflow: \"hidden\"\n });\n break;\n case \"center modal\":\n Object.assign(t.style, i, {\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"90%\",\n maxWidth: \"600px\",\n height: \"80vh\",\n borderRadius: \"24px\",\n boxShadow: e.theme === \"dark\" ? \"rgba(0, 0, 0, 0.5) 0px 5px 40px 0px\" : \"rgba(9, 14, 21, 0.12) 0px 5px 40px 0px\",\n overflow: \"hidden\"\n });\n break;\n }\n}, kt = (t, e, i) => {\n if (i === \"popup\")\n switch (e) {\n case \"bottom-right\":\n t.style.bottom = \"84px\", t.style.right = \"20px\", t.style.top = \"auto\", t.style.left = \"auto\";\n break;\n case \"bottom-left\":\n t.style.bottom = \"84px\", t.style.left = \"20px\", t.style.top = \"auto\", t.style.right = \"auto\";\n break;\n case \"top-right\":\n t.style.top = \"84px\", t.style.right = \"20px\", t.style.bottom = \"auto\", t.style.left = \"auto\";\n break;\n case \"top-left\":\n t.style.top = \"84px\", t.style.left = \"20px\", t.style.bottom = \"auto\", t.style.right = \"auto\";\n break;\n }\n}, St = `\n<svg width=\"28\" height=\"28\" viewBox=\"0 0 820 820\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path d=\"M306.256 103.089C374.06 121.601 405.862 142.59 421.597 163.509C431.539 176.728 436.259 191.483 438.492 209.449C438.57 210.082 438.643 210.717 438.715 211.352C406.945 214.037 377.275 229.548 354.7 259.981C341.9 277.237 334.444 294.617 333.557 312.794C332.669 330.997 338.511 347.065 346.837 361.327C354.975 375.267 366.267 388.769 377.867 401.971C389.907 415.672 402.475 429.27 415.535 445.247C430.794 463.914 439.389 485.957 441.679 506.319C444.009 527.042 439.644 543.751 432.155 553.715C422.208 566.947 404.553 576.35 383.329 579.578C373.766 558.908 367.432 536.332 364.99 512.317C360.559 468.74 346.585 426.481 324.199 401.287C312.749 388.401 297.053 377.839 277.666 377.481C258.099 377.12 240.782 387.253 226.463 402.846C202.178 429.296 203.512 469.846 215.138 504.134C227.276 539.932 252.808 576.859 289.195 603.059C308.607 617.036 332.485 624.471 356.456 626.188C389.051 678.63 440.001 717.759 499.915 737.633L464.425 790.873C438.535 829.709 381.465 829.709 355.575 790.873L232.25 605.888C227.46 598.704 221.294 592.538 214.11 587.748L29.1257 464.422C-9.70859 438.532-9.70855 381.468 29.1257 355.578L214.11 232.252C221.294 227.462 227.46 221.296 232.25 214.112L306.256 103.089ZM355.575 29.1266C381.465-9.70887 438.535-9.70887 464.425 29.1266L587.75 214.112C592.54 221.296 598.706 227.462 605.891 232.252L790.874 355.578C829.708 381.468 829.708 438.532 790.874 464.422L605.891 587.748C598.706 592.538 592.54 598.704 587.75 605.888L526.423 697.87C478.757 684.856 437.581 657.743 408.598 620.81C431.865 614.079 453.711 601.242 468.756 581.226C485.249 559.283 490.385 529.784 487.171 501.202C483.916 472.257 471.929 441.888 450.986 416.266C437.243 399.454 423.392 384.409 412.264 371.745C400.7 358.583 392.067 347.991 386.376 338.242C380.873 328.815 378.979 321.589 379.298 315.029C379.62 308.442 382.325 299.581 391.473 287.25C405.532 268.298 422.419 259.203 440.574 257.158C440.632 262.282 440.706 267.634 440.836 273.254C441.764 313.257 451.608 353.139 469.184 383.198C486.493 412.8 514.851 437.876 552.829 434.113C574.971 431.918 592.568 421.837 602.933 404.717C612.65 388.669 614.046 369.663 611.774 352.531C607.264 318.532 586.967 281.055 560.251 257.905C537.695 238.36 511.89 223.403 485.121 216.021C484.816 211.889 484.43 207.805 483.933 203.802C481.069 180.754 474.419 157.561 458.191 135.985C435.529 105.855 396.68 82.1759 332.931 63.0831L355.575 29.1266ZM276.816 423.261C279.023 423.301 283.573 424.501 289.975 431.705C303.292 446.695 315.474 477.943 319.44 516.941C321.485 537.048 325.758 556.267 331.954 574.436C326.083 572.154 320.674 569.306 315.946 565.902C287.519 545.433 267.66 516.46 258.497 489.436C248.821 460.902 252.942 441.706 260.189 433.813C269.148 424.057 274.786 423.224 276.816 423.261ZM486.475 264.816C501.078 270.831 515.992 280.136 530.268 292.507C548.705 308.484 563.375 335.868 566.384 358.548C567.87 369.751 566.162 377.039 563.765 381C562.014 383.891 558.471 387.543 548.313 388.55C536.044 389.765 521.828 382.532 508.704 360.087C495.847 338.098 487.398 306.189 486.609 272.194C486.553 269.765 486.511 267.3 486.475 264.816Z\" fill=\"currentColor\"/>\n</svg>\n`, Tt = `\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n`, It = () => {\n const t = \"supportwire-trigger-styles\";\n if (document.getElementById(t)) return;\n const e = document.createElement(\"style\");\n e.id = t, e.textContent = `\n\t\t/* ── Trigger entrance ── */\n\t\t@keyframes supportwire-trigger-enter {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: scale(0.8);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: scale(1);\n\t\t\t}\n\t\t}\n\n\t\t.supportwire-trigger-wrapper {\n\t\t\tposition: relative;\n\t\t\twidth: 48px;\n\t\t\theight: 48px;\n\t\t\tanimation: supportwire-trigger-enter 350ms cubic-bezier(0.22, 1, 0.36, 1) forwards;\n\t\t}\n\n\t\t.supportwire-widget-trigger {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tborder-radius: 50%;\n\t\t\tborder: none;\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\ttransition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1), opacity 100ms ease-out;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t/* Hover: instant on (0ms via override below), ease off (150ms base) */\n\t\t.supportwire-widget-trigger:hover {\n\t\t\topacity: 0.9;\n\t\t\ttransform: translateY(-2px);\n\t\t\ttransition-duration: 0ms;\n\t\t}\n\t\t.supportwire-widget-trigger:not(:hover) {\n\t\t\ttransition-duration: 150ms;\n\t\t}\n\n\t\t.supportwire-widget-trigger:active {\n\t\t\ttransform: scale(0.97);\n\t\t}\n\n\t\t.supportwire-widget-trigger:focus-visible {\n\t\t\toutline: 2px solid #0091FF;\n\t\t\toutline-offset: 2px;\n\t\t}\n\n\t\t/* ── Icon crossfade ── */\n\t\t.supportwire-widget-trigger .supportwire-trigger-icon {\n\t\t\tposition: absolute;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\ttransition: opacity 150ms ease-out, transform 150ms ease-out;\n\t\t}\n\t\t.supportwire-trigger-icon--hidden {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.8);\n\t\t}\n\t\t.supportwire-trigger-icon--visible {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.supportwire-trigger-wrapper {\n\t\t\t\tanimation: none;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\t.supportwire-widget-trigger {\n\t\t\t\ttransition: opacity 100ms ease-out;\n\t\t\t}\n\t\t\t.supportwire-widget-trigger .supportwire-trigger-icon {\n\t\t\t\ttransition: opacity 100ms ease-out;\n\t\t\t\ttransform: none !important;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(e);\n}, Rt = (t, e) => {\n var p, h;\n It();\n const i = document.createElement(\"div\");\n i.className = \"supportwire-trigger-wrapper\";\n const r = document.createElement(\"button\");\n r.className = \"supportwire-widget-trigger\", r.setAttribute(\"aria-label\", \"Open SupportWire chat\"), r.style.position = \"relative\";\n const o = document.createElement(\"span\");\n o.className = \"supportwire-trigger-icon supportwire-trigger-icon--visible\", o.setAttribute(\"data-icon\", \"logo\"), o.innerHTML = St;\n const n = document.createElement(\"span\");\n n.className = \"supportwire-trigger-icon supportwire-trigger-icon--hidden\", n.setAttribute(\"data-icon\", \"chevron\"), n.innerHTML = Tt, r.appendChild(o), r.appendChild(n), Object.assign(r.style, {\n backgroundColor: t.theme === \"dark\" ? \"#1a1a1a\" : \"#ffffff\",\n color: t.theme === \"dark\" ? \"#ffffff\" : \"#1a1a1a\",\n boxShadow: \"0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16)\"\n });\n const s = {\n \"bottom-right\": { bottom: \"20px\", right: \"20px\" },\n \"bottom-left\": { bottom: \"20px\", left: \"20px\" },\n \"top-right\": { top: \"20px\", right: \"20px\" },\n \"top-left\": { top: \"20px\", left: \"20px\" }\n }, l = (p = t.triggerPosition) != null ? p : \"bottom-right\", c = (h = s[l]) != null ? h : s[\"bottom-right\"];\n return Object.assign(i.style, G({\n position: \"fixed\",\n zIndex: \"999998\"\n }, c)), i.appendChild(r), r.addEventListener(\"click\", e), document.body.appendChild(i), i;\n}, Mt = (t, e) => {\n const i = {\n \"bottom-right\": { bottom: \"20px\", right: \"20px\", top: \"auto\", left: \"auto\" },\n \"bottom-left\": { bottom: \"20px\", left: \"20px\", top: \"auto\", right: \"auto\" },\n \"top-right\": { top: \"20px\", right: \"20px\", bottom: \"auto\", left: \"auto\" },\n \"top-left\": { top: \"20px\", left: \"20px\", bottom: \"auto\", right: \"auto\" }\n }, r = e && i[e] ? e : \"bottom-right\", o = i[r];\n Object.assign(t.style, o);\n}, $t = () => {\n const t = \"supportwire-widget-badge-styles\";\n if (document.getElementById(t))\n return;\n const e = document.createElement(\"style\");\n e.id = t, e.textContent = `\n\t\t.supportwire-widget-badge {\n\t\t\tposition: absolute;\n\t\t\ttop: -4px;\n\t\t\tright: -4px;\n\t\t\tmin-width: 20px;\n\t\t\theight: 20px;\n\t\t\tpadding: 0 6px;\n\t\t\tbackground-color: #ef4444;\n\t\t\tcolor: #ffffff;\n\t\t\tborder-radius: 10px;\n\t\t\tfont-size: 11px;\n\t\t\tfont-weight: 600;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\t\t\tline-height: 1;\n\t\t\tz-index: 999999;\n\t\t}\n\n\t\t.supportwire-widget-badge[data-animate=\"pop-in\"] {\n\t\t\tanimation: supportwire-badge-pop-in 280ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t.supportwire-widget-badge[data-animate=\"pulse\"] {\n\t\t\tanimation: supportwire-badge-pulse 180ms ease-out;\n\t\t}\n\n\t\t@keyframes supportwire-badge-pop-in {\n\t\t\t0% { transform: scale(0.95); opacity: 0; }\n\t\t\t100% { transform: scale(1); opacity: 1; }\n\t\t}\n\n\t\t@keyframes supportwire-badge-pulse {\n\t\t\t0% { transform: scale(1); }\n\t\t\t50% { transform: scale(1.05); }\n\t\t\t100% { transform: scale(1); }\n\t\t}\n\n\t\t@keyframes supportwire-badge-fade-in {\n\t\t\t0% { opacity: 0; }\n\t\t\t100% { opacity: 1; }\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.supportwire-widget-badge[data-animate=\"pop-in\"] {\n\t\t\t\tanimation: supportwire-badge-fade-in 200ms ease-out forwards;\n\t\t\t}\n\t\t\t.supportwire-widget-badge[data-animate=\"pulse\"] {\n\t\t\t\tanimation: none;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(e);\n}, we = (t, e) => {\n $t();\n let i = t.querySelector(\".supportwire-widget-badge\");\n if (e > 0) {\n const r = !i || i.style.display === \"none\";\n i || (i = document.createElement(\"span\"), i.className = \"supportwire-widget-badge\", t.appendChild(i)), i.textContent = e > 99 ? \"99+\" : String(e), i.style.display = \"flex\", i.removeAttribute(\"data-animate\"), i.offsetWidth, i.setAttribute(\"data-animate\", r ? \"pop-in\" : \"pulse\");\n } else\n i && (i.style.display = \"none\", i.removeAttribute(\"data-animate\"));\n}, Se = (t, e, i) => {\n const r = t.querySelector(\".supportwire-widget-trigger\");\n if (!r) return;\n const o = r.querySelector('[data-icon=\"logo\"]'), n = r.querySelector('[data-icon=\"chevron\"]');\n o && n && (e ? (o.className = \"supportwire-trigger-icon supportwire-trigger-icon--hidden\", n.className = \"supportwire-trigger-icon supportwire-trigger-icon--visible\") : (o.className = \"supportwire-trigger-icon supportwire-trigger-icon--visible\", n.className = \"supportwire-trigger-icon supportwire-trigger-icon--hidden\")), e ? (r.setAttribute(\"aria-label\", \"Close SupportWire chat\"), r.style.color = i === \"dark\" ? \"#ffffff\" : \"#1a1a1a\") : (r.setAttribute(\"aria-label\", \"Open SupportWire chat\"), r.style.color = \"\");\n}, Lt = (t, e, i, r) => {\n const o = document.createElement(\"iframe\");\n return o.id = e, o.src = `${i}?iframeId=${e}&theme=${r}`, o.style.width = \"100%\", o.style.height = \"100%\", o.style.border = \"none\", o.style.backgroundColor = r === \"dark\" ? \"#28282a\" : \"#f1f1f3\", o.setAttribute(\"allow\", \"clipboard-read; clipboard-write\"), o.setAttribute(\"sandbox\", \"allow-same-origin allow-scripts allow-forms allow-popups\"), t.appendChild(o), o;\n}, Ot = (t, e, i, r) => {\n if (!t || !t.contentWindow)\n return;\n const o = te(G({}, r), {\n iframeId: e\n });\n t.contentWindow.postMessage(o, \"*\");\n}, Ft = (t, e, i, r) => (o) => {\n var s, l;\n try {\n const c = new URL(e).origin;\n o.origin !== c && o.origin;\n } catch (c) {\n }\n const n = o.data;\n if (!(!n || n.iframeId !== t))\n switch (n.type) {\n case \"READY\":\n r.onReady && r.onReady();\n break;\n case \"OPENED\":\n i && (i.style.display = \"block\", Qe(i)), r.onOpen();\n break;\n case \"CLOSED\":\n i && et(i), r.onClose();\n break;\n case \"ERROR\":\n r.onError(new Error(n.error || \"Unknown error\"));\n break;\n case \"UNREAD_COUNT\":\n r.onUnreadCount && n.count !== void 0 && r.onUnreadCount(n.count);\n break;\n case \"OPEN_IMAGE_PREVIEW\":\n r.onImagePreview && n.imagePreview && r.onImagePreview(\n n.imagePreview.src,\n n.imagePreview.alt,\n n.imagePreview.filename\n );\n break;\n case \"TOGGLE_FULLSCREEN\":\n r.onToggleFullscreen && r.onToggleFullscreen();\n break;\n case \"MESSAGE_PREVIEW\":\n r.onMessagePreview && n.messagePreview && r.onMessagePreview(\n n.messagePreview.body,\n n.messagePreview.senderName,\n n.messagePreview.timestamp\n );\n break;\n case \"EVENT_RULES_REGISTERED\":\n r.onEventRulesRegistered && n.eventRules && r.onEventRulesRegistered(n.eventRules);\n break;\n case \"REQUEST_PAGE_SCREENSHOT\":\n r.onScreenshotRequest && r.onScreenshotRequest((l = (s = n.payload) == null ? void 0 : s.mode) != null ? l : \"full\");\n break;\n }\n};\nfunction Pt(t, e) {\n let i = null;\n const r = () => (i || (i = import(\"./index-bfV4xNqW.js\")), i), o = (c) => {\n var p;\n (p = t.contentWindow) == null || p.postMessage(te(G({}, c), { iframeId: e }), \"*\");\n }, n = async (c) => {\n const p = c.data;\n if (!(!p || typeof p != \"object\") && !(p.iframeId && p.iframeId !== e))\n switch (p.type) {\n case \"RECORDING:START\": {\n (await r()).recording.start({ guideId: p.guideId, title: p.title });\n return;\n }\n case \"RECORDING:STOP\": {\n const g = (await r()).recording.stop();\n g && o({\n type: \"RECORDING:DONE\",\n guideId: g.guideId,\n title: g.title,\n steps: g.steps\n });\n return;\n }\n case \"PLAYBACK:START\": {\n const h = await r();\n h.playback.onDone((g, y, w) => {\n o({\n type: \"PLAYBACK:DONE\",\n status: g,\n end_reason: y,\n current_step: w\n });\n }), h.playback.start({\n sessionId: p.sessionId,\n guideId: p.guideId,\n versionId: p.versionId,\n version: p.version\n });\n return;\n }\n case \"OPEN_URL\": {\n typeof p.url == \"string\" && window.open(p.url, \"_blank\", \"noopener\");\n return;\n }\n }\n }, s = (c) => {\n const p = c.detail;\n p && o({\n type: \"RECORDING:DONE\",\n guideId: p.guideId,\n title: p.title,\n steps: p.steps\n });\n };\n window.addEventListener(\"message\", n), window.addEventListener(\"sw-guide:recording-done\", s), (async () => {\n const c = await l();\n if (!c) return;\n const p = c.recording.maybeResume();\n p && c.recording.start({ guideId: p.guideId, title: p.title });\n const h = c.playback.maybeResume();\n h && (c.playback.onDone((w, T, b) => {\n o({\n type: \"PLAYBACK:DONE\",\n status: w,\n end_reason: T,\n current_step: b\n });\n }), c.playback.start({\n sessionId: h.sessionId,\n guideId: h.guideId,\n versionId: h.versionId,\n version: h.version,\n resumeStepIndex: h.stepIndex\n }));\n const y = new URLSearchParams(location.search).get(\"sw_guide\");\n y && o({ type: \"DEEP_LINK_GUIDE\", guideId: y });\n })();\n function l() {\n const c = !!localStorage.getItem(\"sw.guide.recording\"), p = !!localStorage.getItem(\"sw.guide.playback\"), h = new URLSearchParams(location.search).has(\"sw_guide\");\n return !c && !p && !h ? Promise.resolve(null) : r();\n }\n return {\n teardown: () => {\n window.removeEventListener(\"message\", n), window.removeEventListener(\"sw-guide:recording-done\", s);\n }\n };\n}\nlet U = null, ne = null, tt = \"\";\nconst Gt = `\n.supportwire-image-preview-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tbackground: rgba(0, 0, 0, 0);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tz-index: 2147483647;\n\tpadding: 24px;\n\topacity: 0;\n\ttransition: background 200ms ease-out, opacity 200ms ease-out;\n}\n\n.supportwire-image-preview-backdrop.visible {\n\tbackground: rgba(0, 0, 0, 0.9);\n\topacity: 1;\n}\n\n.supportwire-image-preview-backdrop.closing {\n\tbackground: rgba(0, 0, 0, 0);\n\topacity: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-backdrop {\n\t\ttransition: none;\n\t}\n}\n\n/* Floating buttons in top-right corner */\n.supportwire-image-preview-actions {\n\tposition: fixed;\n\ttop: 16px;\n\tright: 16px;\n\tdisplay: flex;\n\tgap: 8px;\n\tz-index: 2147483647;\n}\n\n.supportwire-image-preview-button {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tbackground: rgba(255, 255, 255, 0.1);\n\tbackdrop-filter: blur(8px);\n\t-webkit-backdrop-filter: blur(8px);\n\tborder: 1px solid rgba(255, 255, 255, 0.15);\n\tcolor: rgba(255, 255, 255, 0.9);\n\tcursor: pointer;\n\tpadding: 0;\n\ttransition: background 150ms ease, transform 150ms ease;\n\t-webkit-tap-highlight-color: transparent;\n}\n\n.supportwire-image-preview-button:hover {\n\tbackground: rgba(255, 255, 255, 0.2);\n\ttransform: scale(1.05);\n}\n\n.supportwire-image-preview-button:active {\n\ttransform: scale(0.95);\n}\n\n.supportwire-image-preview-button:focus {\n\toutline: 2px solid rgba(255, 255, 255, 0.5);\n\toutline-offset: 2px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-button {\n\t\ttransition: none;\n\t}\n\t.supportwire-image-preview-button:hover,\n\t.supportwire-image-preview-button:active {\n\t\ttransform: none;\n\t}\n}\n\n/* Image container */\n.supportwire-image-preview-image-container {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: relative;\n\tmax-width: 90vw;\n\tmax-height: 90vh;\n}\n\n.supportwire-image-preview-image {\n\tmax-width: 90vw;\n\tmax-height: 90vh;\n\tobject-fit: contain;\n\tborder-radius: 8px;\n\tbox-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n\topacity: 0;\n\ttransform: scale(0.95);\n\ttransition: opacity 200ms ease-out, transform 200ms ease-out;\n}\n\n.supportwire-image-preview-backdrop.visible .supportwire-image-preview-image {\n\topacity: 1;\n\ttransform: scale(1);\n}\n\n.supportwire-image-preview-backdrop.closing .supportwire-image-preview-image {\n\topacity: 0;\n\ttransform: scale(0.95);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-image {\n\t\ttransition: none;\n\t\ttransform: scale(1);\n\t\topacity: 1;\n\t}\n}\n\n.supportwire-image-preview-loader {\n\tposition: absolute;\n\twidth: 32px;\n\theight: 32px;\n\tborder: 3px solid rgba(255, 255, 255, 0.2);\n\tborder-top-color: #fff;\n\tborder-radius: 50%;\n\tanimation: supportwire-spin 0.8s linear infinite;\n}\n\n@keyframes supportwire-spin {\n\tto { transform: rotate(360deg); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-loader {\n\t\tanimation: none;\n\t\tborder-top-color: rgba(255, 255, 255, 0.2);\n\t\tborder-right-color: #fff;\n\t}\n}\n\n.supportwire-image-preview-error {\n\tcolor: #fff;\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n\tfont-size: 14px;\n\ttext-align: center;\n\tpadding: 40px;\n}\n\n/* Filename at bottom */\n.supportwire-image-preview-filename {\n\tposition: fixed;\n\tbottom: 16px;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\tfont-size: 13px;\n\tcolor: rgba(255, 255, 255, 0.7);\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n\tmargin: 0;\n\tpadding: 8px 16px;\n\tbackground: rgba(0, 0, 0, 0.5);\n\tbackdrop-filter: blur(8px);\n\t-webkit-backdrop-filter: blur(8px);\n\tborder-radius: 20px;\n\tmax-width: 80vw;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0;\n\ttransition: opacity 200ms ease-out;\n}\n\n.supportwire-image-preview-backdrop.visible .supportwire-image-preview-filename {\n\topacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-filename {\n\t\ttransition: none;\n\t\topacity: 1;\n\t}\n}\n\n/* Mobile responsiveness */\n@media (max-width: 480px) {\n\t.supportwire-image-preview-backdrop {\n\t\tpadding: 16px;\n\t}\n\n\t.supportwire-image-preview-actions {\n\t\ttop: 12px;\n\t\tright: 12px;\n\t}\n\n\t.supportwire-image-preview-button {\n\t\twidth: 40px;\n\t\theight: 40px;\n\t}\n\n\t.supportwire-image-preview-filename {\n\t\tbottom: 12px;\n\t\tfont-size: 12px;\n\t\tmax-width: 90vw;\n\t}\n}\n`;\nfunction Nt() {\n if (document.getElementById(\"supportwire-image-preview-styles\")) return;\n const t = document.createElement(\"style\");\n t.id = \"supportwire-image-preview-styles\", t.textContent = Gt, document.head.appendChild(t);\n}\nfunction At() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"/>\n\t\t<polyline points=\"7 10 12 15 17 10\"/>\n\t\t<line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"/>\n\t</svg>`;\n}\nfunction _t() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/>\n\t\t<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/>\n\t</svg>`;\n}\nfunction Ht() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M12 20h9\"/>\n\t\t<path d=\"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z\"/>\n\t</svg>`;\n}\nfunction Te() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"/>\n\t\t<path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"/>\n\t</svg>`;\n}\nfunction We() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<polyline points=\"20 6 9 17 4 12\"/>\n\t</svg>`;\n}\nasync function zt(t, e) {\n try {\n const r = await (await fetch(t)).blob(), o = URL.createObjectURL(r), n = document.createElement(\"a\");\n n.href = o, n.download = e || \"image\", document.body.appendChild(n), n.click(), document.body.removeChild(n), URL.revokeObjectURL(o);\n } catch (i) {\n window.open(t, \"_blank\");\n }\n}\nfunction ie() {\n if (!U) return;\n const t = U;\n ne && (document.removeEventListener(\"keydown\", ne), ne = null), document.body.style.overflow = tt, t.classList.remove(\"visible\"), t.classList.add(\"closing\"), window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ? (t.remove(), U = null) : setTimeout(() => {\n t.remove(), U === t && (U = null);\n }, 200);\n}\nfunction Ut(t, e, i, r) {\n U && (U.remove(), U = null), Nt(), tt = document.body.style.overflow, document.body.style.overflow = \"hidden\";\n const o = document.createElement(\"div\");\n o.className = \"supportwire-image-preview-backdrop\", o.setAttribute(\"role\", \"dialog\"), o.setAttribute(\"aria-modal\", \"true\"), o.setAttribute(\"aria-label\", e || \"Image preview\"), o.onclick = (w) => {\n (w.target === o || w.target.classList.contains(\"supportwire-image-preview-image-container\")) && ie();\n };\n const n = document.createElement(\"div\");\n n.className = \"supportwire-image-preview-actions\";\n const s = document.createElement(\"button\");\n s.className = \"supportwire-image-preview-button\", s.setAttribute(\"aria-label\", \"Copy link\"), s.innerHTML = Te(), s.onclick = async (w) => {\n w.stopPropagation();\n try {\n await navigator.clipboard.writeText(t), s.innerHTML = We(), setTimeout(() => {\n s.innerHTML = Te();\n }, 2e3);\n } catch (T) {\n const b = document.createElement(\"textarea\");\n b.value = t, b.style.position = \"fixed\", b.style.opacity = \"0\", document.body.appendChild(b), b.select(), document.execCommand(\"copy\"), document.body.removeChild(b), s.innerHTML = We(), setTimeout(() => {\n s.innerHTML = Te();\n }, 2e3);\n }\n };\n const l = document.createElement(\"button\");\n l.className = \"supportwire-image-preview-button\", l.setAttribute(\"aria-label\", \"Download image\"), l.innerHTML = At(), l.onclick = (w) => {\n w.stopPropagation(), zt(t, i);\n };\n let c = null;\n r && (c = document.createElement(\"button\"), c.className = \"supportwire-image-preview-button\", c.setAttribute(\"aria-label\", \"Annotate image\"), c.innerHTML = Ht(), c.onclick = async (w) => {\n w.stopPropagation();\n try {\n const b = await (await fetch(t)).blob(), E = await new Promise((k, x) => {\n const I = new FileReader();\n I.onload = () => k(I.result), I.onerror = x, I.readAsDataURL(b);\n });\n ie(), r(E);\n } catch (T) {\n const b = document.createElement(\"canvas\"), E = new Image();\n E.crossOrigin = \"anonymous\", E.onload = () => {\n b.width = E.naturalWidth, b.height = E.naturalHeight;\n const k = b.getContext(\"2d\");\n if (k) {\n k.drawImage(E, 0, 0);\n const x = b.toDataURL(\"image/png\");\n ie(), r(x);\n }\n }, E.onerror = () => {\n console.warn(\"Could not load image for annotation\");\n }, E.src = t;\n }\n });\n const p = document.createElement(\"button\");\n p.className = \"supportwire-image-preview-button\", p.setAttribute(\"aria-label\", \"Close preview\"), p.innerHTML = _t(), p.onclick = (w) => {\n w.stopPropagation(), ie();\n }, n.appendChild(s), n.appendChild(l), c && n.appendChild(c), n.appendChild(p);\n const h = document.createElement(\"div\");\n h.className = \"supportwire-image-preview-image-container\";\n const g = document.createElement(\"div\");\n g.className = \"supportwire-image-preview-loader\", h.appendChild(g);\n const y = document.createElement(\"img\");\n if (y.className = \"supportwire-image-preview-image\", y.alt = e || \"Image preview\", y.onload = () => {\n g.remove();\n }, y.onerror = () => {\n g.remove();\n const w = document.createElement(\"div\");\n w.className = \"supportwire-image-preview-error\", w.textContent = \"Failed to load image\", h.appendChild(w);\n }, y.src = t, h.appendChild(y), i) {\n const w = document.createElement(\"p\");\n w.className = \"supportwire-image-preview-filename\", w.textContent = i, o.appendChild(w);\n }\n o.appendChild(n), o.appendChild(h), document.body.appendChild(o), U = o, requestAnimationFrame(() => {\n o.classList.add(\"visible\");\n }), ne = (w) => {\n w.key === \"Escape\" && ie();\n }, document.addEventListener(\"keydown\", ne), p.focus();\n}\nlet Z = null, se = null, it = \"\";\nconst u = \"supportwire-ss-editor\", Dt = `\n.${u}-backdrop {\n\tposition: fixed;\n\tinset: 0;\n\tz-index: 2147483647;\n\tbackground: rgba(0, 0, 0, 0.6);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0;\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n}\n.${u}-modal {\n\tbackground: #fff;\n\tborder-radius: 16px;\n\tbox-shadow: 0 25px 50px -12px rgba(0,0,0,0.4);\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 95vw;\n\theight: 95vh;\n\toverflow: hidden;\n}\n.${u}-header {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: 12px 16px;\n\tborder-bottom: 1px solid #e5e7eb;\n}\n.${u}-title {\n\tfont-size: 14px;\n\tfont-weight: 600;\n\tcolor: #111;\n}\n.${u}-close-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 32px;\n\theight: 32px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n}\n.${u}-close-btn:hover { background: #f3f4f6; color: #111; }\n.${u}-canvas-wrap {\n\tposition: relative;\n\tflex: 1;\n\tmin-height: 300px;\n\toverflow: hidden;\n\tcursor: crosshair;\n\tbackground: #f9fafb;\n}\n.${u}-canvas-wrap.select-mode { cursor: default; }\n.${u}-canvas-wrap.select-mode-moving { cursor: grabbing; }\n.${u}-img {\n\tdisplay: block;\n\tpointer-events: none;\n\tuser-select: none;\n}\n.${u}-canvas {\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tpointer-events: none;\n}\n.${u}-toolbar {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tflex-wrap: wrap;\n\tgap: 8px;\n\tpadding: 12px 16px;\n\tborder-top: 1px solid #e5e7eb;\n}\n.${u}-tools {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n}\n.${u}-tool-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n}\n.${u}-tool-btn:hover { background: #f3f4f6; color: #111; }\n.${u}-tool-btn.active { background: #0091FF; color: #fff; }\n.${u}-color-picker {\n\twidth: 28px;\n\theight: 28px;\n\tborder: none;\n\tborder-radius: 50%;\n\tcursor: pointer;\n\tbackground: transparent;\n\tpadding: 0;\n}\n.${u}-separator {\n\twidth: 1px;\n\theight: 24px;\n\tbackground: #e5e7eb;\n\tmargin: 0 4px;\n}\n.${u}-color-swatches {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 3px;\n}\n.${u}-swatch {\n\twidth: 22px;\n\theight: 22px;\n\tborder-radius: 50%;\n\tborder: 2px solid transparent;\n\tcursor: pointer;\n\tpadding: 0;\n\tbox-sizing: border-box;\n}\n.${u}-swatch.active {\n\tborder-color: #111;\n\tbox-shadow: 0 0 0 1px #fff inset;\n}\n.${u}-swatch:hover { opacity: 0.8; }\n.${u}-thickness-wrap {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n}\n.${u}-thickness-label {\n\tfont-size: 11px;\n\tcolor: #888;\n\twhite-space: nowrap;\n}\n.${u}-thickness-slider {\n\twidth: 80px;\n\theight: 4px;\n\taccent-color: #0091FF;\n\tcursor: pointer;\n}\n.${u}-radius-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n\tfont-size: 11px;\n\tfont-weight: 600;\n}\n.${u}-radius-btn:hover { background: #f3f4f6; color: #111; }\n.${u}-radius-btn.active { background: #0091FF; color: #fff; }\n.${u}-actions {\n\tdisplay: flex;\n\tgap: 8px;\n\talign-items: center;\n}\n.${u}-btn-cancel {\n\tpadding: 8px 16px;\n\tfont-size: 13px;\n\tborder-radius: 8px;\n\tbackground: transparent;\n\tcolor: #333;\n\tborder: 1px solid #e5e7eb;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${u}-btn-cancel:hover { background: #f3f4f6; }\n.${u}-btn-done {\n\tpadding: 8px 16px;\n\tfont-size: 13px;\n\tborder-radius: 8px;\n\tbackground: #0091FF;\n\tcolor: #fff;\n\tborder: none;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${u}-btn-done:hover { opacity: 0.9; }\n.${u}-btn-crop-apply {\n\tpadding: 6px 12px;\n\tfont-size: 12px;\n\tborder-radius: 8px;\n\tbackground: #0091FF;\n\tcolor: #fff;\n\tborder: none;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${u}-text-overlay {\n\tposition: absolute;\n\tdisplay: flex;\n\tgap: 4px;\n\tz-index: 10;\n\tbackground: #fff;\n\tborder: 1px solid #e5e7eb;\n\tborder-radius: 8px;\n\tpadding: 4px;\n\tbox-shadow: 0 2px 8px rgba(0,0,0,0.1);\n}\n.${u}-text-input {\n\twidth: 140px;\n\tpadding: 4px 8px;\n\tfont-size: 13px;\n\tborder: none;\n\tborder-radius: 4px;\n\tbackground: #f3f4f6;\n\tcolor: #111;\n\toutline: none;\n\tfont-family: inherit;\n}\n.${u}-text-ok {\n\tpadding: 4px 8px;\n\tfont-size: 12px;\n\tborder-radius: 4px;\n\tbackground: #0091FF;\n\tcolor: #fff;\n\tborder: none;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${u}-undo-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n}\n.${u}-undo-btn:hover { background: #f3f4f6; color: #111; }\n.${u}-undo-btn:disabled { opacity: 0.3; cursor: default; }\n@media (max-width: 540px) {\n\t.${u}-modal { width: 100%; height: 100vh; border-radius: 0; }\n\t.${u}-backdrop { padding: 0; }\n}\n`;\nfunction Bt() {\n if (document.getElementById(`${u}-styles`)) return;\n const t = document.createElement(\"style\");\n t.id = `${u}-styles`, t.textContent = Dt, document.head.appendChild(t);\n}\nconst Ie = {\n select: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z\"/><path d=\"M13 13l6 6\"/></svg>',\n pen: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 19l7-7 3 3-7 7-3-3z\"/><path d=\"M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z\"/></svg>',\n arrow: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14\"/><path d=\"M12 5l7 7-7 7\"/></svg>',\n rect: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/></svg>',\n text: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 7V4h16v3\"/><path d=\"M9 20h6\"/><path d=\"M12 4v16\"/></svg>',\n crop: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 3v18\"/><path d=\"M18 3v18\"/><path d=\"M3 6h18\"/><path d=\"M3 18h18\"/></svg>',\n close: '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/></svg>',\n undo: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 7v6h6\"/><path d=\"M3 13a9 9 0 0 1 15.36-6.36\"/></svg>'\n};\nfunction rt(t, e, i, r, o, n) {\n const s = Math.min(n, Math.abs(r) / 2, Math.abs(o) / 2);\n t.beginPath(), t.moveTo(e + s, i), t.lineTo(e + r - s, i), t.arcTo(e + r, i, e + r, i + s, s), t.lineTo(e + r, i + o - s), t.arcTo(e + r, i + o, e + r - s, i + o, s), t.lineTo(e + s, i + o), t.arcTo(e, i + o, e, i + o - s, s), t.lineTo(e, i + s), t.arcTo(e, i, e + s, i, s), t.closePath(), t.stroke();\n}\nfunction je(t, e) {\n if (t.strokeStyle = e.color, t.fillStyle = e.color, t.lineWidth = \"width\" in e ? e.width : 2, t.lineCap = \"round\", t.lineJoin = \"round\", e.type === \"pen\" && e.points.length >= 4) {\n t.beginPath(), t.moveTo(e.points[0], e.points[1]);\n for (let i = 2; i < e.points.length; i += 2) t.lineTo(e.points[i], e.points[i + 1]);\n t.stroke();\n } else if (e.type === \"arrow\") {\n t.beginPath(), t.moveTo(e.x1, e.y1), t.lineTo(e.x2, e.y2), t.stroke();\n const i = 10, r = Math.atan2(e.y2 - e.y1, e.x2 - e.x1);\n t.beginPath(), t.moveTo(e.x2, e.y2), t.lineTo(e.x2 - i * Math.cos(r - 0.4), e.y2 - i * Math.sin(r - 0.4)), t.lineTo(e.x2 - i * Math.cos(r + 0.4), e.y2 - i * Math.sin(r + 0.4)), t.closePath(), t.fill();\n } else e.type === \"rect\" ? e.radius > 0 ? rt(t, e.x, e.y, e.w, e.h, e.radius) : t.strokeRect(e.x, e.y, e.w, e.h) : e.type === \"text\" && (t.font = \"16px system-ui, sans-serif\", t.fillText(e.text, e.x, e.y + 16));\n}\nfunction ot(t) {\n if (t.type === \"rect\")\n return { x: t.x, y: t.y, w: t.w, h: t.h };\n if (t.type === \"arrow\") {\n const e = Math.min(t.x1, t.x2), i = Math.min(t.y1, t.y2);\n return { x: e, y: i, w: Math.abs(t.x2 - t.x1), h: Math.abs(t.y2 - t.y1) };\n } else if (t.type === \"pen\" && t.points.length >= 4) {\n let e = t.points[0], i = t.points[0], r = t.points[1], o = t.points[1];\n for (let n = 2; n < t.points.length; n += 2)\n e = Math.min(e, t.points[n]), i = Math.max(i, t.points[n]), r = Math.min(r, t.points[n + 1]), o = Math.max(o, t.points[n + 1]);\n return { x: e, y: r, w: i - e, h: o - r };\n } else if (t.type === \"text\")\n return { x: t.x, y: t.y, w: 100, h: 20 };\n return { x: 0, y: 0, w: 0, h: 0 };\n}\nfunction Wt(t, e, i, r) {\n const o = r;\n if (t.type === \"rect\") {\n const { x: n, y: s, w: l, h: c } = t, p = i >= s - o && i <= s + o && e >= n - o && e <= n + l + o, h = i >= s + c - o && i <= s + c + o && e >= n - o && e <= n + l + o, g = e >= n - o && e <= n + o && i >= s - o && i <= s + c + o, y = e >= n + l - o && e <= n + l + o && i >= s - o && i <= s + c + o, w = e >= n && e <= n + l && i >= s && i <= s + c;\n return p || h || g || y || w;\n } else {\n if (t.type === \"arrow\")\n return Ye(e, i, t.x1, t.y1, t.x2, t.y2) <= o + t.width;\n if (t.type === \"pen\" && t.points.length >= 4) {\n for (let n = 0; n < t.points.length - 2; n += 2)\n if (Ye(e, i, t.points[n], t.points[n + 1], t.points[n + 2], t.points[n + 3]) <= o + t.width) return !0;\n return !1;\n } else if (t.type === \"text\") {\n const n = ot(t);\n return e >= n.x - o && e <= n.x + n.w + o && i >= n.y - o && i <= n.y + n.h + o;\n }\n }\n return !1;\n}\nfunction Ye(t, e, i, r, o, n) {\n const s = o - i, l = n - r, c = s * s + l * l;\n if (c === 0) return Math.hypot(t - i, e - r);\n let p = ((t - i) * s + (e - r) * l) / c;\n return p = Math.max(0, Math.min(1, p)), Math.hypot(t - (i + p * s), e - (r + p * l));\n}\nfunction jt(t, e, i) {\n if (t.type === \"rect\")\n t.x += e, t.y += i;\n else if (t.type === \"arrow\")\n t.x1 += e, t.y1 += i, t.x2 += e, t.y2 += i;\n else if (t.type === \"pen\")\n for (let r = 0; r < t.points.length; r += 2)\n t.points[r] += e, t.points[r + 1] += i;\n else t.type === \"text\" && (t.x += e, t.y += i);\n}\nfunction Yt(t, e) {\n const i = ot(e), r = 6;\n t.save(), t.strokeStyle = \"#0091FF\", t.lineWidth = 1.5, t.setLineDash([4, 3]), t.strokeRect(i.x - r, i.y - r, i.w + r * 2, i.h + r * 2), t.setLineDash([]);\n const o = 5;\n t.fillStyle = \"#fff\", t.strokeStyle = \"#0091FF\", t.lineWidth = 1.5;\n const n = [\n [i.x - r, i.y - r],\n [i.x + i.w + r, i.y - r],\n [i.x - r, i.y + i.h + r],\n [i.x + i.w + r, i.y + i.h + r]\n ];\n for (const [s, l] of n)\n t.beginPath(), t.arc(s, l, o, 0, Math.PI * 2), t.fill(), t.stroke();\n t.restore();\n}\nfunction re() {\n Z && (se && (document.removeEventListener(\"keydown\", se), se = null), document.body.style.overflow = it, Z.remove(), Z = null);\n}\nfunction qe(t, e, i) {\n Z && (Z.remove(), Z = null), Bt(), it = document.body.style.overflow, document.body.style.overflow = \"hidden\";\n let r = \"rect\", o = \"#FF3B30\", n = 3, s = 0, l = [], c = t, p = 0, h = 0, g = 1, y = 0, w = 0, T = !1, b = [], E = null, k = null, x = null, I = null, S = null, z = null, q = null;\n const de = document.createElement(\"div\");\n de.className = `${u}-backdrop`;\n const V = document.createElement(\"div\");\n V.className = `${u}-modal`, V.onclick = (a) => a.stopPropagation();\n const ce = document.createElement(\"div\");\n ce.className = `${u}-header`;\n const ve = document.createElement(\"span\");\n ve.className = `${u}-title`, ve.textContent = \"Edit screenshot\";\n const K = document.createElement(\"button\");\n K.className = `${u}-close-btn`, K.setAttribute(\"aria-label\", \"Close\"), K.innerHTML = Ie.close, K.onclick = () => {\n re(), i();\n }, ce.appendChild(ve), ce.appendChild(K);\n const C = document.createElement(\"div\");\n C.className = `${u}-canvas-wrap`;\n const B = document.createElement(\"img\");\n B.className = `${u}-img`, B.alt = \"Screenshot\";\n const F = document.createElement(\"canvas\");\n F.className = `${u}-canvas`, C.appendChild(B), C.appendChild(F);\n const J = document.createElement(\"div\");\n J.className = `${u}-toolbar`;\n const P = document.createElement(\"div\");\n P.className = `${u}-tools`;\n const Le = {}, at = [\"select\", \"pen\", \"arrow\", \"rect\", \"text\", \"crop\"], Oe = { select: \"Select & Move\", pen: \"Pen\", arrow: \"Arrow\", rect: \"Rectangle\", text: \"Text\", crop: \"Crop\" };\n for (const a of at) {\n const d = document.createElement(\"button\");\n d.className = `${u}-tool-btn${a === \"rect\" ? \" active\" : \"\"}`, d.setAttribute(\"aria-label\", Oe[a]), d.title = Oe[a], d.innerHTML = Ie[a], d.onclick = () => _e(a), Le[a] = d, P.appendChild(d);\n }\n const Fe = document.createElement(\"div\");\n Fe.className = `${u}-separator`, P.appendChild(Fe);\n const lt = [\"#FF3B30\", \"#FF9500\", \"#FFCC00\", \"#34C759\", \"#0091FF\", \"#AF52DE\", \"#FF2D55\", \"#000000\", \"#8E8E93\"], pe = document.createElement(\"div\");\n pe.className = `${u}-color-swatches`;\n const Pe = [];\n function Ee(a) {\n Pe.forEach((d) => d.classList.toggle(\"active\", d.dataset.color === a));\n }\n for (const a of lt) {\n const d = document.createElement(\"button\");\n d.className = `${u}-swatch${a === o ? \" active\" : \"\"}`, d.style.background = a, d.dataset.color = a, d.setAttribute(\"aria-label\", `Color ${a}`), d.onclick = () => {\n o = a, N.value = a, Ee(a), fe(\"color\", a);\n }, Pe.push(d), pe.appendChild(d);\n }\n const N = document.createElement(\"input\");\n N.type = \"color\", N.value = o, N.className = `${u}-color-picker`, N.setAttribute(\"aria-label\", \"Custom color\"), N.title = \"Custom color\", N.oninput = () => {\n o = N.value, Ee(\"\"), fe(\"color\", o);\n }, pe.appendChild(N), P.appendChild(pe);\n const Ge = document.createElement(\"div\");\n Ge.className = `${u}-separator`, P.appendChild(Ge);\n const ue = document.createElement(\"div\");\n ue.className = `${u}-thickness-wrap`;\n const Q = document.createElement(\"span\");\n Q.className = `${u}-thickness-label`, Q.textContent = \"3px\";\n const A = document.createElement(\"input\");\n A.type = \"range\", A.min = \"1\", A.max = \"12\", A.value = String(n), A.className = `${u}-thickness-slider`, A.setAttribute(\"aria-label\", \"Stroke thickness\"), A.oninput = () => {\n n = parseInt(A.value, 10), Q.textContent = `${n}px`, fe(\"width\", n);\n }, ue.appendChild(A), ue.appendChild(Q), P.appendChild(ue);\n const Ne = document.createElement(\"div\");\n Ne.className = `${u}-separator`, P.appendChild(Ne);\n const W = document.createElement(\"button\");\n W.className = `${u}-radius-btn`, W.setAttribute(\"aria-label\", \"Rounded corners\"), W.title = \"Rounded corners\", W.innerHTML = '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 9a6 6 0 0 1 6-6h6a6 6 0 0 1 6 6v6a6 6 0 0 1-6 6H9a6 6 0 0 1-6-6V9z\"/></svg>', W.onclick = () => {\n s = s === 0 ? 12 : 0, W.classList.toggle(\"active\", s > 0), fe(\"radius\", s);\n }, P.appendChild(W);\n const Ae = document.createElement(\"div\");\n Ae.className = `${u}-separator`, P.appendChild(Ae);\n const M = document.createElement(\"button\");\n M.className = `${u}-undo-btn`, M.setAttribute(\"aria-label\", \"Undo\"), M.title = \"Undo\", M.innerHTML = Ie.undo, M.disabled = !0, M.onclick = () => {\n l.length > 0 && (l.pop(), M.disabled = l.length === 0, x = null, R());\n }, P.appendChild(M);\n const _ = document.createElement(\"button\");\n _.className = `${u}-btn-crop-apply`, _.textContent = \"Apply crop\", _.style.display = \"none\", _.onclick = ct;\n const he = document.createElement(\"div\");\n he.className = `${u}-actions`;\n const ge = document.createElement(\"button\");\n ge.className = `${u}-btn-cancel`, ge.textContent = \"Cancel\", ge.onclick = () => {\n re(), i();\n };\n const me = document.createElement(\"button\");\n me.className = `${u}-btn-done`, me.textContent = \"Done\", me.onclick = ut, he.appendChild(ge), he.appendChild(me), J.appendChild(P), J.appendChild(_), J.appendChild(he), V.appendChild(ce), V.appendChild(C), V.appendChild(J), de.appendChild(V), document.body.appendChild(de), Z = de;\n function _e(a) {\n r = a;\n for (const [d, f] of Object.entries(Le))\n f.classList.toggle(\"active\", d === a);\n a !== \"crop\" && (S = null, z = null, _.style.display = \"none\"), a !== \"select\" && (x = null), C.classList.toggle(\"select-mode\", a === \"select\"), C.classList.remove(\"select-mode-moving\"), ee(), R();\n }\n function fe(a, d) {\n if (x === null || x >= l.length) return;\n const f = l[x];\n a === \"color\" ? f.color = d : a === \"width\" && \"width\" in f ? f.width = d : a === \"radius\" && f.type === \"rect\" && (f.radius = d), R();\n }\n function dt(a) {\n o = a.color, N.value = a.color, Ee(a.color), \"width\" in a && (n = a.width, A.value = String(a.width), Q.textContent = `${a.width}px`), a.type === \"rect\" && (s = a.radius, W.classList.toggle(\"active\", a.radius > 0));\n }\n function Ce(a, d) {\n const f = C.getBoundingClientRect();\n return {\n x: Math.round((a - f.left - y) / g),\n y: Math.round((d - f.top - w) / g)\n };\n }\n function He() {\n if (!p || !h) return;\n const a = C.clientWidth - 32, d = C.clientHeight - 32;\n g = Math.min(a / p, d / h, 1), y = (C.clientWidth - p * g) / 2, w = (C.clientHeight - h * g) / 2, B.style.width = `${p * g}px`, B.style.height = `${h * g}px`, B.style.marginLeft = `${y}px`, B.style.marginTop = `${w}px`, F.width = C.clientWidth, F.height = C.clientHeight, R();\n }\n function ze() {\n const a = new Image();\n a.onload = () => {\n p = a.naturalWidth, h = a.naturalHeight, B.src = c, He();\n }, a.src = c;\n }\n function R() {\n const a = F.getContext(\"2d\");\n if (a) {\n if (a.clearRect(0, 0, F.width, F.height), a.save(), a.translate(y, w), a.scale(g, g), l.forEach((d, f) => {\n je(a, d), f === x && Yt(a, d);\n }), T && b.length >= 4 && r === \"pen\") {\n a.strokeStyle = o, a.lineWidth = n, a.lineCap = \"round\", a.lineJoin = \"round\", a.beginPath(), a.moveTo(b[0], b[1]);\n for (let d = 2; d < b.length; d += 2) a.lineTo(b[d], b[d + 1]);\n a.stroke();\n }\n if (a.restore(), r === \"crop\" && S) {\n a.fillStyle = \"rgba(0,0,0,0.4)\", a.fillRect(0, 0, F.width, F.height);\n const d = y + S.x * g, f = w + S.y * g, m = S.w * g, v = S.h * g;\n a.clearRect(d, f, m, v), a.strokeStyle = \"#0091FF\", a.lineWidth = 2, a.strokeRect(d, f, m, v), _.style.display = \"\";\n }\n }\n }\n function ct() {\n if (!S || S.w < 10 || S.h < 10) return;\n const a = new Image();\n a.onload = () => {\n const d = document.createElement(\"canvas\");\n d.width = S.w, d.height = S.h;\n const f = d.getContext(\"2d\");\n f && (f.drawImage(a, S.x, S.y, S.w, S.h, 0, 0, S.w, S.h), c = d.toDataURL(\"image/png\"), l = [], M.disabled = !0, x = null, S = null, z = null, _.style.display = \"none\", _e(\"rect\"), ze());\n }, a.src = c;\n }\n function ee() {\n q && (q.remove(), q = null);\n }\n function pt(a, d) {\n ee();\n const f = document.createElement(\"div\");\n f.className = `${u}-text-overlay`, f.style.left = `${a * g + y}px`, f.style.top = `${d * g + w}px`;\n const m = document.createElement(\"input\");\n m.type = \"text\", m.className = `${u}-text-input`, m.placeholder = \"Text...\";\n const v = document.createElement(\"button\");\n v.className = `${u}-text-ok`, v.textContent = \"Add\";\n const H = () => {\n const j = m.value.trim();\n j && (l.push({ type: \"text\", x: a, y: d, text: j, color: o }), M.disabled = !1, R()), ee();\n };\n m.onkeydown = (j) => {\n j.key === \"Enter\" && H(), j.key === \"Escape\" && ee();\n }, v.onclick = H, f.appendChild(m), f.appendChild(v), C.appendChild(f), q = f, m.focus();\n }\n C.onmousedown = (a) => {\n const { x: d, y: f } = Ce(a.clientX, a.clientY);\n if (r === \"select\") {\n let m = -1;\n for (let v = l.length - 1; v >= 0; v--)\n if (Wt(l[v], d, f, 8)) {\n m = v;\n break;\n }\n m >= 0 ? (x = m, I = { x: d, y: f }, dt(l[m]), C.classList.add(\"select-mode-moving\")) : x = null, R();\n return;\n }\n if (r === \"crop\") {\n z = { x: d, y: f }, S = null, _.style.display = \"none\";\n return;\n }\n q || (x = null, r === \"pen\" ? (T = !0, b = [d, f]) : r === \"arrow\" ? E = { x: d, y: f } : r === \"rect\" ? k = { x: d, y: f } : r === \"text\" && pt(d, f));\n }, C.onmousemove = (a) => {\n const { x: d, y: f } = Ce(a.clientX, a.clientY);\n if (r === \"select\" && I && x !== null) {\n const m = d - I.x, v = f - I.y;\n (Math.abs(m) > 1 || Math.abs(v) > 1) && (jt(l[x], m, v), I = { x: d, y: f }, R());\n return;\n }\n if (r === \"crop\" && z) {\n const m = Math.min(z.x, d), v = Math.min(z.y, f);\n S = { x: m, y: v, w: Math.max(20, Math.abs(d - z.x)), h: Math.max(20, Math.abs(f - z.y)) }, R();\n } else if (T && r === \"pen\")\n b.push(d, f), R();\n else if (r === \"rect\" && k) {\n R();\n const m = F.getContext(\"2d\");\n if (m) {\n m.save(), m.translate(y, w), m.scale(g, g), m.strokeStyle = o, m.lineWidth = n, m.lineCap = \"round\", m.lineJoin = \"round\";\n const v = Math.min(k.x, d), H = Math.min(k.y, f), j = Math.abs(d - k.x), Ue = Math.abs(f - k.y);\n s > 0 ? rt(m, v, H, j, Ue, s) : m.strokeRect(v, H, j, Ue), m.restore();\n }\n } else if (r === \"arrow\" && E) {\n R();\n const m = F.getContext(\"2d\");\n if (m) {\n m.save(), m.translate(y, w), m.scale(g, g), m.strokeStyle = o, m.fillStyle = o, m.lineWidth = n, m.lineCap = \"round\", m.lineJoin = \"round\", m.beginPath(), m.moveTo(E.x, E.y), m.lineTo(d, f), m.stroke();\n const v = 10, H = Math.atan2(f - E.y, d - E.x);\n m.beginPath(), m.moveTo(d, f), m.lineTo(d - v * Math.cos(H - 0.4), f - v * Math.sin(H - 0.4)), m.lineTo(d - v * Math.cos(H + 0.4), f - v * Math.sin(H + 0.4)), m.closePath(), m.fill(), m.restore();\n }\n }\n }, C.onmouseup = (a) => {\n const { x: d, y: f } = Ce(a.clientX, a.clientY);\n if (r === \"select\") {\n I = null, C.classList.remove(\"select-mode-moving\");\n return;\n }\n if (r === \"crop\") {\n z = null;\n return;\n }\n if (r === \"pen\" && T)\n T = !1, b.length >= 4 && (l.push({ type: \"pen\", points: [...b], color: o, width: n }), M.disabled = !1, b = []);\n else if (r === \"arrow\" && E)\n l.push({ type: \"arrow\", x1: E.x, y1: E.y, x2: d, y2: f, color: o, width: n }), M.disabled = !1, E = null;\n else if (r === \"rect\" && k) {\n const m = Math.min(k.x, d), v = Math.min(k.y, f);\n l.push({ type: \"rect\", x: m, y: v, w: Math.abs(d - k.x), h: Math.abs(f - k.y), color: o, width: n, radius: s }), M.disabled = !1, k = null;\n }\n R();\n }, C.onmouseleave = (a) => {\n if (r === \"select\" && I) {\n I = null, C.classList.remove(\"select-mode-moving\");\n return;\n }\n C.onmouseup(a);\n };\n function ut() {\n const a = new Image();\n a.onload = () => {\n const d = document.createElement(\"canvas\");\n d.width = a.naturalWidth, d.height = a.naturalHeight;\n const f = d.getContext(\"2d\");\n if (!f) return;\n f.drawImage(a, 0, 0), l.forEach((v) => je(f, v));\n const m = d.toDataURL(\"image/png\");\n re(), e(m);\n }, a.onerror = () => {\n re(), e(c);\n }, a.src = c;\n }\n se = (a) => {\n a.key === \"Escape\" ? q ? ee() : r === \"crop\" && S ? (S = null, _.style.display = \"none\", R()) : x !== null ? (x = null, R()) : (re(), i()) : a.key === \"z\" && (a.ctrlKey || a.metaKey) && !a.shiftKey ? (a.preventDefault(), l.length > 0 && (l.pop(), M.disabled = l.length === 0, x = null, R())) : (a.key === \"Delete\" || a.key === \"Backspace\") && x !== null && !q && (a.preventDefault(), l.splice(x, 1), M.disabled = l.length === 0, x = null, R());\n }, document.addEventListener(\"keydown\", se), new ResizeObserver(() => {\n p && h && He();\n }).observe(C), ze();\n}\nconst Me = 3, Ze = 8, Ve = 14, qt = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 200 200\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<defs>\n\t\t<linearGradient id=\"sw-preview-grad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n\t\t\t<stop offset=\"0%\" stop-color=\"#0091FF\"/>\n\t\t\t<stop offset=\"33%\" stop-color=\"#FF02F0\"/>\n\t\t\t<stop offset=\"66%\" stop-color=\"#F76808\"/>\n\t\t\t<stop offset=\"100%\" stop-color=\"#6647F0\"/>\n\t\t</linearGradient>\n\t\t<linearGradient id=\"sw-preview-center\" x1=\"81\" y1=\"96\" x2=\"113\" y2=\"130\" gradientUnits=\"userSpaceOnUse\">\n\t\t\t<stop stop-color=\"white\"/>\n\t\t\t<stop offset=\"0.88\" stop-color=\"white\" stop-opacity=\"0.3\"/>\n\t\t</linearGradient>\n\t</defs>\n\t<path d=\"M100 0C86.1929 0 75 11.1929 75 25V39.2893L65.033 29.3223C55.2699 19.5592 39.4408 19.5592 29.6777 29.3223C19.9146 39.0854 19.9146 54.9146 29.6777 64.6777L40 75H25C11.1929 75 0 86.1929 0 100C0 113.807 11.1929 125 25 125H39L29.2563 134.744C19.4932 144.507 19.4932 160.336 29.2563 170.099C39.0194 179.862 54.8485 179.862 64.6116 170.099L75 159.711V175C75 188.807 86.1929 200 100 200C113.807 200 125 188.807 125 175V160L135.744 170.744C145.507 180.507 161.336 180.507 171.099 170.744C180.862 160.981 180.862 145.151 171.099 135.388L160.711 125H175C188.807 125 200 113.807 200 100C200 86.1929 188.807 75 175 75H159.711L170.678 64.033C180.441 54.2699 180.441 38.4408 170.678 28.6777C160.915 18.9146 145.085 18.9146 135.322 28.6777L125 39V25C125 11.1929 113.807 0 100 0Z\" fill=\"url(#sw-preview-grad)\"/>\n\t<circle cx=\"100\" cy=\"100\" r=\"30\" fill=\"url(#sw-preview-center)\"/>\n</svg>`;\nlet O = null, Y = null;\nconst $ = [];\nlet ae = !1;\nconst Xe = \"supportwire-message-preview-styles\";\nfunction Zt() {\n if (document.getElementById(Xe)) return;\n const t = document.createElement(\"style\");\n t.id = Xe, t.textContent = `\n\t\t.sw-preview-stack {\n\t\t\tposition: fixed;\n\t\t\tz-index: 999997;\n\t\t\twidth: 320px;\n\t\t}\n\n\t\t.sw-preview-dismiss {\n\t\t\tposition: absolute;\n\t\t\tbottom: 100%;\n\t\t\tright: 0;\n\t\t\twidth: 24px;\n\t\t\theight: 24px;\n\t\t\tmargin-bottom: 4px;\n\t\t\tborder: none;\n\t\t\tborder-radius: 50%;\n\t\t\tfont-size: 15px;\n\t\t\tline-height: 1;\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\topacity: 0;\n\t\t\ttransition: opacity 150ms ease, background 150ms ease;\n\t\t\tpointer-events: auto;\n\t\t\tz-index: 10;\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-dark {\n\t\t\tbackground: rgba(255, 255, 255, 0.1);\n\t\t\tcolor: rgba(255, 255, 255, 0.6);\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-dark:hover {\n\t\t\tbackground: rgba(255, 255, 255, 0.18);\n\t\t\tcolor: rgba(255, 255, 255, 0.9);\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-light {\n\t\t\tbackground: rgba(0, 0, 0, 0.06);\n\t\t\tcolor: rgba(0, 0, 0, 0.4);\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-light:hover {\n\t\t\tbackground: rgba(0, 0, 0, 0.1);\n\t\t\tcolor: rgba(0, 0, 0, 0.7);\n\t\t}\n\t\t.sw-preview-dismiss:active {\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\t.sw-preview-dismiss:focus-visible {\n\t\t\toutline: 2px solid #0091FF;\n\t\t\toutline-offset: 1px;\n\t\t\topacity: 1;\n\t\t}\n\t\t.sw-preview-stack:hover .sw-preview-dismiss {\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.sw-preview-card {\n\t\t\tposition: absolute;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\tborder-radius: 16px;\n\t\t\tpadding: 12px 14px;\n\t\t\tcursor: pointer;\n\t\t\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n\t\t\tbox-sizing: border-box;\n\t\t\tpointer-events: auto;\n\t\t\ttransition: transform 200ms cubic-bezier(0.32, 0.72, 0, 1), opacity 200ms cubic-bezier(0.32, 0.72, 0, 1);\n\t\t\ttransform-origin: bottom center;\n\t\t}\n\t\t.sw-preview-card:active {\n\t\t\ttransform: scale(0.97) !important;\n\t\t}\n\n\t\t.sw-preview-card.sw-card-dark {\n\t\t\tbackground: #1a1a1a;\n\t\t\tbox-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), 0 1px 4px rgba(0, 0, 0, 0.2);\n\t\t}\n\t\t.sw-preview-card.sw-card-light {\n\t\t\tbackground: #ffffff;\n\t\t\tborder: 1px solid rgba(0, 0, 0, 0.08);\n\t\t\tbox-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);\n\t\t}\n\n\t\t.sw-preview-header {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 8px;\n\t\t\tmargin-bottom: 6px;\n\t\t}\n\t\t.sw-preview-logo {\n\t\t\tflex-shrink: 0;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t}\n\t\t.sw-preview-meta {\n\t\t\tfont-size: 11px;\n\t\t\tline-height: 1.2;\n\t\t\tflex: 1;\n\t\t\tmin-width: 0;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\t.sw-card-dark .sw-preview-meta { color: rgba(255, 255, 255, 0.5); }\n\t\t.sw-card-light .sw-preview-meta { color: rgba(0, 0, 0, 0.45); }\n\n\t\t.sw-preview-body {\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 1.4;\n\t\t\tdisplay: -webkit-box;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\tword-break: break-word;\n\t\t}\n\t\t.sw-card-dark .sw-preview-body { color: rgba(255, 255, 255, 0.9); }\n\t\t.sw-card-light .sw-preview-body { color: rgba(0, 0, 0, 0.85); }\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.sw-preview-card {\n\t\t\t\ttransition: opacity 200ms ease-out !important;\n\t\t\t}\n\t\t\t.sw-preview-dismiss {\n\t\t\t\ttransition: opacity 150ms ease-out !important;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(t);\n}\nfunction be() {\n if (!(!O || $.length === 0))\n if (ae) {\n let t = 0;\n for (let e = 0; e < $.length; e++) {\n const { el: i, height: r } = $[e];\n i.style.zIndex = String(Me + 1 - e), i.style.transform = `translateY(-${t}px) scale(1)`, i.style.opacity = i.dataset.visible === \"true\" ? \"1\" : \"0\", t += r + Ze;\n }\n O.style.height = `${t - Ze}px`;\n } else {\n for (let t = 0; t < $.length; t++) {\n const { el: e } = $[t];\n e.style.zIndex = String(Me + 1 - t), e.style.transform = `translateY(-${t * Ve}px) scale(${1 - t * 0.05})`, e.style.opacity = e.dataset.visible === \"true\" ? \"1\" : \"0\";\n }\n O.style.height = `${$[0].height + ($.length - 1) * Ve}px`;\n }\n}\nfunction Vt(t) {\n if (!Number.isFinite(t) || t <= 0) return \"just now\";\n const e = Date.now(), i = t < 1e12 ? t * 1e3 : t, r = Math.max(0, e - i), o = Math.floor(r / 1e3);\n if (o < 60) return \"just now\";\n const n = Math.floor(o / 60);\n if (n < 60) return `${n}m ago`;\n const s = Math.floor(n / 60);\n return s < 24 ? `${s}h ago` : `${Math.floor(s / 24)}d ago`;\n}\nfunction Xt(t, e) {\n if (O) return O;\n const i = document.createElement(\"div\");\n i.className = \"sw-preview-stack\";\n const r = t.startsWith(\"bottom\"), o = t.endsWith(\"right\"), n = 20, s = 48, l = 8;\n return r ? i.style.bottom = `${n + s + l}px` : i.style.top = `${n + s + l}px`, o ? i.style.right = `${n}px` : i.style.left = `${n}px`, i.addEventListener(\"mouseenter\", () => {\n ae = !0, be();\n }), i.addEventListener(\"mouseleave\", () => {\n ae = !1, be();\n }), Y = document.createElement(\"button\"), Y.className = `sw-preview-dismiss sw-dismiss-${e}`, Y.setAttribute(\"aria-label\", \"Dismiss all message previews\"), Y.textContent = \"×\", Y.addEventListener(\"click\", (c) => {\n c.stopPropagation(), xe();\n }), i.appendChild(Y), document.body.appendChild(i), O = i, i;\n}\nfunction Kt(t, e, i, r, o, n) {\n Zt();\n const s = Xt(r, o);\n $.length >= Me && $.pop().el.remove();\n const l = document.createElement(\"div\");\n l.className = `sw-preview-card sw-card-${o}`, l.dataset.visible = \"false\";\n const c = document.createElement(\"div\");\n c.className = \"sw-preview-header\";\n const p = document.createElement(\"div\");\n p.className = \"sw-preview-logo\", p.innerHTML = qt;\n const h = document.createElement(\"div\");\n h.className = \"sw-preview-meta\", h.textContent = `${e || \"Support\"} · ${Vt(i)}`, c.appendChild(p), c.appendChild(h);\n const g = document.createElement(\"div\");\n g.className = \"sw-preview-body\", g.textContent = t, l.appendChild(c), l.appendChild(g), l.addEventListener(\"click\", () => {\n xe(!0), n();\n }), s.appendChild(l);\n const y = l.offsetHeight;\n $.unshift({ el: l, height: y }), be(), requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n l.dataset.visible = \"true\", be();\n });\n });\n}\nfunction xe(t) {\n if (t) {\n for (const i of $) i.el.remove();\n $.length = 0, O && (O.remove(), O = null), Y = null, ae = !1;\n return;\n }\n const e = [...$];\n $.length = 0;\n for (const i of e) {\n i.el.dataset.visible = \"false\", i.el.style.opacity = \"0\";\n const r = () => {\n i.el.removeEventListener(\"transitionend\", r), i.el.remove();\n };\n i.el.addEventListener(\"transitionend\", r), setTimeout(() => i.el.remove(), 300);\n }\n if (O) {\n const i = O;\n O = null, Y = null, ae = !1, setTimeout(() => i.remove(), 350);\n }\n}\nconst nt = \"supportwire-event-rule-executions\";\nfunction st() {\n try {\n const t = localStorage.getItem(nt);\n return t ? JSON.parse(t) : {};\n } catch (t) {\n return {};\n }\n}\nfunction $e(t) {\n return st()[t] || 0;\n}\nfunction Jt(t) {\n try {\n const e = st();\n e[t] = (e[t] || 0) + 1, localStorage.setItem(nt, JSON.stringify(e));\n } catch (e) {\n }\n}\nfunction Qt(t) {\n return t.max_executions == null || t.max_executions <= 0 ? !1 : $e(t.id) >= t.max_executions;\n}\nfunction ei(t, e) {\n try {\n const i = (s) => s.replace(/\\/+$/, \"\");\n if (!e.includes(\"*\"))\n return i(t) === i(e);\n const o = e.split(\"*\").map((s) => {\n let l = \"\";\n for (const c of s)\n \"-/\\\\^$*+?.()|[]{}\".indexOf(c) !== -1 && (l += \"\\\\\"), l += c;\n return l;\n }), n = new RegExp(\"^\" + o.join(\".*\") + \"$\");\n return n.test(t) || n.test(i(t));\n } catch (i) {\n return !1;\n }\n}\nfunction ti(t, e) {\n var r;\n const i = [];\n for (const o of t) {\n if (o.event_name !== \"SW_PAGE_VIEW\") continue;\n const n = (r = o.event_info) == null ? void 0 : r.url;\n if (!n) continue;\n if (Qt(o)) {\n $e(o.id);\n continue;\n }\n ei(e, n) && i.push({\n ruleId: o.id,\n delay: o.delay,\n messagesToSend: o.messages_to_send\n });\n }\n return i;\n}\nfunction ii(t, e) {\n var p;\n for (const h of t)\n (p = h.event_info) != null && p.url, h.max_executions != null && String(h.max_executions), $e(h.id);\n const i = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();\n let o = \"\";\n function n() {\n const h = window.location.href;\n if (h === o) return;\n o = h;\n const g = ti(t, h);\n for (const y of g) {\n if (r.has(y.ruleId))\n continue;\n r.add(y.ruleId);\n const w = (y.delay || 0) * 1e3, T = setTimeout(() => {\n i.delete(T), Jt(y.ruleId), e(y);\n }, w);\n i.add(T);\n }\n }\n const s = history.pushState.bind(history), l = history.replaceState.bind(history);\n history.pushState = function(...h) {\n s(...h), n();\n }, history.replaceState = function(...h) {\n l(...h), n();\n };\n const c = () => n();\n return window.addEventListener(\"popstate\", c), n(), () => {\n for (const h of i) clearTimeout(h);\n i.clear(), history.pushState = s, history.replaceState = l, window.removeEventListener(\"popstate\", c);\n };\n}\nconst ri = \"supportwire\", le = (t, e) => `${ri}-${e}-${t}`, Re = (t, e) => {\n try {\n e ? localStorage.setItem(le(t, \"open\"), \"1\") : localStorage.removeItem(le(t, \"open\"));\n } catch (i) {\n }\n}, oi = (t) => {\n try {\n return localStorage.getItem(le(t, \"open\")) === \"1\";\n } catch (e) {\n return !1;\n }\n}, ni = (t, e) => {\n try {\n localStorage.setItem(le(t, \"widget-size\"), JSON.stringify(e));\n } catch (i) {\n }\n}, si = (t) => {\n try {\n const e = localStorage.getItem(le(t, \"widget-size\"));\n return e ? JSON.parse(e) : null;\n } catch (e) {\n return null;\n }\n};\nvar ai = { success: { pattern: [{ duration: 30, intensity: 0.5 }, { delay: 60, duration: 40, intensity: 1 }] }, warning: { pattern: [{ duration: 40, intensity: 0.8 }, { delay: 100, duration: 40, intensity: 0.6 }] }, error: { pattern: [{ duration: 40, intensity: 0.9 }, { delay: 40, duration: 40, intensity: 0.9 }, { delay: 40, duration: 40, intensity: 0.9 }] }, light: { pattern: [{ duration: 15, intensity: 0.4 }] }, medium: { pattern: [{ duration: 25, intensity: 0.7 }] }, heavy: { pattern: [{ duration: 35, intensity: 1 }] }, soft: { pattern: [{ duration: 40, intensity: 0.5 }] }, rigid: { pattern: [{ duration: 10, intensity: 1 }] }, selection: { pattern: [{ duration: 8, intensity: 0.3 }] }, nudge: { pattern: [{ duration: 80, intensity: 0.8 }, { delay: 80, duration: 50, intensity: 0.3 }] }, buzz: { pattern: [{ duration: 1e3, intensity: 1 }] } }, li = 16, di = 184, Ke = 1e3, ye = 20;\nfunction ci(t) {\n if (typeof t == \"number\") return { vibrations: [{ duration: t }] };\n if (typeof t == \"string\") {\n let e = ai[t];\n return e ? { vibrations: e.pattern.map((i) => G({}, i)) } : (console.warn(`[web-haptics] Unknown preset: \"${t}\"`), null);\n }\n if (Array.isArray(t)) {\n if (t.length === 0) return { vibrations: [] };\n if (typeof t[0] == \"number\") {\n let e = t, i = [];\n for (let r = 0; r < e.length; r += 2) {\n let o = r > 0 ? e[r - 1] : 0;\n i.push(te(G({}, o > 0 && { delay: o }), { duration: e[r] }));\n }\n return { vibrations: i };\n }\n return { vibrations: t.map((e) => G({}, e)) };\n }\n return { vibrations: t.pattern.map((e) => G({}, e)) };\n}\nfunction pi(t, e) {\n if (e >= 1) return [t];\n if (e <= 0) return [];\n let i = Math.max(1, Math.round(ye * e)), r = ye - i, o = [], n = t;\n for (; n >= ye; ) o.push(i), o.push(r), n -= ye;\n if (n > 0) {\n let s = Math.max(1, Math.round(n * e));\n o.push(s);\n let l = n - s;\n l > 0 && o.push(l);\n }\n return o;\n}\nfunction ui(t, e) {\n var r, o;\n let i = [];\n for (let n = 0; n < t.length; n++) {\n let s = t[n], l = Math.max(0, Math.min(1, (r = s.intensity) != null ? r : e)), c = (o = s.delay) != null ? o : 0;\n c > 0 && (i.length > 0 && i.length % 2 === 0 ? i[i.length - 1] += c : (i.length === 0 && i.push(0), i.push(c)));\n let p = pi(s.duration, l);\n if (p.length === 0) {\n i.length > 0 && i.length % 2 === 0 ? i[i.length - 1] += s.duration : s.duration > 0 && (i.push(0), i.push(s.duration));\n continue;\n }\n for (let h of p) i.push(h);\n }\n return i;\n}\nvar hi = 0, D, gi = (D = class {\n constructor(e) {\n L(this, \"hapticLabel\", null);\n L(this, \"domInitialized\", !1);\n L(this, \"instanceId\");\n L(this, \"debug\");\n L(this, \"showSwitch\");\n L(this, \"rafId\", null);\n L(this, \"patternResolve\", null);\n L(this, \"audioCtx\", null);\n L(this, \"audioFilter\", null);\n L(this, \"audioGain\", null);\n L(this, \"audioBuffer\", null);\n var i, r;\n this.instanceId = ++hi, this.debug = (i = e == null ? void 0 : e.debug) != null ? i : !1, this.showSwitch = (r = e == null ? void 0 : e.showSwitch) != null ? r : !1;\n }\n async trigger(e = [{ duration: 25, intensity: 0.7 }], i) {\n var s, l, c, p;\n let r = ci(e);\n if (!r) return;\n let { vibrations: o } = r;\n if (o.length === 0) return;\n let n = Math.max(0, Math.min(1, (s = i == null ? void 0 : i.intensity) != null ? s : 0.5));\n for (let h of o) if (h.duration > Ke && (h.duration = Ke), !Number.isFinite(h.duration) || h.duration < 0 || h.delay !== void 0 && (!Number.isFinite(h.delay) || h.delay < 0)) {\n console.warn(\"[web-haptics] Invalid vibration values. Durations and delays must be finite non-negative numbers.\");\n return;\n }\n if (D.isSupported && navigator.vibrate(ui(o, n)), !D.isSupported || this.debug) {\n if (this.ensureDOM(), !this.hapticLabel) return;\n this.debug && await this.ensureAudio(), this.stopPattern();\n let h = ((c = (l = o[0]) == null ? void 0 : l.delay) != null ? c : 0) === 0;\n if (h && (this.hapticLabel.click(), this.debug && this.audioCtx)) {\n let g = Math.max(0, Math.min(1, (p = o[0].intensity) != null ? p : n));\n this.playClick(g);\n }\n await this.runPattern(o, n, h);\n }\n }\n cancel() {\n this.stopPattern(), D.isSupported && navigator.vibrate(0);\n }\n destroy() {\n this.stopPattern(), this.hapticLabel && (this.hapticLabel.remove(), this.hapticLabel = null, this.domInitialized = !1), this.audioCtx && (this.audioCtx.close(), this.audioCtx = null, this.audioFilter = null, this.audioGain = null, this.audioBuffer = null);\n }\n setDebug(e) {\n this.debug = e, !e && this.audioCtx && (this.audioCtx.close(), this.audioCtx = null, this.audioFilter = null, this.audioGain = null, this.audioBuffer = null);\n }\n setShowSwitch(e) {\n if (this.showSwitch = e, this.hapticLabel) {\n let i = this.hapticLabel.querySelector(\"input\");\n this.hapticLabel.style.display = e ? \"\" : \"none\", i && (i.style.display = e ? \"\" : \"none\");\n }\n }\n stopPattern() {\n var e;\n this.rafId !== null && (cancelAnimationFrame(this.rafId), this.rafId = null), (e = this.patternResolve) == null || e.call(this), this.patternResolve = null;\n }\n runPattern(e, i, r) {\n return new Promise((o) => {\n var g, y;\n this.patternResolve = o;\n let n = [], s = 0;\n for (let w of e) {\n let T = Math.max(0, Math.min(1, (g = w.intensity) != null ? g : i)), b = (y = w.delay) != null ? y : 0;\n b > 0 && (s += b, n.push({ end: s, isOn: !1, intensity: 0 })), s += w.duration, n.push({ end: s, isOn: !0, intensity: T });\n }\n let l = s, c = 0, p = -1, h = (w) => {\n var E, k;\n c === 0 && (c = w);\n let T = w - c;\n if (T >= l) {\n this.rafId = null, this.patternResolve = null, o();\n return;\n }\n let b = n[0];\n for (let x of n) if (T < x.end) {\n b = x;\n break;\n }\n if (b.isOn) {\n let x = li + (1 - b.intensity) * di;\n p === -1 ? (p = w, r || ((E = this.hapticLabel) == null || E.click(), this.debug && this.audioCtx && this.playClick(b.intensity), r = !0)) : w - p >= x && ((k = this.hapticLabel) == null || k.click(), this.debug && this.audioCtx && this.playClick(b.intensity), p = w);\n }\n this.rafId = requestAnimationFrame(h);\n };\n this.rafId = requestAnimationFrame(h);\n });\n }\n playClick(e) {\n if (!this.audioCtx || !this.audioFilter || !this.audioGain || !this.audioBuffer) return;\n let i = this.audioBuffer.getChannelData(0);\n for (let s = 0; s < i.length; s++) i[s] = (Math.random() * 2 - 1) * Math.exp(-s / 25);\n this.audioGain.gain.value = 0.5 * e;\n let r = 2e3 + e * 2e3, o = 1 + (Math.random() - 0.5) * 0.3;\n this.audioFilter.frequency.value = r * o;\n let n = this.audioCtx.createBufferSource();\n n.buffer = this.audioBuffer, n.connect(this.audioFilter), n.onended = () => n.disconnect(), n.start();\n }\n async ensureAudio() {\n var e;\n if (!this.audioCtx && typeof AudioContext < \"u\") {\n this.audioCtx = new AudioContext(), this.audioFilter = this.audioCtx.createBiquadFilter(), this.audioFilter.type = \"bandpass\", this.audioFilter.frequency.value = 4e3, this.audioFilter.Q.value = 8, this.audioGain = this.audioCtx.createGain(), this.audioFilter.connect(this.audioGain), this.audioGain.connect(this.audioCtx.destination);\n let i = 4e-3;\n this.audioBuffer = this.audioCtx.createBuffer(1, this.audioCtx.sampleRate * i, this.audioCtx.sampleRate);\n let r = this.audioBuffer.getChannelData(0);\n for (let o = 0; o < r.length; o++) r[o] = (Math.random() * 2 - 1) * Math.exp(-o / 25);\n }\n ((e = this.audioCtx) == null ? void 0 : e.state) === \"suspended\" && await this.audioCtx.resume();\n }\n ensureDOM() {\n if (this.domInitialized || typeof document > \"u\") return;\n let e = `web-haptics-${this.instanceId}`, i = document.createElement(\"label\");\n i.setAttribute(\"for\", e), i.textContent = \"Haptic feedback\", i.style.position = \"fixed\", i.style.bottom = \"10px\", i.style.left = \"10px\", i.style.padding = \"5px 10px\", i.style.backgroundColor = \"rgba(0, 0, 0, 0.7)\", i.style.color = \"white\", i.style.fontFamily = \"sans-serif\", i.style.fontSize = \"14px\", i.style.borderRadius = \"4px\", i.style.zIndex = \"9999\", i.style.userSelect = \"none\", this.hapticLabel = i;\n let r = document.createElement(\"input\");\n r.type = \"checkbox\", r.setAttribute(\"switch\", \"\"), r.id = e, r.style.all = \"initial\", r.style.appearance = \"auto\", this.showSwitch || (i.style.display = \"none\", r.style.display = \"none\"), i.appendChild(r), document.body.appendChild(i), this.domInitialized = !0;\n }\n}, L(D, \"isSupported\", typeof navigator < \"u\" && typeof navigator.vibrate == \"function\"), D);\nconst oe = new gi(), X = class X {\n constructor(e) {\n var i, r, o;\n if (this.iframe = null, this.container = null, this.trigger = null, this.isOpen = !1, this.isExpanded = !1, this.messageHandler = null, this.unreadCount = 0, this.titleModified = !1, this.visibilityHandler = null, this.eventRuleCleanup = null, this.triggerClickHandler = null, this.guideBridgeTeardown = null, !e.widgetSlug || typeof e.widgetSlug != \"string\" || e.widgetSlug.trim() === \"\")\n throw new Error(\"widgetSlug is required in widget config\");\n this.config = {\n widgetSlug: e.widgetSlug,\n appUrl: e.appUrl,\n selector: e.selector,\n theme: e.theme || \"light\",\n triggerPosition: e.triggerPosition || \"bottom-right\",\n widgetType: e.widgetType || \"popup\",\n userToken: e.userToken || \"\",\n userEmail: e.userEmail || \"\",\n userExternalUserId: e.userExternalUserId || \"\",\n userSignature: e.userSignature || \"\",\n userData: (i = e.userData) != null ? i : {},\n hideOnLaunch: (r = e.hideOnLaunch) != null ? r : !1,\n enableScreenshot: (o = e.enableScreenshot) != null ? o : !1,\n onOpen: e.onOpen || (() => {\n }),\n onClose: e.onClose || (() => {\n }),\n onError: e.onError || ((n) => console.error(\"SupportWireWidget error:\", n))\n }, this.iframeId = bt(), this.widgetUrl = this.buildWidgetUrl(), X.instances.set(this.iframeId, this), this.init();\n }\n updateDocumentTitle(e) {\n e > 0 && document.hidden ? (document.title = `(${e}) ${document.title.replace(/^\\(\\d+\\) /, \"\")}`, this.titleModified = !0) : this.titleModified && (document.title = document.title.replace(/^\\(\\d+\\) /, \"\"), this.titleModified = !1);\n }\n /**\n * Gets the localStorage key for unread count\n */\n getUnreadCountKey() {\n return `supportwire-unread-count-${this.config.widgetSlug}`;\n }\n /**\n * Loads unread count from localStorage\n */\n loadUnreadCountFromStorage() {\n if (typeof window == \"undefined\")\n return 0;\n try {\n const e = this.getUnreadCountKey(), i = localStorage.getItem(e);\n if (i) {\n const r = parseInt(i, 10);\n return isNaN(r) ? 0 : r;\n }\n } catch (e) {\n console.error(\"Failed to load unread count from localStorage:\", e);\n }\n return 0;\n }\n /**\n * Saves unread count to localStorage\n */\n saveUnreadCountToStorage(e) {\n if (typeof window != \"undefined\")\n try {\n const i = this.getUnreadCountKey();\n e > 0 ? localStorage.setItem(i, String(e)) : localStorage.removeItem(i);\n } catch (i) {\n console.error(\"Failed to save unread count to localStorage:\", i);\n }\n }\n buildWidgetUrl() {\n return `${yt(this.config.appUrl)}/w/${this.config.widgetSlug.trim()}/chat`;\n }\n init() {\n try {\n this.unreadCount = this.loadUnreadCountFromStorage(), this.createContainer(), this.createIframe(), this.setupMessageHandler(), this.setupTrigger(), this.config.hideOnLaunch && this.trigger && (this.trigger.style.display = \"none\"), this.unreadCount > 0 && (this.trigger && we(this.trigger, this.unreadCount), this.updateDocumentTitle(this.unreadCount)), this.visibilityHandler = () => {\n !document.hidden && this.titleModified && this.updateDocumentTitle(0);\n }, document.addEventListener(\"visibilitychange\", this.visibilityHandler), oi(this.config.widgetSlug) && this.open();\n } catch (e) {\n this.config.onError(e instanceof Error ? e : new Error(String(e)));\n }\n }\n createContainer() {\n this.container = document.createElement(\"div\"), this.container.id = `${this.config.widgetSlug}-container`, this.container.className = `supportwire-widget-container supportwire-${this.config.widgetType}`, xt(), Be(this.container, this.config);\n const e = si(this.config.widgetSlug);\n e && this.config.widgetType === \"popup\" && (this.container.style.width = `${e.width}px`, this.container.style.height = `${e.height}px`), this.config.widgetType === \"popup\" && this.addResizeHandle(this.container), this.config.widgetType === \"popup\" && !this.config.selector && Ct(this.container, this.config.triggerPosition, this.config.theme), document.body.appendChild(this.container);\n }\n createIframe() {\n this.container && (this.iframe = Lt(\n this.container,\n this.iframeId,\n this.widgetUrl,\n this.config.theme\n ));\n }\n setupMessageHandler() {\n this.messageHandler = Ft(\n this.iframeId,\n this.widgetUrl,\n this.container,\n {\n onReady: () => {\n this.sendMessageToIframe({\n type: \"CONFIG\",\n config: {\n widgetSlug: this.config.widgetSlug,\n theme: this.config.theme,\n triggerPosition: this.config.triggerPosition,\n widgetType: this.config.widgetType,\n userToken: this.config.userToken,\n userEmail: this.config.userEmail,\n userSignature: this.config.userSignature,\n userData: this.config.userData,\n enableScreenshot: this.config.enableScreenshot\n }\n });\n },\n onOpen: () => {\n this.isOpen = !0, this.unreadCount = 0, this.saveUnreadCountToStorage(0), this.trigger && we(this.trigger, 0), this.config.onOpen();\n },\n onClose: () => {\n this.isOpen = !1, Re(this.config.widgetSlug, !1), this.trigger && (Se(this.trigger, !1, this.config.theme), window.innerWidth <= 480 && (this.trigger.style.display = \"\")), this.config.onClose();\n },\n onError: this.config.onError,\n onUnreadCount: (e) => {\n e > this.unreadCount && oe.trigger(\"selection\"), this.unreadCount = e, this.saveUnreadCountToStorage(e), this.trigger && we(this.trigger, e), this.updateDocumentTitle(e);\n },\n onImagePreview: (e, i, r) => {\n Ut(e, i, r, (o) => {\n qe(\n o,\n (n) => {\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_RESULT\",\n payload: { dataUrl: n }\n });\n },\n () => {\n }\n );\n });\n },\n onToggleFullscreen: () => {\n this.toggleExpand();\n },\n onMessagePreview: (e, i, r) => {\n this.isOpen || Kt(e, i, r, this.config.triggerPosition, this.config.theme, () => this.open());\n },\n onScreenshotRequest: (e) => {\n this.capturePageScreenshot(e);\n },\n onEventRulesRegistered: (e) => {\n this.eventRuleCleanup && (this.eventRuleCleanup(), this.eventRuleCleanup = null), e.length !== 0 && (this.eventRuleCleanup = ii(e, (i) => {\n this.sendMessageToIframe({\n type: \"EVENT_RULE_MATCHED\",\n eventRule: {\n ruleId: i.ruleId,\n delay: i.delay,\n messagesToSend: i.messagesToSend\n }\n });\n }));\n }\n }\n ), window.addEventListener(\"message\", this.messageHandler), this.iframe && (this.guideBridgeTeardown = Pt(this.iframe, this.iframeId).teardown);\n }\n setupTrigger() {\n if (this.triggerClickHandler = () => this.toggle(), this.config.selector) {\n const e = document.querySelector(this.config.selector);\n e ? (this.trigger = e, this.trigger.addEventListener(\"click\", this.triggerClickHandler)) : (console.warn(`SupportWireWidget: Selector \"${this.config.selector}\" not found. Creating default trigger.`), this.createDefaultTrigger());\n } else\n this.createDefaultTrigger();\n }\n createDefaultTrigger() {\n this.triggerClickHandler || (this.triggerClickHandler = () => this.toggle()), this.trigger = Rt(this.config, this.triggerClickHandler);\n }\n sendMessageToIframe(e) {\n Ot(this.iframe, this.iframeId, this.widgetUrl, e);\n }\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n open() {\n !this.container || !this.iframe || (xe(!0), this.showTrigger(), this.isOpen = !0, oe.trigger(\"medium\"), Re(this.config.widgetSlug, !0), this.container.style.display = \"block\", Qe(this.container), this.unreadCount = 0, this.saveUnreadCountToStorage(0), this.updateDocumentTitle(0), this.trigger && (we(this.trigger, 0), Se(this.trigger, !0, this.config.theme), window.innerWidth <= 480 && (this.trigger.style.display = \"none\")), this.sendMessageToIframe({ type: \"OPEN\" }));\n }\n close() {\n this.container && (this.isOpen = !1, oe.trigger(\"light\"), Re(this.config.widgetSlug, !1), this.trigger && (Se(this.trigger, !1, this.config.theme), window.innerWidth <= 480 && (this.trigger.style.display = \"\")), et(this.container), this.sendMessageToIframe({ type: \"CLOSE\" }));\n }\n showTrigger() {\n this.trigger && (this.trigger.style.display = \"\");\n }\n hideTrigger() {\n this.trigger && (this.trigger.style.display = \"none\");\n }\n addResizeHandle(e) {\n const i = document.createElement(\"div\");\n i.innerHTML = `<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" style=\"opacity:0.3;transform:rotate(180deg)\">\n\t\t\t<line x1=\"9\" y1=\"1\" x2=\"1\" y2=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n\t\t\t<line x1=\"9\" y1=\"5\" x2=\"5\" y2=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n\t\t</svg>`, Object.assign(i.style, {\n position: \"absolute\",\n top: \"4px\",\n left: \"4px\",\n width: \"20px\",\n height: \"20px\",\n cursor: \"nw-resize\",\n zIndex: \"10\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"var(--muted-foreground, #999)\",\n borderRadius: \"4px\"\n }), i.addEventListener(\"mouseenter\", () => {\n const g = i.querySelector(\"svg\");\n g && (g.style.opacity = \"0.6\");\n }), i.addEventListener(\"mouseleave\", () => {\n const g = i.querySelector(\"svg\");\n g && (g.style.opacity = \"0.3\");\n });\n const r = 320, o = 700, n = 400;\n i.addEventListener(\"dblclick\", (g) => {\n g.stopPropagation(), oe.trigger(\"light\"), window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || (e.style.willChange = \"width, height\", e.style.transition = \"width 250ms cubic-bezier(0.22, 1, 0.36, 1), height 250ms cubic-bezier(0.22, 1, 0.36, 1), max-height 250ms cubic-bezier(0.22, 1, 0.36, 1)\", setTimeout(() => {\n e.style.willChange = \"\", e.style.transition = \"width 200ms ease-out, height 200ms ease-out\";\n }, 270)), e.style.width = \"min(400px, max(0px, -20px + 100vw))\", e.style.height = \"min(704px, 100% - 104px)\", e.style.maxHeight = \"704px\";\n try {\n localStorage.removeItem(`supportwire-widget-size-${this.config.widgetSlug}`);\n } catch (w) {\n }\n });\n let s = !1, l = 0, c = 0, p = 0, h = 0;\n i.addEventListener(\"pointerdown\", (g) => {\n g.stopPropagation(), g.preventDefault(), s = !0, l = g.clientX, c = g.clientY;\n const y = e.getBoundingClientRect();\n p = y.width, h = y.height, i.setPointerCapture(g.pointerId), e.style.transition = \"none\";\n }), i.addEventListener(\"pointermove\", (g) => {\n if (!s) return;\n const y = l - g.clientX, w = c - g.clientY, T = parseInt(e.style.right) || 20, b = parseInt(e.style.bottom) || 84, E = Math.min(o, window.innerWidth - T - 20), k = window.innerHeight - b - 20, x = Math.max(r, Math.min(E, p + y)), I = Math.max(n, Math.min(k, h + w));\n e.style.width = `${x}px`, e.style.height = `${I}px`, e.style.maxHeight = `${I}px`;\n }), i.addEventListener(\"pointerup\", (g) => {\n if (!s) return;\n s = !1, i.releasePointerCapture(g.pointerId), e.style.transition = \"\";\n const y = e.getBoundingClientRect();\n ni(this.config.widgetSlug, {\n width: Math.round(y.width),\n height: Math.round(y.height)\n });\n }), e.appendChild(i);\n }\n toggleExpand() {\n if (!this.container) return;\n oe.trigger(\"medium\"), window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || (this.container.style.willChange = \"width, height\", this.container.style.transition = \"width 300ms cubic-bezier(0.22, 1, 0.36, 1), height 300ms cubic-bezier(0.22, 1, 0.36, 1), max-height 300ms cubic-bezier(0.22, 1, 0.36, 1), bottom 300ms cubic-bezier(0.22, 1, 0.36, 1)\", setTimeout(() => {\n this.container && (this.container.style.willChange = \"\", this.container.style.transition = \"width 200ms ease-out, height 200ms ease-out\");\n }, 320)), this.isExpanded ? (this.container.style.width = \"min(400px, max(0px, -20px + 100vw))\", this.container.style.height = \"min(704px, 100% - 104px)\", this.container.style.maxHeight = \"704px\", this.container.style.bottom = \"84px\", this.isExpanded = !1) : (this.container.style.width = \"min(688px, max(0px, -20px + 100vw))\", this.container.style.height = \"calc(100% - 40px)\", this.container.style.maxHeight = \"calc(100% - 40px)\", this.container.style.bottom = \"20px\", this.isExpanded = !0);\n }\n async capturePageScreenshot(e) {\n var i, r;\n try {\n const o = (i = this.container) == null ? void 0 : i.style.display, n = (r = this.trigger) == null ? void 0 : r.style.display;\n this.container && (this.container.style.display = \"none\"), this.trigger && (this.trigger.style.display = \"none\");\n const { snapdom: s } = await import(\"./snapdom-6yvsn_Iv.js\"), c = (await s.toCanvas(document.documentElement, { scale: 1 })).toDataURL(\"image/png\");\n this.container && (this.container.style.display = o != null ? o : \"\"), this.trigger && (this.trigger.style.display = n != null ? n : \"\"), qe(\n c,\n (p) => {\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_RESULT\",\n payload: { dataUrl: p }\n });\n },\n () => {\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_ERROR\",\n payload: { error: \"Screenshot cancelled\" }\n });\n }\n );\n } catch (o) {\n this.container && (this.container.style.display = \"\"), this.trigger && (this.trigger.style.display = \"\");\n const n = o instanceof Error ? o.message : \"Screenshot capture failed\";\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_ERROR\",\n payload: { error: n }\n });\n }\n }\n updateConfig(e) {\n const i = G({}, this.config);\n e.appUrl !== void 0 && (this.config.appUrl = e.appUrl), e.theme !== void 0 && (this.config.theme = e.theme), e.triggerPosition !== void 0 && (this.config.triggerPosition = e.triggerPosition), e.widgetType !== void 0 && (this.config.widgetType = e.widgetType), e.userToken !== void 0 && (this.config.userToken = e.userToken), e.userEmail !== void 0 && (this.config.userEmail = e.userEmail), e.userSignature !== void 0 && (this.config.userSignature = e.userSignature), e.userData !== void 0 && (this.config.userData = e.userData), e.onOpen !== void 0 && (this.config.onOpen = e.onOpen), e.onClose !== void 0 && (this.config.onClose = e.onClose), e.onError !== void 0 && (this.config.onError = e.onError), e.hideOnLaunch !== void 0 && (this.config.hideOnLaunch = e.hideOnLaunch, this.trigger && (this.trigger.style.display = e.hideOnLaunch ? \"none\" : \"\")), e.enableScreenshot !== void 0 && (this.config.enableScreenshot = e.enableScreenshot);\n const r = e.appUrl !== void 0 && e.appUrl !== i.appUrl, o = e.theme !== void 0 && e.theme !== i.theme;\n (r || o) && (o && this.sendMessageToIframe({\n type: \"THEME\",\n theme: e.theme\n }), this.iframe && (this.widgetUrl = this.buildWidgetUrl(), this.iframe.src = `${this.widgetUrl}?iframeId=${this.iframeId}&theme=${this.config.theme}`)), e.widgetType !== void 0 && e.widgetType !== i.widgetType && this.container && Be(this.container, this.config), e.triggerPosition !== void 0 && this.trigger && !this.config.selector && (Mt(this.trigger, this.config.triggerPosition), this.config.widgetType === \"popup\" && this.container && kt(this.container, this.config.triggerPosition, this.config.widgetType)), this.sendMessageToIframe({\n type: \"UPDATE_CONFIG\",\n config: e\n });\n }\n sendMessage(e, i) {\n if (!e || typeof e != \"string\" || e.trim() === \"\") {\n this.config.onError(new Error(\"Message must be a non-empty string\"));\n return;\n }\n (i == null ? void 0 : i.openWidget) !== !1 && !this.isOpen && this.open(), this.sendMessageToIframe({\n type: \"SEND_MESSAGE\",\n message: e,\n openWidget: i == null ? void 0 : i.openWidget\n });\n }\n destroy() {\n xe(!0), this.updateDocumentTitle(0), this.eventRuleCleanup && (this.eventRuleCleanup(), this.eventRuleCleanup = null), this.visibilityHandler && (document.removeEventListener(\"visibilitychange\", this.visibilityHandler), this.visibilityHandler = null), this.messageHandler && (window.removeEventListener(\"message\", this.messageHandler), this.messageHandler = null), this.guideBridgeTeardown && (this.guideBridgeTeardown(), this.guideBridgeTeardown = null), this.trigger && this.triggerClickHandler && this.trigger.removeEventListener(\"click\", this.triggerClickHandler), this.trigger && !this.config.selector && this.trigger.remove(), this.trigger = null, this.triggerClickHandler = null, this.container && (this.container.remove(), this.container = null), this.iframe = null, this.isOpen = !1, X.instances.delete(this.iframeId);\n }\n /**\n * Returns all initialized widget instances, optionally filtered by widgetSlug.\n */\n static getInstances(e) {\n const i = Array.from(X.instances.values());\n return e !== void 0 ? i.filter((r) => r.config.widgetSlug === e) : i;\n }\n};\nX.instances = /* @__PURE__ */ new Map();\nlet Je = X;\nexport {\n Je as default\n};\n//# sourceMappingURL=index.js.map\n","import type { IntercomSettings } from './types.js';\n\n/** Standard Intercom keys we extract directly; the rest become custom attrs. */\nconst KNOWN_KEYS: ReadonlyArray<keyof IntercomSettings> = [\n\t'app_id',\n\t'user_id',\n\t'email',\n\t'user_hash',\n\t'name',\n\t'created_at',\n\t'phone',\n\t'avatar',\n\t'unsubscribed_from_emails',\n\t'language_override',\n\t'utm_campaign',\n\t'utm_content',\n\t'utm_medium',\n\t'utm_source',\n\t'utm_term',\n\t'page_title',\n\t'company',\n\t'companies',\n\t'alignment',\n\t'horizontal_padding',\n\t'vertical_padding',\n\t'hide_default_launcher',\n\t'hide_notifications',\n\t'custom_launcher_selector',\n\t'z_index',\n\t'action_color',\n\t'background_color',\n\t'link_color',\n\t'theme_mode',\n\t'session_duration',\n\t'region',\n\t'api_base'\n];\n\nexport interface MappedWidgetConfig {\n\twidgetSlug: string;\n\tuserEmail?: string;\n\tuserExternalUserId?: string;\n\tuserSignature?: string;\n\tuserData: Record<string, unknown>;\n\ttheme?: 'light' | 'dark';\n\tselector?: string;\n\thideOnLaunch?: boolean;\n\ttriggerPosition?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n}\n\n/**\n * Translate Intercom settings → SupportWireWidget config. Unknown keys\n * collapse into `userData` so customer-side custom attributes survive the\n * shim. `app_id` becomes `widgetSlug` (1:1).\n */\nexport function mapSettings(settings: IntercomSettings): MappedWidgetConfig {\n\tconst customAttrs: Record<string, unknown> = {};\n\n\tfor (const [key, value] of Object.entries(settings)) {\n\t\tif (!KNOWN_KEYS.includes(key as keyof IntercomSettings)) {\n\t\t\tcustomAttrs[key] = value;\n\t\t}\n\t}\n\n\t// Standard profile fields that Intercom uses but we don't surface as\n\t// first-class — keep them in attributes so admin sees the data.\n\tif (settings.name !== undefined) customAttrs.name = settings.name;\n\tif (settings.phone !== undefined) customAttrs.phone = settings.phone;\n\tif (settings.created_at !== undefined) customAttrs.created_at = settings.created_at;\n\tif (settings.company !== undefined) customAttrs.company = settings.company;\n\tif (settings.companies !== undefined) customAttrs.companies = settings.companies;\n\tif (settings.unsubscribed_from_emails !== undefined) {\n\t\tcustomAttrs.unsubscribed_from_emails = settings.unsubscribed_from_emails;\n\t}\n\n\treturn {\n\t\twidgetSlug: String(settings.app_id),\n\t\tuserEmail: typeof settings.email === 'string' ? settings.email : undefined,\n\t\tuserExternalUserId: typeof settings.user_id === 'string' ? settings.user_id : undefined,\n\t\tuserSignature: typeof settings.user_hash === 'string' ? settings.user_hash : undefined,\n\t\tuserData: customAttrs,\n\t\ttheme:\n\t\t\tsettings.theme_mode === 'dark' || settings.theme_mode === 'light'\n\t\t\t\t? settings.theme_mode\n\t\t\t\t: undefined,\n\t\tselector:\n\t\t\ttypeof settings.custom_launcher_selector === 'string'\n\t\t\t\t? settings.custom_launcher_selector\n\t\t\t\t: undefined,\n\t\thideOnLaunch:\n\t\t\ttypeof settings.hide_default_launcher === 'boolean'\n\t\t\t\t? settings.hide_default_launcher\n\t\t\t\t: undefined,\n\t\ttriggerPosition: mapAlignment(settings.alignment)\n\t};\n}\n\nfunction mapAlignment(\n\talignment: 'left' | 'right' | undefined\n): 'bottom-left' | 'bottom-right' | undefined {\n\tif (alignment === 'left') return 'bottom-left';\n\tif (alignment === 'right') return 'bottom-right';\n\treturn undefined;\n}\n","import SupportWireWidget from 'widget-loader';\nimport { mapSettings } from './settings-map.js';\nimport type {\n\tIntercomSettings,\n\tQueuedCall,\n\tUnreadCountListener,\n\tShowListener,\n\tHideListener,\n\tUserEmailSuppliedListener\n} from './types.js';\n\ndeclare global {\n\tinterface Window {\n\t\tSupportWireMessenger?: SupportWireMessengerStub;\n\t}\n}\n\ninterface SupportWireMessengerStub {\n\t(...args: unknown[]): void;\n\tq?: QueuedCall[];\n}\n\n/**\n * Module-level singleton. Intercom assumes a single messenger per page,\n * keyed by `app_id`. We follow the same model — calling `Intercom({...})`\n * twice with different `app_id`s replaces the instance.\n */\nlet instance: SupportWireWidget | null = null;\nlet currentSettings: IntercomSettings | null = null;\n\nconst showListeners = new Set<ShowListener>();\nconst hideListeners = new Set<HideListener>();\nconst unreadListeners = new Set<UnreadCountListener>();\nconst emailListeners = new Set<UserEmailSuppliedListener>();\n\nlet lastUnreadCount = 0;\nlet lastSuppliedEmail: string | null = null;\n\nfunction installQueueStub(): SupportWireMessengerStub {\n\tif (typeof window === 'undefined') return makeQueueStub();\n\tif (window.SupportWireMessenger) return window.SupportWireMessenger;\n\n\tconst stub = makeQueueStub();\n\twindow.SupportWireMessenger = stub;\n\treturn stub;\n}\n\nfunction makeQueueStub(): SupportWireMessengerStub {\n\tconst queue: QueuedCall[] = [];\n\tconst stub: SupportWireMessengerStub = (...args: unknown[]) => {\n\t\tqueue.push(args as QueuedCall);\n\t};\n\tstub.q = queue;\n\treturn stub;\n}\n\nfunction drainQueue(): void {\n\tif (typeof window === 'undefined') return;\n\tconst stub = window.SupportWireMessenger;\n\tif (!stub || !stub.q) return;\n\tconst queued = stub.q.slice();\n\tstub.q.length = 0;\n\n\t// Replace stub with a live dispatcher.\n\tconst live: SupportWireMessengerStub = (...args: unknown[]) => {\n\t\tconst [method, ...rest] = args;\n\t\tdispatch(method as string, ...rest);\n\t};\n\tlive.q = [];\n\twindow.SupportWireMessenger = live;\n\n\tfor (const call of queued) {\n\t\tconst [method, ...rest] = call;\n\t\tdispatch(method as string, ...rest);\n\t}\n}\n\nfunction dispatch(method: string, ...args: unknown[]): void {\n\tswitch (method) {\n\t\tcase 'boot':\n\t\t\tboot(args[0] as IntercomSettings);\n\t\t\tbreak;\n\t\tcase 'update':\n\t\t\tupdate(args[0] as Partial<IntercomSettings>);\n\t\t\tbreak;\n\t\tcase 'shutdown':\n\t\t\tshutdown();\n\t\t\tbreak;\n\t\tcase 'show':\n\t\t\tshow();\n\t\t\tbreak;\n\t\tcase 'hide':\n\t\t\thide();\n\t\t\tbreak;\n\t\tcase 'showNewMessage':\n\t\t\tshowNewMessage(args[0] as string | undefined);\n\t\t\tbreak;\n\t\tcase 'trackEvent':\n\t\t\ttrackEvent(args[0] as string, args[1] as Record<string, unknown> | undefined);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// Unknown command — log once and continue.\n\t\t\tconsole.warn(`[SupportWireMessenger] unknown command: ${method}`);\n\t}\n}\n\n/** Boot (or re-boot) the messenger with the given settings. */\nexport function boot(settings: IntercomSettings): void {\n\tif (typeof window === 'undefined') return;\n\tif (!settings || typeof settings.app_id !== 'string' || settings.app_id === '') {\n\t\tthrow new Error('[SupportWireMessenger] `app_id` is required');\n\t}\n\n\tinstallQueueStub();\n\n\t// Same app_id and instance already alive → update instead of re-mount.\n\tif (instance && currentSettings && currentSettings.app_id === settings.app_id) {\n\t\tupdate(settings);\n\t\treturn;\n\t}\n\n\tif (instance) {\n\t\tinstance.destroy();\n\t\tinstance = null;\n\t}\n\n\tconst cfg = mapSettings(settings);\n\tcurrentSettings = settings;\n\n\tconst widgetSlug = cfg.widgetSlug;\n\tconst previousEmail = lastSuppliedEmail;\n\n\tinstance = new SupportWireWidget({\n\t\twidgetSlug,\n\t\tuserEmail: cfg.userEmail,\n\t\tuserExternalUserId: cfg.userExternalUserId,\n\t\tuserSignature: cfg.userSignature,\n\t\tuserData: cfg.userData,\n\t\ttheme: cfg.theme,\n\t\tselector: cfg.selector,\n\t\thideOnLaunch: cfg.hideOnLaunch,\n\t\ttriggerPosition: cfg.triggerPosition,\n\t\tonOpen: () => {\n\t\t\tfor (const cb of showListeners) cb();\n\t\t},\n\t\tonClose: () => {\n\t\t\tfor (const cb of hideListeners) cb();\n\t\t}\n\t});\n\n\tif (cfg.userEmail && cfg.userEmail !== previousEmail) {\n\t\tlastSuppliedEmail = cfg.userEmail;\n\t\tfor (const cb of emailListeners) cb();\n\t}\n\n\tdrainQueue();\n}\n\n/** Cheap idempotent update — diff against current settings before forwarding. */\nexport function update(partial: Partial<IntercomSettings>): void {\n\tif (!instance) {\n\t\t// Allow `update` to behave like `boot` when called pre-boot with a full\n\t\t// settings object (Intercom does this too).\n\t\tif (partial && typeof partial.app_id === 'string') {\n\t\t\tboot(partial as IntercomSettings);\n\t\t}\n\t\treturn;\n\t}\n\n\tconst merged = { ...(currentSettings ?? {}), ...partial } as IntercomSettings;\n\tconst previousEmail = lastSuppliedEmail;\n\n\tcurrentSettings = merged;\n\tconst cfg = mapSettings(merged);\n\n\tinstance.updateConfig({\n\t\tuserEmail: cfg.userEmail || undefined,\n\t\tuserExternalUserId: cfg.userExternalUserId || undefined,\n\t\tuserSignature: cfg.userSignature || undefined,\n\t\tuserData: cfg.userData,\n\t\ttheme: cfg.theme\n\t});\n\n\tif (cfg.userEmail && cfg.userEmail !== previousEmail) {\n\t\tlastSuppliedEmail = cfg.userEmail;\n\t\tfor (const cb of emailListeners) cb();\n\t}\n}\n\n/**\n * Destroy the messenger and scrub session-local state so the next visitor\n * boots clean (Intercom's `shutdown` semantics).\n */\nexport function shutdown(): void {\n\tif (!instance) return;\n\tconst slug = currentSettings?.app_id;\n\tinstance.destroy();\n\tinstance = null;\n\tcurrentSettings = null;\n\tlastSuppliedEmail = null;\n\tlastUnreadCount = 0;\n\n\tif (typeof window !== 'undefined' && typeof localStorage !== 'undefined' && typeof slug === 'string') {\n\t\tfor (const key of Object.keys(localStorage)) {\n\t\t\tif (\n\t\t\t\tkey === `supportwire-unread-count-${slug}` ||\n\t\t\t\tkey.startsWith(`supportwire-widget-`) && key.endsWith(`-${slug}`)\n\t\t\t) {\n\t\t\t\ttry {\n\t\t\t\t\tlocalStorage.removeItem(key);\n\t\t\t\t} catch {\n\t\t\t\t\t/* ignore */\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function show(): void {\n\tinstance?.open();\n}\n\nexport function hide(): void {\n\tinstance?.close();\n}\n\n/**\n * Open the messenger with a pre-populated composer. We currently don't\n * support pre-filling the composer end-to-end, so we open and (if content\n * supplied) send it as a message — Intercom's `showNewMessage` is closer\n * to a hint than a guarantee, so call sites usually tolerate the delta.\n */\nexport function showNewMessage(content?: string): void {\n\tif (!instance) return;\n\tinstance.open();\n\tif (content && content.trim() !== '') {\n\t\tinstance.sendMessage(content);\n\t}\n}\n\nlet trackEventWarned = false;\nexport function trackEvent(name: string, _metadata?: Record<string, unknown>): void {\n\tif (!trackEventWarned) {\n\t\tconsole.warn(\n\t\t\t`[SupportWireMessenger] trackEvent(\"${name}\", ...) is a no-op until POST /v2/track_event ships.`\n\t\t);\n\t\ttrackEventWarned = true;\n\t}\n}\n\nexport function onShow(cb: ShowListener): () => void {\n\tshowListeners.add(cb);\n\treturn () => showListeners.delete(cb);\n}\n\nexport function onHide(cb: HideListener): () => void {\n\thideListeners.add(cb);\n\treturn () => hideListeners.delete(cb);\n}\n\nexport function onUnreadCountChange(cb: UnreadCountListener): () => void {\n\tunreadListeners.add(cb);\n\t// Immediately deliver the last-known count so late subscribers see state.\n\tcb(lastUnreadCount);\n\treturn () => unreadListeners.delete(cb);\n}\n\nexport function onUserEmailSupplied(cb: UserEmailSuppliedListener): () => void {\n\temailListeners.add(cb);\n\treturn () => emailListeners.delete(cb);\n}\n\nlet hideNotificationsWarned = false;\nexport function hideNotifications(_hidden: boolean): void {\n\tif (!hideNotificationsWarned) {\n\t\tconsole.warn(\n\t\t\t'[SupportWireMessenger] hideNotifications is a no-op for now; preview suppression lives in the widget app.'\n\t\t);\n\t\thideNotificationsWarned = true;\n\t}\n}\n\nexport function getVisitorId(): string | null {\n\t// Without a synchronous round-trip to the widget app we can't resolve\n\t// the live interactor id; Intercom's API is synchronous so we return\n\t// null for now. Async access can be added if/when needed.\n\treturn null;\n}\n\nexport function whoami(): null {\n\treturn null;\n}\n\nconst noopWarnedMap: Map<string, boolean> = new Map();\n\nfunction noop(method: string): (..._args: unknown[]) => void {\n\treturn (..._args: unknown[]) => {\n\t\tif (!noopWarnedMap.get(method)) {\n\t\t\tconsole.warn(`[SupportWireMessenger] ${method} is not implemented; ignoring call.`);\n\t\t\tnoopWarnedMap.set(method, true);\n\t\t}\n\t};\n}\n\nexport const startTour = noop('startTour');\nexport const showArticle = noop('showArticle');\nexport const showNews = noop('showNews');\nexport const startSurvey = noop('startSurvey');\nexport const startChecklist = noop('startChecklist');\nexport const showTicket = noop('showTicket');\nexport const showConversation = noop('showConversation');\nexport const showSpace = noop('showSpace');\nexport const showMessages = noop('showMessages');\n\n/* Used by index.ts to forward unread-count updates from the loader. Not\n * exported publicly — wiring lives inside the package. */\nexport function _emitUnreadCount(count: number): void {\n\tlastUnreadCount = count;\n\tfor (const cb of unreadListeners) cb(count);\n}\n","import {\n\tboot,\n\tupdate,\n\tshutdown,\n\tshow,\n\thide,\n\tshowNewMessage,\n\ttrackEvent,\n\tonShow,\n\tonHide,\n\tonUnreadCountChange,\n\tonUserEmailSupplied,\n\thideNotifications,\n\tgetVisitorId,\n\twhoami,\n\tstartTour,\n\tshowArticle,\n\tshowNews,\n\tstartSurvey,\n\tstartChecklist,\n\tshowTicket,\n\tshowConversation,\n\tshowSpace,\n\tshowMessages\n} from './manager.js';\nimport type { IntercomSettings } from './types.js';\n\n/**\n * Boot the SupportWire messenger. Accepts Intercom-shape settings so\n * `@intercom/messenger-js-sdk` integrations can drop this package in by\n * renaming the import:\n *\n * ```js\n * import SupportWire from '@supportwire/messenger-js-sdk';\n * SupportWire({ app_id: '<widget-slug>', user_id, email, user_hash });\n * ```\n *\n * For a literal drop-in, the same default export can be imported under\n * the name `Intercom` — default imports are renamed at the call site:\n *\n * ```js\n * import Intercom from '@supportwire/messenger-js-sdk';\n * Intercom({ app_id: '<widget-slug>' });\n * ```\n */\nfunction SupportWire(settings: IntercomSettings): void {\n\tboot(settings);\n}\n\nexport default SupportWire;\n\nexport {\n\tSupportWire,\n\tboot,\n\tupdate,\n\tshutdown,\n\tshow,\n\thide,\n\tshowNewMessage,\n\ttrackEvent,\n\tonShow,\n\tonHide,\n\tonUnreadCountChange,\n\tonUserEmailSupplied,\n\thideNotifications,\n\tgetVisitorId,\n\twhoami,\n\tstartTour,\n\tshowArticle,\n\tshowNews,\n\tstartSurvey,\n\tstartChecklist,\n\tshowTicket,\n\tshowConversation,\n\tshowSpace,\n\tshowMessages\n};\n\nexport type { IntercomSettings, IntercomSettings as SupportWireSettings } from './types.js';\n"],"names":["ht","gt","mt","De","ft","wt","ke","t","e","G","te","L","yt","bt","xt","Qe","et","vt","Et","Ct","Be","o","n","i","r","s","l","c","kt","St","Tt","It","Rt","p","h","Mt","$t","we","Se","Lt","Ot","Ft","Pt","g","y","w","T","b","U","ne","tt","Gt","Nt","At","_t","Ht","Te","We","zt","ie","Ut","E","k","x","I","Z","se","it","u","Dt","Bt","Ie","rt","je","ot","Wt","Ye","jt","Yt","qe","S","z","q","de","V","ce","ve","K","C","B","F","J","P","Le","at","Oe","d","_e","Fe","lt","pe","Pe","Ee","N","fe","Ge","ue","Q","A","Ne","W","Ae","M","R","_","ct","he","ge","me","ut","ee","dt","Ce","He","ze","v","pt","H","j","Ue","Me","Ze","Ve","qt","O","ae","Xe","Zt","be","Vt","Xt","xe","Kt","nt","st","$e","Jt","Qt","ei","ti","ii","ri","le","Re","oi","ni","si","ai","li","di","Ke","ye","ci","pi","ui","hi","D","gi","oe","X","Je","KNOWN_KEYS","mapSettings","settings","customAttrs","key","value","mapAlignment","alignment","instance","currentSettings","showListeners","hideListeners","unreadListeners","emailListeners","lastUnreadCount","lastSuppliedEmail","installQueueStub","makeQueueStub","stub","queue","args","drainQueue","queued","live","method","rest","dispatch","call","boot","update","shutdown","show","hide","showNewMessage","trackEvent","cfg","widgetSlug","previousEmail","SupportWireWidget","cb","partial","merged","slug","content","trackEventWarned","name","_metadata","onShow","onHide","onUnreadCountChange","onUserEmailSupplied","hideNotificationsWarned","hideNotifications","_hidden","getVisitorId","whoami","noopWarnedMap","noop","_args","startTour","showArticle","showNews","startSurvey","startChecklist","showTicket","showConversation","showSpace","showMessages","SupportWire"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../widget-loader/dist/index.js","../src/settings-map.ts","../src/manager.ts","../src/index.ts"],"sourcesContent":["var ht = Object.defineProperty, gt = Object.defineProperties;\nvar mt = Object.getOwnPropertyDescriptors;\nvar De = Object.getOwnPropertySymbols;\nvar ft = Object.prototype.hasOwnProperty, wt = Object.prototype.propertyIsEnumerable;\nvar ke = (t, e, i) => e in t ? ht(t, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : t[e] = i, G = (t, e) => {\n for (var i in e || (e = {}))\n ft.call(e, i) && ke(t, i, e[i]);\n if (De)\n for (var i of De(e))\n wt.call(e, i) && ke(t, i, e[i]);\n return t;\n}, te = (t, e) => gt(t, mt(e));\nvar L = (t, e, i) => ke(t, typeof e != \"symbol\" ? e + \"\" : e, i);\nconst yt = (t) => t && typeof t == \"string\" && t.trim() !== \"\" ? t.trim().replace(/\\/$/, \"\") : \"https://widget.supportwire.app\", bt = () => {\n const t = Date.now(), e = Math.random().toString(36).substring(2, 9);\n return `supportwire-iframe-${t}-${e}`;\n}, xt = () => {\n if (document.getElementById(\"supportwire-animation-styles\"))\n return;\n const t = document.createElement(\"style\");\n t.id = \"supportwire-animation-styles\", t.textContent = `\n\t\t/* ── Popup: open (fade + rise + subtle scale) ── */\n\t\t@keyframes supportwire-slide-up-fade-in {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translateY(12px) scale(0.96);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translateY(0) scale(1);\n\t\t\t}\n\t\t}\n\n\t\t/* ── Center modal: open ── */\n\t\t@keyframes supportwire-slide-up-fade-in-center {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translate(-50%, calc(-50% + 12px)) scale(0.96);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translate(-50%, -50%) scale(1);\n\t\t\t}\n\t\t}\n\n\t\t/* ── Popup: close (faster exit, sink + shrink) ── */\n\t\t@keyframes supportwire-slide-down-fade-out {\n\t\t\tfrom {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translateY(0) scale(1);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translateY(8px) scale(0.98);\n\t\t\t}\n\t\t}\n\n\t\t/* ── Center modal: close ── */\n\t\t@keyframes supportwire-slide-down-fade-out-center {\n\t\t\tfrom {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: translate(-50%, -50%) scale(1);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: translate(-50%, calc(-50% + 8px)) scale(0.98);\n\t\t\t}\n\t\t}\n\n\t\t.supportwire-widget-container {\n\t\t\ttransition: opacity 250ms cubic-bezier(0.22, 1, 0.36, 1), transform 250ms cubic-bezier(0.22, 1, 0.36, 1);\n\t\t}\n\n\t\t/* ── Popup (overshoot on open for \"pop\" feel) ── */\n\t\t.supportwire-widget-container.supportwire-opening {\n\t\t\tanimation: supportwire-slide-up-fade-in 300ms cubic-bezier(0, 1.2, 1, 1) forwards;\n\t\t}\n\t\t.supportwire-widget-container.supportwire-closing {\n\t\t\tanimation: supportwire-slide-down-fade-out 180ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t/* ── Drawer ── */\n\t\t.supportwire-widget-container.supportwire-drawer.supportwire-opening {\n\t\t\tanimation: supportwire-slide-up-fade-in 350ms cubic-bezier(0, 1.2, 1, 1) forwards;\n\t\t}\n\t\t.supportwire-widget-container.supportwire-drawer.supportwire-closing {\n\t\t\tanimation: supportwire-slide-down-fade-out 220ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t/* ── Center modal ── */\n\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-opening {\n\t\t\tanimation: supportwire-slide-up-fade-in-center 300ms cubic-bezier(0, 1.2, 1, 1) forwards;\n\t\t}\n\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-closing {\n\t\t\tanimation: supportwire-slide-down-fade-out-center 180ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t/* ── Reduced motion: fade only, no movement ── */\n\t\t@keyframes supportwire-fade-in {\n\t\t\tfrom { opacity: 0; }\n\t\t\tto { opacity: 1; }\n\t\t}\n\t\t@keyframes supportwire-fade-out {\n\t\t\tfrom { opacity: 1; }\n\t\t\tto { opacity: 0; }\n\t\t}\n\n\t\t/* ── Mobile fullscreen: take over viewport on narrow screens ── */\n\t\t@media (max-width: 480px) {\n\t\t\t.supportwire-widget-container.supportwire-popup,\n\t\t\t.supportwire-widget-container.supportwire-drawer,\n\t\t\t.supportwire-widget-container.supportwire-center\\\\ modal {\n\t\t\t\twidth: 100vw !important;\n\t\t\t\theight: 100vh !important;\n\t\t\t\theight: 100dvh !important;\n\t\t\t\tmax-height: none !important;\n\t\t\t\tmin-height: none !important;\n\t\t\t\ttop: 0 !important;\n\t\t\t\tleft: 0 !important;\n\t\t\t\tright: 0 !important;\n\t\t\t\tbottom: 0 !important;\n\t\t\t\tborder-radius: 0 !important;\n\t\t\t\ttransform: none !important;\n\t\t\t}\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.supportwire-widget-container {\n\t\t\t\ttransition: opacity 150ms ease-out !important;\n\t\t\t}\n\t\t\t.supportwire-widget-container.supportwire-opening,\n\t\t\t.supportwire-widget-container.supportwire-drawer.supportwire-opening,\n\t\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-opening {\n\t\t\t\tanimation: supportwire-fade-in 150ms ease-out forwards !important;\n\t\t\t}\n\t\t\t.supportwire-widget-container.supportwire-closing,\n\t\t\t.supportwire-widget-container.supportwire-drawer.supportwire-closing,\n\t\t\t.supportwire-widget-container.supportwire-center\\\\ modal.supportwire-closing {\n\t\t\t\tanimation: supportwire-fade-out 150ms ease-out forwards !important;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(t);\n}, Qe = (t) => {\n requestAnimationFrame(() => {\n t.classList.remove(\"supportwire-closing\"), t.classList.add(\"supportwire-opening\");\n });\n}, et = (t, e) => {\n t.classList.remove(\"supportwire-opening\"), t.classList.add(\"supportwire-closing\"), setTimeout(() => {\n t.style.display = \"none\", t.classList.remove(\"supportwire-closing\");\n }, 230);\n};\nconst vt = (t, e) => {\n if (!e)\n return {\n bottom: \"20px\",\n right: \"20px\"\n };\n switch (t) {\n case \"bottom-right\":\n return {\n bottom: \"84px\",\n right: \"20px\"\n };\n case \"bottom-left\":\n return {\n bottom: \"84px\",\n left: \"20px\"\n };\n case \"top-right\":\n return {\n top: \"84px\",\n right: \"20px\"\n };\n case \"top-left\":\n return {\n top: \"84px\",\n left: \"20px\"\n };\n default:\n return {\n bottom: \"84px\",\n right: \"20px\"\n };\n }\n}, Et = () => {\n const t = \"supportwire-widget-tail-styles\";\n if (document.getElementById(t)) return;\n const e = document.createElement(\"style\");\n e.id = t, e.textContent = `\n\t\t.supportwire-widget-tail {\n\t\t\tposition: absolute;\n\t\t\twidth: 12px;\n\t\t\theight: 12px;\n\t\t\tbackground: inherit;\n\t\t\tborder-radius: 2px;\n\t\t\ttransform: rotate(45deg);\n\t\t\tz-index: -1;\n\t\t}\n\n\t\t.supportwire-widget-tail.bottom-right {\n\t\t\tbottom: -6px;\n\t\t\tright: 24px;\n\t\t\tbox-shadow: 2px 2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\n\t\t.supportwire-widget-tail.bottom-left {\n\t\t\tbottom: -6px;\n\t\t\tleft: 24px;\n\t\t\tbox-shadow: 2px 2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\n\t\t.supportwire-widget-tail.top-right {\n\t\t\ttop: -6px;\n\t\t\tright: 24px;\n\t\t\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\n\t\t.supportwire-widget-tail.top-left {\n\t\t\ttop: -6px;\n\t\t\tleft: 24px;\n\t\t\tbox-shadow: -2px -2px 4px rgba(0, 0, 0, 0.08);\n\t\t}\n\t`, document.head.appendChild(e);\n}, Ct = (t, e, i) => {\n Et();\n const r = t.querySelector(\".supportwire-widget-tail\");\n r && r.remove();\n const o = document.createElement(\"div\");\n o.className = `supportwire-widget-tail ${e || \"bottom-right\"}`, o.style.background = i === \"dark\" ? \"#1a1a1a\" : \"#ffffff\", t.appendChild(o);\n}, Be = (t, e) => {\n var o, n;\n const i = {\n position: \"fixed\",\n zIndex: \"999999\",\n display: \"none\",\n opacity: \"0\",\n backgroundColor: e.theme === \"dark\" ? \"#28282a\" : \"#f1f1f3\",\n transition: \"width 200ms ease-out, height 200ms ease-out\"\n }, r = !e.selector;\n switch (e.widgetType) {\n case \"popup\": {\n const s = (o = e.triggerPosition) != null && o.endsWith(\"left\") ? \"left\" : \"right\", l = (n = e.triggerPosition) != null && n.startsWith(\"top\") ? \"top\" : \"bottom\", h = G(te(G({}, i), {\n width: \"min(400px, max(0px, -20px + 100vw))\",\n height: \"min(704px, 100% - 104px)\",\n minHeight: \"80px\",\n maxHeight: \"704px\",\n borderRadius: \"24px\",\n boxShadow: e.theme === \"dark\" ? \"rgba(0, 0, 0, 0.5) 0px 5px 40px 0px\" : \"rgba(9, 14, 21, 0.12) 0px 5px 40px 0px\",\n overflow: \"hidden\",\n transformOrigin: `${s} ${l}`\n }), vt(e.triggerPosition, r));\n Object.assign(t.style, h);\n break;\n }\n case \"drawer\":\n Object.assign(t.style, i, {\n bottom: \"0\",\n right: \"0\",\n width: \"400px\",\n height: \"80vh\",\n borderTopLeftRadius: \"24px\",\n boxShadow: e.theme === \"dark\" ? \"rgba(0, 0, 0, 0.5) 0px 5px 40px 0px\" : \"rgba(9, 14, 21, 0.12) 0px 5px 40px 0px\",\n overflow: \"hidden\"\n });\n break;\n case \"center modal\":\n Object.assign(t.style, i, {\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"90%\",\n maxWidth: \"600px\",\n height: \"80vh\",\n borderRadius: \"24px\",\n boxShadow: e.theme === \"dark\" ? \"rgba(0, 0, 0, 0.5) 0px 5px 40px 0px\" : \"rgba(9, 14, 21, 0.12) 0px 5px 40px 0px\",\n overflow: \"hidden\"\n });\n break;\n }\n}, kt = (t, e, i) => {\n if (i === \"popup\")\n switch (e) {\n case \"bottom-right\":\n t.style.bottom = \"84px\", t.style.right = \"20px\", t.style.top = \"auto\", t.style.left = \"auto\";\n break;\n case \"bottom-left\":\n t.style.bottom = \"84px\", t.style.left = \"20px\", t.style.top = \"auto\", t.style.right = \"auto\";\n break;\n case \"top-right\":\n t.style.top = \"84px\", t.style.right = \"20px\", t.style.bottom = \"auto\", t.style.left = \"auto\";\n break;\n case \"top-left\":\n t.style.top = \"84px\", t.style.left = \"20px\", t.style.bottom = \"auto\", t.style.right = \"auto\";\n break;\n }\n}, St = `\n<svg width=\"28\" height=\"28\" viewBox=\"0 0 820 820\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path d=\"M306.256 103.089C374.06 121.601 405.862 142.59 421.597 163.509C431.539 176.728 436.259 191.483 438.492 209.449C438.57 210.082 438.643 210.717 438.715 211.352C406.945 214.037 377.275 229.548 354.7 259.981C341.9 277.237 334.444 294.617 333.557 312.794C332.669 330.997 338.511 347.065 346.837 361.327C354.975 375.267 366.267 388.769 377.867 401.971C389.907 415.672 402.475 429.27 415.535 445.247C430.794 463.914 439.389 485.957 441.679 506.319C444.009 527.042 439.644 543.751 432.155 553.715C422.208 566.947 404.553 576.35 383.329 579.578C373.766 558.908 367.432 536.332 364.99 512.317C360.559 468.74 346.585 426.481 324.199 401.287C312.749 388.401 297.053 377.839 277.666 377.481C258.099 377.12 240.782 387.253 226.463 402.846C202.178 429.296 203.512 469.846 215.138 504.134C227.276 539.932 252.808 576.859 289.195 603.059C308.607 617.036 332.485 624.471 356.456 626.188C389.051 678.63 440.001 717.759 499.915 737.633L464.425 790.873C438.535 829.709 381.465 829.709 355.575 790.873L232.25 605.888C227.46 598.704 221.294 592.538 214.11 587.748L29.1257 464.422C-9.70859 438.532-9.70855 381.468 29.1257 355.578L214.11 232.252C221.294 227.462 227.46 221.296 232.25 214.112L306.256 103.089ZM355.575 29.1266C381.465-9.70887 438.535-9.70887 464.425 29.1266L587.75 214.112C592.54 221.296 598.706 227.462 605.891 232.252L790.874 355.578C829.708 381.468 829.708 438.532 790.874 464.422L605.891 587.748C598.706 592.538 592.54 598.704 587.75 605.888L526.423 697.87C478.757 684.856 437.581 657.743 408.598 620.81C431.865 614.079 453.711 601.242 468.756 581.226C485.249 559.283 490.385 529.784 487.171 501.202C483.916 472.257 471.929 441.888 450.986 416.266C437.243 399.454 423.392 384.409 412.264 371.745C400.7 358.583 392.067 347.991 386.376 338.242C380.873 328.815 378.979 321.589 379.298 315.029C379.62 308.442 382.325 299.581 391.473 287.25C405.532 268.298 422.419 259.203 440.574 257.158C440.632 262.282 440.706 267.634 440.836 273.254C441.764 313.257 451.608 353.139 469.184 383.198C486.493 412.8 514.851 437.876 552.829 434.113C574.971 431.918 592.568 421.837 602.933 404.717C612.65 388.669 614.046 369.663 611.774 352.531C607.264 318.532 586.967 281.055 560.251 257.905C537.695 238.36 511.89 223.403 485.121 216.021C484.816 211.889 484.43 207.805 483.933 203.802C481.069 180.754 474.419 157.561 458.191 135.985C435.529 105.855 396.68 82.1759 332.931 63.0831L355.575 29.1266ZM276.816 423.261C279.023 423.301 283.573 424.501 289.975 431.705C303.292 446.695 315.474 477.943 319.44 516.941C321.485 537.048 325.758 556.267 331.954 574.436C326.083 572.154 320.674 569.306 315.946 565.902C287.519 545.433 267.66 516.46 258.497 489.436C248.821 460.902 252.942 441.706 260.189 433.813C269.148 424.057 274.786 423.224 276.816 423.261ZM486.475 264.816C501.078 270.831 515.992 280.136 530.268 292.507C548.705 308.484 563.375 335.868 566.384 358.548C567.87 369.751 566.162 377.039 563.765 381C562.014 383.891 558.471 387.543 548.313 388.55C536.044 389.765 521.828 382.532 508.704 360.087C495.847 338.098 487.398 306.189 486.609 272.194C486.553 269.765 486.511 267.3 486.475 264.816Z\" fill=\"currentColor\"/>\n</svg>\n`, Tt = `\n<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path d=\"M6 9L12 15L18 9\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n</svg>\n`, It = () => {\n const t = \"supportwire-trigger-styles\";\n if (document.getElementById(t)) return;\n const e = document.createElement(\"style\");\n e.id = t, e.textContent = `\n\t\t/* ── Trigger entrance ── */\n\t\t@keyframes supportwire-trigger-enter {\n\t\t\tfrom {\n\t\t\t\topacity: 0;\n\t\t\t\ttransform: scale(0.8);\n\t\t\t}\n\t\t\tto {\n\t\t\t\topacity: 1;\n\t\t\t\ttransform: scale(1);\n\t\t\t}\n\t\t}\n\n\t\t.supportwire-trigger-wrapper {\n\t\t\tposition: relative;\n\t\t\twidth: 48px;\n\t\t\theight: 48px;\n\t\t\tanimation: supportwire-trigger-enter 350ms cubic-bezier(0.22, 1, 0.36, 1) forwards;\n\t\t}\n\n\t\t.supportwire-widget-trigger {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tborder-radius: 50%;\n\t\t\tborder: none;\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\ttransition: transform 150ms cubic-bezier(0.22, 1, 0.36, 1), opacity 100ms ease-out;\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t/* Hover: instant on (0ms via override below), ease off (150ms base) */\n\t\t.supportwire-widget-trigger:hover {\n\t\t\topacity: 0.9;\n\t\t\ttransform: translateY(-2px);\n\t\t\ttransition-duration: 0ms;\n\t\t}\n\t\t.supportwire-widget-trigger:not(:hover) {\n\t\t\ttransition-duration: 150ms;\n\t\t}\n\n\t\t.supportwire-widget-trigger:active {\n\t\t\ttransform: scale(0.97);\n\t\t}\n\n\t\t.supportwire-widget-trigger:focus-visible {\n\t\t\toutline: 2px solid #0091FF;\n\t\t\toutline-offset: 2px;\n\t\t}\n\n\t\t/* ── Icon crossfade ── */\n\t\t.supportwire-widget-trigger .supportwire-trigger-icon {\n\t\t\tposition: absolute;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\ttransition: opacity 150ms ease-out, transform 150ms ease-out;\n\t\t}\n\t\t.supportwire-trigger-icon--hidden {\n\t\t\topacity: 0;\n\t\t\ttransform: scale(0.8);\n\t\t}\n\t\t.supportwire-trigger-icon--visible {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1);\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.supportwire-trigger-wrapper {\n\t\t\t\tanimation: none;\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\t.supportwire-widget-trigger {\n\t\t\t\ttransition: opacity 100ms ease-out;\n\t\t\t}\n\t\t\t.supportwire-widget-trigger .supportwire-trigger-icon {\n\t\t\t\ttransition: opacity 100ms ease-out;\n\t\t\t\ttransform: none !important;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(e);\n}, Rt = (t, e) => {\n var g, d;\n It();\n const i = document.createElement(\"div\");\n i.className = \"supportwire-trigger-wrapper\";\n const r = document.createElement(\"button\");\n r.className = \"supportwire-widget-trigger\", r.setAttribute(\"aria-label\", \"Open SupportWire chat\"), r.style.position = \"relative\";\n const o = document.createElement(\"span\");\n o.className = \"supportwire-trigger-icon supportwire-trigger-icon--visible\", o.setAttribute(\"data-icon\", \"logo\"), o.innerHTML = St;\n const n = document.createElement(\"span\");\n n.className = \"supportwire-trigger-icon supportwire-trigger-icon--hidden\", n.setAttribute(\"data-icon\", \"chevron\"), n.innerHTML = Tt, r.appendChild(o), r.appendChild(n), Object.assign(r.style, {\n backgroundColor: t.theme === \"dark\" ? \"#1a1a1a\" : \"#ffffff\",\n color: t.theme === \"dark\" ? \"#ffffff\" : \"#1a1a1a\",\n boxShadow: \"0 1px 6px 0 rgba(0, 0, 0, 0.06), 0 2px 32px 0 rgba(0, 0, 0, 0.16)\"\n });\n const s = {\n \"bottom-right\": { bottom: \"20px\", right: \"20px\" },\n \"bottom-left\": { bottom: \"20px\", left: \"20px\" },\n \"top-right\": { top: \"20px\", right: \"20px\" },\n \"top-left\": { top: \"20px\", left: \"20px\" }\n }, l = (g = t.triggerPosition) != null ? g : \"bottom-right\", h = (d = s[l]) != null ? d : s[\"bottom-right\"];\n return Object.assign(i.style, G({\n position: \"fixed\",\n zIndex: \"999998\"\n }, h)), i.appendChild(r), r.addEventListener(\"click\", e), document.body.appendChild(i), i;\n}, Mt = (t, e) => {\n const i = {\n \"bottom-right\": { bottom: \"20px\", right: \"20px\", top: \"auto\", left: \"auto\" },\n \"bottom-left\": { bottom: \"20px\", left: \"20px\", top: \"auto\", right: \"auto\" },\n \"top-right\": { top: \"20px\", right: \"20px\", bottom: \"auto\", left: \"auto\" },\n \"top-left\": { top: \"20px\", left: \"20px\", bottom: \"auto\", right: \"auto\" }\n }, r = e && i[e] ? e : \"bottom-right\", o = i[r];\n Object.assign(t.style, o);\n}, $t = () => {\n const t = \"supportwire-widget-badge-styles\";\n if (document.getElementById(t))\n return;\n const e = document.createElement(\"style\");\n e.id = t, e.textContent = `\n\t\t.supportwire-widget-badge {\n\t\t\tposition: absolute;\n\t\t\ttop: -4px;\n\t\t\tright: -4px;\n\t\t\tmin-width: 20px;\n\t\t\theight: 20px;\n\t\t\tpadding: 0 6px;\n\t\t\tbackground-color: #ef4444;\n\t\t\tcolor: #ffffff;\n\t\t\tborder-radius: 10px;\n\t\t\tfont-size: 11px;\n\t\t\tfont-weight: 600;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\t\t\tline-height: 1;\n\t\t\tz-index: 999999;\n\t\t}\n\n\t\t.supportwire-widget-badge[data-animate=\"pop-in\"] {\n\t\t\tanimation: supportwire-badge-pop-in 280ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n\t\t}\n\n\t\t.supportwire-widget-badge[data-animate=\"pulse\"] {\n\t\t\tanimation: supportwire-badge-pulse 180ms ease-out;\n\t\t}\n\n\t\t@keyframes supportwire-badge-pop-in {\n\t\t\t0% { transform: scale(0.95); opacity: 0; }\n\t\t\t100% { transform: scale(1); opacity: 1; }\n\t\t}\n\n\t\t@keyframes supportwire-badge-pulse {\n\t\t\t0% { transform: scale(1); }\n\t\t\t50% { transform: scale(1.05); }\n\t\t\t100% { transform: scale(1); }\n\t\t}\n\n\t\t@keyframes supportwire-badge-fade-in {\n\t\t\t0% { opacity: 0; }\n\t\t\t100% { opacity: 1; }\n\t\t}\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.supportwire-widget-badge[data-animate=\"pop-in\"] {\n\t\t\t\tanimation: supportwire-badge-fade-in 200ms ease-out forwards;\n\t\t\t}\n\t\t\t.supportwire-widget-badge[data-animate=\"pulse\"] {\n\t\t\t\tanimation: none;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(e);\n}, we = (t, e) => {\n $t();\n let i = t.querySelector(\".supportwire-widget-badge\");\n if (e > 0) {\n const r = !i || i.style.display === \"none\";\n i || (i = document.createElement(\"span\"), i.className = \"supportwire-widget-badge\", t.appendChild(i)), i.textContent = e > 99 ? \"99+\" : String(e), i.style.display = \"flex\", i.removeAttribute(\"data-animate\"), i.offsetWidth, i.setAttribute(\"data-animate\", r ? \"pop-in\" : \"pulse\");\n } else\n i && (i.style.display = \"none\", i.removeAttribute(\"data-animate\"));\n}, Se = (t, e, i) => {\n const r = t.querySelector(\".supportwire-widget-trigger\");\n if (!r) return;\n const o = r.querySelector('[data-icon=\"logo\"]'), n = r.querySelector('[data-icon=\"chevron\"]');\n o && n && (e ? (o.className = \"supportwire-trigger-icon supportwire-trigger-icon--hidden\", n.className = \"supportwire-trigger-icon supportwire-trigger-icon--visible\") : (o.className = \"supportwire-trigger-icon supportwire-trigger-icon--visible\", n.className = \"supportwire-trigger-icon supportwire-trigger-icon--hidden\")), e ? (r.setAttribute(\"aria-label\", \"Close SupportWire chat\"), r.style.color = i === \"dark\" ? \"#ffffff\" : \"#1a1a1a\") : (r.setAttribute(\"aria-label\", \"Open SupportWire chat\"), r.style.color = \"\");\n}, Lt = (t, e, i, r) => {\n const o = document.createElement(\"iframe\");\n return o.id = e, o.src = `${i}?iframeId=${e}&theme=${r}`, o.style.width = \"100%\", o.style.height = \"100%\", o.style.border = \"none\", o.style.backgroundColor = r === \"dark\" ? \"#28282a\" : \"#f1f1f3\", o.setAttribute(\"allow\", \"clipboard-read; clipboard-write\"), o.setAttribute(\"sandbox\", \"allow-same-origin allow-scripts allow-forms allow-popups\"), t.appendChild(o), o;\n}, Ot = (t, e, i, r) => {\n if (!t || !t.contentWindow)\n return;\n const o = te(G({}, r), {\n iframeId: e\n });\n t.contentWindow.postMessage(o, \"*\");\n}, Ft = (t, e, i, r) => (o) => {\n var s, l;\n try {\n const h = new URL(e).origin;\n o.origin !== h && o.origin;\n } catch (h) {\n }\n const n = o.data;\n if (!(!n || n.iframeId !== t))\n switch (n.type) {\n case \"READY\":\n r.onReady && r.onReady();\n break;\n case \"OPENED\":\n i && (i.style.display = \"block\", Qe(i)), r.onOpen();\n break;\n case \"CLOSED\":\n i && et(i), r.onClose();\n break;\n case \"ERROR\":\n r.onError(new Error(n.error || \"Unknown error\"));\n break;\n case \"UNREAD_COUNT\":\n r.onUnreadCount && n.count !== void 0 && r.onUnreadCount(n.count);\n break;\n case \"OPEN_IMAGE_PREVIEW\":\n r.onImagePreview && n.imagePreview && r.onImagePreview(\n n.imagePreview.src,\n n.imagePreview.alt,\n n.imagePreview.filename\n );\n break;\n case \"TOGGLE_FULLSCREEN\":\n r.onToggleFullscreen && r.onToggleFullscreen();\n break;\n case \"MESSAGE_PREVIEW\":\n r.onMessagePreview && n.messagePreview && r.onMessagePreview(\n n.messagePreview.body,\n n.messagePreview.senderName,\n n.messagePreview.timestamp\n );\n break;\n case \"EVENT_RULES_REGISTERED\":\n r.onEventRulesRegistered && n.eventRules && r.onEventRulesRegistered(n.eventRules);\n break;\n case \"REQUEST_PAGE_SCREENSHOT\":\n r.onScreenshotRequest && r.onScreenshotRequest((l = (s = n.payload) == null ? void 0 : s.mode) != null ? l : \"full\");\n break;\n }\n};\nfunction Pt(t, e, i = {}) {\n let r = null;\n const o = () => (r || (r = import(\"./index-BWmHLrzv.js\")), r), n = (g) => {\n var d;\n (d = t.contentWindow) == null || d.postMessage(te(G({}, g), { iframeId: e }), \"*\");\n }, s = async (g) => {\n var u;\n const d = g.data;\n if (!(!d || typeof d != \"object\") && !(d.iframeId && d.iframeId !== e))\n switch (d.type) {\n case \"RECORDING:START\": {\n const y = await o();\n (u = i.closeWidget) == null || u.call(i), y.recording.start({ guideId: d.guideId, title: d.title });\n return;\n }\n case \"RECORDING:STOP\": {\n const m = (await o()).recording.stop();\n m && n({\n type: \"RECORDING:DONE\",\n guideId: m.guideId,\n title: m.title,\n steps: m.steps\n });\n return;\n }\n case \"PLAYBACK:START\": {\n const y = await o();\n y.playback.onDone((m, k, b) => {\n n({\n type: \"PLAYBACK:DONE\",\n status: m,\n end_reason: k,\n current_step: b\n });\n }), y.playback.start({\n sessionId: d.sessionId,\n guideId: d.guideId,\n versionId: d.versionId,\n version: d.version\n });\n return;\n }\n case \"OPEN_URL\": {\n typeof d.url == \"string\" && window.open(d.url, \"_blank\", \"noopener\");\n return;\n }\n }\n }, l = (g) => {\n const d = g.detail;\n d && n({\n type: \"RECORDING:DONE\",\n guideId: d.guideId,\n title: d.title,\n steps: d.steps\n });\n };\n window.addEventListener(\"message\", s), window.addEventListener(\"sw-guide:recording-done\", l), (async () => {\n var k;\n const g = await h();\n if (!g) return;\n const d = g.recording.maybeResume();\n d && ((k = i.closeWidget) == null || k.call(i), g.recording.start({ guideId: d.guideId, title: d.title }));\n const u = g.playback.maybeResume();\n u && (g.playback.onDone((b, E, C) => {\n n({\n type: \"PLAYBACK:DONE\",\n status: b,\n end_reason: E,\n current_step: C\n });\n }), g.playback.start({\n sessionId: u.sessionId,\n guideId: u.guideId,\n versionId: u.versionId,\n version: u.version,\n resumeStepIndex: u.stepIndex\n }));\n const m = new URLSearchParams(location.search).get(\"sw_guide\");\n m && n({ type: \"DEEP_LINK_GUIDE\", guideId: m });\n })();\n function h() {\n const g = !!localStorage.getItem(\"sw.guide.recording\"), d = !!localStorage.getItem(\"sw.guide.playback\"), u = new URLSearchParams(location.search).has(\"sw_guide\");\n return !g && !d && !u ? Promise.resolve(null) : o();\n }\n return {\n teardown: () => {\n window.removeEventListener(\"message\", s), window.removeEventListener(\"sw-guide:recording-done\", l);\n }\n };\n}\nlet U = null, ne = null, tt = \"\";\nconst Gt = `\n.supportwire-image-preview-backdrop {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tbackground: rgba(0, 0, 0, 0);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tz-index: 2147483647;\n\tpadding: 24px;\n\topacity: 0;\n\ttransition: background 200ms ease-out, opacity 200ms ease-out;\n}\n\n.supportwire-image-preview-backdrop.visible {\n\tbackground: rgba(0, 0, 0, 0.9);\n\topacity: 1;\n}\n\n.supportwire-image-preview-backdrop.closing {\n\tbackground: rgba(0, 0, 0, 0);\n\topacity: 0;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-backdrop {\n\t\ttransition: none;\n\t}\n}\n\n/* Floating buttons in top-right corner */\n.supportwire-image-preview-actions {\n\tposition: fixed;\n\ttop: 16px;\n\tright: 16px;\n\tdisplay: flex;\n\tgap: 8px;\n\tz-index: 2147483647;\n}\n\n.supportwire-image-preview-button {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tbackground: rgba(255, 255, 255, 0.1);\n\tbackdrop-filter: blur(8px);\n\t-webkit-backdrop-filter: blur(8px);\n\tborder: 1px solid rgba(255, 255, 255, 0.15);\n\tcolor: rgba(255, 255, 255, 0.9);\n\tcursor: pointer;\n\tpadding: 0;\n\ttransition: background 150ms ease, transform 150ms ease;\n\t-webkit-tap-highlight-color: transparent;\n}\n\n.supportwire-image-preview-button:hover {\n\tbackground: rgba(255, 255, 255, 0.2);\n\ttransform: scale(1.05);\n}\n\n.supportwire-image-preview-button:active {\n\ttransform: scale(0.95);\n}\n\n.supportwire-image-preview-button:focus {\n\toutline: 2px solid rgba(255, 255, 255, 0.5);\n\toutline-offset: 2px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-button {\n\t\ttransition: none;\n\t}\n\t.supportwire-image-preview-button:hover,\n\t.supportwire-image-preview-button:active {\n\t\ttransform: none;\n\t}\n}\n\n/* Image container */\n.supportwire-image-preview-image-container {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tposition: relative;\n\tmax-width: 90vw;\n\tmax-height: 90vh;\n}\n\n.supportwire-image-preview-image {\n\tmax-width: 90vw;\n\tmax-height: 90vh;\n\tobject-fit: contain;\n\tborder-radius: 8px;\n\tbox-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);\n\topacity: 0;\n\ttransform: scale(0.95);\n\ttransition: opacity 200ms ease-out, transform 200ms ease-out;\n}\n\n.supportwire-image-preview-backdrop.visible .supportwire-image-preview-image {\n\topacity: 1;\n\ttransform: scale(1);\n}\n\n.supportwire-image-preview-backdrop.closing .supportwire-image-preview-image {\n\topacity: 0;\n\ttransform: scale(0.95);\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-image {\n\t\ttransition: none;\n\t\ttransform: scale(1);\n\t\topacity: 1;\n\t}\n}\n\n.supportwire-image-preview-loader {\n\tposition: absolute;\n\twidth: 32px;\n\theight: 32px;\n\tborder: 3px solid rgba(255, 255, 255, 0.2);\n\tborder-top-color: #fff;\n\tborder-radius: 50%;\n\tanimation: supportwire-spin 0.8s linear infinite;\n}\n\n@keyframes supportwire-spin {\n\tto { transform: rotate(360deg); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-loader {\n\t\tanimation: none;\n\t\tborder-top-color: rgba(255, 255, 255, 0.2);\n\t\tborder-right-color: #fff;\n\t}\n}\n\n.supportwire-image-preview-error {\n\tcolor: #fff;\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n\tfont-size: 14px;\n\ttext-align: center;\n\tpadding: 40px;\n}\n\n/* Filename at bottom */\n.supportwire-image-preview-filename {\n\tposition: fixed;\n\tbottom: 16px;\n\tleft: 50%;\n\ttransform: translateX(-50%);\n\tfont-size: 13px;\n\tcolor: rgba(255, 255, 255, 0.7);\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n\tmargin: 0;\n\tpadding: 8px 16px;\n\tbackground: rgba(0, 0, 0, 0.5);\n\tbackdrop-filter: blur(8px);\n\t-webkit-backdrop-filter: blur(8px);\n\tborder-radius: 20px;\n\tmax-width: 80vw;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\topacity: 0;\n\ttransition: opacity 200ms ease-out;\n}\n\n.supportwire-image-preview-backdrop.visible .supportwire-image-preview-filename {\n\topacity: 1;\n}\n\n@media (prefers-reduced-motion: reduce) {\n\t.supportwire-image-preview-filename {\n\t\ttransition: none;\n\t\topacity: 1;\n\t}\n}\n\n/* Mobile responsiveness */\n@media (max-width: 480px) {\n\t.supportwire-image-preview-backdrop {\n\t\tpadding: 16px;\n\t}\n\n\t.supportwire-image-preview-actions {\n\t\ttop: 12px;\n\t\tright: 12px;\n\t}\n\n\t.supportwire-image-preview-button {\n\t\twidth: 40px;\n\t\theight: 40px;\n\t}\n\n\t.supportwire-image-preview-filename {\n\t\tbottom: 12px;\n\t\tfont-size: 12px;\n\t\tmax-width: 90vw;\n\t}\n}\n`;\nfunction Nt() {\n if (document.getElementById(\"supportwire-image-preview-styles\")) return;\n const t = document.createElement(\"style\");\n t.id = \"supportwire-image-preview-styles\", t.textContent = Gt, document.head.appendChild(t);\n}\nfunction At() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"/>\n\t\t<polyline points=\"7 10 12 15 17 10\"/>\n\t\t<line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"/>\n\t</svg>`;\n}\nfunction _t() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/>\n\t\t<line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/>\n\t</svg>`;\n}\nfunction Ht() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M12 20h9\"/>\n\t\t<path d=\"M16.376 3.622a1 1 0 0 1 3.002 3.002L7.368 18.635a2 2 0 0 1-.855.506l-2.872.838a.5.5 0 0 1-.62-.62l.838-2.872a2 2 0 0 1 .506-.854z\"/>\n\t</svg>`;\n}\nfunction Te() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"/>\n\t\t<path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"/>\n\t</svg>`;\n}\nfunction We() {\n return `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"18\" height=\"18\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n\t\t<polyline points=\"20 6 9 17 4 12\"/>\n\t</svg>`;\n}\nasync function zt(t, e) {\n try {\n const r = await (await fetch(t)).blob(), o = URL.createObjectURL(r), n = document.createElement(\"a\");\n n.href = o, n.download = e || \"image\", document.body.appendChild(n), n.click(), document.body.removeChild(n), URL.revokeObjectURL(o);\n } catch (i) {\n window.open(t, \"_blank\");\n }\n}\nfunction ie() {\n if (!U) return;\n const t = U;\n ne && (document.removeEventListener(\"keydown\", ne), ne = null), document.body.style.overflow = tt, t.classList.remove(\"visible\"), t.classList.add(\"closing\"), window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ? (t.remove(), U = null) : setTimeout(() => {\n t.remove(), U === t && (U = null);\n }, 200);\n}\nfunction Ut(t, e, i, r) {\n U && (U.remove(), U = null), Nt(), tt = document.body.style.overflow, document.body.style.overflow = \"hidden\";\n const o = document.createElement(\"div\");\n o.className = \"supportwire-image-preview-backdrop\", o.setAttribute(\"role\", \"dialog\"), o.setAttribute(\"aria-modal\", \"true\"), o.setAttribute(\"aria-label\", e || \"Image preview\"), o.onclick = (m) => {\n (m.target === o || m.target.classList.contains(\"supportwire-image-preview-image-container\")) && ie();\n };\n const n = document.createElement(\"div\");\n n.className = \"supportwire-image-preview-actions\";\n const s = document.createElement(\"button\");\n s.className = \"supportwire-image-preview-button\", s.setAttribute(\"aria-label\", \"Copy link\"), s.innerHTML = Te(), s.onclick = async (m) => {\n m.stopPropagation();\n try {\n await navigator.clipboard.writeText(t), s.innerHTML = We(), setTimeout(() => {\n s.innerHTML = Te();\n }, 2e3);\n } catch (k) {\n const b = document.createElement(\"textarea\");\n b.value = t, b.style.position = \"fixed\", b.style.opacity = \"0\", document.body.appendChild(b), b.select(), document.execCommand(\"copy\"), document.body.removeChild(b), s.innerHTML = We(), setTimeout(() => {\n s.innerHTML = Te();\n }, 2e3);\n }\n };\n const l = document.createElement(\"button\");\n l.className = \"supportwire-image-preview-button\", l.setAttribute(\"aria-label\", \"Download image\"), l.innerHTML = At(), l.onclick = (m) => {\n m.stopPropagation(), zt(t, i);\n };\n let h = null;\n r && (h = document.createElement(\"button\"), h.className = \"supportwire-image-preview-button\", h.setAttribute(\"aria-label\", \"Annotate image\"), h.innerHTML = Ht(), h.onclick = async (m) => {\n m.stopPropagation();\n try {\n const b = await (await fetch(t)).blob(), E = await new Promise((C, x) => {\n const I = new FileReader();\n I.onload = () => C(I.result), I.onerror = x, I.readAsDataURL(b);\n });\n ie(), r(E);\n } catch (k) {\n const b = document.createElement(\"canvas\"), E = new Image();\n E.crossOrigin = \"anonymous\", E.onload = () => {\n b.width = E.naturalWidth, b.height = E.naturalHeight;\n const C = b.getContext(\"2d\");\n if (C) {\n C.drawImage(E, 0, 0);\n const x = b.toDataURL(\"image/png\");\n ie(), r(x);\n }\n }, E.onerror = () => {\n console.warn(\"Could not load image for annotation\");\n }, E.src = t;\n }\n });\n const g = document.createElement(\"button\");\n g.className = \"supportwire-image-preview-button\", g.setAttribute(\"aria-label\", \"Close preview\"), g.innerHTML = _t(), g.onclick = (m) => {\n m.stopPropagation(), ie();\n }, n.appendChild(s), n.appendChild(l), h && n.appendChild(h), n.appendChild(g);\n const d = document.createElement(\"div\");\n d.className = \"supportwire-image-preview-image-container\";\n const u = document.createElement(\"div\");\n u.className = \"supportwire-image-preview-loader\", d.appendChild(u);\n const y = document.createElement(\"img\");\n if (y.className = \"supportwire-image-preview-image\", y.alt = e || \"Image preview\", y.onload = () => {\n u.remove();\n }, y.onerror = () => {\n u.remove();\n const m = document.createElement(\"div\");\n m.className = \"supportwire-image-preview-error\", m.textContent = \"Failed to load image\", d.appendChild(m);\n }, y.src = t, d.appendChild(y), i) {\n const m = document.createElement(\"p\");\n m.className = \"supportwire-image-preview-filename\", m.textContent = i, o.appendChild(m);\n }\n o.appendChild(n), o.appendChild(d), document.body.appendChild(o), U = o, requestAnimationFrame(() => {\n o.classList.add(\"visible\");\n }), ne = (m) => {\n m.key === \"Escape\" && ie();\n }, document.addEventListener(\"keydown\", ne), g.focus();\n}\nlet Z = null, se = null, it = \"\";\nconst p = \"supportwire-ss-editor\", Dt = `\n.${p}-backdrop {\n\tposition: fixed;\n\tinset: 0;\n\tz-index: 2147483647;\n\tbackground: rgba(0, 0, 0, 0.6);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0;\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n}\n.${p}-modal {\n\tbackground: #fff;\n\tborder-radius: 16px;\n\tbox-shadow: 0 25px 50px -12px rgba(0,0,0,0.4);\n\tdisplay: flex;\n\tflex-direction: column;\n\twidth: 95vw;\n\theight: 95vh;\n\toverflow: hidden;\n}\n.${p}-header {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: 12px 16px;\n\tborder-bottom: 1px solid #e5e7eb;\n}\n.${p}-title {\n\tfont-size: 14px;\n\tfont-weight: 600;\n\tcolor: #111;\n}\n.${p}-close-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 32px;\n\theight: 32px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n}\n.${p}-close-btn:hover { background: #f3f4f6; color: #111; }\n.${p}-canvas-wrap {\n\tposition: relative;\n\tflex: 1;\n\tmin-height: 300px;\n\toverflow: hidden;\n\tcursor: crosshair;\n\tbackground: #f9fafb;\n}\n.${p}-canvas-wrap.select-mode { cursor: default; }\n.${p}-canvas-wrap.select-mode-moving { cursor: grabbing; }\n.${p}-img {\n\tdisplay: block;\n\tpointer-events: none;\n\tuser-select: none;\n}\n.${p}-canvas {\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\tpointer-events: none;\n}\n.${p}-toolbar {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tflex-wrap: wrap;\n\tgap: 8px;\n\tpadding: 12px 16px;\n\tborder-top: 1px solid #e5e7eb;\n}\n.${p}-tools {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 4px;\n}\n.${p}-tool-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n}\n.${p}-tool-btn:hover { background: #f3f4f6; color: #111; }\n.${p}-tool-btn.active { background: #0091FF; color: #fff; }\n.${p}-color-picker {\n\twidth: 28px;\n\theight: 28px;\n\tborder: none;\n\tborder-radius: 50%;\n\tcursor: pointer;\n\tbackground: transparent;\n\tpadding: 0;\n}\n.${p}-separator {\n\twidth: 1px;\n\theight: 24px;\n\tbackground: #e5e7eb;\n\tmargin: 0 4px;\n}\n.${p}-color-swatches {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 3px;\n}\n.${p}-swatch {\n\twidth: 22px;\n\theight: 22px;\n\tborder-radius: 50%;\n\tborder: 2px solid transparent;\n\tcursor: pointer;\n\tpadding: 0;\n\tbox-sizing: border-box;\n}\n.${p}-swatch.active {\n\tborder-color: #111;\n\tbox-shadow: 0 0 0 1px #fff inset;\n}\n.${p}-swatch:hover { opacity: 0.8; }\n.${p}-thickness-wrap {\n\tdisplay: flex;\n\talign-items: center;\n\tgap: 6px;\n}\n.${p}-thickness-label {\n\tfont-size: 11px;\n\tcolor: #888;\n\twhite-space: nowrap;\n}\n.${p}-thickness-slider {\n\twidth: 80px;\n\theight: 4px;\n\taccent-color: #0091FF;\n\tcursor: pointer;\n}\n.${p}-radius-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n\tfont-size: 11px;\n\tfont-weight: 600;\n}\n.${p}-radius-btn:hover { background: #f3f4f6; color: #111; }\n.${p}-radius-btn.active { background: #0091FF; color: #fff; }\n.${p}-actions {\n\tdisplay: flex;\n\tgap: 8px;\n\talign-items: center;\n}\n.${p}-btn-cancel {\n\tpadding: 8px 16px;\n\tfont-size: 13px;\n\tborder-radius: 8px;\n\tbackground: transparent;\n\tcolor: #333;\n\tborder: 1px solid #e5e7eb;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${p}-btn-cancel:hover { background: #f3f4f6; }\n.${p}-btn-done {\n\tpadding: 8px 16px;\n\tfont-size: 13px;\n\tborder-radius: 8px;\n\tbackground: #0091FF;\n\tcolor: #fff;\n\tborder: none;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${p}-btn-done:hover { opacity: 0.9; }\n.${p}-btn-crop-apply {\n\tpadding: 6px 12px;\n\tfont-size: 12px;\n\tborder-radius: 8px;\n\tbackground: #0091FF;\n\tcolor: #fff;\n\tborder: none;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${p}-text-overlay {\n\tposition: absolute;\n\tdisplay: flex;\n\tgap: 4px;\n\tz-index: 10;\n\tbackground: #fff;\n\tborder: 1px solid #e5e7eb;\n\tborder-radius: 8px;\n\tpadding: 4px;\n\tbox-shadow: 0 2px 8px rgba(0,0,0,0.1);\n}\n.${p}-text-input {\n\twidth: 140px;\n\tpadding: 4px 8px;\n\tfont-size: 13px;\n\tborder: none;\n\tborder-radius: 4px;\n\tbackground: #f3f4f6;\n\tcolor: #111;\n\toutline: none;\n\tfont-family: inherit;\n}\n.${p}-text-ok {\n\tpadding: 4px 8px;\n\tfont-size: 12px;\n\tborder-radius: 4px;\n\tbackground: #0091FF;\n\tcolor: #fff;\n\tborder: none;\n\tcursor: pointer;\n\tfont-family: inherit;\n}\n.${p}-undo-btn {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 36px;\n\theight: 36px;\n\tborder-radius: 50%;\n\tborder: none;\n\tbackground: transparent;\n\tcolor: #666;\n\tcursor: pointer;\n}\n.${p}-undo-btn:hover { background: #f3f4f6; color: #111; }\n.${p}-undo-btn:disabled { opacity: 0.3; cursor: default; }\n@media (max-width: 540px) {\n\t.${p}-modal { width: 100%; height: 100vh; border-radius: 0; }\n\t.${p}-backdrop { padding: 0; }\n}\n`;\nfunction Bt() {\n if (document.getElementById(`${p}-styles`)) return;\n const t = document.createElement(\"style\");\n t.id = `${p}-styles`, t.textContent = Dt, document.head.appendChild(t);\n}\nconst Ie = {\n select: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z\"/><path d=\"M13 13l6 6\"/></svg>',\n pen: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 19l7-7 3 3-7 7-3-3z\"/><path d=\"M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z\"/></svg>',\n arrow: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 12h14\"/><path d=\"M12 5l7 7-7 7\"/></svg>',\n rect: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/></svg>',\n text: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 7V4h16v3\"/><path d=\"M9 20h6\"/><path d=\"M12 4v16\"/></svg>',\n crop: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 3v18\"/><path d=\"M18 3v18\"/><path d=\"M3 6h18\"/><path d=\"M3 18h18\"/></svg>',\n close: '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/></svg>',\n undo: '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 7v6h6\"/><path d=\"M3 13a9 9 0 0 1 15.36-6.36\"/></svg>'\n};\nfunction rt(t, e, i, r, o, n) {\n const s = Math.min(n, Math.abs(r) / 2, Math.abs(o) / 2);\n t.beginPath(), t.moveTo(e + s, i), t.lineTo(e + r - s, i), t.arcTo(e + r, i, e + r, i + s, s), t.lineTo(e + r, i + o - s), t.arcTo(e + r, i + o, e + r - s, i + o, s), t.lineTo(e + s, i + o), t.arcTo(e, i + o, e, i + o - s, s), t.lineTo(e, i + s), t.arcTo(e, i, e + s, i, s), t.closePath(), t.stroke();\n}\nfunction je(t, e) {\n if (t.strokeStyle = e.color, t.fillStyle = e.color, t.lineWidth = \"width\" in e ? e.width : 2, t.lineCap = \"round\", t.lineJoin = \"round\", e.type === \"pen\" && e.points.length >= 4) {\n t.beginPath(), t.moveTo(e.points[0], e.points[1]);\n for (let i = 2; i < e.points.length; i += 2) t.lineTo(e.points[i], e.points[i + 1]);\n t.stroke();\n } else if (e.type === \"arrow\") {\n t.beginPath(), t.moveTo(e.x1, e.y1), t.lineTo(e.x2, e.y2), t.stroke();\n const i = 10, r = Math.atan2(e.y2 - e.y1, e.x2 - e.x1);\n t.beginPath(), t.moveTo(e.x2, e.y2), t.lineTo(e.x2 - i * Math.cos(r - 0.4), e.y2 - i * Math.sin(r - 0.4)), t.lineTo(e.x2 - i * Math.cos(r + 0.4), e.y2 - i * Math.sin(r + 0.4)), t.closePath(), t.fill();\n } else e.type === \"rect\" ? e.radius > 0 ? rt(t, e.x, e.y, e.w, e.h, e.radius) : t.strokeRect(e.x, e.y, e.w, e.h) : e.type === \"text\" && (t.font = \"16px system-ui, sans-serif\", t.fillText(e.text, e.x, e.y + 16));\n}\nfunction ot(t) {\n if (t.type === \"rect\")\n return { x: t.x, y: t.y, w: t.w, h: t.h };\n if (t.type === \"arrow\") {\n const e = Math.min(t.x1, t.x2), i = Math.min(t.y1, t.y2);\n return { x: e, y: i, w: Math.abs(t.x2 - t.x1), h: Math.abs(t.y2 - t.y1) };\n } else if (t.type === \"pen\" && t.points.length >= 4) {\n let e = t.points[0], i = t.points[0], r = t.points[1], o = t.points[1];\n for (let n = 2; n < t.points.length; n += 2)\n e = Math.min(e, t.points[n]), i = Math.max(i, t.points[n]), r = Math.min(r, t.points[n + 1]), o = Math.max(o, t.points[n + 1]);\n return { x: e, y: r, w: i - e, h: o - r };\n } else if (t.type === \"text\")\n return { x: t.x, y: t.y, w: 100, h: 20 };\n return { x: 0, y: 0, w: 0, h: 0 };\n}\nfunction Wt(t, e, i, r) {\n const o = r;\n if (t.type === \"rect\") {\n const { x: n, y: s, w: l, h } = t, g = i >= s - o && i <= s + o && e >= n - o && e <= n + l + o, d = i >= s + h - o && i <= s + h + o && e >= n - o && e <= n + l + o, u = e >= n - o && e <= n + o && i >= s - o && i <= s + h + o, y = e >= n + l - o && e <= n + l + o && i >= s - o && i <= s + h + o, m = e >= n && e <= n + l && i >= s && i <= s + h;\n return g || d || u || y || m;\n } else {\n if (t.type === \"arrow\")\n return Ye(e, i, t.x1, t.y1, t.x2, t.y2) <= o + t.width;\n if (t.type === \"pen\" && t.points.length >= 4) {\n for (let n = 0; n < t.points.length - 2; n += 2)\n if (Ye(e, i, t.points[n], t.points[n + 1], t.points[n + 2], t.points[n + 3]) <= o + t.width) return !0;\n return !1;\n } else if (t.type === \"text\") {\n const n = ot(t);\n return e >= n.x - o && e <= n.x + n.w + o && i >= n.y - o && i <= n.y + n.h + o;\n }\n }\n return !1;\n}\nfunction Ye(t, e, i, r, o, n) {\n const s = o - i, l = n - r, h = s * s + l * l;\n if (h === 0) return Math.hypot(t - i, e - r);\n let g = ((t - i) * s + (e - r) * l) / h;\n return g = Math.max(0, Math.min(1, g)), Math.hypot(t - (i + g * s), e - (r + g * l));\n}\nfunction jt(t, e, i) {\n if (t.type === \"rect\")\n t.x += e, t.y += i;\n else if (t.type === \"arrow\")\n t.x1 += e, t.y1 += i, t.x2 += e, t.y2 += i;\n else if (t.type === \"pen\")\n for (let r = 0; r < t.points.length; r += 2)\n t.points[r] += e, t.points[r + 1] += i;\n else t.type === \"text\" && (t.x += e, t.y += i);\n}\nfunction Yt(t, e) {\n const i = ot(e), r = 6;\n t.save(), t.strokeStyle = \"#0091FF\", t.lineWidth = 1.5, t.setLineDash([4, 3]), t.strokeRect(i.x - r, i.y - r, i.w + r * 2, i.h + r * 2), t.setLineDash([]);\n const o = 5;\n t.fillStyle = \"#fff\", t.strokeStyle = \"#0091FF\", t.lineWidth = 1.5;\n const n = [\n [i.x - r, i.y - r],\n [i.x + i.w + r, i.y - r],\n [i.x - r, i.y + i.h + r],\n [i.x + i.w + r, i.y + i.h + r]\n ];\n for (const [s, l] of n)\n t.beginPath(), t.arc(s, l, o, 0, Math.PI * 2), t.fill(), t.stroke();\n t.restore();\n}\nfunction re() {\n Z && (se && (document.removeEventListener(\"keydown\", se), se = null), document.body.style.overflow = it, Z.remove(), Z = null);\n}\nfunction qe(t, e, i) {\n Z && (Z.remove(), Z = null), Bt(), it = document.body.style.overflow, document.body.style.overflow = \"hidden\";\n let r = \"rect\", o = \"#FF3B30\", n = 3, s = 0, l = [], h = t, g = 0, d = 0, u = 1, y = 0, m = 0, k = !1, b = [], E = null, C = null, x = null, I = null, T = null, z = null, q = null;\n const de = document.createElement(\"div\");\n de.className = `${p}-backdrop`;\n const V = document.createElement(\"div\");\n V.className = `${p}-modal`, V.onclick = (a) => a.stopPropagation();\n const ce = document.createElement(\"div\");\n ce.className = `${p}-header`;\n const ve = document.createElement(\"span\");\n ve.className = `${p}-title`, ve.textContent = \"Edit screenshot\";\n const K = document.createElement(\"button\");\n K.className = `${p}-close-btn`, K.setAttribute(\"aria-label\", \"Close\"), K.innerHTML = Ie.close, K.onclick = () => {\n re(), i();\n }, ce.appendChild(ve), ce.appendChild(K);\n const S = document.createElement(\"div\");\n S.className = `${p}-canvas-wrap`;\n const B = document.createElement(\"img\");\n B.className = `${p}-img`, B.alt = \"Screenshot\";\n const F = document.createElement(\"canvas\");\n F.className = `${p}-canvas`, S.appendChild(B), S.appendChild(F);\n const J = document.createElement(\"div\");\n J.className = `${p}-toolbar`;\n const P = document.createElement(\"div\");\n P.className = `${p}-tools`;\n const Le = {}, at = [\"select\", \"pen\", \"arrow\", \"rect\", \"text\", \"crop\"], Oe = { select: \"Select & Move\", pen: \"Pen\", arrow: \"Arrow\", rect: \"Rectangle\", text: \"Text\", crop: \"Crop\" };\n for (const a of at) {\n const c = document.createElement(\"button\");\n c.className = `${p}-tool-btn${a === \"rect\" ? \" active\" : \"\"}`, c.setAttribute(\"aria-label\", Oe[a]), c.title = Oe[a], c.innerHTML = Ie[a], c.onclick = () => _e(a), Le[a] = c, P.appendChild(c);\n }\n const Fe = document.createElement(\"div\");\n Fe.className = `${p}-separator`, P.appendChild(Fe);\n const lt = [\"#FF3B30\", \"#FF9500\", \"#FFCC00\", \"#34C759\", \"#0091FF\", \"#AF52DE\", \"#FF2D55\", \"#000000\", \"#8E8E93\"], pe = document.createElement(\"div\");\n pe.className = `${p}-color-swatches`;\n const Pe = [];\n function Ee(a) {\n Pe.forEach((c) => c.classList.toggle(\"active\", c.dataset.color === a));\n }\n for (const a of lt) {\n const c = document.createElement(\"button\");\n c.className = `${p}-swatch${a === o ? \" active\" : \"\"}`, c.style.background = a, c.dataset.color = a, c.setAttribute(\"aria-label\", `Color ${a}`), c.onclick = () => {\n o = a, N.value = a, Ee(a), fe(\"color\", a);\n }, Pe.push(c), pe.appendChild(c);\n }\n const N = document.createElement(\"input\");\n N.type = \"color\", N.value = o, N.className = `${p}-color-picker`, N.setAttribute(\"aria-label\", \"Custom color\"), N.title = \"Custom color\", N.oninput = () => {\n o = N.value, Ee(\"\"), fe(\"color\", o);\n }, pe.appendChild(N), P.appendChild(pe);\n const Ge = document.createElement(\"div\");\n Ge.className = `${p}-separator`, P.appendChild(Ge);\n const ue = document.createElement(\"div\");\n ue.className = `${p}-thickness-wrap`;\n const Q = document.createElement(\"span\");\n Q.className = `${p}-thickness-label`, Q.textContent = \"3px\";\n const A = document.createElement(\"input\");\n A.type = \"range\", A.min = \"1\", A.max = \"12\", A.value = String(n), A.className = `${p}-thickness-slider`, A.setAttribute(\"aria-label\", \"Stroke thickness\"), A.oninput = () => {\n n = parseInt(A.value, 10), Q.textContent = `${n}px`, fe(\"width\", n);\n }, ue.appendChild(A), ue.appendChild(Q), P.appendChild(ue);\n const Ne = document.createElement(\"div\");\n Ne.className = `${p}-separator`, P.appendChild(Ne);\n const W = document.createElement(\"button\");\n W.className = `${p}-radius-btn`, W.setAttribute(\"aria-label\", \"Rounded corners\"), W.title = \"Rounded corners\", W.innerHTML = '<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 9a6 6 0 0 1 6-6h6a6 6 0 0 1 6 6v6a6 6 0 0 1-6 6H9a6 6 0 0 1-6-6V9z\"/></svg>', W.onclick = () => {\n s = s === 0 ? 12 : 0, W.classList.toggle(\"active\", s > 0), fe(\"radius\", s);\n }, P.appendChild(W);\n const Ae = document.createElement(\"div\");\n Ae.className = `${p}-separator`, P.appendChild(Ae);\n const M = document.createElement(\"button\");\n M.className = `${p}-undo-btn`, M.setAttribute(\"aria-label\", \"Undo\"), M.title = \"Undo\", M.innerHTML = Ie.undo, M.disabled = !0, M.onclick = () => {\n l.length > 0 && (l.pop(), M.disabled = l.length === 0, x = null, R());\n }, P.appendChild(M);\n const _ = document.createElement(\"button\");\n _.className = `${p}-btn-crop-apply`, _.textContent = \"Apply crop\", _.style.display = \"none\", _.onclick = ct;\n const he = document.createElement(\"div\");\n he.className = `${p}-actions`;\n const ge = document.createElement(\"button\");\n ge.className = `${p}-btn-cancel`, ge.textContent = \"Cancel\", ge.onclick = () => {\n re(), i();\n };\n const me = document.createElement(\"button\");\n me.className = `${p}-btn-done`, me.textContent = \"Done\", me.onclick = ut, he.appendChild(ge), he.appendChild(me), J.appendChild(P), J.appendChild(_), J.appendChild(he), V.appendChild(ce), V.appendChild(S), V.appendChild(J), de.appendChild(V), document.body.appendChild(de), Z = de;\n function _e(a) {\n r = a;\n for (const [c, w] of Object.entries(Le))\n w.classList.toggle(\"active\", c === a);\n a !== \"crop\" && (T = null, z = null, _.style.display = \"none\"), a !== \"select\" && (x = null), S.classList.toggle(\"select-mode\", a === \"select\"), S.classList.remove(\"select-mode-moving\"), ee(), R();\n }\n function fe(a, c) {\n if (x === null || x >= l.length) return;\n const w = l[x];\n a === \"color\" ? w.color = c : a === \"width\" && \"width\" in w ? w.width = c : a === \"radius\" && w.type === \"rect\" && (w.radius = c), R();\n }\n function dt(a) {\n o = a.color, N.value = a.color, Ee(a.color), \"width\" in a && (n = a.width, A.value = String(a.width), Q.textContent = `${a.width}px`), a.type === \"rect\" && (s = a.radius, W.classList.toggle(\"active\", a.radius > 0));\n }\n function Ce(a, c) {\n const w = S.getBoundingClientRect();\n return {\n x: Math.round((a - w.left - y) / u),\n y: Math.round((c - w.top - m) / u)\n };\n }\n function He() {\n if (!g || !d) return;\n const a = S.clientWidth - 32, c = S.clientHeight - 32;\n u = Math.min(a / g, c / d, 1), y = (S.clientWidth - g * u) / 2, m = (S.clientHeight - d * u) / 2, B.style.width = `${g * u}px`, B.style.height = `${d * u}px`, B.style.marginLeft = `${y}px`, B.style.marginTop = `${m}px`, F.width = S.clientWidth, F.height = S.clientHeight, R();\n }\n function ze() {\n const a = new Image();\n a.onload = () => {\n g = a.naturalWidth, d = a.naturalHeight, B.src = h, He();\n }, a.src = h;\n }\n function R() {\n const a = F.getContext(\"2d\");\n if (a) {\n if (a.clearRect(0, 0, F.width, F.height), a.save(), a.translate(y, m), a.scale(u, u), l.forEach((c, w) => {\n je(a, c), w === x && Yt(a, c);\n }), k && b.length >= 4 && r === \"pen\") {\n a.strokeStyle = o, a.lineWidth = n, a.lineCap = \"round\", a.lineJoin = \"round\", a.beginPath(), a.moveTo(b[0], b[1]);\n for (let c = 2; c < b.length; c += 2) a.lineTo(b[c], b[c + 1]);\n a.stroke();\n }\n if (a.restore(), r === \"crop\" && T) {\n a.fillStyle = \"rgba(0,0,0,0.4)\", a.fillRect(0, 0, F.width, F.height);\n const c = y + T.x * u, w = m + T.y * u, f = T.w * u, v = T.h * u;\n a.clearRect(c, w, f, v), a.strokeStyle = \"#0091FF\", a.lineWidth = 2, a.strokeRect(c, w, f, v), _.style.display = \"\";\n }\n }\n }\n function ct() {\n if (!T || T.w < 10 || T.h < 10) return;\n const a = new Image();\n a.onload = () => {\n const c = document.createElement(\"canvas\");\n c.width = T.w, c.height = T.h;\n const w = c.getContext(\"2d\");\n w && (w.drawImage(a, T.x, T.y, T.w, T.h, 0, 0, T.w, T.h), h = c.toDataURL(\"image/png\"), l = [], M.disabled = !0, x = null, T = null, z = null, _.style.display = \"none\", _e(\"rect\"), ze());\n }, a.src = h;\n }\n function ee() {\n q && (q.remove(), q = null);\n }\n function pt(a, c) {\n ee();\n const w = document.createElement(\"div\");\n w.className = `${p}-text-overlay`, w.style.left = `${a * u + y}px`, w.style.top = `${c * u + m}px`;\n const f = document.createElement(\"input\");\n f.type = \"text\", f.className = `${p}-text-input`, f.placeholder = \"Text...\";\n const v = document.createElement(\"button\");\n v.className = `${p}-text-ok`, v.textContent = \"Add\";\n const H = () => {\n const j = f.value.trim();\n j && (l.push({ type: \"text\", x: a, y: c, text: j, color: o }), M.disabled = !1, R()), ee();\n };\n f.onkeydown = (j) => {\n j.key === \"Enter\" && H(), j.key === \"Escape\" && ee();\n }, v.onclick = H, w.appendChild(f), w.appendChild(v), S.appendChild(w), q = w, f.focus();\n }\n S.onmousedown = (a) => {\n const { x: c, y: w } = Ce(a.clientX, a.clientY);\n if (r === \"select\") {\n let f = -1;\n for (let v = l.length - 1; v >= 0; v--)\n if (Wt(l[v], c, w, 8)) {\n f = v;\n break;\n }\n f >= 0 ? (x = f, I = { x: c, y: w }, dt(l[f]), S.classList.add(\"select-mode-moving\")) : x = null, R();\n return;\n }\n if (r === \"crop\") {\n z = { x: c, y: w }, T = null, _.style.display = \"none\";\n return;\n }\n q || (x = null, r === \"pen\" ? (k = !0, b = [c, w]) : r === \"arrow\" ? E = { x: c, y: w } : r === \"rect\" ? C = { x: c, y: w } : r === \"text\" && pt(c, w));\n }, S.onmousemove = (a) => {\n const { x: c, y: w } = Ce(a.clientX, a.clientY);\n if (r === \"select\" && I && x !== null) {\n const f = c - I.x, v = w - I.y;\n (Math.abs(f) > 1 || Math.abs(v) > 1) && (jt(l[x], f, v), I = { x: c, y: w }, R());\n return;\n }\n if (r === \"crop\" && z) {\n const f = Math.min(z.x, c), v = Math.min(z.y, w);\n T = { x: f, y: v, w: Math.max(20, Math.abs(c - z.x)), h: Math.max(20, Math.abs(w - z.y)) }, R();\n } else if (k && r === \"pen\")\n b.push(c, w), R();\n else if (r === \"rect\" && C) {\n R();\n const f = F.getContext(\"2d\");\n if (f) {\n f.save(), f.translate(y, m), f.scale(u, u), f.strokeStyle = o, f.lineWidth = n, f.lineCap = \"round\", f.lineJoin = \"round\";\n const v = Math.min(C.x, c), H = Math.min(C.y, w), j = Math.abs(c - C.x), Ue = Math.abs(w - C.y);\n s > 0 ? rt(f, v, H, j, Ue, s) : f.strokeRect(v, H, j, Ue), f.restore();\n }\n } else if (r === \"arrow\" && E) {\n R();\n const f = F.getContext(\"2d\");\n if (f) {\n f.save(), f.translate(y, m), f.scale(u, u), f.strokeStyle = o, f.fillStyle = o, f.lineWidth = n, f.lineCap = \"round\", f.lineJoin = \"round\", f.beginPath(), f.moveTo(E.x, E.y), f.lineTo(c, w), f.stroke();\n const v = 10, H = Math.atan2(w - E.y, c - E.x);\n f.beginPath(), f.moveTo(c, w), f.lineTo(c - v * Math.cos(H - 0.4), w - v * Math.sin(H - 0.4)), f.lineTo(c - v * Math.cos(H + 0.4), w - v * Math.sin(H + 0.4)), f.closePath(), f.fill(), f.restore();\n }\n }\n }, S.onmouseup = (a) => {\n const { x: c, y: w } = Ce(a.clientX, a.clientY);\n if (r === \"select\") {\n I = null, S.classList.remove(\"select-mode-moving\");\n return;\n }\n if (r === \"crop\") {\n z = null;\n return;\n }\n if (r === \"pen\" && k)\n k = !1, b.length >= 4 && (l.push({ type: \"pen\", points: [...b], color: o, width: n }), M.disabled = !1, b = []);\n else if (r === \"arrow\" && E)\n l.push({ type: \"arrow\", x1: E.x, y1: E.y, x2: c, y2: w, color: o, width: n }), M.disabled = !1, E = null;\n else if (r === \"rect\" && C) {\n const f = Math.min(C.x, c), v = Math.min(C.y, w);\n l.push({ type: \"rect\", x: f, y: v, w: Math.abs(c - C.x), h: Math.abs(w - C.y), color: o, width: n, radius: s }), M.disabled = !1, C = null;\n }\n R();\n }, S.onmouseleave = (a) => {\n if (r === \"select\" && I) {\n I = null, S.classList.remove(\"select-mode-moving\");\n return;\n }\n S.onmouseup(a);\n };\n function ut() {\n const a = new Image();\n a.onload = () => {\n const c = document.createElement(\"canvas\");\n c.width = a.naturalWidth, c.height = a.naturalHeight;\n const w = c.getContext(\"2d\");\n if (!w) return;\n w.drawImage(a, 0, 0), l.forEach((v) => je(w, v));\n const f = c.toDataURL(\"image/png\");\n re(), e(f);\n }, a.onerror = () => {\n re(), e(h);\n }, a.src = h;\n }\n se = (a) => {\n a.key === \"Escape\" ? q ? ee() : r === \"crop\" && T ? (T = null, _.style.display = \"none\", R()) : x !== null ? (x = null, R()) : (re(), i()) : a.key === \"z\" && (a.ctrlKey || a.metaKey) && !a.shiftKey ? (a.preventDefault(), l.length > 0 && (l.pop(), M.disabled = l.length === 0, x = null, R())) : (a.key === \"Delete\" || a.key === \"Backspace\") && x !== null && !q && (a.preventDefault(), l.splice(x, 1), M.disabled = l.length === 0, x = null, R());\n }, document.addEventListener(\"keydown\", se), new ResizeObserver(() => {\n g && d && He();\n }).observe(S), ze();\n}\nconst Me = 3, Ze = 8, Ve = 14, qt = `<svg width=\"20\" height=\"20\" viewBox=\"0 0 200 200\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<defs>\n\t\t<linearGradient id=\"sw-preview-grad\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n\t\t\t<stop offset=\"0%\" stop-color=\"#0091FF\"/>\n\t\t\t<stop offset=\"33%\" stop-color=\"#FF02F0\"/>\n\t\t\t<stop offset=\"66%\" stop-color=\"#F76808\"/>\n\t\t\t<stop offset=\"100%\" stop-color=\"#6647F0\"/>\n\t\t</linearGradient>\n\t\t<linearGradient id=\"sw-preview-center\" x1=\"81\" y1=\"96\" x2=\"113\" y2=\"130\" gradientUnits=\"userSpaceOnUse\">\n\t\t\t<stop stop-color=\"white\"/>\n\t\t\t<stop offset=\"0.88\" stop-color=\"white\" stop-opacity=\"0.3\"/>\n\t\t</linearGradient>\n\t</defs>\n\t<path d=\"M100 0C86.1929 0 75 11.1929 75 25V39.2893L65.033 29.3223C55.2699 19.5592 39.4408 19.5592 29.6777 29.3223C19.9146 39.0854 19.9146 54.9146 29.6777 64.6777L40 75H25C11.1929 75 0 86.1929 0 100C0 113.807 11.1929 125 25 125H39L29.2563 134.744C19.4932 144.507 19.4932 160.336 29.2563 170.099C39.0194 179.862 54.8485 179.862 64.6116 170.099L75 159.711V175C75 188.807 86.1929 200 100 200C113.807 200 125 188.807 125 175V160L135.744 170.744C145.507 180.507 161.336 180.507 171.099 170.744C180.862 160.981 180.862 145.151 171.099 135.388L160.711 125H175C188.807 125 200 113.807 200 100C200 86.1929 188.807 75 175 75H159.711L170.678 64.033C180.441 54.2699 180.441 38.4408 170.678 28.6777C160.915 18.9146 145.085 18.9146 135.322 28.6777L125 39V25C125 11.1929 113.807 0 100 0Z\" fill=\"url(#sw-preview-grad)\"/>\n\t<circle cx=\"100\" cy=\"100\" r=\"30\" fill=\"url(#sw-preview-center)\"/>\n</svg>`;\nlet O = null, Y = null;\nconst $ = [];\nlet ae = !1;\nconst Xe = \"supportwire-message-preview-styles\";\nfunction Zt() {\n if (document.getElementById(Xe)) return;\n const t = document.createElement(\"style\");\n t.id = Xe, t.textContent = `\n\t\t.sw-preview-stack {\n\t\t\tposition: fixed;\n\t\t\tz-index: 999997;\n\t\t\twidth: 320px;\n\t\t}\n\n\t\t.sw-preview-dismiss {\n\t\t\tposition: absolute;\n\t\t\tbottom: 100%;\n\t\t\tright: 0;\n\t\t\twidth: 24px;\n\t\t\theight: 24px;\n\t\t\tmargin-bottom: 4px;\n\t\t\tborder: none;\n\t\t\tborder-radius: 50%;\n\t\t\tfont-size: 15px;\n\t\t\tline-height: 1;\n\t\t\tcursor: pointer;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\topacity: 0;\n\t\t\ttransition: opacity 150ms ease, background 150ms ease;\n\t\t\tpointer-events: auto;\n\t\t\tz-index: 10;\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-dark {\n\t\t\tbackground: rgba(255, 255, 255, 0.1);\n\t\t\tcolor: rgba(255, 255, 255, 0.6);\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-dark:hover {\n\t\t\tbackground: rgba(255, 255, 255, 0.18);\n\t\t\tcolor: rgba(255, 255, 255, 0.9);\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-light {\n\t\t\tbackground: rgba(0, 0, 0, 0.06);\n\t\t\tcolor: rgba(0, 0, 0, 0.4);\n\t\t}\n\t\t.sw-preview-dismiss.sw-dismiss-light:hover {\n\t\t\tbackground: rgba(0, 0, 0, 0.1);\n\t\t\tcolor: rgba(0, 0, 0, 0.7);\n\t\t}\n\t\t.sw-preview-dismiss:active {\n\t\t\ttransform: scale(0.95);\n\t\t}\n\t\t.sw-preview-dismiss:focus-visible {\n\t\t\toutline: 2px solid #0091FF;\n\t\t\toutline-offset: 1px;\n\t\t\topacity: 1;\n\t\t}\n\t\t.sw-preview-stack:hover .sw-preview-dismiss {\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.sw-preview-card {\n\t\t\tposition: absolute;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\twidth: 100%;\n\t\t\tborder-radius: 16px;\n\t\t\tpadding: 12px 14px;\n\t\t\tcursor: pointer;\n\t\t\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n\t\t\tbox-sizing: border-box;\n\t\t\tpointer-events: auto;\n\t\t\ttransition: transform 200ms cubic-bezier(0.32, 0.72, 0, 1), opacity 200ms cubic-bezier(0.32, 0.72, 0, 1);\n\t\t\ttransform-origin: bottom center;\n\t\t}\n\t\t.sw-preview-card:active {\n\t\t\ttransform: scale(0.97) !important;\n\t\t}\n\n\t\t.sw-preview-card.sw-card-dark {\n\t\t\tbackground: #1a1a1a;\n\t\t\tbox-shadow: 0 4px 24px rgba(0, 0, 0, 0.3), 0 1px 4px rgba(0, 0, 0, 0.2);\n\t\t}\n\t\t.sw-preview-card.sw-card-light {\n\t\t\tbackground: #ffffff;\n\t\t\tborder: 1px solid rgba(0, 0, 0, 0.08);\n\t\t\tbox-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);\n\t\t}\n\n\t\t.sw-preview-header {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 8px;\n\t\t\tmargin-bottom: 6px;\n\t\t}\n\t\t.sw-preview-logo {\n\t\t\tflex-shrink: 0;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t}\n\t\t.sw-preview-meta {\n\t\t\tfont-size: 11px;\n\t\t\tline-height: 1.2;\n\t\t\tflex: 1;\n\t\t\tmin-width: 0;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\twhite-space: nowrap;\n\t\t}\n\t\t.sw-card-dark .sw-preview-meta { color: rgba(255, 255, 255, 0.5); }\n\t\t.sw-card-light .sw-preview-meta { color: rgba(0, 0, 0, 0.45); }\n\n\t\t.sw-preview-body {\n\t\t\tfont-size: 13px;\n\t\t\tline-height: 1.4;\n\t\t\tdisplay: -webkit-box;\n\t\t\t-webkit-line-clamp: 2;\n\t\t\t-webkit-box-orient: vertical;\n\t\t\toverflow: hidden;\n\t\t\tword-break: break-word;\n\t\t}\n\t\t.sw-card-dark .sw-preview-body { color: rgba(255, 255, 255, 0.9); }\n\t\t.sw-card-light .sw-preview-body { color: rgba(0, 0, 0, 0.85); }\n\n\t\t@media (prefers-reduced-motion: reduce) {\n\t\t\t.sw-preview-card {\n\t\t\t\ttransition: opacity 200ms ease-out !important;\n\t\t\t}\n\t\t\t.sw-preview-dismiss {\n\t\t\t\ttransition: opacity 150ms ease-out !important;\n\t\t\t}\n\t\t}\n\t`, document.head.appendChild(t);\n}\nfunction be() {\n if (!(!O || $.length === 0))\n if (ae) {\n let t = 0;\n for (let e = 0; e < $.length; e++) {\n const { el: i, height: r } = $[e];\n i.style.zIndex = String(Me + 1 - e), i.style.transform = `translateY(-${t}px) scale(1)`, i.style.opacity = i.dataset.visible === \"true\" ? \"1\" : \"0\", t += r + Ze;\n }\n O.style.height = `${t - Ze}px`;\n } else {\n for (let t = 0; t < $.length; t++) {\n const { el: e } = $[t];\n e.style.zIndex = String(Me + 1 - t), e.style.transform = `translateY(-${t * Ve}px) scale(${1 - t * 0.05})`, e.style.opacity = e.dataset.visible === \"true\" ? \"1\" : \"0\";\n }\n O.style.height = `${$[0].height + ($.length - 1) * Ve}px`;\n }\n}\nfunction Vt(t) {\n if (!Number.isFinite(t) || t <= 0) return \"just now\";\n const e = Date.now(), i = t < 1e12 ? t * 1e3 : t, r = Math.max(0, e - i), o = Math.floor(r / 1e3);\n if (o < 60) return \"just now\";\n const n = Math.floor(o / 60);\n if (n < 60) return `${n}m ago`;\n const s = Math.floor(n / 60);\n return s < 24 ? `${s}h ago` : `${Math.floor(s / 24)}d ago`;\n}\nfunction Xt(t, e) {\n if (O) return O;\n const i = document.createElement(\"div\");\n i.className = \"sw-preview-stack\";\n const r = t.startsWith(\"bottom\"), o = t.endsWith(\"right\"), n = 20, s = 48, l = 8;\n return r ? i.style.bottom = `${n + s + l}px` : i.style.top = `${n + s + l}px`, o ? i.style.right = `${n}px` : i.style.left = `${n}px`, i.addEventListener(\"mouseenter\", () => {\n ae = !0, be();\n }), i.addEventListener(\"mouseleave\", () => {\n ae = !1, be();\n }), Y = document.createElement(\"button\"), Y.className = `sw-preview-dismiss sw-dismiss-${e}`, Y.setAttribute(\"aria-label\", \"Dismiss all message previews\"), Y.textContent = \"×\", Y.addEventListener(\"click\", (h) => {\n h.stopPropagation(), xe();\n }), i.appendChild(Y), document.body.appendChild(i), O = i, i;\n}\nfunction Kt(t, e, i, r, o, n) {\n Zt();\n const s = Xt(r, o);\n $.length >= Me && $.pop().el.remove();\n const l = document.createElement(\"div\");\n l.className = `sw-preview-card sw-card-${o}`, l.dataset.visible = \"false\";\n const h = document.createElement(\"div\");\n h.className = \"sw-preview-header\";\n const g = document.createElement(\"div\");\n g.className = \"sw-preview-logo\", g.innerHTML = qt;\n const d = document.createElement(\"div\");\n d.className = \"sw-preview-meta\", d.textContent = `${e || \"Support\"} · ${Vt(i)}`, h.appendChild(g), h.appendChild(d);\n const u = document.createElement(\"div\");\n u.className = \"sw-preview-body\", u.textContent = t, l.appendChild(h), l.appendChild(u), l.addEventListener(\"click\", () => {\n xe(!0), n();\n }), s.appendChild(l);\n const y = l.offsetHeight;\n $.unshift({ el: l, height: y }), be(), requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n l.dataset.visible = \"true\", be();\n });\n });\n}\nfunction xe(t) {\n if (t) {\n for (const i of $) i.el.remove();\n $.length = 0, O && (O.remove(), O = null), Y = null, ae = !1;\n return;\n }\n const e = [...$];\n $.length = 0;\n for (const i of e) {\n i.el.dataset.visible = \"false\", i.el.style.opacity = \"0\";\n const r = () => {\n i.el.removeEventListener(\"transitionend\", r), i.el.remove();\n };\n i.el.addEventListener(\"transitionend\", r), setTimeout(() => i.el.remove(), 300);\n }\n if (O) {\n const i = O;\n O = null, Y = null, ae = !1, setTimeout(() => i.remove(), 350);\n }\n}\nconst nt = \"supportwire-event-rule-executions\";\nfunction st() {\n try {\n const t = localStorage.getItem(nt);\n return t ? JSON.parse(t) : {};\n } catch (t) {\n return {};\n }\n}\nfunction $e(t) {\n return st()[t] || 0;\n}\nfunction Jt(t) {\n try {\n const e = st();\n e[t] = (e[t] || 0) + 1, localStorage.setItem(nt, JSON.stringify(e));\n } catch (e) {\n }\n}\nfunction Qt(t) {\n return t.max_executions == null || t.max_executions <= 0 ? !1 : $e(t.id) >= t.max_executions;\n}\nfunction ei(t, e) {\n try {\n const i = (s) => s.replace(/\\/+$/, \"\");\n if (!e.includes(\"*\"))\n return i(t) === i(e);\n const o = e.split(\"*\").map((s) => {\n let l = \"\";\n for (const h of s)\n \"-/\\\\^$*+?.()|[]{}\".indexOf(h) !== -1 && (l += \"\\\\\"), l += h;\n return l;\n }), n = new RegExp(\"^\" + o.join(\".*\") + \"$\");\n return n.test(t) || n.test(i(t));\n } catch (i) {\n return !1;\n }\n}\nfunction ti(t, e) {\n var r;\n const i = [];\n for (const o of t) {\n if (o.event_name !== \"SW_PAGE_VIEW\") continue;\n const n = (r = o.event_info) == null ? void 0 : r.url;\n if (!n) continue;\n if (Qt(o)) {\n $e(o.id);\n continue;\n }\n ei(e, n) && i.push({\n ruleId: o.id,\n delay: o.delay,\n messagesToSend: o.messages_to_send\n });\n }\n return i;\n}\nfunction ii(t, e) {\n var g;\n for (const d of t)\n (g = d.event_info) != null && g.url, d.max_executions != null && String(d.max_executions), $e(d.id);\n const i = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set();\n let o = \"\";\n function n() {\n const d = window.location.href;\n if (d === o) return;\n o = d;\n const u = ti(t, d);\n for (const y of u) {\n if (r.has(y.ruleId))\n continue;\n r.add(y.ruleId);\n const m = (y.delay || 0) * 1e3, k = setTimeout(() => {\n i.delete(k), Jt(y.ruleId), e(y);\n }, m);\n i.add(k);\n }\n }\n const s = history.pushState.bind(history), l = history.replaceState.bind(history);\n history.pushState = function(...d) {\n s(...d), n();\n }, history.replaceState = function(...d) {\n l(...d), n();\n };\n const h = () => n();\n return window.addEventListener(\"popstate\", h), n(), () => {\n for (const d of i) clearTimeout(d);\n i.clear(), history.pushState = s, history.replaceState = l, window.removeEventListener(\"popstate\", h);\n };\n}\nconst ri = \"supportwire\", le = (t, e) => `${ri}-${e}-${t}`, Re = (t, e) => {\n try {\n e ? localStorage.setItem(le(t, \"open\"), \"1\") : localStorage.removeItem(le(t, \"open\"));\n } catch (i) {\n }\n}, oi = (t) => {\n try {\n return localStorage.getItem(le(t, \"open\")) === \"1\";\n } catch (e) {\n return !1;\n }\n}, ni = (t, e) => {\n try {\n localStorage.setItem(le(t, \"widget-size\"), JSON.stringify(e));\n } catch (i) {\n }\n}, si = (t) => {\n try {\n const e = localStorage.getItem(le(t, \"widget-size\"));\n return e ? JSON.parse(e) : null;\n } catch (e) {\n return null;\n }\n};\nvar ai = { success: { pattern: [{ duration: 30, intensity: 0.5 }, { delay: 60, duration: 40, intensity: 1 }] }, warning: { pattern: [{ duration: 40, intensity: 0.8 }, { delay: 100, duration: 40, intensity: 0.6 }] }, error: { pattern: [{ duration: 40, intensity: 0.9 }, { delay: 40, duration: 40, intensity: 0.9 }, { delay: 40, duration: 40, intensity: 0.9 }] }, light: { pattern: [{ duration: 15, intensity: 0.4 }] }, medium: { pattern: [{ duration: 25, intensity: 0.7 }] }, heavy: { pattern: [{ duration: 35, intensity: 1 }] }, soft: { pattern: [{ duration: 40, intensity: 0.5 }] }, rigid: { pattern: [{ duration: 10, intensity: 1 }] }, selection: { pattern: [{ duration: 8, intensity: 0.3 }] }, nudge: { pattern: [{ duration: 80, intensity: 0.8 }, { delay: 80, duration: 50, intensity: 0.3 }] }, buzz: { pattern: [{ duration: 1e3, intensity: 1 }] } }, li = 16, di = 184, Ke = 1e3, ye = 20;\nfunction ci(t) {\n if (typeof t == \"number\") return { vibrations: [{ duration: t }] };\n if (typeof t == \"string\") {\n let e = ai[t];\n return e ? { vibrations: e.pattern.map((i) => G({}, i)) } : (console.warn(`[web-haptics] Unknown preset: \"${t}\"`), null);\n }\n if (Array.isArray(t)) {\n if (t.length === 0) return { vibrations: [] };\n if (typeof t[0] == \"number\") {\n let e = t, i = [];\n for (let r = 0; r < e.length; r += 2) {\n let o = r > 0 ? e[r - 1] : 0;\n i.push(te(G({}, o > 0 && { delay: o }), { duration: e[r] }));\n }\n return { vibrations: i };\n }\n return { vibrations: t.map((e) => G({}, e)) };\n }\n return { vibrations: t.pattern.map((e) => G({}, e)) };\n}\nfunction pi(t, e) {\n if (e >= 1) return [t];\n if (e <= 0) return [];\n let i = Math.max(1, Math.round(ye * e)), r = ye - i, o = [], n = t;\n for (; n >= ye; ) o.push(i), o.push(r), n -= ye;\n if (n > 0) {\n let s = Math.max(1, Math.round(n * e));\n o.push(s);\n let l = n - s;\n l > 0 && o.push(l);\n }\n return o;\n}\nfunction ui(t, e) {\n var r, o;\n let i = [];\n for (let n = 0; n < t.length; n++) {\n let s = t[n], l = Math.max(0, Math.min(1, (r = s.intensity) != null ? r : e)), h = (o = s.delay) != null ? o : 0;\n h > 0 && (i.length > 0 && i.length % 2 === 0 ? i[i.length - 1] += h : (i.length === 0 && i.push(0), i.push(h)));\n let g = pi(s.duration, l);\n if (g.length === 0) {\n i.length > 0 && i.length % 2 === 0 ? i[i.length - 1] += s.duration : s.duration > 0 && (i.push(0), i.push(s.duration));\n continue;\n }\n for (let d of g) i.push(d);\n }\n return i;\n}\nvar hi = 0, D, gi = (D = class {\n constructor(e) {\n L(this, \"hapticLabel\", null);\n L(this, \"domInitialized\", !1);\n L(this, \"instanceId\");\n L(this, \"debug\");\n L(this, \"showSwitch\");\n L(this, \"rafId\", null);\n L(this, \"patternResolve\", null);\n L(this, \"audioCtx\", null);\n L(this, \"audioFilter\", null);\n L(this, \"audioGain\", null);\n L(this, \"audioBuffer\", null);\n var i, r;\n this.instanceId = ++hi, this.debug = (i = e == null ? void 0 : e.debug) != null ? i : !1, this.showSwitch = (r = e == null ? void 0 : e.showSwitch) != null ? r : !1;\n }\n async trigger(e = [{ duration: 25, intensity: 0.7 }], i) {\n var s, l, h, g;\n let r = ci(e);\n if (!r) return;\n let { vibrations: o } = r;\n if (o.length === 0) return;\n let n = Math.max(0, Math.min(1, (s = i == null ? void 0 : i.intensity) != null ? s : 0.5));\n for (let d of o) if (d.duration > Ke && (d.duration = Ke), !Number.isFinite(d.duration) || d.duration < 0 || d.delay !== void 0 && (!Number.isFinite(d.delay) || d.delay < 0)) {\n console.warn(\"[web-haptics] Invalid vibration values. Durations and delays must be finite non-negative numbers.\");\n return;\n }\n if (D.isSupported && navigator.vibrate(ui(o, n)), !D.isSupported || this.debug) {\n if (this.ensureDOM(), !this.hapticLabel) return;\n this.debug && await this.ensureAudio(), this.stopPattern();\n let d = ((h = (l = o[0]) == null ? void 0 : l.delay) != null ? h : 0) === 0;\n if (d && (this.hapticLabel.click(), this.debug && this.audioCtx)) {\n let u = Math.max(0, Math.min(1, (g = o[0].intensity) != null ? g : n));\n this.playClick(u);\n }\n await this.runPattern(o, n, d);\n }\n }\n cancel() {\n this.stopPattern(), D.isSupported && navigator.vibrate(0);\n }\n destroy() {\n this.stopPattern(), this.hapticLabel && (this.hapticLabel.remove(), this.hapticLabel = null, this.domInitialized = !1), this.audioCtx && (this.audioCtx.close(), this.audioCtx = null, this.audioFilter = null, this.audioGain = null, this.audioBuffer = null);\n }\n setDebug(e) {\n this.debug = e, !e && this.audioCtx && (this.audioCtx.close(), this.audioCtx = null, this.audioFilter = null, this.audioGain = null, this.audioBuffer = null);\n }\n setShowSwitch(e) {\n if (this.showSwitch = e, this.hapticLabel) {\n let i = this.hapticLabel.querySelector(\"input\");\n this.hapticLabel.style.display = e ? \"\" : \"none\", i && (i.style.display = e ? \"\" : \"none\");\n }\n }\n stopPattern() {\n var e;\n this.rafId !== null && (cancelAnimationFrame(this.rafId), this.rafId = null), (e = this.patternResolve) == null || e.call(this), this.patternResolve = null;\n }\n runPattern(e, i, r) {\n return new Promise((o) => {\n var u, y;\n this.patternResolve = o;\n let n = [], s = 0;\n for (let m of e) {\n let k = Math.max(0, Math.min(1, (u = m.intensity) != null ? u : i)), b = (y = m.delay) != null ? y : 0;\n b > 0 && (s += b, n.push({ end: s, isOn: !1, intensity: 0 })), s += m.duration, n.push({ end: s, isOn: !0, intensity: k });\n }\n let l = s, h = 0, g = -1, d = (m) => {\n var E, C;\n h === 0 && (h = m);\n let k = m - h;\n if (k >= l) {\n this.rafId = null, this.patternResolve = null, o();\n return;\n }\n let b = n[0];\n for (let x of n) if (k < x.end) {\n b = x;\n break;\n }\n if (b.isOn) {\n let x = li + (1 - b.intensity) * di;\n g === -1 ? (g = m, r || ((E = this.hapticLabel) == null || E.click(), this.debug && this.audioCtx && this.playClick(b.intensity), r = !0)) : m - g >= x && ((C = this.hapticLabel) == null || C.click(), this.debug && this.audioCtx && this.playClick(b.intensity), g = m);\n }\n this.rafId = requestAnimationFrame(d);\n };\n this.rafId = requestAnimationFrame(d);\n });\n }\n playClick(e) {\n if (!this.audioCtx || !this.audioFilter || !this.audioGain || !this.audioBuffer) return;\n let i = this.audioBuffer.getChannelData(0);\n for (let s = 0; s < i.length; s++) i[s] = (Math.random() * 2 - 1) * Math.exp(-s / 25);\n this.audioGain.gain.value = 0.5 * e;\n let r = 2e3 + e * 2e3, o = 1 + (Math.random() - 0.5) * 0.3;\n this.audioFilter.frequency.value = r * o;\n let n = this.audioCtx.createBufferSource();\n n.buffer = this.audioBuffer, n.connect(this.audioFilter), n.onended = () => n.disconnect(), n.start();\n }\n async ensureAudio() {\n var e;\n if (!this.audioCtx && typeof AudioContext < \"u\") {\n this.audioCtx = new AudioContext(), this.audioFilter = this.audioCtx.createBiquadFilter(), this.audioFilter.type = \"bandpass\", this.audioFilter.frequency.value = 4e3, this.audioFilter.Q.value = 8, this.audioGain = this.audioCtx.createGain(), this.audioFilter.connect(this.audioGain), this.audioGain.connect(this.audioCtx.destination);\n let i = 4e-3;\n this.audioBuffer = this.audioCtx.createBuffer(1, this.audioCtx.sampleRate * i, this.audioCtx.sampleRate);\n let r = this.audioBuffer.getChannelData(0);\n for (let o = 0; o < r.length; o++) r[o] = (Math.random() * 2 - 1) * Math.exp(-o / 25);\n }\n ((e = this.audioCtx) == null ? void 0 : e.state) === \"suspended\" && await this.audioCtx.resume();\n }\n ensureDOM() {\n if (this.domInitialized || typeof document > \"u\") return;\n let e = `web-haptics-${this.instanceId}`, i = document.createElement(\"label\");\n i.setAttribute(\"for\", e), i.textContent = \"Haptic feedback\", i.style.position = \"fixed\", i.style.bottom = \"10px\", i.style.left = \"10px\", i.style.padding = \"5px 10px\", i.style.backgroundColor = \"rgba(0, 0, 0, 0.7)\", i.style.color = \"white\", i.style.fontFamily = \"sans-serif\", i.style.fontSize = \"14px\", i.style.borderRadius = \"4px\", i.style.zIndex = \"9999\", i.style.userSelect = \"none\", this.hapticLabel = i;\n let r = document.createElement(\"input\");\n r.type = \"checkbox\", r.setAttribute(\"switch\", \"\"), r.id = e, r.style.all = \"initial\", r.style.appearance = \"auto\", this.showSwitch || (i.style.display = \"none\", r.style.display = \"none\"), i.appendChild(r), document.body.appendChild(i), this.domInitialized = !0;\n }\n}, L(D, \"isSupported\", typeof navigator < \"u\" && typeof navigator.vibrate == \"function\"), D);\nconst oe = new gi(), X = class X {\n constructor(e) {\n var i, r, o;\n if (this.iframe = null, this.container = null, this.trigger = null, this.isOpen = !1, this.isExpanded = !1, this.messageHandler = null, this.unreadCount = 0, this.titleModified = !1, this.visibilityHandler = null, this.eventRuleCleanup = null, this.triggerClickHandler = null, this.guideBridgeTeardown = null, !e.widgetSlug || typeof e.widgetSlug != \"string\" || e.widgetSlug.trim() === \"\")\n throw new Error(\"widgetSlug is required in widget config\");\n this.config = {\n widgetSlug: e.widgetSlug,\n appUrl: e.appUrl,\n selector: e.selector,\n theme: e.theme || \"light\",\n triggerPosition: e.triggerPosition || \"bottom-right\",\n widgetType: e.widgetType || \"popup\",\n userToken: e.userToken || \"\",\n userEmail: e.userEmail || \"\",\n userExternalUserId: e.userExternalUserId || \"\",\n userSignature: e.userSignature || \"\",\n userData: (i = e.userData) != null ? i : {},\n hideOnLaunch: (r = e.hideOnLaunch) != null ? r : !1,\n enableScreenshot: (o = e.enableScreenshot) != null ? o : !1,\n onOpen: e.onOpen || (() => {\n }),\n onClose: e.onClose || (() => {\n }),\n onError: e.onError || ((n) => console.error(\"SupportWireWidget error:\", n))\n }, this.iframeId = bt(), this.widgetUrl = this.buildWidgetUrl(), X.instances.set(this.iframeId, this), this.init();\n }\n updateDocumentTitle(e) {\n e > 0 && document.hidden ? (document.title = `(${e}) ${document.title.replace(/^\\(\\d+\\) /, \"\")}`, this.titleModified = !0) : this.titleModified && (document.title = document.title.replace(/^\\(\\d+\\) /, \"\"), this.titleModified = !1);\n }\n /**\n * Gets the localStorage key for unread count\n */\n getUnreadCountKey() {\n return `supportwire-unread-count-${this.config.widgetSlug}`;\n }\n /**\n * Loads unread count from localStorage\n */\n loadUnreadCountFromStorage() {\n if (typeof window == \"undefined\")\n return 0;\n try {\n const e = this.getUnreadCountKey(), i = localStorage.getItem(e);\n if (i) {\n const r = parseInt(i, 10);\n return isNaN(r) ? 0 : r;\n }\n } catch (e) {\n console.error(\"Failed to load unread count from localStorage:\", e);\n }\n return 0;\n }\n /**\n * Saves unread count to localStorage\n */\n saveUnreadCountToStorage(e) {\n if (typeof window != \"undefined\")\n try {\n const i = this.getUnreadCountKey();\n e > 0 ? localStorage.setItem(i, String(e)) : localStorage.removeItem(i);\n } catch (i) {\n console.error(\"Failed to save unread count to localStorage:\", i);\n }\n }\n buildWidgetUrl() {\n return `${yt(this.config.appUrl)}/w/${this.config.widgetSlug.trim()}/chat`;\n }\n init() {\n try {\n this.unreadCount = this.loadUnreadCountFromStorage(), this.createContainer(), this.createIframe(), this.setupMessageHandler(), this.setupTrigger(), this.config.hideOnLaunch && this.trigger && (this.trigger.style.display = \"none\"), this.unreadCount > 0 && (this.trigger && we(this.trigger, this.unreadCount), this.updateDocumentTitle(this.unreadCount)), this.visibilityHandler = () => {\n !document.hidden && this.titleModified && this.updateDocumentTitle(0);\n }, document.addEventListener(\"visibilitychange\", this.visibilityHandler), oi(this.config.widgetSlug) && this.open();\n } catch (e) {\n this.config.onError(e instanceof Error ? e : new Error(String(e)));\n }\n }\n createContainer() {\n this.container = document.createElement(\"div\"), this.container.id = `${this.config.widgetSlug}-container`, this.container.className = `supportwire-widget-container supportwire-${this.config.widgetType}`, xt(), Be(this.container, this.config);\n const e = si(this.config.widgetSlug);\n e && this.config.widgetType === \"popup\" && (this.container.style.width = `${e.width}px`, this.container.style.height = `${e.height}px`), this.config.widgetType === \"popup\" && this.addResizeHandle(this.container), this.config.widgetType === \"popup\" && !this.config.selector && Ct(this.container, this.config.triggerPosition, this.config.theme), document.body.appendChild(this.container);\n }\n createIframe() {\n this.container && (this.iframe = Lt(\n this.container,\n this.iframeId,\n this.widgetUrl,\n this.config.theme\n ));\n }\n setupMessageHandler() {\n this.messageHandler = Ft(\n this.iframeId,\n this.widgetUrl,\n this.container,\n {\n onReady: () => {\n this.sendMessageToIframe({\n type: \"CONFIG\",\n config: {\n widgetSlug: this.config.widgetSlug,\n theme: this.config.theme,\n triggerPosition: this.config.triggerPosition,\n widgetType: this.config.widgetType,\n userToken: this.config.userToken,\n userEmail: this.config.userEmail,\n userSignature: this.config.userSignature,\n userData: this.config.userData,\n enableScreenshot: this.config.enableScreenshot\n }\n });\n },\n onOpen: () => {\n this.isOpen = !0, this.unreadCount = 0, this.saveUnreadCountToStorage(0), this.trigger && we(this.trigger, 0), this.config.onOpen();\n },\n onClose: () => {\n this.isOpen = !1, Re(this.config.widgetSlug, !1), this.trigger && (Se(this.trigger, !1, this.config.theme), window.innerWidth <= 480 && (this.trigger.style.display = \"\")), this.config.onClose();\n },\n onError: this.config.onError,\n onUnreadCount: (e) => {\n e > this.unreadCount && oe.trigger(\"selection\"), this.unreadCount = e, this.saveUnreadCountToStorage(e), this.trigger && we(this.trigger, e), this.updateDocumentTitle(e);\n },\n onImagePreview: (e, i, r) => {\n Ut(e, i, r, (o) => {\n qe(\n o,\n (n) => {\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_RESULT\",\n payload: { dataUrl: n }\n });\n },\n () => {\n }\n );\n });\n },\n onToggleFullscreen: () => {\n this.toggleExpand();\n },\n onMessagePreview: (e, i, r) => {\n this.isOpen || Kt(e, i, r, this.config.triggerPosition, this.config.theme, () => this.open());\n },\n onScreenshotRequest: (e) => {\n this.capturePageScreenshot(e);\n },\n onEventRulesRegistered: (e) => {\n this.eventRuleCleanup && (this.eventRuleCleanup(), this.eventRuleCleanup = null), e.length !== 0 && (this.eventRuleCleanup = ii(e, (i) => {\n this.sendMessageToIframe({\n type: \"EVENT_RULE_MATCHED\",\n eventRule: {\n ruleId: i.ruleId,\n delay: i.delay,\n messagesToSend: i.messagesToSend\n }\n });\n }));\n }\n }\n ), window.addEventListener(\"message\", this.messageHandler), this.iframe && (this.guideBridgeTeardown = Pt(this.iframe, this.iframeId, {\n closeWidget: () => {\n this.isOpen && this.close();\n }\n }).teardown);\n }\n setupTrigger() {\n if (this.triggerClickHandler = () => this.toggle(), this.config.selector) {\n const e = document.querySelector(this.config.selector);\n e ? (this.trigger = e, this.trigger.addEventListener(\"click\", this.triggerClickHandler)) : (console.warn(`SupportWireWidget: Selector \"${this.config.selector}\" not found. Creating default trigger.`), this.createDefaultTrigger());\n } else\n this.createDefaultTrigger();\n }\n createDefaultTrigger() {\n this.triggerClickHandler || (this.triggerClickHandler = () => this.toggle()), this.trigger = Rt(this.config, this.triggerClickHandler);\n }\n sendMessageToIframe(e) {\n Ot(this.iframe, this.iframeId, this.widgetUrl, e);\n }\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n open() {\n !this.container || !this.iframe || (xe(!0), this.showTrigger(), this.isOpen = !0, oe.trigger(\"medium\"), Re(this.config.widgetSlug, !0), this.container.style.display = \"block\", Qe(this.container), this.unreadCount = 0, this.saveUnreadCountToStorage(0), this.updateDocumentTitle(0), this.trigger && (we(this.trigger, 0), Se(this.trigger, !0, this.config.theme), window.innerWidth <= 480 && (this.trigger.style.display = \"none\")), this.sendMessageToIframe({ type: \"OPEN\" }));\n }\n close() {\n this.container && (this.isOpen = !1, oe.trigger(\"light\"), Re(this.config.widgetSlug, !1), this.trigger && (Se(this.trigger, !1, this.config.theme), window.innerWidth <= 480 && (this.trigger.style.display = \"\")), et(this.container), this.sendMessageToIframe({ type: \"CLOSE\" }));\n }\n showTrigger() {\n this.trigger && (this.trigger.style.display = \"\");\n }\n hideTrigger() {\n this.trigger && (this.trigger.style.display = \"none\");\n }\n addResizeHandle(e) {\n const i = document.createElement(\"div\");\n i.innerHTML = `<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" style=\"opacity:0.3;transform:rotate(180deg)\">\n\t\t\t<line x1=\"9\" y1=\"1\" x2=\"1\" y2=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n\t\t\t<line x1=\"9\" y1=\"5\" x2=\"5\" y2=\"9\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n\t\t</svg>`, Object.assign(i.style, {\n position: \"absolute\",\n top: \"4px\",\n left: \"4px\",\n width: \"20px\",\n height: \"20px\",\n cursor: \"nw-resize\",\n zIndex: \"10\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: \"var(--muted-foreground, #999)\",\n borderRadius: \"4px\"\n }), i.addEventListener(\"mouseenter\", () => {\n const u = i.querySelector(\"svg\");\n u && (u.style.opacity = \"0.6\");\n }), i.addEventListener(\"mouseleave\", () => {\n const u = i.querySelector(\"svg\");\n u && (u.style.opacity = \"0.3\");\n });\n const r = 320, o = 700, n = 400;\n i.addEventListener(\"dblclick\", (u) => {\n u.stopPropagation(), oe.trigger(\"light\"), window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || (e.style.willChange = \"width, height\", e.style.transition = \"width 250ms cubic-bezier(0.22, 1, 0.36, 1), height 250ms cubic-bezier(0.22, 1, 0.36, 1), max-height 250ms cubic-bezier(0.22, 1, 0.36, 1)\", setTimeout(() => {\n e.style.willChange = \"\", e.style.transition = \"width 200ms ease-out, height 200ms ease-out\";\n }, 270)), e.style.width = \"min(400px, max(0px, -20px + 100vw))\", e.style.height = \"min(704px, 100% - 104px)\", e.style.maxHeight = \"704px\";\n try {\n localStorage.removeItem(`supportwire-widget-size-${this.config.widgetSlug}`);\n } catch (m) {\n }\n });\n let s = !1, l = 0, h = 0, g = 0, d = 0;\n i.addEventListener(\"pointerdown\", (u) => {\n u.stopPropagation(), u.preventDefault(), s = !0, l = u.clientX, h = u.clientY;\n const y = e.getBoundingClientRect();\n g = y.width, d = y.height, i.setPointerCapture(u.pointerId), e.style.transition = \"none\";\n }), i.addEventListener(\"pointermove\", (u) => {\n if (!s) return;\n const y = l - u.clientX, m = h - u.clientY, k = parseInt(e.style.right) || 20, b = parseInt(e.style.bottom) || 84, E = Math.min(o, window.innerWidth - k - 20), C = window.innerHeight - b - 20, x = Math.max(r, Math.min(E, g + y)), I = Math.max(n, Math.min(C, d + m));\n e.style.width = `${x}px`, e.style.height = `${I}px`, e.style.maxHeight = `${I}px`;\n }), i.addEventListener(\"pointerup\", (u) => {\n if (!s) return;\n s = !1, i.releasePointerCapture(u.pointerId), e.style.transition = \"\";\n const y = e.getBoundingClientRect();\n ni(this.config.widgetSlug, {\n width: Math.round(y.width),\n height: Math.round(y.height)\n });\n }), e.appendChild(i);\n }\n toggleExpand() {\n if (!this.container) return;\n oe.trigger(\"medium\"), window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches || (this.container.style.willChange = \"width, height\", this.container.style.transition = \"width 300ms cubic-bezier(0.22, 1, 0.36, 1), height 300ms cubic-bezier(0.22, 1, 0.36, 1), max-height 300ms cubic-bezier(0.22, 1, 0.36, 1), bottom 300ms cubic-bezier(0.22, 1, 0.36, 1)\", setTimeout(() => {\n this.container && (this.container.style.willChange = \"\", this.container.style.transition = \"width 200ms ease-out, height 200ms ease-out\");\n }, 320)), this.isExpanded ? (this.container.style.width = \"min(400px, max(0px, -20px + 100vw))\", this.container.style.height = \"min(704px, 100% - 104px)\", this.container.style.maxHeight = \"704px\", this.container.style.bottom = \"84px\", this.isExpanded = !1) : (this.container.style.width = \"min(688px, max(0px, -20px + 100vw))\", this.container.style.height = \"calc(100% - 40px)\", this.container.style.maxHeight = \"calc(100% - 40px)\", this.container.style.bottom = \"20px\", this.isExpanded = !0);\n }\n async capturePageScreenshot(e) {\n var i, r;\n try {\n const o = (i = this.container) == null ? void 0 : i.style.display, n = (r = this.trigger) == null ? void 0 : r.style.display;\n this.container && (this.container.style.display = \"none\"), this.trigger && (this.trigger.style.display = \"none\");\n const { snapdom: s } = await import(\"./snapdom-6yvsn_Iv.js\"), h = (await s.toCanvas(document.documentElement, { scale: 1 })).toDataURL(\"image/png\");\n this.container && (this.container.style.display = o != null ? o : \"\"), this.trigger && (this.trigger.style.display = n != null ? n : \"\"), qe(\n h,\n (g) => {\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_RESULT\",\n payload: { dataUrl: g }\n });\n },\n () => {\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_ERROR\",\n payload: { error: \"Screenshot cancelled\" }\n });\n }\n );\n } catch (o) {\n this.container && (this.container.style.display = \"\"), this.trigger && (this.trigger.style.display = \"\");\n const n = o instanceof Error ? o.message : \"Screenshot capture failed\";\n this.sendMessageToIframe({\n type: \"PAGE_SCREENSHOT_ERROR\",\n payload: { error: n }\n });\n }\n }\n updateConfig(e) {\n const i = G({}, this.config);\n e.appUrl !== void 0 && (this.config.appUrl = e.appUrl), e.theme !== void 0 && (this.config.theme = e.theme), e.triggerPosition !== void 0 && (this.config.triggerPosition = e.triggerPosition), e.widgetType !== void 0 && (this.config.widgetType = e.widgetType), e.userToken !== void 0 && (this.config.userToken = e.userToken), e.userEmail !== void 0 && (this.config.userEmail = e.userEmail), e.userSignature !== void 0 && (this.config.userSignature = e.userSignature), e.userData !== void 0 && (this.config.userData = e.userData), e.onOpen !== void 0 && (this.config.onOpen = e.onOpen), e.onClose !== void 0 && (this.config.onClose = e.onClose), e.onError !== void 0 && (this.config.onError = e.onError), e.hideOnLaunch !== void 0 && (this.config.hideOnLaunch = e.hideOnLaunch, this.trigger && (this.trigger.style.display = e.hideOnLaunch ? \"none\" : \"\")), e.enableScreenshot !== void 0 && (this.config.enableScreenshot = e.enableScreenshot);\n const r = e.appUrl !== void 0 && e.appUrl !== i.appUrl, o = e.theme !== void 0 && e.theme !== i.theme;\n (r || o) && (o && this.sendMessageToIframe({\n type: \"THEME\",\n theme: e.theme\n }), this.iframe && (this.widgetUrl = this.buildWidgetUrl(), this.iframe.src = `${this.widgetUrl}?iframeId=${this.iframeId}&theme=${this.config.theme}`)), e.widgetType !== void 0 && e.widgetType !== i.widgetType && this.container && Be(this.container, this.config), e.triggerPosition !== void 0 && this.trigger && !this.config.selector && (Mt(this.trigger, this.config.triggerPosition), this.config.widgetType === \"popup\" && this.container && kt(this.container, this.config.triggerPosition, this.config.widgetType)), this.sendMessageToIframe({\n type: \"UPDATE_CONFIG\",\n config: e\n });\n }\n sendMessage(e, i) {\n if (!e || typeof e != \"string\" || e.trim() === \"\") {\n this.config.onError(new Error(\"Message must be a non-empty string\"));\n return;\n }\n (i == null ? void 0 : i.openWidget) !== !1 && !this.isOpen && this.open(), this.sendMessageToIframe({\n type: \"SEND_MESSAGE\",\n message: e,\n openWidget: i == null ? void 0 : i.openWidget\n });\n }\n destroy() {\n xe(!0), this.updateDocumentTitle(0), this.eventRuleCleanup && (this.eventRuleCleanup(), this.eventRuleCleanup = null), this.visibilityHandler && (document.removeEventListener(\"visibilitychange\", this.visibilityHandler), this.visibilityHandler = null), this.messageHandler && (window.removeEventListener(\"message\", this.messageHandler), this.messageHandler = null), this.guideBridgeTeardown && (this.guideBridgeTeardown(), this.guideBridgeTeardown = null), this.trigger && this.triggerClickHandler && this.trigger.removeEventListener(\"click\", this.triggerClickHandler), this.trigger && !this.config.selector && this.trigger.remove(), this.trigger = null, this.triggerClickHandler = null, this.container && (this.container.remove(), this.container = null), this.iframe = null, this.isOpen = !1, X.instances.delete(this.iframeId);\n }\n /**\n * Returns all initialized widget instances, optionally filtered by widgetSlug.\n */\n static getInstances(e) {\n const i = Array.from(X.instances.values());\n return e !== void 0 ? i.filter((r) => r.config.widgetSlug === e) : i;\n }\n};\nX.instances = /* @__PURE__ */ new Map();\nlet Je = X;\nexport {\n Je as default\n};\n//# sourceMappingURL=index.js.map\n","import type { IntercomSettings } from './types.js';\n\n/** Standard Intercom keys we extract directly; the rest become custom attrs. */\nconst KNOWN_KEYS: ReadonlyArray<keyof IntercomSettings> = [\n\t'app_id',\n\t'user_id',\n\t'email',\n\t'user_hash',\n\t'name',\n\t'created_at',\n\t'phone',\n\t'avatar',\n\t'unsubscribed_from_emails',\n\t'language_override',\n\t'utm_campaign',\n\t'utm_content',\n\t'utm_medium',\n\t'utm_source',\n\t'utm_term',\n\t'page_title',\n\t'company',\n\t'companies',\n\t'alignment',\n\t'horizontal_padding',\n\t'vertical_padding',\n\t'hide_default_launcher',\n\t'hide_notifications',\n\t'custom_launcher_selector',\n\t'z_index',\n\t'action_color',\n\t'background_color',\n\t'link_color',\n\t'theme_mode',\n\t'session_duration',\n\t'region',\n\t'api_base'\n];\n\nexport interface MappedWidgetConfig {\n\twidgetSlug: string;\n\tuserEmail?: string;\n\tuserExternalUserId?: string;\n\tuserSignature?: string;\n\tuserData: Record<string, unknown>;\n\ttheme?: 'light' | 'dark';\n\tselector?: string;\n\thideOnLaunch?: boolean;\n\ttriggerPosition?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';\n}\n\n/**\n * Translate Intercom settings → SupportWireWidget config. Unknown keys\n * collapse into `userData` so customer-side custom attributes survive the\n * shim. `app_id` becomes `widgetSlug` (1:1).\n */\nexport function mapSettings(settings: IntercomSettings): MappedWidgetConfig {\n\tconst customAttrs: Record<string, unknown> = {};\n\n\tfor (const [key, value] of Object.entries(settings)) {\n\t\tif (!KNOWN_KEYS.includes(key as keyof IntercomSettings)) {\n\t\t\tcustomAttrs[key] = value;\n\t\t}\n\t}\n\n\t// Standard profile fields that Intercom uses but we don't surface as\n\t// first-class — keep them in attributes so admin sees the data.\n\tif (settings.name !== undefined) customAttrs.name = settings.name;\n\tif (settings.phone !== undefined) customAttrs.phone = settings.phone;\n\tif (settings.created_at !== undefined) customAttrs.created_at = settings.created_at;\n\tif (settings.company !== undefined) customAttrs.company = settings.company;\n\tif (settings.companies !== undefined) customAttrs.companies = settings.companies;\n\tif (settings.unsubscribed_from_emails !== undefined) {\n\t\tcustomAttrs.unsubscribed_from_emails = settings.unsubscribed_from_emails;\n\t}\n\n\treturn {\n\t\twidgetSlug: String(settings.app_id),\n\t\tuserEmail: typeof settings.email === 'string' ? settings.email : undefined,\n\t\tuserExternalUserId: typeof settings.user_id === 'string' ? settings.user_id : undefined,\n\t\tuserSignature: typeof settings.user_hash === 'string' ? settings.user_hash : undefined,\n\t\tuserData: customAttrs,\n\t\ttheme:\n\t\t\tsettings.theme_mode === 'dark' || settings.theme_mode === 'light'\n\t\t\t\t? settings.theme_mode\n\t\t\t\t: undefined,\n\t\tselector:\n\t\t\ttypeof settings.custom_launcher_selector === 'string'\n\t\t\t\t? settings.custom_launcher_selector\n\t\t\t\t: undefined,\n\t\thideOnLaunch:\n\t\t\ttypeof settings.hide_default_launcher === 'boolean'\n\t\t\t\t? settings.hide_default_launcher\n\t\t\t\t: undefined,\n\t\ttriggerPosition: mapAlignment(settings.alignment)\n\t};\n}\n\nfunction mapAlignment(\n\talignment: 'left' | 'right' | undefined\n): 'bottom-left' | 'bottom-right' | undefined {\n\tif (alignment === 'left') return 'bottom-left';\n\tif (alignment === 'right') return 'bottom-right';\n\treturn undefined;\n}\n","import SupportWireWidget from 'widget-loader';\nimport { mapSettings } from './settings-map.js';\nimport type {\n\tIntercomSettings,\n\tQueuedCall,\n\tUnreadCountListener,\n\tShowListener,\n\tHideListener,\n\tUserEmailSuppliedListener\n} from './types.js';\n\ndeclare global {\n\tinterface Window {\n\t\tSupportWireMessenger?: SupportWireMessengerStub;\n\t}\n}\n\ninterface SupportWireMessengerStub {\n\t(...args: unknown[]): void;\n\tq?: QueuedCall[];\n}\n\n/**\n * Module-level singleton. Intercom assumes a single messenger per page,\n * keyed by `app_id`. We follow the same model — calling `Intercom({...})`\n * twice with different `app_id`s replaces the instance.\n */\nlet instance: SupportWireWidget | null = null;\nlet currentSettings: IntercomSettings | null = null;\n\nconst showListeners = new Set<ShowListener>();\nconst hideListeners = new Set<HideListener>();\nconst unreadListeners = new Set<UnreadCountListener>();\nconst emailListeners = new Set<UserEmailSuppliedListener>();\n\nlet lastUnreadCount = 0;\nlet lastSuppliedEmail: string | null = null;\n\nfunction installQueueStub(): SupportWireMessengerStub {\n\tif (typeof window === 'undefined') return makeQueueStub();\n\tif (window.SupportWireMessenger) return window.SupportWireMessenger;\n\n\tconst stub = makeQueueStub();\n\twindow.SupportWireMessenger = stub;\n\treturn stub;\n}\n\nfunction makeQueueStub(): SupportWireMessengerStub {\n\tconst queue: QueuedCall[] = [];\n\tconst stub: SupportWireMessengerStub = (...args: unknown[]) => {\n\t\tqueue.push(args as QueuedCall);\n\t};\n\tstub.q = queue;\n\treturn stub;\n}\n\nfunction drainQueue(): void {\n\tif (typeof window === 'undefined') return;\n\tconst stub = window.SupportWireMessenger;\n\tif (!stub || !stub.q) return;\n\tconst queued = stub.q.slice();\n\tstub.q.length = 0;\n\n\t// Replace stub with a live dispatcher.\n\tconst live: SupportWireMessengerStub = (...args: unknown[]) => {\n\t\tconst [method, ...rest] = args;\n\t\tdispatch(method as string, ...rest);\n\t};\n\tlive.q = [];\n\twindow.SupportWireMessenger = live;\n\n\tfor (const call of queued) {\n\t\tconst [method, ...rest] = call;\n\t\tdispatch(method as string, ...rest);\n\t}\n}\n\nfunction dispatch(method: string, ...args: unknown[]): void {\n\tswitch (method) {\n\t\tcase 'boot':\n\t\t\tboot(args[0] as IntercomSettings);\n\t\t\tbreak;\n\t\tcase 'update':\n\t\t\tupdate(args[0] as Partial<IntercomSettings>);\n\t\t\tbreak;\n\t\tcase 'shutdown':\n\t\t\tshutdown();\n\t\t\tbreak;\n\t\tcase 'show':\n\t\t\tshow();\n\t\t\tbreak;\n\t\tcase 'hide':\n\t\t\thide();\n\t\t\tbreak;\n\t\tcase 'showNewMessage':\n\t\t\tshowNewMessage(args[0] as string | undefined);\n\t\t\tbreak;\n\t\tcase 'trackEvent':\n\t\t\ttrackEvent(args[0] as string, args[1] as Record<string, unknown> | undefined);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t// Unknown command — log once and continue.\n\t\t\tconsole.warn(`[SupportWireMessenger] unknown command: ${method}`);\n\t}\n}\n\n/** Boot (or re-boot) the messenger with the given settings. */\nexport function boot(settings: IntercomSettings): void {\n\tif (typeof window === 'undefined') return;\n\tif (!settings || typeof settings.app_id !== 'string' || settings.app_id === '') {\n\t\tthrow new Error('[SupportWireMessenger] `app_id` is required');\n\t}\n\n\tinstallQueueStub();\n\n\t// Same app_id and instance already alive → update instead of re-mount.\n\tif (instance && currentSettings && currentSettings.app_id === settings.app_id) {\n\t\tupdate(settings);\n\t\treturn;\n\t}\n\n\tif (instance) {\n\t\tinstance.destroy();\n\t\tinstance = null;\n\t}\n\n\tconst cfg = mapSettings(settings);\n\tcurrentSettings = settings;\n\n\tconst widgetSlug = cfg.widgetSlug;\n\tconst previousEmail = lastSuppliedEmail;\n\n\tinstance = new SupportWireWidget({\n\t\twidgetSlug,\n\t\tuserEmail: cfg.userEmail,\n\t\tuserExternalUserId: cfg.userExternalUserId,\n\t\tuserSignature: cfg.userSignature,\n\t\tuserData: cfg.userData,\n\t\ttheme: cfg.theme,\n\t\tselector: cfg.selector,\n\t\thideOnLaunch: cfg.hideOnLaunch,\n\t\ttriggerPosition: cfg.triggerPosition,\n\t\tonOpen: () => {\n\t\t\tfor (const cb of showListeners) cb();\n\t\t},\n\t\tonClose: () => {\n\t\t\tfor (const cb of hideListeners) cb();\n\t\t}\n\t});\n\n\tif (cfg.userEmail && cfg.userEmail !== previousEmail) {\n\t\tlastSuppliedEmail = cfg.userEmail;\n\t\tfor (const cb of emailListeners) cb();\n\t}\n\n\tdrainQueue();\n}\n\n/** Cheap idempotent update — diff against current settings before forwarding. */\nexport function update(partial: Partial<IntercomSettings>): void {\n\tif (!instance) {\n\t\t// Allow `update` to behave like `boot` when called pre-boot with a full\n\t\t// settings object (Intercom does this too).\n\t\tif (partial && typeof partial.app_id === 'string') {\n\t\t\tboot(partial as IntercomSettings);\n\t\t}\n\t\treturn;\n\t}\n\n\tconst merged = { ...(currentSettings ?? {}), ...partial } as IntercomSettings;\n\tconst previousEmail = lastSuppliedEmail;\n\n\tcurrentSettings = merged;\n\tconst cfg = mapSettings(merged);\n\n\tinstance.updateConfig({\n\t\tuserEmail: cfg.userEmail || undefined,\n\t\tuserExternalUserId: cfg.userExternalUserId || undefined,\n\t\tuserSignature: cfg.userSignature || undefined,\n\t\tuserData: cfg.userData,\n\t\ttheme: cfg.theme\n\t});\n\n\tif (cfg.userEmail && cfg.userEmail !== previousEmail) {\n\t\tlastSuppliedEmail = cfg.userEmail;\n\t\tfor (const cb of emailListeners) cb();\n\t}\n}\n\n/**\n * Destroy the messenger and scrub session-local state so the next visitor\n * boots clean (Intercom's `shutdown` semantics).\n */\nexport function shutdown(): void {\n\tif (!instance) return;\n\tconst slug = currentSettings?.app_id;\n\tinstance.destroy();\n\tinstance = null;\n\tcurrentSettings = null;\n\tlastSuppliedEmail = null;\n\tlastUnreadCount = 0;\n\n\tif (typeof window !== 'undefined' && typeof localStorage !== 'undefined' && typeof slug === 'string') {\n\t\tfor (const key of Object.keys(localStorage)) {\n\t\t\tif (\n\t\t\t\tkey === `supportwire-unread-count-${slug}` ||\n\t\t\t\tkey.startsWith(`supportwire-widget-`) && key.endsWith(`-${slug}`)\n\t\t\t) {\n\t\t\t\ttry {\n\t\t\t\t\tlocalStorage.removeItem(key);\n\t\t\t\t} catch {\n\t\t\t\t\t/* ignore */\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function show(): void {\n\tinstance?.open();\n}\n\nexport function hide(): void {\n\tinstance?.close();\n}\n\n/**\n * Open the messenger with a pre-populated composer. We currently don't\n * support pre-filling the composer end-to-end, so we open and (if content\n * supplied) send it as a message — Intercom's `showNewMessage` is closer\n * to a hint than a guarantee, so call sites usually tolerate the delta.\n */\nexport function showNewMessage(content?: string): void {\n\tif (!instance) return;\n\tinstance.open();\n\tif (content && content.trim() !== '') {\n\t\tinstance.sendMessage(content);\n\t}\n}\n\nlet trackEventWarned = false;\nexport function trackEvent(name: string, _metadata?: Record<string, unknown>): void {\n\tif (!trackEventWarned) {\n\t\tconsole.warn(\n\t\t\t`[SupportWireMessenger] trackEvent(\"${name}\", ...) is a no-op until POST /v2/track_event ships.`\n\t\t);\n\t\ttrackEventWarned = true;\n\t}\n}\n\nexport function onShow(cb: ShowListener): () => void {\n\tshowListeners.add(cb);\n\treturn () => showListeners.delete(cb);\n}\n\nexport function onHide(cb: HideListener): () => void {\n\thideListeners.add(cb);\n\treturn () => hideListeners.delete(cb);\n}\n\nexport function onUnreadCountChange(cb: UnreadCountListener): () => void {\n\tunreadListeners.add(cb);\n\t// Immediately deliver the last-known count so late subscribers see state.\n\tcb(lastUnreadCount);\n\treturn () => unreadListeners.delete(cb);\n}\n\nexport function onUserEmailSupplied(cb: UserEmailSuppliedListener): () => void {\n\temailListeners.add(cb);\n\treturn () => emailListeners.delete(cb);\n}\n\nlet hideNotificationsWarned = false;\nexport function hideNotifications(_hidden: boolean): void {\n\tif (!hideNotificationsWarned) {\n\t\tconsole.warn(\n\t\t\t'[SupportWireMessenger] hideNotifications is a no-op for now; preview suppression lives in the widget app.'\n\t\t);\n\t\thideNotificationsWarned = true;\n\t}\n}\n\nexport function getVisitorId(): string | null {\n\t// Without a synchronous round-trip to the widget app we can't resolve\n\t// the live interactor id; Intercom's API is synchronous so we return\n\t// null for now. Async access can be added if/when needed.\n\treturn null;\n}\n\nexport function whoami(): null {\n\treturn null;\n}\n\nconst noopWarnedMap: Map<string, boolean> = new Map();\n\nfunction noop(method: string): (..._args: unknown[]) => void {\n\treturn (..._args: unknown[]) => {\n\t\tif (!noopWarnedMap.get(method)) {\n\t\t\tconsole.warn(`[SupportWireMessenger] ${method} is not implemented; ignoring call.`);\n\t\t\tnoopWarnedMap.set(method, true);\n\t\t}\n\t};\n}\n\nexport const startTour = noop('startTour');\nexport const showArticle = noop('showArticle');\nexport const showNews = noop('showNews');\nexport const startSurvey = noop('startSurvey');\nexport const startChecklist = noop('startChecklist');\nexport const showTicket = noop('showTicket');\nexport const showConversation = noop('showConversation');\nexport const showSpace = noop('showSpace');\nexport const showMessages = noop('showMessages');\n\n/* Used by index.ts to forward unread-count updates from the loader. Not\n * exported publicly — wiring lives inside the package. */\nexport function _emitUnreadCount(count: number): void {\n\tlastUnreadCount = count;\n\tfor (const cb of unreadListeners) cb(count);\n}\n","import {\n\tboot,\n\tupdate,\n\tshutdown,\n\tshow,\n\thide,\n\tshowNewMessage,\n\ttrackEvent,\n\tonShow,\n\tonHide,\n\tonUnreadCountChange,\n\tonUserEmailSupplied,\n\thideNotifications,\n\tgetVisitorId,\n\twhoami,\n\tstartTour,\n\tshowArticle,\n\tshowNews,\n\tstartSurvey,\n\tstartChecklist,\n\tshowTicket,\n\tshowConversation,\n\tshowSpace,\n\tshowMessages\n} from './manager.js';\nimport type { IntercomSettings } from './types.js';\n\n/**\n * Boot the SupportWire messenger. Accepts Intercom-shape settings so\n * `@intercom/messenger-js-sdk` integrations can drop this package in by\n * renaming the import:\n *\n * ```js\n * import SupportWire from '@supportwire/messenger-js-sdk';\n * SupportWire({ app_id: '<widget-slug>', user_id, email, user_hash });\n * ```\n *\n * For a literal drop-in, the same default export can be imported under\n * the name `Intercom` — default imports are renamed at the call site:\n *\n * ```js\n * import Intercom from '@supportwire/messenger-js-sdk';\n * Intercom({ app_id: '<widget-slug>' });\n * ```\n */\nfunction SupportWire(settings: IntercomSettings): void {\n\tboot(settings);\n}\n\nexport default SupportWire;\n\nexport {\n\tSupportWire,\n\tboot,\n\tupdate,\n\tshutdown,\n\tshow,\n\thide,\n\tshowNewMessage,\n\ttrackEvent,\n\tonShow,\n\tonHide,\n\tonUnreadCountChange,\n\tonUserEmailSupplied,\n\thideNotifications,\n\tgetVisitorId,\n\twhoami,\n\tstartTour,\n\tshowArticle,\n\tshowNews,\n\tstartSurvey,\n\tstartChecklist,\n\tshowTicket,\n\tshowConversation,\n\tshowSpace,\n\tshowMessages\n};\n\nexport type { IntercomSettings, IntercomSettings as SupportWireSettings } from './types.js';\n"],"names":["ht","gt","mt","De","ft","wt","ke","t","e","G","te","L","yt","bt","xt","Qe","et","vt","Et","Ct","Be","o","n","i","r","s","l","h","kt","St","Tt","It","Rt","g","d","Mt","$t","we","Se","Lt","Ot","Ft","Pt","y","m","k","u","b","E","C","U","ne","tt","Gt","Nt","At","_t","Ht","Te","We","zt","ie","Ut","x","I","Z","se","it","Dt","Bt","Ie","rt","je","ot","Wt","Ye","jt","Yt","qe","T","z","q","de","V","ce","ve","K","B","F","J","P","Le","at","Oe","c","_e","Fe","lt","pe","Pe","Ee","N","fe","Ge","ue","Q","A","Ne","W","Ae","M","R","_","ct","he","ge","me","ut","ee","dt","Ce","He","ze","pt","H","j","Ue","Me","Ze","Ve","qt","O","ae","Xe","Zt","be","Vt","Xt","xe","Kt","nt","st","$e","Jt","Qt","ei","ti","ii","ri","le","Re","oi","ni","si","ai","li","di","Ke","ye","ci","pi","ui","hi","D","gi","oe","X","Je","KNOWN_KEYS","mapSettings","settings","customAttrs","key","value","mapAlignment","alignment","instance","currentSettings","showListeners","hideListeners","unreadListeners","emailListeners","lastUnreadCount","lastSuppliedEmail","installQueueStub","makeQueueStub","stub","queue","args","drainQueue","queued","live","method","rest","dispatch","call","boot","update","shutdown","show","hide","showNewMessage","trackEvent","cfg","widgetSlug","previousEmail","SupportWireWidget","cb","partial","merged","slug","content","trackEventWarned","name","_metadata","onShow","onHide","onUnreadCountChange","onUserEmailSupplied","hideNotificationsWarned","hideNotifications","_hidden","getVisitorId","whoami","noopWarnedMap","noop","_args","startTour","showArticle","showNews","startSurvey","startChecklist","showTicket","showConversation","showSpace","showMessages","SupportWire"],"mappings":"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"}
|