-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpricing.html
More file actions
373 lines (355 loc) · 22.7 KB
/
pricing.html
File metadata and controls
373 lines (355 loc) · 22.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
<!DOCTYPE html>
<html lang="en">
<head>
<!--
______ __
/ ____/___ ____ ___ ____ __ __/ /____ _____
/ / / __ \/ __ `__ \/ __ \/ / / / __/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ / /_/ __/ /
\____/\____/_/ /_/ /_/ .___/\__,_/\__/\___/_/
/_/
-->
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Pricing — SupaLedgers</title>
<meta name="description" content="Simple flat pricing. No per-user fees. SupaLedgers replaces QuickBooks + Jobber at a fraction of the cost.">
<link href="https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@400,500,700,800&f[]=satoshi@300,400,500,700&display=swap" rel="stylesheet">
<script src="https://unpkg.com/lucide@latest/dist/umd/lucide.js"></script>
<link rel="stylesheet" href="./base.css">
<link rel="stylesheet" href="./style.css">
<link rel="stylesheet" href="./pricing.css">
<link rel="stylesheet" href="./motion.css">
</head>
<body>
<a href="#main" class="sr-only" style="position:fixed;top:var(--space-2);left:var(--space-2);z-index:999;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:white;border-radius:var(--radius-md);">Skip to content</a>
<nav class="nav" id="nav">
<div class="nav__inner">
<a href="./index.html" class="nav__logo" aria-label="SupaLedgers Home"><svg width="32" height="32" viewBox="0 0 64 64" fill="none"><polygon points="32,4 58,18 32,32 6,18" fill="#3ebd93"/><polygon points="6,18 32,32 32,36 6,22" fill="#163d55"/><polygon points="6,22 32,36 32,42 6,28" fill="#27ab83"/><polygon points="6,28 32,42 32,58 6,44" fill="#0f2537"/><polygon points="58,18 32,32 32,42 58,28" fill="#1a4562"/><polygon points="58,28 32,42 32,48 58,34" fill="#3ebd93"/><polygon points="58,34 32,48 32,58 58,44" fill="#163d55"/></svg><span>SupaLedgers</span></a>
<ul class="nav__links">
<li><a href="./index.html">Home</a></li>
<li><a href="./features.html">Features</a></li>
<li><a href="./pricing.html" class="active">Pricing</a></li>
<li><a href="./about.html">About</a></li>
<li><a href="./contact.html">Contact</a></li>
<li><a href="./contact.html" class="nav__cta">Join Beta</a></li>
</ul>
<button class="nav__hamburger" id="hamburger" aria-label="Open menu"><span></span><span></span><span></span></button>
</div>
</nav>
<div class="nav__mobile" id="mobileNav">
<div class="nav__mobile-header">
<a href="./index.html" class="nav__logo"><svg width="32" height="32" viewBox="0 0 64 64" fill="none"><polygon points="32,4 58,18 32,32 6,18" fill="#3ebd93"/><polygon points="6,18 32,32 32,36 6,22" fill="#163d55"/><polygon points="6,22 32,36 32,42 6,28" fill="#27ab83"/><polygon points="6,28 32,42 32,58 6,44" fill="#0f2537"/><polygon points="58,18 32,32 32,42 58,28" fill="#1a4562"/><polygon points="58,28 32,42 32,48 58,34" fill="#3ebd93"/><polygon points="58,34 32,48 32,58 58,44" fill="#163d55"/></svg><span>SupaLedgers</span></a>
<button class="nav__mobile-close" id="mobileClose" aria-label="Close menu">×</button>
</div>
<ul class="nav__mobile-links"><li><a href="./index.html">Home</a></li><li><a href="./features.html">Features</a></li><li><a href="./pricing.html">Pricing</a></li><li><a href="./about.html">About</a></li><li><a href="./contact.html">Contact</a></li></ul>
<a href="./contact.html" class="btn btn--primary btn--large mt-8" style="width:100%;">Join Beta</a>
</div>
<main id="main">
<!-- PRICING HERO -->
<section class="section section--dark" style="padding-top:var(--space-20);padding-bottom:var(--space-12);position:relative;overflow:hidden;">
<div style="position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 30%,rgba(39,171,131,0.06),transparent);"></div>
<div class="container container--narrow text-center" style="position:relative;">
<span class="label label--light mb-4">Simple Pricing</span>
<h1 style="font-size:var(--text-2xl);color:var(--white);font-weight:800;">No per-user fees. Ever.</h1>
<p class="mt-4" style="color:var(--navy-300);font-size:var(--text-lg);max-width:50ch;margin-inline:auto;">Flat monthly pricing. A 25-tech HVAC company pays the same as a solo plumber. No surprises. No hidden costs.</p>
</div>
</section>
<!-- PRICING CARDS -->
<section class="section section--light" style="margin-top:calc(-1 * var(--space-8));">
<div class="container">
<div class="pricing-cards-full stagger">
<div class="pricing-card-full js-reveal">
<div class="pricing-card-full__header">
<h3>Starter</h3>
<p class="text-muted" style="font-size:var(--text-sm);">For businesses getting started</p>
</div>
<div class="pricing-card-full__price">
<span class="pricing-card-full__amount counter-animated" data-counter="149" data-counter-prefix="$" data-counter-duration="800">$149</span>
<span class="pricing-card-full__period">/month</span>
</div>
<a href="./contact.html" class="btn btn--secondary" style="width:100%;">Get Started</a>
<div class="pricing-card-full__divider"></div>
<ul class="pricing-card-full__features">
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> 1–5 users</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Full double-entry accounting</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Invoicing with online payments</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Bills & accounts payable</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> CRM + contact management</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Bank transaction import</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Financial reports (P&L, Balance Sheet)</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Email support</li>
</ul>
</div>
<div class="pricing-card-full pricing-card-full--featured js-reveal">
<div class="pricing-card-full__badge">Most Popular</div>
<div class="pricing-card-full__header">
<h3>Professional</h3>
<p style="font-size:var(--text-sm);color:var(--navy-300);">For growing service businesses</p>
</div>
<div class="pricing-card-full__price">
<span class="pricing-card-full__amount counter-animated" data-counter="299" data-counter-prefix="$" data-counter-duration="1000">$299</span>
<span class="pricing-card-full__period">/month</span>
</div>
<a href="./contact.html" class="btn btn--primary" style="width:100%;">Join Beta</a>
<div class="pricing-card-full__divider"></div>
<ul class="pricing-card-full__features">
<li><i data-lucide="check" style="width:16px;height:16px;color:#3ebd93;flex-shrink:0;"></i> <strong>Unlimited users</strong></li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#3ebd93;flex-shrink:0;"></i> Everything in Starter</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#3ebd93;flex-shrink:0;"></i> Scheduling calendar</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#3ebd93;flex-shrink:0;"></i> Dispatch board</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#3ebd93;flex-shrink:0;"></i> AI voice assistant</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#3ebd93;flex-shrink:0;"></i> Mobile tech app</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#3ebd93;flex-shrink:0;"></i> Recurring jobs & visits</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#3ebd93;flex-shrink:0;"></i> PDF invoice extraction</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#3ebd93;flex-shrink:0;"></i> Priority support</li>
</ul>
</div>
<div class="pricing-card-full js-reveal">
<div class="pricing-card-full__header">
<h3>Enterprise</h3>
<p class="text-muted" style="font-size:var(--text-sm);">Custom-built for your business</p>
</div>
<div class="pricing-card-full__price">
<span class="pricing-card-full__amount">Custom</span>
</div>
<a href="./contact.html" class="btn btn--secondary" style="width:100%;">Contact Sales</a>
<div class="pricing-card-full__divider"></div>
<ul class="pricing-card-full__features">
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Everything in Professional</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> <strong>Custom features built for your business</strong></li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> HIPAA compliance</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Dedicated instance</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Priority phone support</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Custom integrations</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> Onboarding & data migration</li>
<li><i data-lucide="check" style="width:16px;height:16px;color:#27ab83;flex-shrink:0;"></i> SLA guarantee</li>
</ul>
</div>
</div>
</div>
</section>
<!-- THE MATH -->
<section class="section section--gray">
<div class="container container--narrow">
<div class="text-center js-reveal">
<span class="label mb-4">Do The Math</span>
<h2 style="font-size:var(--text-xl);">You're already paying more than you think.</h2>
<p class="text-muted mt-4" style="max-width:55ch;margin-inline:auto;">Every small service business duct-tapes together the same stack. Here's what it actually costs.</p>
</div>
<div class="cost-comparison mt-12 js-reveal">
<div class="cost-table">
<div class="cost-row cost-row--header">
<span>Current Stack</span>
<span>Monthly Cost</span>
</div>
<div class="cost-row">
<span><i data-lucide="calculator" style="width:14px;height:14px;color:var(--navy-500);"></i> QuickBooks Online Plus</span>
<span>$200/mo</span>
</div>
<div class="cost-row">
<span><i data-lucide="wrench" style="width:14px;height:14px;color:var(--navy-500);"></i> Jobber (Grow Plan)</span>
<span>$129/mo</span>
</div>
<div class="cost-row">
<span><i data-lucide="users" style="width:14px;height:14px;color:var(--navy-500);"></i> CRM / Contact tool</span>
<span>$25/mo</span>
</div>
<div class="cost-row">
<span><i data-lucide="calendar" style="width:14px;height:14px;color:var(--navy-500);"></i> Scheduling tool</span>
<span>$20/mo</span>
</div>
<div class="cost-row cost-row--total cost-row--old">
<span>Total (before SupaLedgers)</span>
<span>$374+/mo</span>
</div>
<div class="cost-row cost-row--total cost-row--new">
<span style="display:flex;align-items:center;gap:var(--space-2);">
<svg width="20" height="20" viewBox="0 0 64 64" fill="none"><polygon points="32,4 58,18 32,32 6,18" fill="#3ebd93"/><polygon points="6,18 32,32 32,36 6,22" fill="#163d55"/><polygon points="6,22 32,36 32,42 6,28" fill="#27ab83"/><polygon points="6,28 32,42 32,58 6,44" fill="#0f2537"/><polygon points="58,18 32,32 32,42 58,28" fill="#1a4562"/><polygon points="58,28 32,42 32,48 58,34" fill="#3ebd93"/><polygon points="58,34 32,48 32,58 58,44" fill="#163d55"/></svg>
SupaLedgers Professional
</span>
<span style="color:var(--teal-400);">$299/mo</span>
</div>
<div class="cost-row cost-row--savings">
<span>Annual Savings</span>
<span class="counter-animated" data-counter="900" data-counter-prefix="$" data-counter-suffix="+/year" data-counter-duration="1200">$900+/year</span>
</div>
</div>
</div>
</div>
</section>
<!-- NO PER USER CALLOUT -->
<section class="section section--dark" style="position:relative;overflow:hidden;">
<div class="dot-grid-bg"></div>
<div class="container container--narrow text-center" style="position:relative;z-index:1;">
<div class="js-reveal">
<div class="no-per-user">
<i data-lucide="users" style="width:40px;height:40px;color:var(--teal-400);"></i>
<h2 class="mt-4" style="font-size:var(--text-xl);color:var(--white);">No per-user fees. No per-tech fees.</h2>
<p class="mt-4" style="color:var(--navy-300);max-width:50ch;margin-inline:auto;">ServiceTitan charges $250–500 per technician per month. A 10-tech company pays $2,500–5,000/month. With SupaLedgers Professional, that same company pays $299/month. Total.</p>
<div class="mt-8 no-per-user__math">
<div class="no-per-user__item">
<span class="no-per-user__label">ServiceTitan (10 techs)</span>
<span class="no-per-user__price" style="color:var(--red-500);">$2,500–5,000/mo</span>
</div>
<div class="no-per-user__vs">vs</div>
<div class="no-per-user__item">
<span class="no-per-user__label">SupaLedgers (10 techs)</span>
<span class="no-per-user__price" style="color:var(--teal-400);">$299/mo</span>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- FAQ -->
<section class="section section--light">
<div class="container container--narrow">
<div class="text-center js-reveal">
<span class="label mb-4">FAQ</span>
<h2 style="font-size:var(--text-xl);">Common questions</h2>
</div>
<div class="faq-list mt-8">
<details class="faq-item js-reveal">
<summary>Is there a free trial?</summary>
<p>Yes. We're currently in beta and offering free access to the full platform. Join the waitlist and if you're selected, we'll email you with access. No credit card required.</p>
</details>
<details class="faq-item js-reveal">
<summary>What does "unlimited users" mean?</summary>
<p>It means exactly what it says. On the Professional plan, you can add as many team members, technicians, office staff, and managers as you need. No per-seat fees, no per-tech fees, no hidden charges.</p>
</details>
<details class="faq-item js-reveal">
<summary>Can I migrate from QuickBooks?</summary>
<p>Yes. We provide a migration tool that imports your chart of accounts, contacts, and open invoices/bills from QuickBooks. Enterprise plans include assisted migration with our team.</p>
</details>
<details class="faq-item js-reveal">
<summary>How does the AI assistant work?</summary>
<p>Voice or text commands. You tell SupaLedgers what to do in plain English, it shows you what it plans to do, and waits for your explicit approval before executing anything. Every AI action is logged with a full audit trail.</p>
</details>
<details class="faq-item js-reveal">
<summary>What payment processing fees apply?</summary>
<p>Standard Stripe processing fees apply (2.9% + 30¢ per transaction). SupaLedgers adds a 0.5% platform fee — lower than most competitors. No monthly gateway fees.</p>
</details>
<details class="faq-item js-reveal">
<summary>Can you build custom features for my business?</summary>
<p>Yes. Every business operates differently. On Enterprise plans, we build custom features tailored to your specific workflows, industry requirements, and operational needs. Whether it's a custom report, a unique scheduling rule, or a specialized integration — we build it into the platform so it works natively, not as a bolt-on.</p>
</details>
<details class="faq-item js-reveal">
<summary>Is my financial data secure?</summary>
<p>Bank-level encryption. SOC 2 Type II compliance in progress. Row-level security. Immutable audit logs. Your financial data is treated with the same security standards as a banking application.</p>
</details>
</div>
</div>
</section>
<!-- CTA -->
<section class="section section--dark" style="position:relative;overflow:hidden;">
<div class="dot-grid-bg"></div>
<div class="container container--narrow text-center" style="position:relative;z-index:1;">
<div class="js-reveal">
<h2 style="font-size:var(--text-2xl);color:var(--white);">Join the beta. It's free.</h2>
<p class="mt-4" style="color:var(--navy-300);max-width:45ch;margin-inline:auto;">Get full platform access at no cost during beta. Limited spots available.</p>
<div class="mt-8"><a href="./contact.html" class="btn btn--primary btn--large">Join the Waitlist <i data-lucide="arrow-right" style="width:18px;height:18px;"></i></a></div>
</div>
</div>
</section>
</main>
<footer class="footer">
<div class="footer__grid">
<div class="footer__brand">
<a href="./index.html" class="nav__logo" style="color:var(--white);"><svg width="28" height="28" viewBox="0 0 64 64" fill="none"><polygon points="32,4 58,18 32,32 6,18" fill="#3ebd93"/><polygon points="6,18 32,32 32,36 6,22" fill="#1a3a54"/><polygon points="6,22 32,36 32,42 6,28" fill="#27ab83"/><polygon points="6,28 32,42 32,58 6,44" fill="#0f2537"/><polygon points="58,18 32,32 32,42 58,28" fill="#1e4f6d"/><polygon points="58,28 32,42 32,48 58,34" fill="#3ebd93"/><polygon points="58,34 32,48 32,58 58,44" fill="#1a3a54"/></svg><span>SupaLedgers</span></a>
<p>AI-powered platform that runs your entire small business. One database. No sync. No reconciliation.</p>
</div>
<div class="footer__col"><h4>Product</h4><ul><li><a href="./features.html">Features</a></li><li><a href="./pricing.html">Pricing</a></li><li><a href="./contact.html">Join Beta</a></li></ul></div>
<div class="footer__col"><h4>Company</h4><ul><li><a href="./about.html">About</a></li><li><a href="./contact.html">Contact</a></li><li><a href="./coming-soon.html">Careers</a></li></ul></div>
<div class="footer__col"><h4>Resources</h4><ul><li><a href="./coming-soon.html">Documentation</a></li><li><a href="./coming-soon.html">Blog</a></li><li><a href="./coming-soon.html">Status</a></li></ul></div>
</div>
<div class="footer__bottom">
<span>© 2026 SupaLedgers. All rights reserved.</span>
</div>
</footer>
<script>
lucide.createIcons();
document.getElementById('hamburger')?.addEventListener('click', () => { const m = document.getElementById('mobileNav'); m.style.display='flex'; requestAnimationFrame(() => m.classList.add('open')); });
document.getElementById('mobileClose')?.addEventListener('click', () => { const m = document.getElementById('mobileNav'); m.classList.remove('open'); setTimeout(() => m.style.display='none', 300); });
window.addEventListener('scroll', () => document.getElementById('nav').classList.toggle('nav--scrolled', window.scrollY > 40), { passive: true });
const observer = new IntersectionObserver((entries) => { entries.forEach(e => { if(e.isIntersecting) { e.target.classList.add('visible'); observer.unobserve(e.target); } }); }, { threshold: 0.1, rootMargin: '0px 0px -40px 0px' });
// Mark body so CSS knows JS is active
document.body.classList.add('js-reveal-ready');
// Safety: reveal ALL elements after 800ms in case observer misses any
setTimeout(() => {
document.querySelectorAll('.js-reveal, .stagger').forEach(el => el.classList.add('visible'));
}, 800);
// Observe all reveal elements
const revealEls = document.querySelectorAll('.js-reveal, .stagger');
revealEls.forEach(el => {
const rect = el.getBoundingClientRect();
if (rect.top < window.innerHeight && rect.bottom > 0) {
el.classList.add('visible');
} else {
observer.observe(el);
}
});
</script>
<script src="./motion.js"></script>
<script data-pplx-inline-edit>
(function(){
if(window===window.top)return;
function inlineAll(orig,clone){
if(orig.nodeType!==1)return;
try{
var cs=getComputedStyle(orig);
var t='';
for(var i=0;i<cs.length;i++){t+=cs[i]+':'+cs.getPropertyValue(cs[i])+';';}
clone.style.cssText=t;
}catch(e){}
var oc=orig.children,cc=clone.children;
for(var j=0;j<oc.length&&j<cc.length;j++){inlineAll(oc[j],cc[j]);}
}
function stripExternal(clone){
var imgs=clone.querySelectorAll('img');
for(var i=0;i<imgs.length;i++){
var s=imgs[i].getAttribute('src');
if(s&&!s.startsWith('data:'))imgs[i].removeAttribute('src');
}
var all=clone.querySelectorAll('*');
for(var i=0;i<all.length;i++){
var st=all[i].style.cssText;
if(st&&st.indexOf('url(')>=0){
all[i].style.cssText=st.replace(/url\(["']?(?!data:)[^)"']*["']?\)/gi,'none');
}
}
}
window.addEventListener('message',function(e){
if(!e.data||e.data.type!=='INLINE_EDIT_CAPTURE_REQUEST')return;
var scrollX=window.scrollX||window.pageXOffset||0;
var scrollY=window.scrollY||window.pageYOffset||0;
var w=window.innerWidth,h=window.innerHeight;
try{
var clone=document.documentElement.cloneNode(true);
var rm=clone.querySelectorAll('script,link[rel="stylesheet"],style');
for(var i=0;i<rm.length;i++){rm[i].remove();}
inlineAll(document.documentElement,clone);
stripExternal(clone);
var html=new XMLSerializer().serializeToString(clone);
var svg='<svg xmlns="http://www.w3.org/2000/svg" width="'+w+'" height="'+h+'">'
+'<foreignObject width="100%" height="100%">'
+'<div xmlns="http://www.w3.org/1999/xhtml" style="width:'+w+'px;height:'+h+'px;overflow:hidden">'
+'<div style="transform:translate(-'+scrollX+'px,-'+scrollY+'px);transform-origin:top left">'
+html+'</div></div></foreignObject></svg>';
var svgUrl='data:image/svg+xml;charset=utf-8,'+encodeURIComponent(svg);
var img=new Image();
img.onload=function(){
var c=document.createElement('canvas');c.width=w;c.height=h;
c.getContext('2d').drawImage(img,0,0);
window.parent.postMessage({type:'INLINE_EDIT_SCREENSHOT_RESULT',dataUrl:c.toDataURL('image/png'),scrollX:scrollX,scrollY:scrollY},'*');
};
img.onerror=function(){
window.parent.postMessage({type:'INLINE_EDIT_SCREENSHOT_RESULT',dataUrl:null,scrollX:scrollX,scrollY:scrollY},'*');
};
img.src=svgUrl;
}catch(err){
window.parent.postMessage({type:'INLINE_EDIT_SCREENSHOT_RESULT',dataUrl:null,scrollX:scrollX,scrollY:scrollY},'*');
}
});
})();
</script></body>
</html>