PageSourceSearch

https://prest0.ai/static/js/payment-tiles.ae81f747.chunk.js

js prest0.ai collected 2026-10-05 15:46:04 UTC 20,540 bytes, 410 lines download raw bytes

1/*! For license information please see payment-tiles.ae81f747.chunk.js.LICENSE.txt */
2"use strict";(self.webpackChunkcursor_ai_agents=self.webpackChunkcursor_ai_agents||[]).push([[6587],{14854:(e,t,n)=>{n.r(t),n.d(t,{InlineAppointmentMessage:()=>ye,InlineInvoiceMessage:()=>J});var a=n(65043),i=n(5464),r=n(69677),o=n(63393),d=n(36210),s=n(86376),l=n(53639),c=n(92382),p=n(77784);const x=(0,p.A)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);var h=n(40614),u=n(62029),f=n(99909),m=n(55472),y=n(87853);function g(e,t,n){const[i,r]=(0,a.useState)({status:"pending",isLoading:!0,error:null,paymentData:null,isTerminal:!1}),o=(0,a.useRef)(n);o.current=n;const d=(0,a.useRef)(null),s=(0,a.useRef)(null),l=(0,a.useCallback)((()=>{s.current&&(s.current(),s.current=null)}),[]);return(0,a.useEffect)((()=>{if(l(),!e||!t)return void r({status:"pending",isLoading:!1,error:null,paymentData:null,isTerminal:!1});r((e=>({...e,isLoading:!0,error:null})));const n=(0,m.doc)(y.A,`users/${e}/workflow_payments/${t}`);return s.current=(0,m.onSnapshot)(n,(n=>{var a,i,s,l,c,p;if(!n.exists())return void r({status:"pending",isLoading:!1,error:"Payment record not found",paymentData:null,isTerminal:!1});const x=n.data(),h=x.status||"pending",u="succeeded"===h||"failed"===h||"cancelled"===h,f={paymentIntentId:x.paymentIntentId||t,clientSecret:x.clientSecret||"",amountUsd:x.amountUsd||0,amountCents:x.amountCents||0,status:h,workflowId:x.workflowId||"",workflowStepId:x.workflowStepId||"",targetUid:x.targetUid||e,createdBy:x.createdBy||"",allowedMethods:x.allowedMethods||["card","bank","ach"],description:x.description||"",invoiceTitle:x.invoiceTitle||"",paymentMethod:x.paymentMethod,paidAt:(null===(a=x.paidAt)||void 0===a||null===(i=a.toDate)||void 0===i?void 0:i.call(a))||(x.paidAt?new Date(x.paidAt):void 0),failureMessage:x.failureMessage,metadata:x.metadata||{},createdAt:(null===(s=x.createdAt)||void 0===s||null===(l=s.toDate)||void 0===l?void 0:l.call(s))||new Date,updatedAt:(null===(c=x.updatedAt)||void 0===c||null===(p=c.toDate)||void 0===p?void 0:p.call(c))||new Date};r({status:h,isLoading:!1,error:null,paymentData:f,isTerminal:u});var m,y,g,b;if(d.current!==h)if(d.current=h,null===(m=o.current)||void 0===m||null===(y=m.onStatusChange)||void 0===y||y.call(m,h,f),"succeeded"===h)null===(g=o.current)||void 0===g||null===(b=g.onSuccess)||void 0===b||b.call(g,f);else if("failed"===h){var v,k;null===(v=o.current)||void 0===v||null===(k=v.onFailed)||void 0===k||k.call(v,f,f.failureMessage||"Payment failed")}else if("cancelled"===h){var w,A;null===(w=o.current)||void 0===w||null===(A=w.onCancelled)||void 0===A||A.call(w,f)}}),(e=>{console.error("Payment listener error:",e),r((t=>({...t,isLoading:!1,error:e.message||"Failed to listen for payment updates"})))})),()=>{l()}}),[e,t,l]),{...i,unsubscribe:l}}var b=n(70579);const v=i.i7`
3  from { opacity: 0; transform: translateY(8px); }
4  to { opacity: 1; transform: translateY(0); }
5`,k=(i.i7`
6  0%, 100% { opacity: 1; }
7  50% { opacity: 0.5; }
8`,i.i7`
9  0% { stroke-dashoffset: 50; }
10  100% { stroke-dashoffset: 0; }
11`,i.Ay.div`
12  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
13  border: 1px solid #e2e8f0;
14  border-radius: 12px;
15  padding: 20px;
16  max-width: 440px;
17  animation: ${v} 0.3s ease-out;
18`),w=i.Ay.div`
19  display: flex;
20  align-items: center;
21  gap: 12px;
22  margin-bottom: 16px;
23`,A=i.Ay.div`
24  width: 40px;
25  height: 40px;
26  background: linear-gradient(135deg, #059669 0%, #10b981 100%);
27  border-radius: 10px;
28  display: flex;
29  align-items: center;
30  justify-content: center;
31  color: white;
32`,j=i.Ay.div`
33  flex: 1;
34`,$=i.Ay.h3`
35  margin: 0;
36  font-size: 16px;
37  font-weight: 600;
38  color: #1e293b;
39`,M=i.Ay.div`
40  font-size: 24px;
41  font-weight: 700;
42  color: #059669;
43  margin-top: 2px;
44`,z=i.Ay.p`
45  margin: 0 0 20px;
46  font-size: 14px;
47  color: #64748b;
48  line-height: 1.5;
49`,S=i.Ay.div`
50  display: flex;
51  align-items: center;
52  gap: 12px;
53  margin: 16px 0;
54  color: #94a3b8;
55  font-size: 12px;
56  text-transform: lowercase;
57
58  &::before,
59  &::after {
60    content: '';
61    flex: 1;
62    height: 1px;
63    background: #e2e8f0;
64  }
65
66  ${e=>!e.$hasText&&i.AH`
67    &::before,
68    &::after {
69      content: none;
70    }
71    background: #e2e8f0;
72    height: 1px;
73  `}
74`,P=i.Ay.div`
75  margin-bottom: 16px;
76`,C=i.Ay.button`
77  width: 100%;
78  display: flex;
79  align-items: center;
80  gap: 12px;
81  padding: 12px 16px;
82  background: ${e=>e.$isSelected?"#ecfdf5":"white"};
83  border: 2px solid ${e=>e.$isSelected?"#059669":"#e2e8f0"};
84  border-radius: 10px;
85  cursor: pointer;
86  transition: all 0.15s ease;
87  margin-bottom: 8px;
88
89  &:hover {
90    border-color: ${e=>e.$isSelected?"#059669":"#cbd5e1"};
91    background: ${e=>e.$isSelected?"#ecfdf5":"#f8fafc"};
92  }
93
94  &:disabled {
95    opacity: 0.5;
96    cursor: not-allowed;
97  }
98`,D=i.Ay.div`
99  width: 36px;
100  height: 36px;
101  background: ${e=>"card"===e.$type?"rgba(198, 167, 94, 0.16)":"#fef3c7"};
102  border-radius: 8px;
103  display: flex;
104  align-items: center;
105  justify-content: center;
106  color: ${e=>"card"===e.$type?"#8A6D2F":"#f59e0b"};
107`,F=i.Ay.div`
108  flex: 1;
109  text-align: left;
110`,I=i.Ay.div`
111  font-size: 14px;
112  font-weight: 500;
113  color: #1e293b;
114`,E=i.Ay.div`
115  font-size: 12px;
116  color: #64748b;
117`,T=i.Ay.span`
118  font-size: 10px;
119  background: #059669;
120  color: white;
121  padding: 2px 6px;
122  border-radius: 4px;
123  text-transform: lowercase;
124  font-weight: 600;
125`,U=i.Ay.button`
126  width: 100%;
127  padding: 14px 20px;
128  font-size: 15px;
129  font-weight: 600;
130  border: none;
131  border-radius: 10px;
132  cursor: pointer;
133  transition: all 0.15s ease;
134  display: flex;
135  align-items: center;
136  justify-content: center;
137  gap: 8px;
138
139  ${e=>"secondary"===e.$variant?i.AH`
140    background: #f1f5f9;
141    color: #475569;
142
143    &:hover:not(:disabled) {
144      background: #e2e8f0;
145    }
146  `:i.AH`
147    background: linear-gradient(135deg, #059669 0%, #10b981 100%);
148    color: white;
149    box-shadow: 0 2px 8px rgba(5, 150, 105, 0.3);
150
151    &:hover:not(:disabled) {
152      box-shadow: 0 4px 12px rgba(5, 150, 105, 0.4);
153      transform: translateY(-1px);
154    }
155  `}
156
157  &:disabled {
158    opacity: 0.6;
159    cursor: not-allowed;
160    transform: none;
161  }
162`,Y=i.Ay.div`
163  max-height: ${e=>e.$isExpanded?"500px":"0"};
164  overflow: hidden;
165  transition: max-height 0.3s ease;
166`,_=i.Ay.button`
167  width: 100%;
168  padding: 12px;
169  background: transparent;
170  border: 1px dashed #cbd5e1;
171  border-radius: 10px;
172  color: #64748b;
173  font-size: 14px;
174  cursor: pointer;
175  display: flex;
176  align-items: center;
177  justify-content: center;
178  gap: 8px;
179  transition: all 0.15s ease;
180
181  &:hover {
182    border-color: #94a3b8;
183    color: #475569;
184    background: #f8fafc;
185  }
186
187  svg {
188    transition: transform 0.3s ease;
189  }
190
191  &[data-expanded='true'] svg {
192    transform: rotate(180deg);
193  }
194`,L=i.Ay.div`
195  padding: 16px 0;
196
197  .StripeElement {
198    padding: 14px 12px;
199    border: 1px solid #e2e8f0;
200    border-radius: 8px;
201    background: white;
202    /* Never wider than the invoice card (docked-mode UX, 2026-07-13): the
203       docked pane's tile interior is ~228px, and a hard 280px minimum made
204       the card-entry field bleed past the invoice card's rounded border
205       exactly where the user must type card details. */
206    min-width: min(280px, 100%);
207    transition: border-color 0.15s ease, box-shadow 0.15s ease;
208
209    &:focus-within {
210      border-color: #059669;
211      box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.1);
212    }
213  }
214`,H=i.Ay.div`
215  display: flex;
216  align-items: center;
217  gap: 8px;
218  padding: 12px 16px;
219  border-radius: 8px;
220  font-size: 14px;
221  margin-top: 12px;
222
223  ${e=>{switch(e.$type){case"error":return i.AH`
224          background: #fef2f2;
225          color: #dc2626;
226          border: 1px solid #fecaca;
227        `;case"success":return i.AH`
228          background: #ecfdf5;
229          color: #059669;
230          border: 1px solid #a7f3d0;
231        `;case"processing":return i.AH`
232          background: #f0f9ff;
233          color: #0284c7;
234          border: 1px solid #bae6fd;
235        `}}}
236`,V=i.Ay.div`
237  text-align: center;
238  padding: 20px;
239  animation: ${v} 0.3s ease-out;
240`,q=i.Ay.div`
241  width: 64px;
242  height: 64px;
243  background: linear-gradient(135deg, #059669 0%, #10b981 100%);
244  border-radius: 50%;
245  display: flex;
246  align-items: center;
247  justify-content: center;
248  margin: 0 auto 16px;
249  color: white;
250
251  svg {
252    width: 32px;
253    height: 32px;
254  }
255`,B=i.Ay.h3`
256  margin: 0 0 8px;
257  font-size: 18px;
258  font-weight: 600;
259  color: #1e293b;
260`,R=i.Ay.p`
261  margin: 0;
262  font-size: 14px;
263  color: #64748b;
264`,N=i.Ay.button`
265  position: absolute;
266  top: 12px;
267  right: 12px;
268  background: transparent;
269  border: none;
270  padding: 4px;
271  cursor: pointer;
272  color: #94a3b8;
273  border-radius: 4px;
274  transition: all 0.15s ease;
275
276  &:hover {
277    color: #64748b;
278    background: #f1f5f9;
279  }
280`,Q=(0,i.Ay)(k)`
281  position: relative;
282`;let Z=null;function O(e){if(!Z){const t=e||"pk_live_51RyQqH0l2ncAeyduZwxLuysteezvazEXaOfYe2R1fZw3tUdJ2VACy8QMwFplEpSwvY1gm8hydrSPIQ6OtAaQVyDu00fHityv16";if(!t||!t.startsWith("pk_"))return console.warn("Stripe publishable key not configured"),Promise.resolve(null);Z=(0,r.c)(t)}return Z}const X=e=>{var t,n;let{amountUsd:i,clientSecret:r,savedMethods:p,allowedMethods:h,onPaymentComplete:u,onPaymentFailed:m,paymentStatus:y,paymentData:g}=e;const v=(0,o.useStripe)(),k=(0,o.useElements)(),[w,A]=(0,a.useState)((null===(t=p.find((e=>e.isDefault)))||void 0===t?void 0:t.id)||(null===(n=p[0])||void 0===n?void 0:n.id)||null),[j,$]=(0,a.useState)(0===p.length),[M,z]=(0,a.useState)(!1),[N,Q]=(0,a.useState)(null),Z=(0,a.useCallback)((async()=>
282{if(v&&w){z(!0),Q(null);try{const{error:e}=await v.confirmPayment({clientSecret:r,confirmParams:{payment_method:w,return_url:window.location.href},redirect:"if_required"});e&&(Q(e.message||"Payment failed"),m(e.message||"Payment failed"))}catch(e){const t=(null===e||void 0===e?void 0:e.message)||"Payment failed";Q(t),m(t)}finally{z(!1)}}}),[v,w,r,m]),O=(0,a.useCallback)((async()=>{if(!v||!k)return;const e=k.getElement(o.CardElement);if(e){z(!0),Q(null);try{const{error:t}=await v.confirmCardPayment(r,{payment_method:{card:e}});t&&(Q(t.message||"Payment failed"),m(t.message||"Payment failed"))}catch(t){const e=(null===t||void 0===t?void 0:t.message)||"Payment failed";Q(e),m(e)}finally{z(!1)}}}),[v,k,r,m]);if((0,a.useEffect)((()=>{"succeeded"===y&&g?u({paymentIntentId:g.paymentIntentId,paymentMethod:g.paymentMethod||"card",amountPaid:g.amountUsd}):"failed"===y&&g&&Q(g.failureMessage||"Payment failed")}),[y,g,u]),"succeeded"===y)return(0,b.jsxs)(V,{children:[(0,b.jsx)(q,{children:(0,b.jsx)(d.A,{})}),(0,b.jsx)(B,{children:"Payment Successful"}),(0,b.jsxs)(R,{children:["$",i.toFixed(2)," has been charged successfully."]})]});const X=p.length>0;return(0,b.jsxs)(b.Fragment,{children:[X&&(0,b.jsxs)(P,{children:[p.map((e=>{var t,n;return(0,b.jsxs)(C,{$isSelected:w===e.id,onClick:()=>{A(e.id),$(!1)},disabled:M,children:[(0,b.jsx)(D,{$type:e.type,children:"card"===e.type?(0,b.jsx)(s.A,{size:18}):(0,b.jsx)(l.A,{size:18})}),(0,b.jsxs)(F,{children:[(0,b.jsx)(I,{children:"card"===e.type?`${null===(t=e.brand)||void 0===t?void 0:t.charAt(0).toUpperCase()}${(null===(n=e.brand)||void 0===n?void 0:n.slice(1))||"Card"} ****${e.last4}`:`${e.bankName||"Bank"} ****${e.last4}`}),(0,b.jsx)(E,{children:"card"===e.type&&e.expMonth&&e.expYear?`Expires ${e.expMonth}/${e.expYear.toString().slice(-2)}`:e.accountType||"Checking"})]}),e.isDefault&&(0,b.jsx)(T,{children:"default"})]},e.id)})),w&&!j&&(0,b.jsx)(U,{onClick:Z,disabled:M||!v,children:M?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.V,{tone:"mono"}),"Processing..."]}):(0,b.jsxs)(b.Fragment,{children:["Pay $",i.toFixed(2)]})}),(0,b.jsx)(S,{$hasText:!0,children:"or use a different method"})]}),X?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(_,{onClick:()=>$(!j),"data-expanded":j,children:[(0,b.jsx)(c.A,{size:16}),j?"hide new payment form":"use a new payment method"]}),(0,b.jsxs)(Y,{$isExpanded:j,children:[(0,b.jsx)(L,{children:(0,b.jsx)(o.CardElement,{options:{style:{base:{fontSize:"16px",color:"#1f2937","::placeholder":{color:"#9ca3af"}},invalid:{color:"#ef4444"}}}})}),(0,b.jsx)(U,{onClick:O,disabled:M||!v||!k,children:M?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.V,{tone:"mono"}),"Processing..."]}):(0,b.jsxs)(b.Fragment,{children:["Pay $",i.toFixed(2)]})})]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(L,{children:(0,b.jsx)(o.CardElement,{options:{style:{base:{fontSize:"16px",color:"#1f2937","::placeholder":{color:"#9ca3af"}},invalid:{color:"#ef4444"}}}})}),(0,b.jsx)(U,{onClick:O,disabled:M||!v||!k,children:M?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(f.V,{tone:"mono"}),"Processing..."]}):(0,b.jsxs)(b.Fragment,{children:["Pay $",i.toFixed(2)]})})]}),N&&(0,b.jsxs)(H,{$type:"error",children:[(0,b.jsx)(x,{size:16}),N]}),"processing"===y&&(0,b.jsxs)(H,{$type:"processing",children:[(0,b.jsx)(f.V,{tone:"mono"}),"Verifying payment..."]})]})},J=e=>{let{amountUsd:t,description:n,invoiceTitle:i="Payment Required",clientSecret:r,paymentIntentId:s,targetUid:l,allowedMethods:c=["card","bank","ach"],savedMethods:p,onPaymentComplete:x,onPaymentFailed:f,onCancel:m,stripePublishableKey:y}=e;const{status:v,paymentData:k,isLoading:S}=g(l,s,{onSuccess:e=>{null===x||void 0===x||x({paymentIntentId:e.paymentIntentId,paymentMethod:e.paymentMethod||"card",amountPaid:e.amountUsd})},onFailed:(e,t)=>{null===f||void 0===f||f(t)}}),P=(0,a.useMemo)((()=>{const e=[];return null!==p&&void 0!==p&&p.cards&&e.push(...p.cards.map((e=>({id:e.id,type:"card",brand:e.brand,last4:e.last4,expMonth:e.expMonth,expYear:e.expYear,isDefault:e.isDefault})))),null!==p&&void 0!==p&&p.bankAccounts&&(c.includes("bank")||c.includes("ach"))&&e.push(...p.bankAccounts.map((e=>({id:e.id,type:"bank",last4:e.last4,bankName:e.bankName,accountType:e.accountType,isDefault:e.isDefault})))),e.sort(((e,t)=>(t.isDefault?1:0)-(e.isDefault?1:0)))}),[p,c]),C=(0,a.useMemo)((()=>({clientSecret:r,appearance:{theme:"stripe",variables:{fontFamily:"inherit",colorPrimary:"#059669",colorBackgroun
282d:"#ffffff",colorText:"#1e293b",colorDanger:"#dc2626",borderRadius:"8px",spacingUnit:"4px"}}})),[r]);return"succeeded"===v?(0,b.jsx)(Q,{children:(0,b.jsxs)(V,{children:[(0,b.jsx)(q,{children:(0,b.jsx)(d.A,{})}),(0,b.jsx)(B,{children:"Payment Successful"}),(0,b.jsxs)(R,{children:["$",t.toFixed(2)," has been charged successfully."]})]})}):"cancelled"===v?(0,b.jsx)(Q,{children:(0,b.jsxs)(H,{$type:"error",children:[(0,b.jsx)(h.A,{size:16}),"Payment was cancelled"]})}):(0,b.jsxs)(Q,{children:[m&&(0,b.jsx)(N,{onClick:m,title:"Cancel",children:(0,b.jsx)(h.A,{size:18})}),(0,b.jsxs)(w,{children:[(0,b.jsx)(A,{children:(0,b.jsx)(u.A,{size:20})}),(0,b.jsxs)(j,{children:[(0,b.jsx)($,{children:i}),(0,b.jsxs)(M,{children:["$",t.toFixed(2)]})]})]}),n&&(0,b.jsx)(z,{children:n}),(0,b.jsx)(o.Elements,{stripe:O(y),options:C,children:(0,b.jsx)(X,{amountUsd:t,clientSecret:r,savedMethods:P,allowedMethods:c,onPaymentComplete:x||(()=>{}),onPaymentFailed:f||(()=>{}),paymentStatus:v,paymentData:k})})]})},K=(0,p.A)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var W=n(28646),G=n(66571);const ee=i.i7`
283  from { opacity: 0; transform: translateY(8px); }
284  to { opacity: 1; transform: translateY(0); }
285`,te=i.Ay.div`
286  background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
287  border: 1px solid #86efac;
288  border-radius: 12px;
289  padding: 20px;
290  max-width: 100%;
291  animation: ${ee} 0.3s ease-out;
292`,ne=i.Ay.div`
293  display: flex;
294  align-items: center;
295  gap: 12px;
296  margin-bottom: 16px;
297`,ae=i.Ay.div`
298  width: 44px;
299  height: 44px;
300  background: linear-gradient(135deg, #059669 0%, #10b981 100%);
301  border-radius: 10px;
302  display: flex;
303  align-items: center;
304  justify-content: center;
305  color: white;
306  box-shadow: 0 2px 8px rgba(5, 150, 105, 0.3);
307`,ie=i.Ay.div`
308  flex: 1;
309`,re=i.Ay.h3`
310  margin: 0;
311  font-size: 17px;
312  font-weight: 600;
313  color: #065f46;
314`,oe=i.Ay.p`
315  margin: 4px 0 0;
316  font-size: 13px;
317  color: #059669;
318  font-weight: 500;
319`,de=i.Ay.div`
320  background: white;
321  border: 1px solid #a7f3d0;
322  border-radius: 8px;
323  padding: 14px 16px;
324  margin-bottom: 16px;
325  font-size: 14px;
326  color: #047857;
327  line-height: 1.5;
328`,se=i.Ay.div`
329  position: relative;
330  width: 100%;
331  border-radius: 8px;
332  overflow: hidden;
333  background: white;
334  border: 1px solid #d1fae5;
335  min-height: 600px;
336
337  @media (min-width: 768px) {
338    min-height: 800px;
339  }
340`,le=i.Ay.div`
341  position: absolute;
342  inset: 0;
343  display: flex;
344  flex-direction: column;
345  align-items: center;
346  justify-content: center;
347  background: white;
348  z-index: 1;
349  gap: 12px;
350  /* The working mark (D-71) at its largest size. The overlay is white in every
351     light, so it keeps the mark's light-ground inks. */
352  ${(0,G.E$)(G.lz)}
353`,ce=i.Ay.p`
354  margin: 0;
355  font-size: 14px;
356  color: #6b7280;
357`,pe=i.Ay.iframe`
358  width: 100%;
359  height: 600px;
360  border: none;
361
362  @media (min-width: 768px) {
363    height: 800px;
364  }
365`,xe=i.Ay.div`
366  text-align: center;
367  padding: 32px 20px;
368  animation: ${ee} 0.3s ease-out;
369`,he=i.Ay.div`
370  width: 64px;
371  height: 64px;
372  background: linear-gradient(135deg, #059669 0%, #10b981 100%);
373  border-radius: 50%;
374  display: flex;
375  align-items: center;
376  justify-content: center;
377  margin: 0 auto 16px;
378  color: white;
379
380  svg {
381    width: 32px;
382    height: 32px;
383  }
384`,ue=i.Ay.h3`
385  margin: 0 0 8px;
386  font-size: 18px;
387  font-weight: 600;
388  color: #065f46;
389`,fe=i.Ay.p`
390  margin: 0;
391  font-size: 14px;
392  color: #059669;
393`,me=i.Ay.button`
394  margin-top: 16px;
395  padding: 10px 20px;
396  font-size: 14px;
397  font-weight: 500;
398  color: #059669;
399  background: white;
400  border: 1px solid #86efac;
401  border-radius: 8px;
402  cursor: pointer;
403  transition: all 0.15s ease;
404
405  &:hover {
406    background: #f0fdf4;
407    border-color: #059669;
408  }
409`,ye=e=>{let{iframeUrl:t,title:n="Book Your Consultation",instructions:i="Please select a time that works best for you to schedule your consultation.",onBookingComplete:r}=e;const[o,d]=(0,a.useState)(!0),[s,l]=(0,a.useState)(!1);return s?(0,b.jsx)(te,{children:(0,b.jsxs)(xe,{children:[(0,b.jsx)(he,{children:(0,b.jsx)(K,{})}),(0,b.jsx)(ue,{children:"Appointment Scheduled"}),(0,b.jsx)(fe,{children:"You should receive a confirmation email shortly with the meeting details."})]})}):(0,b.jsxs)(te,{children:[(0,b.jsxs)(ne,{children:[(0,b.jsx)(ae,{children:(0,b.jsx)(W.A,{size:22})}),(0,b.jsxs)(ie,{children:[(0,b.jsx)(re,{children:n}
409),(0,b.jsx)(oe,{children:"Payment confirmed"})]})]}),(0,b.jsx)(de,{children:i}),(0,b.jsxs)(se,{children:[o&&(0,b.jsxs)(le,{children:[(0,b.jsx)(f.V,{size:"xl"}),(0,b.jsx)(ce,{children:"Loading scheduler..."})]}),(0,b.jsx)(pe,{src:t,onLoad:()=>{d(!1)},title:"Book Appointment",allow:"payment"})]}),(0,b.jsx)(me,{onClick:()=>{l(!0),null===r||void 0===r||r()},children:"I've completed my booking"})]})}},28646:(e,t,n)=>{n.d(t,{A:()=>a});const a=(0,n(77784).A)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},36210:(e,t,n)=>{n.d(t,{A:()=>a});const a=(0,n(77784).A)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},40614:(e,t,n)=>{n.d(t,{A:()=>a});const a=(0,n(77784).A)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]])},53639:(e,t,n)=>{n.d(t,{A:()=>a});const a=(0,n(77784).A)("building-2",[["path",{d:"M6 22V4a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v18Z",key:"1b4qmf"}],["path",{d:"M6 12H4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2",key:"i71pzd"}],["path",{d:"M18 9h2a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2h-2",key:"10jefs"}],["path",{d:"M10 6h4",key:"1itunk"}],["path",{d:"M10 10h4",key:"tcdvrf"}],["path",{d:"M10 14h4",key:"kelpxr"}],["path",{d:"M10 18h4",key:"1ulq68"}]])},62029:(e,t,n)=>{n.d(t,{A:()=>a});const a=(0,n(77784).A)("wallet",[["path",{d:"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1",key:"18etb6"}],["path",{d:"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4",key:"xoc0q4"}]])},86376:(e,t,n)=>{n.d(t,{A:()=>a});const a=(0,n(77784).A)("credit-card",[["rect",{width:"20",height:"14",x:"2",y:"5",rx:"2",key:"ynyp8z"}],["line",{x1:"2",x2:"22",y1:"10",y2:"10",key:"1b3vmo"}]])},92382:(e,t,n)=>{n.d(t,{A:()=>a});const a=(0,n(77784).A)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]])}}]);
410//# sourceMappingURL=payment-tiles.ae81f747.chunk.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.