@supportwire/messenger-js-sdk 1.0.26
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/README.md +80 -0
- package/dist/index-bfV4xNqW-CRQbrL80.js +1092 -0
- package/dist/index-bfV4xNqW-CRQbrL80.js.map +1 -0
- package/dist/index-bfV4xNqW-ChZOGalc.cjs +162 -0
- package/dist/index-bfV4xNqW-ChZOGalc.cjs.map +1 -0
- package/dist/index.cjs +921 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +149 -0
- package/dist/index.js +2646 -0
- package/dist/index.js.map +1 -0
- package/dist/snapdom-6yvsn_Iv-6uiY9rZc.js +3373 -0
- package/dist/snapdom-6yvsn_Iv-6uiY9rZc.js.map +1 -0
- package/dist/snapdom-6yvsn_Iv-OVmChxqF.cjs +9 -0
- package/dist/snapdom-6yvsn_Iv-OVmChxqF.cjs.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-bfV4xNqW-CRQbrL80.js","sources":["../../widget-loader/dist/index-bfV4xNqW.js"],"sourcesContent":["var te = Object.getOwnPropertySymbols;\nvar Me = Object.prototype.hasOwnProperty, Oe = Object.prototype.propertyIsEnumerable;\nvar ne = (t, e) => {\n var n = {};\n for (var i in t)\n Me.call(t, i) && e.indexOf(i) < 0 && (n[i] = t[i]);\n if (t != null && te)\n for (var i of te(t))\n e.indexOf(i) < 0 && Oe.call(t, i) && (n[i] = t[i]);\n return n;\n};\nconst S = globalThis, ie = (t) => t, M = S.trustedTypes, oe = M ? M.createPolicy(\"lit-html\", { createHTML: (t) => t }) : void 0, ve = \"$lit$\", x = `lit$${Math.random().toFixed(9).slice(2)}$`, be = \"?\" + x, Be = `<${be}>`, y = document, I = () => y.createComment(\"\"), C = (t) => t === null || typeof t != \"object\" && typeof t != \"function\", U = Array.isArray, ze = (t) => U(t) || typeof (t == null ? void 0 : t[Symbol.iterator]) == \"function\", z = `[ \t\n\\f\\r]`, E = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g, re = /-->/g, se = />/g, w = RegExp(`>|${z}(?:([^\\\\s\"'>=/]+)(${z}*=${z}*(?:[^ \t\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`, \"g\"), ae = /'/g, le = /\"/g, xe = /^(?:script|style|textarea|title)$/i, Fe = (t) => (e, ...n) => ({ _$litType$: t, strings: e, values: n }), m = Fe(1), T = /* @__PURE__ */ Symbol.for(\"lit-noChange\"), f = /* @__PURE__ */ Symbol.for(\"lit-nothing\"), ce = /* @__PURE__ */ new WeakMap(), $ = y.createTreeWalker(y, 129);\nfunction we(t, e) {\n if (!U(t) || !t.hasOwnProperty(\"raw\")) throw Error(\"invalid template strings array\");\n return oe !== void 0 ? oe.createHTML(e) : e;\n}\nconst je = (t, e) => {\n const n = t.length - 1, i = [];\n let o, r = e === 2 ? \"<svg>\" : e === 3 ? \"<math>\" : \"\", a = E;\n for (let u = 0; u < n; u++) {\n const c = t[u];\n let d, p, h = -1, v = 0;\n for (; v < c.length && (a.lastIndex = v, p = a.exec(c), p !== null); ) v = a.lastIndex, a === E ? p[1] === \"!--\" ? a = re : p[1] !== void 0 ? a = se : p[2] !== void 0 ? (xe.test(p[2]) && (o = RegExp(\"</\" + p[2], \"g\")), a = w) : p[3] !== void 0 && (a = w) : a === w ? p[0] === \">\" ? (a = o != null ? o : E, h = -1) : p[1] === void 0 ? h = -2 : (h = a.lastIndex - p[2].length, d = p[1], a = p[3] === void 0 ? w : p[3] === '\"' ? le : ae) : a === le || a === ae ? a = w : a === re || a === se ? a = E : (a = w, o = void 0);\n const b = a === w && t[u + 1].startsWith(\"/>\") ? \" \" : \"\";\n r += a === E ? c + Be : h >= 0 ? (i.push(d), c.slice(0, h) + ve + c.slice(h) + x + b) : c + x + (h === -2 ? u : b);\n }\n return [we(t, r + (t[n] || \"<?>\") + (e === 2 ? \"</svg>\" : e === 3 ? \"</math>\" : \"\")), i];\n};\nclass N {\n constructor({ strings: e, _$litType$: n }, i) {\n let o;\n this.parts = [];\n let r = 0, a = 0;\n const u = e.length - 1, c = this.parts, [d, p] = je(e, n);\n if (this.el = N.createElement(d, i), $.currentNode = this.el.content, n === 2 || n === 3) {\n const h = this.el.content.firstChild;\n h.replaceWith(...h.childNodes);\n }\n for (; (o = $.nextNode()) !== null && c.length < u; ) {\n if (o.nodeType === 1) {\n if (o.hasAttributes()) for (const h of o.getAttributeNames()) if (h.endsWith(ve)) {\n const v = p[a++], b = o.getAttribute(h).split(x), P = /([.?@])?(.*)/.exec(v);\n c.push({ type: 1, index: r, name: P[2], strings: b, ctor: P[1] === \".\" ? qe : P[1] === \"?\" ? Ue : P[1] === \"@\" ? Ve : O }), o.removeAttribute(h);\n } else h.startsWith(x) && (c.push({ type: 6, index: r }), o.removeAttribute(h));\n if (xe.test(o.tagName)) {\n const h = o.textContent.split(x), v = h.length - 1;\n if (v > 0) {\n o.textContent = M ? M.emptyScript : \"\";\n for (let b = 0; b < v; b++) o.append(h[b], I()), $.nextNode(), c.push({ type: 2, index: ++r });\n o.append(h[v], I());\n }\n }\n } else if (o.nodeType === 8) if (o.data === be) c.push({ type: 2, index: r });\n else {\n let h = -1;\n for (; (h = o.data.indexOf(x, h + 1)) !== -1; ) c.push({ type: 7, index: r }), h += x.length - 1;\n }\n r++;\n }\n }\n static createElement(e, n) {\n const i = y.createElement(\"template\");\n return i.innerHTML = e, i;\n }\n}\nfunction k(t, e, n = t, i) {\n var a, u, c;\n if (e === T) return e;\n let o = i !== void 0 ? (a = n._$Co) == null ? void 0 : a[i] : n._$Cl;\n const r = C(e) ? void 0 : e._$litDirective$;\n return (o == null ? void 0 : o.constructor) !== r && ((u = o == null ? void 0 : o._$AO) == null || u.call(o, !1), r === void 0 ? o = void 0 : (o = new r(t), o._$AT(t, n, i)), i !== void 0 ? ((c = n._$Co) != null ? c : n._$Co = [])[i] = o : n._$Cl = o), o !== void 0 && (e = k(t, o._$AS(t, e.values), o, i)), e;\n}\nclass De {\n constructor(e, n) {\n this._$AV = [], this._$AN = void 0, this._$AD = e, this._$AM = n;\n }\n get parentNode() {\n return this._$AM.parentNode;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n u(e) {\n var d;\n const { el: { content: n }, parts: i } = this._$AD, o = ((d = e == null ? void 0 : e.creationScope) != null ? d : y).importNode(n, !0);\n $.currentNode = o;\n let r = $.nextNode(), a = 0, u = 0, c = i[0];\n for (; c !== void 0; ) {\n if (a === c.index) {\n let p;\n c.type === 2 ? p = new L(r, r.nextSibling, this, e) : c.type === 1 ? p = new c.ctor(r, c.name, c.strings, this, e) : c.type === 6 && (p = new We(r, this, e)), this._$AV.push(p), c = i[++u];\n }\n a !== (c == null ? void 0 : c.index) && (r = $.nextNode(), a++);\n }\n return $.currentNode = y, o;\n }\n p(e) {\n let n = 0;\n for (const i of this._$AV) i !== void 0 && (i.strings !== void 0 ? (i._$AI(e, i, n), n += i.strings.length - 2) : i._$AI(e[n])), n++;\n }\n}\nclass L {\n get _$AU() {\n var e, n;\n return (n = (e = this._$AM) == null ? void 0 : e._$AU) != null ? n : this._$Cv;\n }\n constructor(e, n, i, o) {\n var r;\n this.type = 2, this._$AH = f, this._$AN = void 0, this._$AA = e, this._$AB = n, this._$AM = i, this.options = o, this._$Cv = (r = o == null ? void 0 : o.isConnected) != null ? r : !0;\n }\n get parentNode() {\n let e = this._$AA.parentNode;\n const n = this._$AM;\n return n !== void 0 && (e == null ? void 0 : e.nodeType) === 11 && (e = n.parentNode), e;\n }\n get startNode() {\n return this._$AA;\n }\n get endNode() {\n return this._$AB;\n }\n _$AI(e, n = this) {\n e = k(this, e, n), C(e) ? e === f || e == null || e === \"\" ? (this._$AH !== f && this._$AR(), this._$AH = f) : e !== this._$AH && e !== T && this._(e) : e._$litType$ !== void 0 ? this.$(e) : e.nodeType !== void 0 ? this.T(e) : ze(e) ? this.k(e) : this._(e);\n }\n O(e) {\n return this._$AA.parentNode.insertBefore(e, this._$AB);\n }\n T(e) {\n this._$AH !== e && (this._$AR(), this._$AH = this.O(e));\n }\n _(e) {\n this._$AH !== f && C(this._$AH) ? this._$AA.nextSibling.data = e : this.T(y.createTextNode(e)), this._$AH = e;\n }\n $(e) {\n var r;\n const { values: n, _$litType$: i } = e, o = typeof i == \"number\" ? this._$AC(e) : (i.el === void 0 && (i.el = N.createElement(we(i.h, i.h[0]), this.options)), i);\n if (((r = this._$AH) == null ? void 0 : r._$AD) === o) this._$AH.p(n);\n else {\n const a = new De(o, this), u = a.u(this.options);\n a.p(n), this.T(u), this._$AH = a;\n }\n }\n _$AC(e) {\n let n = ce.get(e.strings);\n return n === void 0 && ce.set(e.strings, n = new N(e)), n;\n }\n k(e) {\n U(this._$AH) || (this._$AH = [], this._$AR());\n const n = this._$AH;\n let i, o = 0;\n for (const r of e) o === n.length ? n.push(i = new L(this.O(I()), this.O(I()), this, this.options)) : i = n[o], i._$AI(r), o++;\n o < n.length && (this._$AR(i && i._$AB.nextSibling, o), n.length = o);\n }\n _$AR(e = this._$AA.nextSibling, n) {\n var i;\n for ((i = this._$AP) == null ? void 0 : i.call(this, !1, !0, n); e !== this._$AB; ) {\n const o = ie(e).nextSibling;\n ie(e).remove(), e = o;\n }\n }\n setConnected(e) {\n var n;\n this._$AM === void 0 && (this._$Cv = e, (n = this._$AP) == null || n.call(this, e));\n }\n}\nclass O {\n get tagName() {\n return this.element.tagName;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n constructor(e, n, i, o, r) {\n this.type = 1, this._$AH = f, this._$AN = void 0, this.element = e, this.name = n, this._$AM = o, this.options = r, i.length > 2 || i[0] !== \"\" || i[1] !== \"\" ? (this._$AH = Array(i.length - 1).fill(new String()), this.strings = i) : this._$AH = f;\n }\n _$AI(e, n = this, i, o) {\n const r = this.strings;\n let a = !1;\n if (r === void 0) e = k(this, e, n, 0), a = !C(e) || e !== this._$AH && e !== T, a && (this._$AH = e);\n else {\n const u = e;\n let c, d;\n for (e = r[0], c = 0; c < r.length - 1; c++) d = k(this, u[i + c], n, c), d === T && (d = this._$AH[c]), a || (a = !C(d) || d !== this._$AH[c]), d === f ? e = f : e !== f && (e += (d != null ? d : \"\") + r[c + 1]), this._$AH[c] = d;\n }\n a && !o && this.j(e);\n }\n j(e) {\n e === f ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, e != null ? e : \"\");\n }\n}\nclass qe extends O {\n constructor() {\n super(...arguments), this.type = 3;\n }\n j(e) {\n this.element[this.name] = e === f ? void 0 : e;\n }\n}\nclass Ue extends O {\n constructor() {\n super(...arguments), this.type = 4;\n }\n j(e) {\n this.element.toggleAttribute(this.name, !!e && e !== f);\n }\n}\nclass Ve extends O {\n constructor(e, n, i, o, r) {\n super(e, n, i, o, r), this.type = 5;\n }\n _$AI(e, n = this) {\n var a;\n if ((e = (a = k(this, e, n, 0)) != null ? a : f) === T) return;\n const i = this._$AH, o = e === f && i !== f || e.capture !== i.capture || e.once !== i.once || e.passive !== i.passive, r = e !== f && (i === f || o);\n o && this.element.removeEventListener(this.name, this, i), r && this.element.addEventListener(this.name, this, e), this._$AH = e;\n }\n handleEvent(e) {\n var n, i;\n typeof this._$AH == \"function\" ? this._$AH.call((i = (n = this.options) == null ? void 0 : n.host) != null ? i : this.element, e) : this._$AH.handleEvent(e);\n }\n}\nclass We {\n constructor(e, n, i) {\n this.element = e, this.type = 6, this._$AN = void 0, this._$AM = n, this.options = i;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AI(e) {\n k(this, e);\n }\n}\nconst F = S.litHtmlPolyfillSupport;\nvar ge;\nF == null || F(N, L), ((ge = S.litHtmlVersions) != null ? ge : S.litHtmlVersions = []).push(\"3.3.2\");\nconst g = (t, e, n) => {\n const i = e;\n let o = i._$litPart$;\n return o === void 0 && (i._$litPart$ = o = new L(e.insertBefore(I(), null), null, void 0, {})), o._$AI(t), o;\n}, Xe = `\n :host { all: initial; }\n .root {\n position: fixed; inset: 0; pointer-events: none; z-index: 2147483647;\n font-family: system-ui, -apple-system, sans-serif; font-size: 13px;\n }\n .cursor {\n position: absolute; width: 24px; height: 24px;\n background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 2 L3 18 L7 14 L9 21 L13 19 L11 12 L18 12 Z' fill='%23F76808' stroke='white' stroke-width='1.5'/></svg>\");\n background-size: contain; background-repeat: no-repeat; background-position: center;\n transform: translate(-50%, -50%);\n transition: left 0.6s cubic-bezier(0.16,1,0.3,1), top 0.6s cubic-bezier(0.16,1,0.3,1);\n filter: drop-shadow(0 1px 3px rgba(0,0,0,0.4));\n }\n .cursor.shake { animation: shake 0.3s; }\n @keyframes shake {\n 0%,100% { transform: translate(-50%,-50%); }\n 25% { transform: translate(calc(-50% - 4px),-50%); }\n 75% { transform: translate(calc(-50% + 4px),-50%); }\n }\n .tooltip {\n position: absolute; background: #111; color: #fff;\n padding: 8px 12px; border-radius: 8px; max-width: 280px;\n box-shadow: 0 6px 24px rgba(0,0,0,0.25); pointer-events: auto;\n }\n .control-bar {\n position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);\n display: inline-flex; align-items: center; gap: 4px;\n padding: 6px 8px; border-radius: 999px;\n background: rgba(17, 17, 17, 0.92);\n color: #fff;\n box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), 0 1px 0 rgba(255, 255, 255, 0.06) inset;\n border: 1px solid rgba(255, 255, 255, 0.08);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n pointer-events: auto;\n font: inherit;\n animation: cb-fade-in 220ms cubic-bezier(0.16, 1, 0.3, 1) both;\n }\n @keyframes cb-fade-in {\n from { opacity: 0; transform: translate(-50%, 8px); }\n to { opacity: 1; transform: translate(-50%, 0); }\n }\n .cb-btn {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 6px 10px; border-radius: 999px; border: 0; cursor: pointer;\n background: transparent; color: #fff; font: inherit;\n font-size: 12px; font-weight: 500;\n transition: background-color 120ms ease;\n }\n .cb-btn:hover { background: rgba(255, 255, 255, 0.08); }\n .cb-btn:focus-visible {\n outline: 2px solid #F76808; outline-offset: 2px;\n }\n .cb-btn svg { display: block; }\n .cb-exit svg { color: rgba(255, 255, 255, 0.7); }\n .cb-skip svg { color: rgba(255, 255, 255, 0.7); }\n .cb-counter {\n display: inline-flex; align-items: baseline; gap: 2px;\n padding: 0 8px;\n font-size: 12px; font-weight: 600;\n font-variant-numeric: tabular-nums;\n }\n .cb-current { color: #fff; }\n .cb-sep { color: rgba(255, 255, 255, 0.4); margin: 0 2px; }\n .cb-total { color: rgba(255, 255, 255, 0.6); }\n .cb-divider {\n width: 1px; height: 16px;\n background: rgba(255, 255, 255, 0.12);\n }\n .toast {\n position: fixed; bottom: 84px; left: 50%; transform: translateX(-50%);\n background: #111; color: #fff; padding: 10px 16px; border-radius: 8px;\n box-shadow: 0 6px 24px rgba(0,0,0,0.25); pointer-events: auto;\n max-width: 90vw;\n }\n .toast.error { background: #b42318; }\n .highlight {\n position: absolute; pointer-events: none;\n border-radius: 8px;\n box-shadow: 0 0 0 3px #F76808, 0 0 0 6px rgba(247, 104, 8, 0.25),\n 0 0 24px rgba(247, 104, 8, 0.45);\n transition: top 0.3s cubic-bezier(0.16,1,0.3,1),\n left 0.3s cubic-bezier(0.16,1,0.3,1),\n width 0.3s cubic-bezier(0.16,1,0.3,1),\n height 0.3s cubic-bezier(0.16,1,0.3,1);\n }\n .highlight.pulse { animation: hl-pulse 1.4s cubic-bezier(0.16,1,0.3,1) 2; }\n @keyframes hl-pulse {\n 0% { box-shadow: 0 0 0 3px #F76808, 0 0 0 6px rgba(247,104,8,0.25),\n 0 0 24px rgba(247,104,8,0.45); }\n 50% { box-shadow: 0 0 0 4px #F76808, 0 0 0 14px rgba(247,104,8,0.18),\n 0 0 36px rgba(247,104,8,0.55); }\n 100% { box-shadow: 0 0 0 3px #F76808, 0 0 0 6px rgba(247,104,8,0.25),\n 0 0 24px rgba(247,104,8,0.45); }\n }\n @media (prefers-reduced-motion: reduce) {\n .highlight { transition: none; }\n .highlight.pulse { animation: none; }\n }\n .hover-frame {\n position: absolute; pointer-events: none;\n border-radius: 6px;\n outline: 2px solid #F76808;\n background: rgba(247, 104, 8, 0.06);\n transition: top 80ms linear, left 80ms linear,\n width 80ms linear, height 80ms linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .hover-frame { transition: none; }\n }\n .pill {\n position: fixed; top: 16px; right: 16px; background: #F76808; color: #fff;\n padding: 8px 12px; border-radius: 999px; pointer-events: auto;\n display: flex; align-items: center; gap: 8px; font-weight: 600;\n }\n .pill button { border: 0; background: transparent; color: #fff; cursor: pointer; }\n`;\nclass $e {\n constructor() {\n this.host = document.createElement(\"div\"), this.host.id = \"sw-guide-overlay\", this.shadow = this.host.attachShadow({ mode: \"open\" });\n const e = document.createElement(\"style\");\n e.textContent = Xe, this.shadow.appendChild(e), this.root = document.createElement(\"div\"), this.root.className = \"root\", this.shadow.appendChild(this.root), document.body.appendChild(this.host);\n }\n renderCursor(e, n, i = !1) {\n const o = m`\n <div class=\"cursor ${i ? \"shake\" : \"\"}\"\n style=\"left:${e}px; top:${n}px\"></div>\n `;\n let r = this.shadow.querySelector(\".cursor-slot\");\n r || (r = document.createElement(\"div\"), r.className = \"cursor-slot\", this.root.appendChild(r)), g(o, r);\n }\n renderTooltip(e, n, i) {\n let o = this.shadow.querySelector(\".tooltip-slot\");\n o || (o = document.createElement(\"div\"), o.className = \"tooltip-slot\", this.root.appendChild(o)), g(i ? m`<div class=\"tooltip\" style=\"left:${e}px; top:${n + 30}px\">${i}</div>` : m``, o);\n }\n renderControlBar(e) {\n let n = this.shadow.querySelector(\".control-bar-slot\");\n if (n || (n = document.createElement(\"div\"), n.className = \"control-bar-slot\", this.root.appendChild(n)), e.total === null) {\n g(m``, n);\n return;\n }\n g(\n m`\n <div class=\"control-bar\" role=\"toolbar\" aria-label=\"Guide controls\">\n <button class=\"cb-btn cb-exit\" @click=${e.onExit} aria-label=\"Exit guide\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6L6 18M6 6l12 12\"/></svg>\n <span>Exit</span>\n </button>\n <div class=\"cb-divider\"></div>\n <div class=\"cb-counter\">\n <span class=\"cb-current\">${e.current}</span>\n <span class=\"cb-sep\">/</span>\n <span class=\"cb-total\">${e.total}</span>\n </div>\n <div class=\"cb-divider\"></div>\n <button class=\"cb-btn cb-skip\" @click=${e.onSkip} aria-label=\"Skip step\">\n <span>Skip</span>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 4l10 8-10 8V4zm14 0v16\"/></svg>\n </button>\n </div>\n `,\n n\n );\n }\n renderHighlight(e, n = {}) {\n let i = this.shadow.querySelector(\".highlight-slot\");\n if (i || (i = document.createElement(\"div\"), i.className = \"highlight-slot\", this.root.appendChild(i)), !e) {\n g(m``, i);\n return;\n }\n const o = 4;\n g(\n m`\n <div\n class=\"highlight ${n.pulse ? \"pulse\" : \"\"}\"\n style=\"left:${e.left - o}px; top:${e.top - o}px;\n width:${e.width + o * 2}px; height:${e.height + o * 2}px\"\n ></div>\n `,\n i\n );\n }\n renderHoverFrame(e) {\n let n = this.shadow.querySelector(\".hover-frame-slot\");\n if (n || (n = document.createElement(\"div\"), n.className = \"hover-frame-slot\", this.root.appendChild(n)), !e) {\n g(m``, n);\n return;\n }\n const i = 2;\n g(\n m`\n <div\n class=\"hover-frame\"\n style=\"left:${e.left - i}px; top:${e.top - i}px;\n width:${e.width + i * 2}px; height:${e.height + i * 2}px\"\n ></div>\n `,\n n\n );\n }\n toast(e, n = \"info\", i = 4e3) {\n let o = this.shadow.querySelector(\".toast-slot\");\n o || (o = document.createElement(\"div\"), o.className = \"toast-slot\", this.root.appendChild(o)), g(m`<div class=\"toast ${n === \"error\" ? \"error\" : \"\"}\">${e}</div>`, o), setTimeout(() => g(m``, o), i);\n }\n renderPill(e, n, i, o, r) {\n let a = this.shadow.querySelector(\".pill-slot\");\n a || (a = document.createElement(\"div\"), a.className = \"pill-slot\", this.root.appendChild(a)), g(m`\n <div class=\"pill\">\n <span>● Recording: ${e}</span>\n <span>${n} step${n === 1 ? \"\" : \"s\"}</span>\n ${i ? m`<span style=\"opacity:0.85\">— ${i}</span>` : \"\"}\n <button @click=${r}>Pause</button>\n <button @click=${o}>Stop</button>\n </div>\n `, a);\n }\n destroy() {\n this.host.remove();\n }\n}\nconst Ze = [\"data-testid\", \"data-cy\", \"data-test\"], ue = /(\\d.*\\d.*\\d.*\\d.*\\d|css-[a-z0-9]{4,})/;\nfunction ye(t) {\n const e = [], n = de(t, \"data-sw-anchor\", 5);\n if (n) {\n const a = n.getAttribute(\"data-sw-anchor\");\n e.push(\n n === t ? { kind: \"sw-anchor\", anchorId: a } : { kind: \"sw-anchor\", anchorId: a, childPath: Qe(n, t) }\n );\n }\n for (const a of Ze) {\n const u = de(t, a, 3);\n if (u) {\n e.push({ kind: \"test-id\", attr: a, value: u.getAttribute(a) });\n break;\n }\n }\n const i = Ye(t), o = Ke(t);\n i && o && e.push({ kind: \"aria\", role: i, name: o });\n const r = D(t);\n if (r && r.length <= 80) {\n const a = t.tagName.toLowerCase(), c = Array.from(document.querySelectorAll(a)).filter((d) => D(d) === r).indexOf(t) + 1;\n c > 0 && e.push({ kind: \"text\", tag: a, text: r, nthOfMatch: c });\n }\n return e.push({ kind: \"css-path\", path: Ge(t) }), e.push({ kind: \"xpath\", xpath: tt(t) }), e;\n}\nfunction de(t, e, n) {\n let i = t;\n for (let o = 0; o <= n && i; o++) {\n if (i.hasAttribute(e)) return i;\n i = i.parentElement;\n }\n return null;\n}\nfunction Ye(t) {\n return t.getAttribute(\"role\") || Je(t);\n}\nfunction Je(t) {\n switch (t.tagName.toLowerCase()) {\n case \"button\":\n return \"button\";\n case \"a\":\n return t.hasAttribute(\"href\") ? \"link\" : null;\n case \"input\": {\n const n = t.type;\n return n === \"checkbox\" ? \"checkbox\" : n === \"radio\" ? \"radio\" : n === \"button\" || n === \"submit\" ? \"button\" : \"textbox\";\n }\n case \"textarea\":\n return \"textbox\";\n case \"select\":\n return \"combobox\";\n case \"nav\":\n return \"navigation\";\n case \"main\":\n return \"main\";\n case \"header\":\n return \"banner\";\n case \"footer\":\n return \"contentinfo\";\n default:\n return null;\n }\n}\nfunction Ke(t) {\n const e = t.getAttribute(\"aria-labelledby\");\n if (e) {\n const u = e.split(/\\s+/).map((c) => {\n var d, p;\n return (p = (d = document.getElementById(c)) == null ? void 0 : d.textContent) != null ? p : \"\";\n }).join(\" \").trim();\n if (u) return u;\n }\n const n = t.getAttribute(\"aria-label\");\n if (n) return n.trim();\n const i = t.getAttribute(\"alt\");\n if (i) return i.trim();\n const o = t.getAttribute(\"title\");\n if (o) return o.trim();\n if (t.tagName === \"INPUT\") {\n const a = t.placeholder;\n if (a) return a.trim();\n }\n return D(t) || null;\n}\nfunction D(t) {\n return Array.from(t.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => {\n var n;\n return (n = e.textContent) != null ? n : \"\";\n }).join(\"\").trim();\n}\nfunction Qe(t, e) {\n var o;\n const n = [];\n let i = e;\n for (; i && i !== t; ) {\n const r = Array.from(((o = i.parentElement) == null ? void 0 : o.children) || []).indexOf(i) + 1;\n n.unshift(`${i.tagName.toLowerCase()}:nth-child(${r})`), i = i.parentElement;\n }\n return n.join(\" > \");\n}\nfunction Ge(t) {\n const e = [];\n let n = t;\n for (; n; ) {\n let o = n.tagName.toLowerCase();\n const r = n.id;\n if (r && !ue.test(r)) {\n o = `#${pe(r)}`, e.unshift(o);\n break;\n }\n const a = Array.from(n.classList).find((u) => !ue.test(u));\n if (a && (o += `.${pe(a)}`), n.parentElement) {\n const u = Array.from(n.parentElement.children).indexOf(n) + 1;\n o += `:nth-child(${u})`;\n }\n if (e.unshift(o), et(e.join(\" > \"))) break;\n n = n.parentElement;\n }\n return e.join(\" > \");\n}\nfunction et(t) {\n try {\n return document.querySelectorAll(t).length === 1;\n } catch (e) {\n return !1;\n }\n}\nfunction tt(t) {\n var i;\n const e = [];\n let n = t;\n for (; n && n.nodeType === 1; ) {\n const o = Array.from(((i = n.parentElement) == null ? void 0 : i.children) || []).filter(\n (r) => r.tagName === n.tagName\n ).indexOf(n) + 1;\n e.unshift(`${n.tagName.toLowerCase()}[${o}]`), n = n.parentElement;\n }\n return \"/\" + e.join(\"/\");\n}\nfunction pe(t) {\n return window.CSS && CSS.escape ? CSS.escape(t) : t.replace(/[^a-zA-Z0-9_-]/g, \"\\\\$&\");\n}\nconst V = \"sw.guide.recording\", W = \"sw.guide.playback\";\nfunction _e(t) {\n localStorage.setItem(V, JSON.stringify(t));\n}\nfunction Ae() {\n const t = localStorage.getItem(V);\n if (!t) return null;\n try {\n return JSON.parse(t);\n } catch (e) {\n return null;\n }\n}\nfunction ke() {\n localStorage.removeItem(V);\n}\nfunction B(t) {\n localStorage.setItem(W, JSON.stringify(t));\n}\nfunction nt() {\n const t = localStorage.getItem(W);\n if (!t) return null;\n try {\n return JSON.parse(t);\n } catch (e) {\n return null;\n }\n}\nfunction it() {\n localStorage.removeItem(W);\n}\nlet l = null;\nfunction ot({ guideId: t, title: e }) {\n l && X();\n const n = Ae(), i = n && n.guideId === t ? n.steps : [];\n l = {\n guideId: t,\n title: e,\n steps: i,\n shell: new $e(),\n paused: !1,\n lastUrl: location.pathname + location.search\n }, st(), H(), _e({ guideId: t, title: e, steps: i, startedAt: Date.now() });\n}\nfunction Ee() {\n l && (l.paused = !0, l.shell.renderHoverFrame(null), _ = null), H();\n}\nfunction Se() {\n l && (l.paused = !1), H();\n}\nfunction X() {\n if (!l) return null;\n for (at(), Z(); l.steps.length && l.steps[l.steps.length - 1].type === \"wait_for_navigation\"; )\n l.steps.pop();\n const t = { guideId: l.guideId, title: l.title, steps: l.steps };\n return l.shell.destroy(), ke(), l = null, t;\n}\nfunction H() {\n if (!l) return;\n const t = l.steps[l.steps.length - 1], e = t ? rt(t) : null;\n l.shell.renderPill(\n l.title,\n l.steps.length,\n e,\n () => {\n const n = X();\n window.dispatchEvent(new CustomEvent(\"sw-guide:recording-done\", { detail: n }));\n },\n () => {\n l.paused ? Se() : Ee();\n }\n );\n}\nfunction rt(t) {\n switch (t.type) {\n case \"click\":\n return `clicked '${t.accessibleName || t.elementText || \"\"}'`;\n case \"type\":\n return `typed in '${t.fieldLabel || \"\"}'`;\n case \"scroll_to\":\n return `scrolled to '${t.anchorText || \"\"}'`;\n case \"wait_for_navigation\":\n return \"navigated\";\n }\n}\nfunction st() {\n document.addEventListener(\"click\", Te, !0), document.addEventListener(\"input\", Ne, !0), document.addEventListener(\"blur\", Le, !0), document.addEventListener(\"mousemove\", Ie, !0), document.addEventListener(\"mouseleave\", Ce, !0), window.addEventListener(\"beforeunload\", Y), window.addEventListener(\"popstate\", He);\n}\nfunction at() {\n document.removeEventListener(\"click\", Te, !0), document.removeEventListener(\"input\", Ne, !0), document.removeEventListener(\"blur\", Le, !0), document.removeEventListener(\"mousemove\", Ie, !0), document.removeEventListener(\"mouseleave\", Ce, !0), window.removeEventListener(\"beforeunload\", Y), window.removeEventListener(\"popstate\", He);\n}\nlet j = 0, _ = null;\nfunction Ie(t) {\n !l || l.paused || j || (j = requestAnimationFrame(() => {\n if (j = 0, !l) return;\n const e = document.elementFromPoint(t.clientX, t.clientY);\n if (!e || !(e instanceof HTMLElement) || K(e)) {\n _ && (l.shell.renderHoverFrame(null), _ = null);\n return;\n }\n e !== _ && (_ = e, l.shell.renderHoverFrame(e.getBoundingClientRect()));\n }));\n}\nfunction Ce() {\n l && (l.shell.renderHoverFrame(null), _ = null);\n}\nfunction Te(t) {\n if (!l || l.paused) return;\n const e = t.target;\n !e || K(e) || (Z(), l.steps.push({\n type: \"click\",\n selectors: ye(e),\n elementText: he(e),\n accessibleName: e.getAttribute(\"aria-label\") || he(e),\n urlAtCapture: location.pathname + location.search,\n viewportSize: { width: innerWidth, height: innerHeight },\n ts: Date.now()\n }), J(), H());\n}\nfunction Ne(t) {\n if (!l || l.paused) return;\n const e = t.target;\n !e || !(\"value\" in e) || K(e) || (!l.pendingTypeStep || l.pendingTypeStep.fieldElement !== e ? l.pendingTypeStep = {\n type: \"type\",\n selectors: ye(e),\n fieldLabel: lt(e),\n finalValue: e.value,\n prefillValue: e.value,\n urlAtCapture: location.pathname + location.search,\n ts: Date.now(),\n fieldElement: e\n } : (l.pendingTypeStep.finalValue = e.value, l.pendingTypeStep.prefillValue = e.value));\n}\nfunction Le(t) {\n if (!l) return;\n const e = t.target;\n l.pendingTypeStep && l.pendingTypeStep.fieldElement === e && (Z(), H());\n}\nfunction Z() {\n if (!l || !l.pendingTypeStep) return;\n const n = l.pendingTypeStep, { fieldElement: t } = n, e = ne(n, [\"fieldElement\"]);\n l.steps.push(e), l.pendingTypeStep = void 0, J();\n}\nfunction Y() {\n l && (l.steps.push({\n type: \"wait_for_navigation\",\n fromUrl: l.lastUrl,\n toUrl: location.pathname + location.search,\n urlAtCapture: location.pathname + location.search,\n ts: Date.now()\n }), J());\n}\nfunction He() {\n Y();\n}\nfunction J() {\n l && _e({\n guideId: l.guideId,\n title: l.title,\n steps: l.steps,\n startedAt: Date.now()\n });\n}\nfunction lt(t) {\n var e;\n return (t.getAttribute(\"aria-label\") || t.placeholder || t.id && ((e = document.querySelector(`label[for=\"${t.id}\"]`)) == null ? void 0 : e.textContent) || \"\").trim();\n}\nfunction he(t) {\n return Array.from(t.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => {\n var n;\n return (n = e.textContent) != null ? n : \"\";\n }).join(\"\").trim();\n}\nfunction K(t) {\n return !!t.closest(\"#sw-guide-overlay\");\n}\nfunction ct() {\n const t = Ae();\n return t && Date.now() - t.startedAt < 1800 * 1e3 ? t : (t && ke(), null);\n}\nconst Lt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n maybeResume: ct,\n pause: Ee,\n resume: Se,\n start: ot,\n stop: X\n}, Symbol.toStringTag, { value: \"Module\" }));\nasync function ut(t, e) {\n const { timeoutMs: n, pollMs: i = 200 } = e, o = performance.now() + n;\n let r = null;\n for (; performance.now() < o; ) {\n for (const a of t) {\n const u = dt(a);\n if (u && pt(u))\n if (!r)\n r = u;\n else {\n if (r === u)\n return u;\n r = u;\n }\n }\n await gt(i);\n }\n return null;\n}\nfunction dt(t) {\n switch (t.kind) {\n case \"sw-anchor\": {\n const e = document.querySelector(\n `[data-sw-anchor=\"${fe(t.anchorId)}\"]`\n );\n return e ? t.childPath ? e.querySelector(t.childPath) : e : null;\n }\n case \"test-id\":\n return document.querySelector(\n `[${t.attr}=\"${fe(t.value)}\"]`\n );\n case \"aria\":\n return ht(t.role, t.name);\n case \"text\":\n return ft(t.tag, t.text, t.nthOfMatch);\n case \"css-path\":\n try {\n return document.querySelector(t.path);\n } catch (e) {\n return null;\n }\n case \"xpath\":\n return document.evaluate(\n t.xpath,\n document,\n null,\n XPathResult.FIRST_ORDERED_NODE_TYPE,\n null\n ).singleNodeValue || null;\n }\n}\nfunction pt(t) {\n if (t.offsetParent === null && getComputedStyle(t).position !== \"fixed\") return !1;\n const e = t.getBoundingClientRect();\n if (e.width === 0 || e.height === 0) return !1;\n const n = getComputedStyle(t);\n if (n.visibility === \"hidden\" || n.pointerEvents === \"none\") return !1;\n (e.bottom < 0 || e.top > innerHeight || e.right < 0 || e.left > innerWidth) && t.scrollIntoView({ block: \"center\", inline: \"center\" });\n const i = e.left + e.width / 2, o = e.top + e.height / 2, r = document.elementFromPoint(i, o);\n return r ? r === t || t.contains(r) : !1;\n}\nfunction ht(t, e) {\n const n = Array.from(document.querySelectorAll(\"*\")), i = e.toLowerCase();\n return n.find((o) => {\n if ((o.getAttribute(\"role\") || \"\").toLowerCase() !== t) return !1;\n const a = (o.getAttribute(\"aria-label\") || o.textContent || \"\").trim().toLowerCase();\n return a === i || a.startsWith(i);\n }) || null;\n}\nfunction ft(t, e, n) {\n return Array.from(document.querySelectorAll(t)).filter((r) => mt(r) === e)[n - 1] || null;\n}\nfunction mt(t) {\n return Array.from(t.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => {\n var n;\n return (n = e.textContent) != null ? n : \"\";\n }).join(\"\").trim();\n}\nfunction gt(t) {\n return new Promise((e) => setTimeout(e, t));\n}\nfunction fe(t) {\n return window.CSS && CSS.escape ? CSS.escape(t) : t.replace(/[^a-zA-Z0-9_-]/g, \"\\\\$&\");\n}\nfunction Q(t, e, n) {\n const [i, o = \"\"] = t.split(\"?\"), [r, a = \"\"] = e.split(\"?\");\n return vt(i, r, n) ? !o && !a ? !0 : bt(o, a, n) : !1;\n}\nfunction vt(t, e, n) {\n const i = t.split(\"/\").filter(Boolean), o = e.split(\"/\").filter(Boolean);\n return i.length !== o.length ? !1 : i.every((r, a) => r === o[a] || n.includes(r));\n}\nfunction bt(t, e, n) {\n var r, a;\n const i = new URLSearchParams(t), o = new URLSearchParams(e);\n if ([...i.keys()].sort().join() !== [...o.keys()].sort().join())\n return !1;\n for (const u of i.keys()) {\n const c = (r = i.get(u)) != null ? r : \"\", d = (a = o.get(u)) != null ? a : \"\";\n if (c !== d && !n.includes(c)) return !1;\n }\n return !0;\n}\nlet s = null, R = null;\nfunction xt(t) {\n R = t;\n}\nasync function wt(t) {\n var e;\n if (s && A(\"superseded\", \"superseded\"), Re(), s = {\n sessionId: t.sessionId,\n guideId: t.guideId,\n versionId: t.versionId,\n version: t.version,\n stepIndex: (e = t.resumeStepIndex) != null ? e : 0,\n shell: new $e(),\n exited: !1\n }, s.version.domain_strategy === \"specific\" && s.version.specific_domain && location.host !== s.version.specific_domain)\n return s.shell.toast(`This guide only works on ${s.version.specific_domain}.`, \"error\"), A(\"failed\", \"wrong_start\");\n if (s.shell.renderControlBar({\n current: s.stepIndex + 1,\n total: s.version.steps.length,\n onSkip: G,\n onExit: ee\n }), s.stepIndex === 0) {\n const n = s.version.steps[0];\n if (!Q(\n n.url_path,\n location.pathname + location.search,\n s.version.wildcard_values\n )) {\n if (!await $t(n.url_path)) return A(\"exited\", \"wrong_start\");\n B({\n sessionId: s.sessionId,\n guideId: s.guideId,\n versionId: s.versionId,\n stepIndex: 0,\n version: s.version\n }), location.href = location.origin + n.url_path;\n return;\n }\n }\n await yt();\n}\nasync function $t(t) {\n return new Promise((e) => {\n if (!s) return e(!1);\n s.shell.toast(`This guide starts on ${t}.`, \"info\", 999999), setTimeout(() => e(!0), 0);\n });\n}\nasync function yt() {\n for (; s && !s.exited && s.stepIndex < s.version.steps.length; ) {\n const t = s.version.steps[s.stepIndex];\n if (s.shell.renderControlBar({\n current: s.stepIndex + 1,\n total: s.version.steps.length,\n onSkip: G,\n onExit: ee\n }), !Q(\n t.url_path,\n location.pathname + location.search,\n s.version.wildcard_values\n )) {\n B({\n sessionId: s.sessionId,\n guideId: s.guideId,\n versionId: s.versionId,\n stepIndex: s.stepIndex,\n version: s.version\n });\n const n = await Et(t.url_path, 2e4);\n if (!s || s.exited) return;\n if (!n)\n return s.shell.toast(\"Looks like you've gone elsewhere.\", \"info\"), A(\"failed\", \"off_site\");\n }\n if (t.step_type === \"wait_for_navigation\") {\n s.stepIndex++;\n continue;\n }\n const e = await ut(t.selectors, { timeoutMs: 1e4 });\n if (!e) {\n s.shell.toast(\"We can't find this — Skip / Exit.\", \"info\", 999999), await St();\n continue;\n }\n t.step_type === \"scroll_to\" && (e.scrollIntoView({ block: \"center\", inline: \"center\", behavior: \"smooth\" }), await Tt(300)), kt(e, s.stepIndex === 0), t.step_type === \"click\" ? await _t(e, t) : t.step_type === \"type\" ? await At(e, t) : t.step_type === \"scroll_to\" && s.stepIndex++, s == null || s.shell.renderHighlight(null), It();\n }\n s && !s.exited && A(\"completed\", \"completed\");\n}\nasync function _t(t, e) {\n s && (q(t), e.tooltip && Pe(t, e.tooltip), await new Promise((n) => {\n const i = (o) => {\n const r = o.target;\n t === r || t.contains(r) ? (document.removeEventListener(\"click\", i, !0), s && B({\n sessionId: s.sessionId,\n guideId: s.guideId,\n versionId: s.versionId,\n stepIndex: s.stepIndex + 1,\n version: s.version\n }), n()) : (s.shell.toast(\"Click the highlighted item.\", \"info\", 1500), t && q(t, !0));\n };\n document.addEventListener(\"click\", i, !0);\n }), s.shell.renderTooltip(0, 0, null), s.stepIndex++);\n}\nasync function At(t, e) {\n s && (q(t), e.prefill_value && (t.focus(), t.value = e.prefill_value, t.dispatchEvent(new Event(\"input\", { bubbles: !0 }))), (e.tooltip || e.field_label) && Pe(t, e.tooltip || `Type your ${e.field_label}`), await new Promise((n) => {\n const i = () => {\n t.removeEventListener(\"blur\", i), n();\n };\n t.addEventListener(\"blur\", i);\n }), s.shell.renderTooltip(0, 0, null), s.stepIndex++);\n}\nfunction q(t, e = !1) {\n if (!s) return;\n const n = t.getBoundingClientRect();\n s.shell.renderCursor(n.left + n.width / 2, n.top + n.height / 2, e);\n}\nfunction kt(t, e) {\n s && s.shell.renderHighlight(t.getBoundingClientRect(), { pulse: e });\n}\nfunction Pe(t, e) {\n if (!s) return;\n const n = t.getBoundingClientRect();\n s.shell.renderTooltip(n.left + n.width / 2, n.bottom, e);\n}\nlet me = !1;\nfunction Re() {\n if (me) return;\n me = !0;\n const t = () => window.dispatchEvent(new Event(\"sw-guide:locationchange\")), e = history.pushState, n = history.replaceState;\n history.pushState = function(...i) {\n const o = e.apply(this, i);\n return t(), o;\n }, history.replaceState = function(...i) {\n const o = n.apply(this, i);\n return t(), o;\n }, window.addEventListener(\"popstate\", t);\n}\nfunction Et(t, e) {\n return Re(), new Promise((n) => {\n let i = !1;\n const o = (c) => {\n i || (i = !0, clearTimeout(a), clearInterval(u), window.removeEventListener(\"sw-guide:locationchange\", r), n(c));\n }, r = () => {\n Q(\n t,\n location.pathname + location.search,\n (s == null ? void 0 : s.version.wildcard_values) || []\n ) && o(!0);\n }, a = setTimeout(() => o(!1), e), u = setInterval(r, 250);\n window.addEventListener(\"sw-guide:locationchange\", r), r();\n });\n}\nfunction St() {\n return new Promise((t) => {\n const e = () => {\n document.removeEventListener(\"sw-guide:user-choice\", e), t();\n };\n document.addEventListener(\"sw-guide:user-choice\", e);\n });\n}\nfunction G() {\n s && (s.stepIndex++, document.dispatchEvent(new Event(\"sw-guide:user-choice\")));\n}\nfunction ee() {\n A(\"exited\", \"user_exit\");\n}\nfunction A(t, e) {\n if (!s) return;\n s.exited = !0;\n const n = s.stepIndex;\n s.shell.destroy(), it(), R == null || R(t, e, n), s = null;\n}\nfunction It() {\n s && (B({\n sessionId: s.sessionId,\n guideId: s.guideId,\n versionId: s.versionId,\n stepIndex: s.stepIndex,\n version: s.version\n }), document.dispatchEvent(new CustomEvent(\n \"sw-guide:playback-progress\",\n { detail: { stepIndex: s.stepIndex } }\n )));\n}\nfunction Ct() {\n const t = nt();\n return t || null;\n}\nfunction Tt(t) {\n return new Promise((e) => setTimeout(e, t));\n}\nconst Ht = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n exitGuide: ee,\n maybeResume: Ct,\n onDone: xt,\n skipStep: G,\n start: wt\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n Ht as playback,\n Lt as recording\n};\n//# sourceMappingURL=index-bfV4xNqW.js.map\n"],"names":["te","Me","Oe","ne","S","ie","M","oe","ve","be","Be","y","I","C","U","ze","E","re","se","w","ae","le","xe","Fe","T","ce","$","we","je","a","u","c","p","h","N","P","qe","O","k","o","r","De","d","n","i","L","F","ge","Qe","Ye","Ke","D","Ge","Je","e","V","W","_e","Ae","ke","B","l","X","H","Ee","Se","at","Z","Te","Ne","Le","Ie","Ce","Y","He","j","K","lt","t","Lt","Q","R","wt","Re","G","ee","$t","yt","Et","St","kt","It","Pe","Ht"],"mappings":"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"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var ee=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable,je=(t,e)=>{var n={};for(var i in t)Pe.call(t,i)&&e.indexOf(i)<0&&(n[i]=t[i]);if(t!=null&&ee)for(var i of ee(t))e.indexOf(i)<0&&Me.call(t,i)&&(n[i]=t[i]);return n};const O=globalThis,te=t=>t,P=O.trustedTypes,ne=P?P.createPolicy("lit-html",{createHTML:t=>t}):void 0,ge="$lit$",x=`lit$${Math.random().toFixed(9).slice(2)}$`,ve="?"+x,ze=`<${ve}>`,w=document,k=()=>w.createComment(""),E=t=>t===null||typeof t!="object"&&typeof t!="function",D=Array.isArray,Be=t=>D(t)||typeof t?.[Symbol.iterator]=="function",z=`[
|
|
2
|
+
\f\r]`,S=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ie=/-->/g,oe=/>/g,y=RegExp(`>|${z}(?:([^\\s"'>=/]+)(${z}*=${z}*(?:[^
|
|
3
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),re=/'/g,se=/"/g,be=/^(?:script|style|textarea|title)$/i,Re=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),m=Re(1),C=Symbol.for("lit-noChange"),f=Symbol.for("lit-nothing"),le=new WeakMap,$=w.createTreeWalker(w,129);function xe(t,e){if(!D(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return ne!==void 0?ne.createHTML(e):e}const Fe=(t,e)=>{const n=t.length-1,i=[];let o,r=e===2?"<svg>":e===3?"<math>":"",l=S;for(let c=0;c<n;c++){const u=t[c];let d,h,p=-1,v=0;for(;v<u.length&&(l.lastIndex=v,h=l.exec(u),h!==null);)v=l.lastIndex,l===S?h[1]==="!--"?l=ie:h[1]!==void 0?l=oe:h[2]!==void 0?(be.test(h[2])&&(o=RegExp("</"+h[2],"g")),l=y):h[3]!==void 0&&(l=y):l===y?h[0]===">"?(l=o??S,p=-1):h[1]===void 0?p=-2:(p=l.lastIndex-h[2].length,d=h[1],l=h[3]===void 0?y:h[3]==='"'?se:re):l===se||l===re?l=y:l===ie||l===oe?l=S:(l=y,o=void 0);const b=l===y&&t[c+1].startsWith("/>")?" ":"";r+=l===S?u+ze:p>=0?(i.push(d),u.slice(0,p)+ge+u.slice(p)+x+b):u+x+(p===-2?c:b)}return[xe(t,r+(t[n]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),i]};class T{constructor({strings:e,_$litType$:n},i){let o;this.parts=[];let r=0,l=0;const c=e.length-1,u=this.parts,[d,h]=Fe(e,n);if(this.el=T.createElement(d,i),$.currentNode=this.el.content,n===2||n===3){const p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(o=$.nextNode())!==null&&u.length<c;){if(o.nodeType===1){if(o.hasAttributes())for(const p of o.getAttributeNames())if(p.endsWith(ge)){const v=h[l++],b=o.getAttribute(p).split(x),H=/([.?@])?(.*)/.exec(v);u.push({type:1,index:r,name:H[2],strings:b,ctor:H[1]==="."?De:H[1]==="?"?Ue:H[1]==="@"?Ve:M}),o.removeAttribute(p)}else p.startsWith(x)&&(u.push({type:6,index:r}),o.removeAttribute(p));if(be.test(o.tagName)){const p=o.textContent.split(x),v=p.length-1;if(v>0){o.textContent=P?P.emptyScript:"";for(let b=0;b<v;b++)o.append(p[b],k()),$.nextNode(),u.push({type:2,index:++r});o.append(p[v],k())}}}else if(o.nodeType===8)if(o.data===ve)u.push({type:2,index:r});else{let p=-1;for(;(p=o.data.indexOf(x,p+1))!==-1;)u.push({type:7,index:r}),p+=x.length-1}r++}}static createElement(e,n){const i=w.createElement("template");return i.innerHTML=e,i}}function I(t,e,n=t,i){var o,r,l;if(e===C)return e;let c=i!==void 0?(o=n._$Co)==null?void 0:o[i]:n._$Cl;const u=E(e)?void 0:e._$litDirective$;return c?.constructor!==u&&((r=c?._$AO)==null||r.call(c,!1),u===void 0?c=void 0:(c=new u(t),c._$AT(t,n,i)),i!==void 0?((l=n._$Co)!=null?l:n._$Co=[])[i]=c:n._$Cl=c),c!==void 0&&(e=I(t,c._$AS(t,e.values),c,i)),e}class qe{constructor(e,n){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){var n;const{el:{content:i},parts:o}=this._$AD,r=((n=e?.creationScope)!=null?n:w).importNode(i,!0);$.currentNode=r;let l=$.nextNode(),c=0,u=0,d=o[0];for(;d!==void 0;){if(c===d.index){let h;d.type===2?h=new N(l,l.nextSibling,this,e):d.type===1?h=new d.ctor(l,d.name,d.strings,this,e):d.type===6&&(h=new We(l,this,e)),this._$AV.push(h),d=o[++u]}c!==d?.index&&(l=$.nextNode(),c++)}return $.currentNode=w,r}p(e){let n=0;for(const i of this._$AV)i!==void 0&&(i.strings!==void 0?(i._$AI(e,i,n),n+=i.strings.length-2):i._$AI(e[n])),n++}}class N{get _$AU(){var e,n;return(n=(e=this._$AM)==null?void 0:e._$AU)!=null?n:this._$Cv}constructor(e,n,i,o){var r;this.type=2,this._$AH=f,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=i,this.options=o,this._$Cv=(r=o?.isConnected)!=null?r:!0}get parentNode(){let e=this._$AA.parentNode;const n=this._$AM;return n!==void 0&&e?.nodeType===11&&(e=n.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,n=this){e=I(this,e,n),E(e)?e===f||e==null||e===""?(this._$AH!==f&&this._$AR(),this._$AH=f):e!==this._$AH&&e!==C&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Be(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==f&&E(this._$AH)?this._$AA.nextSibling.data=e:this.T(w.createTextNode(e)),this._$AH=e}$(e){var n;const{values:i,_$litType$:o}=e,r=typeof o=="number"?this._$AC(e):(o.el===void 0&&(o.el=T.createElement(xe(o.h,o.h[0]),this.options)),o);if(((n=this._$AH)==null?void 0:n._$AD)===r)this._$AH.p(i);else{const l=new qe(r,this),c=l.u(this.options);l.p(i),this.T(c),this._$AH=l}}_$AC(e){let n=le.get(e.strings);return n===void 0&&le.set(e.strings,n=new T(e)),n}k(e){D(this._$AH)||(this._$AH=[],this._$AR());const n=this._$AH;let i,o=0;for(const r of e)o===n.length?n.push(i=new N(this.O(k()),this.O(k()),this,this.options)):i=n[o],i._$AI(r),o++;o<n.length&&(this._$AR(i&&i._$AB.nextSibling,o),n.length=o)}_$AR(e=this._$AA.nextSibling,n){var i;for((i=this._$AP)==null?void 0:i.call(this,!1,!0,n);e!==this._$AB;){const o=te(e).nextSibling;te(e).remove(),e=o}}setConnected(e){var n;this._$AM===void 0&&(this._$Cv=e,(n=this._$AP)==null||n.call(this,e))}}class M{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,n,i,o,r){this.type=1,this._$AH=f,this._$AN=void 0,this.element=e,this.name=n,this._$AM=o,this.options=r,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=f}_$AI(e,n=this,i,o){const r=this.strings;let l=!1;if(r===void 0)e=I(this,e,n,0),l=!E(e)||e!==this._$AH&&e!==C,l&&(this._$AH=e);else{const c=e;let u,d;for(e=r[0],u=0;u<r.length-1;u++)d=I(this,c[i+u],n,u),d===C&&(d=this._$AH[u]),l||(l=!E(d)||d!==this._$AH[u]),d===f?e=f:e!==f&&(e+=(d??"")+r[u+1]),this._$AH[u]=d}l&&!o&&this.j(e)}j(e){e===f?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class De extends M{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===f?void 0:e}}class Ue extends M{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==f)}}class Ve extends M{constructor(e,n,i,o,r){super(e,n,i,o,r),this.type=5}_$AI(e,n=this){var i;if((e=(i=I(this,e,n,0))!=null?i:f)===C)return;const o=this._$AH,r=e===f&&o!==f||e.capture!==o.capture||e.once!==o.once||e.passive!==o.passive,l=e!==f&&(o===f||r);r&&this.element.removeEventListener(this.name,this,o),l&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var n,i;typeof this._$AH=="function"?this._$AH.call((i=(n=this.options)==null?void 0:n.host)!=null?i:this.element,e):this._$AH.handleEvent(e)}}class We{constructor(e,n,i){this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(e){I(this,e)}}const ae=O.litHtmlPolyfillSupport;var ce;ae?.(T,N),((ce=O.litHtmlVersions)!=null?ce:O.litHtmlVersions=[]).push("3.3.2");const g=(t,e,n)=>{const i=e;let o=i._$litPart$;return o===void 0&&(i._$litPart$=o=new N(e.insertBefore(k(),null),null,void 0,{})),o._$AI(t),o},Xe=`
|
|
4
|
+
:host { all: initial; }
|
|
5
|
+
.root {
|
|
6
|
+
position: fixed; inset: 0; pointer-events: none; z-index: 2147483647;
|
|
7
|
+
font-family: system-ui, -apple-system, sans-serif; font-size: 13px;
|
|
8
|
+
}
|
|
9
|
+
.cursor {
|
|
10
|
+
position: absolute; width: 24px; height: 24px;
|
|
11
|
+
background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 2 L3 18 L7 14 L9 21 L13 19 L11 12 L18 12 Z' fill='%23F76808' stroke='white' stroke-width='1.5'/></svg>");
|
|
12
|
+
background-size: contain; background-repeat: no-repeat; background-position: center;
|
|
13
|
+
transform: translate(-50%, -50%);
|
|
14
|
+
transition: left 0.6s cubic-bezier(0.16,1,0.3,1), top 0.6s cubic-bezier(0.16,1,0.3,1);
|
|
15
|
+
filter: drop-shadow(0 1px 3px rgba(0,0,0,0.4));
|
|
16
|
+
}
|
|
17
|
+
.cursor.shake { animation: shake 0.3s; }
|
|
18
|
+
@keyframes shake {
|
|
19
|
+
0%,100% { transform: translate(-50%,-50%); }
|
|
20
|
+
25% { transform: translate(calc(-50% - 4px),-50%); }
|
|
21
|
+
75% { transform: translate(calc(-50% + 4px),-50%); }
|
|
22
|
+
}
|
|
23
|
+
.tooltip {
|
|
24
|
+
position: absolute; background: #111; color: #fff;
|
|
25
|
+
padding: 8px 12px; border-radius: 8px; max-width: 280px;
|
|
26
|
+
box-shadow: 0 6px 24px rgba(0,0,0,0.25); pointer-events: auto;
|
|
27
|
+
}
|
|
28
|
+
.control-bar {
|
|
29
|
+
position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
|
|
30
|
+
display: inline-flex; align-items: center; gap: 4px;
|
|
31
|
+
padding: 6px 8px; border-radius: 999px;
|
|
32
|
+
background: rgba(17, 17, 17, 0.92);
|
|
33
|
+
color: #fff;
|
|
34
|
+
box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), 0 1px 0 rgba(255, 255, 255, 0.06) inset;
|
|
35
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
36
|
+
backdrop-filter: blur(8px);
|
|
37
|
+
-webkit-backdrop-filter: blur(8px);
|
|
38
|
+
pointer-events: auto;
|
|
39
|
+
font: inherit;
|
|
40
|
+
animation: cb-fade-in 220ms cubic-bezier(0.16, 1, 0.3, 1) both;
|
|
41
|
+
}
|
|
42
|
+
@keyframes cb-fade-in {
|
|
43
|
+
from { opacity: 0; transform: translate(-50%, 8px); }
|
|
44
|
+
to { opacity: 1; transform: translate(-50%, 0); }
|
|
45
|
+
}
|
|
46
|
+
.cb-btn {
|
|
47
|
+
display: inline-flex; align-items: center; gap: 6px;
|
|
48
|
+
padding: 6px 10px; border-radius: 999px; border: 0; cursor: pointer;
|
|
49
|
+
background: transparent; color: #fff; font: inherit;
|
|
50
|
+
font-size: 12px; font-weight: 500;
|
|
51
|
+
transition: background-color 120ms ease;
|
|
52
|
+
}
|
|
53
|
+
.cb-btn:hover { background: rgba(255, 255, 255, 0.08); }
|
|
54
|
+
.cb-btn:focus-visible {
|
|
55
|
+
outline: 2px solid #F76808; outline-offset: 2px;
|
|
56
|
+
}
|
|
57
|
+
.cb-btn svg { display: block; }
|
|
58
|
+
.cb-exit svg { color: rgba(255, 255, 255, 0.7); }
|
|
59
|
+
.cb-skip svg { color: rgba(255, 255, 255, 0.7); }
|
|
60
|
+
.cb-counter {
|
|
61
|
+
display: inline-flex; align-items: baseline; gap: 2px;
|
|
62
|
+
padding: 0 8px;
|
|
63
|
+
font-size: 12px; font-weight: 600;
|
|
64
|
+
font-variant-numeric: tabular-nums;
|
|
65
|
+
}
|
|
66
|
+
.cb-current { color: #fff; }
|
|
67
|
+
.cb-sep { color: rgba(255, 255, 255, 0.4); margin: 0 2px; }
|
|
68
|
+
.cb-total { color: rgba(255, 255, 255, 0.6); }
|
|
69
|
+
.cb-divider {
|
|
70
|
+
width: 1px; height: 16px;
|
|
71
|
+
background: rgba(255, 255, 255, 0.12);
|
|
72
|
+
}
|
|
73
|
+
.toast {
|
|
74
|
+
position: fixed; bottom: 84px; left: 50%; transform: translateX(-50%);
|
|
75
|
+
background: #111; color: #fff; padding: 10px 16px; border-radius: 8px;
|
|
76
|
+
box-shadow: 0 6px 24px rgba(0,0,0,0.25); pointer-events: auto;
|
|
77
|
+
max-width: 90vw;
|
|
78
|
+
}
|
|
79
|
+
.toast.error { background: #b42318; }
|
|
80
|
+
.highlight {
|
|
81
|
+
position: absolute; pointer-events: none;
|
|
82
|
+
border-radius: 8px;
|
|
83
|
+
box-shadow: 0 0 0 3px #F76808, 0 0 0 6px rgba(247, 104, 8, 0.25),
|
|
84
|
+
0 0 24px rgba(247, 104, 8, 0.45);
|
|
85
|
+
transition: top 0.3s cubic-bezier(0.16,1,0.3,1),
|
|
86
|
+
left 0.3s cubic-bezier(0.16,1,0.3,1),
|
|
87
|
+
width 0.3s cubic-bezier(0.16,1,0.3,1),
|
|
88
|
+
height 0.3s cubic-bezier(0.16,1,0.3,1);
|
|
89
|
+
}
|
|
90
|
+
.highlight.pulse { animation: hl-pulse 1.4s cubic-bezier(0.16,1,0.3,1) 2; }
|
|
91
|
+
@keyframes hl-pulse {
|
|
92
|
+
0% { box-shadow: 0 0 0 3px #F76808, 0 0 0 6px rgba(247,104,8,0.25),
|
|
93
|
+
0 0 24px rgba(247,104,8,0.45); }
|
|
94
|
+
50% { box-shadow: 0 0 0 4px #F76808, 0 0 0 14px rgba(247,104,8,0.18),
|
|
95
|
+
0 0 36px rgba(247,104,8,0.55); }
|
|
96
|
+
100% { box-shadow: 0 0 0 3px #F76808, 0 0 0 6px rgba(247,104,8,0.25),
|
|
97
|
+
0 0 24px rgba(247,104,8,0.45); }
|
|
98
|
+
}
|
|
99
|
+
@media (prefers-reduced-motion: reduce) {
|
|
100
|
+
.highlight { transition: none; }
|
|
101
|
+
.highlight.pulse { animation: none; }
|
|
102
|
+
}
|
|
103
|
+
.hover-frame {
|
|
104
|
+
position: absolute; pointer-events: none;
|
|
105
|
+
border-radius: 6px;
|
|
106
|
+
outline: 2px solid #F76808;
|
|
107
|
+
background: rgba(247, 104, 8, 0.06);
|
|
108
|
+
transition: top 80ms linear, left 80ms linear,
|
|
109
|
+
width 80ms linear, height 80ms linear;
|
|
110
|
+
}
|
|
111
|
+
@media (prefers-reduced-motion: reduce) {
|
|
112
|
+
.hover-frame { transition: none; }
|
|
113
|
+
}
|
|
114
|
+
.pill {
|
|
115
|
+
position: fixed; top: 16px; right: 16px; background: #F76808; color: #fff;
|
|
116
|
+
padding: 8px 12px; border-radius: 999px; pointer-events: auto;
|
|
117
|
+
display: flex; align-items: center; gap: 8px; font-weight: 600;
|
|
118
|
+
}
|
|
119
|
+
.pill button { border: 0; background: transparent; color: #fff; cursor: pointer; }
|
|
120
|
+
`;class ye{constructor(){this.host=document.createElement("div"),this.host.id="sw-guide-overlay",this.shadow=this.host.attachShadow({mode:"open"});const e=document.createElement("style");e.textContent=Xe,this.shadow.appendChild(e),this.root=document.createElement("div"),this.root.className="root",this.shadow.appendChild(this.root),document.body.appendChild(this.host)}renderCursor(e,n,i=!1){const o=m`
|
|
121
|
+
<div class="cursor ${i?"shake":""}"
|
|
122
|
+
style="left:${e}px; top:${n}px"></div>
|
|
123
|
+
`;let r=this.shadow.querySelector(".cursor-slot");r||(r=document.createElement("div"),r.className="cursor-slot",this.root.appendChild(r)),g(o,r)}renderTooltip(e,n,i){let o=this.shadow.querySelector(".tooltip-slot");o||(o=document.createElement("div"),o.className="tooltip-slot",this.root.appendChild(o)),g(i?m`<div class="tooltip" style="left:${e}px; top:${n+30}px">${i}</div>`:m``,o)}renderControlBar(e){let n=this.shadow.querySelector(".control-bar-slot");if(n||(n=document.createElement("div"),n.className="control-bar-slot",this.root.appendChild(n)),e.total===null){g(m``,n);return}g(m`
|
|
124
|
+
<div class="control-bar" role="toolbar" aria-label="Guide controls">
|
|
125
|
+
<button class="cb-btn cb-exit" @click=${e.onExit} aria-label="Exit guide">
|
|
126
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6L6 18M6 6l12 12"/></svg>
|
|
127
|
+
<span>Exit</span>
|
|
128
|
+
</button>
|
|
129
|
+
<div class="cb-divider"></div>
|
|
130
|
+
<div class="cb-counter">
|
|
131
|
+
<span class="cb-current">${e.current}</span>
|
|
132
|
+
<span class="cb-sep">/</span>
|
|
133
|
+
<span class="cb-total">${e.total}</span>
|
|
134
|
+
</div>
|
|
135
|
+
<div class="cb-divider"></div>
|
|
136
|
+
<button class="cb-btn cb-skip" @click=${e.onSkip} aria-label="Skip step">
|
|
137
|
+
<span>Skip</span>
|
|
138
|
+
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4l10 8-10 8V4zm14 0v16"/></svg>
|
|
139
|
+
</button>
|
|
140
|
+
</div>
|
|
141
|
+
`,n)}renderHighlight(e,n={}){let i=this.shadow.querySelector(".highlight-slot");if(i||(i=document.createElement("div"),i.className="highlight-slot",this.root.appendChild(i)),!e){g(m``,i);return}const o=4;g(m`
|
|
142
|
+
<div
|
|
143
|
+
class="highlight ${n.pulse?"pulse":""}"
|
|
144
|
+
style="left:${e.left-o}px; top:${e.top-o}px;
|
|
145
|
+
width:${e.width+o*2}px; height:${e.height+o*2}px"
|
|
146
|
+
></div>
|
|
147
|
+
`,i)}renderHoverFrame(e){let n=this.shadow.querySelector(".hover-frame-slot");if(n||(n=document.createElement("div"),n.className="hover-frame-slot",this.root.appendChild(n)),!e){g(m``,n);return}const i=2;g(m`
|
|
148
|
+
<div
|
|
149
|
+
class="hover-frame"
|
|
150
|
+
style="left:${e.left-i}px; top:${e.top-i}px;
|
|
151
|
+
width:${e.width+i*2}px; height:${e.height+i*2}px"
|
|
152
|
+
></div>
|
|
153
|
+
`,n)}toast(e,n="info",i=4e3){let o=this.shadow.querySelector(".toast-slot");o||(o=document.createElement("div"),o.className="toast-slot",this.root.appendChild(o)),g(m`<div class="toast ${n==="error"?"error":""}">${e}</div>`,o),setTimeout(()=>g(m``,o),i)}renderPill(e,n,i,o,r){let l=this.shadow.querySelector(".pill-slot");l||(l=document.createElement("div"),l.className="pill-slot",this.root.appendChild(l)),g(m`
|
|
154
|
+
<div class="pill">
|
|
155
|
+
<span>● Recording: ${e}</span>
|
|
156
|
+
<span>${n} step${n===1?"":"s"}</span>
|
|
157
|
+
${i?m`<span style="opacity:0.85">— ${i}</span>`:""}
|
|
158
|
+
<button @click=${r}>Pause</button>
|
|
159
|
+
<button @click=${o}>Stop</button>
|
|
160
|
+
</div>
|
|
161
|
+
`,l)}destroy(){this.host.remove()}}const Ze=["data-testid","data-cy","data-test"],ue=/(\d.*\d.*\d.*\d.*\d|css-[a-z0-9]{4,})/;function $e(t){const e=[],n=de(t,"data-sw-anchor",5);if(n){const l=n.getAttribute("data-sw-anchor");e.push(n===t?{kind:"sw-anchor",anchorId:l}:{kind:"sw-anchor",anchorId:l,childPath:Ke(n,t)})}for(const l of Ze){const c=de(t,l,3);if(c){e.push({kind:"test-id",attr:l,value:c.getAttribute(l)});break}}const i=Je(t),o=Ye(t);i&&o&&e.push({kind:"aria",role:i,name:o});const r=R(t);if(r&&r.length<=80){const l=t.tagName.toLowerCase(),c=Array.from(document.querySelectorAll(l)).filter(u=>R(u)===r).indexOf(t)+1;c>0&&e.push({kind:"text",tag:l,text:r,nthOfMatch:c})}return e.push({kind:"css-path",path:Qe(t)}),e.push({kind:"xpath",xpath:tt(t)}),e}function de(t,e,n){let i=t;for(let o=0;o<=n&&i;o++){if(i.hasAttribute(e))return i;i=i.parentElement}return null}function Je(t){return t.getAttribute("role")||Ge(t)}function Ge(t){switch(t.tagName.toLowerCase()){case"button":return"button";case"a":return t.hasAttribute("href")?"link":null;case"input":{const e=t.type;return e==="checkbox"?"checkbox":e==="radio"?"radio":e==="button"||e==="submit"?"button":"textbox"}case"textarea":return"textbox";case"select":return"combobox";case"nav":return"navigation";case"main":return"main";case"header":return"banner";case"footer":return"contentinfo";default:return null}}function Ye(t){const e=t.getAttribute("aria-labelledby");if(e){const r=e.split(/\s+/).map(l=>{var c,u;return(u=(c=document.getElementById(l))==null?void 0:c.textContent)!=null?u:""}).join(" ").trim();if(r)return r}const n=t.getAttribute("aria-label");if(n)return n.trim();const i=t.getAttribute("alt");if(i)return i.trim();const o=t.getAttribute("title");if(o)return o.trim();if(t.tagName==="INPUT"){const r=t.placeholder;if(r)return r.trim()}return R(t)||null}function R(t){return Array.from(t.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE).map(e=>{var n;return(n=e.textContent)!=null?n:""}).join("").trim()}function Ke(t,e){var n;const i=[];let o=e;for(;o&&o!==t;){const r=Array.from(((n=o.parentElement)==null?void 0:n.children)||[]).indexOf(o)+1;i.unshift(`${o.tagName.toLowerCase()}:nth-child(${r})`),o=o.parentElement}return i.join(" > ")}function Qe(t){const e=[];let n=t;for(;n;){let i=n.tagName.toLowerCase();const o=n.id;if(o&&!ue.test(o)){i=`#${pe(o)}`,e.unshift(i);break}const r=Array.from(n.classList).find(l=>!ue.test(l));if(r&&(i+=`.${pe(r)}`),n.parentElement){const l=Array.from(n.parentElement.children).indexOf(n)+1;i+=`:nth-child(${l})`}if(e.unshift(i),et(e.join(" > ")))break;n=n.parentElement}return e.join(" > ")}function et(t){try{return document.querySelectorAll(t).length===1}catch{return!1}}function tt(t){var e;const n=[];let i=t;for(;i&&i.nodeType===1;){const o=Array.from(((e=i.parentElement)==null?void 0:e.children)||[]).filter(r=>r.tagName===i.tagName).indexOf(i)+1;n.unshift(`${i.tagName.toLowerCase()}[${o}]`),i=i.parentElement}return"/"+n.join("/")}function pe(t){return window.CSS&&CSS.escape?CSS.escape(t):t.replace(/[^a-zA-Z0-9_-]/g,"\\$&")}const U="sw.guide.recording",V="sw.guide.playback";function we(t){localStorage.setItem(U,JSON.stringify(t))}function _e(){const t=localStorage.getItem(U);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function Ae(){localStorage.removeItem(U)}function j(t){localStorage.setItem(V,JSON.stringify(t))}function nt(){const t=localStorage.getItem(V);if(!t)return null;try{return JSON.parse(t)}catch{return null}}function it(){localStorage.removeItem(V)}let a=null;function ot({guideId:t,title:e}){a&&W();const n=_e(),i=n&&n.guideId===t?n.steps:[];a={guideId:t,title:e,steps:i,shell:new ye,paused:!1,lastUrl:location.pathname+location.search},st(),L(),we({guideId:t,title:e,steps:i,startedAt:Date.now()})}function Ie(){a&&(a.paused=!0,a.shell.renderHoverFrame(null),_=null),L()}function Se(){a&&(a.paused=!1),L()}function W(){if(!a)return null;for(lt(),X();a.steps.length&&a.steps[a.steps.length-1].type==="wait_for_navigation";)a.steps.pop();const t={guideId:a.guideId,title:a.title,steps:a.steps};return a.shell.destroy(),Ae(),a=null,t}function L(){if(!a)return;const t=a.steps[a.steps.length-1],e=t?rt(t):null;a.shell.renderPill(a.title,a.steps.length,e,()=>{const n=W();window.dispatchEvent(new CustomEvent("sw-guide:recording-done",{detail:n}))},()=>{a.paused?Se():Ie()})}function rt(t){switch(t.type){case"click":return`clicked '${t.accessibleName||t.elementText||""}'`;case"type":return`typed in '${t.fieldLabel||""}'`;case"scroll_to":return`scrolled to '${t.anchorText||""}'`;case"wait_for_navigation":return"navigated"}}function st(){document.addEventListener("click",Ce,!0),document.addEventListener("input",Te,!0),document.addEventListener("blur",Ne,!0),document.addEventListener("mousemove",ke,!0),document.addEventListener("mouseleave",Ee,!0),window.addEventListener("beforeunload",Z),window.addEventListener("popstate",Le)}function lt(){document.removeEventListener("click",Ce,!0),document.removeEventListener("input",Te,!0),document.removeEventListener("blur",Ne,!0),document.removeEventListener("mousemove",ke,!0),document.removeEventListener("mouseleave",Ee,!0),window.removeEventListener("beforeunload",Z),window.removeEventListener("popstate",Le)}let B=0,_=null;function ke(t){!a||a.paused||B||(B=requestAnimationFrame(()=>{if(B=0,!a)return;const e=document.elementFromPoint(t.clientX,t.clientY);if(!e||!(e instanceof HTMLElement)||G(e)){_&&(a.shell.renderHoverFrame(null),_=null);return}e!==_&&(_=e,a.shell.renderHoverFrame(e.getBoundingClientRect()))}))}function Ee(){a&&(a.shell.renderHoverFrame(null),_=null)}function Ce(t){if(!a||a.paused)return;const e=t.target;!e||G(e)||(X(),a.steps.push({type:"click",selectors:$e(e),elementText:he(e),accessibleName:e.getAttribute("aria-label")||he(e),urlAtCapture:location.pathname+location.search,viewportSize:{width:innerWidth,height:innerHeight},ts:Date.now()}),J(),L())}function Te(t){if(!a||a.paused)return;const e=t.target;!e||!("value"in e)||G(e)||(!a.pendingTypeStep||a.pendingTypeStep.fieldElement!==e?a.pendingTypeStep={type:"type",selectors:$e(e),fieldLabel:at(e),finalValue:e.value,prefillValue:e.value,urlAtCapture:location.pathname+location.search,ts:Date.now(),fieldElement:e}:(a.pendingTypeStep.finalValue=e.value,a.pendingTypeStep.prefillValue=e.value))}function Ne(t){if(!a)return;const e=t.target;a.pendingTypeStep&&a.pendingTypeStep.fieldElement===e&&(X(),L())}function X(){if(!a||!a.pendingTypeStep)return;const t=a.pendingTypeStep,{fieldElement:e}=t,n=je(t,["fieldElement"]);a.steps.push(n),a.pendingTypeStep=void 0,J()}function Z(){a&&(a.steps.push({type:"wait_for_navigation",fromUrl:a.lastUrl,toUrl:location.pathname+location.search,urlAtCapture:location.pathname+location.search,ts:Date.now()}),J())}function Le(){Z()}function J(){a&&we({guideId:a.guideId,title:a.title,steps:a.steps,startedAt:Date.now()})}function at(t){var e;return(t.getAttribute("aria-label")||t.placeholder||t.id&&((e=document.querySelector(`label[for="${t.id}"]`))==null?void 0:e.textContent)||"").trim()}function he(t){return Array.from(t.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE).map(e=>{var n;return(n=e.textContent)!=null?n:""}).join("").trim()}function G(t){return!!t.closest("#sw-guide-overlay")}function ct(){const t=_e();return t&&Date.now()-t.startedAt<1800*1e3?t:(t&&Ae(),null)}const ut=Object.freeze(Object.defineProperty({__proto__:null,maybeResume:ct,pause:Ie,resume:Se,start:ot,stop:W},Symbol.toStringTag,{value:"Module"}));async function dt(t,e){const{timeoutMs:n,pollMs:i=200}=e,o=performance.now()+n;let r=null;for(;performance.now()<o;){for(const l of t){const c=pt(l);if(c&&ht(c))if(!r)r=c;else{if(r===c)return c;r=c}}await vt(i)}return null}function pt(t){switch(t.kind){case"sw-anchor":{const e=document.querySelector(`[data-sw-anchor="${fe(t.anchorId)}"]`);return e?t.childPath?e.querySelector(t.childPath):e:null}case"test-id":return document.querySelector(`[${t.attr}="${fe(t.value)}"]`);case"aria":return ft(t.role,t.name);case"text":return mt(t.tag,t.text,t.nthOfMatch);case"css-path":try{return document.querySelector(t.path)}catch{return null}case"xpath":return document.evaluate(t.xpath,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue||null}}function ht(t){if(t.offsetParent===null&&getComputedStyle(t).position!=="fixed")return!1;const e=t.getBoundingClientRect();if(e.width===0||e.height===0)return!1;const n=getComputedStyle(t);if(n.visibility==="hidden"||n.pointerEvents==="none")return!1;(e.bottom<0||e.top>innerHeight||e.right<0||e.left>innerWidth)&&t.scrollIntoView({block:"center",inline:"center"});const i=e.left+e.width/2,o=e.top+e.height/2,r=document.elementFromPoint(i,o);return r?r===t||t.contains(r):!1}function ft(t,e){const n=Array.from(document.querySelectorAll("*")),i=e.toLowerCase();return n.find(o=>{if((o.getAttribute("role")||"").toLowerCase()!==t)return!1;const r=(o.getAttribute("aria-label")||o.textContent||"").trim().toLowerCase();return r===i||r.startsWith(i)})||null}function mt(t,e,n){return Array.from(document.querySelectorAll(t)).filter(i=>gt(i)===e)[n-1]||null}function gt(t){return Array.from(t.childNodes).filter(e=>e.nodeType===Node.TEXT_NODE).map(e=>{var n;return(n=e.textContent)!=null?n:""}).join("").trim()}function vt(t){return new Promise(e=>setTimeout(e,t))}function fe(t){return window.CSS&&CSS.escape?CSS.escape(t):t.replace(/[^a-zA-Z0-9_-]/g,"\\$&")}function Y(t,e,n){const[i,o=""]=t.split("?"),[r,l=""]=e.split("?");return bt(i,r,n)?!o&&!l?!0:xt(o,l,n):!1}function bt(t,e,n){const i=t.split("/").filter(Boolean),o=e.split("/").filter(Boolean);return i.length!==o.length?!1:i.every((r,l)=>r===o[l]||n.includes(r))}function xt(t,e,n){var i,o;const r=new URLSearchParams(t),l=new URLSearchParams(e);if([...r.keys()].sort().join()!==[...l.keys()].sort().join())return!1;for(const c of r.keys()){const u=(i=r.get(c))!=null?i:"",d=(o=l.get(c))!=null?o:"";if(u!==d&&!n.includes(u))return!1}return!0}let s=null,F=null;function yt(t){F=t}async function $t(t){var e;if(s&&A("superseded","superseded"),Oe(),s={sessionId:t.sessionId,guideId:t.guideId,versionId:t.versionId,version:t.version,stepIndex:(e=t.resumeStepIndex)!=null?e:0,shell:new ye,exited:!1},s.version.domain_strategy==="specific"&&s.version.specific_domain&&location.host!==s.version.specific_domain)return s.shell.toast(`This guide only works on ${s.version.specific_domain}.`,"error"),A("failed","wrong_start");if(s.shell.renderControlBar({current:s.stepIndex+1,total:s.version.steps.length,onSkip:K,onExit:Q}),s.stepIndex===0){const n=s.version.steps[0];if(!Y(n.url_path,location.pathname+location.search,s.version.wildcard_values)){if(!await wt(n.url_path))return A("exited","wrong_start");j({sessionId:s.sessionId,guideId:s.guideId,versionId:s.versionId,stepIndex:0,version:s.version}),location.href=location.origin+n.url_path;return}}await _t()}async function wt(t){return new Promise(e=>{if(!s)return e(!1);s.shell.toast(`This guide starts on ${t}.`,"info",999999),setTimeout(()=>e(!0),0)})}async function _t(){for(;s&&!s.exited&&s.stepIndex<s.version.steps.length;){const t=s.version.steps[s.stepIndex];if(s.shell.renderControlBar({current:s.stepIndex+1,total:s.version.steps.length,onSkip:K,onExit:Q}),!Y(t.url_path,location.pathname+location.search,s.version.wildcard_values)){j({sessionId:s.sessionId,guideId:s.guideId,versionId:s.versionId,stepIndex:s.stepIndex,version:s.version});const n=await kt(t.url_path,2e4);if(!s||s.exited)return;if(!n)return s.shell.toast("Looks like you've gone elsewhere.","info"),A("failed","off_site")}if(t.step_type==="wait_for_navigation"){s.stepIndex++;continue}const e=await dt(t.selectors,{timeoutMs:1e4});if(!e){s.shell.toast("We can't find this — Skip / Exit.","info",999999),await Et();continue}t.step_type==="scroll_to"&&(e.scrollIntoView({block:"center",inline:"center",behavior:"smooth"}),await Nt(300)),St(e,s.stepIndex===0),t.step_type==="click"?await At(e,t):t.step_type==="type"?await It(e,t):t.step_type==="scroll_to"&&s.stepIndex++,s?.shell.renderHighlight(null),Ct()}s&&!s.exited&&A("completed","completed")}async function At(t,e){s&&(q(t),e.tooltip&&He(t,e.tooltip),await new Promise(n=>{const i=o=>{const r=o.target;t===r||t.contains(r)?(document.removeEventListener("click",i,!0),s&&j({sessionId:s.sessionId,guideId:s.guideId,versionId:s.versionId,stepIndex:s.stepIndex+1,version:s.version}),n()):(s.shell.toast("Click the highlighted item.","info",1500),t&&q(t,!0))};document.addEventListener("click",i,!0)}),s.shell.renderTooltip(0,0,null),s.stepIndex++)}async function It(t,e){s&&(q(t),e.prefill_value&&(t.focus(),t.value=e.prefill_value,t.dispatchEvent(new Event("input",{bubbles:!0}))),(e.tooltip||e.field_label)&&He(t,e.tooltip||`Type your ${e.field_label}`),await new Promise(n=>{const i=()=>{t.removeEventListener("blur",i),n()};t.addEventListener("blur",i)}),s.shell.renderTooltip(0,0,null),s.stepIndex++)}function q(t,e=!1){if(!s)return;const n=t.getBoundingClientRect();s.shell.renderCursor(n.left+n.width/2,n.top+n.height/2,e)}function St(t,e){s&&s.shell.renderHighlight(t.getBoundingClientRect(),{pulse:e})}function He(t,e){if(!s)return;const n=t.getBoundingClientRect();s.shell.renderTooltip(n.left+n.width/2,n.bottom,e)}let me=!1;function Oe(){if(me)return;me=!0;const t=()=>window.dispatchEvent(new Event("sw-guide:locationchange")),e=history.pushState,n=history.replaceState;history.pushState=function(...i){const o=e.apply(this,i);return t(),o},history.replaceState=function(...i){const o=n.apply(this,i);return t(),o},window.addEventListener("popstate",t)}function kt(t,e){return Oe(),new Promise(n=>{let i=!1;const o=u=>{i||(i=!0,clearTimeout(l),clearInterval(c),window.removeEventListener("sw-guide:locationchange",r),n(u))},r=()=>{Y(t,location.pathname+location.search,s?.version.wildcard_values||[])&&o(!0)},l=setTimeout(()=>o(!1),e),c=setInterval(r,250);window.addEventListener("sw-guide:locationchange",r),r()})}function Et(){return new Promise(t=>{const e=()=>{document.removeEventListener("sw-guide:user-choice",e),t()};document.addEventListener("sw-guide:user-choice",e)})}function K(){s&&(s.stepIndex++,document.dispatchEvent(new Event("sw-guide:user-choice")))}function Q(){A("exited","user_exit")}function A(t,e){if(!s)return;s.exited=!0;const n=s.stepIndex;s.shell.destroy(),it(),F?.(t,e,n),s=null}function Ct(){s&&(j({sessionId:s.sessionId,guideId:s.guideId,versionId:s.versionId,stepIndex:s.stepIndex,version:s.version}),document.dispatchEvent(new CustomEvent("sw-guide:playback-progress",{detail:{stepIndex:s.stepIndex}})))}function Tt(){return nt()||null}function Nt(t){return new Promise(e=>setTimeout(e,t))}const Lt=Object.freeze(Object.defineProperty({__proto__:null,exitGuide:Q,maybeResume:Tt,onDone:yt,skipStep:K,start:$t},Symbol.toStringTag,{value:"Module"}));exports.playback=Lt;exports.recording=ut;
|
|
162
|
+
//# sourceMappingURL=index-bfV4xNqW-ChZOGalc.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-bfV4xNqW-ChZOGalc.cjs","sources":["../../widget-loader/dist/index-bfV4xNqW.js"],"sourcesContent":["var te = Object.getOwnPropertySymbols;\nvar Me = Object.prototype.hasOwnProperty, Oe = Object.prototype.propertyIsEnumerable;\nvar ne = (t, e) => {\n var n = {};\n for (var i in t)\n Me.call(t, i) && e.indexOf(i) < 0 && (n[i] = t[i]);\n if (t != null && te)\n for (var i of te(t))\n e.indexOf(i) < 0 && Oe.call(t, i) && (n[i] = t[i]);\n return n;\n};\nconst S = globalThis, ie = (t) => t, M = S.trustedTypes, oe = M ? M.createPolicy(\"lit-html\", { createHTML: (t) => t }) : void 0, ve = \"$lit$\", x = `lit$${Math.random().toFixed(9).slice(2)}$`, be = \"?\" + x, Be = `<${be}>`, y = document, I = () => y.createComment(\"\"), C = (t) => t === null || typeof t != \"object\" && typeof t != \"function\", U = Array.isArray, ze = (t) => U(t) || typeof (t == null ? void 0 : t[Symbol.iterator]) == \"function\", z = `[ \t\n\\f\\r]`, E = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g, re = /-->/g, se = />/g, w = RegExp(`>|${z}(?:([^\\\\s\"'>=/]+)(${z}*=${z}*(?:[^ \t\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`, \"g\"), ae = /'/g, le = /\"/g, xe = /^(?:script|style|textarea|title)$/i, Fe = (t) => (e, ...n) => ({ _$litType$: t, strings: e, values: n }), m = Fe(1), T = /* @__PURE__ */ Symbol.for(\"lit-noChange\"), f = /* @__PURE__ */ Symbol.for(\"lit-nothing\"), ce = /* @__PURE__ */ new WeakMap(), $ = y.createTreeWalker(y, 129);\nfunction we(t, e) {\n if (!U(t) || !t.hasOwnProperty(\"raw\")) throw Error(\"invalid template strings array\");\n return oe !== void 0 ? oe.createHTML(e) : e;\n}\nconst je = (t, e) => {\n const n = t.length - 1, i = [];\n let o, r = e === 2 ? \"<svg>\" : e === 3 ? \"<math>\" : \"\", a = E;\n for (let u = 0; u < n; u++) {\n const c = t[u];\n let d, p, h = -1, v = 0;\n for (; v < c.length && (a.lastIndex = v, p = a.exec(c), p !== null); ) v = a.lastIndex, a === E ? p[1] === \"!--\" ? a = re : p[1] !== void 0 ? a = se : p[2] !== void 0 ? (xe.test(p[2]) && (o = RegExp(\"</\" + p[2], \"g\")), a = w) : p[3] !== void 0 && (a = w) : a === w ? p[0] === \">\" ? (a = o != null ? o : E, h = -1) : p[1] === void 0 ? h = -2 : (h = a.lastIndex - p[2].length, d = p[1], a = p[3] === void 0 ? w : p[3] === '\"' ? le : ae) : a === le || a === ae ? a = w : a === re || a === se ? a = E : (a = w, o = void 0);\n const b = a === w && t[u + 1].startsWith(\"/>\") ? \" \" : \"\";\n r += a === E ? c + Be : h >= 0 ? (i.push(d), c.slice(0, h) + ve + c.slice(h) + x + b) : c + x + (h === -2 ? u : b);\n }\n return [we(t, r + (t[n] || \"<?>\") + (e === 2 ? \"</svg>\" : e === 3 ? \"</math>\" : \"\")), i];\n};\nclass N {\n constructor({ strings: e, _$litType$: n }, i) {\n let o;\n this.parts = [];\n let r = 0, a = 0;\n const u = e.length - 1, c = this.parts, [d, p] = je(e, n);\n if (this.el = N.createElement(d, i), $.currentNode = this.el.content, n === 2 || n === 3) {\n const h = this.el.content.firstChild;\n h.replaceWith(...h.childNodes);\n }\n for (; (o = $.nextNode()) !== null && c.length < u; ) {\n if (o.nodeType === 1) {\n if (o.hasAttributes()) for (const h of o.getAttributeNames()) if (h.endsWith(ve)) {\n const v = p[a++], b = o.getAttribute(h).split(x), P = /([.?@])?(.*)/.exec(v);\n c.push({ type: 1, index: r, name: P[2], strings: b, ctor: P[1] === \".\" ? qe : P[1] === \"?\" ? Ue : P[1] === \"@\" ? Ve : O }), o.removeAttribute(h);\n } else h.startsWith(x) && (c.push({ type: 6, index: r }), o.removeAttribute(h));\n if (xe.test(o.tagName)) {\n const h = o.textContent.split(x), v = h.length - 1;\n if (v > 0) {\n o.textContent = M ? M.emptyScript : \"\";\n for (let b = 0; b < v; b++) o.append(h[b], I()), $.nextNode(), c.push({ type: 2, index: ++r });\n o.append(h[v], I());\n }\n }\n } else if (o.nodeType === 8) if (o.data === be) c.push({ type: 2, index: r });\n else {\n let h = -1;\n for (; (h = o.data.indexOf(x, h + 1)) !== -1; ) c.push({ type: 7, index: r }), h += x.length - 1;\n }\n r++;\n }\n }\n static createElement(e, n) {\n const i = y.createElement(\"template\");\n return i.innerHTML = e, i;\n }\n}\nfunction k(t, e, n = t, i) {\n var a, u, c;\n if (e === T) return e;\n let o = i !== void 0 ? (a = n._$Co) == null ? void 0 : a[i] : n._$Cl;\n const r = C(e) ? void 0 : e._$litDirective$;\n return (o == null ? void 0 : o.constructor) !== r && ((u = o == null ? void 0 : o._$AO) == null || u.call(o, !1), r === void 0 ? o = void 0 : (o = new r(t), o._$AT(t, n, i)), i !== void 0 ? ((c = n._$Co) != null ? c : n._$Co = [])[i] = o : n._$Cl = o), o !== void 0 && (e = k(t, o._$AS(t, e.values), o, i)), e;\n}\nclass De {\n constructor(e, n) {\n this._$AV = [], this._$AN = void 0, this._$AD = e, this._$AM = n;\n }\n get parentNode() {\n return this._$AM.parentNode;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n u(e) {\n var d;\n const { el: { content: n }, parts: i } = this._$AD, o = ((d = e == null ? void 0 : e.creationScope) != null ? d : y).importNode(n, !0);\n $.currentNode = o;\n let r = $.nextNode(), a = 0, u = 0, c = i[0];\n for (; c !== void 0; ) {\n if (a === c.index) {\n let p;\n c.type === 2 ? p = new L(r, r.nextSibling, this, e) : c.type === 1 ? p = new c.ctor(r, c.name, c.strings, this, e) : c.type === 6 && (p = new We(r, this, e)), this._$AV.push(p), c = i[++u];\n }\n a !== (c == null ? void 0 : c.index) && (r = $.nextNode(), a++);\n }\n return $.currentNode = y, o;\n }\n p(e) {\n let n = 0;\n for (const i of this._$AV) i !== void 0 && (i.strings !== void 0 ? (i._$AI(e, i, n), n += i.strings.length - 2) : i._$AI(e[n])), n++;\n }\n}\nclass L {\n get _$AU() {\n var e, n;\n return (n = (e = this._$AM) == null ? void 0 : e._$AU) != null ? n : this._$Cv;\n }\n constructor(e, n, i, o) {\n var r;\n this.type = 2, this._$AH = f, this._$AN = void 0, this._$AA = e, this._$AB = n, this._$AM = i, this.options = o, this._$Cv = (r = o == null ? void 0 : o.isConnected) != null ? r : !0;\n }\n get parentNode() {\n let e = this._$AA.parentNode;\n const n = this._$AM;\n return n !== void 0 && (e == null ? void 0 : e.nodeType) === 11 && (e = n.parentNode), e;\n }\n get startNode() {\n return this._$AA;\n }\n get endNode() {\n return this._$AB;\n }\n _$AI(e, n = this) {\n e = k(this, e, n), C(e) ? e === f || e == null || e === \"\" ? (this._$AH !== f && this._$AR(), this._$AH = f) : e !== this._$AH && e !== T && this._(e) : e._$litType$ !== void 0 ? this.$(e) : e.nodeType !== void 0 ? this.T(e) : ze(e) ? this.k(e) : this._(e);\n }\n O(e) {\n return this._$AA.parentNode.insertBefore(e, this._$AB);\n }\n T(e) {\n this._$AH !== e && (this._$AR(), this._$AH = this.O(e));\n }\n _(e) {\n this._$AH !== f && C(this._$AH) ? this._$AA.nextSibling.data = e : this.T(y.createTextNode(e)), this._$AH = e;\n }\n $(e) {\n var r;\n const { values: n, _$litType$: i } = e, o = typeof i == \"number\" ? this._$AC(e) : (i.el === void 0 && (i.el = N.createElement(we(i.h, i.h[0]), this.options)), i);\n if (((r = this._$AH) == null ? void 0 : r._$AD) === o) this._$AH.p(n);\n else {\n const a = new De(o, this), u = a.u(this.options);\n a.p(n), this.T(u), this._$AH = a;\n }\n }\n _$AC(e) {\n let n = ce.get(e.strings);\n return n === void 0 && ce.set(e.strings, n = new N(e)), n;\n }\n k(e) {\n U(this._$AH) || (this._$AH = [], this._$AR());\n const n = this._$AH;\n let i, o = 0;\n for (const r of e) o === n.length ? n.push(i = new L(this.O(I()), this.O(I()), this, this.options)) : i = n[o], i._$AI(r), o++;\n o < n.length && (this._$AR(i && i._$AB.nextSibling, o), n.length = o);\n }\n _$AR(e = this._$AA.nextSibling, n) {\n var i;\n for ((i = this._$AP) == null ? void 0 : i.call(this, !1, !0, n); e !== this._$AB; ) {\n const o = ie(e).nextSibling;\n ie(e).remove(), e = o;\n }\n }\n setConnected(e) {\n var n;\n this._$AM === void 0 && (this._$Cv = e, (n = this._$AP) == null || n.call(this, e));\n }\n}\nclass O {\n get tagName() {\n return this.element.tagName;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n constructor(e, n, i, o, r) {\n this.type = 1, this._$AH = f, this._$AN = void 0, this.element = e, this.name = n, this._$AM = o, this.options = r, i.length > 2 || i[0] !== \"\" || i[1] !== \"\" ? (this._$AH = Array(i.length - 1).fill(new String()), this.strings = i) : this._$AH = f;\n }\n _$AI(e, n = this, i, o) {\n const r = this.strings;\n let a = !1;\n if (r === void 0) e = k(this, e, n, 0), a = !C(e) || e !== this._$AH && e !== T, a && (this._$AH = e);\n else {\n const u = e;\n let c, d;\n for (e = r[0], c = 0; c < r.length - 1; c++) d = k(this, u[i + c], n, c), d === T && (d = this._$AH[c]), a || (a = !C(d) || d !== this._$AH[c]), d === f ? e = f : e !== f && (e += (d != null ? d : \"\") + r[c + 1]), this._$AH[c] = d;\n }\n a && !o && this.j(e);\n }\n j(e) {\n e === f ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, e != null ? e : \"\");\n }\n}\nclass qe extends O {\n constructor() {\n super(...arguments), this.type = 3;\n }\n j(e) {\n this.element[this.name] = e === f ? void 0 : e;\n }\n}\nclass Ue extends O {\n constructor() {\n super(...arguments), this.type = 4;\n }\n j(e) {\n this.element.toggleAttribute(this.name, !!e && e !== f);\n }\n}\nclass Ve extends O {\n constructor(e, n, i, o, r) {\n super(e, n, i, o, r), this.type = 5;\n }\n _$AI(e, n = this) {\n var a;\n if ((e = (a = k(this, e, n, 0)) != null ? a : f) === T) return;\n const i = this._$AH, o = e === f && i !== f || e.capture !== i.capture || e.once !== i.once || e.passive !== i.passive, r = e !== f && (i === f || o);\n o && this.element.removeEventListener(this.name, this, i), r && this.element.addEventListener(this.name, this, e), this._$AH = e;\n }\n handleEvent(e) {\n var n, i;\n typeof this._$AH == \"function\" ? this._$AH.call((i = (n = this.options) == null ? void 0 : n.host) != null ? i : this.element, e) : this._$AH.handleEvent(e);\n }\n}\nclass We {\n constructor(e, n, i) {\n this.element = e, this.type = 6, this._$AN = void 0, this._$AM = n, this.options = i;\n }\n get _$AU() {\n return this._$AM._$AU;\n }\n _$AI(e) {\n k(this, e);\n }\n}\nconst F = S.litHtmlPolyfillSupport;\nvar ge;\nF == null || F(N, L), ((ge = S.litHtmlVersions) != null ? ge : S.litHtmlVersions = []).push(\"3.3.2\");\nconst g = (t, e, n) => {\n const i = e;\n let o = i._$litPart$;\n return o === void 0 && (i._$litPart$ = o = new L(e.insertBefore(I(), null), null, void 0, {})), o._$AI(t), o;\n}, Xe = `\n :host { all: initial; }\n .root {\n position: fixed; inset: 0; pointer-events: none; z-index: 2147483647;\n font-family: system-ui, -apple-system, sans-serif; font-size: 13px;\n }\n .cursor {\n position: absolute; width: 24px; height: 24px;\n background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 2 L3 18 L7 14 L9 21 L13 19 L11 12 L18 12 Z' fill='%23F76808' stroke='white' stroke-width='1.5'/></svg>\");\n background-size: contain; background-repeat: no-repeat; background-position: center;\n transform: translate(-50%, -50%);\n transition: left 0.6s cubic-bezier(0.16,1,0.3,1), top 0.6s cubic-bezier(0.16,1,0.3,1);\n filter: drop-shadow(0 1px 3px rgba(0,0,0,0.4));\n }\n .cursor.shake { animation: shake 0.3s; }\n @keyframes shake {\n 0%,100% { transform: translate(-50%,-50%); }\n 25% { transform: translate(calc(-50% - 4px),-50%); }\n 75% { transform: translate(calc(-50% + 4px),-50%); }\n }\n .tooltip {\n position: absolute; background: #111; color: #fff;\n padding: 8px 12px; border-radius: 8px; max-width: 280px;\n box-shadow: 0 6px 24px rgba(0,0,0,0.25); pointer-events: auto;\n }\n .control-bar {\n position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);\n display: inline-flex; align-items: center; gap: 4px;\n padding: 6px 8px; border-radius: 999px;\n background: rgba(17, 17, 17, 0.92);\n color: #fff;\n box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35), 0 1px 0 rgba(255, 255, 255, 0.06) inset;\n border: 1px solid rgba(255, 255, 255, 0.08);\n backdrop-filter: blur(8px);\n -webkit-backdrop-filter: blur(8px);\n pointer-events: auto;\n font: inherit;\n animation: cb-fade-in 220ms cubic-bezier(0.16, 1, 0.3, 1) both;\n }\n @keyframes cb-fade-in {\n from { opacity: 0; transform: translate(-50%, 8px); }\n to { opacity: 1; transform: translate(-50%, 0); }\n }\n .cb-btn {\n display: inline-flex; align-items: center; gap: 6px;\n padding: 6px 10px; border-radius: 999px; border: 0; cursor: pointer;\n background: transparent; color: #fff; font: inherit;\n font-size: 12px; font-weight: 500;\n transition: background-color 120ms ease;\n }\n .cb-btn:hover { background: rgba(255, 255, 255, 0.08); }\n .cb-btn:focus-visible {\n outline: 2px solid #F76808; outline-offset: 2px;\n }\n .cb-btn svg { display: block; }\n .cb-exit svg { color: rgba(255, 255, 255, 0.7); }\n .cb-skip svg { color: rgba(255, 255, 255, 0.7); }\n .cb-counter {\n display: inline-flex; align-items: baseline; gap: 2px;\n padding: 0 8px;\n font-size: 12px; font-weight: 600;\n font-variant-numeric: tabular-nums;\n }\n .cb-current { color: #fff; }\n .cb-sep { color: rgba(255, 255, 255, 0.4); margin: 0 2px; }\n .cb-total { color: rgba(255, 255, 255, 0.6); }\n .cb-divider {\n width: 1px; height: 16px;\n background: rgba(255, 255, 255, 0.12);\n }\n .toast {\n position: fixed; bottom: 84px; left: 50%; transform: translateX(-50%);\n background: #111; color: #fff; padding: 10px 16px; border-radius: 8px;\n box-shadow: 0 6px 24px rgba(0,0,0,0.25); pointer-events: auto;\n max-width: 90vw;\n }\n .toast.error { background: #b42318; }\n .highlight {\n position: absolute; pointer-events: none;\n border-radius: 8px;\n box-shadow: 0 0 0 3px #F76808, 0 0 0 6px rgba(247, 104, 8, 0.25),\n 0 0 24px rgba(247, 104, 8, 0.45);\n transition: top 0.3s cubic-bezier(0.16,1,0.3,1),\n left 0.3s cubic-bezier(0.16,1,0.3,1),\n width 0.3s cubic-bezier(0.16,1,0.3,1),\n height 0.3s cubic-bezier(0.16,1,0.3,1);\n }\n .highlight.pulse { animation: hl-pulse 1.4s cubic-bezier(0.16,1,0.3,1) 2; }\n @keyframes hl-pulse {\n 0% { box-shadow: 0 0 0 3px #F76808, 0 0 0 6px rgba(247,104,8,0.25),\n 0 0 24px rgba(247,104,8,0.45); }\n 50% { box-shadow: 0 0 0 4px #F76808, 0 0 0 14px rgba(247,104,8,0.18),\n 0 0 36px rgba(247,104,8,0.55); }\n 100% { box-shadow: 0 0 0 3px #F76808, 0 0 0 6px rgba(247,104,8,0.25),\n 0 0 24px rgba(247,104,8,0.45); }\n }\n @media (prefers-reduced-motion: reduce) {\n .highlight { transition: none; }\n .highlight.pulse { animation: none; }\n }\n .hover-frame {\n position: absolute; pointer-events: none;\n border-radius: 6px;\n outline: 2px solid #F76808;\n background: rgba(247, 104, 8, 0.06);\n transition: top 80ms linear, left 80ms linear,\n width 80ms linear, height 80ms linear;\n }\n @media (prefers-reduced-motion: reduce) {\n .hover-frame { transition: none; }\n }\n .pill {\n position: fixed; top: 16px; right: 16px; background: #F76808; color: #fff;\n padding: 8px 12px; border-radius: 999px; pointer-events: auto;\n display: flex; align-items: center; gap: 8px; font-weight: 600;\n }\n .pill button { border: 0; background: transparent; color: #fff; cursor: pointer; }\n`;\nclass $e {\n constructor() {\n this.host = document.createElement(\"div\"), this.host.id = \"sw-guide-overlay\", this.shadow = this.host.attachShadow({ mode: \"open\" });\n const e = document.createElement(\"style\");\n e.textContent = Xe, this.shadow.appendChild(e), this.root = document.createElement(\"div\"), this.root.className = \"root\", this.shadow.appendChild(this.root), document.body.appendChild(this.host);\n }\n renderCursor(e, n, i = !1) {\n const o = m`\n <div class=\"cursor ${i ? \"shake\" : \"\"}\"\n style=\"left:${e}px; top:${n}px\"></div>\n `;\n let r = this.shadow.querySelector(\".cursor-slot\");\n r || (r = document.createElement(\"div\"), r.className = \"cursor-slot\", this.root.appendChild(r)), g(o, r);\n }\n renderTooltip(e, n, i) {\n let o = this.shadow.querySelector(\".tooltip-slot\");\n o || (o = document.createElement(\"div\"), o.className = \"tooltip-slot\", this.root.appendChild(o)), g(i ? m`<div class=\"tooltip\" style=\"left:${e}px; top:${n + 30}px\">${i}</div>` : m``, o);\n }\n renderControlBar(e) {\n let n = this.shadow.querySelector(\".control-bar-slot\");\n if (n || (n = document.createElement(\"div\"), n.className = \"control-bar-slot\", this.root.appendChild(n)), e.total === null) {\n g(m``, n);\n return;\n }\n g(\n m`\n <div class=\"control-bar\" role=\"toolbar\" aria-label=\"Guide controls\">\n <button class=\"cb-btn cb-exit\" @click=${e.onExit} aria-label=\"Exit guide\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 6L6 18M6 6l12 12\"/></svg>\n <span>Exit</span>\n </button>\n <div class=\"cb-divider\"></div>\n <div class=\"cb-counter\">\n <span class=\"cb-current\">${e.current}</span>\n <span class=\"cb-sep\">/</span>\n <span class=\"cb-total\">${e.total}</span>\n </div>\n <div class=\"cb-divider\"></div>\n <button class=\"cb-btn cb-skip\" @click=${e.onSkip} aria-label=\"Skip step\">\n <span>Skip</span>\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M5 4l10 8-10 8V4zm14 0v16\"/></svg>\n </button>\n </div>\n `,\n n\n );\n }\n renderHighlight(e, n = {}) {\n let i = this.shadow.querySelector(\".highlight-slot\");\n if (i || (i = document.createElement(\"div\"), i.className = \"highlight-slot\", this.root.appendChild(i)), !e) {\n g(m``, i);\n return;\n }\n const o = 4;\n g(\n m`\n <div\n class=\"highlight ${n.pulse ? \"pulse\" : \"\"}\"\n style=\"left:${e.left - o}px; top:${e.top - o}px;\n width:${e.width + o * 2}px; height:${e.height + o * 2}px\"\n ></div>\n `,\n i\n );\n }\n renderHoverFrame(e) {\n let n = this.shadow.querySelector(\".hover-frame-slot\");\n if (n || (n = document.createElement(\"div\"), n.className = \"hover-frame-slot\", this.root.appendChild(n)), !e) {\n g(m``, n);\n return;\n }\n const i = 2;\n g(\n m`\n <div\n class=\"hover-frame\"\n style=\"left:${e.left - i}px; top:${e.top - i}px;\n width:${e.width + i * 2}px; height:${e.height + i * 2}px\"\n ></div>\n `,\n n\n );\n }\n toast(e, n = \"info\", i = 4e3) {\n let o = this.shadow.querySelector(\".toast-slot\");\n o || (o = document.createElement(\"div\"), o.className = \"toast-slot\", this.root.appendChild(o)), g(m`<div class=\"toast ${n === \"error\" ? \"error\" : \"\"}\">${e}</div>`, o), setTimeout(() => g(m``, o), i);\n }\n renderPill(e, n, i, o, r) {\n let a = this.shadow.querySelector(\".pill-slot\");\n a || (a = document.createElement(\"div\"), a.className = \"pill-slot\", this.root.appendChild(a)), g(m`\n <div class=\"pill\">\n <span>● Recording: ${e}</span>\n <span>${n} step${n === 1 ? \"\" : \"s\"}</span>\n ${i ? m`<span style=\"opacity:0.85\">— ${i}</span>` : \"\"}\n <button @click=${r}>Pause</button>\n <button @click=${o}>Stop</button>\n </div>\n `, a);\n }\n destroy() {\n this.host.remove();\n }\n}\nconst Ze = [\"data-testid\", \"data-cy\", \"data-test\"], ue = /(\\d.*\\d.*\\d.*\\d.*\\d|css-[a-z0-9]{4,})/;\nfunction ye(t) {\n const e = [], n = de(t, \"data-sw-anchor\", 5);\n if (n) {\n const a = n.getAttribute(\"data-sw-anchor\");\n e.push(\n n === t ? { kind: \"sw-anchor\", anchorId: a } : { kind: \"sw-anchor\", anchorId: a, childPath: Qe(n, t) }\n );\n }\n for (const a of Ze) {\n const u = de(t, a, 3);\n if (u) {\n e.push({ kind: \"test-id\", attr: a, value: u.getAttribute(a) });\n break;\n }\n }\n const i = Ye(t), o = Ke(t);\n i && o && e.push({ kind: \"aria\", role: i, name: o });\n const r = D(t);\n if (r && r.length <= 80) {\n const a = t.tagName.toLowerCase(), c = Array.from(document.querySelectorAll(a)).filter((d) => D(d) === r).indexOf(t) + 1;\n c > 0 && e.push({ kind: \"text\", tag: a, text: r, nthOfMatch: c });\n }\n return e.push({ kind: \"css-path\", path: Ge(t) }), e.push({ kind: \"xpath\", xpath: tt(t) }), e;\n}\nfunction de(t, e, n) {\n let i = t;\n for (let o = 0; o <= n && i; o++) {\n if (i.hasAttribute(e)) return i;\n i = i.parentElement;\n }\n return null;\n}\nfunction Ye(t) {\n return t.getAttribute(\"role\") || Je(t);\n}\nfunction Je(t) {\n switch (t.tagName.toLowerCase()) {\n case \"button\":\n return \"button\";\n case \"a\":\n return t.hasAttribute(\"href\") ? \"link\" : null;\n case \"input\": {\n const n = t.type;\n return n === \"checkbox\" ? \"checkbox\" : n === \"radio\" ? \"radio\" : n === \"button\" || n === \"submit\" ? \"button\" : \"textbox\";\n }\n case \"textarea\":\n return \"textbox\";\n case \"select\":\n return \"combobox\";\n case \"nav\":\n return \"navigation\";\n case \"main\":\n return \"main\";\n case \"header\":\n return \"banner\";\n case \"footer\":\n return \"contentinfo\";\n default:\n return null;\n }\n}\nfunction Ke(t) {\n const e = t.getAttribute(\"aria-labelledby\");\n if (e) {\n const u = e.split(/\\s+/).map((c) => {\n var d, p;\n return (p = (d = document.getElementById(c)) == null ? void 0 : d.textContent) != null ? p : \"\";\n }).join(\" \").trim();\n if (u) return u;\n }\n const n = t.getAttribute(\"aria-label\");\n if (n) return n.trim();\n const i = t.getAttribute(\"alt\");\n if (i) return i.trim();\n const o = t.getAttribute(\"title\");\n if (o) return o.trim();\n if (t.tagName === \"INPUT\") {\n const a = t.placeholder;\n if (a) return a.trim();\n }\n return D(t) || null;\n}\nfunction D(t) {\n return Array.from(t.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => {\n var n;\n return (n = e.textContent) != null ? n : \"\";\n }).join(\"\").trim();\n}\nfunction Qe(t, e) {\n var o;\n const n = [];\n let i = e;\n for (; i && i !== t; ) {\n const r = Array.from(((o = i.parentElement) == null ? void 0 : o.children) || []).indexOf(i) + 1;\n n.unshift(`${i.tagName.toLowerCase()}:nth-child(${r})`), i = i.parentElement;\n }\n return n.join(\" > \");\n}\nfunction Ge(t) {\n const e = [];\n let n = t;\n for (; n; ) {\n let o = n.tagName.toLowerCase();\n const r = n.id;\n if (r && !ue.test(r)) {\n o = `#${pe(r)}`, e.unshift(o);\n break;\n }\n const a = Array.from(n.classList).find((u) => !ue.test(u));\n if (a && (o += `.${pe(a)}`), n.parentElement) {\n const u = Array.from(n.parentElement.children).indexOf(n) + 1;\n o += `:nth-child(${u})`;\n }\n if (e.unshift(o), et(e.join(\" > \"))) break;\n n = n.parentElement;\n }\n return e.join(\" > \");\n}\nfunction et(t) {\n try {\n return document.querySelectorAll(t).length === 1;\n } catch (e) {\n return !1;\n }\n}\nfunction tt(t) {\n var i;\n const e = [];\n let n = t;\n for (; n && n.nodeType === 1; ) {\n const o = Array.from(((i = n.parentElement) == null ? void 0 : i.children) || []).filter(\n (r) => r.tagName === n.tagName\n ).indexOf(n) + 1;\n e.unshift(`${n.tagName.toLowerCase()}[${o}]`), n = n.parentElement;\n }\n return \"/\" + e.join(\"/\");\n}\nfunction pe(t) {\n return window.CSS && CSS.escape ? CSS.escape(t) : t.replace(/[^a-zA-Z0-9_-]/g, \"\\\\$&\");\n}\nconst V = \"sw.guide.recording\", W = \"sw.guide.playback\";\nfunction _e(t) {\n localStorage.setItem(V, JSON.stringify(t));\n}\nfunction Ae() {\n const t = localStorage.getItem(V);\n if (!t) return null;\n try {\n return JSON.parse(t);\n } catch (e) {\n return null;\n }\n}\nfunction ke() {\n localStorage.removeItem(V);\n}\nfunction B(t) {\n localStorage.setItem(W, JSON.stringify(t));\n}\nfunction nt() {\n const t = localStorage.getItem(W);\n if (!t) return null;\n try {\n return JSON.parse(t);\n } catch (e) {\n return null;\n }\n}\nfunction it() {\n localStorage.removeItem(W);\n}\nlet l = null;\nfunction ot({ guideId: t, title: e }) {\n l && X();\n const n = Ae(), i = n && n.guideId === t ? n.steps : [];\n l = {\n guideId: t,\n title: e,\n steps: i,\n shell: new $e(),\n paused: !1,\n lastUrl: location.pathname + location.search\n }, st(), H(), _e({ guideId: t, title: e, steps: i, startedAt: Date.now() });\n}\nfunction Ee() {\n l && (l.paused = !0, l.shell.renderHoverFrame(null), _ = null), H();\n}\nfunction Se() {\n l && (l.paused = !1), H();\n}\nfunction X() {\n if (!l) return null;\n for (at(), Z(); l.steps.length && l.steps[l.steps.length - 1].type === \"wait_for_navigation\"; )\n l.steps.pop();\n const t = { guideId: l.guideId, title: l.title, steps: l.steps };\n return l.shell.destroy(), ke(), l = null, t;\n}\nfunction H() {\n if (!l) return;\n const t = l.steps[l.steps.length - 1], e = t ? rt(t) : null;\n l.shell.renderPill(\n l.title,\n l.steps.length,\n e,\n () => {\n const n = X();\n window.dispatchEvent(new CustomEvent(\"sw-guide:recording-done\", { detail: n }));\n },\n () => {\n l.paused ? Se() : Ee();\n }\n );\n}\nfunction rt(t) {\n switch (t.type) {\n case \"click\":\n return `clicked '${t.accessibleName || t.elementText || \"\"}'`;\n case \"type\":\n return `typed in '${t.fieldLabel || \"\"}'`;\n case \"scroll_to\":\n return `scrolled to '${t.anchorText || \"\"}'`;\n case \"wait_for_navigation\":\n return \"navigated\";\n }\n}\nfunction st() {\n document.addEventListener(\"click\", Te, !0), document.addEventListener(\"input\", Ne, !0), document.addEventListener(\"blur\", Le, !0), document.addEventListener(\"mousemove\", Ie, !0), document.addEventListener(\"mouseleave\", Ce, !0), window.addEventListener(\"beforeunload\", Y), window.addEventListener(\"popstate\", He);\n}\nfunction at() {\n document.removeEventListener(\"click\", Te, !0), document.removeEventListener(\"input\", Ne, !0), document.removeEventListener(\"blur\", Le, !0), document.removeEventListener(\"mousemove\", Ie, !0), document.removeEventListener(\"mouseleave\", Ce, !0), window.removeEventListener(\"beforeunload\", Y), window.removeEventListener(\"popstate\", He);\n}\nlet j = 0, _ = null;\nfunction Ie(t) {\n !l || l.paused || j || (j = requestAnimationFrame(() => {\n if (j = 0, !l) return;\n const e = document.elementFromPoint(t.clientX, t.clientY);\n if (!e || !(e instanceof HTMLElement) || K(e)) {\n _ && (l.shell.renderHoverFrame(null), _ = null);\n return;\n }\n e !== _ && (_ = e, l.shell.renderHoverFrame(e.getBoundingClientRect()));\n }));\n}\nfunction Ce() {\n l && (l.shell.renderHoverFrame(null), _ = null);\n}\nfunction Te(t) {\n if (!l || l.paused) return;\n const e = t.target;\n !e || K(e) || (Z(), l.steps.push({\n type: \"click\",\n selectors: ye(e),\n elementText: he(e),\n accessibleName: e.getAttribute(\"aria-label\") || he(e),\n urlAtCapture: location.pathname + location.search,\n viewportSize: { width: innerWidth, height: innerHeight },\n ts: Date.now()\n }), J(), H());\n}\nfunction Ne(t) {\n if (!l || l.paused) return;\n const e = t.target;\n !e || !(\"value\" in e) || K(e) || (!l.pendingTypeStep || l.pendingTypeStep.fieldElement !== e ? l.pendingTypeStep = {\n type: \"type\",\n selectors: ye(e),\n fieldLabel: lt(e),\n finalValue: e.value,\n prefillValue: e.value,\n urlAtCapture: location.pathname + location.search,\n ts: Date.now(),\n fieldElement: e\n } : (l.pendingTypeStep.finalValue = e.value, l.pendingTypeStep.prefillValue = e.value));\n}\nfunction Le(t) {\n if (!l) return;\n const e = t.target;\n l.pendingTypeStep && l.pendingTypeStep.fieldElement === e && (Z(), H());\n}\nfunction Z() {\n if (!l || !l.pendingTypeStep) return;\n const n = l.pendingTypeStep, { fieldElement: t } = n, e = ne(n, [\"fieldElement\"]);\n l.steps.push(e), l.pendingTypeStep = void 0, J();\n}\nfunction Y() {\n l && (l.steps.push({\n type: \"wait_for_navigation\",\n fromUrl: l.lastUrl,\n toUrl: location.pathname + location.search,\n urlAtCapture: location.pathname + location.search,\n ts: Date.now()\n }), J());\n}\nfunction He() {\n Y();\n}\nfunction J() {\n l && _e({\n guideId: l.guideId,\n title: l.title,\n steps: l.steps,\n startedAt: Date.now()\n });\n}\nfunction lt(t) {\n var e;\n return (t.getAttribute(\"aria-label\") || t.placeholder || t.id && ((e = document.querySelector(`label[for=\"${t.id}\"]`)) == null ? void 0 : e.textContent) || \"\").trim();\n}\nfunction he(t) {\n return Array.from(t.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => {\n var n;\n return (n = e.textContent) != null ? n : \"\";\n }).join(\"\").trim();\n}\nfunction K(t) {\n return !!t.closest(\"#sw-guide-overlay\");\n}\nfunction ct() {\n const t = Ae();\n return t && Date.now() - t.startedAt < 1800 * 1e3 ? t : (t && ke(), null);\n}\nconst Lt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n maybeResume: ct,\n pause: Ee,\n resume: Se,\n start: ot,\n stop: X\n}, Symbol.toStringTag, { value: \"Module\" }));\nasync function ut(t, e) {\n const { timeoutMs: n, pollMs: i = 200 } = e, o = performance.now() + n;\n let r = null;\n for (; performance.now() < o; ) {\n for (const a of t) {\n const u = dt(a);\n if (u && pt(u))\n if (!r)\n r = u;\n else {\n if (r === u)\n return u;\n r = u;\n }\n }\n await gt(i);\n }\n return null;\n}\nfunction dt(t) {\n switch (t.kind) {\n case \"sw-anchor\": {\n const e = document.querySelector(\n `[data-sw-anchor=\"${fe(t.anchorId)}\"]`\n );\n return e ? t.childPath ? e.querySelector(t.childPath) : e : null;\n }\n case \"test-id\":\n return document.querySelector(\n `[${t.attr}=\"${fe(t.value)}\"]`\n );\n case \"aria\":\n return ht(t.role, t.name);\n case \"text\":\n return ft(t.tag, t.text, t.nthOfMatch);\n case \"css-path\":\n try {\n return document.querySelector(t.path);\n } catch (e) {\n return null;\n }\n case \"xpath\":\n return document.evaluate(\n t.xpath,\n document,\n null,\n XPathResult.FIRST_ORDERED_NODE_TYPE,\n null\n ).singleNodeValue || null;\n }\n}\nfunction pt(t) {\n if (t.offsetParent === null && getComputedStyle(t).position !== \"fixed\") return !1;\n const e = t.getBoundingClientRect();\n if (e.width === 0 || e.height === 0) return !1;\n const n = getComputedStyle(t);\n if (n.visibility === \"hidden\" || n.pointerEvents === \"none\") return !1;\n (e.bottom < 0 || e.top > innerHeight || e.right < 0 || e.left > innerWidth) && t.scrollIntoView({ block: \"center\", inline: \"center\" });\n const i = e.left + e.width / 2, o = e.top + e.height / 2, r = document.elementFromPoint(i, o);\n return r ? r === t || t.contains(r) : !1;\n}\nfunction ht(t, e) {\n const n = Array.from(document.querySelectorAll(\"*\")), i = e.toLowerCase();\n return n.find((o) => {\n if ((o.getAttribute(\"role\") || \"\").toLowerCase() !== t) return !1;\n const a = (o.getAttribute(\"aria-label\") || o.textContent || \"\").trim().toLowerCase();\n return a === i || a.startsWith(i);\n }) || null;\n}\nfunction ft(t, e, n) {\n return Array.from(document.querySelectorAll(t)).filter((r) => mt(r) === e)[n - 1] || null;\n}\nfunction mt(t) {\n return Array.from(t.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => {\n var n;\n return (n = e.textContent) != null ? n : \"\";\n }).join(\"\").trim();\n}\nfunction gt(t) {\n return new Promise((e) => setTimeout(e, t));\n}\nfunction fe(t) {\n return window.CSS && CSS.escape ? CSS.escape(t) : t.replace(/[^a-zA-Z0-9_-]/g, \"\\\\$&\");\n}\nfunction Q(t, e, n) {\n const [i, o = \"\"] = t.split(\"?\"), [r, a = \"\"] = e.split(\"?\");\n return vt(i, r, n) ? !o && !a ? !0 : bt(o, a, n) : !1;\n}\nfunction vt(t, e, n) {\n const i = t.split(\"/\").filter(Boolean), o = e.split(\"/\").filter(Boolean);\n return i.length !== o.length ? !1 : i.every((r, a) => r === o[a] || n.includes(r));\n}\nfunction bt(t, e, n) {\n var r, a;\n const i = new URLSearchParams(t), o = new URLSearchParams(e);\n if ([...i.keys()].sort().join() !== [...o.keys()].sort().join())\n return !1;\n for (const u of i.keys()) {\n const c = (r = i.get(u)) != null ? r : \"\", d = (a = o.get(u)) != null ? a : \"\";\n if (c !== d && !n.includes(c)) return !1;\n }\n return !0;\n}\nlet s = null, R = null;\nfunction xt(t) {\n R = t;\n}\nasync function wt(t) {\n var e;\n if (s && A(\"superseded\", \"superseded\"), Re(), s = {\n sessionId: t.sessionId,\n guideId: t.guideId,\n versionId: t.versionId,\n version: t.version,\n stepIndex: (e = t.resumeStepIndex) != null ? e : 0,\n shell: new $e(),\n exited: !1\n }, s.version.domain_strategy === \"specific\" && s.version.specific_domain && location.host !== s.version.specific_domain)\n return s.shell.toast(`This guide only works on ${s.version.specific_domain}.`, \"error\"), A(\"failed\", \"wrong_start\");\n if (s.shell.renderControlBar({\n current: s.stepIndex + 1,\n total: s.version.steps.length,\n onSkip: G,\n onExit: ee\n }), s.stepIndex === 0) {\n const n = s.version.steps[0];\n if (!Q(\n n.url_path,\n location.pathname + location.search,\n s.version.wildcard_values\n )) {\n if (!await $t(n.url_path)) return A(\"exited\", \"wrong_start\");\n B({\n sessionId: s.sessionId,\n guideId: s.guideId,\n versionId: s.versionId,\n stepIndex: 0,\n version: s.version\n }), location.href = location.origin + n.url_path;\n return;\n }\n }\n await yt();\n}\nasync function $t(t) {\n return new Promise((e) => {\n if (!s) return e(!1);\n s.shell.toast(`This guide starts on ${t}.`, \"info\", 999999), setTimeout(() => e(!0), 0);\n });\n}\nasync function yt() {\n for (; s && !s.exited && s.stepIndex < s.version.steps.length; ) {\n const t = s.version.steps[s.stepIndex];\n if (s.shell.renderControlBar({\n current: s.stepIndex + 1,\n total: s.version.steps.length,\n onSkip: G,\n onExit: ee\n }), !Q(\n t.url_path,\n location.pathname + location.search,\n s.version.wildcard_values\n )) {\n B({\n sessionId: s.sessionId,\n guideId: s.guideId,\n versionId: s.versionId,\n stepIndex: s.stepIndex,\n version: s.version\n });\n const n = await Et(t.url_path, 2e4);\n if (!s || s.exited) return;\n if (!n)\n return s.shell.toast(\"Looks like you've gone elsewhere.\", \"info\"), A(\"failed\", \"off_site\");\n }\n if (t.step_type === \"wait_for_navigation\") {\n s.stepIndex++;\n continue;\n }\n const e = await ut(t.selectors, { timeoutMs: 1e4 });\n if (!e) {\n s.shell.toast(\"We can't find this — Skip / Exit.\", \"info\", 999999), await St();\n continue;\n }\n t.step_type === \"scroll_to\" && (e.scrollIntoView({ block: \"center\", inline: \"center\", behavior: \"smooth\" }), await Tt(300)), kt(e, s.stepIndex === 0), t.step_type === \"click\" ? await _t(e, t) : t.step_type === \"type\" ? await At(e, t) : t.step_type === \"scroll_to\" && s.stepIndex++, s == null || s.shell.renderHighlight(null), It();\n }\n s && !s.exited && A(\"completed\", \"completed\");\n}\nasync function _t(t, e) {\n s && (q(t), e.tooltip && Pe(t, e.tooltip), await new Promise((n) => {\n const i = (o) => {\n const r = o.target;\n t === r || t.contains(r) ? (document.removeEventListener(\"click\", i, !0), s && B({\n sessionId: s.sessionId,\n guideId: s.guideId,\n versionId: s.versionId,\n stepIndex: s.stepIndex + 1,\n version: s.version\n }), n()) : (s.shell.toast(\"Click the highlighted item.\", \"info\", 1500), t && q(t, !0));\n };\n document.addEventListener(\"click\", i, !0);\n }), s.shell.renderTooltip(0, 0, null), s.stepIndex++);\n}\nasync function At(t, e) {\n s && (q(t), e.prefill_value && (t.focus(), t.value = e.prefill_value, t.dispatchEvent(new Event(\"input\", { bubbles: !0 }))), (e.tooltip || e.field_label) && Pe(t, e.tooltip || `Type your ${e.field_label}`), await new Promise((n) => {\n const i = () => {\n t.removeEventListener(\"blur\", i), n();\n };\n t.addEventListener(\"blur\", i);\n }), s.shell.renderTooltip(0, 0, null), s.stepIndex++);\n}\nfunction q(t, e = !1) {\n if (!s) return;\n const n = t.getBoundingClientRect();\n s.shell.renderCursor(n.left + n.width / 2, n.top + n.height / 2, e);\n}\nfunction kt(t, e) {\n s && s.shell.renderHighlight(t.getBoundingClientRect(), { pulse: e });\n}\nfunction Pe(t, e) {\n if (!s) return;\n const n = t.getBoundingClientRect();\n s.shell.renderTooltip(n.left + n.width / 2, n.bottom, e);\n}\nlet me = !1;\nfunction Re() {\n if (me) return;\n me = !0;\n const t = () => window.dispatchEvent(new Event(\"sw-guide:locationchange\")), e = history.pushState, n = history.replaceState;\n history.pushState = function(...i) {\n const o = e.apply(this, i);\n return t(), o;\n }, history.replaceState = function(...i) {\n const o = n.apply(this, i);\n return t(), o;\n }, window.addEventListener(\"popstate\", t);\n}\nfunction Et(t, e) {\n return Re(), new Promise((n) => {\n let i = !1;\n const o = (c) => {\n i || (i = !0, clearTimeout(a), clearInterval(u), window.removeEventListener(\"sw-guide:locationchange\", r), n(c));\n }, r = () => {\n Q(\n t,\n location.pathname + location.search,\n (s == null ? void 0 : s.version.wildcard_values) || []\n ) && o(!0);\n }, a = setTimeout(() => o(!1), e), u = setInterval(r, 250);\n window.addEventListener(\"sw-guide:locationchange\", r), r();\n });\n}\nfunction St() {\n return new Promise((t) => {\n const e = () => {\n document.removeEventListener(\"sw-guide:user-choice\", e), t();\n };\n document.addEventListener(\"sw-guide:user-choice\", e);\n });\n}\nfunction G() {\n s && (s.stepIndex++, document.dispatchEvent(new Event(\"sw-guide:user-choice\")));\n}\nfunction ee() {\n A(\"exited\", \"user_exit\");\n}\nfunction A(t, e) {\n if (!s) return;\n s.exited = !0;\n const n = s.stepIndex;\n s.shell.destroy(), it(), R == null || R(t, e, n), s = null;\n}\nfunction It() {\n s && (B({\n sessionId: s.sessionId,\n guideId: s.guideId,\n versionId: s.versionId,\n stepIndex: s.stepIndex,\n version: s.version\n }), document.dispatchEvent(new CustomEvent(\n \"sw-guide:playback-progress\",\n { detail: { stepIndex: s.stepIndex } }\n )));\n}\nfunction Ct() {\n const t = nt();\n return t || null;\n}\nfunction Tt(t) {\n return new Promise((e) => setTimeout(e, t));\n}\nconst Ht = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n exitGuide: ee,\n maybeResume: Ct,\n onDone: xt,\n skipStep: G,\n start: wt\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n Ht as playback,\n Lt as recording\n};\n//# sourceMappingURL=index-bfV4xNqW.js.map\n"],"names":["te","Me","Oe","ne","S","ie","M","oe","ve","be","Be","y","I","C","U","ze","E","re","se","w","ae","le","xe","Fe","T","ce","we","je","a","u","c","p","h","N","P","qe","O","k","o","r","De","d","n","i","L","F","ge","$e","ye","Qe","Ye","Ke","D","Ge","Je","e","V","W","_e","Ae","ke","B","l","X","H","Ee","at","Z","Te","Ne","Le","Ie","Ce","Y","He","j","K","lt","t","Lt","ut","dt","pt","gt","ht","ft","mt","Q","vt","bt","R","xt","wt","Re","G","ee","$t","yt","Et","St","Tt","kt","_t","At","It","Pe","Ct","Ht"],"mappings":"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"}
|