@schematichq/schematic-components 0.4.6 → 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 +902 -594
- package/dist/schematic-components.d.ts +36 -5
- package/dist/schematic-components.esm.js +922 -611
- package/package.json +7 -7
|
@@ -2107,6 +2107,7 @@ __export(index_exports, {
|
|
|
2107
2107
|
StyledCard: () => StyledCard,
|
|
2108
2108
|
Text: () => Text,
|
|
2109
2109
|
Tooltip: () => Tooltip,
|
|
2110
|
+
UnsubscribeButton: () => UnsubscribeButton,
|
|
2110
2111
|
UpcomingBill: () => UpcomingBill,
|
|
2111
2112
|
Viewport: () => Viewport,
|
|
2112
2113
|
cardBoxShadow: () => cardBoxShadow,
|
|
@@ -3782,11 +3783,11 @@ function useAvailablePlans(activePeriod) {
|
|
|
3782
3783
|
const getActivePlans = (0, import_react10.useCallback)(
|
|
3783
3784
|
(plans) => {
|
|
3784
3785
|
const customPlanExist = plans.some((plan) => plan.custom);
|
|
3785
|
-
|
|
3786
|
+
const plansWithSelected = mode === "edit" ? plans.slice() : plans.filter(
|
|
3786
3787
|
(plan) => activePeriod === "month" && plan.monthlyPrice || activePeriod === "year" && plan.yearlyPrice
|
|
3787
3788
|
);
|
|
3788
3789
|
if (!customPlanExist) {
|
|
3789
|
-
plansWithSelected
|
|
3790
|
+
plansWithSelected.sort((a2, b2) => {
|
|
3790
3791
|
if (activePeriod === "year") {
|
|
3791
3792
|
return (a2.yearlyPrice?.price ?? 0) - (b2.yearlyPrice?.price ?? 0);
|
|
3792
3793
|
}
|
|
@@ -11972,6 +11973,7 @@ var CheckoutexternalApi = class extends BaseAPI {
|
|
|
11972
11973
|
var en_default = {
|
|
11973
11974
|
translation: {
|
|
11974
11975
|
"A problem occurred while saving your payment method.": "A problem occurred while saving your payment method.",
|
|
11976
|
+
"Access to plan will end on": "Access to plan will end on {{date}}",
|
|
11975
11977
|
Active: "Active",
|
|
11976
11978
|
"Add payment method": "Add payment method",
|
|
11977
11979
|
"Add Seats": "Add More",
|
|
@@ -11981,6 +11983,7 @@ var en_default = {
|
|
|
11981
11983
|
"After the trial, cancel no default": "After the trial, you will be lose access to {{planName}} plan and your subscription will be cancelled.",
|
|
11982
11984
|
Billed: "Billed {{period}}",
|
|
11983
11985
|
"billing period": "billing period",
|
|
11986
|
+
"Cancel subscription": "Cancel subscription",
|
|
11984
11987
|
"Cannot downgrade entitlement": "Cannot downgrade to a lower quantity than current usage.",
|
|
11985
11988
|
"Card ending in": "\u{1F4B3} Card ending in {{value}}",
|
|
11986
11989
|
"Change add-on": "Change add-on",
|
|
@@ -12015,9 +12018,11 @@ var en_default = {
|
|
|
12015
12018
|
Invoices: "Invoices",
|
|
12016
12019
|
"Limit of": "Limit of {{amount}}",
|
|
12017
12020
|
Loading: "Loading",
|
|
12021
|
+
"Manage plan": "Manage plan",
|
|
12018
12022
|
Monthly: "Monthly",
|
|
12019
12023
|
Next: "Next",
|
|
12020
12024
|
"No limit": "No limit",
|
|
12025
|
+
"Not ready to cancel?": "Not ready to cancel?",
|
|
12021
12026
|
"Optionally add features to your subscription": "Optionally add features to your subscription",
|
|
12022
12027
|
"Other existing payment method": "Other existing payment method",
|
|
12023
12028
|
"Over usage limit": "Over usage limit",
|
|
@@ -12044,10 +12049,13 @@ var en_default = {
|
|
|
12044
12049
|
"Start trial": "Start trial",
|
|
12045
12050
|
"Subscribe and close": "Subscribe and close",
|
|
12046
12051
|
Subscription: "Subscription",
|
|
12052
|
+
"Subscription canceled": "Subscription canceled",
|
|
12047
12053
|
Trial: "Trial",
|
|
12048
12054
|
"Trial ends in": "Trial ends in {{days}} days",
|
|
12049
12055
|
"Trial plan": "Try free for {{days}} days",
|
|
12050
12056
|
Unlimited: "Unlimited {{item}}",
|
|
12057
|
+
Unsubscribe: "Unsubscribe",
|
|
12058
|
+
"Unsubscribe failed": "Unsubscribe failed",
|
|
12051
12059
|
"Unused time": "Unused time",
|
|
12052
12060
|
Usage: "Usage",
|
|
12053
12061
|
"Usage-based": "Usage-based",
|
|
@@ -12055,6 +12063,7 @@ var en_default = {
|
|
|
12055
12063
|
"X% off": "{{percent}}% off",
|
|
12056
12064
|
"X off": "{{amount}} off",
|
|
12057
12065
|
Yearly: "Yearly",
|
|
12066
|
+
"You will retain access to your plan until the end of the billing period, on": "You will retain access to your plan until the end of the billing period, on",
|
|
12058
12067
|
day: "day",
|
|
12059
12068
|
month: "month",
|
|
12060
12069
|
per: "per",
|
|
@@ -12072,7 +12081,7 @@ var GlobalStyle = ft`;
|
|
|
12072
12081
|
|
|
12073
12082
|
@font-face {
|
|
12074
12083
|
font-family: "icons";
|
|
12075
|
-
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");
|
|
12076
12085
|
}
|
|
12077
12086
|
|
|
12078
12087
|
i[class^="i-"]:before,
|
|
@@ -12320,221 +12329,237 @@ i[class*=" i-"]:before {
|
|
|
12320
12329
|
content: "\\f13b";
|
|
12321
12330
|
}
|
|
12322
12331
|
|
|
12323
|
-
.i-
|
|
12332
|
+
.i-github::before {
|
|
12324
12333
|
content: "\\f13c";
|
|
12325
12334
|
}
|
|
12326
12335
|
|
|
12327
|
-
.i-
|
|
12336
|
+
.i-glasses::before {
|
|
12328
12337
|
content: "\\f13d";
|
|
12329
12338
|
}
|
|
12330
12339
|
|
|
12331
|
-
.i-
|
|
12340
|
+
.i-globe::before {
|
|
12332
12341
|
content: "\\f13e";
|
|
12333
12342
|
}
|
|
12334
12343
|
|
|
12335
|
-
.i-
|
|
12344
|
+
.i-google::before {
|
|
12336
12345
|
content: "\\f13f";
|
|
12337
12346
|
}
|
|
12338
12347
|
|
|
12339
|
-
.i-
|
|
12348
|
+
.i-hammer::before {
|
|
12340
12349
|
content: "\\f140";
|
|
12341
12350
|
}
|
|
12342
12351
|
|
|
12343
|
-
.i-
|
|
12352
|
+
.i-hash::before {
|
|
12344
12353
|
content: "\\f141";
|
|
12345
12354
|
}
|
|
12346
12355
|
|
|
12347
|
-
.i-
|
|
12356
|
+
.i-heart::before {
|
|
12348
12357
|
content: "\\f142";
|
|
12349
12358
|
}
|
|
12350
12359
|
|
|
12351
|
-
.i-
|
|
12360
|
+
.i-hubspot::before {
|
|
12352
12361
|
content: "\\f143";
|
|
12353
12362
|
}
|
|
12354
12363
|
|
|
12355
|
-
.i-
|
|
12364
|
+
.i-image::before {
|
|
12356
12365
|
content: "\\f144";
|
|
12357
12366
|
}
|
|
12358
12367
|
|
|
12359
|
-
.i-
|
|
12368
|
+
.i-info-rounded::before {
|
|
12360
12369
|
content: "\\f145";
|
|
12361
12370
|
}
|
|
12362
12371
|
|
|
12363
|
-
.i-
|
|
12372
|
+
.i-juice::before {
|
|
12364
12373
|
content: "\\f146";
|
|
12365
12374
|
}
|
|
12366
12375
|
|
|
12367
|
-
.i-
|
|
12376
|
+
.i-key::before {
|
|
12368
12377
|
content: "\\f147";
|
|
12369
12378
|
}
|
|
12370
12379
|
|
|
12371
|
-
.i-
|
|
12380
|
+
.i-link::before {
|
|
12372
12381
|
content: "\\f148";
|
|
12373
12382
|
}
|
|
12374
12383
|
|
|
12375
|
-
.i-
|
|
12384
|
+
.i-mastercard::before {
|
|
12376
12385
|
content: "\\f149";
|
|
12377
12386
|
}
|
|
12378
12387
|
|
|
12379
|
-
.i-
|
|
12388
|
+
.i-move::before {
|
|
12380
12389
|
content: "\\f14a";
|
|
12381
12390
|
}
|
|
12382
12391
|
|
|
12383
|
-
.i-
|
|
12392
|
+
.i-music::before {
|
|
12384
12393
|
content: "\\f14b";
|
|
12385
12394
|
}
|
|
12386
12395
|
|
|
12387
|
-
.i-
|
|
12396
|
+
.i-node-minus::before {
|
|
12388
12397
|
content: "\\f14c";
|
|
12389
12398
|
}
|
|
12390
12399
|
|
|
12391
|
-
.i-
|
|
12400
|
+
.i-node-plus::before {
|
|
12392
12401
|
content: "\\f14d";
|
|
12393
12402
|
}
|
|
12394
12403
|
|
|
12395
|
-
.i-
|
|
12404
|
+
.i-package::before {
|
|
12396
12405
|
content: "\\f14e";
|
|
12397
12406
|
}
|
|
12398
12407
|
|
|
12399
|
-
.i-
|
|
12408
|
+
.i-paper-plane::before {
|
|
12400
12409
|
content: "\\f14f";
|
|
12401
12410
|
}
|
|
12402
12411
|
|
|
12403
|
-
.i-
|
|
12412
|
+
.i-paypal::before {
|
|
12404
12413
|
content: "\\f150";
|
|
12405
12414
|
}
|
|
12406
12415
|
|
|
12407
|
-
.i-
|
|
12416
|
+
.i-pencil::before {
|
|
12408
12417
|
content: "\\f151";
|
|
12409
12418
|
}
|
|
12410
12419
|
|
|
12411
|
-
.i-
|
|
12420
|
+
.i-percent::before {
|
|
12412
12421
|
content: "\\f152";
|
|
12413
12422
|
}
|
|
12414
12423
|
|
|
12415
|
-
.i-
|
|
12424
|
+
.i-picker::before {
|
|
12416
12425
|
content: "\\f153";
|
|
12417
12426
|
}
|
|
12418
12427
|
|
|
12419
|
-
.i-
|
|
12428
|
+
.i-plan::before {
|
|
12420
12429
|
content: "\\f154";
|
|
12421
12430
|
}
|
|
12422
12431
|
|
|
12423
|
-
.i-
|
|
12432
|
+
.i-plug::before {
|
|
12424
12433
|
content: "\\f155";
|
|
12425
12434
|
}
|
|
12426
12435
|
|
|
12427
|
-
.i-
|
|
12436
|
+
.i-plus-minus::before {
|
|
12428
12437
|
content: "\\f156";
|
|
12429
12438
|
}
|
|
12430
12439
|
|
|
12431
|
-
.i-
|
|
12440
|
+
.i-plus-rounded-outline::before {
|
|
12432
12441
|
content: "\\f157";
|
|
12433
12442
|
}
|
|
12434
12443
|
|
|
12435
|
-
.i-
|
|
12444
|
+
.i-present::before {
|
|
12436
12445
|
content: "\\f158";
|
|
12437
12446
|
}
|
|
12438
12447
|
|
|
12439
|
-
.i-
|
|
12448
|
+
.i-schematic::before {
|
|
12440
12449
|
content: "\\f159";
|
|
12441
12450
|
}
|
|
12442
12451
|
|
|
12443
|
-
.i-
|
|
12452
|
+
.i-search::before {
|
|
12444
12453
|
content: "\\f15a";
|
|
12445
12454
|
}
|
|
12446
12455
|
|
|
12447
|
-
.i-
|
|
12456
|
+
.i-segment::before {
|
|
12448
12457
|
content: "\\f15b";
|
|
12449
12458
|
}
|
|
12450
12459
|
|
|
12451
|
-
.i-
|
|
12460
|
+
.i-server-search::before {
|
|
12452
12461
|
content: "\\f15c";
|
|
12453
12462
|
}
|
|
12454
12463
|
|
|
12455
|
-
.i-
|
|
12464
|
+
.i-sidebar::before {
|
|
12456
12465
|
content: "\\f15d";
|
|
12457
12466
|
}
|
|
12458
12467
|
|
|
12459
|
-
.i-
|
|
12468
|
+
.i-signal::before {
|
|
12460
12469
|
content: "\\f15e";
|
|
12461
12470
|
}
|
|
12462
12471
|
|
|
12463
|
-
.i-
|
|
12472
|
+
.i-silence::before {
|
|
12464
12473
|
content: "\\f15f";
|
|
12465
12474
|
}
|
|
12466
12475
|
|
|
12467
|
-
.i-
|
|
12476
|
+
.i-spade::before {
|
|
12468
12477
|
content: "\\f160";
|
|
12469
12478
|
}
|
|
12470
12479
|
|
|
12471
|
-
.i-
|
|
12480
|
+
.i-speaker::before {
|
|
12472
12481
|
content: "\\f161";
|
|
12473
12482
|
}
|
|
12474
12483
|
|
|
12475
|
-
.i-
|
|
12484
|
+
.i-stacked::before {
|
|
12476
12485
|
content: "\\f162";
|
|
12477
12486
|
}
|
|
12478
12487
|
|
|
12479
|
-
.i-
|
|
12488
|
+
.i-stacks::before {
|
|
12480
12489
|
content: "\\f163";
|
|
12481
12490
|
}
|
|
12482
12491
|
|
|
12483
|
-
.i-
|
|
12492
|
+
.i-stripe::before {
|
|
12484
12493
|
content: "\\f164";
|
|
12485
12494
|
}
|
|
12486
12495
|
|
|
12487
|
-
.i-
|
|
12496
|
+
.i-text::before {
|
|
12488
12497
|
content: "\\f165";
|
|
12489
12498
|
}
|
|
12490
12499
|
|
|
12491
|
-
.i-
|
|
12500
|
+
.i-thunder::before {
|
|
12492
12501
|
content: "\\f166";
|
|
12493
12502
|
}
|
|
12494
12503
|
|
|
12495
|
-
.i-
|
|
12504
|
+
.i-tornado::before {
|
|
12496
12505
|
content: "\\f167";
|
|
12497
12506
|
}
|
|
12498
12507
|
|
|
12499
|
-
.i-
|
|
12508
|
+
.i-truck::before {
|
|
12500
12509
|
content: "\\f168";
|
|
12501
12510
|
}
|
|
12502
12511
|
|
|
12503
|
-
.i-
|
|
12512
|
+
.i-tube::before {
|
|
12504
12513
|
content: "\\f169";
|
|
12505
12514
|
}
|
|
12506
12515
|
|
|
12507
|
-
.i-
|
|
12516
|
+
.i-unprotected::before {
|
|
12508
12517
|
content: "\\f16a";
|
|
12509
12518
|
}
|
|
12510
12519
|
|
|
12511
|
-
.i-
|
|
12520
|
+
.i-unsubscribe::before {
|
|
12512
12521
|
content: "\\f16b";
|
|
12513
12522
|
}
|
|
12514
12523
|
|
|
12515
|
-
.i-
|
|
12524
|
+
.i-verified::before {
|
|
12516
12525
|
content: "\\f16c";
|
|
12517
12526
|
}
|
|
12518
12527
|
|
|
12519
|
-
.i-
|
|
12528
|
+
.i-video-camera::before {
|
|
12520
12529
|
content: "\\f16d";
|
|
12521
12530
|
}
|
|
12522
12531
|
|
|
12523
|
-
.i-
|
|
12532
|
+
.i-visa::before {
|
|
12524
12533
|
content: "\\f16e";
|
|
12525
12534
|
}
|
|
12526
12535
|
|
|
12527
|
-
.i-
|
|
12536
|
+
.i-wallet::before {
|
|
12528
12537
|
content: "\\f16f";
|
|
12529
12538
|
}
|
|
12530
12539
|
|
|
12531
|
-
.i-
|
|
12540
|
+
.i-watch-hand::before {
|
|
12532
12541
|
content: "\\f170";
|
|
12533
12542
|
}
|
|
12534
12543
|
|
|
12535
|
-
.i-
|
|
12544
|
+
.i-watch-pocket::before {
|
|
12536
12545
|
content: "\\f171";
|
|
12537
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
|
+
}
|
|
12538
12563
|
`;
|
|
12539
12564
|
|
|
12540
12565
|
// src/context/embed.tsx
|
|
@@ -12654,13 +12679,15 @@ var EmbedContext = (0, import_react11.createContext)({
|
|
|
12654
12679
|
isPending: false,
|
|
12655
12680
|
hydrate: async () => {
|
|
12656
12681
|
},
|
|
12657
|
-
|
|
12682
|
+
setIsPending: () => {
|
|
12658
12683
|
},
|
|
12659
|
-
|
|
12684
|
+
setData: () => {
|
|
12660
12685
|
},
|
|
12661
12686
|
setLayout: () => {
|
|
12662
12687
|
},
|
|
12663
12688
|
setSelected: () => {
|
|
12689
|
+
},
|
|
12690
|
+
updateSettings: () => {
|
|
12664
12691
|
}
|
|
12665
12692
|
});
|
|
12666
12693
|
var EmbedProvider = ({
|
|
@@ -12691,11 +12718,13 @@ var EmbedProvider = ({
|
|
|
12691
12718
|
},
|
|
12692
12719
|
setData: () => {
|
|
12693
12720
|
},
|
|
12694
|
-
|
|
12721
|
+
setIsPending: () => {
|
|
12695
12722
|
},
|
|
12696
12723
|
setLayout: () => {
|
|
12697
12724
|
},
|
|
12698
12725
|
setSelected: () => {
|
|
12726
|
+
},
|
|
12727
|
+
updateSettings: () => {
|
|
12699
12728
|
}
|
|
12700
12729
|
};
|
|
12701
12730
|
});
|
|
@@ -12735,45 +12764,39 @@ var EmbedProvider = ({
|
|
|
12735
12764
|
}));
|
|
12736
12765
|
}
|
|
12737
12766
|
}, [id, state.api]);
|
|
12738
|
-
const
|
|
12739
|
-
(
|
|
12740
|
-
|
|
12741
|
-
|
|
12742
|
-
|
|
12743
|
-
|
|
12744
|
-
|
|
12745
|
-
|
|
12746
|
-
|
|
12747
|
-
|
|
12748
|
-
|
|
12749
|
-
|
|
12750
|
-
|
|
12751
|
-
|
|
12752
|
-
|
|
12753
|
-
|
|
12754
|
-
|
|
12755
|
-
|
|
12756
|
-
|
|
12757
|
-
|
|
12758
|
-
|
|
12759
|
-
|
|
12760
|
-
|
|
12761
|
-
|
|
12762
|
-
|
|
12763
|
-
|
|
12764
|
-
})
|
|
12765
|
-
|
|
12766
|
-
[setState]
|
|
12767
|
-
);
|
|
12768
|
-
const setSelected = (0, import_react11.useCallback)(
|
|
12769
|
-
(selected) => {
|
|
12770
|
-
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 {
|
|
12771
12795
|
...prev2,
|
|
12772
|
-
|
|
12773
|
-
}
|
|
12774
|
-
}
|
|
12775
|
-
|
|
12776
|
-
);
|
|
12796
|
+
settings: updatedSettings
|
|
12797
|
+
};
|
|
12798
|
+
});
|
|
12799
|
+
};
|
|
12777
12800
|
(0, import_react11.useEffect)(() => {
|
|
12778
12801
|
instance.use(initReactI18next).init({
|
|
12779
12802
|
resources: {
|
|
@@ -12789,7 +12812,8 @@ var EmbedProvider = ({
|
|
|
12789
12812
|
(0, import_react11.useEffect)(() => {
|
|
12790
12813
|
const element = document.getElementById("schematic-fonts");
|
|
12791
12814
|
if (element) {
|
|
12792
|
-
|
|
12815
|
+
styleRef.current = element;
|
|
12816
|
+
return;
|
|
12793
12817
|
}
|
|
12794
12818
|
const style = document.createElement("link");
|
|
12795
12819
|
style.id = "schematic-fonts";
|
|
@@ -12800,7 +12824,7 @@ var EmbedProvider = ({
|
|
|
12800
12824
|
(0, import_react11.useEffect)(() => {
|
|
12801
12825
|
if (accessToken) {
|
|
12802
12826
|
const { headers = {} } = apiConfig ?? {};
|
|
12803
|
-
headers["X-Schematic-Components-Version"] = "0.4.
|
|
12827
|
+
headers["X-Schematic-Components-Version"] = "0.4.8";
|
|
12804
12828
|
headers["X-Schematic-Session-ID"] = sessionIdRef.current;
|
|
12805
12829
|
const config = new Configuration({
|
|
12806
12830
|
...apiConfig,
|
|
@@ -12843,10 +12867,11 @@ var EmbedProvider = ({
|
|
|
12843
12867
|
error: state.error,
|
|
12844
12868
|
isPending: state.isPending,
|
|
12845
12869
|
hydrate,
|
|
12870
|
+
setIsPending,
|
|
12846
12871
|
setData,
|
|
12847
|
-
updateSettings,
|
|
12848
12872
|
setLayout,
|
|
12849
|
-
setSelected
|
|
12873
|
+
setSelected,
|
|
12874
|
+
updateSettings
|
|
12850
12875
|
},
|
|
12851
12876
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ot, { theme: state.settings.theme, children: [
|
|
12852
12877
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(GlobalStyle, {}),
|
|
@@ -12949,6 +12974,10 @@ function lighten(color, amount) {
|
|
|
12949
12974
|
function darken(color, amount) {
|
|
12950
12975
|
return adjustLightness(color, -amount);
|
|
12951
12976
|
}
|
|
12977
|
+
function hsla(color, amount) {
|
|
12978
|
+
const { h, s: s2, l: l2 } = hexToHSL(color);
|
|
12979
|
+
return `hsla(${h}, ${s2}%, ${l2}%, ${amount})`;
|
|
12980
|
+
}
|
|
12952
12981
|
|
|
12953
12982
|
// src/utils/date.ts
|
|
12954
12983
|
function toPrettyDate(date, format) {
|
|
@@ -13324,8 +13353,6 @@ var EmbedButton = dt(Button2)`
|
|
|
13324
13353
|
font-family: "Public Sans", sans-serif;
|
|
13325
13354
|
font-weight: 500;
|
|
13326
13355
|
text-align: center;
|
|
13327
|
-
width: 100%;
|
|
13328
|
-
padding: 0;
|
|
13329
13356
|
|
|
13330
13357
|
${({ disabled, $color = "primary", theme }) => {
|
|
13331
13358
|
const { l: l2 } = hexToHSL(theme[$color]);
|
|
@@ -13455,6 +13482,38 @@ var EmbedButton = dt(Button2)`
|
|
|
13455
13482
|
`;
|
|
13456
13483
|
}
|
|
13457
13484
|
}}
|
|
13485
|
+
|
|
13486
|
+
${({ $alignment = "center" }) => {
|
|
13487
|
+
switch ($alignment) {
|
|
13488
|
+
case "start":
|
|
13489
|
+
return lt`
|
|
13490
|
+
justify-content: start;
|
|
13491
|
+
`;
|
|
13492
|
+
case "end":
|
|
13493
|
+
return lt`
|
|
13494
|
+
justify-content: end;
|
|
13495
|
+
`;
|
|
13496
|
+
case "center":
|
|
13497
|
+
default:
|
|
13498
|
+
return lt`
|
|
13499
|
+
justify-content: center;
|
|
13500
|
+
`;
|
|
13501
|
+
}
|
|
13502
|
+
}}
|
|
13503
|
+
|
|
13504
|
+
${({ $fullWidth = true }) => {
|
|
13505
|
+
if ($fullWidth) {
|
|
13506
|
+
return lt`
|
|
13507
|
+
width: 100%;
|
|
13508
|
+
padding: 0;
|
|
13509
|
+
`;
|
|
13510
|
+
}
|
|
13511
|
+
return lt`
|
|
13512
|
+
width: fit-content;
|
|
13513
|
+
padding-left: 1rem;
|
|
13514
|
+
padding-right: 1rem;
|
|
13515
|
+
`;
|
|
13516
|
+
}}
|
|
13458
13517
|
`;
|
|
13459
13518
|
|
|
13460
13519
|
// src/components/ui/flex/styles.ts
|
|
@@ -13530,60 +13589,64 @@ var icons_default = {
|
|
|
13530
13589
|
"folder-plus": 61753,
|
|
13531
13590
|
folder: 61754,
|
|
13532
13591
|
"generic-payment": 61755,
|
|
13533
|
-
|
|
13534
|
-
|
|
13535
|
-
|
|
13536
|
-
|
|
13537
|
-
|
|
13538
|
-
|
|
13539
|
-
|
|
13540
|
-
|
|
13541
|
-
|
|
13542
|
-
|
|
13543
|
-
|
|
13544
|
-
|
|
13545
|
-
|
|
13546
|
-
|
|
13547
|
-
|
|
13548
|
-
|
|
13549
|
-
"
|
|
13550
|
-
|
|
13551
|
-
|
|
13552
|
-
|
|
13553
|
-
|
|
13554
|
-
|
|
13555
|
-
|
|
13556
|
-
|
|
13557
|
-
|
|
13558
|
-
|
|
13559
|
-
|
|
13560
|
-
|
|
13561
|
-
|
|
13562
|
-
|
|
13563
|
-
|
|
13564
|
-
|
|
13565
|
-
|
|
13566
|
-
|
|
13567
|
-
|
|
13568
|
-
|
|
13569
|
-
|
|
13570
|
-
|
|
13571
|
-
|
|
13572
|
-
|
|
13573
|
-
|
|
13574
|
-
|
|
13575
|
-
|
|
13576
|
-
|
|
13577
|
-
|
|
13578
|
-
|
|
13579
|
-
|
|
13580
|
-
|
|
13581
|
-
|
|
13582
|
-
"
|
|
13583
|
-
|
|
13584
|
-
|
|
13585
|
-
|
|
13586
|
-
|
|
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
|
|
13587
13650
|
};
|
|
13588
13651
|
|
|
13589
13652
|
// src/components/ui/icon/IconRound.tsx
|
|
@@ -14301,11 +14364,11 @@ var Navigation = ({
|
|
|
14301
14364
|
] });
|
|
14302
14365
|
};
|
|
14303
14366
|
|
|
14304
|
-
// src/components/shared/
|
|
14367
|
+
// src/components/shared/sidebar/Sidebar.tsx
|
|
14305
14368
|
var import_react21 = require("react");
|
|
14306
14369
|
var import_pluralize = __toESM(require_pluralize());
|
|
14307
14370
|
|
|
14308
|
-
// src/components/shared/
|
|
14371
|
+
// src/components/shared/sidebar/StageButton.tsx
|
|
14309
14372
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
14310
14373
|
var StageButton = ({
|
|
14311
14374
|
canTrial,
|
|
@@ -14326,7 +14389,8 @@ var StageButton = ({
|
|
|
14326
14389
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14327
14390
|
EmbedButton,
|
|
14328
14391
|
{
|
|
14329
|
-
|
|
14392
|
+
type: "button",
|
|
14393
|
+
disabled: isLoading || !canUpdateSubscription,
|
|
14330
14394
|
onClick: checkout,
|
|
14331
14395
|
isLoading,
|
|
14332
14396
|
children: t2("Subscribe and close")
|
|
@@ -14339,9 +14403,10 @@ var StageButton = ({
|
|
|
14339
14403
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14340
14404
|
EmbedButton,
|
|
14341
14405
|
{
|
|
14406
|
+
type: "button",
|
|
14342
14407
|
disabled: !hasAddOns && !canUpdateSubscription,
|
|
14343
14408
|
onClick: async () => {
|
|
14344
|
-
setCheckoutStage("checkout");
|
|
14409
|
+
setCheckoutStage?.("checkout");
|
|
14345
14410
|
},
|
|
14346
14411
|
isLoading,
|
|
14347
14412
|
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -14365,6 +14430,7 @@ var StageButton = ({
|
|
|
14365
14430
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14366
14431
|
EmbedButton,
|
|
14367
14432
|
{
|
|
14433
|
+
type: "button",
|
|
14368
14434
|
disabled: !canUpdateSubscription,
|
|
14369
14435
|
onClick: async () => {
|
|
14370
14436
|
checkout();
|
|
@@ -14386,7 +14452,7 @@ var StageButton = ({
|
|
|
14386
14452
|
}
|
|
14387
14453
|
);
|
|
14388
14454
|
}
|
|
14389
|
-
if (!requiresPayment && !checkoutStages
|
|
14455
|
+
if (!requiresPayment && !checkoutStages?.some(
|
|
14390
14456
|
(stage) => stage.id === "addons" || stage.id === "usage"
|
|
14391
14457
|
)) {
|
|
14392
14458
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(NoPaymentRequired, {});
|
|
@@ -14394,9 +14460,10 @@ var StageButton = ({
|
|
|
14394
14460
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14395
14461
|
EmbedButton,
|
|
14396
14462
|
{
|
|
14463
|
+
type: "button",
|
|
14397
14464
|
disabled: !canUpdateSubscription,
|
|
14398
14465
|
onClick: async () => {
|
|
14399
|
-
setCheckoutStage(
|
|
14466
|
+
setCheckoutStage?.(
|
|
14400
14467
|
hasPayInAdvanceEntitlements ? "usage" : hasAddOns ? "addons" : "checkout"
|
|
14401
14468
|
);
|
|
14402
14469
|
},
|
|
@@ -14427,9 +14494,10 @@ var StageButton = ({
|
|
|
14427
14494
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14428
14495
|
EmbedButton,
|
|
14429
14496
|
{
|
|
14497
|
+
type: "button",
|
|
14430
14498
|
disabled: !canUpdateSubscription,
|
|
14431
14499
|
onClick: async () => {
|
|
14432
|
-
setCheckoutStage(hasAddOns ? "addons" : "checkout");
|
|
14500
|
+
setCheckoutStage?.(hasAddOns ? "addons" : "checkout");
|
|
14433
14501
|
},
|
|
14434
14502
|
isLoading,
|
|
14435
14503
|
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -14457,9 +14525,10 @@ var StageButton = ({
|
|
|
14457
14525
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14458
14526
|
EmbedButton,
|
|
14459
14527
|
{
|
|
14528
|
+
type: "button",
|
|
14460
14529
|
disabled: !canUpdateSubscription,
|
|
14461
14530
|
onClick: async () => {
|
|
14462
|
-
setCheckoutStage("checkout");
|
|
14531
|
+
setCheckoutStage?.("checkout");
|
|
14463
14532
|
},
|
|
14464
14533
|
isLoading,
|
|
14465
14534
|
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
@@ -14487,6 +14556,7 @@ var StageButton = ({
|
|
|
14487
14556
|
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
14488
14557
|
EmbedButton,
|
|
14489
14558
|
{
|
|
14559
|
+
type: "button",
|
|
14490
14560
|
disabled: isLoading || !canCheckout,
|
|
14491
14561
|
onClick: checkout,
|
|
14492
14562
|
isLoading,
|
|
@@ -14496,35 +14566,52 @@ var StageButton = ({
|
|
|
14496
14566
|
}
|
|
14497
14567
|
};
|
|
14498
14568
|
|
|
14499
|
-
// src/components/shared/
|
|
14569
|
+
// src/components/shared/sidebar/Sidebar.tsx
|
|
14500
14570
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
14501
14571
|
var Sidebar = ({
|
|
14572
|
+
planPeriod,
|
|
14573
|
+
selectedPlan,
|
|
14502
14574
|
addOns,
|
|
14575
|
+
usageBasedEntitlements,
|
|
14503
14576
|
charges,
|
|
14504
14577
|
checkoutRef,
|
|
14505
14578
|
checkoutStage,
|
|
14506
14579
|
checkoutStages,
|
|
14507
|
-
currentAddOns,
|
|
14508
|
-
currentUsageBasedEntitlements,
|
|
14509
14580
|
error,
|
|
14510
|
-
currentPlan,
|
|
14511
14581
|
isLoading,
|
|
14512
14582
|
paymentMethodId,
|
|
14513
|
-
planPeriod,
|
|
14514
14583
|
promoCode,
|
|
14515
14584
|
requiresPayment,
|
|
14516
|
-
selectedPlan,
|
|
14517
14585
|
setCheckoutStage,
|
|
14518
14586
|
setError,
|
|
14587
|
+
setIsLoading,
|
|
14519
14588
|
showPaymentForm,
|
|
14520
|
-
toggleLoading,
|
|
14521
14589
|
updatePromoCode,
|
|
14522
|
-
|
|
14590
|
+
showHeader = true
|
|
14523
14591
|
}) => {
|
|
14524
14592
|
const { t: t2 } = useTranslation();
|
|
14525
14593
|
const theme = nt();
|
|
14526
|
-
const { api, data, mode, setLayout } = useEmbed();
|
|
14594
|
+
const { api, data, mode, layout, hydrate, setLayout } = useEmbed();
|
|
14527
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
|
+
);
|
|
14528
14615
|
const payInAdvanceEntitlements = usageBasedEntitlements.filter(
|
|
14529
14616
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
14530
14617
|
);
|
|
@@ -14532,27 +14619,30 @@ var Sidebar = ({
|
|
|
14532
14619
|
({ entitlement }) => entitlement.priceBehavior === "pay_as_you_go"
|
|
14533
14620
|
);
|
|
14534
14621
|
const subscriptionPrice = (0, import_react21.useMemo)(() => {
|
|
14535
|
-
if (!selectedPlan || !selectedPlan.monthlyPrice || !selectedPlan.yearlyPrice) {
|
|
14536
|
-
return;
|
|
14537
|
-
}
|
|
14538
14622
|
let total = 0;
|
|
14539
|
-
|
|
14540
|
-
|
|
14541
|
-
if (
|
|
14542
|
-
|
|
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;
|
|
14543
14633
|
}
|
|
14544
14634
|
const addOnCost = addOns.reduce(
|
|
14545
|
-
(sum, addOn) => sum + (addOn.isSelected ? (planPeriod === "month" ? addOn.monthlyPrice : addOn.yearlyPrice)?.price
|
|
14635
|
+
(sum, addOn) => sum + (addOn.isSelected ? (planPeriod === "month" ? addOn.monthlyPrice : addOn.yearlyPrice)?.price ?? 0 : 0),
|
|
14546
14636
|
0
|
|
14547
14637
|
);
|
|
14548
14638
|
total += addOnCost;
|
|
14549
14639
|
const payInAdvanceCost = payInAdvanceEntitlements.reduce(
|
|
14550
|
-
(sum, { entitlement, quantity }) => sum + quantity * ((planPeriod === "month" ? entitlement.meteredMonthlyPrice : entitlement.meteredYearlyPrice)?.price
|
|
14640
|
+
(sum, { entitlement, quantity }) => sum + quantity * ((planPeriod === "month" ? entitlement.meteredMonthlyPrice : entitlement.meteredYearlyPrice)?.price ?? 0),
|
|
14551
14641
|
0
|
|
14552
14642
|
);
|
|
14553
14643
|
total += payInAdvanceCost;
|
|
14554
14644
|
return formatCurrency(total, currency);
|
|
14555
|
-
}, [selectedPlan, addOns, payInAdvanceEntitlements
|
|
14645
|
+
}, [selectedPlan, currentPlan, planPeriod, addOns, payInAdvanceEntitlements]);
|
|
14556
14646
|
const { amountOff, dueNow, newCharges, percentOff, periodStart, proration } = (0, import_react21.useMemo)(() => {
|
|
14557
14647
|
return {
|
|
14558
14648
|
amountOff: charges?.amountOff ?? 0,
|
|
@@ -14570,7 +14660,7 @@ var Sidebar = ({
|
|
|
14570
14660
|
}
|
|
14571
14661
|
try {
|
|
14572
14662
|
setError(void 0);
|
|
14573
|
-
|
|
14663
|
+
setIsLoading(true);
|
|
14574
14664
|
await api.checkout({
|
|
14575
14665
|
changeSubscriptionRequestBody: {
|
|
14576
14666
|
newPlanId: selectedPlan.id,
|
|
@@ -14604,29 +14694,50 @@ var Sidebar = ({
|
|
|
14604
14694
|
...promoCode && { promoCode }
|
|
14605
14695
|
}
|
|
14606
14696
|
});
|
|
14607
|
-
|
|
14697
|
+
setIsLoading(false);
|
|
14698
|
+
setLayout("portal");
|
|
14699
|
+
hydrate();
|
|
14608
14700
|
} catch {
|
|
14701
|
+
setLayout("checkout");
|
|
14609
14702
|
setError(
|
|
14610
14703
|
t2("Error processing payment. Please try a different payment method.")
|
|
14611
14704
|
);
|
|
14612
14705
|
} finally {
|
|
14613
|
-
|
|
14706
|
+
setIsLoading(false);
|
|
14614
14707
|
}
|
|
14615
14708
|
}, [
|
|
14616
14709
|
t2,
|
|
14617
14710
|
api,
|
|
14711
|
+
hydrate,
|
|
14618
14712
|
paymentMethodId,
|
|
14619
14713
|
planPeriod,
|
|
14620
14714
|
selectedPlan,
|
|
14621
14715
|
addOns,
|
|
14622
14716
|
setError,
|
|
14717
|
+
setIsLoading,
|
|
14623
14718
|
setLayout,
|
|
14624
|
-
toggleLoading,
|
|
14625
14719
|
payInAdvanceEntitlements,
|
|
14626
14720
|
promoCode
|
|
14627
14721
|
]);
|
|
14722
|
+
const unsubscribe = (0, import_react21.useCallback)(async () => {
|
|
14723
|
+
if (!api) {
|
|
14724
|
+
return;
|
|
14725
|
+
}
|
|
14726
|
+
try {
|
|
14727
|
+
setError(void 0);
|
|
14728
|
+
setIsLoading(true);
|
|
14729
|
+
await api.checkoutUnsubscribe();
|
|
14730
|
+
setLayout("portal");
|
|
14731
|
+
hydrate();
|
|
14732
|
+
} catch {
|
|
14733
|
+
setLayout("unsubscribe");
|
|
14734
|
+
setError(t2("Unsubscribe failed"));
|
|
14735
|
+
} finally {
|
|
14736
|
+
setIsLoading(false);
|
|
14737
|
+
}
|
|
14738
|
+
}, [t2, api, hydrate, setError, setIsLoading, setLayout]);
|
|
14628
14739
|
const selectedAddOns = addOns.filter((addOn) => addOn.isSelected);
|
|
14629
|
-
const willPlanChange = typeof selectedPlan !== "undefined" && selectedPlan.current
|
|
14740
|
+
const willPlanChange = typeof selectedPlan !== "undefined" && !selectedPlan.current;
|
|
14630
14741
|
const canUpdateSubscription = mode === "edit" || api !== null && (willPlanChange || // TODO: test add-on comparison for finding "changes"
|
|
14631
14742
|
selectedAddOns.length !== currentAddOns.length || !selectedAddOns.every(
|
|
14632
14743
|
(addOn) => currentAddOns.some((currentAddOn) => addOn.id === currentAddOn.id)
|
|
@@ -14661,12 +14772,12 @@ var Sidebar = ({
|
|
|
14661
14772
|
(acc, current) => {
|
|
14662
14773
|
const match2 = usageBasedEntitlements.every(
|
|
14663
14774
|
({ entitlement }) => entitlement.featureId !== current.usageData.featureId
|
|
14664
|
-
) &&
|
|
14665
|
-
(
|
|
14775
|
+
) && data.featureUsage?.features.find(
|
|
14776
|
+
(usage) => usage.feature?.id === current.usageData.featureId
|
|
14666
14777
|
);
|
|
14667
14778
|
if (match2) {
|
|
14668
14779
|
acc.push({
|
|
14669
|
-
|
|
14780
|
+
usage: match2,
|
|
14670
14781
|
allocation: current.allocation,
|
|
14671
14782
|
quantity: current.quantity
|
|
14672
14783
|
});
|
|
@@ -14706,7 +14817,7 @@ var Sidebar = ({
|
|
|
14706
14817
|
}
|
|
14707
14818
|
},
|
|
14708
14819
|
children: [
|
|
14709
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
14820
|
+
showHeader && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
14710
14821
|
Flex,
|
|
14711
14822
|
{
|
|
14712
14823
|
$position: "relative",
|
|
@@ -14876,9 +14987,9 @@ var Sidebar = ({
|
|
|
14876
14987
|
}
|
|
14877
14988
|
) }),
|
|
14878
14989
|
removedUsageBasedEntitlements.reduce(
|
|
14879
|
-
(acc, { allocation, quantity,
|
|
14880
|
-
if (typeof allocation === "number" &&
|
|
14881
|
-
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;
|
|
14882
14993
|
acc.push(
|
|
14883
14994
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
14884
14995
|
Flex,
|
|
@@ -14897,11 +15008,11 @@ var Sidebar = ({
|
|
|
14897
15008
|
$size: theme.typography.heading4.fontSize,
|
|
14898
15009
|
$weight: theme.typography.heading4.fontWeight,
|
|
14899
15010
|
$color: theme.typography.heading4.color,
|
|
14900
|
-
children:
|
|
15011
|
+
children: usage.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
14901
15012
|
quantity,
|
|
14902
15013
|
" ",
|
|
14903
|
-
(0, import_pluralize.default)(
|
|
14904
|
-
] }) :
|
|
15014
|
+
(0, import_pluralize.default)(usage.feature.name, quantity)
|
|
15015
|
+
] }) : usage.feature.name
|
|
14905
15016
|
}
|
|
14906
15017
|
) }),
|
|
14907
15018
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
@@ -14912,25 +15023,25 @@ var Sidebar = ({
|
|
|
14912
15023
|
$weight: theme.typography.text.fontWeight,
|
|
14913
15024
|
$color: theme.typography.text.color,
|
|
14914
15025
|
children: [
|
|
14915
|
-
|
|
15026
|
+
usage.priceBehavior === "pay_in_advance" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
14916
15027
|
formatCurrency(
|
|
14917
15028
|
price * quantity,
|
|
14918
|
-
(planPeriod === "month" ?
|
|
15029
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14919
15030
|
),
|
|
14920
15031
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("sub", { children: [
|
|
14921
15032
|
"/",
|
|
14922
15033
|
shortenPeriod(planPeriod)
|
|
14923
15034
|
] })
|
|
14924
15035
|
] }),
|
|
14925
|
-
|
|
15036
|
+
usage.priceBehavior === "pay_as_you_go" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
14926
15037
|
formatCurrency(
|
|
14927
15038
|
price,
|
|
14928
|
-
(planPeriod === "month" ?
|
|
15039
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14929
15040
|
),
|
|
14930
15041
|
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("sub", { children: [
|
|
14931
15042
|
"/",
|
|
14932
15043
|
(0, import_pluralize.default)(
|
|
14933
|
-
|
|
15044
|
+
usage.feature.name.toLowerCase(),
|
|
14934
15045
|
1
|
|
14935
15046
|
)
|
|
14936
15047
|
] })
|
|
@@ -14940,7 +15051,7 @@ var Sidebar = ({
|
|
|
14940
15051
|
) })
|
|
14941
15052
|
]
|
|
14942
15053
|
},
|
|
14943
|
-
|
|
15054
|
+
usage.entitlementId
|
|
14944
15055
|
)
|
|
14945
15056
|
);
|
|
14946
15057
|
}
|
|
@@ -15275,7 +15386,7 @@ var Sidebar = ({
|
|
|
15275
15386
|
children: proration > 0 ? t2("Proration") : !selectedPlan?.companyCanTrial && t2("Credits")
|
|
15276
15387
|
}
|
|
15277
15388
|
) }),
|
|
15278
|
-
/* @__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)(
|
|
15279
15390
|
Flex,
|
|
15280
15391
|
{
|
|
15281
15392
|
$justifyContent: "space-between",
|
|
@@ -15363,7 +15474,7 @@ var Sidebar = ({
|
|
|
15363
15474
|
{
|
|
15364
15475
|
$cursor: "pointer",
|
|
15365
15476
|
onClick: () => {
|
|
15366
|
-
updatePromoCode(void 0);
|
|
15477
|
+
updatePromoCode?.(void 0);
|
|
15367
15478
|
},
|
|
15368
15479
|
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15369
15480
|
Icon2,
|
|
@@ -15456,7 +15567,7 @@ var Sidebar = ({
|
|
|
15456
15567
|
]
|
|
15457
15568
|
}
|
|
15458
15569
|
),
|
|
15459
|
-
|
|
15570
|
+
subscriptionPrice && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
15460
15571
|
Flex,
|
|
15461
15572
|
{
|
|
15462
15573
|
$justifyContent: "space-between",
|
|
@@ -15559,11 +15670,11 @@ var Sidebar = ({
|
|
|
15559
15670
|
}
|
|
15560
15671
|
) })
|
|
15561
15672
|
] }),
|
|
15562
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15673
|
+
layout === "checkout" && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15563
15674
|
StageButton,
|
|
15564
15675
|
{
|
|
15565
15676
|
canTrial: selectedPlan?.companyCanTrial === true,
|
|
15566
|
-
canCheckout
|
|
15677
|
+
canCheckout,
|
|
15567
15678
|
canUpdateSubscription,
|
|
15568
15679
|
checkout,
|
|
15569
15680
|
checkoutStage,
|
|
@@ -15576,6 +15687,16 @@ var Sidebar = ({
|
|
|
15576
15687
|
trialPaymentMethodRequired: data.trialPaymentMethodRequired === true
|
|
15577
15688
|
}
|
|
15578
15689
|
),
|
|
15690
|
+
layout === "unsubscribe" && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15691
|
+
EmbedButton,
|
|
15692
|
+
{
|
|
15693
|
+
onClick: async () => {
|
|
15694
|
+
unsubscribe();
|
|
15695
|
+
},
|
|
15696
|
+
isLoading,
|
|
15697
|
+
children: t2("Cancel subscription")
|
|
15698
|
+
}
|
|
15699
|
+
),
|
|
15579
15700
|
!isLoading && error && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15580
15701
|
Text,
|
|
15581
15702
|
{
|
|
@@ -15586,7 +15707,7 @@ var Sidebar = ({
|
|
|
15586
15707
|
children: error
|
|
15587
15708
|
}
|
|
15588
15709
|
) }),
|
|
15589
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $opacity: "0.625", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15710
|
+
layout !== "unsubscribe" && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $opacity: "0.625", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
15590
15711
|
Text,
|
|
15591
15712
|
{
|
|
15592
15713
|
$font: theme.typography.text.fontFamily,
|
|
@@ -15772,15 +15893,7 @@ var Plan = ({
|
|
|
15772
15893
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
15773
15894
|
children: [
|
|
15774
15895
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
15775
|
-
plan.entitlements.
|
|
15776
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
15777
|
-
return 1;
|
|
15778
|
-
}
|
|
15779
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
15780
|
-
return -1;
|
|
15781
|
-
}
|
|
15782
|
-
return 0;
|
|
15783
|
-
}).reduce((acc, entitlement) => {
|
|
15896
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
15784
15897
|
const hasNumericValue = entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait";
|
|
15785
15898
|
let metricPeriodText;
|
|
15786
15899
|
if (hasNumericValue && entitlement.metricPeriod) {
|
|
@@ -15926,7 +16039,8 @@ var Plan = ({
|
|
|
15926
16039
|
) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
15927
16040
|
EmbedButton,
|
|
15928
16041
|
{
|
|
15929
|
-
|
|
16042
|
+
type: "button",
|
|
16043
|
+
disabled: (isLoading || !plan.valid) && !plan.custom,
|
|
15930
16044
|
...{
|
|
15931
16045
|
onClick: () => {
|
|
15932
16046
|
if (plan.custom) {
|
|
@@ -16063,6 +16177,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16063
16177
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Flex, { $flexDirection: "column", $justifyContent: "end", $flexGrow: "1", children: !addOn.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
16064
16178
|
EmbedButton,
|
|
16065
16179
|
{
|
|
16180
|
+
type: "button",
|
|
16066
16181
|
disabled: isLoading || !addOn.valid,
|
|
16067
16182
|
onClick: () => toggle(addOn.id),
|
|
16068
16183
|
$size: "sm",
|
|
@@ -16073,6 +16188,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16073
16188
|
) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
16074
16189
|
EmbedButton,
|
|
16075
16190
|
{
|
|
16191
|
+
type: "button",
|
|
16076
16192
|
disabled: isLoading || !addOn.valid,
|
|
16077
16193
|
onClick: () => toggle(addOn.id),
|
|
16078
16194
|
$size: "sm",
|
|
@@ -16111,15 +16227,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16111
16227
|
const cardPadding = theme.card.padding / TEXT_BASE_SIZE;
|
|
16112
16228
|
const unitPriceFontSize = 0.875 * theme.typography.text.fontSize;
|
|
16113
16229
|
const unitPriceColor = hexToHSL(theme.typography.text.color).l > 50 ? darken(theme.typography.text.color, 0.46) : lighten(theme.typography.text.color, 0.46);
|
|
16114
|
-
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.
|
|
16115
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name > b2.entitlement.feature?.name) {
|
|
16116
|
-
return 1;
|
|
16117
|
-
}
|
|
16118
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name < b2.entitlement.feature?.name) {
|
|
16119
|
-
return -1;
|
|
16120
|
-
}
|
|
16121
|
-
return 0;
|
|
16122
|
-
}).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(
|
|
16123
16231
|
(acc, { entitlement, quantity, usage }) => {
|
|
16124
16232
|
if (entitlement.priceBehavior === "pay_in_advance" && entitlement.feature) {
|
|
16125
16233
|
acc.push(
|
|
@@ -16252,10 +16360,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16252
16360
|
),
|
|
16253
16361
|
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("sub", { children: [
|
|
16254
16362
|
"/",
|
|
16255
|
-
(0, import_pluralize3.default)(
|
|
16256
|
-
entitlement.feature.name.toLowerCase(),
|
|
16257
|
-
1
|
|
16258
|
-
),
|
|
16363
|
+
(0, import_pluralize3.default)(entitlement.feature.name.toLowerCase(), 1),
|
|
16259
16364
|
"/",
|
|
16260
16365
|
shortenPeriod(period)
|
|
16261
16366
|
] })
|
|
@@ -16317,7 +16422,7 @@ var registerWrapper = function registerWrapper2(stripe, startTime) {
|
|
|
16317
16422
|
}
|
|
16318
16423
|
stripe._registerWrapper({
|
|
16319
16424
|
name: "stripe-js",
|
|
16320
|
-
version: "5.
|
|
16425
|
+
version: "5.9.1",
|
|
16321
16426
|
startTime
|
|
16322
16427
|
});
|
|
16323
16428
|
};
|
|
@@ -16325,8 +16430,10 @@ var stripePromise$1 = null;
|
|
|
16325
16430
|
var onErrorListener = null;
|
|
16326
16431
|
var onLoadListener = null;
|
|
16327
16432
|
var onError = function onError2(reject) {
|
|
16328
|
-
return function() {
|
|
16329
|
-
reject(new Error("Failed to load Stripe.js"
|
|
16433
|
+
return function(cause) {
|
|
16434
|
+
reject(new Error("Failed to load Stripe.js", {
|
|
16435
|
+
cause
|
|
16436
|
+
}));
|
|
16330
16437
|
};
|
|
16331
16438
|
};
|
|
16332
16439
|
var onLoad = function onLoad2(resolve, reject) {
|
|
@@ -16620,30 +16727,14 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16620
16727
|
(plan) => selected.planId ? plan.id === selected.planId : plan.current
|
|
16621
16728
|
)
|
|
16622
16729
|
);
|
|
16623
|
-
const currentAddOns = data.company?.addOns || [];
|
|
16624
16730
|
const [addOns, setAddOns] = (0, import_react24.useState)(
|
|
16625
16731
|
() => availableAddOns.map((addOn) => ({
|
|
16626
16732
|
...addOn,
|
|
16627
|
-
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
|
+
)
|
|
16628
16736
|
}))
|
|
16629
16737
|
);
|
|
16630
|
-
const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
|
|
16631
|
-
(acc, usageData) => {
|
|
16632
|
-
const featureUsage = data.featureUsage?.features.find(
|
|
16633
|
-
(usage2) => usage2.feature?.id === usageData.featureId
|
|
16634
|
-
);
|
|
16635
|
-
const allocation = featureUsage?.allocation || 0;
|
|
16636
|
-
const usage = featureUsage?.usage || 0;
|
|
16637
|
-
acc.push({
|
|
16638
|
-
usageData,
|
|
16639
|
-
allocation,
|
|
16640
|
-
quantity: allocation ?? usage,
|
|
16641
|
-
usage
|
|
16642
|
-
});
|
|
16643
|
-
return acc;
|
|
16644
|
-
},
|
|
16645
|
-
[]
|
|
16646
|
-
);
|
|
16647
16738
|
const createActiveUsageBasedEntitlementsReducer = (0, import_react24.useCallback)(
|
|
16648
16739
|
(period = planPeriod) => (acc, entitlement) => {
|
|
16649
16740
|
if (entitlement.priceBehavior && (period === "month" && entitlement.meteredMonthlyPrice || period === "year" && entitlement.meteredYearlyPrice)) {
|
|
@@ -16669,19 +16760,13 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16669
16760
|
[]
|
|
16670
16761
|
)
|
|
16671
16762
|
);
|
|
16672
|
-
const currentPlan = (0, import_react24.useMemo)(
|
|
16673
|
-
() => availablePlans.find(
|
|
16674
|
-
(plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
|
|
16675
|
-
),
|
|
16676
|
-
[data.company?.plan, planPeriod, availablePlans]
|
|
16677
|
-
);
|
|
16678
16763
|
const payInAdvanceEntitlements = (0, import_react24.useMemo)(
|
|
16679
16764
|
() => usageBasedEntitlements.filter(
|
|
16680
16765
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
16681
16766
|
),
|
|
16682
16767
|
[usageBasedEntitlements]
|
|
16683
16768
|
);
|
|
16684
|
-
const hasActiveAddOns = addOns.some((addOn) => addOn.isSelected
|
|
16769
|
+
const hasActiveAddOns = addOns.some((addOn) => addOn.isSelected);
|
|
16685
16770
|
const hasActivePayInAdvanceEntitlements = payInAdvanceEntitlements.some(
|
|
16686
16771
|
({ quantity }) => quantity > 0
|
|
16687
16772
|
);
|
|
@@ -16731,7 +16816,7 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16731
16816
|
if (selected.usage) {
|
|
16732
16817
|
return "usage";
|
|
16733
16818
|
}
|
|
16734
|
-
if (selected.planId !==
|
|
16819
|
+
if (selected.planId !== data.company?.plan?.id) {
|
|
16735
16820
|
return checkoutStages.some((stage) => stage.id === "usage") ? "usage" : checkoutStages.some((stage) => stage.id === "addons") ? "addons" : "plan";
|
|
16736
16821
|
}
|
|
16737
16822
|
return "plan";
|
|
@@ -17076,27 +17161,24 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
17076
17161
|
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
17077
17162
|
Sidebar,
|
|
17078
17163
|
{
|
|
17164
|
+
planPeriod,
|
|
17165
|
+
selectedPlan,
|
|
17079
17166
|
addOns,
|
|
17167
|
+
usageBasedEntitlements,
|
|
17080
17168
|
charges,
|
|
17081
17169
|
checkoutRef,
|
|
17082
17170
|
checkoutStage,
|
|
17083
17171
|
checkoutStages,
|
|
17084
|
-
currentAddOns,
|
|
17085
|
-
currentUsageBasedEntitlements,
|
|
17086
17172
|
error,
|
|
17087
|
-
currentPlan,
|
|
17088
17173
|
isLoading,
|
|
17089
17174
|
paymentMethodId,
|
|
17090
|
-
planPeriod,
|
|
17091
17175
|
promoCode,
|
|
17092
17176
|
requiresPayment,
|
|
17093
|
-
selectedPlan,
|
|
17094
17177
|
setCheckoutStage: (stage) => setCheckoutStage(stage),
|
|
17095
17178
|
setError: (msg) => setError(msg),
|
|
17179
|
+
setIsLoading,
|
|
17096
17180
|
showPaymentForm,
|
|
17097
|
-
|
|
17098
|
-
updatePromoCode: (code) => updatePromoCode(code),
|
|
17099
|
-
usageBasedEntitlements
|
|
17181
|
+
updatePromoCode: (code) => updatePromoCode(code)
|
|
17100
17182
|
}
|
|
17101
17183
|
)
|
|
17102
17184
|
]
|
|
@@ -17291,20 +17373,205 @@ var PeriodToggle = ({
|
|
|
17291
17373
|
);
|
|
17292
17374
|
};
|
|
17293
17375
|
|
|
17294
|
-
// src/components/
|
|
17376
|
+
// src/components/shared/unsubscribe-dialog/UnsubscribeDialog.tsx
|
|
17377
|
+
var import_react27 = require("react");
|
|
17295
17378
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
17379
|
+
var UnsubscribeDialog = () => {
|
|
17380
|
+
const { t: t2 } = useTranslation();
|
|
17381
|
+
const theme = nt();
|
|
17382
|
+
const { data, setLayout, setSelected } = useEmbed();
|
|
17383
|
+
const [error, setError] = (0, import_react27.useState)();
|
|
17384
|
+
const [isLoading, setIsLoading] = (0, import_react27.useState)(false);
|
|
17385
|
+
const planPeriod = (0, import_react27.useMemo)(
|
|
17386
|
+
() => data.company?.plan?.planPeriod ?? "month",
|
|
17387
|
+
[data.company?.plan?.planPeriod]
|
|
17388
|
+
);
|
|
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]
|
|
17395
|
+
);
|
|
17396
|
+
const usageBasedEntitlements = (selectedPlan?.entitlements || []).reduce(
|
|
17397
|
+
(acc, entitlement) => {
|
|
17398
|
+
if (entitlement.priceBehavior && (planPeriod === "month" && entitlement.meteredMonthlyPrice || planPeriod === "year" && entitlement.meteredYearlyPrice)) {
|
|
17399
|
+
const featureUsage = data.featureUsage?.features.find(
|
|
17400
|
+
(usage2) => usage2.feature?.id === entitlement.feature?.id
|
|
17401
|
+
);
|
|
17402
|
+
const allocation = featureUsage?.allocation ?? 0;
|
|
17403
|
+
const usage = featureUsage?.usage ?? 0;
|
|
17404
|
+
acc.push({
|
|
17405
|
+
entitlement,
|
|
17406
|
+
allocation,
|
|
17407
|
+
quantity: allocation,
|
|
17408
|
+
usage
|
|
17409
|
+
});
|
|
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]
|
|
17421
|
+
);
|
|
17422
|
+
const cancelDate = new Date(
|
|
17423
|
+
data.subscription?.cancelAt || data.upcomingInvoice?.dueDate || Date.now()
|
|
17424
|
+
);
|
|
17425
|
+
const isLightBackground = useIsLightBackground();
|
|
17426
|
+
const handleClose = (0, import_react27.useCallback)(() => {
|
|
17427
|
+
setLayout("portal");
|
|
17428
|
+
}, [setLayout]);
|
|
17429
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Modal, { id: "unsubscribe-dialog", size: "auto", children: [
|
|
17430
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
17431
|
+
Box,
|
|
17432
|
+
{
|
|
17433
|
+
$display: "inline-flex",
|
|
17434
|
+
$position: "absolute",
|
|
17435
|
+
$top: 0,
|
|
17436
|
+
$right: 0,
|
|
17437
|
+
$zIndex: 1,
|
|
17438
|
+
$cursor: "pointer",
|
|
17439
|
+
onClick: handleClose,
|
|
17440
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
17441
|
+
Icon2,
|
|
17442
|
+
{
|
|
17443
|
+
name: "close",
|
|
17444
|
+
style: {
|
|
17445
|
+
fontSize: 36,
|
|
17446
|
+
color: isLightBackground ? "hsla(0, 0%, 0%, 0.275)" : "hsla(0, 0%, 100%, 0.275)"
|
|
17447
|
+
}
|
|
17448
|
+
}
|
|
17449
|
+
)
|
|
17450
|
+
}
|
|
17451
|
+
),
|
|
17452
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
17453
|
+
Flex,
|
|
17454
|
+
{
|
|
17455
|
+
$position: "relative",
|
|
17456
|
+
$flexDirection: "column",
|
|
17457
|
+
$height: "auto",
|
|
17458
|
+
$viewport: {
|
|
17459
|
+
md: {
|
|
17460
|
+
$flexDirection: "row",
|
|
17461
|
+
$height: "calc(100% - 5rem)"
|
|
17462
|
+
}
|
|
17463
|
+
},
|
|
17464
|
+
children: [
|
|
17465
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
17466
|
+
Flex,
|
|
17467
|
+
{
|
|
17468
|
+
$flexDirection: "column",
|
|
17469
|
+
$flexWrap: "wrap",
|
|
17470
|
+
$justifyContent: "space-around",
|
|
17471
|
+
$gap: "5rem",
|
|
17472
|
+
$padding: "2.5rem",
|
|
17473
|
+
children: [
|
|
17474
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Flex, { $flexDirection: "column", $flexWrap: "wrap", $gap: "0.5rem", children: [
|
|
17475
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
17476
|
+
Text,
|
|
17477
|
+
{
|
|
17478
|
+
as: "h2",
|
|
17479
|
+
$font: theme.typography.heading2.fontFamily,
|
|
17480
|
+
$size: theme.typography.heading2.fontSize,
|
|
17481
|
+
$weight: theme.typography.heading2.fontWeight,
|
|
17482
|
+
$color: theme.typography.heading2.color,
|
|
17483
|
+
children: t2("Cancel subscription")
|
|
17484
|
+
}
|
|
17485
|
+
),
|
|
17486
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
17487
|
+
Text,
|
|
17488
|
+
{
|
|
17489
|
+
as: "p",
|
|
17490
|
+
$font: theme.typography.text.fontFamily,
|
|
17491
|
+
$size: theme.typography.text.fontSize,
|
|
17492
|
+
$weight: theme.typography.text.fontWeight,
|
|
17493
|
+
$color: theme.typography.text.color,
|
|
17494
|
+
children: [
|
|
17495
|
+
t2(
|
|
17496
|
+
"You will retain access to your plan until the end of the billing period, on"
|
|
17497
|
+
),
|
|
17498
|
+
" ",
|
|
17499
|
+
cancelDate ? toPrettyDate(cancelDate, {
|
|
17500
|
+
month: "numeric"
|
|
17501
|
+
}) : ""
|
|
17502
|
+
]
|
|
17503
|
+
}
|
|
17504
|
+
)
|
|
17505
|
+
] }),
|
|
17506
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Flex, { $flexDirection: "column", $flexWrap: "wrap", $gap: "0.5rem", children: [
|
|
17507
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
17508
|
+
Text,
|
|
17509
|
+
{
|
|
17510
|
+
as: "p",
|
|
17511
|
+
$font: theme.typography.text.fontFamily,
|
|
17512
|
+
$size: theme.typography.text.fontSize,
|
|
17513
|
+
$weight: theme.typography.text.fontWeight,
|
|
17514
|
+
$color: theme.typography.text.color,
|
|
17515
|
+
children: t2("Not ready to cancel?")
|
|
17516
|
+
}
|
|
17517
|
+
),
|
|
17518
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
17519
|
+
EmbedButton,
|
|
17520
|
+
{
|
|
17521
|
+
onClick: () => {
|
|
17522
|
+
setSelected({
|
|
17523
|
+
planId: data.company?.plan?.id,
|
|
17524
|
+
addOnId: void 0,
|
|
17525
|
+
usage: false
|
|
17526
|
+
});
|
|
17527
|
+
setLayout("checkout");
|
|
17528
|
+
},
|
|
17529
|
+
$size: "sm",
|
|
17530
|
+
$color: "secondary",
|
|
17531
|
+
$variant: "ghost",
|
|
17532
|
+
$fullWidth: false,
|
|
17533
|
+
children: t2("Manage plan")
|
|
17534
|
+
}
|
|
17535
|
+
)
|
|
17536
|
+
] })
|
|
17537
|
+
]
|
|
17538
|
+
}
|
|
17539
|
+
),
|
|
17540
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
17541
|
+
Sidebar,
|
|
17542
|
+
{
|
|
17543
|
+
planPeriod,
|
|
17544
|
+
addOns,
|
|
17545
|
+
usageBasedEntitlements,
|
|
17546
|
+
error,
|
|
17547
|
+
isLoading,
|
|
17548
|
+
showHeader: false,
|
|
17549
|
+
showPaymentForm: false,
|
|
17550
|
+
requiresPayment: false,
|
|
17551
|
+
setError: (msg) => setError(msg),
|
|
17552
|
+
setIsLoading
|
|
17553
|
+
}
|
|
17554
|
+
)
|
|
17555
|
+
]
|
|
17556
|
+
}
|
|
17557
|
+
)
|
|
17558
|
+
] });
|
|
17559
|
+
};
|
|
17560
|
+
|
|
17561
|
+
// src/components/ui/badge/Badge.tsx
|
|
17562
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
17296
17563
|
var Badge = () => {
|
|
17297
17564
|
const { t: t2 } = useTranslation();
|
|
17298
17565
|
const { settings } = useEmbed();
|
|
17299
|
-
return /* @__PURE__ */ (0,
|
|
17566
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
17300
17567
|
Flex,
|
|
17301
17568
|
{
|
|
17302
17569
|
$justifyContent: settings.badge?.alignment || "start",
|
|
17303
17570
|
$alignItems: "center",
|
|
17304
17571
|
$gridColumn: "1 / -1",
|
|
17305
17572
|
children: [
|
|
17306
|
-
/* @__PURE__ */ (0,
|
|
17307
|
-
/* @__PURE__ */ (0,
|
|
17573
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box, { $fontSize: "0.75rem", $marginRight: "0.5rem", children: t2("Powered by") }),
|
|
17574
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
17308
17575
|
"svg",
|
|
17309
17576
|
{
|
|
17310
17577
|
width: 86,
|
|
@@ -17312,77 +17579,77 @@ var Badge = () => {
|
|
|
17312
17579
|
viewBox: "0 0 86 16",
|
|
17313
17580
|
style: { marginTop: "0.125rem" },
|
|
17314
17581
|
children: [
|
|
17315
|
-
/* @__PURE__ */ (0,
|
|
17582
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17316
17583
|
"path",
|
|
17317
17584
|
{
|
|
17318
17585
|
d: "M21.2354 6.16227C21.1796 5.95015 21.0494 5.76779 20.8261 5.61893C20.6028 5.46635 20.3423 5.39564 20.0408 5.39564C19.3151 5.39564 18.7941 5.69708 18.7941 6.2367C18.7941 6.49721 18.9095 6.69073 19.1402 6.81726C19.3635 6.94379 19.732 7.07033 20.2344 7.18569C21.0084 7.37177 21.4922 7.51691 21.9686 7.7402C22.203 7.85557 22.3928 7.97465 22.5305 8.10863C22.7948 8.3803 22.9548 8.74501 22.9362 9.20276C22.9176 9.86147 22.6571 10.375 22.1547 10.7397C21.6523 11.1082 20.9563 11.2905 20.0818 11.2905C19.2072 11.2905 18.5597 11.1268 18.0312 10.8067C17.5065 10.4867 17.2013 10.0215 17.1194 9.41116L18.6192 9.27719C18.6974 9.57491 18.8723 9.7982 19.1514 9.94706C19.4305 10.0959 19.7394 10.1778 20.0818 10.1778C20.4614 10.1778 20.7777 10.0996 21.0308 9.9359C21.2838 9.77959 21.4104 9.56002 21.4104 9.28835C21.4104 8.90876 21.0531 8.61104 20.5991 8.43613C20.3683 8.35053 20.0855 8.27238 19.7468 8.19423C19.2705 8.07886 18.8946 7.97094 18.6155 7.87418C18.3364 7.78486 18.0908 7.66205 17.8712 7.51319C17.4358 7.21547 17.2832 6.8247 17.2832 6.2367C17.2832 5.61521 17.5325 5.13141 18.0312 4.79648C18.5262 4.46526 19.2035 4.29407 20.0669 4.29407C21.5853 4.29407 22.5752 4.9044 22.7389 6.05807L21.228 6.16227H21.2354Z",
|
|
17319
17586
|
fill: "currentColor"
|
|
17320
17587
|
}
|
|
17321
17588
|
),
|
|
17322
|
-
/* @__PURE__ */ (0,
|
|
17589
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17323
17590
|
"path",
|
|
17324
17591
|
{
|
|
17325
17592
|
d: "M29.4145 8.9796L30.7803 9.55271C30.49 10.0923 30.0621 10.5129 29.5001 10.8217C28.9382 11.1344 28.3167 11.2944 27.6319 11.2944C26.9472 11.2944 26.3629 11.1567 25.8121 10.8701C25.2613 10.5873 24.8147 10.1742 24.4835 9.6383C24.1523 9.09868 23.9811 8.48835 23.9811 7.79987C23.9811 7.11138 24.1486 6.49361 24.4835 5.95771C24.8147 5.41809 25.2613 5.00873 25.8121 4.72589C26.3629 4.44305 26.9732 4.30164 27.6319 4.30164C28.2906 4.30164 28.9382 4.45794 29.5038 4.77427C30.0658 5.08688 30.4938 5.51113 30.7803 6.05075L29.4145 6.62015C29.0535 5.93539 28.3985 5.56323 27.6319 5.56323C27.0327 5.56323 26.5303 5.77536 26.1135 6.19961C25.6967 6.62387 25.492 7.15977 25.492 7.80731C25.492 8.45486 25.6967 8.99076 26.1135 9.40757C26.5303 9.83182 27.0327 10.0439 27.6319 10.0439C28.3985 10.0439 29.0535 9.66807 29.4145 8.98703V8.9796Z",
|
|
17326
17593
|
fill: "currentColor"
|
|
17327
17594
|
}
|
|
17328
17595
|
),
|
|
17329
|
-
/* @__PURE__ */ (0,
|
|
17596
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17330
17597
|
"path",
|
|
17331
17598
|
{
|
|
17332
17599
|
d: "M37.4386 11.2049V7.80341C37.4386 6.35945 36.9139 5.59282 35.697 5.59282C35.0978 5.59282 34.614 5.7975 34.2419 6.21059C33.8623 6.61996 33.6725 7.15214 33.6725 7.80713V11.2086H32.1615V1.9234H33.6725V5.47745C34.1004 4.73315 35.001 4.29773 36.1919 4.29773C37.167 4.29773 37.8666 4.59917 38.302 5.19834C38.7375 5.7975 38.9533 6.66834 38.9533 7.80341V11.2049H37.4349H37.4386Z",
|
|
17333
17600
|
fill: "currentColor"
|
|
17334
17601
|
}
|
|
17335
17602
|
),
|
|
17336
|
-
/* @__PURE__ */ (0,
|
|
17603
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17337
17604
|
"path",
|
|
17338
17605
|
{
|
|
17339
17606
|
d: "M46.5692 5.38819C47.2167 6.07295 47.5777 7.1187 47.5107 8.30587H41.8242C41.9284 8.83805 42.1741 9.26602 42.5611 9.59352C42.9481 9.92473 43.4022 10.0885 43.9157 10.0885C44.8052 10.0885 45.5234 9.59724 45.8844 8.78222L47.1795 9.40372C46.8818 9.99172 46.4352 10.4495 45.8509 10.7881C45.2629 11.1268 44.6191 11.2943 43.9157 11.2943C42.9295 11.2943 42.0178 10.9444 41.3516 10.3453C40.6855 9.7461 40.2649 8.83432 40.2649 7.79602C40.2649 6.75771 40.6892 5.84222 41.3516 5.23933C42.0178 4.64017 42.9295 4.29034 43.9157 4.29034C44.9801 4.29034 45.9216 4.69971 46.5692 5.38447V5.38819ZM42.5388 6.00224C42.1592 6.32974 41.921 6.75772 41.8205 7.29734H46.0221C45.9179 6.75772 45.6835 6.3223 45.3039 5.99852C44.9243 5.67847 44.4628 5.51473 43.9195 5.51473C43.3761 5.51473 42.9221 5.67847 42.5425 6.00597L42.5388 6.00224Z",
|
|
17340
17607
|
fill: "currentColor"
|
|
17341
17608
|
}
|
|
17342
17609
|
),
|
|
17343
|
-
/* @__PURE__ */ (0,
|
|
17610
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17344
17611
|
"path",
|
|
17345
17612
|
{
|
|
17346
17613
|
d: "M59.7699 5.23933C60.1495 5.86827 60.3132 6.68329 60.3132 7.80347V11.2049H58.8023V7.80347C58.8023 6.35952 58.3371 5.59288 57.2318 5.59288C56.6438 5.59288 56.1861 5.79384 55.8586 6.19577C55.5311 6.60141 55.3673 7.13731 55.3673 7.80347V11.2049H53.8489V7.80347C53.8489 6.35952 53.3838 5.59288 52.2785 5.59288C51.6905 5.59288 51.2327 5.79384 50.9052 6.19577C50.574 6.60141 50.4102 7.13731 50.4102 7.80347V11.2049H48.8993V4.39827H50.3433L50.4102 5.47379C50.8196 4.65878 51.5825 4.29407 52.8106 4.29407C53.9606 4.29407 54.7161 4.78531 55.077 5.76407C55.5199 4.81508 56.4428 4.29407 57.7677 4.29407C58.7093 4.29407 59.3829 4.61412 59.7699 5.23562V5.23933Z",
|
|
17347
17614
|
fill: "currentColor"
|
|
17348
17615
|
}
|
|
17349
17616
|
),
|
|
17350
|
-
/* @__PURE__ */ (0,
|
|
17617
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17351
17618
|
"path",
|
|
17352
17619
|
{
|
|
17353
17620
|
d: "M67.4264 5.47382L67.4934 4.3983H68.9373V11.205H67.4934L67.4264 10.1294C67.0282 10.9147 66.1797 11.3092 64.8809 11.3017C63.102 11.3427 61.591 9.79823 61.6283 7.8035C61.591 5.8162 63.102 4.2606 64.8809 4.29782C66.0643 4.29782 67.0096 4.7444 67.4264 5.47754V5.47382ZM66.8049 9.37398C67.2217 8.95717 67.4264 8.43243 67.4264 7.79605C67.4264 7.15967 67.2217 6.64238 66.8049 6.21813C66.3881 5.80132 65.8782 5.58919 65.2828 5.58919C64.6874 5.58919 64.1887 5.80132 63.7719 6.21813C63.355 6.64238 63.1504 7.16711 63.1504 7.79605C63.1504 8.42499 63.355 8.95717 63.7719 9.37398C64.1887 9.79823 64.6911 10.0104 65.2828 10.0104C65.8745 10.0104 66.3881 9.79823 66.8049 9.37398Z",
|
|
17354
17621
|
fill: "currentColor"
|
|
17355
17622
|
}
|
|
17356
17623
|
),
|
|
17357
|
-
/* @__PURE__ */ (0,
|
|
17624
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17358
17625
|
"path",
|
|
17359
17626
|
{
|
|
17360
17627
|
d: "M71.3891 2.85757H72.8926V4.39828H74.6455V5.58172H72.8926V8.9683C72.8926 9.5898 73.1048 9.90985 73.5923 9.96568C73.89 10.0252 74.2398 10.0141 74.6455 9.9359V11.1863C74.1989 11.257 73.7858 11.2943 73.4062 11.2943C72.6731 11.2943 72.1595 11.1082 71.8543 10.7323C71.5454 10.3639 71.3891 9.79076 71.3891 9.02041V5.58172H70.4215V4.39828H71.3891V2.85757Z",
|
|
17361
17628
|
fill: "currentColor"
|
|
17362
17629
|
}
|
|
17363
17630
|
),
|
|
17364
|
-
/* @__PURE__ */ (0,
|
|
17631
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17365
17632
|
"path",
|
|
17366
17633
|
{
|
|
17367
17634
|
d: "M76.1747 3.15526C75.9923 2.98035 75.903 2.76078 75.903 2.50772C75.903 2.25466 75.9923 2.04997 76.1747 1.86762C76.3496 1.69271 76.5691 1.60339 76.8222 1.60339C77.0753 1.60339 77.2874 1.69271 77.4623 1.86762C77.6372 2.04997 77.7265 2.2621 77.7265 2.50772C77.7265 2.75334 77.6372 2.97291 77.4623 3.15526C77.2874 3.33762 77.0678 3.42694 76.8222 3.42694C76.5766 3.42694 76.3496 3.33762 76.1747 3.15526ZM76.0593 4.39826H77.5777V11.2049H76.0593V4.39826Z",
|
|
17368
17635
|
fill: "currentColor"
|
|
17369
17636
|
}
|
|
17370
17637
|
),
|
|
17371
|
-
/* @__PURE__ */ (0,
|
|
17638
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17372
17639
|
"path",
|
|
17373
17640
|
{
|
|
17374
17641
|
d: "M84.3023 8.9796L85.6681 9.55271C85.3778 10.0923 84.9498 10.5129 84.3879 10.8217C83.8259 11.1344 83.2044 11.2944 82.5197 11.2944C81.8349 11.2944 81.2506 11.1567 80.6998 10.8701C80.1491 10.5873 79.7025 10.1742 79.3713 9.6383C79.04 9.09868 78.8689 8.48835 78.8689 7.79987C78.8689 7.11138 79.0363 6.49361 79.3713 5.95771C79.7025 5.41809 80.1528 5.00873 80.6998 4.72589C81.2469 4.44305 81.8609 4.30164 82.5197 4.30164C83.1784 4.30164 83.8259 4.45794 84.3916 4.77427C84.9535 5.08688 85.3815 5.51113 85.6681 6.05075L84.3023 6.62015C83.9413 5.93539 83.2863 5.56323 82.5197 5.56323C81.9205 5.56323 81.4181 5.77536 81.0013 6.19961C80.5845 6.62387 80.3798 7.15977 80.3798 7.80731C80.3798 8.45486 80.5845 8.99076 81.0013 9.40757C81.4181 9.83182 81.9205 10.0439 82.5197 10.0439C83.2863 10.0439 83.9413 9.66807 84.3023 8.98703V8.9796Z",
|
|
17375
17642
|
fill: "currentColor"
|
|
17376
17643
|
}
|
|
17377
17644
|
),
|
|
17378
|
-
/* @__PURE__ */ (0,
|
|
17645
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17379
17646
|
"path",
|
|
17380
17647
|
{
|
|
17381
17648
|
d: "M5.93091 10.8141L7.2758 9.41753L3.83719 5.84667C2.98568 4.9624 2.98568 3.52157 3.83719 2.63731C4.68871 1.75305 6.07617 1.75305 6.92769 2.63731L10.3663 6.20817L11.7112 4.81156L8.27258 1.24069C6.67975 -0.413401 4.08513 -0.413401 2.4923 1.24069C0.899472 2.89479 0.899472 5.58919 2.4923 7.24328L5.93091 10.8141Z",
|
|
17382
17649
|
fill: "currentColor"
|
|
17383
17650
|
}
|
|
17384
17651
|
),
|
|
17385
|
-
/* @__PURE__ */ (0,
|
|
17652
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17386
17653
|
"path",
|
|
17387
17654
|
{
|
|
17388
17655
|
d: "M6.05827 3.54751C5.68761 3.1626 5.08404 3.1626 4.71338 3.54751C4.34272 3.93243 4.34272 4.55921 4.71338 4.94413L9.02103 9.41746L5.93054 12.6268L1.62288 8.15349C1.25223 7.76857 0.648653 7.76857 0.277994 8.15349C-0.0926647 8.5384 -0.0926647 9.16519 0.277994 9.5501L5.93054 15.4201L11.7108 9.41746L6.05827 3.54751Z",
|
|
@@ -17398,11 +17665,10 @@ var Badge = () => {
|
|
|
17398
17665
|
};
|
|
17399
17666
|
|
|
17400
17667
|
// src/components/layout/RenderLayout.tsx
|
|
17401
|
-
var
|
|
17402
|
-
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
17668
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
17403
17669
|
var Disabled = () => {
|
|
17404
17670
|
const theme = nt();
|
|
17405
|
-
return /* @__PURE__ */ (0,
|
|
17671
|
+
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)(
|
|
17406
17672
|
Element,
|
|
17407
17673
|
{
|
|
17408
17674
|
as: Flex,
|
|
@@ -17411,7 +17677,7 @@ var Disabled = () => {
|
|
|
17411
17677
|
$alignItems: "center",
|
|
17412
17678
|
$whiteSpace: "nowrap",
|
|
17413
17679
|
children: [
|
|
17414
|
-
/* @__PURE__ */ (0,
|
|
17680
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
17415
17681
|
Text,
|
|
17416
17682
|
{
|
|
17417
17683
|
as: "h1",
|
|
@@ -17422,7 +17688,7 @@ var Disabled = () => {
|
|
|
17422
17688
|
children: "Portal not found"
|
|
17423
17689
|
}
|
|
17424
17690
|
) }),
|
|
17425
|
-
/* @__PURE__ */ (0,
|
|
17691
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
17426
17692
|
Text,
|
|
17427
17693
|
{
|
|
17428
17694
|
as: "p",
|
|
@@ -17437,71 +17703,11 @@ var Disabled = () => {
|
|
|
17437
17703
|
}
|
|
17438
17704
|
) }) });
|
|
17439
17705
|
};
|
|
17440
|
-
var Success = () => {
|
|
17441
|
-
const theme = nt();
|
|
17442
|
-
const { hydrate, data, api, setLayout, isPending } = useEmbed();
|
|
17443
|
-
const [isOpen, setIsOpen] = (0, import_react27.useState)(true);
|
|
17444
|
-
(0, import_react27.useEffect)(() => {
|
|
17445
|
-
if (api && data.component?.id) {
|
|
17446
|
-
hydrate();
|
|
17447
|
-
setTimeout(() => setIsOpen(false), 2e3);
|
|
17448
|
-
}
|
|
17449
|
-
}, [api, data.component?.id, hydrate]);
|
|
17450
|
-
(0, import_react27.useEffect)(() => {
|
|
17451
|
-
if (!isPending && !isOpen) {
|
|
17452
|
-
setLayout("portal");
|
|
17453
|
-
}
|
|
17454
|
-
}, [isPending, isOpen, setLayout]);
|
|
17455
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box, { $width: "max-content", $height: "max-content", $margin: "0 auto", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
17456
|
-
Element,
|
|
17457
|
-
{
|
|
17458
|
-
as: Flex,
|
|
17459
|
-
$flexDirection: "column",
|
|
17460
|
-
$justifyContent: "center",
|
|
17461
|
-
$alignItems: "center",
|
|
17462
|
-
$whiteSpace: "nowrap",
|
|
17463
|
-
children: [
|
|
17464
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box, { $marginBottom: "1.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17465
|
-
IconRound,
|
|
17466
|
-
{
|
|
17467
|
-
name: "check",
|
|
17468
|
-
size: "3xl",
|
|
17469
|
-
colors: [theme.card.background, theme.primary]
|
|
17470
|
-
}
|
|
17471
|
-
) }),
|
|
17472
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17473
|
-
Text,
|
|
17474
|
-
{
|
|
17475
|
-
as: "h1",
|
|
17476
|
-
$font: theme.typography.heading1.fontFamily,
|
|
17477
|
-
$size: theme.typography.heading1.fontSize,
|
|
17478
|
-
$weight: theme.typography.heading1.fontWeight,
|
|
17479
|
-
$color: theme.typography.heading1.color,
|
|
17480
|
-
children: "Subscription updated!"
|
|
17481
|
-
}
|
|
17482
|
-
) }),
|
|
17483
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
17484
|
-
Text,
|
|
17485
|
-
{
|
|
17486
|
-
as: "p",
|
|
17487
|
-
$font: theme.typography.text.fontFamily,
|
|
17488
|
-
$size: theme.typography.text.fontSize,
|
|
17489
|
-
$weight: theme.typography.text.fontWeight,
|
|
17490
|
-
$color: theme.typography.text.color,
|
|
17491
|
-
children: "Loading\u2026"
|
|
17492
|
-
}
|
|
17493
|
-
)
|
|
17494
|
-
]
|
|
17495
|
-
}
|
|
17496
|
-
) }) });
|
|
17497
|
-
};
|
|
17498
17706
|
var RenderLayout = ({ children }) => {
|
|
17499
17707
|
const { layout } = useEmbed();
|
|
17500
17708
|
switch (layout) {
|
|
17501
17709
|
case "disabled":
|
|
17502
|
-
return /* @__PURE__ */ (0,
|
|
17503
|
-
case "success":
|
|
17504
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Success, {});
|
|
17710
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Disabled, {});
|
|
17505
17711
|
default:
|
|
17506
17712
|
return children;
|
|
17507
17713
|
}
|
|
@@ -17526,14 +17732,14 @@ var StyledViewport = dt(Box).attrs(({ theme }) => ({
|
|
|
17526
17732
|
`;
|
|
17527
17733
|
|
|
17528
17734
|
// src/components/layout/viewport/Viewport.tsx
|
|
17529
|
-
var
|
|
17735
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
17530
17736
|
var Viewport = (0, import_react28.forwardRef)(
|
|
17531
17737
|
({ children, portal, ...props }, ref) => {
|
|
17532
17738
|
const { data, layout } = useEmbed();
|
|
17533
17739
|
const [top, setTop] = (0, import_react28.useState)(0);
|
|
17534
17740
|
const canCheckout = data.capabilities?.checkout ?? true;
|
|
17535
17741
|
(0, import_react28.useLayoutEffect)(() => {
|
|
17536
|
-
if (layout !== "checkout") {
|
|
17742
|
+
if (layout !== "checkout" && layout !== "unsubscribe") {
|
|
17537
17743
|
return;
|
|
17538
17744
|
}
|
|
17539
17745
|
const parent = portal || document.body;
|
|
@@ -17546,12 +17752,13 @@ var Viewport = (0, import_react28.forwardRef)(
|
|
|
17546
17752
|
parent.style.overflow = "";
|
|
17547
17753
|
};
|
|
17548
17754
|
}, [layout, portal]);
|
|
17549
|
-
return /* @__PURE__ */ (0,
|
|
17550
|
-
/* @__PURE__ */ (0,
|
|
17551
|
-
/* @__PURE__ */ (0,
|
|
17552
|
-
/* @__PURE__ */ (0,
|
|
17755
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_jsx_runtime23.Fragment, { children: [
|
|
17756
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(StyledViewport, { ref, ...props, children: [
|
|
17757
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(RenderLayout, { children }),
|
|
17758
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Badge, {})
|
|
17553
17759
|
] }),
|
|
17554
|
-
canCheckout && layout === "checkout" && (0, import_react_dom2.createPortal)(/* @__PURE__ */ (0,
|
|
17760
|
+
canCheckout && layout === "checkout" && (0, import_react_dom2.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(CheckoutDialog, { top }), portal || document.body),
|
|
17761
|
+
layout === "unsubscribe" && (0, import_react_dom2.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(UnsubscribeDialog, {}), portal || document.body)
|
|
17555
17762
|
] });
|
|
17556
17763
|
}
|
|
17557
17764
|
);
|
|
@@ -17572,8 +17779,9 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17572
17779
|
const borderColor = l2 > 50 ? "hsla(0, 0%, 0%, 0.1)" : "hsla(0, 0%, 100%, 0.2)";
|
|
17573
17780
|
const borderRadius = `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`;
|
|
17574
17781
|
return lt`
|
|
17575
|
-
|
|
17782
|
+
position: relative;
|
|
17576
17783
|
box-sizing: border-box;
|
|
17784
|
+
font-size: ${TEXT_BASE_SIZE}px;
|
|
17577
17785
|
|
|
17578
17786
|
*,
|
|
17579
17787
|
*::before,
|
|
@@ -17604,10 +17812,31 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17604
17812
|
});
|
|
17605
17813
|
|
|
17606
17814
|
// src/components/layout/card/Card.tsx
|
|
17607
|
-
var
|
|
17815
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
17608
17816
|
var Card = (0, import_react29.forwardRef)(
|
|
17609
17817
|
({ children, className }, ref) => {
|
|
17610
|
-
|
|
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
|
+
] });
|
|
17611
17840
|
}
|
|
17612
17841
|
);
|
|
17613
17842
|
Card.displayName = "Card";
|
|
@@ -17618,10 +17847,10 @@ var StyledColumn = dt.div`
|
|
|
17618
17847
|
`;
|
|
17619
17848
|
|
|
17620
17849
|
// src/components/layout/column/Column.tsx
|
|
17621
|
-
var
|
|
17850
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
17622
17851
|
var Column = (0, import_react30.forwardRef)(
|
|
17623
17852
|
({ children, basis, ...props }, ref) => {
|
|
17624
|
-
return /* @__PURE__ */ (0,
|
|
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 });
|
|
17625
17854
|
}
|
|
17626
17855
|
);
|
|
17627
17856
|
Column.displayName = "Column";
|
|
@@ -17629,7 +17858,7 @@ Column.displayName = "Column";
|
|
|
17629
17858
|
// src/components/elements/included-features/Details.tsx
|
|
17630
17859
|
var import_react31 = require("react");
|
|
17631
17860
|
var import_pluralize4 = __toESM(require_pluralize());
|
|
17632
|
-
var
|
|
17861
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
17633
17862
|
var Details = ({
|
|
17634
17863
|
details,
|
|
17635
17864
|
shouldWrapChildren,
|
|
@@ -17687,7 +17916,7 @@ var Details = ({
|
|
|
17687
17916
|
if (!priceBehavior) {
|
|
17688
17917
|
return t2("Unlimited", { item: (0, import_pluralize4.default)(feature.name) });
|
|
17689
17918
|
}
|
|
17690
|
-
}, [allocation, feature?.name, price, priceBehavior,
|
|
17919
|
+
}, [t2, allocation, feature?.name, price, priceBehavior, currency]);
|
|
17691
17920
|
const usageText = (0, import_react31.useMemo)(() => {
|
|
17692
17921
|
if (!feature?.name) {
|
|
17693
17922
|
return;
|
|
@@ -17717,12 +17946,12 @@ var Details = ({
|
|
|
17717
17946
|
});
|
|
17718
17947
|
}
|
|
17719
17948
|
}, [
|
|
17949
|
+
t2,
|
|
17720
17950
|
allocation,
|
|
17721
17951
|
data.company?.plan?.planPeriod,
|
|
17722
17952
|
feature?.name,
|
|
17723
17953
|
price,
|
|
17724
17954
|
priceBehavior,
|
|
17725
|
-
t2,
|
|
17726
17955
|
usage,
|
|
17727
17956
|
usageData,
|
|
17728
17957
|
currency
|
|
@@ -17730,14 +17959,14 @@ var Details = ({
|
|
|
17730
17959
|
if (!text) {
|
|
17731
17960
|
return null;
|
|
17732
17961
|
}
|
|
17733
|
-
return /* @__PURE__ */ (0,
|
|
17962
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
|
|
17734
17963
|
Box,
|
|
17735
17964
|
{
|
|
17736
17965
|
$flexBasis: "min-content",
|
|
17737
17966
|
$flexGrow: "1",
|
|
17738
17967
|
$textAlign: shouldWrapChildren ? "left" : "right",
|
|
17739
17968
|
children: [
|
|
17740
|
-
props.entitlement.isVisible && /* @__PURE__ */ (0,
|
|
17969
|
+
props.entitlement.isVisible && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
17741
17970
|
Text,
|
|
17742
17971
|
{
|
|
17743
17972
|
$font: theme.typography[props.entitlement.fontStyle].fontFamily,
|
|
@@ -17748,7 +17977,7 @@ var Details = ({
|
|
|
17748
17977
|
children: text
|
|
17749
17978
|
}
|
|
17750
17979
|
) }),
|
|
17751
|
-
props.usage.isVisible && usageText && /* @__PURE__ */ (0,
|
|
17980
|
+
props.usage.isVisible && usageText && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
17752
17981
|
Text,
|
|
17753
17982
|
{
|
|
17754
17983
|
$font: theme.typography[props.usage.fontStyle].fontFamily,
|
|
@@ -17765,7 +17994,7 @@ var Details = ({
|
|
|
17765
17994
|
};
|
|
17766
17995
|
|
|
17767
17996
|
// src/components/elements/included-features/IncludedFeatures.tsx
|
|
17768
|
-
var
|
|
17997
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
17769
17998
|
function resolveDesignProps(props) {
|
|
17770
17999
|
return {
|
|
17771
18000
|
header: {
|
|
@@ -17803,33 +18032,15 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17803
18032
|
const shouldWrapChildren = useWrapChildren(elements.current);
|
|
17804
18033
|
const isLightBackground = useIsLightBackground();
|
|
17805
18034
|
const [showCount, setShowCount] = (0, import_react32.useState)(VISIBLE_ENTITLEMENT_COUNT);
|
|
17806
|
-
const entitlements = (
|
|
17807
|
-
|
|
17808
|
-
return 1;
|
|
17809
|
-
}
|
|
17810
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
17811
|
-
return -1;
|
|
17812
|
-
}
|
|
17813
|
-
return 0;
|
|
17814
|
-
}).reduce((acc, usage) => {
|
|
17815
|
-
if (usage.feature?.id) {
|
|
17816
|
-
acc.push(usage.feature.id);
|
|
17817
|
-
}
|
|
17818
|
-
return acc;
|
|
17819
|
-
}, []) || []).reduce(
|
|
17820
|
-
(acc, id) => {
|
|
17821
|
-
const mappedFeatureUsage = data.featureUsage?.features.find(
|
|
17822
|
-
(usage) => usage.feature?.id === id
|
|
17823
|
-
);
|
|
18035
|
+
const entitlements = (data.featureUsage?.features || []).reduce(
|
|
18036
|
+
(acc, usage) => {
|
|
17824
18037
|
const mappedUsageData = data.activeUsageBasedEntitlements.find(
|
|
17825
|
-
(entitlement) => entitlement.featureId === id
|
|
18038
|
+
(entitlement) => entitlement.featureId === usage.feature?.id
|
|
17826
18039
|
);
|
|
17827
|
-
|
|
17828
|
-
|
|
17829
|
-
|
|
17830
|
-
|
|
17831
|
-
});
|
|
17832
|
-
}
|
|
18040
|
+
acc.push({
|
|
18041
|
+
featureUsage: usage,
|
|
18042
|
+
usageData: mappedUsageData
|
|
18043
|
+
});
|
|
17833
18044
|
return acc;
|
|
17834
18045
|
},
|
|
17835
18046
|
[]
|
|
@@ -17846,7 +18057,7 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17846
18057
|
}
|
|
17847
18058
|
const shouldShowExpand = featureListSize > VISIBLE_ENTITLEMENT_COUNT;
|
|
17848
18059
|
const isExpanded = showCount > VISIBLE_ENTITLEMENT_COUNT;
|
|
17849
|
-
return /* @__PURE__ */ (0,
|
|
18060
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
17850
18061
|
Element,
|
|
17851
18062
|
{
|
|
17852
18063
|
as: Flex,
|
|
@@ -17855,7 +18066,7 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17855
18066
|
$flexDirection: "column",
|
|
17856
18067
|
$gap: "1rem",
|
|
17857
18068
|
children: [
|
|
17858
|
-
props.header.isVisible && /* @__PURE__ */ (0,
|
|
18069
|
+
props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
17859
18070
|
Text,
|
|
17860
18071
|
{
|
|
17861
18072
|
$font: theme.typography[props.header.fontStyle].fontFamily,
|
|
@@ -17868,7 +18079,7 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17868
18079
|
entitlements.slice(0, showCount).map((entitlement, index) => {
|
|
17869
18080
|
const { entitlementExpirationDate, feature } = entitlement.featureUsage || {};
|
|
17870
18081
|
const shouldShowDetails = feature?.name && (feature?.featureType === "event" || feature?.featureType === "trait");
|
|
17871
|
-
return /* @__PURE__ */ (0,
|
|
18082
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
17872
18083
|
Flex,
|
|
17873
18084
|
{
|
|
17874
18085
|
ref: (el) => {
|
|
@@ -17881,7 +18092,7 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17881
18092
|
$alignItems: "center",
|
|
17882
18093
|
$gap: "1rem",
|
|
17883
18094
|
children: [
|
|
17884
|
-
/* @__PURE__ */ (0,
|
|
18095
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
17885
18096
|
Flex,
|
|
17886
18097
|
{
|
|
17887
18098
|
$alignItems: "center",
|
|
@@ -17889,7 +18100,7 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17889
18100
|
$flexBasis: "min-content",
|
|
17890
18101
|
$gap: "1rem",
|
|
17891
18102
|
children: [
|
|
17892
|
-
props.icons.isVisible && feature?.icon && /* @__PURE__ */ (0,
|
|
18103
|
+
props.icons.isVisible && feature?.icon && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
17893
18104
|
IconRound,
|
|
17894
18105
|
{
|
|
17895
18106
|
name: feature.icon,
|
|
@@ -17900,7 +18111,7 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17900
18111
|
]
|
|
17901
18112
|
}
|
|
17902
18113
|
),
|
|
17903
|
-
feature?.name && /* @__PURE__ */ (0,
|
|
18114
|
+
feature?.name && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
17904
18115
|
Text,
|
|
17905
18116
|
{
|
|
17906
18117
|
$font: theme.typography[props.icons.fontStyle].fontFamily,
|
|
@@ -17910,7 +18121,7 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17910
18121
|
children: feature.name
|
|
17911
18122
|
}
|
|
17912
18123
|
),
|
|
17913
|
-
props.entitlementExpiration.isVisible && entitlementExpirationDate && /* @__PURE__ */ (0,
|
|
18124
|
+
props.entitlementExpiration.isVisible && entitlementExpirationDate && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
17914
18125
|
Text,
|
|
17915
18126
|
{
|
|
17916
18127
|
$font: theme.typography[props.entitlementExpiration.fontStyle].fontFamily,
|
|
@@ -17930,7 +18141,7 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17930
18141
|
]
|
|
17931
18142
|
}
|
|
17932
18143
|
),
|
|
17933
|
-
shouldShowDetails && /* @__PURE__ */ (0,
|
|
18144
|
+
shouldShowDetails && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
17934
18145
|
Details,
|
|
17935
18146
|
{
|
|
17936
18147
|
details: entitlement,
|
|
@@ -17943,8 +18154,8 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17943
18154
|
index
|
|
17944
18155
|
);
|
|
17945
18156
|
}),
|
|
17946
|
-
shouldShowExpand && /* @__PURE__ */ (0,
|
|
17947
|
-
/* @__PURE__ */ (0,
|
|
18157
|
+
shouldShowExpand && /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Flex, { $alignItems: "center", $justifyContent: "start", $marginTop: "1rem", children: [
|
|
18158
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
17948
18159
|
Icon2,
|
|
17949
18160
|
{
|
|
17950
18161
|
name: isExpanded ? "chevron-up" : "chevron-down",
|
|
@@ -17956,7 +18167,7 @@ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, r
|
|
|
17956
18167
|
}
|
|
17957
18168
|
}
|
|
17958
18169
|
),
|
|
17959
|
-
/* @__PURE__ */ (0,
|
|
18170
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
17960
18171
|
Text,
|
|
17961
18172
|
{
|
|
17962
18173
|
onClick: handleToggleShowAll,
|
|
@@ -17978,7 +18189,7 @@ IncludedFeatures.displayName = "IncludedFeatures";
|
|
|
17978
18189
|
|
|
17979
18190
|
// src/components/elements/invoices/Invoices.tsx
|
|
17980
18191
|
var import_react33 = require("react");
|
|
17981
|
-
var
|
|
18192
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
17982
18193
|
function resolveDesignProps2(props) {
|
|
17983
18194
|
return {
|
|
17984
18195
|
header: {
|
|
@@ -18014,7 +18225,7 @@ function formatInvoices(invoices) {
|
|
|
18014
18225
|
}
|
|
18015
18226
|
var InvoiceDate = ({ date, fontStyle, url }) => {
|
|
18016
18227
|
const theme = nt();
|
|
18017
|
-
const dateText = /* @__PURE__ */ (0,
|
|
18228
|
+
const dateText = /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
18018
18229
|
Text,
|
|
18019
18230
|
{
|
|
18020
18231
|
...url && { onClick: () => {
|
|
@@ -18027,7 +18238,7 @@ var InvoiceDate = ({ date, fontStyle, url }) => {
|
|
|
18027
18238
|
}
|
|
18028
18239
|
);
|
|
18029
18240
|
if (url) {
|
|
18030
|
-
return /* @__PURE__ */ (0,
|
|
18241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("a", { href: url, target: "_blank", rel: "noreferrer", children: dateText });
|
|
18031
18242
|
}
|
|
18032
18243
|
return dateText;
|
|
18033
18244
|
};
|
|
@@ -18051,8 +18262,8 @@ var Invoices = (0, import_react33.forwardRef)(({ className, data, ...rest }, ref
|
|
|
18051
18262
|
if (invoices.length === 0) {
|
|
18052
18263
|
return null;
|
|
18053
18264
|
}
|
|
18054
|
-
return /* @__PURE__ */ (0,
|
|
18055
|
-
props.header.isVisible && /* @__PURE__ */ (0,
|
|
18265
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Element, { ref, className, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
18266
|
+
props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
18056
18267
|
Text,
|
|
18057
18268
|
{
|
|
18058
18269
|
$font: theme.typography[props.header.fontStyle].fontFamily,
|
|
@@ -18062,9 +18273,9 @@ var Invoices = (0, import_react33.forwardRef)(({ className, data, ...rest }, ref
|
|
|
18062
18273
|
children: t2("Invoices")
|
|
18063
18274
|
}
|
|
18064
18275
|
) }),
|
|
18065
|
-
/* @__PURE__ */ (0,
|
|
18066
|
-
return /* @__PURE__ */ (0,
|
|
18067
|
-
props.date.isVisible && date && /* @__PURE__ */ (0,
|
|
18276
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Flex, { $flexDirection: "column", $gap: "0.5rem", children: invoices.slice(0, listSize).map(({ date, amount, url }, index) => {
|
|
18277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Flex, { $justifyContent: "space-between", children: [
|
|
18278
|
+
props.date.isVisible && date && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
18068
18279
|
InvoiceDate,
|
|
18069
18280
|
{
|
|
18070
18281
|
date,
|
|
@@ -18072,7 +18283,7 @@ var Invoices = (0, import_react33.forwardRef)(({ className, data, ...rest }, ref
|
|
|
18072
18283
|
url
|
|
18073
18284
|
}
|
|
18074
18285
|
),
|
|
18075
|
-
props.amount.isVisible && /* @__PURE__ */ (0,
|
|
18286
|
+
props.amount.isVisible && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
18076
18287
|
Text,
|
|
18077
18288
|
{
|
|
18078
18289
|
$font: theme.typography[props.amount.fontStyle].fontFamily,
|
|
@@ -18084,15 +18295,15 @@ var Invoices = (0, import_react33.forwardRef)(({ className, data, ...rest }, ref
|
|
|
18084
18295
|
)
|
|
18085
18296
|
] }, index);
|
|
18086
18297
|
}) }),
|
|
18087
|
-
props.collapse.isVisible && invoices.length > props.limit.number && /* @__PURE__ */ (0,
|
|
18088
|
-
/* @__PURE__ */ (0,
|
|
18298
|
+
props.collapse.isVisible && invoices.length > props.limit.number && /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
|
|
18299
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
18089
18300
|
Icon2,
|
|
18090
18301
|
{
|
|
18091
18302
|
name: `chevron-${listSize === props.limit.number ? "down" : "up"}`,
|
|
18092
18303
|
style: { color: "#D0D0D0" }
|
|
18093
18304
|
}
|
|
18094
18305
|
),
|
|
18095
|
-
/* @__PURE__ */ (0,
|
|
18306
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
18096
18307
|
Text,
|
|
18097
18308
|
{
|
|
18098
18309
|
onClick: toggleListSize,
|
|
@@ -18130,7 +18341,7 @@ var Container4 = dt(Flex)`
|
|
|
18130
18341
|
`;
|
|
18131
18342
|
|
|
18132
18343
|
// src/components/elements/metered-features/MeteredFeatures.tsx
|
|
18133
|
-
var
|
|
18344
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
18134
18345
|
function resolveDesignProps3(props) {
|
|
18135
18346
|
return {
|
|
18136
18347
|
isVisible: props.isVisible ?? true,
|
|
@@ -18180,7 +18391,7 @@ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, re
|
|
|
18180
18391
|
if (!shouldShowFeatures) {
|
|
18181
18392
|
return null;
|
|
18182
18393
|
}
|
|
18183
|
-
return /* @__PURE__ */ (0,
|
|
18394
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Container4, { ref, className, children: featureUsage.map(
|
|
18184
18395
|
({
|
|
18185
18396
|
allocation,
|
|
18186
18397
|
feature,
|
|
@@ -18199,8 +18410,8 @@ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, re
|
|
|
18199
18410
|
price = yearlyUsageBasedPrice?.price;
|
|
18200
18411
|
currency = yearlyUsageBasedPrice?.currency;
|
|
18201
18412
|
}
|
|
18202
|
-
return /* @__PURE__ */ (0,
|
|
18203
|
-
props.icon.isVisible && feature?.icon && /* @__PURE__ */ (0,
|
|
18413
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Element, { as: Flex, $gap: "1.5rem", children: [
|
|
18414
|
+
props.icon.isVisible && feature?.icon && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
18204
18415
|
IconRound,
|
|
18205
18416
|
{
|
|
18206
18417
|
name: feature.icon,
|
|
@@ -18211,8 +18422,8 @@ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, re
|
|
|
18211
18422
|
]
|
|
18212
18423
|
}
|
|
18213
18424
|
),
|
|
18214
|
-
/* @__PURE__ */ (0,
|
|
18215
|
-
/* @__PURE__ */ (0,
|
|
18425
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Flex, { $flexDirection: "column", $gap: "2rem", $flexGrow: "1", children: [
|
|
18426
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
18216
18427
|
Flex,
|
|
18217
18428
|
{
|
|
18218
18429
|
ref: (el) => {
|
|
@@ -18223,8 +18434,8 @@ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, re
|
|
|
18223
18434
|
$flexWrap: "wrap",
|
|
18224
18435
|
$gap: "1rem",
|
|
18225
18436
|
children: [
|
|
18226
|
-
feature?.name && /* @__PURE__ */ (0,
|
|
18227
|
-
/* @__PURE__ */ (0,
|
|
18437
|
+
feature?.name && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Flex, { $flexDirection: "column", $gap: "0.5rem", $flexGrow: "1", children: [
|
|
18438
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
18228
18439
|
Text,
|
|
18229
18440
|
{
|
|
18230
18441
|
as: Box,
|
|
@@ -18232,14 +18443,14 @@ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, re
|
|
|
18232
18443
|
$size: theme.typography[props.header.fontStyle].fontSize,
|
|
18233
18444
|
$weight: theme.typography[props.header.fontStyle].fontWeight,
|
|
18234
18445
|
$color: theme.typography[props.header.fontStyle].color,
|
|
18235
|
-
children: priceBehavior === "pay_as_you_go" ? typeof usage === "number" && /* @__PURE__ */ (0,
|
|
18446
|
+
children: priceBehavior === "pay_as_you_go" ? typeof usage === "number" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
18236
18447
|
formatNumber(usage),
|
|
18237
18448
|
" ",
|
|
18238
18449
|
(0, import_pluralize5.default)(feature.name, usage)
|
|
18239
18450
|
] }) : feature.name
|
|
18240
18451
|
}
|
|
18241
18452
|
),
|
|
18242
|
-
props.description.isVisible && /* @__PURE__ */ (0,
|
|
18453
|
+
props.description.isVisible && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
18243
18454
|
Text,
|
|
18244
18455
|
{
|
|
18245
18456
|
as: Box,
|
|
@@ -18251,14 +18462,14 @@ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, re
|
|
|
18251
18462
|
}
|
|
18252
18463
|
)
|
|
18253
18464
|
] }),
|
|
18254
|
-
(feature?.featureType === "event" || feature?.featureType === "trait") && feature?.name && /* @__PURE__ */ (0,
|
|
18465
|
+
(feature?.featureType === "event" || feature?.featureType === "trait") && feature?.name && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
18255
18466
|
Box,
|
|
18256
18467
|
{
|
|
18257
18468
|
$flexBasis: "min-content",
|
|
18258
18469
|
$flexGrow: "1",
|
|
18259
18470
|
$textAlign: shouldWrapChildren ? "left" : "right",
|
|
18260
18471
|
children: [
|
|
18261
|
-
props.usage.isVisible && /* @__PURE__ */ (0,
|
|
18472
|
+
props.usage.isVisible && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
18262
18473
|
Text,
|
|
18263
18474
|
{
|
|
18264
18475
|
as: Box,
|
|
@@ -18267,18 +18478,18 @@ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, re
|
|
|
18267
18478
|
$weight: theme.typography[props.usage.fontStyle].fontWeight,
|
|
18268
18479
|
$leading: 1.25,
|
|
18269
18480
|
$color: theme.typography[props.usage.fontStyle].color,
|
|
18270
|
-
children: priceBehavior === "pay_in_advance" ? typeof allocation === "number" && /* @__PURE__ */ (0,
|
|
18481
|
+
children: priceBehavior === "pay_in_advance" ? typeof allocation === "number" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
18271
18482
|
formatNumber(allocation),
|
|
18272
18483
|
" ",
|
|
18273
18484
|
(0, import_pluralize5.default)(feature.name, allocation)
|
|
18274
|
-
] }) : priceBehavior === "pay_as_you_go" ? typeof price === "number" && typeof usage === "number" && formatCurrency(usage * price, currency) : typeof usage === "number" && /* @__PURE__ */ (0,
|
|
18485
|
+
] }) : priceBehavior === "pay_as_you_go" ? typeof price === "number" && typeof usage === "number" && formatCurrency(usage * price, currency) : typeof usage === "number" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [
|
|
18275
18486
|
formatNumber(usage),
|
|
18276
18487
|
" ",
|
|
18277
18488
|
(0, import_pluralize5.default)(feature.name, usage)
|
|
18278
18489
|
] })
|
|
18279
18490
|
}
|
|
18280
18491
|
),
|
|
18281
|
-
props.allocation.isVisible && /* @__PURE__ */ (0,
|
|
18492
|
+
props.allocation.isVisible && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
18282
18493
|
Text,
|
|
18283
18494
|
{
|
|
18284
18495
|
$font: theme.typography[props.allocation.fontStyle].fontFamily,
|
|
@@ -18302,8 +18513,8 @@ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, re
|
|
|
18302
18513
|
]
|
|
18303
18514
|
}
|
|
18304
18515
|
),
|
|
18305
|
-
props.isVisible && typeof usage === "number" && typeof allocation === "number" && priceBehavior !== "pay_as_you_go" && /* @__PURE__ */ (0,
|
|
18306
|
-
/* @__PURE__ */ (0,
|
|
18516
|
+
props.isVisible && typeof usage === "number" && typeof allocation === "number" && priceBehavior !== "pay_as_you_go" && /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Flex, { $gap: "2rem", children: [
|
|
18517
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
18307
18518
|
ProgressBar,
|
|
18308
18519
|
{
|
|
18309
18520
|
progress: usage / allocation * 100,
|
|
@@ -18315,9 +18526,10 @@ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, re
|
|
|
18315
18526
|
$flexGrow: "1"
|
|
18316
18527
|
}
|
|
18317
18528
|
),
|
|
18318
|
-
priceBehavior === "pay_in_advance" && /* @__PURE__ */ (0,
|
|
18529
|
+
priceBehavior === "pay_in_advance" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
18319
18530
|
EmbedButton,
|
|
18320
18531
|
{
|
|
18532
|
+
type: "button",
|
|
18321
18533
|
onClick: () => {
|
|
18322
18534
|
setSelected({ usage: true });
|
|
18323
18535
|
setLayout("checkout");
|
|
@@ -18341,7 +18553,7 @@ MeteredFeatures.displayName = "MeteredFeatures";
|
|
|
18341
18553
|
var import_react35 = require("react");
|
|
18342
18554
|
var import_react_dom3 = require("react-dom");
|
|
18343
18555
|
var import_react_stripe_js3 = require("@stripe/react-stripe-js");
|
|
18344
|
-
var
|
|
18556
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
18345
18557
|
var PaymentElement2 = ({
|
|
18346
18558
|
iconName,
|
|
18347
18559
|
iconTitle,
|
|
@@ -18350,11 +18562,11 @@ var PaymentElement2 = ({
|
|
|
18350
18562
|
paymentLast4
|
|
18351
18563
|
}) => {
|
|
18352
18564
|
const theme = nt();
|
|
18353
|
-
return /* @__PURE__ */ (0,
|
|
18354
|
-
iconName && /* @__PURE__ */ (0,
|
|
18355
|
-
/* @__PURE__ */ (0,
|
|
18356
|
-
/* @__PURE__ */ (0,
|
|
18357
|
-
paymentLast4 && /* @__PURE__ */ (0,
|
|
18565
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Text, { $font: theme.typography.text.fontFamily, $size: 16, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Flex, { $flexDirection: "row", $alignItems: "center", children: [
|
|
18566
|
+
iconName && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Icon2, { name: iconName, title: iconTitle, style: iconStyles }) }),
|
|
18567
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Flex, { $alignItems: "center", children: [
|
|
18568
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box, { $lineHeight: "1", $marginRight: "4px", children: t(label) }),
|
|
18569
|
+
paymentLast4 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box, { $display: "inline-block", $fontWeight: "bold", children: paymentLast4 })
|
|
18358
18570
|
] })
|
|
18359
18571
|
] }) }) });
|
|
18360
18572
|
};
|
|
@@ -18452,16 +18664,16 @@ var PaymentMethodElement = ({
|
|
|
18452
18664
|
iconTitle: genericLabel,
|
|
18453
18665
|
label: genericLabel
|
|
18454
18666
|
};
|
|
18455
|
-
return /* @__PURE__ */ (0,
|
|
18667
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18456
18668
|
PaymentElement2,
|
|
18457
18669
|
{
|
|
18458
18670
|
...paymentMethodElementProps(iconName, iconTitle, label, paymentLast4)
|
|
18459
18671
|
}
|
|
18460
18672
|
);
|
|
18461
18673
|
};
|
|
18462
|
-
return /* @__PURE__ */ (0,
|
|
18463
|
-
props.header.isVisible && /* @__PURE__ */ (0,
|
|
18464
|
-
/* @__PURE__ */ (0,
|
|
18674
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Flex, { $flexDirection: "column", $gap: `${sizeFactor}rem`, children: [
|
|
18675
|
+
props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
|
|
18676
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18465
18677
|
Text,
|
|
18466
18678
|
{
|
|
18467
18679
|
$font: theme.typography[props.header.fontStyle].fontFamily,
|
|
@@ -18471,7 +18683,7 @@ var PaymentMethodElement = ({
|
|
|
18471
18683
|
children: t2("Payment Method")
|
|
18472
18684
|
}
|
|
18473
18685
|
),
|
|
18474
|
-
props.functions.showExpiration && typeof monthsToExpiration === "number" && monthsToExpiration < 4 && /* @__PURE__ */ (0,
|
|
18686
|
+
props.functions.showExpiration && typeof monthsToExpiration === "number" && monthsToExpiration < 4 && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18475
18687
|
Text,
|
|
18476
18688
|
{
|
|
18477
18689
|
$font: theme.typography.text.fontFamily,
|
|
@@ -18481,7 +18693,7 @@ var PaymentMethodElement = ({
|
|
|
18481
18693
|
}
|
|
18482
18694
|
)
|
|
18483
18695
|
] }),
|
|
18484
|
-
/* @__PURE__ */ (0,
|
|
18696
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
18485
18697
|
Flex,
|
|
18486
18698
|
{
|
|
18487
18699
|
$justifyContent: "space-between",
|
|
@@ -18491,7 +18703,7 @@ var PaymentMethodElement = ({
|
|
|
18491
18703
|
$borderRadius: "9999px",
|
|
18492
18704
|
children: [
|
|
18493
18705
|
renderPaymentMethodElement(),
|
|
18494
|
-
props.functions.allowEdit && onEdit && /* @__PURE__ */ (0,
|
|
18706
|
+
props.functions.allowEdit && onEdit && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18495
18707
|
Text,
|
|
18496
18708
|
{
|
|
18497
18709
|
onClick: onEdit,
|
|
@@ -18512,7 +18724,7 @@ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, porta
|
|
|
18512
18724
|
const props = resolveDesignProps4(rest);
|
|
18513
18725
|
const { t: t2 } = useTranslation();
|
|
18514
18726
|
const theme = nt();
|
|
18515
|
-
const { api, data, layout, setLayout } = useEmbed();
|
|
18727
|
+
const { api, data, layout, hydrate, setLayout } = useEmbed();
|
|
18516
18728
|
const isLightBackground = useIsLightBackground();
|
|
18517
18729
|
const [isLoading, setIsLoading] = (0, import_react35.useState)(false);
|
|
18518
18730
|
const [error, setError] = (0, import_react35.useState)();
|
|
@@ -18569,14 +18781,16 @@ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, porta
|
|
|
18569
18781
|
paymentMethodId: id
|
|
18570
18782
|
}
|
|
18571
18783
|
});
|
|
18572
|
-
setLayout("
|
|
18784
|
+
setLayout("portal");
|
|
18785
|
+
hydrate();
|
|
18573
18786
|
} catch {
|
|
18787
|
+
setLayout("payment");
|
|
18574
18788
|
setError(t2("Error updating payment method. Please try again."));
|
|
18575
18789
|
} finally {
|
|
18576
18790
|
setIsLoading(false);
|
|
18577
18791
|
}
|
|
18578
18792
|
},
|
|
18579
|
-
[t2, api, setLayout]
|
|
18793
|
+
[t2, api, hydrate, setLayout]
|
|
18580
18794
|
);
|
|
18581
18795
|
(0, import_react35.useEffect)(() => {
|
|
18582
18796
|
if (!stripe && setupIntent?.publishableKey) {
|
|
@@ -18597,8 +18811,8 @@ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, porta
|
|
|
18597
18811
|
if (!paymentMethod?.paymentMethodType) {
|
|
18598
18812
|
return null;
|
|
18599
18813
|
}
|
|
18600
|
-
return /* @__PURE__ */ (0,
|
|
18601
|
-
/* @__PURE__ */ (0,
|
|
18814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Element, { ref, className, children: [
|
|
18815
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18602
18816
|
PaymentMethodElement,
|
|
18603
18817
|
{
|
|
18604
18818
|
paymentMethod,
|
|
@@ -18608,8 +18822,8 @@ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, porta
|
|
|
18608
18822
|
}
|
|
18609
18823
|
),
|
|
18610
18824
|
layout === "payment" && (0, import_react_dom3.createPortal)(
|
|
18611
|
-
/* @__PURE__ */ (0,
|
|
18612
|
-
/* @__PURE__ */ (0,
|
|
18825
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Modal, { size: "md", top, onClose: () => setShowPaymentForm(false), children: [
|
|
18826
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ModalHeader, { bordered: true, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18613
18827
|
Text,
|
|
18614
18828
|
{
|
|
18615
18829
|
$font: theme.typography.text.fontFamily,
|
|
@@ -18619,7 +18833,7 @@ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, porta
|
|
|
18619
18833
|
children: t2("Edit payment method")
|
|
18620
18834
|
}
|
|
18621
18835
|
) }),
|
|
18622
|
-
/* @__PURE__ */ (0,
|
|
18836
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Flex, { $position: "relative", $height: "calc(100% - 5rem)", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18623
18837
|
Flex,
|
|
18624
18838
|
{
|
|
18625
18839
|
$flexDirection: "column",
|
|
@@ -18628,8 +18842,8 @@ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, porta
|
|
|
18628
18842
|
$padding: "2rem 2.5rem 2rem 2.5rem",
|
|
18629
18843
|
$backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.025)" : "hsla(0, 0%, 100%, 0.025)",
|
|
18630
18844
|
$overflow: "auto",
|
|
18631
|
-
children: /* @__PURE__ */ (0,
|
|
18632
|
-
showPaymentForm ? /* @__PURE__ */ (0,
|
|
18845
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
|
|
18846
|
+
showPaymentForm ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18633
18847
|
import_react_stripe_js3.Elements,
|
|
18634
18848
|
{
|
|
18635
18849
|
stripe,
|
|
@@ -18658,15 +18872,15 @@ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, porta
|
|
|
18658
18872
|
},
|
|
18659
18873
|
clientSecret: setupIntent?.setupIntentClientSecret
|
|
18660
18874
|
},
|
|
18661
|
-
children: /* @__PURE__ */ (0,
|
|
18875
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18662
18876
|
PaymentForm,
|
|
18663
18877
|
{
|
|
18664
18878
|
onConfirm: (value) => updatePaymentMethod(value)
|
|
18665
18879
|
}
|
|
18666
18880
|
)
|
|
18667
18881
|
}
|
|
18668
|
-
) : /* @__PURE__ */ (0,
|
|
18669
|
-
/* @__PURE__ */ (0,
|
|
18882
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(Flex, { $flexDirection: "column", $gap: "2rem", children: [
|
|
18883
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18670
18884
|
PaymentMethodElement,
|
|
18671
18885
|
{
|
|
18672
18886
|
size: "lg",
|
|
@@ -18675,7 +18889,7 @@ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, porta
|
|
|
18675
18889
|
...props
|
|
18676
18890
|
}
|
|
18677
18891
|
),
|
|
18678
|
-
/* @__PURE__ */ (0,
|
|
18892
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18679
18893
|
Text,
|
|
18680
18894
|
{
|
|
18681
18895
|
onClick: createSetupIntent,
|
|
@@ -18687,7 +18901,7 @@ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, porta
|
|
|
18687
18901
|
}
|
|
18688
18902
|
) })
|
|
18689
18903
|
] }),
|
|
18690
|
-
!isLoading && error && /* @__PURE__ */ (0,
|
|
18904
|
+
!isLoading && error && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
18691
18905
|
Text,
|
|
18692
18906
|
{
|
|
18693
18907
|
$font: theme.typography.text.fontFamily,
|
|
@@ -18710,7 +18924,7 @@ PaymentMethod.displayName = "PaymentMethod";
|
|
|
18710
18924
|
// src/components/elements/plan-manager/PlanManager.tsx
|
|
18711
18925
|
var import_react36 = require("react");
|
|
18712
18926
|
var import_pluralize6 = __toESM(require_pluralize());
|
|
18713
|
-
var
|
|
18927
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
18714
18928
|
var resolveDesignProps5 = (props) => {
|
|
18715
18929
|
return {
|
|
18716
18930
|
header: {
|
|
@@ -18774,20 +18988,21 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18774
18988
|
const billingSubscription = data.company?.billingSubscription;
|
|
18775
18989
|
const subscriptionCurrency = billingSubscription?.currency;
|
|
18776
18990
|
const showTrialBox = billingSubscription && billingSubscription.status == "trialing";
|
|
18991
|
+
const showUnsubscribeBox = billingSubscription && billingSubscription.status == "cancelled";
|
|
18777
18992
|
const trialEndDate = billingSubscription?.trialEnd ? new Date(billingSubscription.trialEnd * 1e3) : /* @__PURE__ */ new Date();
|
|
18778
18993
|
const todayDate = /* @__PURE__ */ new Date();
|
|
18779
18994
|
const trialEndDays = Math.floor(
|
|
18780
18995
|
(trialEndDate.getTime() - todayDate.getTime()) / (1e3 * 60 * 60 * 24)
|
|
18781
18996
|
);
|
|
18782
|
-
return /* @__PURE__ */ (0,
|
|
18783
|
-
showTrialBox && /* @__PURE__ */ (0,
|
|
18997
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
|
|
18998
|
+
showTrialBox && !showUnsubscribeBox && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
18784
18999
|
Box,
|
|
18785
19000
|
{
|
|
18786
19001
|
$backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.04)" : "hsla(0, 0%, 100%, 0.04)",
|
|
18787
19002
|
$textAlign: "center",
|
|
18788
19003
|
$padding: "1rem",
|
|
18789
19004
|
children: [
|
|
18790
|
-
/* @__PURE__ */ (0,
|
|
19005
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18791
19006
|
Text,
|
|
18792
19007
|
{
|
|
18793
19008
|
as: "h3",
|
|
@@ -18798,7 +19013,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18798
19013
|
children: t2("Trial ends in", { days: trialEndDays.toString() })
|
|
18799
19014
|
}
|
|
18800
19015
|
),
|
|
18801
|
-
/* @__PURE__ */ (0,
|
|
19016
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18802
19017
|
Text,
|
|
18803
19018
|
{
|
|
18804
19019
|
as: "p",
|
|
@@ -18816,7 +19031,43 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18816
19031
|
]
|
|
18817
19032
|
}
|
|
18818
19033
|
),
|
|
18819
|
-
/* @__PURE__ */ (0,
|
|
19034
|
+
showUnsubscribeBox && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
19035
|
+
Box,
|
|
19036
|
+
{
|
|
19037
|
+
$backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.04)" : "hsla(0, 0%, 100%, 0.04)",
|
|
19038
|
+
$textAlign: "center",
|
|
19039
|
+
$padding: "1rem",
|
|
19040
|
+
children: [
|
|
19041
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
19042
|
+
Text,
|
|
19043
|
+
{
|
|
19044
|
+
as: "h3",
|
|
19045
|
+
$font: theme.typography.heading3.fontFamily,
|
|
19046
|
+
$size: theme.typography.heading3.fontSize,
|
|
19047
|
+
$weight: theme.typography.heading3.fontWeight,
|
|
19048
|
+
$color: theme.typography.heading3.color,
|
|
19049
|
+
children: t2("Subscription canceled")
|
|
19050
|
+
}
|
|
19051
|
+
),
|
|
19052
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
19053
|
+
Text,
|
|
19054
|
+
{
|
|
19055
|
+
as: "p",
|
|
19056
|
+
$font: theme.typography.text.fontFamily,
|
|
19057
|
+
$size: theme.typography.text.fontSize * 0.8125,
|
|
19058
|
+
$weight: theme.typography.text.fontWeight,
|
|
19059
|
+
$color: theme.typography.text.color,
|
|
19060
|
+
children: billingSubscription.cancelAt ? t2("Access to plan will end on", {
|
|
19061
|
+
date: toPrettyDate(new Date(billingSubscription.cancelAt), {
|
|
19062
|
+
month: "numeric"
|
|
19063
|
+
})
|
|
19064
|
+
}) : ""
|
|
19065
|
+
}
|
|
19066
|
+
)
|
|
19067
|
+
]
|
|
19068
|
+
}
|
|
19069
|
+
),
|
|
19070
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
18820
19071
|
Element,
|
|
18821
19072
|
{
|
|
18822
19073
|
as: Flex,
|
|
@@ -18825,7 +19076,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18825
19076
|
$flexDirection: "column",
|
|
18826
19077
|
$gap: "2rem",
|
|
18827
19078
|
children: [
|
|
18828
|
-
props.header.isVisible && currentPlan && /* @__PURE__ */ (0,
|
|
19079
|
+
props.header.isVisible && currentPlan && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
18829
19080
|
Flex,
|
|
18830
19081
|
{
|
|
18831
19082
|
$justifyContent: "space-between",
|
|
@@ -18833,8 +19084,8 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18833
19084
|
$flexWrap: "wrap",
|
|
18834
19085
|
$gap: "1rem",
|
|
18835
19086
|
children: [
|
|
18836
|
-
/* @__PURE__ */ (0,
|
|
18837
|
-
/* @__PURE__ */ (0,
|
|
19087
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
19088
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18838
19089
|
Text,
|
|
18839
19090
|
{
|
|
18840
19091
|
as: Box,
|
|
@@ -18846,7 +19097,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18846
19097
|
children: currentPlan.name
|
|
18847
19098
|
}
|
|
18848
19099
|
),
|
|
18849
|
-
props.header.description.isVisible && currentPlan.description && /* @__PURE__ */ (0,
|
|
19100
|
+
props.header.description.isVisible && currentPlan.description && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18850
19101
|
Text,
|
|
18851
19102
|
{
|
|
18852
19103
|
as: Box,
|
|
@@ -18858,8 +19109,8 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18858
19109
|
}
|
|
18859
19110
|
)
|
|
18860
19111
|
] }),
|
|
18861
|
-
props.header.price.isVisible && typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */ (0,
|
|
18862
|
-
/* @__PURE__ */ (0,
|
|
19112
|
+
props.header.price.isVisible && typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Box, { children: [
|
|
19113
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18863
19114
|
Text,
|
|
18864
19115
|
{
|
|
18865
19116
|
$font: theme.typography[props.header.price.fontStyle].fontFamily,
|
|
@@ -18872,14 +19123,14 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18872
19123
|
)
|
|
18873
19124
|
}
|
|
18874
19125
|
),
|
|
18875
|
-
/* @__PURE__ */ (0,
|
|
19126
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18876
19127
|
Text,
|
|
18877
19128
|
{
|
|
18878
19129
|
$font: theme.typography[props.header.price.fontStyle].fontFamily,
|
|
18879
19130
|
$size: theme.typography[props.header.price.fontStyle].fontSize,
|
|
18880
19131
|
$weight: theme.typography[props.header.price.fontStyle].fontWeight,
|
|
18881
19132
|
$color: theme.typography[props.header.price.fontStyle].color,
|
|
18882
|
-
children: /* @__PURE__ */ (0,
|
|
19133
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("sub", { children: [
|
|
18883
19134
|
"/",
|
|
18884
19135
|
shortenPeriod(currentPlan.planPeriod)
|
|
18885
19136
|
] })
|
|
@@ -18889,8 +19140,8 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18889
19140
|
]
|
|
18890
19141
|
}
|
|
18891
19142
|
),
|
|
18892
|
-
props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ (0,
|
|
18893
|
-
props.addOns.showLabel && /* @__PURE__ */ (0,
|
|
19143
|
+
props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
19144
|
+
props.addOns.showLabel && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18894
19145
|
Text,
|
|
18895
19146
|
{
|
|
18896
19147
|
$font: theme.typography.text.fontFamily,
|
|
@@ -18901,7 +19152,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18901
19152
|
children: t2("Add-ons")
|
|
18902
19153
|
}
|
|
18903
19154
|
),
|
|
18904
|
-
addOns.map((addOn) => /* @__PURE__ */ (0,
|
|
19155
|
+
addOns.map((addOn) => /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
18905
19156
|
Flex,
|
|
18906
19157
|
{
|
|
18907
19158
|
$justifyContent: "space-between",
|
|
@@ -18909,7 +19160,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18909
19160
|
$flexWrap: "wrap",
|
|
18910
19161
|
$gap: "1rem",
|
|
18911
19162
|
children: [
|
|
18912
|
-
/* @__PURE__ */ (0,
|
|
19163
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18913
19164
|
Text,
|
|
18914
19165
|
{
|
|
18915
19166
|
$font: theme.typography[props.addOns.fontStyle].fontFamily,
|
|
@@ -18919,7 +19170,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18919
19170
|
children: addOn.name
|
|
18920
19171
|
}
|
|
18921
19172
|
),
|
|
18922
|
-
addOn.planPrice && addOn.planPeriod && /* @__PURE__ */ (0,
|
|
19173
|
+
addOn.planPrice && addOn.planPeriod && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
18923
19174
|
Text,
|
|
18924
19175
|
{
|
|
18925
19176
|
$font: theme.typography.text.fontFamily,
|
|
@@ -18928,7 +19179,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18928
19179
|
$color: theme.typography.text.color,
|
|
18929
19180
|
children: [
|
|
18930
19181
|
formatCurrency(addOn.planPrice, subscriptionCurrency),
|
|
18931
|
-
/* @__PURE__ */ (0,
|
|
19182
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("sub", { children: [
|
|
18932
19183
|
"/",
|
|
18933
19184
|
shortenPeriod(addOn.planPeriod)
|
|
18934
19185
|
] })
|
|
@@ -18940,8 +19191,8 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18940
19191
|
addOn.id
|
|
18941
19192
|
))
|
|
18942
19193
|
] }),
|
|
18943
|
-
usageBasedEntitlements.length > 0 && /* @__PURE__ */ (0,
|
|
18944
|
-
/* @__PURE__ */ (0,
|
|
19194
|
+
usageBasedEntitlements.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
19195
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18945
19196
|
Text,
|
|
18946
19197
|
{
|
|
18947
19198
|
$font: theme.typography.text.fontFamily,
|
|
@@ -18956,7 +19207,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18956
19207
|
(acc, entitlement) => {
|
|
18957
19208
|
if (entitlement.feature?.name) {
|
|
18958
19209
|
acc.push(
|
|
18959
|
-
/* @__PURE__ */ (0,
|
|
19210
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
18960
19211
|
Flex,
|
|
18961
19212
|
{
|
|
18962
19213
|
$justifyContent: "space-between",
|
|
@@ -18964,14 +19215,14 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18964
19215
|
$flexWrap: "wrap",
|
|
18965
19216
|
$gap: "1rem",
|
|
18966
19217
|
children: [
|
|
18967
|
-
/* @__PURE__ */ (0,
|
|
19218
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
18968
19219
|
Text,
|
|
18969
19220
|
{
|
|
18970
19221
|
$font: theme.typography[props.addOns.fontStyle].fontFamily,
|
|
18971
19222
|
$size: theme.typography[props.addOns.fontStyle].fontSize,
|
|
18972
19223
|
$weight: theme.typography[props.addOns.fontStyle].fontWeight,
|
|
18973
19224
|
$color: theme.typography[props.addOns.fontStyle].color,
|
|
18974
|
-
children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ (0,
|
|
19225
|
+
children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_jsx_runtime31.Fragment, { children: [
|
|
18975
19226
|
entitlement.quantity,
|
|
18976
19227
|
" ",
|
|
18977
19228
|
(0, import_pluralize6.default)(
|
|
@@ -18981,8 +19232,8 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18981
19232
|
] }) : entitlement.feature.name
|
|
18982
19233
|
}
|
|
18983
19234
|
),
|
|
18984
|
-
/* @__PURE__ */ (0,
|
|
18985
|
-
entitlement.priceBehavior === "pay_in_advance" && currentPlan?.planPeriod && /* @__PURE__ */ (0,
|
|
19235
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Flex, { $alignItems: "center", $gap: "1rem", children: [
|
|
19236
|
+
entitlement.priceBehavior === "pay_in_advance" && currentPlan?.planPeriod && /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
18986
19237
|
Text,
|
|
18987
19238
|
{
|
|
18988
19239
|
$font: theme.typography.text.fontFamily,
|
|
@@ -18994,7 +19245,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
18994
19245
|
entitlement.price,
|
|
18995
19246
|
entitlement.currencyCode
|
|
18996
19247
|
),
|
|
18997
|
-
/* @__PURE__ */ (0,
|
|
19248
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("sub", { children: [
|
|
18998
19249
|
"/",
|
|
18999
19250
|
(0, import_pluralize6.default)(
|
|
19000
19251
|
entitlement.feature.name.toLowerCase(),
|
|
@@ -19006,7 +19257,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
19006
19257
|
]
|
|
19007
19258
|
}
|
|
19008
19259
|
),
|
|
19009
|
-
/* @__PURE__ */ (0,
|
|
19260
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(
|
|
19010
19261
|
Text,
|
|
19011
19262
|
{
|
|
19012
19263
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19018,7 +19269,7 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
19018
19269
|
entitlement.price * (entitlement.priceBehavior === "pay_in_advance" ? entitlement.quantity : 1),
|
|
19019
19270
|
entitlement.currencyCode
|
|
19020
19271
|
),
|
|
19021
|
-
/* @__PURE__ */ (0,
|
|
19272
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("sub", { children: [
|
|
19022
19273
|
"/",
|
|
19023
19274
|
currentPlan?.planPeriod && entitlement.priceBehavior === "pay_in_advance" ? shortenPeriod(currentPlan.planPeriod) : (0, import_pluralize6.default)(
|
|
19024
19275
|
entitlement.feature.name.toLowerCase(),
|
|
@@ -19040,9 +19291,10 @@ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal,
|
|
|
19040
19291
|
[]
|
|
19041
19292
|
)
|
|
19042
19293
|
] }),
|
|
19043
|
-
canCheckout && props.callToAction.isVisible && /* @__PURE__ */ (0,
|
|
19294
|
+
canCheckout && props.callToAction.isVisible && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
19044
19295
|
EmbedButton,
|
|
19045
19296
|
{
|
|
19297
|
+
type: "button",
|
|
19046
19298
|
onClick: () => {
|
|
19047
19299
|
setSelected({
|
|
19048
19300
|
planId: currentPlan?.id,
|
|
@@ -19066,7 +19318,7 @@ PlanManager.displayName = "PlanManager";
|
|
|
19066
19318
|
// src/components/elements/pricing-table/PricingTable.tsx
|
|
19067
19319
|
var import_react37 = require("react");
|
|
19068
19320
|
var import_pluralize7 = __toESM(require_pluralize());
|
|
19069
|
-
var
|
|
19321
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
19070
19322
|
var resolveDesignProps6 = (props) => {
|
|
19071
19323
|
return {
|
|
19072
19324
|
showPeriodToggle: props.showPeriodToggle ?? true,
|
|
@@ -19144,7 +19396,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19144
19396
|
};
|
|
19145
19397
|
});
|
|
19146
19398
|
};
|
|
19147
|
-
return /* @__PURE__ */ (0,
|
|
19399
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19148
19400
|
FussyChild,
|
|
19149
19401
|
{
|
|
19150
19402
|
ref,
|
|
@@ -19153,8 +19405,8 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19153
19405
|
$flexDirection: "column",
|
|
19154
19406
|
$gap: "2rem",
|
|
19155
19407
|
children: [
|
|
19156
|
-
/* @__PURE__ */ (0,
|
|
19157
|
-
/* @__PURE__ */ (0,
|
|
19408
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Box, { children: [
|
|
19409
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19158
19410
|
Flex,
|
|
19159
19411
|
{
|
|
19160
19412
|
$flexDirection: "column",
|
|
@@ -19169,7 +19421,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19169
19421
|
}
|
|
19170
19422
|
},
|
|
19171
19423
|
children: [
|
|
19172
|
-
/* @__PURE__ */ (0,
|
|
19424
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19173
19425
|
Text,
|
|
19174
19426
|
{
|
|
19175
19427
|
$font: theme.typography[props.header.fontStyle].fontFamily,
|
|
@@ -19179,7 +19431,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19179
19431
|
children: props.header.isVisible && props.plans.isVisible && plans.length > 0 && t2("Plans")
|
|
19180
19432
|
}
|
|
19181
19433
|
),
|
|
19182
|
-
props.showPeriodToggle && /* @__PURE__ */ (0,
|
|
19434
|
+
props.showPeriodToggle && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19183
19435
|
PeriodToggle,
|
|
19184
19436
|
{
|
|
19185
19437
|
options: periods,
|
|
@@ -19190,7 +19442,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19190
19442
|
]
|
|
19191
19443
|
}
|
|
19192
19444
|
),
|
|
19193
|
-
props.plans.isVisible && plans.length > 0 && /* @__PURE__ */ (0,
|
|
19445
|
+
props.plans.isVisible && plans.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19194
19446
|
Box,
|
|
19195
19447
|
{
|
|
19196
19448
|
$display: "grid",
|
|
@@ -19203,7 +19455,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19203
19455
|
if (count?.limit && count.limit > VISIBLE_ENTITLEMENT_COUNT) {
|
|
19204
19456
|
isExpanded = true;
|
|
19205
19457
|
}
|
|
19206
|
-
return /* @__PURE__ */ (0,
|
|
19458
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19207
19459
|
Flex,
|
|
19208
19460
|
{
|
|
19209
19461
|
$position: "relative",
|
|
@@ -19216,7 +19468,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19216
19468
|
$outlineColor: isActivePlan ? theme.primary : "transparent",
|
|
19217
19469
|
...theme.card.hasShadow && { $boxShadow: cardBoxShadow },
|
|
19218
19470
|
children: [
|
|
19219
|
-
/* @__PURE__ */ (0,
|
|
19471
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19220
19472
|
Flex,
|
|
19221
19473
|
{
|
|
19222
19474
|
$flexDirection: "column",
|
|
@@ -19227,7 +19479,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19227
19479
|
$borderStyle: "solid",
|
|
19228
19480
|
$borderColor: isLightBackground ? "hsla(0, 0%, 0%, 0.175)" : "hsla(0, 0%, 100%, 0.175)",
|
|
19229
19481
|
children: [
|
|
19230
|
-
/* @__PURE__ */ (0,
|
|
19482
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19231
19483
|
Text,
|
|
19232
19484
|
{
|
|
19233
19485
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19237,7 +19489,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19237
19489
|
children: plan.name
|
|
19238
19490
|
}
|
|
19239
19491
|
) }),
|
|
19240
|
-
props.plans.description.isVisible && /* @__PURE__ */ (0,
|
|
19492
|
+
props.plans.description.isVisible && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19241
19493
|
Text,
|
|
19242
19494
|
{
|
|
19243
19495
|
$font: theme.typography[props.plans.description.fontStyle].fontFamily,
|
|
@@ -19247,8 +19499,8 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19247
19499
|
children: plan.description
|
|
19248
19500
|
}
|
|
19249
19501
|
) }),
|
|
19250
|
-
/* @__PURE__ */ (0,
|
|
19251
|
-
/* @__PURE__ */ (0,
|
|
19502
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Box, { children: [
|
|
19503
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19252
19504
|
Text,
|
|
19253
19505
|
{
|
|
19254
19506
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19261,7 +19513,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19261
19513
|
)
|
|
19262
19514
|
}
|
|
19263
19515
|
),
|
|
19264
|
-
!plan.custom && /* @__PURE__ */ (0,
|
|
19516
|
+
!plan.custom && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19265
19517
|
Text,
|
|
19266
19518
|
{
|
|
19267
19519
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19275,7 +19527,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19275
19527
|
}
|
|
19276
19528
|
)
|
|
19277
19529
|
] }),
|
|
19278
|
-
isActivePlan && /* @__PURE__ */ (0,
|
|
19530
|
+
isActivePlan && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19279
19531
|
Flex,
|
|
19280
19532
|
{
|
|
19281
19533
|
$position: "absolute",
|
|
@@ -19292,7 +19544,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19292
19544
|
]
|
|
19293
19545
|
}
|
|
19294
19546
|
),
|
|
19295
|
-
/* @__PURE__ */ (0,
|
|
19547
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19296
19548
|
Flex,
|
|
19297
19549
|
{
|
|
19298
19550
|
$flexDirection: "column",
|
|
@@ -19301,16 +19553,8 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19301
19553
|
$gap: `${cardPadding}rem`,
|
|
19302
19554
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
19303
19555
|
children: [
|
|
19304
|
-
props.plans.showEntitlements && /* @__PURE__ */ (0,
|
|
19305
|
-
plan.entitlements.
|
|
19306
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
19307
|
-
return 1;
|
|
19308
|
-
}
|
|
19309
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
19310
|
-
return -1;
|
|
19311
|
-
}
|
|
19312
|
-
return 0;
|
|
19313
|
-
}).reduce((acc, entitlement) => {
|
|
19556
|
+
props.plans.showEntitlements && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
19557
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
19314
19558
|
let price;
|
|
19315
19559
|
let currency;
|
|
19316
19560
|
if (selectedPeriod === "month") {
|
|
@@ -19324,8 +19568,8 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19324
19568
|
return acc;
|
|
19325
19569
|
}
|
|
19326
19570
|
acc.push(
|
|
19327
|
-
/* @__PURE__ */ (0,
|
|
19328
|
-
props.plans.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ (0,
|
|
19571
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Flex, { $gap: "1rem", children: [
|
|
19572
|
+
props.plans.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19329
19573
|
IconRound,
|
|
19330
19574
|
{
|
|
19331
19575
|
name: entitlement.feature.icon,
|
|
@@ -19336,7 +19580,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19336
19580
|
]
|
|
19337
19581
|
}
|
|
19338
19582
|
),
|
|
19339
|
-
entitlement.feature?.name && /* @__PURE__ */ (0,
|
|
19583
|
+
entitlement.feature?.name && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19340
19584
|
Text,
|
|
19341
19585
|
{
|
|
19342
19586
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19344,7 +19588,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19344
19588
|
$weight: theme.typography.text.fontWeight,
|
|
19345
19589
|
$color: theme.typography.text.color,
|
|
19346
19590
|
$leading: 1.35,
|
|
19347
|
-
children: typeof price !== "undefined" ? /* @__PURE__ */ (0,
|
|
19591
|
+
children: typeof price !== "undefined" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
19348
19592
|
formatCurrency(price, currency),
|
|
19349
19593
|
" ",
|
|
19350
19594
|
t2("per"),
|
|
@@ -19353,19 +19597,19 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19353
19597
|
entitlement.feature.name,
|
|
19354
19598
|
1
|
|
19355
19599
|
),
|
|
19356
|
-
entitlement.priceBehavior === "pay_in_advance" && /* @__PURE__ */ (0,
|
|
19600
|
+
entitlement.priceBehavior === "pay_in_advance" && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
19357
19601
|
" ",
|
|
19358
19602
|
t2("per"),
|
|
19359
19603
|
" ",
|
|
19360
19604
|
selectedPeriod
|
|
19361
19605
|
] })
|
|
19362
|
-
] }) : entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ (0,
|
|
19606
|
+
] }) : entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
19363
19607
|
entitlement.valueType === "unlimited" ? t2("Unlimited", {
|
|
19364
19608
|
item: (0, import_pluralize7.default)(
|
|
19365
19609
|
entitlement.feature.name
|
|
19366
19610
|
)
|
|
19367
19611
|
}) : typeof entitlement.valueNumeric === "number" && `${formatNumber(entitlement.valueNumeric)} ${(0, import_pluralize7.default)(entitlement.feature.name, entitlement.valueNumeric)}`,
|
|
19368
|
-
entitlement.metricPeriod && /* @__PURE__ */ (0,
|
|
19612
|
+
entitlement.metricPeriod && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
19369
19613
|
" ",
|
|
19370
19614
|
t2("per"),
|
|
19371
19615
|
" ",
|
|
@@ -19383,14 +19627,14 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19383
19627
|
);
|
|
19384
19628
|
return acc;
|
|
19385
19629
|
}, []).slice(0, count?.limit ?? VISIBLE_ENTITLEMENT_COUNT),
|
|
19386
|
-
(count?.size || plan.entitlements.length) > VISIBLE_ENTITLEMENT_COUNT && /* @__PURE__ */ (0,
|
|
19630
|
+
(count?.size || plan.entitlements.length) > VISIBLE_ENTITLEMENT_COUNT && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19387
19631
|
Flex,
|
|
19388
19632
|
{
|
|
19389
19633
|
$alignItems: "center",
|
|
19390
19634
|
$justifyContent: "start",
|
|
19391
19635
|
$marginTop: "1rem",
|
|
19392
19636
|
children: [
|
|
19393
|
-
/* @__PURE__ */ (0,
|
|
19637
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19394
19638
|
Icon2,
|
|
19395
19639
|
{
|
|
19396
19640
|
name: isExpanded ? "chevron-up" : "chevron-down",
|
|
@@ -19402,7 +19646,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19402
19646
|
}
|
|
19403
19647
|
}
|
|
19404
19648
|
),
|
|
19405
|
-
/* @__PURE__ */ (0,
|
|
19649
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19406
19650
|
Text,
|
|
19407
19651
|
{
|
|
19408
19652
|
onClick: () => handleToggleShowAll(plan.id),
|
|
@@ -19419,7 +19663,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19419
19663
|
}
|
|
19420
19664
|
)
|
|
19421
19665
|
] }),
|
|
19422
|
-
isActivePlan ? /* @__PURE__ */ (0,
|
|
19666
|
+
isActivePlan ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19423
19667
|
Flex,
|
|
19424
19668
|
{
|
|
19425
19669
|
$justifyContent: "center",
|
|
@@ -19427,7 +19671,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19427
19671
|
$gap: "0.25rem",
|
|
19428
19672
|
$padding: "0.625rem 0",
|
|
19429
19673
|
children: [
|
|
19430
|
-
/* @__PURE__ */ (0,
|
|
19674
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19431
19675
|
Icon2,
|
|
19432
19676
|
{
|
|
19433
19677
|
name: "check-rounded",
|
|
@@ -19438,7 +19682,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19438
19682
|
}
|
|
19439
19683
|
}
|
|
19440
19684
|
),
|
|
19441
|
-
/* @__PURE__ */ (0,
|
|
19685
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19442
19686
|
Text,
|
|
19443
19687
|
{
|
|
19444
19688
|
$size: 15,
|
|
@@ -19449,10 +19693,11 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19449
19693
|
)
|
|
19450
19694
|
]
|
|
19451
19695
|
}
|
|
19452
|
-
) : (props.upgrade.isVisible || props.downgrade.isVisible) && /* @__PURE__ */ (0,
|
|
19696
|
+
) : (props.upgrade.isVisible || props.downgrade.isVisible) && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19453
19697
|
EmbedButton,
|
|
19454
19698
|
{
|
|
19455
|
-
|
|
19699
|
+
type: "button",
|
|
19700
|
+
disabled: (!plan.valid || !canCheckout) && !plan.custom,
|
|
19456
19701
|
...!plan.custom && {
|
|
19457
19702
|
onClick: () => {
|
|
19458
19703
|
setSelected({
|
|
@@ -19472,14 +19717,14 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19472
19717
|
$color: props.downgrade.buttonStyle,
|
|
19473
19718
|
$variant: "outline"
|
|
19474
19719
|
},
|
|
19475
|
-
children: plan.custom ? /* @__PURE__ */ (0,
|
|
19720
|
+
children: plan.custom ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19476
19721
|
ButtonLink,
|
|
19477
19722
|
{
|
|
19478
19723
|
href: plan.customPlanConfig?.ctaWebSite ?? "#",
|
|
19479
19724
|
target: "_blank",
|
|
19480
19725
|
children: plan.customPlanConfig?.ctaText ?? t2("Custom Plan CTA")
|
|
19481
19726
|
}
|
|
19482
|
-
) : !plan.valid ? /* @__PURE__ */ (0,
|
|
19727
|
+
) : !plan.valid ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19483
19728
|
Tooltip,
|
|
19484
19729
|
{
|
|
19485
19730
|
trigger: t2("Over usage limit"),
|
|
@@ -19501,14 +19746,14 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19501
19746
|
}
|
|
19502
19747
|
)
|
|
19503
19748
|
] }),
|
|
19504
|
-
/* @__PURE__ */ (0,
|
|
19505
|
-
props.header.isVisible && /* @__PURE__ */ (0,
|
|
19749
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Box, { children: props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
19750
|
+
props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19506
19751
|
Flex,
|
|
19507
19752
|
{
|
|
19508
19753
|
$justifyContent: "space-between",
|
|
19509
19754
|
$alignItems: "center",
|
|
19510
19755
|
$marginBottom: "1rem",
|
|
19511
|
-
children: /* @__PURE__ */ (0,
|
|
19756
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19512
19757
|
Text,
|
|
19513
19758
|
{
|
|
19514
19759
|
$font: theme.typography[props.header.fontStyle].fontFamily,
|
|
@@ -19520,7 +19765,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19520
19765
|
)
|
|
19521
19766
|
}
|
|
19522
19767
|
),
|
|
19523
|
-
/* @__PURE__ */ (0,
|
|
19768
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19524
19769
|
Box,
|
|
19525
19770
|
{
|
|
19526
19771
|
$display: "grid",
|
|
@@ -19528,7 +19773,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19528
19773
|
$gap: "1rem",
|
|
19529
19774
|
children: addOns.map((addOn, index) => {
|
|
19530
19775
|
const isActiveAddOn = addOn.current && selectedPeriod === data.company?.addOns.find((a2) => a2.id === addOn.id)?.planPeriod;
|
|
19531
|
-
return /* @__PURE__ */ (0,
|
|
19776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19532
19777
|
Flex,
|
|
19533
19778
|
{
|
|
19534
19779
|
$position: "relative",
|
|
@@ -19542,8 +19787,8 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19542
19787
|
$outlineColor: isActiveAddOn ? theme.primary : "transparent",
|
|
19543
19788
|
...theme.card.hasShadow && { $boxShadow: cardBoxShadow },
|
|
19544
19789
|
children: [
|
|
19545
|
-
/* @__PURE__ */ (0,
|
|
19546
|
-
/* @__PURE__ */ (0,
|
|
19790
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Flex, { $flexDirection: "column", $gap: "0.75rem", children: [
|
|
19791
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19547
19792
|
Text,
|
|
19548
19793
|
{
|
|
19549
19794
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19553,7 +19798,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19553
19798
|
children: addOn.name
|
|
19554
19799
|
}
|
|
19555
19800
|
) }),
|
|
19556
|
-
props.addOns.showDescription && /* @__PURE__ */ (0,
|
|
19801
|
+
props.addOns.showDescription && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19557
19802
|
Text,
|
|
19558
19803
|
{
|
|
19559
19804
|
$font: theme.typography[props.plans.description.fontStyle].fontFamily,
|
|
@@ -19563,8 +19808,8 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19563
19808
|
children: addOn.description
|
|
19564
19809
|
}
|
|
19565
19810
|
) }),
|
|
19566
|
-
/* @__PURE__ */ (0,
|
|
19567
|
-
/* @__PURE__ */ (0,
|
|
19811
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Box, { children: [
|
|
19812
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19568
19813
|
Text,
|
|
19569
19814
|
{
|
|
19570
19815
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19577,7 +19822,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19577
19822
|
)
|
|
19578
19823
|
}
|
|
19579
19824
|
),
|
|
19580
|
-
/* @__PURE__ */ (0,
|
|
19825
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19581
19826
|
Text,
|
|
19582
19827
|
{
|
|
19583
19828
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19591,7 +19836,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19591
19836
|
}
|
|
19592
19837
|
)
|
|
19593
19838
|
] }),
|
|
19594
|
-
isActiveAddOn && /* @__PURE__ */ (0,
|
|
19839
|
+
isActiveAddOn && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19595
19840
|
Flex,
|
|
19596
19841
|
{
|
|
19597
19842
|
$position: "absolute",
|
|
@@ -19606,7 +19851,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19606
19851
|
}
|
|
19607
19852
|
)
|
|
19608
19853
|
] }),
|
|
19609
|
-
/* @__PURE__ */ (0,
|
|
19854
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
19610
19855
|
Flex,
|
|
19611
19856
|
{
|
|
19612
19857
|
$flexDirection: "column",
|
|
@@ -19614,7 +19859,7 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19614
19859
|
$gap: `${cardPadding}rem`,
|
|
19615
19860
|
$flexGrow: "1",
|
|
19616
19861
|
children: [
|
|
19617
|
-
props.addOns.showEntitlements && /* @__PURE__ */ (0,
|
|
19862
|
+
props.addOns.showEntitlements && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19618
19863
|
Flex,
|
|
19619
19864
|
{
|
|
19620
19865
|
$flexDirection: "column",
|
|
@@ -19622,15 +19867,15 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19622
19867
|
$gap: "1rem",
|
|
19623
19868
|
$flexGrow: "1",
|
|
19624
19869
|
children: addOn.entitlements.map((entitlement) => {
|
|
19625
|
-
return /* @__PURE__ */ (0,
|
|
19870
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19626
19871
|
Flex,
|
|
19627
19872
|
{
|
|
19628
19873
|
$flexWrap: "wrap",
|
|
19629
19874
|
$justifyContent: "space-between",
|
|
19630
19875
|
$alignItems: "center",
|
|
19631
19876
|
$gap: "1rem",
|
|
19632
|
-
children: /* @__PURE__ */ (0,
|
|
19633
|
-
props.addOns.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ (0,
|
|
19877
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Flex, { $gap: "1rem", children: [
|
|
19878
|
+
props.addOns.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19634
19879
|
IconRound,
|
|
19635
19880
|
{
|
|
19636
19881
|
name: entitlement.feature.icon,
|
|
@@ -19641,20 +19886,20 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19641
19886
|
]
|
|
19642
19887
|
}
|
|
19643
19888
|
),
|
|
19644
|
-
entitlement.feature?.name && /* @__PURE__ */ (0,
|
|
19889
|
+
entitlement.feature?.name && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19645
19890
|
Text,
|
|
19646
19891
|
{
|
|
19647
19892
|
$font: theme.typography.text.fontFamily,
|
|
19648
19893
|
$size: theme.typography.text.fontSize,
|
|
19649
19894
|
$weight: theme.typography.text.fontWeight,
|
|
19650
19895
|
$color: theme.typography.text.color,
|
|
19651
|
-
children: entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ (0,
|
|
19896
|
+
children: entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
19652
19897
|
entitlement.valueType === "unlimited" ? t2("Unlimited", {
|
|
19653
19898
|
item: (0, import_pluralize7.default)(
|
|
19654
19899
|
entitlement.feature.name
|
|
19655
19900
|
)
|
|
19656
19901
|
}) : typeof entitlement.valueNumeric === "number" && `${formatNumber(entitlement.valueNumeric)} ${(0, import_pluralize7.default)(entitlement.feature.name, entitlement.valueNumeric)}`,
|
|
19657
|
-
entitlement.metricPeriod && /* @__PURE__ */ (0,
|
|
19902
|
+
entitlement.metricPeriod && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
|
|
19658
19903
|
" ",
|
|
19659
19904
|
t2("per"),
|
|
19660
19905
|
" ",
|
|
@@ -19675,9 +19920,10 @@ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...res
|
|
|
19675
19920
|
})
|
|
19676
19921
|
}
|
|
19677
19922
|
),
|
|
19678
|
-
props.upgrade.isVisible && /* @__PURE__ */ (0,
|
|
19923
|
+
props.upgrade.isVisible && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
19679
19924
|
EmbedButton,
|
|
19680
19925
|
{
|
|
19926
|
+
type: "button",
|
|
19681
19927
|
disabled: !addOn.valid || !canCheckout,
|
|
19682
19928
|
onClick: () => {
|
|
19683
19929
|
setSelected({
|
|
@@ -19712,7 +19958,7 @@ PricingTable.displayName = "PricingTable";
|
|
|
19712
19958
|
|
|
19713
19959
|
// src/components/elements/upcoming-bill/UpcomingBill.tsx
|
|
19714
19960
|
var import_react38 = require("react");
|
|
19715
|
-
var
|
|
19961
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
19716
19962
|
function resolveDesignProps7(props) {
|
|
19717
19963
|
return {
|
|
19718
19964
|
header: {
|
|
@@ -19764,7 +20010,7 @@ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref)
|
|
|
19764
20010
|
if (typeof upcomingInvoice.amountDue !== "number" || !upcomingInvoice.dueDate) {
|
|
19765
20011
|
return null;
|
|
19766
20012
|
}
|
|
19767
|
-
return /* @__PURE__ */ (0,
|
|
20013
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
19768
20014
|
Element,
|
|
19769
20015
|
{
|
|
19770
20016
|
as: Flex,
|
|
@@ -19773,7 +20019,7 @@ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref)
|
|
|
19773
20019
|
$flexDirection: "column",
|
|
19774
20020
|
$gap: "1rem",
|
|
19775
20021
|
children: [
|
|
19776
|
-
props.header.isVisible && /* @__PURE__ */ (0,
|
|
20022
|
+
props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
|
|
19777
20023
|
Text,
|
|
19778
20024
|
{
|
|
19779
20025
|
$font: theme.typography[props.header.fontStyle].fontFamily,
|
|
@@ -19787,8 +20033,8 @@ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref)
|
|
|
19787
20033
|
]
|
|
19788
20034
|
}
|
|
19789
20035
|
) }),
|
|
19790
|
-
/* @__PURE__ */ (0,
|
|
19791
|
-
props.price.isVisible && /* @__PURE__ */ (0,
|
|
20036
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Flex, { $justifyContent: "space-between", $alignItems: "start", $gap: "1rem", children: [
|
|
20037
|
+
props.price.isVisible && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Flex, { $alignItems: "end", $flexGrow: "1", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
19792
20038
|
Text,
|
|
19793
20039
|
{
|
|
19794
20040
|
$font: theme.typography[props.price.fontStyle].fontFamily,
|
|
@@ -19802,7 +20048,7 @@ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref)
|
|
|
19802
20048
|
)
|
|
19803
20049
|
}
|
|
19804
20050
|
) }),
|
|
19805
|
-
/* @__PURE__ */ (0,
|
|
20051
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box, { $lineHeight: 1.15, $maxWidth: "10rem", $textAlign: "right", children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
19806
20052
|
Text,
|
|
19807
20053
|
{
|
|
19808
20054
|
$font: theme.typography[props.contractEndDate.fontStyle].fontFamily,
|
|
@@ -19814,8 +20060,8 @@ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref)
|
|
|
19814
20060
|
}
|
|
19815
20061
|
) })
|
|
19816
20062
|
] }),
|
|
19817
|
-
discounts.length > 0 && /* @__PURE__ */ (0,
|
|
19818
|
-
/* @__PURE__ */ (0,
|
|
20063
|
+
discounts.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
|
|
20064
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
19819
20065
|
Text,
|
|
19820
20066
|
{
|
|
19821
20067
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19825,8 +20071,8 @@ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref)
|
|
|
19825
20071
|
children: t2("Discount")
|
|
19826
20072
|
}
|
|
19827
20073
|
) }),
|
|
19828
|
-
/* @__PURE__ */ (0,
|
|
19829
|
-
/* @__PURE__ */ (0,
|
|
20074
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box, { children: discounts.map((discount) => /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
|
|
20075
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
19830
20076
|
Flex,
|
|
19831
20077
|
{
|
|
19832
20078
|
$alignItems: "center",
|
|
@@ -19835,7 +20081,7 @@ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref)
|
|
|
19835
20081
|
$borderStyle: "solid",
|
|
19836
20082
|
$borderColor: isLightBackground ? "hsla(0, 0%, 0%, 0.15)" : "hsla(0, 0%, 100%, 0.15)",
|
|
19837
20083
|
$borderRadius: "0.3125rem",
|
|
19838
|
-
children: /* @__PURE__ */ (0,
|
|
20084
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
19839
20085
|
Text,
|
|
19840
20086
|
{
|
|
19841
20087
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19847,7 +20093,7 @@ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref)
|
|
|
19847
20093
|
)
|
|
19848
20094
|
}
|
|
19849
20095
|
),
|
|
19850
|
-
/* @__PURE__ */ (0,
|
|
20096
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
19851
20097
|
Text,
|
|
19852
20098
|
{
|
|
19853
20099
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19865,11 +20111,72 @@ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref)
|
|
|
19865
20111
|
});
|
|
19866
20112
|
UpcomingBill.displayName = "UpcomingBill";
|
|
19867
20113
|
|
|
20114
|
+
// src/components/elements/unsubscribe-button/UnsubscribeButton.tsx
|
|
20115
|
+
var import_react39 = require("react");
|
|
20116
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
20117
|
+
var resolveDesignProps8 = (props) => {
|
|
20118
|
+
return {
|
|
20119
|
+
button: {
|
|
20120
|
+
text: props.button?.text ?? "Unsubscribe",
|
|
20121
|
+
style: props.button?.style ?? "primary",
|
|
20122
|
+
size: props.button?.size ?? "md",
|
|
20123
|
+
fullWidth: props.button?.fullWidth ?? true,
|
|
20124
|
+
alignment: props.button?.alignment ?? "center"
|
|
20125
|
+
}
|
|
20126
|
+
};
|
|
20127
|
+
};
|
|
20128
|
+
var UnsubscribeButton = (0, import_react39.forwardRef)(({ children, className, ...rest }, ref) => {
|
|
20129
|
+
const props = resolveDesignProps8(rest);
|
|
20130
|
+
const { t: t2 } = useTranslation();
|
|
20131
|
+
const { data, setLayout } = useEmbed();
|
|
20132
|
+
const disabled = !data.subscription || data.subscription.status === "cancelled";
|
|
20133
|
+
const buttonStyles = {
|
|
20134
|
+
primary: {
|
|
20135
|
+
color: "primary",
|
|
20136
|
+
variant: "filled"
|
|
20137
|
+
},
|
|
20138
|
+
secondary: {
|
|
20139
|
+
color: "primary",
|
|
20140
|
+
variant: "outline"
|
|
20141
|
+
},
|
|
20142
|
+
tertiary: {
|
|
20143
|
+
color: "primary",
|
|
20144
|
+
variant: "text"
|
|
20145
|
+
}
|
|
20146
|
+
};
|
|
20147
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
20148
|
+
Element,
|
|
20149
|
+
{
|
|
20150
|
+
as: Flex,
|
|
20151
|
+
ref,
|
|
20152
|
+
className,
|
|
20153
|
+
$flexDirection: "column",
|
|
20154
|
+
$gap: "2rem",
|
|
20155
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
20156
|
+
EmbedButton,
|
|
20157
|
+
{
|
|
20158
|
+
$size: props.button.size,
|
|
20159
|
+
$color: buttonStyles[props.button.style].color,
|
|
20160
|
+
$variant: buttonStyles[props.button.style].variant,
|
|
20161
|
+
$alignment: props.button.alignment,
|
|
20162
|
+
$fullWidth: props.button.fullWidth,
|
|
20163
|
+
onClick: () => {
|
|
20164
|
+
setLayout("unsubscribe");
|
|
20165
|
+
},
|
|
20166
|
+
disabled,
|
|
20167
|
+
children: t2(props.button.text) ?? t2("Unsubscribe")
|
|
20168
|
+
}
|
|
20169
|
+
)
|
|
20170
|
+
}
|
|
20171
|
+
);
|
|
20172
|
+
});
|
|
20173
|
+
UnsubscribeButton.displayName = "UnsubscribeButton";
|
|
20174
|
+
|
|
19868
20175
|
// src/components/embed/ComponentTree.tsx
|
|
19869
|
-
var
|
|
20176
|
+
var import_react41 = require("react");
|
|
19870
20177
|
|
|
19871
20178
|
// src/components/embed/renderer.ts
|
|
19872
|
-
var
|
|
20179
|
+
var import_react40 = require("react");
|
|
19873
20180
|
var components = {
|
|
19874
20181
|
Root,
|
|
19875
20182
|
Viewport,
|
|
@@ -19881,7 +20188,8 @@ var components = {
|
|
|
19881
20188
|
UpcomingBill,
|
|
19882
20189
|
PaymentMethod,
|
|
19883
20190
|
Invoices,
|
|
19884
|
-
PricingTable
|
|
20191
|
+
PricingTable,
|
|
20192
|
+
UnsubscribeButton
|
|
19885
20193
|
};
|
|
19886
20194
|
function createRenderer(options) {
|
|
19887
20195
|
const { useFallback = false } = options || {};
|
|
@@ -19891,7 +20199,7 @@ function createRenderer(options) {
|
|
|
19891
20199
|
const component = useFallback ? components[name] || "div" : components[name];
|
|
19892
20200
|
if (!components[name]) {
|
|
19893
20201
|
console.debug(
|
|
19894
|
-
"`schematic-embed`:
|
|
20202
|
+
"`schematic-embed`: Encountered an unknown component during render cycle.",
|
|
19895
20203
|
name
|
|
19896
20204
|
);
|
|
19897
20205
|
}
|
|
@@ -19901,7 +20209,7 @@ function createRenderer(options) {
|
|
|
19901
20209
|
const { className, ...rest } = props;
|
|
19902
20210
|
const resolvedProps = component === "div" ? rest : props;
|
|
19903
20211
|
const resolvedChildren = children.map(renderNode);
|
|
19904
|
-
return (0,
|
|
20212
|
+
return (0, import_react40.createElement)(
|
|
19905
20213
|
component,
|
|
19906
20214
|
{
|
|
19907
20215
|
key: index,
|
|
@@ -19914,10 +20222,10 @@ function createRenderer(options) {
|
|
|
19914
20222
|
}
|
|
19915
20223
|
|
|
19916
20224
|
// src/components/embed/ComponentTree.tsx
|
|
19917
|
-
var
|
|
20225
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
19918
20226
|
var Loading = () => {
|
|
19919
20227
|
const theme = nt();
|
|
19920
|
-
return /* @__PURE__ */ (0,
|
|
20228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
19921
20229
|
Flex,
|
|
19922
20230
|
{
|
|
19923
20231
|
$width: "100%",
|
|
@@ -19925,13 +20233,13 @@ var Loading = () => {
|
|
|
19925
20233
|
$alignItems: "center",
|
|
19926
20234
|
$justifyContent: "center",
|
|
19927
20235
|
$padding: `${theme.card.padding / TEXT_BASE_SIZE}rem`,
|
|
19928
|
-
children: /* @__PURE__ */ (0,
|
|
20236
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loader, { $size: "2xl", $color: "#194BFB" })
|
|
19929
20237
|
}
|
|
19930
20238
|
);
|
|
19931
20239
|
};
|
|
19932
20240
|
var Error2 = ({ message }) => {
|
|
19933
20241
|
const theme = nt();
|
|
19934
|
-
return /* @__PURE__ */ (0,
|
|
20242
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
19935
20243
|
Flex,
|
|
19936
20244
|
{
|
|
19937
20245
|
$flexDirection: "column",
|
|
@@ -19942,7 +20250,7 @@ var Error2 = ({ message }) => {
|
|
|
19942
20250
|
$alignItems: "center",
|
|
19943
20251
|
$justifyContent: "center",
|
|
19944
20252
|
children: [
|
|
19945
|
-
/* @__PURE__ */ (0,
|
|
20253
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
19946
20254
|
Box,
|
|
19947
20255
|
{
|
|
19948
20256
|
$marginBottom: `${8 / TEXT_BASE_SIZE}rem`,
|
|
@@ -19953,7 +20261,7 @@ var Error2 = ({ message }) => {
|
|
|
19953
20261
|
children: "Error"
|
|
19954
20262
|
}
|
|
19955
20263
|
),
|
|
19956
|
-
/* @__PURE__ */ (0,
|
|
20264
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
19957
20265
|
Box,
|
|
19958
20266
|
{
|
|
19959
20267
|
$marginBottom: `${8 / TEXT_BASE_SIZE}rem`,
|
|
@@ -19970,31 +20278,31 @@ var Error2 = ({ message }) => {
|
|
|
19970
20278
|
};
|
|
19971
20279
|
var ComponentTree = () => {
|
|
19972
20280
|
const { error, nodes, isPending } = useEmbed();
|
|
19973
|
-
const [children, setChildren] = (0,
|
|
19974
|
-
(0,
|
|
20281
|
+
const [children, setChildren] = (0, import_react41.useState)(/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loading, {}));
|
|
20282
|
+
(0, import_react41.useEffect)(() => {
|
|
19975
20283
|
const renderer = createRenderer();
|
|
19976
20284
|
setChildren(nodes.map(renderer));
|
|
19977
20285
|
}, [nodes]);
|
|
19978
20286
|
if (error) {
|
|
19979
20287
|
console.error(error);
|
|
19980
|
-
return /* @__PURE__ */ (0,
|
|
20288
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Error2, { message: error.message });
|
|
19981
20289
|
}
|
|
19982
20290
|
if (isPending) {
|
|
19983
|
-
return /* @__PURE__ */ (0,
|
|
20291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loading, {});
|
|
19984
20292
|
}
|
|
19985
|
-
return /* @__PURE__ */ (0,
|
|
20293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_jsx_runtime35.Fragment, { children });
|
|
19986
20294
|
};
|
|
19987
20295
|
|
|
19988
20296
|
// src/components/embed/Embed.tsx
|
|
19989
|
-
var
|
|
20297
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
19990
20298
|
var SchematicEmbed = ({ id, accessToken, apiConfig }) => {
|
|
19991
20299
|
if (accessToken?.length === 0) {
|
|
19992
|
-
return /* @__PURE__ */ (0,
|
|
20300
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { children: "Please provide an access token." });
|
|
19993
20301
|
}
|
|
19994
20302
|
if (!accessToken?.startsWith("token_")) {
|
|
19995
|
-
return /* @__PURE__ */ (0,
|
|
20303
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { children: 'Invalid access token; your temporary access token will start with "token_".' });
|
|
19996
20304
|
}
|
|
19997
|
-
return /* @__PURE__ */ (0,
|
|
20305
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(EmbedProvider, { id, accessToken, apiConfig, children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(ComponentTree, {}) });
|
|
19998
20306
|
};
|
|
19999
20307
|
/*! Bundled license information:
|
|
20000
20308
|
|