veo-sdk 0.1.0 → 0.2.1
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 +17 -11
- package/dist/builder.cjs +2072 -0
- package/dist/builder.cjs.map +1 -0
- package/dist/builder.d.cts +162 -0
- package/dist/builder.d.ts +162 -0
- package/dist/builder.mjs +449 -0
- package/dist/builder.mjs.map +1 -0
- package/dist/chunk-BBAA5BRS.mjs +2728 -0
- package/dist/chunk-BBAA5BRS.mjs.map +1 -0
- package/dist/guide-preview-CO5ShtNf.d.cts +137 -0
- package/dist/guide-preview-CO5ShtNf.d.ts +137 -0
- package/dist/index.cjs +1785 -727
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +43 -28
- package/dist/index.d.ts +43 -28
- package/dist/index.mjs +343 -2009
- package/dist/index.mjs.map +1 -1
- package/dist/veo-builder.js +289 -0
- package/dist/veo-builder.js.map +1 -0
- package/dist/veo-guides.js +259 -0
- package/dist/veo-guides.js.map +1 -0
- package/dist/veo.js +2 -169
- package/dist/veo.js.map +1 -1
- package/package.json +7 -2
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
var veoBuilder=(function(exports){'use strict';function ke(){return typeof window<"u"}function ee(){return typeof document<"u"}var ct=["http:","https:"],dt="data-veo-guide";function G(e,t,n){let o=t.createElement("div");if(o.className="veo-guide-content",typeof e.imageUrl=="string"&&e.imageUrl&&K(e.imageUrl)){let r=t.createElement("img");r.className="veo-guide-image",r.src=e.imageUrl,r.alt=typeof e.title=="string"?e.title:"",o.appendChild(r);}if(typeof e.title=="string"&&e.title){let r=t.createElement("h2");r.className="veo-guide-title",r.textContent=e.title,o.appendChild(r);}if(typeof e.content=="string"&&e.content){let r=t.createElement("p");r.className="veo-guide-text",r.textContent=e.content,o.appendChild(r);}let i=t.createElement("div");if(i.className="veo-guide-actions",typeof e.ctaText=="string"&&e.ctaText){let r=t.createElement("button");r.type="button",r.className="veo-guide-cta",r.textContent=e.ctaText,r.addEventListener("click",()=>{let a=e.ctaAction??"dismiss",c=en(e);n.onCtaClick(a,c);}),i.appendChild(r);}o.appendChild(i);let s=t.createElement("button");return s.type="button",s.className="veo-guide-close",s.setAttribute("aria-label","Cerrar"),s.textContent="\xD7",s.addEventListener("click",()=>n.onDismiss()),o.appendChild(s),o}function K(e){if(typeof e!="string"||e.length===0)return false;try{let t=typeof window<"u"?window.location.href:"http://localhost/",n=new URL(e,t);return ct.includes(n.protocol)}catch{return false}}function en(e){let t=e.style?.ctaUrl;if(typeof t=="string")return K(t)?t:void 0}var tn={"--veo-bg":"#1f2937","--veo-text":"#f9fafb","--veo-text-secondary":"#d1d5db","--veo-shadow":"0 20px 60px rgba(0, 0, 0, 0.55)"},nn={left:"flex-start",center:"center",right:"flex-end"},ut={none:"none",soft:"0 4px 14px rgba(0, 0, 0, 0.10)",medium:"0 8px 30px rgba(0, 0, 0, 0.18)",strong:"0 24px 60px rgba(0, 0, 0, 0.32)"},pt={center:[.5,.5],top:[.5,0],bottom:[.5,1],left:[0,.5],right:[1,.5],"top-left":[0,0],"top-right":[1,0],"bottom-left":[0,1],"bottom-right":[1,1]},ft=/^#[0-9a-f]{3,8}$|^(rgb|rgba|hsl|hsla)\([\d.,%/\sdeg]+\)$|^[a-z]{3,20}$/i;function j(e,t,n){return Math.min(n,Math.max(t,e))}function mt(e,t){if(!t||typeof t!="object")return;let n=t;if(typeof n.accentColor=="string"&&ft.test(n.accentColor.trim())&&e.style.setProperty("--veo-primary",n.accentColor.trim()),n.theme==="dark")for(let[s,r]of Object.entries(tn))e.style.setProperty(s,r);typeof n.radius=="number"&&Number.isFinite(n.radius)&&e.style.setProperty("--veo-radius",`${j(n.radius,0,48)}px`),typeof n.width=="number"&&Number.isFinite(n.width)&&e.style.setProperty("--veo-width",`${j(n.width,220,720)}px`),(n.align==="left"||n.align==="center"||n.align==="right")&&e.style.setProperty("--veo-actions-justify",nn[n.align]),typeof n.padding=="number"&&Number.isFinite(n.padding)&&e.style.setProperty("--veo-pad",`${j(n.padding,0,64)}px`),typeof n.margin=="number"&&Number.isFinite(n.margin)&&e.style.setProperty("--veo-margin",`${j(n.margin,0,64)}px`),typeof n.borderWidth=="number"&&Number.isFinite(n.borderWidth)&&e.style.setProperty("--veo-border-width",`${j(n.borderWidth,0,16)}px`),typeof n.borderColor=="string"&&ft.test(n.borderColor.trim())&&e.style.setProperty("--veo-border-color",n.borderColor.trim()),typeof n.shadow=="string"&&ut[n.shadow]&&e.style.setProperty("--veo-shadow",ut[n.shadow]);let o,i;typeof n.posX=="number"&&typeof n.posY=="number"?(o=j(n.posX,0,1),i=j(n.posY,0,1)):typeof n.overlayPosition=="string"&&pt[n.overlayPosition]&&([o,i]=pt[n.overlayPosition]),o!==void 0&&i!==void 0&&(e.style.setProperty("--veo-pos-x",`${o*100}%`),e.style.setProperty("--veo-pos-y",`${i*100}%`));}var ht=`
|
|
2
|
+
:host {
|
|
3
|
+
--veo-primary: #4f46e5;
|
|
4
|
+
--veo-text: #1f2937;
|
|
5
|
+
--veo-text-secondary: #4b5563;
|
|
6
|
+
--veo-bg: #ffffff;
|
|
7
|
+
--veo-radius: 12px;
|
|
8
|
+
--veo-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
|
|
9
|
+
--veo-width: 420px;
|
|
10
|
+
--veo-actions-justify: flex-end;
|
|
11
|
+
all: initial;
|
|
12
|
+
}
|
|
13
|
+
* { box-sizing: border-box; font-family: -apple-system, system-ui, "Segoe UI", Roboto, sans-serif; }
|
|
14
|
+
|
|
15
|
+
.veo-modal-overlay {
|
|
16
|
+
position: fixed; inset: 0;
|
|
17
|
+
background: rgba(15, 15, 30, 0.45);
|
|
18
|
+
z-index: ${2147483640};
|
|
19
|
+
animation: veo-fade-in 180ms ease-out;
|
|
20
|
+
}
|
|
21
|
+
/*
|
|
22
|
+
* Posici\xF3n libre/preset: --veo-pos-x/y son porcentajes (default 50% = centro).
|
|
23
|
+
* El truco translate(-pos) alinea la MISMA fracci\xF3n de la tarjeta con esa
|
|
24
|
+
* fracci\xF3n del overlay, as\xED la tarjeta nunca se sale (0% = pegada izquierda,
|
|
25
|
+
* 100% = pegada derecha, 50% = centrada) sea cual sea su ancho.
|
|
26
|
+
*/
|
|
27
|
+
.veo-modal-card {
|
|
28
|
+
position: absolute;
|
|
29
|
+
left: var(--veo-pos-x, 50%);
|
|
30
|
+
top: var(--veo-pos-y, 50%);
|
|
31
|
+
transform: translate(calc(var(--veo-pos-x, 50%) * -1), calc(var(--veo-pos-y, 50%) * -1));
|
|
32
|
+
background: var(--veo-bg);
|
|
33
|
+
border-radius: var(--veo-radius);
|
|
34
|
+
border: var(--veo-border-width, 0) solid var(--veo-border-color, transparent);
|
|
35
|
+
padding: var(--veo-pad, 24px);
|
|
36
|
+
max-width: var(--veo-width); width: 90%;
|
|
37
|
+
box-shadow: var(--veo-shadow);
|
|
38
|
+
animation: veo-fade-in 180ms ease-out;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.veo-banner {
|
|
42
|
+
position: fixed; left: 0; right: 0;
|
|
43
|
+
background: var(--veo-bg);
|
|
44
|
+
border: var(--veo-border-width, 0) solid var(--veo-border-color, transparent);
|
|
45
|
+
padding: var(--veo-pad, 16px);
|
|
46
|
+
z-index: ${2147483640};
|
|
47
|
+
box-shadow: var(--veo-shadow, 0 2px 12px rgba(0, 0, 0, 0.12));
|
|
48
|
+
animation: veo-slide-down 200ms ease-out;
|
|
49
|
+
}
|
|
50
|
+
.veo-banner-top { top: 0; }
|
|
51
|
+
.veo-banner-bottom { bottom: 0; }
|
|
52
|
+
|
|
53
|
+
.veo-tooltip {
|
|
54
|
+
position: absolute;
|
|
55
|
+
background: var(--veo-bg);
|
|
56
|
+
border-radius: var(--veo-radius);
|
|
57
|
+
border: var(--veo-border-width, 0) solid var(--veo-border-color, transparent);
|
|
58
|
+
padding: var(--veo-pad, 15px);
|
|
59
|
+
max-width: 300px;
|
|
60
|
+
z-index: ${2147483640};
|
|
61
|
+
box-shadow: var(--veo-shadow, 0 8px 30px rgba(0, 0, 0, 0.18));
|
|
62
|
+
animation: veo-fade-in 150ms ease-out;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.veo-inline {
|
|
66
|
+
background: var(--veo-bg);
|
|
67
|
+
border-radius: var(--veo-radius);
|
|
68
|
+
border: var(--veo-border-width, 0) solid var(--veo-border-color, transparent);
|
|
69
|
+
padding: var(--veo-pad, 20px);
|
|
70
|
+
max-width: var(--veo-width);
|
|
71
|
+
margin: var(--veo-margin, 12px) 0;
|
|
72
|
+
position: relative;
|
|
73
|
+
box-shadow: var(--veo-shadow);
|
|
74
|
+
animation: veo-fade-in 160ms ease-out;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.veo-guide-content {
|
|
78
|
+
position: relative;
|
|
79
|
+
display: flex; flex-direction: column;
|
|
80
|
+
}
|
|
81
|
+
.veo-guide-image {
|
|
82
|
+
display: block; width: 100%; max-height: 180px;
|
|
83
|
+
object-fit: cover; border-radius: 8px;
|
|
84
|
+
margin-bottom: 12px;
|
|
85
|
+
}
|
|
86
|
+
.veo-guide-title {
|
|
87
|
+
font-size: 18px; font-weight: 600; line-height: 1.3;
|
|
88
|
+
margin: 0 0 6px; color: var(--veo-text);
|
|
89
|
+
}
|
|
90
|
+
.veo-guide-text {
|
|
91
|
+
font-size: 14px; line-height: 1.5;
|
|
92
|
+
margin: 0 0 16px; color: var(--veo-text-secondary);
|
|
93
|
+
}
|
|
94
|
+
.veo-guide-actions {
|
|
95
|
+
display: flex; gap: 8px; justify-content: var(--veo-actions-justify);
|
|
96
|
+
}
|
|
97
|
+
.veo-guide-cta {
|
|
98
|
+
background: var(--veo-primary); color: #fff; border: none;
|
|
99
|
+
padding: 9px 18px; border-radius: 8px;
|
|
100
|
+
font-size: 14px; font-weight: 500; cursor: pointer;
|
|
101
|
+
transition: opacity 120ms ease;
|
|
102
|
+
}
|
|
103
|
+
.veo-guide-cta:hover { opacity: 0.9; }
|
|
104
|
+
.veo-guide-cta:active { transform: translateY(1px); }
|
|
105
|
+
.veo-guide-close {
|
|
106
|
+
position: absolute; top: -6px; right: -6px;
|
|
107
|
+
width: 24px; height: 24px;
|
|
108
|
+
background: none; border: none;
|
|
109
|
+
font-size: 22px; line-height: 1;
|
|
110
|
+
cursor: pointer; color: #9ca3af; padding: 0;
|
|
111
|
+
}
|
|
112
|
+
.veo-guide-close:hover { color: var(--veo-text); }
|
|
113
|
+
|
|
114
|
+
.veo-form { display: flex; flex-direction: column; gap: 14px; margin-bottom: 16px; }
|
|
115
|
+
.veo-form-field { display: flex; flex-direction: column; gap: 6px; }
|
|
116
|
+
.veo-form-label { font-size: 13px; font-weight: 500; color: var(--veo-text); }
|
|
117
|
+
.veo-form-input {
|
|
118
|
+
font-size: 14px; color: var(--veo-text);
|
|
119
|
+
background: var(--veo-bg);
|
|
120
|
+
border: 1px solid #d1d5db; border-radius: 8px;
|
|
121
|
+
padding: 8px 10px; width: 100%;
|
|
122
|
+
}
|
|
123
|
+
.veo-form-input:focus { outline: 2px solid var(--veo-primary); outline-offset: -1px; border-color: transparent; }
|
|
124
|
+
.veo-form-options { display: flex; flex-direction: column; gap: 6px; }
|
|
125
|
+
.veo-form-option {
|
|
126
|
+
display: flex; align-items: center; gap: 8px;
|
|
127
|
+
font-size: 14px; color: var(--veo-text); cursor: pointer;
|
|
128
|
+
}
|
|
129
|
+
.veo-form-option input { accent-color: var(--veo-primary); margin: 0; cursor: pointer; }
|
|
130
|
+
.veo-form-scale { display: flex; gap: 4px; flex-wrap: wrap; }
|
|
131
|
+
.veo-nps-btn {
|
|
132
|
+
min-width: 30px; height: 30px; padding: 0 4px;
|
|
133
|
+
font-size: 13px; font-weight: 500; color: var(--veo-text);
|
|
134
|
+
background: var(--veo-bg); border: 1px solid #d1d5db; border-radius: 6px;
|
|
135
|
+
cursor: pointer; transition: all 100ms ease;
|
|
136
|
+
}
|
|
137
|
+
.veo-nps-btn:hover { border-color: var(--veo-primary); }
|
|
138
|
+
.veo-rating-btn {
|
|
139
|
+
background: none; border: none; padding: 0 2px;
|
|
140
|
+
font-size: 26px; line-height: 1; color: #d1d5db;
|
|
141
|
+
cursor: pointer; transition: color 100ms ease;
|
|
142
|
+
}
|
|
143
|
+
.veo-scale-active.veo-nps-btn { background: var(--veo-primary); color: #fff; border-color: var(--veo-primary); }
|
|
144
|
+
.veo-scale-active.veo-rating-btn { color: #f59e0b; }
|
|
145
|
+
.veo-form-error { font-size: 13px; color: #dc2626; margin: 0; }
|
|
146
|
+
.veo-form-thanks {
|
|
147
|
+
text-align: center; padding: 24px 8px;
|
|
148
|
+
font-size: 16px; font-weight: 600; color: var(--veo-text);
|
|
149
|
+
}
|
|
150
|
+
.veo-form-preview-note {
|
|
151
|
+
text-align: center; margin: 0 0 12px;
|
|
152
|
+
font-size: 12px; color: #b45309;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.veo-walkthrough {
|
|
156
|
+
position: absolute;
|
|
157
|
+
background: var(--veo-bg);
|
|
158
|
+
border-radius: var(--veo-radius);
|
|
159
|
+
border: var(--veo-border-width, 0) solid var(--veo-border-color, transparent);
|
|
160
|
+
padding: var(--veo-pad, 16px);
|
|
161
|
+
max-width: 340px;
|
|
162
|
+
z-index: ${2147483640};
|
|
163
|
+
box-shadow: var(--veo-shadow, 0 8px 30px rgba(0, 0, 0, 0.2));
|
|
164
|
+
animation: veo-fade-in 150ms ease-out;
|
|
165
|
+
}
|
|
166
|
+
.veo-walkthrough-arrow {
|
|
167
|
+
position: absolute;
|
|
168
|
+
width: 12px;
|
|
169
|
+
height: 12px;
|
|
170
|
+
background: var(--veo-bg);
|
|
171
|
+
transform: rotate(45deg);
|
|
172
|
+
pointer-events: none;
|
|
173
|
+
}
|
|
174
|
+
.veo-walkthrough-counter {
|
|
175
|
+
font-size: 11px; color: #9ca3af;
|
|
176
|
+
margin-bottom: 8px; letter-spacing: 0.02em;
|
|
177
|
+
}
|
|
178
|
+
.veo-walkthrough-progress {
|
|
179
|
+
display: flex; gap: 4px;
|
|
180
|
+
margin-bottom: 12px;
|
|
181
|
+
}
|
|
182
|
+
.veo-walkthrough-progress-dot {
|
|
183
|
+
width: 8px; height: 8px;
|
|
184
|
+
border-radius: 50%;
|
|
185
|
+
background: #e5e7eb;
|
|
186
|
+
transition: background 200ms ease;
|
|
187
|
+
}
|
|
188
|
+
.veo-walkthrough-progress-dot.active { background: var(--veo-primary); }
|
|
189
|
+
.veo-walkthrough-progress-dot.completed { background: var(--veo-primary); opacity: 0.5; }
|
|
190
|
+
.veo-walkthrough-actions {
|
|
191
|
+
display: flex; align-items: center;
|
|
192
|
+
margin-top: 16px; gap: 8px;
|
|
193
|
+
}
|
|
194
|
+
.veo-walkthrough-actions-right {
|
|
195
|
+
display: flex; gap: 8px;
|
|
196
|
+
margin-left: auto;
|
|
197
|
+
}
|
|
198
|
+
.veo-walkthrough-btn-secondary {
|
|
199
|
+
background: transparent; color: #6b7280;
|
|
200
|
+
border: 1px solid #e5e7eb;
|
|
201
|
+
padding: 8px 16px; border-radius: 8px;
|
|
202
|
+
font-size: 13px; cursor: pointer;
|
|
203
|
+
transition: background 120ms ease;
|
|
204
|
+
}
|
|
205
|
+
.veo-walkthrough-btn-secondary:hover { background: #f9fafb; }
|
|
206
|
+
.veo-walkthrough-skip {
|
|
207
|
+
background: transparent; color: #9ca3af;
|
|
208
|
+
border: none; padding: 4px 8px;
|
|
209
|
+
font-size: 12px; cursor: pointer;
|
|
210
|
+
}
|
|
211
|
+
.veo-walkthrough-skip:hover { color: var(--veo-text); }
|
|
212
|
+
|
|
213
|
+
.veo-custom-floating {
|
|
214
|
+
position: fixed;
|
|
215
|
+
z-index: ${2147483640};
|
|
216
|
+
max-width: calc(100vw - 16px);
|
|
217
|
+
max-height: calc(100vh - 16px);
|
|
218
|
+
animation: veo-fade-in 160ms ease;
|
|
219
|
+
}
|
|
220
|
+
.veo-custom-anchored {
|
|
221
|
+
position: fixed;
|
|
222
|
+
top: 0; left: 0;
|
|
223
|
+
z-index: ${2147483640};
|
|
224
|
+
max-width: calc(100vw - 16px);
|
|
225
|
+
animation: veo-fade-in 160ms ease;
|
|
226
|
+
}
|
|
227
|
+
.veo-custom-inline {
|
|
228
|
+
display: block;
|
|
229
|
+
margin: 12px 0;
|
|
230
|
+
}
|
|
231
|
+
.veo-custom-frame {
|
|
232
|
+
display: block;
|
|
233
|
+
border: 0;
|
|
234
|
+
width: 360px;
|
|
235
|
+
background: transparent;
|
|
236
|
+
color-scheme: normal;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
@keyframes veo-fade-in { from { opacity: 0; } to { opacity: 1; } }
|
|
240
|
+
@keyframes veo-slide-up {
|
|
241
|
+
from { transform: translateY(10px); opacity: 0; }
|
|
242
|
+
to { transform: translateY(0); opacity: 1; }
|
|
243
|
+
}
|
|
244
|
+
@keyframes veo-slide-down {
|
|
245
|
+
from { transform: translateY(-10px); opacity: 0; }
|
|
246
|
+
to { transform: translateY(0); opacity: 1; }
|
|
247
|
+
}
|
|
248
|
+
`;var y=class{constructor(){this.host=null;this.shadow=null;this.cleanups=[];}createHost(){let t=document.createElement("div");t.setAttribute(dt,"");let n=t.attachShadow({mode:"open"}),o=document.createElement("style");o.textContent=ht,n.appendChild(o);let i=document.createElement("div");return n.appendChild(i),document.body.appendChild(t),this.host=t,this.shadow=n,{host:t,shadow:n,root:i}}applyDesign(t){this.host&&mt(this.host,t);}registerCleanup(t){this.cleanups.push(t);}destroy(){for(let t of this.cleanups)try{t();}catch{}this.cleanups=[],this.host?.parentNode&&this.host.parentNode.removeChild(this.host),this.host=null,this.shadow=null;}};var Se=class extends y{render(t){let n=t.guide.guideSteps[0];if(!n)return;let{root:o}=this.createHost();this.applyDesign(n.style);let i=o.ownerDocument??document,s=n.style?.position==="bottom"?"bottom":"top",r=i.createElement("div");r.className=`veo-banner veo-banner-${s}`;let a=(l,d)=>{t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:l}),d&&window.open(d,"_blank","noopener,noreferrer"),t.onClose();},c=G(n,i,{onCtaClick:(l,d)=>{a("cta_clicked",l==="url"?d:void 0);},onDismiss:()=>a("dismissed")});r.appendChild(c),o.appendChild(r),t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"shown"});}};var Y=Math.min,$=Math.max,ve=Math.round;var I=e=>({x:e,y:e}),on={left:"right",right:"left",bottom:"top",top:"bottom"};function Pe(e,t,n){return $(e,Y(t,n))}function te(e,t){return typeof e=="function"?e(t):e}function F(e){return e.split("-")[0]}function ne(e){return e.split("-")[1]}function et(e){return e==="x"?"y":"x"}function Ae(e){return e==="y"?"height":"width"}function D(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function Te(e){return et(D(e))}function wt(e,t,n){n===void 0&&(n=false);let o=ne(e),i=Te(e),s=Ae(i),r=i==="x"?o===(n?"end":"start")?"right":"left":o==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(r=ge(r)),[r,ge(r)]}function xt(e){let t=ge(e);return [Re(e),t,Re(t)]}function Re(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var gt=["left","right"],vt=["right","left"],rn=["top","bottom"],sn=["bottom","top"];function an(e,t,n){switch(e){case "top":case "bottom":return n?t?vt:gt:t?gt:vt;case "left":case "right":return t?rn:sn;default:return []}}function yt(e,t,n,o){let i=ne(e),s=an(F(e),n==="start",o);return i&&(s=s.map(r=>r+"-"+i),t&&(s=s.concat(s.map(Re)))),s}function ge(e){let t=F(e);return on[t]+e.slice(t.length)}function ln(e){return {top:0,right:0,bottom:0,left:0,...e}}function tt(e){return typeof e!="number"?ln(e):{top:e,right:e,bottom:e,left:e}}function X(e){let{x:t,y:n,width:o,height:i}=e;return {width:o,height:i,top:n,left:t,right:t+o,bottom:n+i,x:t,y:n}}function bt(e,t,n){let{reference:o,floating:i}=e,s=D(t),r=Te(t),a=Ae(r),c=F(t),l=s==="y",d=o.x+o.width/2-i.width/2,f=o.y+o.height/2-i.height/2,p=o[a]/2-i[a]/2,u;switch(c){case "top":u={x:d,y:o.y-i.height};break;case "bottom":u={x:d,y:o.y+o.height};break;case "right":u={x:o.x+o.width,y:f};break;case "left":u={x:o.x-i.width,y:f};break;default:u={x:o.x,y:o.y};}switch(ne(t)){case "start":u[r]-=p*(n&&l?-1:1);break;case "end":u[r]+=p*(n&&l?-1:1);break}return u}async function Et(e,t){var n;t===void 0&&(t={});let{x:o,y:i,platform:s,rects:r,elements:a,strategy:c}=e,{boundary:l="clippingAncestors",rootBoundary:d="viewport",elementContext:f="floating",altBoundary:p=false,padding:u=0}=te(t,e),m=tt(u),g=a[p?f==="floating"?"reference":"floating":f],v=X(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(g)))==null||n?g:g.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(a.floating)),boundary:l,rootBoundary:d,strategy:c})),w=f==="floating"?{x:o,y:i,width:r.floating.width,height:r.floating.height}:r.reference,x=await(s.getOffsetParent==null?void 0:s.getOffsetParent(a.floating)),b=await(s.isElement==null?void 0:s.isElement(x))?await(s.getScale==null?void 0:s.getScale(x))||{x:1,y:1}:{x:1,y:1},A=X(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:w,offsetParent:x,strategy:c}):w);return {top:(v.top-A.top+m.top)/b.y,bottom:(A.bottom-v.bottom+m.bottom)/b.y,left:(v.left-A.left+m.left)/b.x,right:(A.right-v.right+m.right)/b.x}}var cn=50,Ct=async(e,t,n)=>{let{placement:o="bottom",strategy:i="absolute",middleware:s=[],platform:r}=n,a=r.detectOverflow?r:{...r,detectOverflow:Et},c=await(r.isRTL==null?void 0:r.isRTL(t)),l=await r.getElementRects({reference:e,floating:t,strategy:i}),{x:d,y:f}=bt(l,o,c),p=o,u=0,m={};for(let h=0;h<s.length;h++){let g=s[h];if(!g)continue;let{name:v,fn:w}=g,{x,y:b,data:A,reset:C}=await w({x:d,y:f,initialPlacement:o,placement:p,strategy:i,middlewareData:m,rects:l,platform:a,elements:{reference:e,floating:t}});d=x??d,f=b??f,m[v]={...m[v],...A},C&&u<cn&&(u++,typeof C=="object"&&(C.placement&&(p=C.placement),C.rects&&(l=C.rects===true?await r.getElementRects({reference:e,floating:t,strategy:i}):C.rects),{x:d,y:f}=bt(l,p,c)),h=-1);}return {x:d,y:f,placement:p,strategy:i,middlewareData:m}},kt=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:o,placement:i,rects:s,platform:r,elements:a,middlewareData:c}=t,{element:l,padding:d=0}=te(e,t)||{};if(l==null)return {};let f=tt(d),p={x:n,y:o},u=Te(i),m=Ae(u),h=await r.getDimensions(l),g=u==="y",v=g?"top":"left",w=g?"bottom":"right",x=g?"clientHeight":"clientWidth",b=s.reference[m]+s.reference[u]-p[u]-s.floating[m],A=p[u]-s.reference[u],C=await(r.getOffsetParent==null?void 0:r.getOffsetParent(l)),U=C?C[x]:0;(!U||!await(r.isElement==null?void 0:r.isElement(C)))&&(U=a.floating[x]||s.floating[m]);let pe=b/2-A/2,W=U/2-h[m]/2-1,N=Y(f[v],W),fe=Y(f[w],W),z=N,me=U-h[m]-fe,E=U/2-h[m]/2+pe,V=Pe(z,E,me),M=!c.arrow&&ne(i)!=null&&E!==V&&s.reference[m]/2-(E<z?N:fe)-h[m]/2<0,T=M?E<z?E-z:E-me:0;return {[u]:p[u]+T,data:{[u]:V,centerOffset:E-V-T,...M&&{alignmentOffset:T}},reset:M}}});var St=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,o;let{placement:i,middlewareData:s,rects:r,initialPlacement:a,platform:c,elements:l}=t,{mainAxis:d=true,crossAxis:f=true,fallbackPlacements:p,fallbackStrategy:u="bestFit",fallbackAxisSideDirection:m="none",flipAlignment:h=true,...g}=te(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return {};let v=F(i),w=D(a),x=F(a)===a,b=await(c.isRTL==null?void 0:c.isRTL(l.floating)),A=p||(x||!h?[ge(a)]:xt(a)),C=m!=="none";!p&&C&&A.push(...yt(a,h,m,b));let U=[a,...A],pe=await c.detectOverflow(t,g),W=[],N=((o=s.flip)==null?void 0:o.overflows)||[];if(d&&W.push(pe[v]),f){let E=wt(i,r,b);W.push(pe[E[0]],pe[E[1]]);}if(N=[...N,{placement:i,overflows:W}],!W.every(E=>E<=0)){var fe,z;let E=(((fe=s.flip)==null?void 0:fe.index)||0)+1,V=U[E];if(V&&(!(f==="alignment"?w!==D(V):false)||N.every(L=>D(L.placement)===w?L.overflows[0]>0:true)))return {data:{index:E,overflows:N},reset:{placement:V}};let M=(z=N.filter(T=>T.overflows[0]<=0).sort((T,L)=>T.overflows[1]-L.overflows[1])[0])==null?void 0:z.placement;if(!M)switch(u){case "bestFit":{var me;let T=(me=N.filter(L=>{if(C){let B=D(L.placement);return B===w||B==="y"}return true}).map(L=>[L.placement,L.overflows.filter(B=>B>0).reduce((B,Jt)=>B+Jt,0)]).sort((L,B)=>L[1]-B[1])[0])==null?void 0:me[0];T&&(M=T);break}case "initialPlacement":M=a;break}if(i!==M)return {reset:{placement:M}}}return {}}}};var dn=new Set(["left","top"]);async function un(e,t){let{placement:n,platform:o,elements:i}=e,s=await(o.isRTL==null?void 0:o.isRTL(i.floating)),r=F(n),a=ne(n),c=D(n)==="y",l=dn.has(r)?-1:1,d=s&&c?-1:1,f=te(t,e),{mainAxis:p,crossAxis:u,alignmentAxis:m}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&typeof m=="number"&&(u=a==="end"?m*-1:m),c?{x:u*d,y:p*l}:{x:p*l,y:u*d}}var Rt=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,o;let{x:i,y:s,placement:r,middlewareData:a}=t,c=await un(t,e);return r===((n=a.offset)==null?void 0:n.placement)&&(o=a.arrow)!=null&&o.alignmentOffset?{}:{x:i+c.x,y:s+c.y,data:{...c,placement:r}}}}},Pt=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:o,placement:i,platform:s}=t,{mainAxis:r=true,crossAxis:a=false,limiter:c={fn:v=>{let{x:w,y:x}=v;return {x:w,y:x}}},...l}=te(e,t),d={x:n,y:o},f=await s.detectOverflow(t,l),p=D(F(i)),u=et(p),m=d[u],h=d[p];if(r){let v=u==="y"?"top":"left",w=u==="y"?"bottom":"right",x=m+f[v],b=m-f[w];m=Pe(x,m,b);}if(a){let v=p==="y"?"top":"left",w=p==="y"?"bottom":"right",x=h+f[v],b=h-f[w];h=Pe(x,h,b);}let g=c.fn({...t,[u]:m,[p]:h});return {...g,data:{x:g.x-n,y:g.y-o,enabled:{[u]:r,[p]:a}}}}}};function Ie(){return typeof window<"u"}function Q(e){return Tt(e)?(e.nodeName||"").toLowerCase():"#document"}function k(e){var t;return (e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function O(e){var t;return (t=(Tt(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Tt(e){return Ie()?e instanceof Node||e instanceof k(e).Node:false}function S(e){return Ie()?e instanceof Element||e instanceof k(e).Element:false}function _(e){return Ie()?e instanceof HTMLElement||e instanceof k(e).HTMLElement:false}function At(e){return !Ie()||typeof ShadowRoot>"u"?false:e instanceof ShadowRoot||e instanceof k(e).ShadowRoot}function oe(e){let{overflow:t,overflowX:n,overflowY:o,display:i}=R(e);return /auto|scroll|overlay|hidden|clip/.test(t+o+n)&&i!=="inline"&&i!=="contents"}function Lt(e){return /^(table|td|th)$/.test(Q(e))}function we(e){try{if(e.matches(":popover-open"))return !0}catch{}try{return e.matches(":modal")}catch{return false}}var pn=/transform|translate|scale|rotate|perspective|filter/,fn=/paint|layout|strict|content/,q=e=>!!e&&e!=="none",nt;function Oe(e){let t=S(e)?R(e):e;return q(t.transform)||q(t.translate)||q(t.scale)||q(t.rotate)||q(t.perspective)||!_e()&&(q(t.backdropFilter)||q(t.filter))||pn.test(t.willChange||"")||fn.test(t.contain||"")}function It(e){let t=H(e);for(;_(t)&&!Z(t);){if(Oe(t))return t;if(we(t))return null;t=H(t);}return null}function _e(){return nt==null&&(nt=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),nt}function Z(e){return /^(html|body|#document)$/.test(Q(e))}function R(e){return k(e).getComputedStyle(e)}function xe(e){return S(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function H(e){if(Q(e)==="html")return e;let t=e.assignedSlot||e.parentNode||At(e)&&e.host||O(e);return At(t)?t.host:t}function Ot(e){let t=H(e);return Z(t)?e.ownerDocument?e.ownerDocument.body:e.body:_(t)&&oe(t)?t:Ot(t)}function Le(e,t,n){var o;t===void 0&&(t=[]);let i=Ot(e),s=i===((o=e.ownerDocument)==null?void 0:o.body),r=k(i);if(s){Ne(r);return t.concat(r,r.visualViewport||[],oe(i)?i:[],[])}else return t.concat(i,Le(i,[]))}function Ne(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Dt(e){let t=R(e),n=parseFloat(t.width)||0,o=parseFloat(t.height)||0,i=_(e),s=i?e.offsetWidth:n,r=i?e.offsetHeight:o,a=ve(n)!==s||ve(o)!==r;return a&&(n=s,o=r),{width:n,height:o,$:a}}function Ht(e){return S(e)?e:e.contextElement}function ie(e){let t=Ht(e);if(!_(t))return I(1);let n=t.getBoundingClientRect(),{width:o,height:i,$:s}=Dt(t),r=(s?ve(n.width):n.width)/o,a=(s?ve(n.height):n.height)/i;return (!r||!Number.isFinite(r))&&(r=1),(!a||!Number.isFinite(a))&&(a=1),{x:r,y:a}}var mn=I(0);function Bt(e){let t=k(e);return !_e()||!t.visualViewport?mn:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function hn(e,t,n){return t===void 0&&(t=false),!n||t&&n!==k(e)?false:t}function ye(e,t,n,o){t===void 0&&(t=false),n===void 0&&(n=false);let i=e.getBoundingClientRect(),s=Ht(e),r=I(1);t&&(o?S(o)&&(r=ie(o)):r=ie(e));let a=hn(s,n,o)?Bt(s):I(0),c=(i.left+a.x)/r.x,l=(i.top+a.y)/r.y,d=i.width/r.x,f=i.height/r.y;if(s){let p=k(s),u=o&&S(o)?k(o):o,m=p,h=Ne(m);for(;h&&o&&u!==m;){let g=ie(h),v=h.getBoundingClientRect(),w=R(h),x=v.left+(h.clientLeft+parseFloat(w.paddingLeft))*g.x,b=v.top+(h.clientTop+parseFloat(w.paddingTop))*g.y;c*=g.x,l*=g.y,d*=g.x,f*=g.y,c+=x,l+=b,m=k(h),h=Ne(m);}}return X({width:d,height:f,x:c,y:l})}function Me(e,t){let n=xe(e).scrollLeft;return t?t.left+n:ye(O(e)).left+n}function Gt(e,t){let n=e.getBoundingClientRect(),o=n.left+t.scrollLeft-Me(e,n),i=n.top+t.scrollTop;return {x:o,y:i}}function gn(e){let{elements:t,rect:n,offsetParent:o,strategy:i}=e,s=i==="fixed",r=O(o),a=t?we(t.floating):false;if(o===r||a&&s)return n;let c={scrollLeft:0,scrollTop:0},l=I(1),d=I(0),f=_(o);if((f||!f&&!s)&&((Q(o)!=="body"||oe(r))&&(c=xe(o)),f)){let u=ye(o);l=ie(o),d.x=u.x+o.clientLeft,d.y=u.y+o.clientTop;}let p=r&&!f&&!s?Gt(r,c):I(0);return {width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+d.x+p.x,y:n.y*l.y-c.scrollTop*l.y+d.y+p.y}}function vn(e){return Array.from(e.getClientRects())}function wn(e){let t=O(e),n=xe(e),o=e.ownerDocument.body,i=$(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),s=$(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight),r=-n.scrollLeft+Me(e),a=-n.scrollTop;return R(o).direction==="rtl"&&(r+=$(t.clientWidth,o.clientWidth)-i),{width:i,height:s,x:r,y:a}}var _t=25;function xn(e,t){let n=k(e),o=O(e),i=n.visualViewport,s=o.clientWidth,r=o.clientHeight,a=0,c=0;if(i){s=i.width,r=i.height;let d=_e();(!d||d&&t==="fixed")&&(a=i.offsetLeft,c=i.offsetTop);}let l=Me(o);if(l<=0){let d=o.ownerDocument,f=d.body,p=getComputedStyle(f),u=d.compatMode==="CSS1Compat"&&parseFloat(p.marginLeft)+parseFloat(p.marginRight)||0,m=Math.abs(o.clientWidth-f.clientWidth-u);m<=_t&&(s-=m);}else l<=_t&&(s+=l);return {width:s,height:r,x:a,y:c}}function yn(e,t){let n=ye(e,true,t==="fixed"),o=n.top+e.clientTop,i=n.left+e.clientLeft,s=_(e)?ie(e):I(1),r=e.clientWidth*s.x,a=e.clientHeight*s.y,c=i*s.x,l=o*s.y;return {width:r,height:a,x:c,y:l}}function Nt(e,t,n){let o;if(t==="viewport")o=xn(e,n);else if(t==="document")o=wn(O(e));else if(S(t))o=yn(t,n);else {let i=Bt(e);o={x:t.x-i.x,y:t.y-i.y,width:t.width,height:t.height};}return X(o)}function $t(e,t){let n=H(e);return n===t||!S(n)||Z(n)?false:R(n).position==="fixed"||$t(n,t)}function bn(e,t){let n=t.get(e);if(n)return n;let o=Le(e,[]).filter(a=>S(a)&&Q(a)!=="body"),i=null,s=R(e).position==="fixed",r=s?H(e):e;for(;S(r)&&!Z(r);){let a=R(r),c=Oe(r);!c&&a.position==="fixed"&&(i=null),(s?!c&&!i:!c&&a.position==="static"&&!!i&&(i.position==="absolute"||i.position==="fixed")||oe(r)&&!c&&$t(e,r))?o=o.filter(d=>d!==r):i=a,r=H(r);}return t.set(e,o),o}function En(e){let{element:t,boundary:n,rootBoundary:o,strategy:i}=e,r=[...n==="clippingAncestors"?we(t)?[]:bn(t,this._c):[].concat(n),o],a=Nt(t,r[0],i),c=a.top,l=a.right,d=a.bottom,f=a.left;for(let p=1;p<r.length;p++){let u=Nt(t,r[p],i);c=$(u.top,c),l=Y(u.right,l),d=Y(u.bottom,d),f=$(u.left,f);}return {width:l-f,height:d-c,x:f,y:c}}function Cn(e){let{width:t,height:n}=Dt(e);return {width:t,height:n}}function kn(e,t,n){let o=_(t),i=O(t),s=n==="fixed",r=ye(e,true,s,t),a={scrollLeft:0,scrollTop:0},c=I(0);function l(){c.x=Me(i);}if(o||!o&&!s)if((Q(t)!=="body"||oe(i))&&(a=xe(t)),o){let u=ye(t,true,s,t);c.x=u.x+t.clientLeft,c.y=u.y+t.clientTop;}else i&&l();s&&!o&&i&&l();let d=i&&!o&&!s?Gt(i,a):I(0),f=r.left+a.scrollLeft-c.x-d.x,p=r.top+a.scrollTop-c.y-d.y;return {x:f,y:p,width:r.width,height:r.height}}function ot(e){return R(e).position==="static"}function Mt(e,t){if(!_(e)||R(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return O(e)===n&&(n=n.ownerDocument.body),n}function Ft(e,t){let n=k(e);if(we(e))return n;if(!_(e)){let i=H(e);for(;i&&!Z(i);){if(S(i)&&!ot(i))return i;i=H(i);}return n}let o=Mt(e,t);for(;o&&Lt(o)&&ot(o);)o=Mt(o,t);return o&&Z(o)&&ot(o)&&!Oe(o)?n:o||It(e)||n}var Sn=async function(e){let t=this.getOffsetParent||Ft,n=this.getDimensions,o=await n(e.floating);return {reference:kn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Rn(e){return R(e).direction==="rtl"}var Pn={convertOffsetParentRelativeRectToViewportRelativeRect:gn,getDocumentElement:O,getClippingRect:En,getOffsetParent:Ft,getElementRects:Sn,getClientRects:vn,getDimensions:Cn,getScale:ie,isElement:S,isRTL:Rn};var re=Rt;var se=Pt,ae=St;var Ut=kt;var le=(e,t,n)=>{let o=new Map,i={platform:Pn,...n},s={...i.platform,_c:o};return Ct(e,t,{...i,platform:s})};function P(e,t=5e3){return new Promise(n=>{let o=()=>{try{return document.querySelector(e)}catch{return null}},i=o();if(i){n(i);return}let s=false,r=l=>{s||(s=true,a.disconnect(),clearTimeout(c),n(l));},a=new MutationObserver(()=>{let l=o();l&&r(l);});a.observe(document.body,{childList:true,subtree:true});let c=setTimeout(()=>r(null),t);})}function Wt(){let t=Date.now().toString(16).padStart(12,"0"),n=new Uint8Array(10);if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function")crypto.getRandomValues(n);else for(let i=0;i<n.length;i++)n[i]=Math.floor(Math.random()*256);n[0]=(n[0]??0)&15|112,n[2]=(n[2]??0)&63|128;let o=Array.from(n,i=>i.toString(16).padStart(2,"0")).join("");return [t.slice(0,8),t.slice(8,12),o.slice(0,4),o.slice(4,8),o.slice(8,20)].join("-")}function De(e,t,n,o){let i=e.createElement("iframe");i.className="veo-custom-frame",i.setAttribute("sandbox","allow-scripts"),i.setAttribute("title",n.guide.guideName||"Veo"),i.style.width=o.width;let s=o.fixedHeight!==void 0&&o.fixedHeight!==null;s&&(i.style.height=it(o.fixedHeight));let r=Wt();i.srcdoc=Tn(t.html??"",t.css??"",t.js??"",r);let a=()=>n.onClose(),c=l=>{if(l.source!==i.contentWindow)return;let d=l.data;if(!(!d||typeof d!="object"||d.__veo!==r))switch(d.type){case "dismiss":n.onInteraction({guideId:n.guide.guideId,stepIndex:0,action:"dismissed"}),a();break;case "cta":n.onInteraction({guideId:n.guide.guideId,stepIndex:0,action:"cta_clicked"}),typeof d.url=="string"&&K(d.url)&&window.open(d.url,"_blank","noopener,noreferrer"),d.close!==false&&a();break;case "navigate":typeof d.url=="string"&&K(d.url)&&window.location.assign(d.url);break;case "track":typeof d.name=="string"&&n.onTrack&&n.onTrack(d.name,An(d.props)?d.props:void 0);break;case "resize":!s&&typeof d.height=="number"&&d.height>0&&(i.style.height=`${Math.ceil(d.height)}px`);break}};return window.addEventListener("message",c),{iframe:i,cleanup:()=>window.removeEventListener("message",c)}}function it(e){return typeof e=="number"?`${e}px`:e}function An(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Tn(e,t,n,o){let i=`(function(){var T=${JSON.stringify(o)};function P(m){m.__veo=T;parent.postMessage(m,'*');}window.veo={dismiss:function(){P({type:'dismiss'});},cta:function(u){P({type:'cta',url:u});},track:function(n,p){P({type:'track',name:n,props:p||{}});},navigate:function(u){P({type:'navigate',url:u});}};document.addEventListener('click',function(e){var a=e.target&&e.target.closest?e.target.closest('a[href]'):null;if(!a)return;var h=a.getAttribute('href');if(!h||h.charAt(0)==='#'||/^(javascript|mailto|tel):/i.test(h))return;e.preventDefault();if(a.target==='_blank'){P({type:'cta',url:a.href,close:false});}else{P({type:'navigate',url:h});}},true);function H(){P({type:'resize',height:Math.ceil(document.documentElement.scrollHeight)});}window.addEventListener('load',H);try{if(typeof ResizeObserver!=='undefined'){new ResizeObserver(H).observe(document.documentElement);}}catch(e){}})();`;return `<!DOCTYPE html><html><head><meta charset="utf-8"><style>html,body{margin:0;padding:0;background:transparent;}</style><style>${zt(t,"style")}</style></head><body>${e}<script>${i}</script>`+(n?`<script>${zt(n,"script")}</script>`:"")+"</body></html>"}function zt(e,t){let n=t==="script"?/<\/script/gi:/<\/style/gi;return e.replace(n,`<\\/${t}`)}var Ln={mode:"floating",position:"bottom-right"},Vt=16,In=360,He=class extends y{async render(t){let n=t.guide.guideSteps[0];if(!n||typeof n.html!="string"||n.html.length===0)return;let o=n.placement??Ln,i=null;if(o.mode==="anchored"){let d=o.selector??n.selector??t.guide.activationRules.selector;if(typeof d!="string"||d.length===0||(i=await P(d),!i))return}let{root:s}=this.createHost(),r=s.ownerDocument??document,a=r.createElement("div");a.className=o.mode==="anchored"?"veo-custom-anchored":"veo-custom-floating";let{iframe:c,cleanup:l}=De(r,n,t,{width:it(o.width??In),fixedHeight:o.height??null});this.registerCleanup(l),a.appendChild(c),s.appendChild(a),o.mode==="floating"?On(a,o):i&&this.registerCleanup(await this.setupAnchoredPosition(i,a,o)),t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"shown"});}async setupAnchoredPosition(t,n,o){let i=o.side??"bottom",s=async()=>{let{x:a,y:c}=await le(t,n,{placement:i,strategy:"fixed",middleware:[re(o.offsetY??8),ae(),se({padding:8})]});n.style.left=`${a}px`,n.style.top=`${c}px`;};await s();let r=()=>{s();};return window.addEventListener("scroll",r,true),window.addEventListener("resize",r),()=>{window.removeEventListener("scroll",r,true),window.removeEventListener("resize",r);}}};function On(e,t){let n=t.position??"bottom-right",o=`${t.offsetX??Vt}px`,i=`${t.offsetY??Vt}px`,s=e.style;if(n==="center"){s.top="50%",s.left="50%",s.transform="translate(-50%, -50%)";return}let[r,a]=n.split("-");r==="top"?s.top=i:s.bottom=i,a==="left"?s.left=o:a==="right"?s.right=o:(s.left="50%",s.transform="translateX(-50%)");}function Be(e,t,n){let o=t.guide.guideSteps[0];if(!o)return;let i=o.fields??[],s=()=>{t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"dismissed"}),t.onClose();},r=n.createElement("div");if(r.className="veo-guide-content",o.title){let u=n.createElement("h2");u.className="veo-guide-title",u.textContent=o.title,r.appendChild(u);}if(o.content){let u=n.createElement("p");u.className="veo-guide-text",u.textContent=o.content,r.appendChild(u);}let a=[],c=n.createElement("form");c.className="veo-form",c.noValidate=true;for(let u of i){let{wrapper:m,read:h}=Nn(u,n);a.push({field:u,read:h}),c.appendChild(m);}let l=n.createElement("p");l.className="veo-form-error",l.style.display="none",c.appendChild(l);let d=n.createElement("div");d.className="veo-guide-actions";let f=n.createElement("button");f.type="submit",f.className="veo-guide-cta",f.textContent=o.ctaText||"Enviar",d.appendChild(f),c.appendChild(d),c.addEventListener("submit",u=>{u.preventDefault(),l.style.display="none";let m={};for(let{field:g,read:v}of a){let w=v();if(w==null||w===""){if(g.required){l.textContent=`Complet\xE1 "${g.label}"`,l.style.display="block";return}continue}m[g.key]=w;}if(Object.keys(m).length===0){l.textContent="Respond\xE9 al menos un campo",l.style.display="block";return}f.disabled=true,(t.onFormSubmit??(()=>Promise.resolve(true)))(m).then(g=>{if(!g){f.disabled=false,l.textContent="No se pudo enviar. Prob\xE1 de nuevo.",l.style.display="block";return}t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"completed"});let v=t.isPreview?t.previewNote??"Vista previa: la respuesta NO se guard\xF3.":null;_n(e,n,v),window.setTimeout(()=>t.onClose(),v?2200:1400);});}),r.appendChild(c);let p=n.createElement("button");p.type="button",p.className="veo-guide-close",p.setAttribute("aria-label","Cerrar"),p.textContent="\xD7",p.addEventListener("click",s),r.appendChild(p),e.appendChild(r);}function _n(e,t,n){for(;e.firstChild;)e.removeChild(e.firstChild);let o=t.createElement("div");if(o.className="veo-form-thanks",o.textContent="\u2713 \xA1Gracias por tu respuesta!",e.appendChild(o),n){let i=t.createElement("p");i.className="veo-form-preview-note",i.textContent=n,e.appendChild(i);}}function Nn(e,t){let n=t.createElement("div");n.className="veo-form-field";let o=t.createElement("label");switch(o.className="veo-form-label",o.textContent=e.required?`${e.label} *`:e.label,n.appendChild(o),e.type){case "textarea":{let i=t.createElement("textarea");return i.className="veo-form-input",i.rows=3,e.placeholder&&(i.placeholder=e.placeholder),n.appendChild(i),{wrapper:n,read:()=>i.value.trim()}}case "number":{let i=t.createElement("input");return i.type="number",i.className="veo-form-input",e.placeholder&&(i.placeholder=e.placeholder),n.appendChild(i),{wrapper:n,read:()=>i.value.trim()===""?void 0:Number(i.value)}}case "select":{let i=t.createElement("select");i.className="veo-form-input";let s=t.createElement("option");s.value="",s.textContent=e.placeholder||"Eleg\xED una opci\xF3n\u2026",i.appendChild(s);for(let r of e.options??[]){let a=t.createElement("option");a.value=r,a.textContent=r,i.appendChild(a);}return n.appendChild(i),{wrapper:n,read:()=>i.value||void 0}}case "radio":{let i=t.createElement("div");i.className="veo-form-options";let s=`veo-${e.key}`,r=[];for(let a of e.options??[]){let c=t.createElement("label");c.className="veo-form-option";let l=t.createElement("input");l.type="radio",l.name=s,l.value=a,r.push(l);let d=t.createElement("span");d.textContent=a,c.appendChild(l),c.appendChild(d),i.appendChild(c);}return n.appendChild(i),{wrapper:n,read:()=>r.find(a=>a.checked)?.value}}case "multiselect":{let i=t.createElement("div");i.className="veo-form-options";let s=[];for(let r of e.options??[]){let a=t.createElement("label");a.className="veo-form-option";let c=t.createElement("input");c.type="checkbox",c.value=r,s.push(c);let l=t.createElement("span");l.textContent=r,a.appendChild(c),a.appendChild(l),i.appendChild(a);}return n.appendChild(i),{wrapper:n,read:()=>{let r=s.filter(a=>a.checked).map(a=>a.value);return r.length>0?r:void 0}}}case "checkbox":{let i=t.createElement("label");i.className="veo-form-option";let s=t.createElement("input");s.type="checkbox";let r=t.createElement("span");return r.textContent=e.placeholder||"S\xED",i.appendChild(s),i.appendChild(r),n.appendChild(i),{wrapper:n,read:()=>s.checked?true:e.required?"":false}}case "yesno":{let i=t.createElement("div");i.className="veo-form-options";let s=`veo-${e.key}`,[r,a]=e.options?.length===2?e.options:["S\xED","No"],c=[];for(let{label:l,value:d}of [{label:r,value:true},{label:a,value:false}]){let f=t.createElement("label");f.className="veo-form-option";let p=t.createElement("input");p.type="radio",p.name=s,c.push({input:p,value:d});let u=t.createElement("span");u.textContent=l,f.appendChild(p),f.appendChild(u),i.appendChild(f);}return n.appendChild(i),{wrapper:n,read:()=>c.find(l=>l.input.checked)?.value}}case "nps":return Kt(n,t,0,10,"veo-nps-btn");case "rating":return Kt(n,t,1,5,"veo-rating-btn","\u2605");default:{let i=t.createElement("input");return i.type="text",i.className="veo-form-input",e.placeholder&&(i.placeholder=e.placeholder),n.appendChild(i),{wrapper:n,read:()=>i.value.trim()}}}}function Kt(e,t,n,o,i,s){let r=t.createElement("div");r.className="veo-form-scale";let a,c=[];for(let l=n;l<=o;l++){let d=t.createElement("button");d.type="button",d.className=i,d.textContent=s??String(l),d.setAttribute("aria-label",String(l)),d.addEventListener("click",()=>{a=l,c.forEach((f,p)=>{let u=s?p+n<=l:p+n===l;f.classList.toggle("veo-scale-active",u);});}),c.push(d),r.appendChild(d);}return e.appendChild(r),{wrapper:e,read:()=>a}}var Ge=class extends y{render(t){let n=t.guide.guideSteps[0];if(!n||(n.fields??[]).length===0)return;let{root:o}=this.createHost();this.applyDesign(n.style);let i=o.ownerDocument??document,s=i.createElement("div");s.className="veo-modal-overlay";let r=i.createElement("div");r.className="veo-modal-card",Be(r,t,i),s.appendChild(r),o.appendChild(s);let a=()=>{t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"dismissed"}),t.onClose();};s.addEventListener("click",l=>{l.target===s&&a();});let c=l=>{l.key==="Escape"&&a();};document.addEventListener("keydown",c),this.registerCleanup(()=>document.removeEventListener("keydown",c)),t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"shown"});}};function ce(e){let t=e?.inlinePosition;return t==="before"||t==="prepend"||t==="append"?t:"after"}function J(e,t,n){switch(n){case "before":e.before(t);break;case "after":e.after(t);break;case "prepend":e.prepend(t);break;case "append":e.append(t);break}}function de(e,t,n){let o=window.setInterval(()=>{if(e.isConnected)return;let i=document.querySelector(t);i&&J(i,e,n);},1e3);return ()=>window.clearInterval(o)}var $e=class extends y{async render(t){let n=t.guide.guideSteps[0];if(!n||typeof n.html!="string"||n.html.length===0)return;let o=n.selector??t.guide.activationRules.selector;if(typeof o!="string"||o.length===0)return;let i=await P(o);if(!i)return;let{host:s,root:r}=this.createHost();s.style.display="block";let a=ce(n.style);J(i,s,a),this.registerCleanup(de(s,o,a));let c=r.ownerDocument??document,l=c.createElement("div");l.className="veo-custom-inline";let{iframe:d,cleanup:f}=De(c,n,t,{width:"100%"});this.registerCleanup(f),l.appendChild(d),r.appendChild(l),t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"shown"});}};var Fe=class extends y{async render(t){let n=t.guide.guideSteps[0];if(!n||(n.fields??[]).length===0)return;let o=n.selector??t.guide.activationRules.selector;if(typeof o!="string"||o.length===0)return;let i=await P(o);if(!i)return;let{host:s,root:r}=this.createHost();s.style.display="block";let a=ce(n.style);J(i,s,a),this.registerCleanup(de(s,o,a)),this.applyDesign(n.style);let c=r.ownerDocument??document,l=c.createElement("div");l.className="veo-inline",Be(l,t,c),r.appendChild(l),t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"shown"});}};var Ue=class extends y{async render(t){let n=t.guide.guideSteps[0];if(!n)return;let o=n.selector??t.guide.activationRules.selector;if(typeof o!="string"||o.length===0)return;let i=await P(o);if(!i)return;let{host:s,root:r}=this.createHost();s.style.display="block";let a=ce(n.style);J(i,s,a),this.registerCleanup(de(s,o,a)),this.applyDesign(n.style);let c=r.ownerDocument??document,l=c.createElement("div");l.className="veo-inline";let d=(p,u)=>{t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:p}),u&&window.open(u,"_blank","noopener,noreferrer"),t.onClose();},f=G(n,c,{onCtaClick:(p,u)=>d("cta_clicked",p==="url"?u:void 0),onDismiss:()=>d("dismissed")});l.appendChild(f),r.appendChild(l),t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"shown"});}};var We=class extends y{render(t){let n=t.guide.guideSteps[0];if(!n)return;let{root:o}=this.createHost();this.applyDesign(n.style);let i=o.ownerDocument??document,s=i.createElement("div");s.className="veo-modal-overlay";let r=i.createElement("div");r.className="veo-modal-card";let a=(d,f)=>{t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:d}),f&&window.open(f,"_blank","noopener,noreferrer"),t.onClose();},c=G(n,i,{onCtaClick:(d,f)=>{a("cta_clicked",d==="url"?f:void 0);},onDismiss:()=>a("dismissed")});r.appendChild(c),s.appendChild(r),o.appendChild(s),s.addEventListener("click",d=>{d.target===s&&a("dismissed");});let l=d=>{d.key==="Escape"&&a("dismissed");};document.addEventListener("keydown",l),this.registerCleanup(()=>document.removeEventListener("keydown",l)),t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"shown"});}};var ze=class extends y{async render(t){let n=t.guide.guideSteps[0];if(!n)return;let o=n.selector??t.guide.activationRules.selector;if(typeof o!="string"||o.length===0)return;let i=await P(o);if(!i)return;let{root:s}=this.createHost();this.applyDesign(n.style);let r=s.ownerDocument??document,a=r.createElement("div");a.className="veo-tooltip";let c=(p,u)=>{t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:p}),u&&window.open(u,"_blank","noopener,noreferrer"),t.onClose();},l=G(n,r,{onCtaClick:(p,u)=>{c("cta_clicked",p==="url"?u:void 0);},onDismiss:()=>c("dismissed")});a.appendChild(l),s.appendChild(a);let d=async()=>{let{x:p,y:u}=await le(i,a,{placement:"bottom",middleware:[re(8),ae(),se({padding:8})]});a.style.left=`${p}px`,a.style.top=`${u}px`;};await d();let f=()=>{d();};window.addEventListener("scroll",f,true),window.addEventListener("resize",f),this.registerCleanup(()=>{window.removeEventListener("scroll",f,true),window.removeEventListener("resize",f);}),t.onInteraction({guideId:t.guide.guideId,stepIndex:0,action:"shown"});}};function jt(e,t,n,o,i){let s=o.createElement("div");s.className="veo-guide-content";let r=o.createElement("div");r.className="veo-walkthrough-counter",r.textContent=`Paso ${t+1} de ${n}`,s.appendChild(r);let a=o.createElement("div");a.className="veo-walkthrough-progress";for(let m=0;m<n;m++){let h=o.createElement("span");h.className="veo-walkthrough-progress-dot",m<t&&h.classList.add("completed"),m===t&&h.classList.add("active"),a.appendChild(h);}if(s.appendChild(a),typeof e.imageUrl=="string"&&e.imageUrl&&K(e.imageUrl)){let m=o.createElement("img");m.className="veo-guide-image",m.src=e.imageUrl,m.alt=typeof e.title=="string"?e.title:"",s.appendChild(m);}if(typeof e.title=="string"&&e.title){let m=o.createElement("h2");m.className="veo-guide-title",m.textContent=e.title,s.appendChild(m);}if(typeof e.content=="string"&&e.content){let m=o.createElement("p");m.className="veo-guide-text",m.textContent=e.content,s.appendChild(m);}let c=o.createElement("div");c.className="veo-walkthrough-actions";let l=o.createElement("button");l.type="button",l.className="veo-walkthrough-skip",l.textContent="Omitir",l.addEventListener("click",()=>i.onSkip()),c.appendChild(l);let d=o.createElement("div");if(d.className="veo-walkthrough-actions-right",t>0){let m=o.createElement("button");m.type="button",m.className="veo-walkthrough-btn-secondary",m.textContent="Atr\xE1s",m.addEventListener("click",()=>i.onBack()),d.appendChild(m);}let f=t===n-1,p=o.createElement("button");p.type="button",p.className="veo-guide-cta";let u=f?"Finalizar":"Siguiente";return p.textContent=typeof e.ctaText=="string"&&e.ctaText?e.ctaText:u,p.addEventListener("click",()=>{f?i.onComplete():i.onNext();}),d.appendChild(p),c.appendChild(d),s.appendChild(c),s}var Ve=class extends y{async render(t){let n=t.guide.guideSteps[t.currentStepIndex];if(!n)return false;let o=n.selector??t.guide.activationRules.selector;if(typeof o!="string"||o.length===0)return false;let i=await P(o,5e3);if(!i)return false;let{root:s}=this.createHost();this.applyDesign(n.style);let r=s.ownerDocument??document,a=r.createElement("div");a.className="veo-walkthrough";let c=jt(n,t.currentStepIndex,t.guide.guideSteps.length,r,t.callbacks);a.appendChild(c);let l=r.createElement("div");l.className="veo-walkthrough-arrow",a.appendChild(l),s.appendChild(a);let d=async()=>{let{x:p,y:u,placement:m,middlewareData:h}=await le(i,a,{placement:"bottom",middleware:[re(10),ae(),se({padding:8}),Ut({element:l})]});a.style.left=`${p}px`,a.style.top=`${u}px`,Dn(l,m,h.arrow);};await d();let f=()=>{d();};return window.addEventListener("scroll",f,true),window.addEventListener("resize",f),this.registerCleanup(()=>{window.removeEventListener("scroll",f,true),window.removeEventListener("resize",f);}),true}},Mn={top:"bottom",bottom:"top",left:"right",right:"left"};function Dn(e,t,n){let o=Mn[t.split("-")[0]??"bottom"]??"top";for(let i of ["top","bottom","left","right"])e.style.setProperty(i,"");n?.x!=null&&e.style.setProperty("left",`${n.x}px`),n?.y!=null&&e.style.setProperty("top",`${n.y}px`),e.style.setProperty(o,"-6px");}var Hn="__veo_preview__",rt=class{constructor(){this.singleStep=null;this.walkthrough=null;this.walkthroughGuide=null;this.walkthroughIndex=0;this.input=null;}preview(t){this.close(),this.input=t;let n=Bn(t),o=typeof t.startStepIndex=="number"?t.startStepIndex:0,i=n.guideType==="walkthrough"?this.startWalkthrough(n,o):this.renderSingleStep(n);return {close:()=>this.close(),ready:i}}close(){this.singleStep&&(be(this.singleStep),this.singleStep=null),this.walkthrough&&(be(this.walkthrough),this.walkthrough=null),this.walkthroughGuide=null,this.walkthroughIndex=0,this.input=null;}async renderSingleStep(t){let n=Gn(t.guideType);if(!n)return {rendered:false};this.singleStep=n;let o=false;try{await n.render({guide:t,onInteraction:i=>{i.action==="shown"&&(o=!0);},onClose:()=>this.close(),onTrack:()=>{},onFormSubmit:this.input?.formSubmit??(()=>Promise.resolve(!0)),isPreview:!0,...this.input?.formSubmit&&this.input.formSubmitNote!==void 0?{previewNote:this.input.formSubmitNote}:{}});}catch{return this.close(),{rendered:false}}return this.singleStep!==n?(be(n),{rendered:false}):{rendered:o}}async startWalkthrough(t,n=0){if(t.guideSteps.length===0)return {rendered:false};this.walkthroughGuide=t;let o=Math.min(Math.max(0,Math.floor(n)),t.guideSteps.length-1);return this.walkthroughIndex=o,{rendered:await this.renderWalkthroughStep(o)}}async renderWalkthroughStep(t){let n=this.walkthroughGuide;if(!n)return false;this.walkthrough&&(be(this.walkthrough),this.walkthrough=null);let o=new Ve,i={onNext:()=>{let r=this.walkthroughIndex+1;if(r>=n.guideSteps.length){this.close();return}this.walkthroughIndex=r,this.renderWalkthroughStep(r);},onBack:()=>{let r=this.walkthroughIndex-1;r<0||(this.walkthroughIndex=r,this.renderWalkthroughStep(r));},onSkip:()=>this.close(),onComplete:()=>this.close()},s=false;try{s=await o.render({guide:n,currentStepIndex:t,callbacks:i});}catch{s=false;}return !s||this.walkthroughGuide!==n?(be(o),false):(this.walkthrough=o,true)}},Ke=null;function je(e){return ee()?(Ke||(Ke=new rt),Ke.preview(e)):{close:()=>{},ready:Promise.resolve({rendered:false})}}function Ee(){Ke?.close();}function Bn(e){let t=e.activationRules?.selector,n={url:e.activationRules?.url??{type:"prefix",pattern:"/"},trigger:"immediate",...t!==void 0?{selector:t}:{}};return {guideId:Hn,guideName:e.guideName??"Preview",guideType:e.guideType,guideSteps:e.guideSteps,activationRules:n,displayFrequency:"always",displayPriority:0}}function Gn(e){switch(e){case "modal":return new We;case "banner":return new Se;case "tooltip":return new ze;case "custom":return new He;case "inline":return new Ue;case "inline-custom":return new $e;case "form":return new Ge;case "inline-form":return new Fe;case "walkthrough":return null}}function be(e){try{e.destroy();}catch{}}var ue="veo-builder",Ye="veoBuilder",Xe="veoBuilderOrigin";var Yt=[/^css-[a-z0-9]{4,}$/i,/^_[a-z0-9]+_[a-z0-9]{4,}_\d+$/,/^[a-z]{2,4}-[a-z0-9]{6,}$/i,/^[a-f0-9]{6,}$/i,/^sc-[a-z0-9]+$/i];function $n(e){return Yt.some(t=>t.test(e))}function qe(e){return Array.from(e.classList).filter(t=>!$n(t)&&t.length<64)}var Fn=["data-testid","data-test","data-cy","name","aria-label","placeholder","alt","title","href","role","type"],Un=100;function st(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g,"\\$&")}function Xt(e){return e.replace(/[\\"]/g,"\\$&")}function Wn(e,t){for(let n of Fn){let o=e.getAttribute(n);if(o&&o.length>0&&o.length<=Un)return `${t}[${n}="${Xt(o)}"]`}return null}function zn(e){let t=e.tagName.toLowerCase(),n=e.getAttribute("data-veo-tag");if(n)return `${t}[data-veo-tag="${Xt(n)}"]`;if(e.id){let r=qe(e),a=r.length>0?`.${r.map(st).join(".")}`:"";return `${t}#${st(e.id)}${a}`}let o=Wn(e,t);if(o)return o;let i=qe(e),s=i.length>0?`.${i.map(st).join(".")}`:"";return `${t}${s}`}function Qe(e,t=5){let n=[],o=e,i=0;for(;o&&o!==document.documentElement&&i<=t;)n.unshift(zn(o)),o=o.parentElement,i++;return n.join(" > ")}var at=2147483646,Vn="data-veo-picker",qt=5,Kn=`
|
|
249
|
+
:host { all: initial; }
|
|
250
|
+
.veo-pick-box {
|
|
251
|
+
position: fixed;
|
|
252
|
+
z-index: ${at};
|
|
253
|
+
pointer-events: none;
|
|
254
|
+
box-sizing: border-box;
|
|
255
|
+
background: rgba(99, 102, 241, 0.22);
|
|
256
|
+
border: 1px dashed rgba(99, 102, 241, 0.95);
|
|
257
|
+
border-radius: 2px;
|
|
258
|
+
transition: top 60ms ease-out, left 60ms ease-out, width 60ms ease-out, height 60ms ease-out;
|
|
259
|
+
}
|
|
260
|
+
.veo-pick-label {
|
|
261
|
+
position: fixed;
|
|
262
|
+
z-index: ${at};
|
|
263
|
+
pointer-events: none;
|
|
264
|
+
max-width: 360px;
|
|
265
|
+
background: #1e1b4b;
|
|
266
|
+
color: #e0e7ff;
|
|
267
|
+
font: 12px/1.45 ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
268
|
+
padding: 6px 9px;
|
|
269
|
+
border-radius: 6px;
|
|
270
|
+
box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
|
|
271
|
+
}
|
|
272
|
+
.veo-pick-label .veo-pick-sel { color: #c7d2fe; word-break: break-all; }
|
|
273
|
+
.veo-pick-label .veo-pick-dim { color: #a5b4fc; margin-top: 3px; }
|
|
274
|
+
.veo-pick-hint {
|
|
275
|
+
position: fixed;
|
|
276
|
+
top: 12px;
|
|
277
|
+
left: 50%;
|
|
278
|
+
transform: translateX(-50%);
|
|
279
|
+
z-index: ${at};
|
|
280
|
+
pointer-events: none;
|
|
281
|
+
background: #4338ca;
|
|
282
|
+
color: #fff;
|
|
283
|
+
font: 13px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
|
|
284
|
+
padding: 8px 14px;
|
|
285
|
+
border-radius: 999px;
|
|
286
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
|
|
287
|
+
}
|
|
288
|
+
`,lt=class{constructor(){this.host=null;this.box=null;this.label=null;this.current=null;this.maxAncestors=qt;this.onPick=null;this.onCancel=null;this.onMove=t=>{let n=t.target;!(n instanceof Element)||this.isOwn(n)||(this.current=n,this.draw(n));};this.onClick=t=>{let n=this.current??(t.target instanceof Element?t.target:null);if(!n||this.isOwn(n))return;t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation();let o=this.describe(n),i=this.onPick;this.stop(),i?.(o);};this.onKey=t=>{if(t.key!=="Escape")return;t.preventDefault(),t.stopPropagation();let n=this.onCancel;this.stop(),n?.();};this.swallow=t=>{this.isOwn(t.target)||(t.preventDefault(),t.stopPropagation());};this.reposition=()=>{this.current&&this.draw(this.current);};}start(t){this.stop(),this.maxAncestors=t.maxAncestors??qt,this.onPick=t.onPick,this.onCancel=t.onCancel??null;let n=document.createElement("div");n.setAttribute(Vn,"");let o=n.attachShadow({mode:"open"}),i=document.createElement("style");i.textContent=Kn,this.box=document.createElement("div"),this.box.className="veo-pick-box",this.box.style.display="none",this.label=document.createElement("div"),this.label.className="veo-pick-label",this.label.style.display="none";let s=document.createElement("div");s.className="veo-pick-hint",s.textContent=t.hint??"Seleccion\xE1 un elemento \xB7 Esc para cancelar",o.append(i,this.box,this.label,s),document.body.appendChild(n),this.host=n,document.addEventListener("mousemove",this.onMove,true),document.addEventListener("click",this.onClick,true),document.addEventListener("mousedown",this.swallow,true),document.addEventListener("mouseup",this.swallow,true),document.addEventListener("keydown",this.onKey,true),window.addEventListener("scroll",this.reposition,true),window.addEventListener("resize",this.reposition);}stop(){document.removeEventListener("mousemove",this.onMove,true),document.removeEventListener("click",this.onClick,true),document.removeEventListener("mousedown",this.swallow,true),document.removeEventListener("mouseup",this.swallow,true),document.removeEventListener("keydown",this.onKey,true),window.removeEventListener("scroll",this.reposition,true),window.removeEventListener("resize",this.reposition),this.host?.parentNode&&this.host.parentNode.removeChild(this.host),this.host=null,this.box=null,this.label=null,this.current=null,this.onPick=null,this.onCancel=null;}isOwn(t){return t instanceof Node&&this.host!==null&&this.host.contains(t)}draw(t){if(!this.box||!this.label)return;let n=t.getBoundingClientRect();this.box.style.display="block",this.box.style.top=`${n.top}px`,this.box.style.left=`${n.left}px`,this.box.style.width=`${n.width}px`,this.box.style.height=`${n.height}px`;let o=Qe(t,0);this.label.textContent="";let i=document.createElement("div");i.className="veo-pick-sel",i.textContent=o;let s=document.createElement("div");s.className="veo-pick-dim",s.textContent=`${Math.round(n.width)} \xD7 ${Math.round(n.height)}`,this.label.append(i,s),this.label.style.display="block";let r=48,a=n.bottom+8+r>window.innerHeight;this.label.style.top=a?`${Math.max(8,n.top-r-8)}px`:`${n.bottom+8}px`,this.label.style.left=`${Math.max(8,n.left)}px`;}describe(t){let n=t.getBoundingClientRect();return {selector:Qe(t,this.maxAncestors),shortSelector:Qe(t,0),tag:t.tagName.toLowerCase(),id:t.id||null,classes:qe(t),text:(t.textContent??"").trim().slice(0,120),rect:{x:Math.round(n.left),y:Math.round(n.top),width:Math.round(n.width),height:Math.round(n.height)}}}},Ce=null;function Ze(e){return ee()?(Ce||(Ce=new lt),Ce.start(e),{stop:()=>Ce?.stop()}):{stop:()=>{}}}function Qt(){Ce?.stop();}function Je(){if(!ke()||!ee())return null;let e;try{e=new URLSearchParams(window.location.search);}catch{return null}let t=e.get(Ye);if(!t)return null;let n=Xn(e);if(!n)return null;let o=Yn();if(!o)return null;let i=null,s=p=>{o.postMessage({source:ue,token:t,...p},n);},r=p=>{switch(p.type){case "start-picker":i?.stop(),i=Ze({onPick:u=>{i=null,s({type:"picked",payload:u});},onCancel:()=>{i=null,s({type:"pick-cancelled"});},...p.maxAncestors!==void 0?{maxAncestors:p.maxAncestors}:{},...p.hint!==void 0?{hint:p.hint}:{}});break;case "stop-picker":i?.stop(),i=null;break;case "preview":p.guide&&je(p.guide).ready;break;case "close-preview":Ee();break;case "teardown":l();break}},a=p=>{if(p.origin!==n)return;let u=p.data;!u||u.source!==ue||u.token!==t||r(u);},c=()=>s({type:"closed"}),l=()=>{window.removeEventListener("message",a),window.removeEventListener("pagehide",c),i?.stop(),i=null,Ee(),s({type:"closed"});},d=()=>{window.addEventListener("message",a),window.addEventListener("pagehide",c),s({type:"ready"});},f=window.__veoBuilder;return f?.apiKey&&f?.apiUrl?jn(f.apiUrl,f.apiKey,t).then(p=>{p?d():window.console&&console.warn("[veo] token de builder inv\xE1lido \u2014 modo no activado");}):d(),{teardown:l}}async function jn(e,t,n){try{let o=`${e.replace(/\/+$/,"")}/v1/builder/verify`,i=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json","X-Api-Key":t},body:JSON.stringify({token:n})});return i.ok?(await i.json().catch(()=>null))?.valid!==!1:!0}catch{return true}}function Yn(){return window.opener&&window.opener!==window?window.opener:window.parent&&window.parent!==window?window.parent:null}function Xn(e){let t=e.get(Xe);if(t)try{return new URL(t).origin}catch{return null}if(document.referrer)try{return new URL(document.referrer).origin}catch{return null}return null}var qn="popup,width=1280,height=860",Qn=600;function Zt(e){if(!ke())return eo();let t=e.dashboardOrigin??window.location.origin,n=Jn(e.appUrl),o=Zn(e.appUrl,e.token,t),i=e.frame??null,s=i!==null,r=null;s?i.src=o:r=window.open(o,e.windowName??"veo-builder",e.windowFeatures??qn);let a=()=>s?i?.contentWindow??null:r,c=p=>{let u=a();u&&(!s&&r?.closed||u.postMessage({source:ue,token:e.token,...p},n??"*"));},l,d=()=>{window.removeEventListener("message",f),l!==void 0&&(clearInterval(l),l=void 0);},f=p=>{if(n&&p.origin!==n)return;let u=p.data;if(!(!u||u.source!==ue||u.token!==e.token))switch(u.type){case "ready":e.onReady?.();break;case "picked":u.payload&&e.onPicked?.(u.payload);break;case "pick-cancelled":e.onCancelled?.();break;case "closed":d(),e.onClosed?.();break}};return window.addEventListener("message",f),s||(l=setInterval(()=>{r?.closed&&(d(),e.onClosed?.());},Qn)),{startPicker:p=>c({type:"start-picker",...p?.maxAncestors!==void 0?{maxAncestors:p.maxAncestors}:{},...p?.hint!==void 0?{hint:p.hint}:{}}),stopPicker:()=>c({type:"stop-picker"}),preview:p=>c({type:"preview",guide:p}),closePreview:()=>c({type:"close-preview"}),close:()=>{c({type:"teardown"}),s?i&&(i.src="about:blank"):r&&!r.closed&&r.close(),d();}}}function Zn(e,t,n){try{let o=new URL(e,window.location.href);return o.searchParams.set(Ye,t),o.searchParams.set(Xe,n),o.toString()}catch{return e}}function Jn(e){try{return new URL(e,window.location.href).origin}catch{return null}}function eo(){return {startPicker:()=>{},stopPicker:()=>{},preview:()=>{},closePreview:()=>{},close:()=>{}}}Je();exports.closeGuidePreview=Ee;exports.createBuilderSession=Zt;exports.initBuilderMode=Je;exports.previewGuide=je;exports.startElementPicker=Ze;exports.stopElementPicker=Qt;return exports;})({});//# sourceMappingURL=veo-builder.js.map
|
|
289
|
+
//# sourceMappingURL=veo-builder.js.map
|