@schematichq/schematic-components 0.4.7 → 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schematic-components.cjs.js +408 -481
- package/dist/schematic-components.d.ts +7 -2
- package/dist/schematic-components.esm.js +469 -539
- package/package.json +7 -7
|
@@ -2124,7 +2124,7 @@ __export(index_exports, {
|
|
|
2124
2124
|
module.exports = __toCommonJS(index_exports);
|
|
2125
2125
|
|
|
2126
2126
|
// src/components/elements/included-features/IncludedFeatures.tsx
|
|
2127
|
-
var
|
|
2127
|
+
var import_react32 = require("react");
|
|
2128
2128
|
|
|
2129
2129
|
// node_modules/react-i18next/dist/es/Trans.js
|
|
2130
2130
|
var import_react3 = require("react");
|
|
@@ -3783,11 +3783,11 @@ function useAvailablePlans(activePeriod) {
|
|
|
3783
3783
|
const getActivePlans = (0, import_react10.useCallback)(
|
|
3784
3784
|
(plans) => {
|
|
3785
3785
|
const customPlanExist = plans.some((plan) => plan.custom);
|
|
3786
|
-
|
|
3786
|
+
const plansWithSelected = mode === "edit" ? plans.slice() : plans.filter(
|
|
3787
3787
|
(plan) => activePeriod === "month" && plan.monthlyPrice || activePeriod === "year" && plan.yearlyPrice
|
|
3788
3788
|
);
|
|
3789
3789
|
if (!customPlanExist) {
|
|
3790
|
-
plansWithSelected
|
|
3790
|
+
plansWithSelected.sort((a2, b2) => {
|
|
3791
3791
|
if (activePeriod === "year") {
|
|
3792
3792
|
return (a2.yearlyPrice?.price ?? 0) - (b2.yearlyPrice?.price ?? 0);
|
|
3793
3793
|
}
|
|
@@ -12081,7 +12081,7 @@ var GlobalStyle = ft`;
|
|
|
12081
12081
|
|
|
12082
12082
|
@font-face {
|
|
12083
12083
|
font-family: "icons";
|
|
12084
|
-
src: url(data:font/ttf;base64,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AGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAdnbGFzc2VzBWdsb2JlBmhhbW1lcgRoYXNoBWhlYXJ0B2h1YnNwb3QFaW1hZ2UMaW5mby1yb3VuZGVkBWp1aWNlA2tleQRsaW5rCm1hc3RlcmNhcmQFbXVzaWMKbm9kZS1taW51cwlub2RlLXBsdXMHcGFja2FnZQtwYXBlci1wbGFuZQZwYXlwYWwGcGVuY2lsB3BlcmNlbnQGcGlja2VyBHBsYW4EcGx1ZwpwbHVzLW1pbnVzFHBsdXMtcm91bmRlZC1vdXRsaW5lB3ByZXNlbnQJc2NoZW1hdGljBnNlYXJjaAdzZWdtZW50DXNlcnZlci1zZWFyY2gHc2lkZWJhcgZzaWduYWwHc2lsZW5jZQVzcGFkZQdzcGVha2VyB3N0YWNrZWQGc3RhY2tzBnN0cmlwZQR0ZXh0B3RodW5kZXIHdG9ybmFkbwV0cnVjawR0dWJlC3VucHJvdGVjdGVkCHZlcmlmaWVkDHZpZGVvLWNhbWVyYQR2aXNhBndhbGxldAp3YXRjaC1oYW5kDHdhdGNoLXBvY2tldAp3YXRlci1kcm9wBXdhdmVzB3dlYmhvb2sEd2luZAAAAA==), format("truetype");
|
|
12084
|
+
src: url(data:font/ttf;base64,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ASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAZnaXRodWIHZ2xhc3NlcwVnbG9iZQZnb29nbGUGaGFtbWVyBGhhc2gFaGVhcnQHaHVic3BvdAVpbWFnZQxpbmZvLXJvdW5kZWQFanVpY2UDa2V5BGxpbmsKbWFzdGVyY2FyZARtb3ZlBW11c2ljCm5vZGUtbWludXMJbm9kZS1wbHVzB3BhY2thZ2ULcGFwZXItcGxhbmUGcGF5cGFsBnBlbmNpbAdwZXJjZW50BnBpY2tlcgRwbGFuBHBsdWcKcGx1cy1taW51cxRwbHVzLXJvdW5kZWQtb3V0bGluZQdwcmVzZW50CXNjaGVtYXRpYwZzZWFyY2gHc2VnbWVudA1zZXJ2ZXItc2VhcmNoB3NpZGViYXIGc2lnbmFsB3NpbGVuY2UFc3BhZGUHc3BlYWtlcgdzdGFja2VkBnN0YWNrcwZzdHJpcGUEdGV4dAd0aHVuZGVyB3Rvcm5hZG8FdHJ1Y2sEdHViZQt1bnByb3RlY3RlZAt1bnN1YnNjcmliZQh2ZXJpZmllZAx2aWRlby1jYW1lcmEEdmlzYQZ3YWxsZXQKd2F0Y2gtaGFuZAx3YXRjaC1wb2NrZXQKd2F0ZXItZHJvcAV3YXZlcwd3ZWJob29rBHdpbmQAAAAA), format("truetype");
|
|
12085
12085
|
}
|
|
12086
12086
|
|
|
12087
12087
|
i[class^="i-"]:before,
|
|
@@ -12329,221 +12329,237 @@ i[class*=" i-"]:before {
|
|
|
12329
12329
|
content: "\\f13b";
|
|
12330
12330
|
}
|
|
12331
12331
|
|
|
12332
|
-
.i-
|
|
12332
|
+
.i-github::before {
|
|
12333
12333
|
content: "\\f13c";
|
|
12334
12334
|
}
|
|
12335
12335
|
|
|
12336
|
-
.i-
|
|
12336
|
+
.i-glasses::before {
|
|
12337
12337
|
content: "\\f13d";
|
|
12338
12338
|
}
|
|
12339
12339
|
|
|
12340
|
-
.i-
|
|
12340
|
+
.i-globe::before {
|
|
12341
12341
|
content: "\\f13e";
|
|
12342
12342
|
}
|
|
12343
12343
|
|
|
12344
|
-
.i-
|
|
12344
|
+
.i-google::before {
|
|
12345
12345
|
content: "\\f13f";
|
|
12346
12346
|
}
|
|
12347
12347
|
|
|
12348
|
-
.i-
|
|
12348
|
+
.i-hammer::before {
|
|
12349
12349
|
content: "\\f140";
|
|
12350
12350
|
}
|
|
12351
12351
|
|
|
12352
|
-
.i-
|
|
12352
|
+
.i-hash::before {
|
|
12353
12353
|
content: "\\f141";
|
|
12354
12354
|
}
|
|
12355
12355
|
|
|
12356
|
-
.i-
|
|
12356
|
+
.i-heart::before {
|
|
12357
12357
|
content: "\\f142";
|
|
12358
12358
|
}
|
|
12359
12359
|
|
|
12360
|
-
.i-
|
|
12360
|
+
.i-hubspot::before {
|
|
12361
12361
|
content: "\\f143";
|
|
12362
12362
|
}
|
|
12363
12363
|
|
|
12364
|
-
.i-
|
|
12364
|
+
.i-image::before {
|
|
12365
12365
|
content: "\\f144";
|
|
12366
12366
|
}
|
|
12367
12367
|
|
|
12368
|
-
.i-
|
|
12368
|
+
.i-info-rounded::before {
|
|
12369
12369
|
content: "\\f145";
|
|
12370
12370
|
}
|
|
12371
12371
|
|
|
12372
|
-
.i-
|
|
12372
|
+
.i-juice::before {
|
|
12373
12373
|
content: "\\f146";
|
|
12374
12374
|
}
|
|
12375
12375
|
|
|
12376
|
-
.i-
|
|
12376
|
+
.i-key::before {
|
|
12377
12377
|
content: "\\f147";
|
|
12378
12378
|
}
|
|
12379
12379
|
|
|
12380
|
-
.i-
|
|
12380
|
+
.i-link::before {
|
|
12381
12381
|
content: "\\f148";
|
|
12382
12382
|
}
|
|
12383
12383
|
|
|
12384
|
-
.i-
|
|
12384
|
+
.i-mastercard::before {
|
|
12385
12385
|
content: "\\f149";
|
|
12386
12386
|
}
|
|
12387
12387
|
|
|
12388
|
-
.i-
|
|
12388
|
+
.i-move::before {
|
|
12389
12389
|
content: "\\f14a";
|
|
12390
12390
|
}
|
|
12391
12391
|
|
|
12392
|
-
.i-
|
|
12392
|
+
.i-music::before {
|
|
12393
12393
|
content: "\\f14b";
|
|
12394
12394
|
}
|
|
12395
12395
|
|
|
12396
|
-
.i-
|
|
12396
|
+
.i-node-minus::before {
|
|
12397
12397
|
content: "\\f14c";
|
|
12398
12398
|
}
|
|
12399
12399
|
|
|
12400
|
-
.i-
|
|
12400
|
+
.i-node-plus::before {
|
|
12401
12401
|
content: "\\f14d";
|
|
12402
12402
|
}
|
|
12403
12403
|
|
|
12404
|
-
.i-
|
|
12404
|
+
.i-package::before {
|
|
12405
12405
|
content: "\\f14e";
|
|
12406
12406
|
}
|
|
12407
12407
|
|
|
12408
|
-
.i-
|
|
12408
|
+
.i-paper-plane::before {
|
|
12409
12409
|
content: "\\f14f";
|
|
12410
12410
|
}
|
|
12411
12411
|
|
|
12412
|
-
.i-
|
|
12412
|
+
.i-paypal::before {
|
|
12413
12413
|
content: "\\f150";
|
|
12414
12414
|
}
|
|
12415
12415
|
|
|
12416
|
-
.i-
|
|
12416
|
+
.i-pencil::before {
|
|
12417
12417
|
content: "\\f151";
|
|
12418
12418
|
}
|
|
12419
12419
|
|
|
12420
|
-
.i-
|
|
12420
|
+
.i-percent::before {
|
|
12421
12421
|
content: "\\f152";
|
|
12422
12422
|
}
|
|
12423
12423
|
|
|
12424
|
-
.i-
|
|
12424
|
+
.i-picker::before {
|
|
12425
12425
|
content: "\\f153";
|
|
12426
12426
|
}
|
|
12427
12427
|
|
|
12428
|
-
.i-
|
|
12428
|
+
.i-plan::before {
|
|
12429
12429
|
content: "\\f154";
|
|
12430
12430
|
}
|
|
12431
12431
|
|
|
12432
|
-
.i-
|
|
12432
|
+
.i-plug::before {
|
|
12433
12433
|
content: "\\f155";
|
|
12434
12434
|
}
|
|
12435
12435
|
|
|
12436
|
-
.i-
|
|
12436
|
+
.i-plus-minus::before {
|
|
12437
12437
|
content: "\\f156";
|
|
12438
12438
|
}
|
|
12439
12439
|
|
|
12440
|
-
.i-
|
|
12440
|
+
.i-plus-rounded-outline::before {
|
|
12441
12441
|
content: "\\f157";
|
|
12442
12442
|
}
|
|
12443
12443
|
|
|
12444
|
-
.i-
|
|
12444
|
+
.i-present::before {
|
|
12445
12445
|
content: "\\f158";
|
|
12446
12446
|
}
|
|
12447
12447
|
|
|
12448
|
-
.i-
|
|
12448
|
+
.i-schematic::before {
|
|
12449
12449
|
content: "\\f159";
|
|
12450
12450
|
}
|
|
12451
12451
|
|
|
12452
|
-
.i-
|
|
12452
|
+
.i-search::before {
|
|
12453
12453
|
content: "\\f15a";
|
|
12454
12454
|
}
|
|
12455
12455
|
|
|
12456
|
-
.i-
|
|
12456
|
+
.i-segment::before {
|
|
12457
12457
|
content: "\\f15b";
|
|
12458
12458
|
}
|
|
12459
12459
|
|
|
12460
|
-
.i-
|
|
12460
|
+
.i-server-search::before {
|
|
12461
12461
|
content: "\\f15c";
|
|
12462
12462
|
}
|
|
12463
12463
|
|
|
12464
|
-
.i-
|
|
12464
|
+
.i-sidebar::before {
|
|
12465
12465
|
content: "\\f15d";
|
|
12466
12466
|
}
|
|
12467
12467
|
|
|
12468
|
-
.i-
|
|
12468
|
+
.i-signal::before {
|
|
12469
12469
|
content: "\\f15e";
|
|
12470
12470
|
}
|
|
12471
12471
|
|
|
12472
|
-
.i-
|
|
12472
|
+
.i-silence::before {
|
|
12473
12473
|
content: "\\f15f";
|
|
12474
12474
|
}
|
|
12475
12475
|
|
|
12476
|
-
.i-
|
|
12476
|
+
.i-spade::before {
|
|
12477
12477
|
content: "\\f160";
|
|
12478
12478
|
}
|
|
12479
12479
|
|
|
12480
|
-
.i-
|
|
12480
|
+
.i-speaker::before {
|
|
12481
12481
|
content: "\\f161";
|
|
12482
12482
|
}
|
|
12483
12483
|
|
|
12484
|
-
.i-
|
|
12484
|
+
.i-stacked::before {
|
|
12485
12485
|
content: "\\f162";
|
|
12486
12486
|
}
|
|
12487
12487
|
|
|
12488
|
-
.i-
|
|
12488
|
+
.i-stacks::before {
|
|
12489
12489
|
content: "\\f163";
|
|
12490
12490
|
}
|
|
12491
12491
|
|
|
12492
|
-
.i-
|
|
12492
|
+
.i-stripe::before {
|
|
12493
12493
|
content: "\\f164";
|
|
12494
12494
|
}
|
|
12495
12495
|
|
|
12496
|
-
.i-
|
|
12496
|
+
.i-text::before {
|
|
12497
12497
|
content: "\\f165";
|
|
12498
12498
|
}
|
|
12499
12499
|
|
|
12500
|
-
.i-
|
|
12500
|
+
.i-thunder::before {
|
|
12501
12501
|
content: "\\f166";
|
|
12502
12502
|
}
|
|
12503
12503
|
|
|
12504
|
-
.i-
|
|
12504
|
+
.i-tornado::before {
|
|
12505
12505
|
content: "\\f167";
|
|
12506
12506
|
}
|
|
12507
12507
|
|
|
12508
|
-
.i-
|
|
12508
|
+
.i-truck::before {
|
|
12509
12509
|
content: "\\f168";
|
|
12510
12510
|
}
|
|
12511
12511
|
|
|
12512
|
-
.i-
|
|
12512
|
+
.i-tube::before {
|
|
12513
12513
|
content: "\\f169";
|
|
12514
12514
|
}
|
|
12515
12515
|
|
|
12516
|
-
.i-
|
|
12516
|
+
.i-unprotected::before {
|
|
12517
12517
|
content: "\\f16a";
|
|
12518
12518
|
}
|
|
12519
12519
|
|
|
12520
|
-
.i-
|
|
12520
|
+
.i-unsubscribe::before {
|
|
12521
12521
|
content: "\\f16b";
|
|
12522
12522
|
}
|
|
12523
12523
|
|
|
12524
|
-
.i-
|
|
12524
|
+
.i-verified::before {
|
|
12525
12525
|
content: "\\f16c";
|
|
12526
12526
|
}
|
|
12527
12527
|
|
|
12528
|
-
.i-
|
|
12528
|
+
.i-video-camera::before {
|
|
12529
12529
|
content: "\\f16d";
|
|
12530
12530
|
}
|
|
12531
12531
|
|
|
12532
|
-
.i-
|
|
12532
|
+
.i-visa::before {
|
|
12533
12533
|
content: "\\f16e";
|
|
12534
12534
|
}
|
|
12535
12535
|
|
|
12536
|
-
.i-
|
|
12536
|
+
.i-wallet::before {
|
|
12537
12537
|
content: "\\f16f";
|
|
12538
12538
|
}
|
|
12539
12539
|
|
|
12540
|
-
.i-
|
|
12540
|
+
.i-watch-hand::before {
|
|
12541
12541
|
content: "\\f170";
|
|
12542
12542
|
}
|
|
12543
12543
|
|
|
12544
|
-
.i-
|
|
12544
|
+
.i-watch-pocket::before {
|
|
12545
12545
|
content: "\\f171";
|
|
12546
12546
|
}
|
|
12547
|
+
|
|
12548
|
+
.i-water-drop::before {
|
|
12549
|
+
content: "\\f172";
|
|
12550
|
+
}
|
|
12551
|
+
|
|
12552
|
+
.i-waves::before {
|
|
12553
|
+
content: "\\f173";
|
|
12554
|
+
}
|
|
12555
|
+
|
|
12556
|
+
.i-webhook::before {
|
|
12557
|
+
content: "\\f174";
|
|
12558
|
+
}
|
|
12559
|
+
|
|
12560
|
+
.i-wind::before {
|
|
12561
|
+
content: "\\f175";
|
|
12562
|
+
}
|
|
12547
12563
|
`;
|
|
12548
12564
|
|
|
12549
12565
|
// src/context/embed.tsx
|
|
@@ -12663,13 +12679,15 @@ var EmbedContext = (0, import_react11.createContext)({
|
|
|
12663
12679
|
isPending: false,
|
|
12664
12680
|
hydrate: async () => {
|
|
12665
12681
|
},
|
|
12666
|
-
|
|
12682
|
+
setIsPending: () => {
|
|
12667
12683
|
},
|
|
12668
|
-
|
|
12684
|
+
setData: () => {
|
|
12669
12685
|
},
|
|
12670
12686
|
setLayout: () => {
|
|
12671
12687
|
},
|
|
12672
12688
|
setSelected: () => {
|
|
12689
|
+
},
|
|
12690
|
+
updateSettings: () => {
|
|
12673
12691
|
}
|
|
12674
12692
|
});
|
|
12675
12693
|
var EmbedProvider = ({
|
|
@@ -12700,11 +12718,13 @@ var EmbedProvider = ({
|
|
|
12700
12718
|
},
|
|
12701
12719
|
setData: () => {
|
|
12702
12720
|
},
|
|
12703
|
-
|
|
12721
|
+
setIsPending: () => {
|
|
12704
12722
|
},
|
|
12705
12723
|
setLayout: () => {
|
|
12706
12724
|
},
|
|
12707
12725
|
setSelected: () => {
|
|
12726
|
+
},
|
|
12727
|
+
updateSettings: () => {
|
|
12708
12728
|
}
|
|
12709
12729
|
};
|
|
12710
12730
|
});
|
|
@@ -12744,45 +12764,39 @@ var EmbedProvider = ({
|
|
|
12744
12764
|
}));
|
|
12745
12765
|
}
|
|
12746
12766
|
}, [id, state.api]);
|
|
12747
|
-
const
|
|
12748
|
-
(
|
|
12749
|
-
|
|
12750
|
-
|
|
12751
|
-
|
|
12752
|
-
|
|
12753
|
-
|
|
12754
|
-
|
|
12755
|
-
|
|
12756
|
-
|
|
12757
|
-
|
|
12758
|
-
|
|
12759
|
-
|
|
12760
|
-
|
|
12761
|
-
|
|
12762
|
-
|
|
12763
|
-
|
|
12764
|
-
|
|
12765
|
-
|
|
12766
|
-
|
|
12767
|
-
|
|
12768
|
-
|
|
12769
|
-
|
|
12770
|
-
|
|
12771
|
-
|
|
12772
|
-
|
|
12773
|
-
})
|
|
12774
|
-
|
|
12775
|
-
[setState]
|
|
12776
|
-
);
|
|
12777
|
-
const setSelected = (0, import_react11.useCallback)(
|
|
12778
|
-
(selected) => {
|
|
12779
|
-
setState((prev2) => ({
|
|
12767
|
+
const setIsPending = (bool) => {
|
|
12768
|
+
setState((prev2) => ({
|
|
12769
|
+
...prev2,
|
|
12770
|
+
isPending: bool
|
|
12771
|
+
}));
|
|
12772
|
+
};
|
|
12773
|
+
const setData = (data) => {
|
|
12774
|
+
setState((prev2) => ({
|
|
12775
|
+
...prev2,
|
|
12776
|
+
data
|
|
12777
|
+
}));
|
|
12778
|
+
};
|
|
12779
|
+
const setLayout = (layout) => {
|
|
12780
|
+
setState((prev2) => ({
|
|
12781
|
+
...prev2,
|
|
12782
|
+
layout
|
|
12783
|
+
}));
|
|
12784
|
+
};
|
|
12785
|
+
const setSelected = (selected) => {
|
|
12786
|
+
setState((prev2) => ({
|
|
12787
|
+
...prev2,
|
|
12788
|
+
selected
|
|
12789
|
+
}));
|
|
12790
|
+
};
|
|
12791
|
+
const updateSettings = (settings) => {
|
|
12792
|
+
setState((prev2) => {
|
|
12793
|
+
const updatedSettings = (0, import_merge.default)({}, prev2.settings, { ...settings });
|
|
12794
|
+
return {
|
|
12780
12795
|
...prev2,
|
|
12781
|
-
|
|
12782
|
-
}
|
|
12783
|
-
}
|
|
12784
|
-
|
|
12785
|
-
);
|
|
12796
|
+
settings: updatedSettings
|
|
12797
|
+
};
|
|
12798
|
+
});
|
|
12799
|
+
};
|
|
12786
12800
|
(0, import_react11.useEffect)(() => {
|
|
12787
12801
|
instance.use(initReactI18next).init({
|
|
12788
12802
|
resources: {
|
|
@@ -12810,7 +12824,7 @@ var EmbedProvider = ({
|
|
|
12810
12824
|
(0, import_react11.useEffect)(() => {
|
|
12811
12825
|
if (accessToken) {
|
|
12812
12826
|
const { headers = {} } = apiConfig ?? {};
|
|
12813
|
-
headers["X-Schematic-Components-Version"] = "0.4.
|
|
12827
|
+
headers["X-Schematic-Components-Version"] = "0.4.8";
|
|
12814
12828
|
headers["X-Schematic-Session-ID"] = sessionIdRef.current;
|
|
12815
12829
|
const config = new Configuration({
|
|
12816
12830
|
...apiConfig,
|
|
@@ -12853,10 +12867,11 @@ var EmbedProvider = ({
|
|
|
12853
12867
|
error: state.error,
|
|
12854
12868
|
isPending: state.isPending,
|
|
12855
12869
|
hydrate,
|
|
12870
|
+
setIsPending,
|
|
12856
12871
|
setData,
|
|
12857
|
-
updateSettings,
|
|
12858
12872
|
setLayout,
|
|
12859
|
-
setSelected
|
|
12873
|
+
setSelected,
|
|
12874
|
+
updateSettings
|
|
12860
12875
|
},
|
|
12861
12876
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ot, { theme: state.settings.theme, children: [
|
|
12862
12877
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(GlobalStyle, {}),
|
|
@@ -12959,6 +12974,10 @@ function lighten(color, amount) {
|
|
|
12959
12974
|
function darken(color, amount) {
|
|
12960
12975
|
return adjustLightness(color, -amount);
|
|
12961
12976
|
}
|
|
12977
|
+
function hsla(color, amount) {
|
|
12978
|
+
const { h, s: s2, l: l2 } = hexToHSL(color);
|
|
12979
|
+
return `hsla(${h}, ${s2}%, ${l2}%, ${amount})`;
|
|
12980
|
+
}
|
|
12962
12981
|
|
|
12963
12982
|
// src/utils/date.ts
|
|
12964
12983
|
function toPrettyDate(date, format) {
|
|
@@ -13257,7 +13276,7 @@ var Button2 = (0, import_react16.forwardRef)(
|
|
|
13257
13276
|
disabled,
|
|
13258
13277
|
...props,
|
|
13259
13278
|
children: [
|
|
13260
|
-
|
|
13279
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Loader, { $size: "sm", $isLoading: isLoading }),
|
|
13261
13280
|
children
|
|
13262
13281
|
]
|
|
13263
13282
|
}
|
|
@@ -13570,60 +13589,64 @@ var icons_default = {
|
|
|
13570
13589
|
"folder-plus": 61753,
|
|
13571
13590
|
folder: 61754,
|
|
13572
13591
|
"generic-payment": 61755,
|
|
13573
|
-
|
|
13574
|
-
|
|
13575
|
-
|
|
13576
|
-
|
|
13577
|
-
|
|
13578
|
-
|
|
13579
|
-
|
|
13580
|
-
|
|
13581
|
-
|
|
13582
|
-
|
|
13583
|
-
|
|
13584
|
-
|
|
13585
|
-
|
|
13586
|
-
|
|
13587
|
-
|
|
13588
|
-
|
|
13589
|
-
"
|
|
13590
|
-
|
|
13591
|
-
|
|
13592
|
-
|
|
13593
|
-
|
|
13594
|
-
|
|
13595
|
-
|
|
13596
|
-
|
|
13597
|
-
|
|
13598
|
-
|
|
13599
|
-
|
|
13600
|
-
|
|
13601
|
-
|
|
13602
|
-
|
|
13603
|
-
|
|
13604
|
-
|
|
13605
|
-
|
|
13606
|
-
|
|
13607
|
-
|
|
13608
|
-
|
|
13609
|
-
|
|
13610
|
-
|
|
13611
|
-
|
|
13612
|
-
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
|
|
13622
|
-
"
|
|
13623
|
-
|
|
13624
|
-
|
|
13625
|
-
|
|
13626
|
-
|
|
13592
|
+
github: 61756,
|
|
13593
|
+
glasses: 61757,
|
|
13594
|
+
globe: 61758,
|
|
13595
|
+
google: 61759,
|
|
13596
|
+
hammer: 61760,
|
|
13597
|
+
hash: 61761,
|
|
13598
|
+
heart: 61762,
|
|
13599
|
+
hubspot: 61763,
|
|
13600
|
+
image: 61764,
|
|
13601
|
+
"info-rounded": 61765,
|
|
13602
|
+
juice: 61766,
|
|
13603
|
+
key: 61767,
|
|
13604
|
+
link: 61768,
|
|
13605
|
+
mastercard: 61769,
|
|
13606
|
+
move: 61770,
|
|
13607
|
+
music: 61771,
|
|
13608
|
+
"node-minus": 61772,
|
|
13609
|
+
"node-plus": 61773,
|
|
13610
|
+
package: 61774,
|
|
13611
|
+
"paper-plane": 61775,
|
|
13612
|
+
paypal: 61776,
|
|
13613
|
+
pencil: 61777,
|
|
13614
|
+
percent: 61778,
|
|
13615
|
+
picker: 61779,
|
|
13616
|
+
plan: 61780,
|
|
13617
|
+
plug: 61781,
|
|
13618
|
+
"plus-minus": 61782,
|
|
13619
|
+
"plus-rounded-outline": 61783,
|
|
13620
|
+
present: 61784,
|
|
13621
|
+
schematic: 61785,
|
|
13622
|
+
search: 61786,
|
|
13623
|
+
segment: 61787,
|
|
13624
|
+
"server-search": 61788,
|
|
13625
|
+
sidebar: 61789,
|
|
13626
|
+
signal: 61790,
|
|
13627
|
+
silence: 61791,
|
|
13628
|
+
spade: 61792,
|
|
13629
|
+
speaker: 61793,
|
|
13630
|
+
stacked: 61794,
|
|
13631
|
+
stacks: 61795,
|
|
13632
|
+
stripe: 61796,
|
|
13633
|
+
text: 61797,
|
|
13634
|
+
thunder: 61798,
|
|
13635
|
+
tornado: 61799,
|
|
13636
|
+
truck: 61800,
|
|
13637
|
+
tube: 61801,
|
|
13638
|
+
unprotected: 61802,
|
|
13639
|
+
unsubscribe: 61803,
|
|
13640
|
+
verified: 61804,
|
|
13641
|
+
"video-camera": 61805,
|
|
13642
|
+
visa: 61806,
|
|
13643
|
+
wallet: 61807,
|
|
13644
|
+
"watch-hand": 61808,
|
|
13645
|
+
"watch-pocket": 61809,
|
|
13646
|
+
"water-drop": 61810,
|
|
13647
|
+
waves: 61811,
|
|
13648
|
+
webhook: 61812,
|
|
13649
|
+
wind: 61813
|
|
13627
13650
|
};
|
|
13628
13651
|
|
|
13629
13652
|
// src/components/ui/icon/IconRound.tsx
|
|
@@ -14233,7 +14256,7 @@ var Root = (0, import_react20.forwardRef)(
|
|
|
14233
14256
|
Root.displayName = "Root";
|
|
14234
14257
|
|
|
14235
14258
|
// src/components/layout/viewport/Viewport.tsx
|
|
14236
|
-
var
|
|
14259
|
+
var import_react28 = require("react");
|
|
14237
14260
|
var import_react_dom2 = require("react-dom");
|
|
14238
14261
|
|
|
14239
14262
|
// src/components/shared/checkout-dialog/CheckoutDialog.tsx
|
|
@@ -14366,7 +14389,8 @@ var StageButton = ({
|
|
|
14366
14389
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14367
14390
|
EmbedButton,
|
|
14368
14391
|
{
|
|
14369
|
-
|
|
14392
|
+
type: "button",
|
|
14393
|
+
disabled: isLoading || !canUpdateSubscription,
|
|
14370
14394
|
onClick: checkout,
|
|
14371
14395
|
isLoading,
|
|
14372
14396
|
children: t2("Subscribe and close")
|
|
@@ -14379,9 +14403,10 @@ var StageButton = ({
|
|
|
14379
14403
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14380
14404
|
EmbedButton,
|
|
14381
14405
|
{
|
|
14406
|
+
type: "button",
|
|
14382
14407
|
disabled: !hasAddOns && !canUpdateSubscription,
|
|
14383
14408
|
onClick: async () => {
|
|
14384
|
-
setCheckoutStage("checkout");
|
|
14409
|
+
setCheckoutStage?.("checkout");
|
|
14385
14410
|
},
|
|
14386
14411
|
isLoading,
|
|
14387
14412
|
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -14405,6 +14430,7 @@ var StageButton = ({
|
|
|
14405
14430
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14406
14431
|
EmbedButton,
|
|
14407
14432
|
{
|
|
14433
|
+
type: "button",
|
|
14408
14434
|
disabled: !canUpdateSubscription,
|
|
14409
14435
|
onClick: async () => {
|
|
14410
14436
|
checkout();
|
|
@@ -14426,7 +14452,7 @@ var StageButton = ({
|
|
|
14426
14452
|
}
|
|
14427
14453
|
);
|
|
14428
14454
|
}
|
|
14429
|
-
if (!requiresPayment && !checkoutStages
|
|
14455
|
+
if (!requiresPayment && !checkoutStages?.some(
|
|
14430
14456
|
(stage) => stage.id === "addons" || stage.id === "usage"
|
|
14431
14457
|
)) {
|
|
14432
14458
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(NoPaymentRequired, {});
|
|
@@ -14434,9 +14460,10 @@ var StageButton = ({
|
|
|
14434
14460
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14435
14461
|
EmbedButton,
|
|
14436
14462
|
{
|
|
14463
|
+
type: "button",
|
|
14437
14464
|
disabled: !canUpdateSubscription,
|
|
14438
14465
|
onClick: async () => {
|
|
14439
|
-
setCheckoutStage(
|
|
14466
|
+
setCheckoutStage?.(
|
|
14440
14467
|
hasPayInAdvanceEntitlements ? "usage" : hasAddOns ? "addons" : "checkout"
|
|
14441
14468
|
);
|
|
14442
14469
|
},
|
|
@@ -14467,9 +14494,10 @@ var StageButton = ({
|
|
|
14467
14494
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14468
14495
|
EmbedButton,
|
|
14469
14496
|
{
|
|
14497
|
+
type: "button",
|
|
14470
14498
|
disabled: !canUpdateSubscription,
|
|
14471
14499
|
onClick: async () => {
|
|
14472
|
-
setCheckoutStage(hasAddOns ? "addons" : "checkout");
|
|
14500
|
+
setCheckoutStage?.(hasAddOns ? "addons" : "checkout");
|
|
14473
14501
|
},
|
|
14474
14502
|
isLoading,
|
|
14475
14503
|
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -14497,9 +14525,10 @@ var StageButton = ({
|
|
|
14497
14525
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14498
14526
|
EmbedButton,
|
|
14499
14527
|
{
|
|
14528
|
+
type: "button",
|
|
14500
14529
|
disabled: !canUpdateSubscription,
|
|
14501
14530
|
onClick: async () => {
|
|
14502
|
-
setCheckoutStage("checkout");
|
|
14531
|
+
setCheckoutStage?.("checkout");
|
|
14503
14532
|
},
|
|
14504
14533
|
isLoading,
|
|
14505
14534
|
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -14527,6 +14556,7 @@ var StageButton = ({
|
|
|
14527
14556
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14528
14557
|
EmbedButton,
|
|
14529
14558
|
{
|
|
14559
|
+
type: "button",
|
|
14530
14560
|
disabled: isLoading || !canCheckout,
|
|
14531
14561
|
onClick: checkout,
|
|
14532
14562
|
isLoading,
|
|
@@ -14539,33 +14569,49 @@ var StageButton = ({
|
|
|
14539
14569
|
// src/components/shared/sidebar/Sidebar.tsx
|
|
14540
14570
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
14541
14571
|
var Sidebar = ({
|
|
14572
|
+
planPeriod,
|
|
14573
|
+
selectedPlan,
|
|
14542
14574
|
addOns,
|
|
14575
|
+
usageBasedEntitlements,
|
|
14543
14576
|
charges,
|
|
14544
14577
|
checkoutRef,
|
|
14545
14578
|
checkoutStage,
|
|
14546
14579
|
checkoutStages,
|
|
14547
|
-
currentAddOns,
|
|
14548
|
-
currentUsageBasedEntitlements,
|
|
14549
14580
|
error,
|
|
14550
|
-
currentPlan,
|
|
14551
14581
|
isLoading,
|
|
14552
14582
|
paymentMethodId,
|
|
14553
|
-
planPeriod,
|
|
14554
14583
|
promoCode,
|
|
14555
14584
|
requiresPayment,
|
|
14556
|
-
selectedPlan,
|
|
14557
14585
|
setCheckoutStage,
|
|
14558
14586
|
setError,
|
|
14587
|
+
setIsLoading,
|
|
14559
14588
|
showPaymentForm,
|
|
14560
|
-
toggleLoading,
|
|
14561
14589
|
updatePromoCode,
|
|
14562
|
-
usageBasedEntitlements,
|
|
14563
14590
|
showHeader = true
|
|
14564
14591
|
}) => {
|
|
14565
14592
|
const { t: t2 } = useTranslation();
|
|
14566
14593
|
const theme = nt();
|
|
14567
|
-
const { api, data, mode, layout, setLayout } = useEmbed();
|
|
14594
|
+
const { api, data, mode, layout, hydrate, setLayout } = useEmbed();
|
|
14568
14595
|
const isLightBackground = useIsLightBackground();
|
|
14596
|
+
const currentPlan = data.company?.plan;
|
|
14597
|
+
const currentAddOns = data.company?.addOns || [];
|
|
14598
|
+
const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
|
|
14599
|
+
(acc, usageData) => {
|
|
14600
|
+
const featureUsage = data.featureUsage?.features.find(
|
|
14601
|
+
(usage2) => usage2.feature?.id === usageData.featureId
|
|
14602
|
+
);
|
|
14603
|
+
const allocation = featureUsage?.allocation || 0;
|
|
14604
|
+
const usage = featureUsage?.usage || 0;
|
|
14605
|
+
acc.push({
|
|
14606
|
+
usageData,
|
|
14607
|
+
allocation,
|
|
14608
|
+
quantity: allocation ?? usage,
|
|
14609
|
+
usage
|
|
14610
|
+
});
|
|
14611
|
+
return acc;
|
|
14612
|
+
},
|
|
14613
|
+
[]
|
|
14614
|
+
);
|
|
14569
14615
|
const payInAdvanceEntitlements = usageBasedEntitlements.filter(
|
|
14570
14616
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
14571
14617
|
);
|
|
@@ -14573,15 +14619,17 @@ var Sidebar = ({
|
|
|
14573
14619
|
({ entitlement }) => entitlement.priceBehavior === "pay_as_you_go"
|
|
14574
14620
|
);
|
|
14575
14621
|
const subscriptionPrice = (0, import_react21.useMemo)(() => {
|
|
14576
|
-
const plan = selectedPlan || currentPlan;
|
|
14577
|
-
if (!plan || !plan.monthlyPrice || !plan.yearlyPrice) {
|
|
14578
|
-
return;
|
|
14579
|
-
}
|
|
14580
14622
|
let total = 0;
|
|
14581
|
-
|
|
14582
|
-
|
|
14583
|
-
if (
|
|
14584
|
-
|
|
14623
|
+
let planPrice;
|
|
14624
|
+
let currency;
|
|
14625
|
+
if (selectedPlan) {
|
|
14626
|
+
planPrice = planPeriod === "month" ? selectedPlan.monthlyPrice?.price : selectedPlan.yearlyPrice?.price;
|
|
14627
|
+
currency = planPeriod === "month" ? selectedPlan.monthlyPrice?.currency : selectedPlan.yearlyPrice?.currency;
|
|
14628
|
+
if (planPrice) {
|
|
14629
|
+
total += planPrice;
|
|
14630
|
+
}
|
|
14631
|
+
} else if (typeof currentPlan?.planPrice === "number") {
|
|
14632
|
+
planPrice = currentPlan.planPrice;
|
|
14585
14633
|
}
|
|
14586
14634
|
const addOnCost = addOns.reduce(
|
|
14587
14635
|
(sum, addOn) => sum + (addOn.isSelected ? (planPeriod === "month" ? addOn.monthlyPrice : addOn.yearlyPrice)?.price ?? 0 : 0),
|
|
@@ -14612,7 +14660,7 @@ var Sidebar = ({
|
|
|
14612
14660
|
}
|
|
14613
14661
|
try {
|
|
14614
14662
|
setError(void 0);
|
|
14615
|
-
|
|
14663
|
+
setIsLoading(true);
|
|
14616
14664
|
await api.checkout({
|
|
14617
14665
|
changeSubscriptionRequestBody: {
|
|
14618
14666
|
newPlanId: selectedPlan.id,
|
|
@@ -14646,24 +14694,28 @@ var Sidebar = ({
|
|
|
14646
14694
|
...promoCode && { promoCode }
|
|
14647
14695
|
}
|
|
14648
14696
|
});
|
|
14649
|
-
|
|
14697
|
+
setIsLoading(false);
|
|
14698
|
+
setLayout("portal");
|
|
14699
|
+
hydrate();
|
|
14650
14700
|
} catch {
|
|
14701
|
+
setLayout("checkout");
|
|
14651
14702
|
setError(
|
|
14652
14703
|
t2("Error processing payment. Please try a different payment method.")
|
|
14653
14704
|
);
|
|
14654
14705
|
} finally {
|
|
14655
|
-
|
|
14706
|
+
setIsLoading(false);
|
|
14656
14707
|
}
|
|
14657
14708
|
}, [
|
|
14658
14709
|
t2,
|
|
14659
14710
|
api,
|
|
14711
|
+
hydrate,
|
|
14660
14712
|
paymentMethodId,
|
|
14661
14713
|
planPeriod,
|
|
14662
14714
|
selectedPlan,
|
|
14663
14715
|
addOns,
|
|
14664
14716
|
setError,
|
|
14717
|
+
setIsLoading,
|
|
14665
14718
|
setLayout,
|
|
14666
|
-
toggleLoading,
|
|
14667
14719
|
payInAdvanceEntitlements,
|
|
14668
14720
|
promoCode
|
|
14669
14721
|
]);
|
|
@@ -14673,15 +14725,17 @@ var Sidebar = ({
|
|
|
14673
14725
|
}
|
|
14674
14726
|
try {
|
|
14675
14727
|
setError(void 0);
|
|
14676
|
-
|
|
14728
|
+
setIsLoading(true);
|
|
14677
14729
|
await api.checkoutUnsubscribe();
|
|
14678
|
-
|
|
14730
|
+
setLayout("portal");
|
|
14731
|
+
hydrate();
|
|
14679
14732
|
} catch {
|
|
14733
|
+
setLayout("unsubscribe");
|
|
14680
14734
|
setError(t2("Unsubscribe failed"));
|
|
14681
14735
|
} finally {
|
|
14682
|
-
|
|
14736
|
+
setIsLoading(false);
|
|
14683
14737
|
}
|
|
14684
|
-
}, [api, setError,
|
|
14738
|
+
}, [t2, api, hydrate, setError, setIsLoading, setLayout]);
|
|
14685
14739
|
const selectedAddOns = addOns.filter((addOn) => addOn.isSelected);
|
|
14686
14740
|
const willPlanChange = typeof selectedPlan !== "undefined" && !selectedPlan.current;
|
|
14687
14741
|
const canUpdateSubscription = mode === "edit" || api !== null && (willPlanChange || // TODO: test add-on comparison for finding "changes"
|
|
@@ -14718,12 +14772,12 @@ var Sidebar = ({
|
|
|
14718
14772
|
(acc, current) => {
|
|
14719
14773
|
const match2 = usageBasedEntitlements.every(
|
|
14720
14774
|
({ entitlement }) => entitlement.featureId !== current.usageData.featureId
|
|
14721
|
-
) &&
|
|
14722
|
-
(
|
|
14775
|
+
) && data.featureUsage?.features.find(
|
|
14776
|
+
(usage) => usage.feature?.id === current.usageData.featureId
|
|
14723
14777
|
);
|
|
14724
14778
|
if (match2) {
|
|
14725
14779
|
acc.push({
|
|
14726
|
-
|
|
14780
|
+
usage: match2,
|
|
14727
14781
|
allocation: current.allocation,
|
|
14728
14782
|
quantity: current.quantity
|
|
14729
14783
|
});
|
|
@@ -14933,9 +14987,9 @@ var Sidebar = ({
|
|
|
14933
14987
|
}
|
|
14934
14988
|
) }),
|
|
14935
14989
|
removedUsageBasedEntitlements.reduce(
|
|
14936
|
-
(acc, { allocation, quantity,
|
|
14937
|
-
if (typeof allocation === "number" &&
|
|
14938
|
-
const price = (planPeriod === "month" ?
|
|
14990
|
+
(acc, { allocation, quantity, usage }) => {
|
|
14991
|
+
if (typeof allocation === "number" && usage.feature?.name) {
|
|
14992
|
+
const price = (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.price;
|
|
14939
14993
|
acc.push(
|
|
14940
14994
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
14941
14995
|
Flex,
|
|
@@ -14954,11 +15008,11 @@ var Sidebar = ({
|
|
|
14954
15008
|
$size: theme.typography.heading4.fontSize,
|
|
14955
15009
|
$weight: theme.typography.heading4.fontWeight,
|
|
14956
15010
|
$color: theme.typography.heading4.color,
|
|
14957
|
-
children:
|
|
15011
|
+
children: usage.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
14958
15012
|
quantity,
|
|
14959
15013
|
" ",
|
|
14960
|
-
(0, import_pluralize.default)(
|
|
14961
|
-
] }) :
|
|
15014
|
+
(0, import_pluralize.default)(usage.feature.name, quantity)
|
|
15015
|
+
] }) : usage.feature.name
|
|
14962
15016
|
}
|
|
14963
15017
|
) }),
|
|
14964
15018
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
@@ -14969,25 +15023,25 @@ var Sidebar = ({
|
|
|
14969
15023
|
$weight: theme.typography.text.fontWeight,
|
|
14970
15024
|
$color: theme.typography.text.color,
|
|
14971
15025
|
children: [
|
|
14972
|
-
|
|
15026
|
+
usage.priceBehavior === "pay_in_advance" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
14973
15027
|
formatCurrency(
|
|
14974
15028
|
price * quantity,
|
|
14975
|
-
(planPeriod === "month" ?
|
|
15029
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14976
15030
|
),
|
|
14977
15031
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("sub", { children: [
|
|
14978
15032
|
"/",
|
|
14979
15033
|
shortenPeriod(planPeriod)
|
|
14980
15034
|
] })
|
|
14981
15035
|
] }),
|
|
14982
|
-
|
|
15036
|
+
usage.priceBehavior === "pay_as_you_go" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
14983
15037
|
formatCurrency(
|
|
14984
15038
|
price,
|
|
14985
|
-
(planPeriod === "month" ?
|
|
15039
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14986
15040
|
),
|
|
14987
15041
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("sub", { children: [
|
|
14988
15042
|
"/",
|
|
14989
15043
|
(0, import_pluralize.default)(
|
|
14990
|
-
|
|
15044
|
+
usage.feature.name.toLowerCase(),
|
|
14991
15045
|
1
|
|
14992
15046
|
)
|
|
14993
15047
|
] })
|
|
@@ -14997,7 +15051,7 @@ var Sidebar = ({
|
|
|
14997
15051
|
) })
|
|
14998
15052
|
]
|
|
14999
15053
|
},
|
|
15000
|
-
|
|
15054
|
+
usage.entitlementId
|
|
15001
15055
|
)
|
|
15002
15056
|
);
|
|
15003
15057
|
}
|
|
@@ -15332,7 +15386,7 @@ var Sidebar = ({
|
|
|
15332
15386
|
children: proration > 0 ? t2("Proration") : !selectedPlan?.companyCanTrial && t2("Credits")
|
|
15333
15387
|
}
|
|
15334
15388
|
) }),
|
|
15335
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan
|
|
15389
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
15336
15390
|
Flex,
|
|
15337
15391
|
{
|
|
15338
15392
|
$justifyContent: "space-between",
|
|
@@ -15420,7 +15474,7 @@ var Sidebar = ({
|
|
|
15420
15474
|
{
|
|
15421
15475
|
$cursor: "pointer",
|
|
15422
15476
|
onClick: () => {
|
|
15423
|
-
updatePromoCode(void 0);
|
|
15477
|
+
updatePromoCode?.(void 0);
|
|
15424
15478
|
},
|
|
15425
15479
|
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15426
15480
|
Icon2,
|
|
@@ -15839,15 +15893,7 @@ var Plan = ({
|
|
|
15839
15893
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
15840
15894
|
children: [
|
|
15841
15895
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
15842
|
-
plan.entitlements.
|
|
15843
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
15844
|
-
return 1;
|
|
15845
|
-
}
|
|
15846
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
15847
|
-
return -1;
|
|
15848
|
-
}
|
|
15849
|
-
return 0;
|
|
15850
|
-
}).reduce((acc, entitlement) => {
|
|
15896
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
15851
15897
|
const hasNumericValue = entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait";
|
|
15852
15898
|
let metricPeriodText;
|
|
15853
15899
|
if (hasNumericValue && entitlement.metricPeriod) {
|
|
@@ -15993,7 +16039,8 @@ var Plan = ({
|
|
|
15993
16039
|
) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
15994
16040
|
EmbedButton,
|
|
15995
16041
|
{
|
|
15996
|
-
|
|
16042
|
+
type: "button",
|
|
16043
|
+
disabled: (isLoading || !plan.valid) && !plan.custom,
|
|
15997
16044
|
...{
|
|
15998
16045
|
onClick: () => {
|
|
15999
16046
|
if (plan.custom) {
|
|
@@ -16130,6 +16177,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16130
16177
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Flex, { $flexDirection: "column", $justifyContent: "end", $flexGrow: "1", children: !addOn.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
16131
16178
|
EmbedButton,
|
|
16132
16179
|
{
|
|
16180
|
+
type: "button",
|
|
16133
16181
|
disabled: isLoading || !addOn.valid,
|
|
16134
16182
|
onClick: () => toggle(addOn.id),
|
|
16135
16183
|
$size: "sm",
|
|
@@ -16140,6 +16188,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16140
16188
|
) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
16141
16189
|
EmbedButton,
|
|
16142
16190
|
{
|
|
16191
|
+
type: "button",
|
|
16143
16192
|
disabled: isLoading || !addOn.valid,
|
|
16144
16193
|
onClick: () => toggle(addOn.id),
|
|
16145
16194
|
$size: "sm",
|
|
@@ -16178,15 +16227,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16178
16227
|
const cardPadding = theme.card.padding / TEXT_BASE_SIZE;
|
|
16179
16228
|
const unitPriceFontSize = 0.875 * theme.typography.text.fontSize;
|
|
16180
16229
|
const unitPriceColor = hexToHSL(theme.typography.text.color).l > 50 ? darken(theme.typography.text.color, 0.46) : lighten(theme.typography.text.color, 0.46);
|
|
16181
|
-
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.
|
|
16182
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name > b2.entitlement.feature?.name) {
|
|
16183
|
-
return 1;
|
|
16184
|
-
}
|
|
16185
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name < b2.entitlement.feature?.name) {
|
|
16186
|
-
return -1;
|
|
16187
|
-
}
|
|
16188
|
-
return 0;
|
|
16189
|
-
}).reduce(
|
|
16230
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.reduce(
|
|
16190
16231
|
(acc, { entitlement, quantity, usage }) => {
|
|
16191
16232
|
if (entitlement.priceBehavior === "pay_in_advance" && entitlement.feature) {
|
|
16192
16233
|
acc.push(
|
|
@@ -16319,10 +16360,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16319
16360
|
),
|
|
16320
16361
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("sub", { children: [
|
|
16321
16362
|
"/",
|
|
16322
|
-
(0, import_pluralize3.default)(
|
|
16323
|
-
entitlement.feature.name.toLowerCase(),
|
|
16324
|
-
1
|
|
16325
|
-
),
|
|
16363
|
+
(0, import_pluralize3.default)(entitlement.feature.name.toLowerCase(), 1),
|
|
16326
16364
|
"/",
|
|
16327
16365
|
shortenPeriod(period)
|
|
16328
16366
|
] })
|
|
@@ -16384,7 +16422,7 @@ var registerWrapper = function registerWrapper2(stripe, startTime) {
|
|
|
16384
16422
|
}
|
|
16385
16423
|
stripe._registerWrapper({
|
|
16386
16424
|
name: "stripe-js",
|
|
16387
|
-
version: "5.
|
|
16425
|
+
version: "5.9.1",
|
|
16388
16426
|
startTime
|
|
16389
16427
|
});
|
|
16390
16428
|
};
|
|
@@ -16392,8 +16430,10 @@ var stripePromise$1 = null;
|
|
|
16392
16430
|
var onErrorListener = null;
|
|
16393
16431
|
var onLoadListener = null;
|
|
16394
16432
|
var onError = function onError2(reject) {
|
|
16395
|
-
return function() {
|
|
16396
|
-
reject(new Error("Failed to load Stripe.js"
|
|
16433
|
+
return function(cause) {
|
|
16434
|
+
reject(new Error("Failed to load Stripe.js", {
|
|
16435
|
+
cause
|
|
16436
|
+
}));
|
|
16397
16437
|
};
|
|
16398
16438
|
};
|
|
16399
16439
|
var onLoad = function onLoad2(resolve, reject) {
|
|
@@ -16687,30 +16727,14 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16687
16727
|
(plan) => selected.planId ? plan.id === selected.planId : plan.current
|
|
16688
16728
|
)
|
|
16689
16729
|
);
|
|
16690
|
-
const currentAddOns = data.company?.addOns || [];
|
|
16691
16730
|
const [addOns, setAddOns] = (0, import_react24.useState)(
|
|
16692
16731
|
() => availableAddOns.map((addOn) => ({
|
|
16693
16732
|
...addOn,
|
|
16694
|
-
isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId :
|
|
16733
|
+
isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId : (data.company?.addOns || []).some(
|
|
16734
|
+
(currentAddOn) => addOn.id === currentAddOn.id
|
|
16735
|
+
)
|
|
16695
16736
|
}))
|
|
16696
16737
|
);
|
|
16697
|
-
const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
|
|
16698
|
-
(acc, usageData) => {
|
|
16699
|
-
const featureUsage = data.featureUsage?.features.find(
|
|
16700
|
-
(usage2) => usage2.feature?.id === usageData.featureId
|
|
16701
|
-
);
|
|
16702
|
-
const allocation = featureUsage?.allocation || 0;
|
|
16703
|
-
const usage = featureUsage?.usage || 0;
|
|
16704
|
-
acc.push({
|
|
16705
|
-
usageData,
|
|
16706
|
-
allocation,
|
|
16707
|
-
quantity: allocation ?? usage,
|
|
16708
|
-
usage
|
|
16709
|
-
});
|
|
16710
|
-
return acc;
|
|
16711
|
-
},
|
|
16712
|
-
[]
|
|
16713
|
-
);
|
|
16714
16738
|
const createActiveUsageBasedEntitlementsReducer = (0, import_react24.useCallback)(
|
|
16715
16739
|
(period = planPeriod) => (acc, entitlement) => {
|
|
16716
16740
|
if (entitlement.priceBehavior && (period === "month" && entitlement.meteredMonthlyPrice || period === "year" && entitlement.meteredYearlyPrice)) {
|
|
@@ -16736,12 +16760,6 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16736
16760
|
[]
|
|
16737
16761
|
)
|
|
16738
16762
|
);
|
|
16739
|
-
const currentPlan = (0, import_react24.useMemo)(
|
|
16740
|
-
() => availablePlans.find(
|
|
16741
|
-
(plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
|
|
16742
|
-
),
|
|
16743
|
-
[data.company?.plan, planPeriod, availablePlans]
|
|
16744
|
-
);
|
|
16745
16763
|
const payInAdvanceEntitlements = (0, import_react24.useMemo)(
|
|
16746
16764
|
() => usageBasedEntitlements.filter(
|
|
16747
16765
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
@@ -16798,7 +16816,7 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16798
16816
|
if (selected.usage) {
|
|
16799
16817
|
return "usage";
|
|
16800
16818
|
}
|
|
16801
|
-
if (selected.planId !==
|
|
16819
|
+
if (selected.planId !== data.company?.plan?.id) {
|
|
16802
16820
|
return checkoutStages.some((stage) => stage.id === "usage") ? "usage" : checkoutStages.some((stage) => stage.id === "addons") ? "addons" : "plan";
|
|
16803
16821
|
}
|
|
16804
16822
|
return "plan";
|
|
@@ -17143,27 +17161,24 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
17143
17161
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
17144
17162
|
Sidebar,
|
|
17145
17163
|
{
|
|
17164
|
+
planPeriod,
|
|
17165
|
+
selectedPlan,
|
|
17146
17166
|
addOns,
|
|
17167
|
+
usageBasedEntitlements,
|
|
17147
17168
|
charges,
|
|
17148
17169
|
checkoutRef,
|
|
17149
17170
|
checkoutStage,
|
|
17150
17171
|
checkoutStages,
|
|
17151
|
-
currentAddOns,
|
|
17152
|
-
currentUsageBasedEntitlements,
|
|
17153
17172
|
error,
|
|
17154
|
-
currentPlan,
|
|
17155
17173
|
isLoading,
|
|
17156
17174
|
paymentMethodId,
|
|
17157
|
-
planPeriod,
|
|
17158
17175
|
promoCode,
|
|
17159
17176
|
requiresPayment,
|
|
17160
|
-
selectedPlan,
|
|
17161
17177
|
setCheckoutStage: (stage) => setCheckoutStage(stage),
|
|
17162
17178
|
setError: (msg) => setError(msg),
|
|
17179
|
+
setIsLoading,
|
|
17163
17180
|
showPaymentForm,
|
|
17164
|
-
|
|
17165
|
-
updatePromoCode: (code) => updatePromoCode(code),
|
|
17166
|
-
usageBasedEntitlements
|
|
17181
|
+
updatePromoCode: (code) => updatePromoCode(code)
|
|
17167
17182
|
}
|
|
17168
17183
|
)
|
|
17169
17184
|
]
|
|
@@ -17364,65 +17379,45 @@ var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
|
17364
17379
|
var UnsubscribeDialog = () => {
|
|
17365
17380
|
const { t: t2 } = useTranslation();
|
|
17366
17381
|
const theme = nt();
|
|
17367
|
-
const { data, setSelected } = useEmbed();
|
|
17382
|
+
const { data, setLayout, setSelected } = useEmbed();
|
|
17368
17383
|
const [error, setError] = (0, import_react27.useState)();
|
|
17369
17384
|
const [isLoading, setIsLoading] = (0, import_react27.useState)(false);
|
|
17370
17385
|
const planPeriod = (0, import_react27.useMemo)(
|
|
17371
17386
|
() => data.company?.plan?.planPeriod ?? "month",
|
|
17372
17387
|
[data.company?.plan?.planPeriod]
|
|
17373
17388
|
);
|
|
17374
|
-
const {
|
|
17375
|
-
const
|
|
17376
|
-
() => (
|
|
17377
|
-
|
|
17378
|
-
|
|
17379
|
-
|
|
17380
|
-
}),
|
|
17381
|
-
[data.company?.plan]
|
|
17382
|
-
);
|
|
17383
|
-
const currentAddOns = (0, import_react27.useMemo)(
|
|
17384
|
-
() => data.company?.addOns || [],
|
|
17385
|
-
[data.company?.addOns]
|
|
17386
|
-
);
|
|
17387
|
-
const addOns = (0, import_react27.useMemo)(
|
|
17388
|
-
() => currentAddOns.map((addOn) => ({
|
|
17389
|
-
...addOn,
|
|
17390
|
-
isSelected: true,
|
|
17391
|
-
monthlyPrice: {
|
|
17392
|
-
price: addOn.planPrice
|
|
17393
|
-
},
|
|
17394
|
-
yearlyPrice: {
|
|
17395
|
-
price: addOn.planPrice
|
|
17396
|
-
}
|
|
17397
|
-
})),
|
|
17398
|
-
[currentAddOns]
|
|
17389
|
+
const { plans: availablePlans, addOns: availableAddOns } = useAvailablePlans(planPeriod);
|
|
17390
|
+
const selectedPlan = (0, import_react27.useMemo)(
|
|
17391
|
+
() => availablePlans.find(
|
|
17392
|
+
(plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
|
|
17393
|
+
),
|
|
17394
|
+
[data.company?.plan, planPeriod, availablePlans]
|
|
17399
17395
|
);
|
|
17400
|
-
const
|
|
17401
|
-
() =>
|
|
17402
|
-
(
|
|
17396
|
+
const usageBasedEntitlements = (selectedPlan?.entitlements || []).reduce(
|
|
17397
|
+
(acc, entitlement) => {
|
|
17398
|
+
if (entitlement.priceBehavior && (planPeriod === "month" && entitlement.meteredMonthlyPrice || planPeriod === "year" && entitlement.meteredYearlyPrice)) {
|
|
17403
17399
|
const featureUsage = data.featureUsage?.features.find(
|
|
17404
|
-
(usage2) => usage2.feature?.id ===
|
|
17400
|
+
(usage2) => usage2.feature?.id === entitlement.feature?.id
|
|
17405
17401
|
);
|
|
17406
17402
|
const allocation = featureUsage?.allocation ?? 0;
|
|
17407
17403
|
const usage = featureUsage?.usage ?? 0;
|
|
17408
17404
|
acc.push({
|
|
17409
|
-
entitlement
|
|
17410
|
-
...usageData,
|
|
17411
|
-
id: featureUsage?.entitlementId ?? usageData.featureId,
|
|
17412
|
-
feature: featureUsage?.feature,
|
|
17413
|
-
meteredMonthlyPrice: usageData.meteredPrice,
|
|
17414
|
-
meteredYearlyPrice: usageData.meteredPrice
|
|
17415
|
-
},
|
|
17416
|
-
usageData,
|
|
17405
|
+
entitlement,
|
|
17417
17406
|
allocation,
|
|
17418
|
-
quantity: allocation
|
|
17407
|
+
quantity: allocation,
|
|
17419
17408
|
usage
|
|
17420
17409
|
});
|
|
17421
|
-
|
|
17422
|
-
|
|
17423
|
-
|
|
17424
|
-
|
|
17425
|
-
|
|
17410
|
+
}
|
|
17411
|
+
return acc;
|
|
17412
|
+
},
|
|
17413
|
+
[]
|
|
17414
|
+
);
|
|
17415
|
+
const addOns = (0, import_react27.useMemo)(
|
|
17416
|
+
() => availableAddOns.map((available) => ({
|
|
17417
|
+
...available,
|
|
17418
|
+
isSelected: data.company?.addOns.some((current) => available.id === current.id) ?? false
|
|
17419
|
+
})),
|
|
17420
|
+
[data.company?.addOns, availableAddOns]
|
|
17426
17421
|
);
|
|
17427
17422
|
const cancelDate = new Date(
|
|
17428
17423
|
data.subscription?.cancelAt || data.upcomingInvoice?.dueDate || Date.now()
|
|
@@ -17525,7 +17520,7 @@ var UnsubscribeDialog = () => {
|
|
|
17525
17520
|
{
|
|
17526
17521
|
onClick: () => {
|
|
17527
17522
|
setSelected({
|
|
17528
|
-
planId:
|
|
17523
|
+
planId: data.company?.plan?.id,
|
|
17529
17524
|
addOnId: void 0,
|
|
17530
17525
|
usage: false
|
|
17531
17526
|
});
|
|
@@ -17545,25 +17540,16 @@ var UnsubscribeDialog = () => {
|
|
|
17545
17540
|
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
17546
17541
|
Sidebar,
|
|
17547
17542
|
{
|
|
17543
|
+
planPeriod,
|
|
17548
17544
|
addOns,
|
|
17549
|
-
|
|
17550
|
-
checkoutStages: [],
|
|
17551
|
-
currentAddOns,
|
|
17552
|
-
currentUsageBasedEntitlements,
|
|
17545
|
+
usageBasedEntitlements,
|
|
17553
17546
|
error,
|
|
17554
|
-
currentPlan,
|
|
17555
17547
|
isLoading,
|
|
17556
|
-
|
|
17548
|
+
showHeader: false,
|
|
17549
|
+
showPaymentForm: false,
|
|
17557
17550
|
requiresPayment: false,
|
|
17558
|
-
setCheckoutStage: () => {
|
|
17559
|
-
},
|
|
17560
17551
|
setError: (msg) => setError(msg),
|
|
17561
|
-
|
|
17562
|
-
toggleLoading: () => setIsLoading((prev2) => !prev2),
|
|
17563
|
-
updatePromoCode: () => {
|
|
17564
|
-
},
|
|
17565
|
-
usageBasedEntitlements: currentUsageBasedEntitlements,
|
|
17566
|
-
showHeader: false
|
|
17552
|
+
setIsLoading
|
|
17567
17553
|
}
|
|
17568
17554
|
)
|
|
17569
17555
|
]
|
|
@@ -17679,7 +17665,6 @@ var Badge = () => {
|
|
|
17679
17665
|
};
|
|
17680
17666
|
|
|
17681
17667
|
// src/components/layout/RenderLayout.tsx
|
|
17682
|
-
var import_react28 = require("react");
|
|
17683
17668
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
17684
17669
|
var Disabled = () => {
|
|
17685
17670
|
const theme = nt();
|
|
@@ -17718,71 +17703,11 @@ var Disabled = () => {
|
|
|
17718
17703
|
}
|
|
17719
17704
|
) }) });
|
|
17720
17705
|
};
|
|
17721
|
-
var Success = () => {
|
|
17722
|
-
const theme = nt();
|
|
17723
|
-
const { hydrate, data, api, setLayout, isPending } = useEmbed();
|
|
17724
|
-
const [isOpen, setIsOpen] = (0, import_react28.useState)(true);
|
|
17725
|
-
(0, import_react28.useEffect)(() => {
|
|
17726
|
-
if (api && data.component?.id) {
|
|
17727
|
-
hydrate();
|
|
17728
|
-
setTimeout(() => setIsOpen(false), 2e3);
|
|
17729
|
-
}
|
|
17730
|
-
}, [api, data.component?.id, hydrate]);
|
|
17731
|
-
(0, import_react28.useEffect)(() => {
|
|
17732
|
-
if (!isPending && !isOpen) {
|
|
17733
|
-
setLayout("portal");
|
|
17734
|
-
}
|
|
17735
|
-
}, [isPending, isOpen, setLayout]);
|
|
17736
|
-
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $width: "max-content", $height: "max-content", $margin: "0 auto", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
17737
|
-
Element,
|
|
17738
|
-
{
|
|
17739
|
-
as: Flex,
|
|
17740
|
-
$flexDirection: "column",
|
|
17741
|
-
$justifyContent: "center",
|
|
17742
|
-
$alignItems: "center",
|
|
17743
|
-
$whiteSpace: "nowrap",
|
|
17744
|
-
children: [
|
|
17745
|
-
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $marginBottom: "1.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
17746
|
-
IconRound,
|
|
17747
|
-
{
|
|
17748
|
-
name: "check",
|
|
17749
|
-
size: "3xl",
|
|
17750
|
-
colors: [theme.card.background, theme.primary]
|
|
17751
|
-
}
|
|
17752
|
-
) }),
|
|
17753
|
-
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
17754
|
-
Text,
|
|
17755
|
-
{
|
|
17756
|
-
as: "h1",
|
|
17757
|
-
$font: theme.typography.heading1.fontFamily,
|
|
17758
|
-
$size: theme.typography.heading1.fontSize,
|
|
17759
|
-
$weight: theme.typography.heading1.fontWeight,
|
|
17760
|
-
$color: theme.typography.heading1.color,
|
|
17761
|
-
children: "Subscription updated!"
|
|
17762
|
-
}
|
|
17763
|
-
) }),
|
|
17764
|
-
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
17765
|
-
Text,
|
|
17766
|
-
{
|
|
17767
|
-
as: "p",
|
|
17768
|
-
$font: theme.typography.text.fontFamily,
|
|
17769
|
-
$size: theme.typography.text.fontSize,
|
|
17770
|
-
$weight: theme.typography.text.fontWeight,
|
|
17771
|
-
$color: theme.typography.text.color,
|
|
17772
|
-
children: "Loading\u2026"
|
|
17773
|
-
}
|
|
17774
|
-
)
|
|
17775
|
-
]
|
|
17776
|
-
}
|
|
17777
|
-
) }) });
|
|
17778
|
-
};
|
|
17779
17706
|
var RenderLayout = ({ children }) => {
|
|
17780
17707
|
const { layout } = useEmbed();
|
|
17781
17708
|
switch (layout) {
|
|
17782
17709
|
case "disabled":
|
|
17783
17710
|
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Disabled, {});
|
|
17784
|
-
case "success":
|
|
17785
|
-
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Success, {});
|
|
17786
17711
|
default:
|
|
17787
17712
|
return children;
|
|
17788
17713
|
}
|
|
@@ -17808,12 +17733,12 @@ var StyledViewport = dt(Box).attrs(({ theme }) => ({
|
|
|
17808
17733
|
|
|
17809
17734
|
// src/components/layout/viewport/Viewport.tsx
|
|
17810
17735
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
17811
|
-
var Viewport = (0,
|
|
17736
|
+
var Viewport = (0, import_react28.forwardRef)(
|
|
17812
17737
|
({ children, portal, ...props }, ref) => {
|
|
17813
17738
|
const { data, layout } = useEmbed();
|
|
17814
|
-
const [top, setTop] = (0,
|
|
17739
|
+
const [top, setTop] = (0, import_react28.useState)(0);
|
|
17815
17740
|
const canCheckout = data.capabilities?.checkout ?? true;
|
|
17816
|
-
(0,
|
|
17741
|
+
(0, import_react28.useLayoutEffect)(() => {
|
|
17817
17742
|
if (layout !== "checkout" && layout !== "unsubscribe") {
|
|
17818
17743
|
return;
|
|
17819
17744
|
}
|
|
@@ -17840,10 +17765,10 @@ var Viewport = (0, import_react29.forwardRef)(
|
|
|
17840
17765
|
Viewport.displayName = "Viewport";
|
|
17841
17766
|
|
|
17842
17767
|
// src/components/layout/column/Column.tsx
|
|
17843
|
-
var
|
|
17768
|
+
var import_react30 = require("react");
|
|
17844
17769
|
|
|
17845
17770
|
// src/components/layout/card/Card.tsx
|
|
17846
|
-
var
|
|
17771
|
+
var import_react29 = require("react");
|
|
17847
17772
|
|
|
17848
17773
|
// src/components/layout/card/styles.ts
|
|
17849
17774
|
var Element = dt(Box)``;
|
|
@@ -17854,8 +17779,9 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17854
17779
|
const borderColor = l2 > 50 ? "hsla(0, 0%, 0%, 0.1)" : "hsla(0, 0%, 100%, 0.2)";
|
|
17855
17780
|
const borderRadius = `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`;
|
|
17856
17781
|
return lt`
|
|
17857
|
-
|
|
17782
|
+
position: relative;
|
|
17858
17783
|
box-sizing: border-box;
|
|
17784
|
+
font-size: ${TEXT_BASE_SIZE}px;
|
|
17859
17785
|
|
|
17860
17786
|
*,
|
|
17861
17787
|
*::before,
|
|
@@ -17887,9 +17813,30 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17887
17813
|
|
|
17888
17814
|
// src/components/layout/card/Card.tsx
|
|
17889
17815
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
17890
|
-
var Card = (0,
|
|
17816
|
+
var Card = (0, import_react29.forwardRef)(
|
|
17891
17817
|
({ children, className }, ref) => {
|
|
17892
|
-
|
|
17818
|
+
const { isPending } = useEmbed();
|
|
17819
|
+
const theme = nt();
|
|
17820
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(StyledCard, { ref, className, children: [
|
|
17821
|
+
isPending && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
17822
|
+
Flex,
|
|
17823
|
+
{
|
|
17824
|
+
$position: "absolute",
|
|
17825
|
+
$top: 0,
|
|
17826
|
+
$left: 0,
|
|
17827
|
+
$zIndex: 1,
|
|
17828
|
+
$width: "100%",
|
|
17829
|
+
$height: "100%",
|
|
17830
|
+
$justifyContent: "center",
|
|
17831
|
+
$alignItems: "center",
|
|
17832
|
+
$backgroundColor: hsla(theme.card.background, 0.8),
|
|
17833
|
+
$backdropFilter: "blur(8px)",
|
|
17834
|
+
$borderRadius: `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`,
|
|
17835
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Loader, { $color: theme.primary })
|
|
17836
|
+
}
|
|
17837
|
+
),
|
|
17838
|
+
children
|
|
17839
|
+
] });
|
|
17893
17840
|
}
|
|
17894
17841
|
);
|
|
17895
17842
|
Card.displayName = "Card";
|
|
@@ -17901,15 +17848,15 @@ var StyledColumn = dt.div`
|
|
|
17901
17848
|
|
|
17902
17849
|
// src/components/layout/column/Column.tsx
|
|
17903
17850
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
17904
|
-
var Column = (0,
|
|
17851
|
+
var Column = (0, import_react30.forwardRef)(
|
|
17905
17852
|
({ children, basis, ...props }, ref) => {
|
|
17906
|
-
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StyledColumn, { ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Card, { children }) });
|
|
17853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StyledColumn, { ref, ...props, children: import_react30.Children.count(children) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Card, { children }) : children });
|
|
17907
17854
|
}
|
|
17908
17855
|
);
|
|
17909
17856
|
Column.displayName = "Column";
|
|
17910
17857
|
|
|
17911
17858
|
// src/components/elements/included-features/Details.tsx
|
|
17912
|
-
var
|
|
17859
|
+
var import_react31 = require("react");
|
|
17913
17860
|
var import_pluralize4 = __toESM(require_pluralize());
|
|
17914
17861
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
17915
17862
|
var Details = ({
|
|
@@ -17929,7 +17876,7 @@ var Details = ({
|
|
|
17929
17876
|
const { t: t2 } = useTranslation();
|
|
17930
17877
|
const theme = nt();
|
|
17931
17878
|
const { data } = useEmbed();
|
|
17932
|
-
const currency = (0,
|
|
17879
|
+
const currency = (0, import_react31.useMemo)(() => {
|
|
17933
17880
|
if (data.company?.plan?.planPeriod === "month") {
|
|
17934
17881
|
return monthlyUsageBasedPrice?.currency;
|
|
17935
17882
|
}
|
|
@@ -17941,7 +17888,7 @@ var Details = ({
|
|
|
17941
17888
|
monthlyUsageBasedPrice,
|
|
17942
17889
|
yearlyUsageBasedPrice
|
|
17943
17890
|
]);
|
|
17944
|
-
const price = (0,
|
|
17891
|
+
const price = (0, import_react31.useMemo)(() => {
|
|
17945
17892
|
if (data.company?.plan?.planPeriod === "month") {
|
|
17946
17893
|
return monthlyUsageBasedPrice?.price;
|
|
17947
17894
|
}
|
|
@@ -17953,7 +17900,7 @@ var Details = ({
|
|
|
17953
17900
|
monthlyUsageBasedPrice,
|
|
17954
17901
|
yearlyUsageBasedPrice
|
|
17955
17902
|
]);
|
|
17956
|
-
const text = (0,
|
|
17903
|
+
const text = (0, import_react31.useMemo)(() => {
|
|
17957
17904
|
if (!feature?.name) {
|
|
17958
17905
|
return;
|
|
17959
17906
|
}
|
|
@@ -17969,8 +17916,8 @@ var Details = ({
|
|
|
17969
17916
|
if (!priceBehavior) {
|
|
17970
17917
|
return t2("Unlimited", { item: (0, import_pluralize4.default)(feature.name) });
|
|
17971
17918
|
}
|
|
17972
|
-
}, [allocation, feature?.name, price, priceBehavior,
|
|
17973
|
-
const usageText = (0,
|
|
17919
|
+
}, [t2, allocation, feature?.name, price, priceBehavior, currency]);
|
|
17920
|
+
const usageText = (0, import_react31.useMemo)(() => {
|
|
17974
17921
|
if (!feature?.name) {
|
|
17975
17922
|
return;
|
|
17976
17923
|
}
|
|
@@ -17999,12 +17946,12 @@ var Details = ({
|
|
|
17999
17946
|
});
|
|
18000
17947
|
}
|
|
18001
17948
|
}, [
|
|
17949
|
+
t2,
|
|
18002
17950
|
allocation,
|
|
18003
17951
|
data.company?.plan?.planPeriod,
|
|
18004
17952
|
feature?.name,
|
|
18005
17953
|
price,
|
|
18006
17954
|
priceBehavior,
|
|
18007
|
-
t2,
|
|
18008
17955
|
usage,
|
|
18009
17956
|
usageData,
|
|
18010
17957
|
currency
|
|
@@ -18076,42 +18023,24 @@ function resolveDesignProps(props) {
|
|
|
18076
18023
|
visibleFeatures: props.visibleFeatures
|
|
18077
18024
|
};
|
|
18078
18025
|
}
|
|
18079
|
-
var IncludedFeatures = (0,
|
|
18026
|
+
var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, ref) => {
|
|
18080
18027
|
const props = resolveDesignProps(rest);
|
|
18081
18028
|
const { t: t2 } = useTranslation();
|
|
18082
18029
|
const theme = nt();
|
|
18083
18030
|
const { data } = useEmbed();
|
|
18084
|
-
const elements = (0,
|
|
18031
|
+
const elements = (0, import_react32.useRef)([]);
|
|
18085
18032
|
const shouldWrapChildren = useWrapChildren(elements.current);
|
|
18086
18033
|
const isLightBackground = useIsLightBackground();
|
|
18087
|
-
const [showCount, setShowCount] = (0,
|
|
18088
|
-
const entitlements = (
|
|
18089
|
-
|
|
18090
|
-
return 1;
|
|
18091
|
-
}
|
|
18092
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
18093
|
-
return -1;
|
|
18094
|
-
}
|
|
18095
|
-
return 0;
|
|
18096
|
-
}).reduce((acc, usage) => {
|
|
18097
|
-
if (usage.feature?.id) {
|
|
18098
|
-
acc.push(usage.feature.id);
|
|
18099
|
-
}
|
|
18100
|
-
return acc;
|
|
18101
|
-
}, []) || []).reduce(
|
|
18102
|
-
(acc, id) => {
|
|
18103
|
-
const mappedFeatureUsage = data.featureUsage?.features.find(
|
|
18104
|
-
(usage) => usage.feature?.id === id
|
|
18105
|
-
);
|
|
18034
|
+
const [showCount, setShowCount] = (0, import_react32.useState)(VISIBLE_ENTITLEMENT_COUNT);
|
|
18035
|
+
const entitlements = (data.featureUsage?.features || []).reduce(
|
|
18036
|
+
(acc, usage) => {
|
|
18106
18037
|
const mappedUsageData = data.activeUsageBasedEntitlements.find(
|
|
18107
|
-
(entitlement) => entitlement.featureId === id
|
|
18038
|
+
(entitlement) => entitlement.featureId === usage.feature?.id
|
|
18108
18039
|
);
|
|
18109
|
-
|
|
18110
|
-
|
|
18111
|
-
|
|
18112
|
-
|
|
18113
|
-
});
|
|
18114
|
-
}
|
|
18040
|
+
acc.push({
|
|
18041
|
+
featureUsage: usage,
|
|
18042
|
+
usageData: mappedUsageData
|
|
18043
|
+
});
|
|
18115
18044
|
return acc;
|
|
18116
18045
|
},
|
|
18117
18046
|
[]
|
|
@@ -18259,7 +18188,7 @@ var IncludedFeatures = (0, import_react33.forwardRef)(({ className, ...rest }, r
|
|
|
18259
18188
|
IncludedFeatures.displayName = "IncludedFeatures";
|
|
18260
18189
|
|
|
18261
18190
|
// src/components/elements/invoices/Invoices.tsx
|
|
18262
|
-
var
|
|
18191
|
+
var import_react33 = require("react");
|
|
18263
18192
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
18264
18193
|
function resolveDesignProps2(props) {
|
|
18265
18194
|
return {
|
|
@@ -18313,19 +18242,19 @@ var InvoiceDate = ({ date, fontStyle, url }) => {
|
|
|
18313
18242
|
}
|
|
18314
18243
|
return dateText;
|
|
18315
18244
|
};
|
|
18316
|
-
var Invoices = (0,
|
|
18245
|
+
var Invoices = (0, import_react33.forwardRef)(({ className, data, ...rest }, ref) => {
|
|
18317
18246
|
const props = resolveDesignProps2(rest);
|
|
18318
18247
|
const { t: t2 } = useTranslation();
|
|
18319
18248
|
const theme = nt();
|
|
18320
18249
|
const { api } = useEmbed();
|
|
18321
|
-
const [invoices, setInvoices] = (0,
|
|
18322
|
-
const [listSize, setListSize] = (0,
|
|
18250
|
+
const [invoices, setInvoices] = (0, import_react33.useState)(() => formatInvoices(data));
|
|
18251
|
+
const [listSize, setListSize] = (0, import_react33.useState)(props.limit.number);
|
|
18323
18252
|
const toggleListSize = () => {
|
|
18324
18253
|
setListSize(
|
|
18325
18254
|
(prev2) => prev2 !== props.limit.number ? props.limit.number : MAX_VISIBLE_INVOICE_COUNT
|
|
18326
18255
|
);
|
|
18327
18256
|
};
|
|
18328
|
-
(0,
|
|
18257
|
+
(0, import_react33.useEffect)(() => {
|
|
18329
18258
|
api?.listInvoices().then(({ data: data2 }) => {
|
|
18330
18259
|
setInvoices(formatInvoices(data2));
|
|
18331
18260
|
});
|
|
@@ -18391,7 +18320,7 @@ var Invoices = (0, import_react34.forwardRef)(({ className, data, ...rest }, ref
|
|
|
18391
18320
|
Invoices.displayName = "Invoices";
|
|
18392
18321
|
|
|
18393
18322
|
// src/components/elements/metered-features/MeteredFeatures.tsx
|
|
18394
|
-
var
|
|
18323
|
+
var import_react34 = require("react");
|
|
18395
18324
|
var import_pluralize5 = __toESM(require_pluralize());
|
|
18396
18325
|
|
|
18397
18326
|
// src/components/elements/metered-features/styles.ts
|
|
@@ -18438,9 +18367,9 @@ function resolveDesignProps3(props) {
|
|
|
18438
18367
|
visibleFeatures: props.visibleFeatures
|
|
18439
18368
|
};
|
|
18440
18369
|
}
|
|
18441
|
-
var MeteredFeatures = (0,
|
|
18370
|
+
var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, ref) => {
|
|
18442
18371
|
const props = resolveDesignProps3(rest);
|
|
18443
|
-
const elements = (0,
|
|
18372
|
+
const elements = (0, import_react34.useRef)([]);
|
|
18444
18373
|
const shouldWrapChildren = useWrapChildren(elements.current);
|
|
18445
18374
|
const { t: t2 } = useTranslation();
|
|
18446
18375
|
const theme = nt();
|
|
@@ -18600,6 +18529,7 @@ var MeteredFeatures = (0, import_react35.forwardRef)(({ className, ...rest }, re
|
|
|
18600
18529
|
priceBehavior === "pay_in_advance" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
18601
18530
|
EmbedButton,
|
|
18602
18531
|
{
|
|
18532
|
+
type: "button",
|
|
18603
18533
|
onClick: () => {
|
|
18604
18534
|
setSelected({ usage: true });
|
|
18605
18535
|
setLayout("checkout");
|
|
@@ -18620,7 +18550,7 @@ var MeteredFeatures = (0, import_react35.forwardRef)(({ className, ...rest }, re
|
|
|
18620
18550
|
MeteredFeatures.displayName = "MeteredFeatures";
|
|
18621
18551
|
|
|
18622
18552
|
// src/components/elements/payment-method/PaymentMethod.tsx
|
|
18623
|
-
var
|
|
18553
|
+
var import_react35 = require("react");
|
|
18624
18554
|
var import_react_dom3 = require("react-dom");
|
|
18625
18555
|
var import_react_stripe_js3 = require("@stripe/react-stripe-js");
|
|
18626
18556
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
@@ -18790,24 +18720,24 @@ var PaymentMethodElement = ({
|
|
|
18790
18720
|
)
|
|
18791
18721
|
] });
|
|
18792
18722
|
};
|
|
18793
|
-
var PaymentMethod = (0,
|
|
18723
|
+
var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, portal, allowEdit = true, ...rest }, ref) => {
|
|
18794
18724
|
const props = resolveDesignProps4(rest);
|
|
18795
18725
|
const { t: t2 } = useTranslation();
|
|
18796
18726
|
const theme = nt();
|
|
18797
|
-
const { api, data, layout, setLayout } = useEmbed();
|
|
18727
|
+
const { api, data, layout, hydrate, setLayout } = useEmbed();
|
|
18798
18728
|
const isLightBackground = useIsLightBackground();
|
|
18799
|
-
const [isLoading, setIsLoading] = (0,
|
|
18800
|
-
const [error, setError] = (0,
|
|
18801
|
-
const [showPaymentForm, setShowPaymentForm] = (0,
|
|
18729
|
+
const [isLoading, setIsLoading] = (0, import_react35.useState)(false);
|
|
18730
|
+
const [error, setError] = (0, import_react35.useState)();
|
|
18731
|
+
const [showPaymentForm, setShowPaymentForm] = (0, import_react35.useState)(
|
|
18802
18732
|
() => typeof data.subscription?.paymentMethod === "undefined"
|
|
18803
18733
|
);
|
|
18804
|
-
const [stripe, setStripe] = (0,
|
|
18805
|
-
const [setupIntent, setSetupIntent] = (0,
|
|
18806
|
-
const [top, setTop] = (0,
|
|
18807
|
-
const paymentMethod = (0,
|
|
18734
|
+
const [stripe, setStripe] = (0, import_react35.useState)(null);
|
|
18735
|
+
const [setupIntent, setSetupIntent] = (0, import_react35.useState)();
|
|
18736
|
+
const [top, setTop] = (0, import_react35.useState)(0);
|
|
18737
|
+
const paymentMethod = (0, import_react35.useMemo)(() => {
|
|
18808
18738
|
return data.subscription?.paymentMethod;
|
|
18809
18739
|
}, [data.subscription?.paymentMethod]);
|
|
18810
|
-
const monthsToExpiration = (0,
|
|
18740
|
+
const monthsToExpiration = (0, import_react35.useMemo)(() => {
|
|
18811
18741
|
let expiration;
|
|
18812
18742
|
if (typeof paymentMethod?.cardExpYear === "number" && typeof paymentMethod?.cardExpMonth === "number") {
|
|
18813
18743
|
const today = /* @__PURE__ */ new Date();
|
|
@@ -18820,7 +18750,7 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
|
|
|
18820
18750
|
}
|
|
18821
18751
|
return expiration;
|
|
18822
18752
|
}, [paymentMethod?.cardExpYear, paymentMethod?.cardExpMonth]);
|
|
18823
|
-
const createSetupIntent = (0,
|
|
18753
|
+
const createSetupIntent = (0, import_react35.useCallback)(async () => {
|
|
18824
18754
|
if (!api || !data.component?.id) {
|
|
18825
18755
|
return;
|
|
18826
18756
|
}
|
|
@@ -18839,7 +18769,7 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
|
|
|
18839
18769
|
setIsLoading(false);
|
|
18840
18770
|
}
|
|
18841
18771
|
}, [t2, api, data.component?.id]);
|
|
18842
|
-
const updatePaymentMethod = (0,
|
|
18772
|
+
const updatePaymentMethod = (0, import_react35.useCallback)(
|
|
18843
18773
|
async (id) => {
|
|
18844
18774
|
if (!api || !id) {
|
|
18845
18775
|
return;
|
|
@@ -18851,21 +18781,23 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
|
|
|
18851
18781
|
paymentMethodId: id
|
|
18852
18782
|
}
|
|
18853
18783
|
});
|
|
18854
|
-
setLayout("
|
|
18784
|
+
setLayout("portal");
|
|
18785
|
+
hydrate();
|
|
18855
18786
|
} catch {
|
|
18787
|
+
setLayout("payment");
|
|
18856
18788
|
setError(t2("Error updating payment method. Please try again."));
|
|
18857
18789
|
} finally {
|
|
18858
18790
|
setIsLoading(false);
|
|
18859
18791
|
}
|
|
18860
18792
|
},
|
|
18861
|
-
[t2, api, setLayout]
|
|
18793
|
+
[t2, api, hydrate, setLayout]
|
|
18862
18794
|
);
|
|
18863
|
-
(0,
|
|
18795
|
+
(0, import_react35.useEffect)(() => {
|
|
18864
18796
|
if (!stripe && setupIntent?.publishableKey) {
|
|
18865
18797
|
setStripe(loadStripe(setupIntent.publishableKey));
|
|
18866
18798
|
}
|
|
18867
18799
|
}, [stripe, setupIntent?.publishableKey]);
|
|
18868
|
-
(0,
|
|
18800
|
+
(0, import_react35.useLayoutEffect)(() => {
|
|
18869
18801
|
const parent = portal || document.body;
|
|
18870
18802
|
const value = Math.abs(
|
|
18871
18803
|
(parent === document.body ? window.scrollY : parent.scrollTop) ?? 0
|
|
@@ -18990,7 +18922,7 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
|
|
|
18990
18922
|
PaymentMethod.displayName = "PaymentMethod";
|
|
18991
18923
|
|
|
18992
18924
|
// src/components/elements/plan-manager/PlanManager.tsx
|
|
18993
|
-
var
|
|
18925
|
+
var import_react36 = require("react");
|
|
18994
18926
|
var import_pluralize6 = __toESM(require_pluralize());
|
|
18995
18927
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
18996
18928
|
var resolveDesignProps5 = (props) => {
|
|
@@ -19021,7 +18953,7 @@ var resolveDesignProps5 = (props) => {
|
|
|
19021
18953
|
}
|
|
19022
18954
|
};
|
|
19023
18955
|
};
|
|
19024
|
-
var PlanManager = (0,
|
|
18956
|
+
var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal, ...rest }, ref) => {
|
|
19025
18957
|
const props = resolveDesignProps5(rest);
|
|
19026
18958
|
const theme = nt();
|
|
19027
18959
|
const { t: t2 } = useTranslation();
|
|
@@ -19362,6 +19294,7 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
|
|
|
19362
19294
|
canCheckout && props.callToAction.isVisible && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
19363
19295
|
EmbedButton,
|
|
19364
19296
|
{
|
|
19297
|
+
type: "button",
|
|
19365
19298
|
onClick: () => {
|
|
19366
19299
|
setSelected({
|
|
19367
19300
|
planId: currentPlan?.id,
|
|
@@ -19383,7 +19316,7 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
|
|
|
19383
19316
|
PlanManager.displayName = "PlanManager";
|
|
19384
19317
|
|
|
19385
19318
|
// src/components/elements/pricing-table/PricingTable.tsx
|
|
19386
|
-
var
|
|
19319
|
+
var import_react37 = require("react");
|
|
19387
19320
|
var import_pluralize7 = __toESM(require_pluralize());
|
|
19388
19321
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
19389
19322
|
var resolveDesignProps6 = (props) => {
|
|
@@ -19425,18 +19358,18 @@ var resolveDesignProps6 = (props) => {
|
|
|
19425
19358
|
}
|
|
19426
19359
|
};
|
|
19427
19360
|
};
|
|
19428
|
-
var PricingTable = (0,
|
|
19361
|
+
var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...rest }, ref) => {
|
|
19429
19362
|
const props = resolveDesignProps6(rest);
|
|
19430
19363
|
const { t: t2 } = useTranslation();
|
|
19431
19364
|
const theme = nt();
|
|
19432
19365
|
const { data, setLayout, setSelected } = useEmbed();
|
|
19433
19366
|
const trialEndDays = useTrialEnd();
|
|
19434
|
-
const [selectedPeriod, setSelectedPeriod] = (0,
|
|
19367
|
+
const [selectedPeriod, setSelectedPeriod] = (0, import_react37.useState)(
|
|
19435
19368
|
() => data.company?.plan?.planPeriod || "month"
|
|
19436
19369
|
);
|
|
19437
19370
|
const { plans, addOns, periods } = useAvailablePlans(selectedPeriod);
|
|
19438
19371
|
const isLightBackground = useIsLightBackground();
|
|
19439
|
-
const [entitlementCounts, setEntitlementCounts] = (0,
|
|
19372
|
+
const [entitlementCounts, setEntitlementCounts] = (0, import_react37.useState)(
|
|
19440
19373
|
() => plans.reduce(
|
|
19441
19374
|
(acc, plan) => {
|
|
19442
19375
|
acc[plan.id] = {
|
|
@@ -19621,15 +19554,7 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
|
|
|
19621
19554
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
19622
19555
|
children: [
|
|
19623
19556
|
props.plans.showEntitlements && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
19624
|
-
plan.entitlements.
|
|
19625
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
19626
|
-
return 1;
|
|
19627
|
-
}
|
|
19628
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
19629
|
-
return -1;
|
|
19630
|
-
}
|
|
19631
|
-
return 0;
|
|
19632
|
-
}).reduce((acc, entitlement) => {
|
|
19557
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
19633
19558
|
let price;
|
|
19634
19559
|
let currency;
|
|
19635
19560
|
if (selectedPeriod === "month") {
|
|
@@ -19771,7 +19696,8 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
|
|
|
19771
19696
|
) : (props.upgrade.isVisible || props.downgrade.isVisible) && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19772
19697
|
EmbedButton,
|
|
19773
19698
|
{
|
|
19774
|
-
|
|
19699
|
+
type: "button",
|
|
19700
|
+
disabled: (!plan.valid || !canCheckout) && !plan.custom,
|
|
19775
19701
|
...!plan.custom && {
|
|
19776
19702
|
onClick: () => {
|
|
19777
19703
|
setSelected({
|
|
@@ -19997,6 +19923,7 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
|
|
|
19997
19923
|
props.upgrade.isVisible && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19998
19924
|
EmbedButton,
|
|
19999
19925
|
{
|
|
19926
|
+
type: "button",
|
|
20000
19927
|
disabled: !addOn.valid || !canCheckout,
|
|
20001
19928
|
onClick: () => {
|
|
20002
19929
|
setSelected({
|
|
@@ -20030,7 +19957,7 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
|
|
|
20030
19957
|
PricingTable.displayName = "PricingTable";
|
|
20031
19958
|
|
|
20032
19959
|
// src/components/elements/upcoming-bill/UpcomingBill.tsx
|
|
20033
|
-
var
|
|
19960
|
+
var import_react38 = require("react");
|
|
20034
19961
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
20035
19962
|
function resolveDesignProps7(props) {
|
|
20036
19963
|
return {
|
|
@@ -20050,13 +19977,13 @@ function resolveDesignProps7(props) {
|
|
|
20050
19977
|
}
|
|
20051
19978
|
};
|
|
20052
19979
|
}
|
|
20053
|
-
var UpcomingBill = (0,
|
|
19980
|
+
var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref) => {
|
|
20054
19981
|
const props = resolveDesignProps7(rest);
|
|
20055
19982
|
const { t: t2 } = useTranslation();
|
|
20056
19983
|
const theme = nt();
|
|
20057
19984
|
const { data } = useEmbed();
|
|
20058
19985
|
const isLightBackground = useIsLightBackground();
|
|
20059
|
-
const { upcomingInvoice, discounts } = (0,
|
|
19986
|
+
const { upcomingInvoice, discounts } = (0, import_react38.useMemo)(() => {
|
|
20060
19987
|
const discounts2 = (data.subscription?.discounts || []).map((discount) => ({
|
|
20061
19988
|
amountOff: discount.amountOff,
|
|
20062
19989
|
couponId: discount.couponId,
|
|
@@ -20185,7 +20112,7 @@ var UpcomingBill = (0, import_react39.forwardRef)(({ className, ...rest }, ref)
|
|
|
20185
20112
|
UpcomingBill.displayName = "UpcomingBill";
|
|
20186
20113
|
|
|
20187
20114
|
// src/components/elements/unsubscribe-button/UnsubscribeButton.tsx
|
|
20188
|
-
var
|
|
20115
|
+
var import_react39 = require("react");
|
|
20189
20116
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
20190
20117
|
var resolveDesignProps8 = (props) => {
|
|
20191
20118
|
return {
|
|
@@ -20198,7 +20125,7 @@ var resolveDesignProps8 = (props) => {
|
|
|
20198
20125
|
}
|
|
20199
20126
|
};
|
|
20200
20127
|
};
|
|
20201
|
-
var UnsubscribeButton = (0,
|
|
20128
|
+
var UnsubscribeButton = (0, import_react39.forwardRef)(({ children, className, ...rest }, ref) => {
|
|
20202
20129
|
const props = resolveDesignProps8(rest);
|
|
20203
20130
|
const { t: t2 } = useTranslation();
|
|
20204
20131
|
const { data, setLayout } = useEmbed();
|
|
@@ -20246,10 +20173,10 @@ var UnsubscribeButton = (0, import_react40.forwardRef)(({ children, className, .
|
|
|
20246
20173
|
UnsubscribeButton.displayName = "UnsubscribeButton";
|
|
20247
20174
|
|
|
20248
20175
|
// src/components/embed/ComponentTree.tsx
|
|
20249
|
-
var
|
|
20176
|
+
var import_react41 = require("react");
|
|
20250
20177
|
|
|
20251
20178
|
// src/components/embed/renderer.ts
|
|
20252
|
-
var
|
|
20179
|
+
var import_react40 = require("react");
|
|
20253
20180
|
var components = {
|
|
20254
20181
|
Root,
|
|
20255
20182
|
Viewport,
|
|
@@ -20282,7 +20209,7 @@ function createRenderer(options) {
|
|
|
20282
20209
|
const { className, ...rest } = props;
|
|
20283
20210
|
const resolvedProps = component === "div" ? rest : props;
|
|
20284
20211
|
const resolvedChildren = children.map(renderNode);
|
|
20285
|
-
return (0,
|
|
20212
|
+
return (0, import_react40.createElement)(
|
|
20286
20213
|
component,
|
|
20287
20214
|
{
|
|
20288
20215
|
key: index,
|
|
@@ -20351,8 +20278,8 @@ var Error2 = ({ message }) => {
|
|
|
20351
20278
|
};
|
|
20352
20279
|
var ComponentTree = () => {
|
|
20353
20280
|
const { error, nodes, isPending } = useEmbed();
|
|
20354
|
-
const [children, setChildren] = (0,
|
|
20355
|
-
(0,
|
|
20281
|
+
const [children, setChildren] = (0, import_react41.useState)(/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loading, {}));
|
|
20282
|
+
(0, import_react41.useEffect)(() => {
|
|
20356
20283
|
const renderer = createRenderer();
|
|
20357
20284
|
setChildren(nodes.map(renderer));
|
|
20358
20285
|
}, [nodes]);
|