@schematichq/schematic-components 0.4.7 → 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schematic-components.cjs.js +408 -481
- package/dist/schematic-components.d.ts +7 -2
- package/dist/schematic-components.esm.js +469 -539
- package/package.json +7 -7
|
@@ -2076,7 +2076,7 @@ var require_pluralize = __commonJS({
|
|
|
2076
2076
|
});
|
|
2077
2077
|
|
|
2078
2078
|
// src/components/elements/included-features/IncludedFeatures.tsx
|
|
2079
|
-
import { forwardRef as forwardRef7, useRef as useRef6, useState as
|
|
2079
|
+
import { forwardRef as forwardRef7, useRef as useRef6, useState as useState12 } from "react";
|
|
2080
2080
|
|
|
2081
2081
|
// node_modules/react-i18next/dist/es/Trans.js
|
|
2082
2082
|
import { useContext } from "react";
|
|
@@ -3735,11 +3735,11 @@ function useAvailablePlans(activePeriod) {
|
|
|
3735
3735
|
const getActivePlans = useCallback2(
|
|
3736
3736
|
(plans) => {
|
|
3737
3737
|
const customPlanExist = plans.some((plan) => plan.custom);
|
|
3738
|
-
|
|
3738
|
+
const plansWithSelected = mode === "edit" ? plans.slice() : plans.filter(
|
|
3739
3739
|
(plan) => activePeriod === "month" && plan.monthlyPrice || activePeriod === "year" && plan.yearlyPrice
|
|
3740
3740
|
);
|
|
3741
3741
|
if (!customPlanExist) {
|
|
3742
|
-
plansWithSelected
|
|
3742
|
+
plansWithSelected.sort((a2, b2) => {
|
|
3743
3743
|
if (activePeriod === "year") {
|
|
3744
3744
|
return (a2.yearlyPrice?.price ?? 0) - (b2.yearlyPrice?.price ?? 0);
|
|
3745
3745
|
}
|
|
@@ -12033,7 +12033,7 @@ var GlobalStyle = ft`;
|
|
|
12033
12033
|
|
|
12034
12034
|
@font-face {
|
|
12035
12035
|
font-family: "icons";
|
|
12036
|
-
src: url(data:font/ttf;base64,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AGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAdnbGFzc2VzBWdsb2JlBmhhbW1lcgRoYXNoBWhlYXJ0B2h1YnNwb3QFaW1hZ2UMaW5mby1yb3VuZGVkBWp1aWNlA2tleQRsaW5rCm1hc3RlcmNhcmQFbXVzaWMKbm9kZS1taW51cwlub2RlLXBsdXMHcGFja2FnZQtwYXBlci1wbGFuZQZwYXlwYWwGcGVuY2lsB3BlcmNlbnQGcGlja2VyBHBsYW4EcGx1ZwpwbHVzLW1pbnVzFHBsdXMtcm91bmRlZC1vdXRsaW5lB3ByZXNlbnQJc2NoZW1hdGljBnNlYXJjaAdzZWdtZW50DXNlcnZlci1zZWFyY2gHc2lkZWJhcgZzaWduYWwHc2lsZW5jZQVzcGFkZQdzcGVha2VyB3N0YWNrZWQGc3RhY2tzBnN0cmlwZQR0ZXh0B3RodW5kZXIHdG9ybmFkbwV0cnVjawR0dWJlC3VucHJvdGVjdGVkCHZlcmlmaWVkDHZpZGVvLWNhbWVyYQR2aXNhBndhbGxldAp3YXRjaC1oYW5kDHdhdGNoLXBvY2tldAp3YXRlci1kcm9wBXdhdmVzB3dlYmhvb2sEd2luZAAAAA==), format("truetype");
|
|
12036
|
+
src: url(data:font/ttf;base64,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ASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAZnaXRodWIHZ2xhc3NlcwVnbG9iZQZnb29nbGUGaGFtbWVyBGhhc2gFaGVhcnQHaHVic3BvdAVpbWFnZQxpbmZvLXJvdW5kZWQFanVpY2UDa2V5BGxpbmsKbWFzdGVyY2FyZARtb3ZlBW11c2ljCm5vZGUtbWludXMJbm9kZS1wbHVzB3BhY2thZ2ULcGFwZXItcGxhbmUGcGF5cGFsBnBlbmNpbAdwZXJjZW50BnBpY2tlcgRwbGFuBHBsdWcKcGx1cy1taW51cxRwbHVzLXJvdW5kZWQtb3V0bGluZQdwcmVzZW50CXNjaGVtYXRpYwZzZWFyY2gHc2VnbWVudA1zZXJ2ZXItc2VhcmNoB3NpZGViYXIGc2lnbmFsB3NpbGVuY2UFc3BhZGUHc3BlYWtlcgdzdGFja2VkBnN0YWNrcwZzdHJpcGUEdGV4dAd0aHVuZGVyB3Rvcm5hZG8FdHJ1Y2sEdHViZQt1bnByb3RlY3RlZAt1bnN1YnNjcmliZQh2ZXJpZmllZAx2aWRlby1jYW1lcmEEdmlzYQZ3YWxsZXQKd2F0Y2gtaGFuZAx3YXRjaC1wb2NrZXQKd2F0ZXItZHJvcAV3YXZlcwd3ZWJob29rBHdpbmQAAAAA), format("truetype");
|
|
12037
12037
|
}
|
|
12038
12038
|
|
|
12039
12039
|
i[class^="i-"]:before,
|
|
@@ -12281,221 +12281,237 @@ i[class*=" i-"]:before {
|
|
|
12281
12281
|
content: "\\f13b";
|
|
12282
12282
|
}
|
|
12283
12283
|
|
|
12284
|
-
.i-
|
|
12284
|
+
.i-github::before {
|
|
12285
12285
|
content: "\\f13c";
|
|
12286
12286
|
}
|
|
12287
12287
|
|
|
12288
|
-
.i-
|
|
12288
|
+
.i-glasses::before {
|
|
12289
12289
|
content: "\\f13d";
|
|
12290
12290
|
}
|
|
12291
12291
|
|
|
12292
|
-
.i-
|
|
12292
|
+
.i-globe::before {
|
|
12293
12293
|
content: "\\f13e";
|
|
12294
12294
|
}
|
|
12295
12295
|
|
|
12296
|
-
.i-
|
|
12296
|
+
.i-google::before {
|
|
12297
12297
|
content: "\\f13f";
|
|
12298
12298
|
}
|
|
12299
12299
|
|
|
12300
|
-
.i-
|
|
12300
|
+
.i-hammer::before {
|
|
12301
12301
|
content: "\\f140";
|
|
12302
12302
|
}
|
|
12303
12303
|
|
|
12304
|
-
.i-
|
|
12304
|
+
.i-hash::before {
|
|
12305
12305
|
content: "\\f141";
|
|
12306
12306
|
}
|
|
12307
12307
|
|
|
12308
|
-
.i-
|
|
12308
|
+
.i-heart::before {
|
|
12309
12309
|
content: "\\f142";
|
|
12310
12310
|
}
|
|
12311
12311
|
|
|
12312
|
-
.i-
|
|
12312
|
+
.i-hubspot::before {
|
|
12313
12313
|
content: "\\f143";
|
|
12314
12314
|
}
|
|
12315
12315
|
|
|
12316
|
-
.i-
|
|
12316
|
+
.i-image::before {
|
|
12317
12317
|
content: "\\f144";
|
|
12318
12318
|
}
|
|
12319
12319
|
|
|
12320
|
-
.i-
|
|
12320
|
+
.i-info-rounded::before {
|
|
12321
12321
|
content: "\\f145";
|
|
12322
12322
|
}
|
|
12323
12323
|
|
|
12324
|
-
.i-
|
|
12324
|
+
.i-juice::before {
|
|
12325
12325
|
content: "\\f146";
|
|
12326
12326
|
}
|
|
12327
12327
|
|
|
12328
|
-
.i-
|
|
12328
|
+
.i-key::before {
|
|
12329
12329
|
content: "\\f147";
|
|
12330
12330
|
}
|
|
12331
12331
|
|
|
12332
|
-
.i-
|
|
12332
|
+
.i-link::before {
|
|
12333
12333
|
content: "\\f148";
|
|
12334
12334
|
}
|
|
12335
12335
|
|
|
12336
|
-
.i-
|
|
12336
|
+
.i-mastercard::before {
|
|
12337
12337
|
content: "\\f149";
|
|
12338
12338
|
}
|
|
12339
12339
|
|
|
12340
|
-
.i-
|
|
12340
|
+
.i-move::before {
|
|
12341
12341
|
content: "\\f14a";
|
|
12342
12342
|
}
|
|
12343
12343
|
|
|
12344
|
-
.i-
|
|
12344
|
+
.i-music::before {
|
|
12345
12345
|
content: "\\f14b";
|
|
12346
12346
|
}
|
|
12347
12347
|
|
|
12348
|
-
.i-
|
|
12348
|
+
.i-node-minus::before {
|
|
12349
12349
|
content: "\\f14c";
|
|
12350
12350
|
}
|
|
12351
12351
|
|
|
12352
|
-
.i-
|
|
12352
|
+
.i-node-plus::before {
|
|
12353
12353
|
content: "\\f14d";
|
|
12354
12354
|
}
|
|
12355
12355
|
|
|
12356
|
-
.i-
|
|
12356
|
+
.i-package::before {
|
|
12357
12357
|
content: "\\f14e";
|
|
12358
12358
|
}
|
|
12359
12359
|
|
|
12360
|
-
.i-
|
|
12360
|
+
.i-paper-plane::before {
|
|
12361
12361
|
content: "\\f14f";
|
|
12362
12362
|
}
|
|
12363
12363
|
|
|
12364
|
-
.i-
|
|
12364
|
+
.i-paypal::before {
|
|
12365
12365
|
content: "\\f150";
|
|
12366
12366
|
}
|
|
12367
12367
|
|
|
12368
|
-
.i-
|
|
12368
|
+
.i-pencil::before {
|
|
12369
12369
|
content: "\\f151";
|
|
12370
12370
|
}
|
|
12371
12371
|
|
|
12372
|
-
.i-
|
|
12372
|
+
.i-percent::before {
|
|
12373
12373
|
content: "\\f152";
|
|
12374
12374
|
}
|
|
12375
12375
|
|
|
12376
|
-
.i-
|
|
12376
|
+
.i-picker::before {
|
|
12377
12377
|
content: "\\f153";
|
|
12378
12378
|
}
|
|
12379
12379
|
|
|
12380
|
-
.i-
|
|
12380
|
+
.i-plan::before {
|
|
12381
12381
|
content: "\\f154";
|
|
12382
12382
|
}
|
|
12383
12383
|
|
|
12384
|
-
.i-
|
|
12384
|
+
.i-plug::before {
|
|
12385
12385
|
content: "\\f155";
|
|
12386
12386
|
}
|
|
12387
12387
|
|
|
12388
|
-
.i-
|
|
12388
|
+
.i-plus-minus::before {
|
|
12389
12389
|
content: "\\f156";
|
|
12390
12390
|
}
|
|
12391
12391
|
|
|
12392
|
-
.i-
|
|
12392
|
+
.i-plus-rounded-outline::before {
|
|
12393
12393
|
content: "\\f157";
|
|
12394
12394
|
}
|
|
12395
12395
|
|
|
12396
|
-
.i-
|
|
12396
|
+
.i-present::before {
|
|
12397
12397
|
content: "\\f158";
|
|
12398
12398
|
}
|
|
12399
12399
|
|
|
12400
|
-
.i-
|
|
12400
|
+
.i-schematic::before {
|
|
12401
12401
|
content: "\\f159";
|
|
12402
12402
|
}
|
|
12403
12403
|
|
|
12404
|
-
.i-
|
|
12404
|
+
.i-search::before {
|
|
12405
12405
|
content: "\\f15a";
|
|
12406
12406
|
}
|
|
12407
12407
|
|
|
12408
|
-
.i-
|
|
12408
|
+
.i-segment::before {
|
|
12409
12409
|
content: "\\f15b";
|
|
12410
12410
|
}
|
|
12411
12411
|
|
|
12412
|
-
.i-
|
|
12412
|
+
.i-server-search::before {
|
|
12413
12413
|
content: "\\f15c";
|
|
12414
12414
|
}
|
|
12415
12415
|
|
|
12416
|
-
.i-
|
|
12416
|
+
.i-sidebar::before {
|
|
12417
12417
|
content: "\\f15d";
|
|
12418
12418
|
}
|
|
12419
12419
|
|
|
12420
|
-
.i-
|
|
12420
|
+
.i-signal::before {
|
|
12421
12421
|
content: "\\f15e";
|
|
12422
12422
|
}
|
|
12423
12423
|
|
|
12424
|
-
.i-
|
|
12424
|
+
.i-silence::before {
|
|
12425
12425
|
content: "\\f15f";
|
|
12426
12426
|
}
|
|
12427
12427
|
|
|
12428
|
-
.i-
|
|
12428
|
+
.i-spade::before {
|
|
12429
12429
|
content: "\\f160";
|
|
12430
12430
|
}
|
|
12431
12431
|
|
|
12432
|
-
.i-
|
|
12432
|
+
.i-speaker::before {
|
|
12433
12433
|
content: "\\f161";
|
|
12434
12434
|
}
|
|
12435
12435
|
|
|
12436
|
-
.i-
|
|
12436
|
+
.i-stacked::before {
|
|
12437
12437
|
content: "\\f162";
|
|
12438
12438
|
}
|
|
12439
12439
|
|
|
12440
|
-
.i-
|
|
12440
|
+
.i-stacks::before {
|
|
12441
12441
|
content: "\\f163";
|
|
12442
12442
|
}
|
|
12443
12443
|
|
|
12444
|
-
.i-
|
|
12444
|
+
.i-stripe::before {
|
|
12445
12445
|
content: "\\f164";
|
|
12446
12446
|
}
|
|
12447
12447
|
|
|
12448
|
-
.i-
|
|
12448
|
+
.i-text::before {
|
|
12449
12449
|
content: "\\f165";
|
|
12450
12450
|
}
|
|
12451
12451
|
|
|
12452
|
-
.i-
|
|
12452
|
+
.i-thunder::before {
|
|
12453
12453
|
content: "\\f166";
|
|
12454
12454
|
}
|
|
12455
12455
|
|
|
12456
|
-
.i-
|
|
12456
|
+
.i-tornado::before {
|
|
12457
12457
|
content: "\\f167";
|
|
12458
12458
|
}
|
|
12459
12459
|
|
|
12460
|
-
.i-
|
|
12460
|
+
.i-truck::before {
|
|
12461
12461
|
content: "\\f168";
|
|
12462
12462
|
}
|
|
12463
12463
|
|
|
12464
|
-
.i-
|
|
12464
|
+
.i-tube::before {
|
|
12465
12465
|
content: "\\f169";
|
|
12466
12466
|
}
|
|
12467
12467
|
|
|
12468
|
-
.i-
|
|
12468
|
+
.i-unprotected::before {
|
|
12469
12469
|
content: "\\f16a";
|
|
12470
12470
|
}
|
|
12471
12471
|
|
|
12472
|
-
.i-
|
|
12472
|
+
.i-unsubscribe::before {
|
|
12473
12473
|
content: "\\f16b";
|
|
12474
12474
|
}
|
|
12475
12475
|
|
|
12476
|
-
.i-
|
|
12476
|
+
.i-verified::before {
|
|
12477
12477
|
content: "\\f16c";
|
|
12478
12478
|
}
|
|
12479
12479
|
|
|
12480
|
-
.i-
|
|
12480
|
+
.i-video-camera::before {
|
|
12481
12481
|
content: "\\f16d";
|
|
12482
12482
|
}
|
|
12483
12483
|
|
|
12484
|
-
.i-
|
|
12484
|
+
.i-visa::before {
|
|
12485
12485
|
content: "\\f16e";
|
|
12486
12486
|
}
|
|
12487
12487
|
|
|
12488
|
-
.i-
|
|
12488
|
+
.i-wallet::before {
|
|
12489
12489
|
content: "\\f16f";
|
|
12490
12490
|
}
|
|
12491
12491
|
|
|
12492
|
-
.i-
|
|
12492
|
+
.i-watch-hand::before {
|
|
12493
12493
|
content: "\\f170";
|
|
12494
12494
|
}
|
|
12495
12495
|
|
|
12496
|
-
.i-
|
|
12496
|
+
.i-watch-pocket::before {
|
|
12497
12497
|
content: "\\f171";
|
|
12498
12498
|
}
|
|
12499
|
+
|
|
12500
|
+
.i-water-drop::before {
|
|
12501
|
+
content: "\\f172";
|
|
12502
|
+
}
|
|
12503
|
+
|
|
12504
|
+
.i-waves::before {
|
|
12505
|
+
content: "\\f173";
|
|
12506
|
+
}
|
|
12507
|
+
|
|
12508
|
+
.i-webhook::before {
|
|
12509
|
+
content: "\\f174";
|
|
12510
|
+
}
|
|
12511
|
+
|
|
12512
|
+
.i-wind::before {
|
|
12513
|
+
content: "\\f175";
|
|
12514
|
+
}
|
|
12499
12515
|
`;
|
|
12500
12516
|
|
|
12501
12517
|
// src/context/embed.tsx
|
|
@@ -12615,13 +12631,15 @@ var EmbedContext = createContext2({
|
|
|
12615
12631
|
isPending: false,
|
|
12616
12632
|
hydrate: async () => {
|
|
12617
12633
|
},
|
|
12618
|
-
|
|
12634
|
+
setIsPending: () => {
|
|
12619
12635
|
},
|
|
12620
|
-
|
|
12636
|
+
setData: () => {
|
|
12621
12637
|
},
|
|
12622
12638
|
setLayout: () => {
|
|
12623
12639
|
},
|
|
12624
12640
|
setSelected: () => {
|
|
12641
|
+
},
|
|
12642
|
+
updateSettings: () => {
|
|
12625
12643
|
}
|
|
12626
12644
|
});
|
|
12627
12645
|
var EmbedProvider = ({
|
|
@@ -12652,11 +12670,13 @@ var EmbedProvider = ({
|
|
|
12652
12670
|
},
|
|
12653
12671
|
setData: () => {
|
|
12654
12672
|
},
|
|
12655
|
-
|
|
12673
|
+
setIsPending: () => {
|
|
12656
12674
|
},
|
|
12657
12675
|
setLayout: () => {
|
|
12658
12676
|
},
|
|
12659
12677
|
setSelected: () => {
|
|
12678
|
+
},
|
|
12679
|
+
updateSettings: () => {
|
|
12660
12680
|
}
|
|
12661
12681
|
};
|
|
12662
12682
|
});
|
|
@@ -12696,45 +12716,39 @@ var EmbedProvider = ({
|
|
|
12696
12716
|
}));
|
|
12697
12717
|
}
|
|
12698
12718
|
}, [id, state.api]);
|
|
12699
|
-
const
|
|
12700
|
-
(
|
|
12701
|
-
|
|
12702
|
-
|
|
12703
|
-
|
|
12704
|
-
|
|
12705
|
-
|
|
12706
|
-
|
|
12707
|
-
|
|
12708
|
-
|
|
12709
|
-
|
|
12710
|
-
|
|
12711
|
-
|
|
12712
|
-
|
|
12713
|
-
|
|
12714
|
-
|
|
12715
|
-
|
|
12716
|
-
|
|
12717
|
-
|
|
12718
|
-
|
|
12719
|
-
|
|
12720
|
-
|
|
12721
|
-
|
|
12722
|
-
|
|
12723
|
-
|
|
12724
|
-
|
|
12725
|
-
})
|
|
12726
|
-
|
|
12727
|
-
[setState]
|
|
12728
|
-
);
|
|
12729
|
-
const setSelected = useCallback3(
|
|
12730
|
-
(selected) => {
|
|
12731
|
-
setState((prev2) => ({
|
|
12719
|
+
const setIsPending = (bool) => {
|
|
12720
|
+
setState((prev2) => ({
|
|
12721
|
+
...prev2,
|
|
12722
|
+
isPending: bool
|
|
12723
|
+
}));
|
|
12724
|
+
};
|
|
12725
|
+
const setData = (data) => {
|
|
12726
|
+
setState((prev2) => ({
|
|
12727
|
+
...prev2,
|
|
12728
|
+
data
|
|
12729
|
+
}));
|
|
12730
|
+
};
|
|
12731
|
+
const setLayout = (layout) => {
|
|
12732
|
+
setState((prev2) => ({
|
|
12733
|
+
...prev2,
|
|
12734
|
+
layout
|
|
12735
|
+
}));
|
|
12736
|
+
};
|
|
12737
|
+
const setSelected = (selected) => {
|
|
12738
|
+
setState((prev2) => ({
|
|
12739
|
+
...prev2,
|
|
12740
|
+
selected
|
|
12741
|
+
}));
|
|
12742
|
+
};
|
|
12743
|
+
const updateSettings = (settings) => {
|
|
12744
|
+
setState((prev2) => {
|
|
12745
|
+
const updatedSettings = (0, import_merge.default)({}, prev2.settings, { ...settings });
|
|
12746
|
+
return {
|
|
12732
12747
|
...prev2,
|
|
12733
|
-
|
|
12734
|
-
}
|
|
12735
|
-
}
|
|
12736
|
-
|
|
12737
|
-
);
|
|
12748
|
+
settings: updatedSettings
|
|
12749
|
+
};
|
|
12750
|
+
});
|
|
12751
|
+
};
|
|
12738
12752
|
useEffect2(() => {
|
|
12739
12753
|
instance.use(initReactI18next).init({
|
|
12740
12754
|
resources: {
|
|
@@ -12762,7 +12776,7 @@ var EmbedProvider = ({
|
|
|
12762
12776
|
useEffect2(() => {
|
|
12763
12777
|
if (accessToken) {
|
|
12764
12778
|
const { headers = {} } = apiConfig ?? {};
|
|
12765
|
-
headers["X-Schematic-Components-Version"] = "0.4.
|
|
12779
|
+
headers["X-Schematic-Components-Version"] = "0.4.8";
|
|
12766
12780
|
headers["X-Schematic-Session-ID"] = sessionIdRef.current;
|
|
12767
12781
|
const config = new Configuration({
|
|
12768
12782
|
...apiConfig,
|
|
@@ -12805,10 +12819,11 @@ var EmbedProvider = ({
|
|
|
12805
12819
|
error: state.error,
|
|
12806
12820
|
isPending: state.isPending,
|
|
12807
12821
|
hydrate,
|
|
12822
|
+
setIsPending,
|
|
12808
12823
|
setData,
|
|
12809
|
-
updateSettings,
|
|
12810
12824
|
setLayout,
|
|
12811
|
-
setSelected
|
|
12825
|
+
setSelected,
|
|
12826
|
+
updateSettings
|
|
12812
12827
|
},
|
|
12813
12828
|
children: /* @__PURE__ */ jsxs(ot, { theme: state.settings.theme, children: [
|
|
12814
12829
|
/* @__PURE__ */ jsx(GlobalStyle, {}),
|
|
@@ -12911,6 +12926,10 @@ function lighten(color, amount) {
|
|
|
12911
12926
|
function darken(color, amount) {
|
|
12912
12927
|
return adjustLightness(color, -amount);
|
|
12913
12928
|
}
|
|
12929
|
+
function hsla(color, amount) {
|
|
12930
|
+
const { h, s: s2, l: l2 } = hexToHSL(color);
|
|
12931
|
+
return `hsla(${h}, ${s2}%, ${l2}%, ${amount})`;
|
|
12932
|
+
}
|
|
12914
12933
|
|
|
12915
12934
|
// src/utils/date.ts
|
|
12916
12935
|
function toPrettyDate(date, format) {
|
|
@@ -13209,7 +13228,7 @@ var Button2 = forwardRef(
|
|
|
13209
13228
|
disabled,
|
|
13210
13229
|
...props,
|
|
13211
13230
|
children: [
|
|
13212
|
-
|
|
13231
|
+
/* @__PURE__ */ jsx2(Loader, { $size: "sm", $isLoading: isLoading }),
|
|
13213
13232
|
children
|
|
13214
13233
|
]
|
|
13215
13234
|
}
|
|
@@ -13522,60 +13541,64 @@ var icons_default = {
|
|
|
13522
13541
|
"folder-plus": 61753,
|
|
13523
13542
|
folder: 61754,
|
|
13524
13543
|
"generic-payment": 61755,
|
|
13525
|
-
|
|
13526
|
-
|
|
13527
|
-
|
|
13528
|
-
|
|
13529
|
-
|
|
13530
|
-
|
|
13531
|
-
|
|
13532
|
-
|
|
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
|
-
|
|
13544
|
+
github: 61756,
|
|
13545
|
+
glasses: 61757,
|
|
13546
|
+
globe: 61758,
|
|
13547
|
+
google: 61759,
|
|
13548
|
+
hammer: 61760,
|
|
13549
|
+
hash: 61761,
|
|
13550
|
+
heart: 61762,
|
|
13551
|
+
hubspot: 61763,
|
|
13552
|
+
image: 61764,
|
|
13553
|
+
"info-rounded": 61765,
|
|
13554
|
+
juice: 61766,
|
|
13555
|
+
key: 61767,
|
|
13556
|
+
link: 61768,
|
|
13557
|
+
mastercard: 61769,
|
|
13558
|
+
move: 61770,
|
|
13559
|
+
music: 61771,
|
|
13560
|
+
"node-minus": 61772,
|
|
13561
|
+
"node-plus": 61773,
|
|
13562
|
+
package: 61774,
|
|
13563
|
+
"paper-plane": 61775,
|
|
13564
|
+
paypal: 61776,
|
|
13565
|
+
pencil: 61777,
|
|
13566
|
+
percent: 61778,
|
|
13567
|
+
picker: 61779,
|
|
13568
|
+
plan: 61780,
|
|
13569
|
+
plug: 61781,
|
|
13570
|
+
"plus-minus": 61782,
|
|
13571
|
+
"plus-rounded-outline": 61783,
|
|
13572
|
+
present: 61784,
|
|
13573
|
+
schematic: 61785,
|
|
13574
|
+
search: 61786,
|
|
13575
|
+
segment: 61787,
|
|
13576
|
+
"server-search": 61788,
|
|
13577
|
+
sidebar: 61789,
|
|
13578
|
+
signal: 61790,
|
|
13579
|
+
silence: 61791,
|
|
13580
|
+
spade: 61792,
|
|
13581
|
+
speaker: 61793,
|
|
13582
|
+
stacked: 61794,
|
|
13583
|
+
stacks: 61795,
|
|
13584
|
+
stripe: 61796,
|
|
13585
|
+
text: 61797,
|
|
13586
|
+
thunder: 61798,
|
|
13587
|
+
tornado: 61799,
|
|
13588
|
+
truck: 61800,
|
|
13589
|
+
tube: 61801,
|
|
13590
|
+
unprotected: 61802,
|
|
13591
|
+
unsubscribe: 61803,
|
|
13592
|
+
verified: 61804,
|
|
13593
|
+
"video-camera": 61805,
|
|
13594
|
+
visa: 61806,
|
|
13595
|
+
wallet: 61807,
|
|
13596
|
+
"watch-hand": 61808,
|
|
13597
|
+
"watch-pocket": 61809,
|
|
13598
|
+
"water-drop": 61810,
|
|
13599
|
+
waves: 61811,
|
|
13600
|
+
webhook: 61812,
|
|
13601
|
+
wind: 61813
|
|
13579
13602
|
};
|
|
13580
13603
|
|
|
13581
13604
|
// src/components/ui/icon/IconRound.tsx
|
|
@@ -14185,7 +14208,7 @@ var Root = forwardRef3(
|
|
|
14185
14208
|
Root.displayName = "Root";
|
|
14186
14209
|
|
|
14187
14210
|
// src/components/layout/viewport/Viewport.tsx
|
|
14188
|
-
import { forwardRef as forwardRef4, useLayoutEffect as useLayoutEffect5, useState as
|
|
14211
|
+
import { forwardRef as forwardRef4, useLayoutEffect as useLayoutEffect5, useState as useState11 } from "react";
|
|
14189
14212
|
import { createPortal as createPortal2 } from "react-dom";
|
|
14190
14213
|
|
|
14191
14214
|
// src/components/shared/checkout-dialog/CheckoutDialog.tsx
|
|
@@ -14301,7 +14324,10 @@ var Navigation = ({
|
|
|
14301
14324
|
};
|
|
14302
14325
|
|
|
14303
14326
|
// src/components/shared/sidebar/Sidebar.tsx
|
|
14304
|
-
import {
|
|
14327
|
+
import {
|
|
14328
|
+
useCallback as useCallback6,
|
|
14329
|
+
useMemo as useMemo4
|
|
14330
|
+
} from "react";
|
|
14305
14331
|
var import_pluralize = __toESM(require_pluralize());
|
|
14306
14332
|
|
|
14307
14333
|
// src/components/shared/sidebar/StageButton.tsx
|
|
@@ -14325,7 +14351,8 @@ var StageButton = ({
|
|
|
14325
14351
|
return /* @__PURE__ */ jsx11(
|
|
14326
14352
|
EmbedButton,
|
|
14327
14353
|
{
|
|
14328
|
-
|
|
14354
|
+
type: "button",
|
|
14355
|
+
disabled: isLoading || !canUpdateSubscription,
|
|
14329
14356
|
onClick: checkout,
|
|
14330
14357
|
isLoading,
|
|
14331
14358
|
children: t2("Subscribe and close")
|
|
@@ -14338,9 +14365,10 @@ var StageButton = ({
|
|
|
14338
14365
|
return /* @__PURE__ */ jsx11(
|
|
14339
14366
|
EmbedButton,
|
|
14340
14367
|
{
|
|
14368
|
+
type: "button",
|
|
14341
14369
|
disabled: !hasAddOns && !canUpdateSubscription,
|
|
14342
14370
|
onClick: async () => {
|
|
14343
|
-
setCheckoutStage("checkout");
|
|
14371
|
+
setCheckoutStage?.("checkout");
|
|
14344
14372
|
},
|
|
14345
14373
|
isLoading,
|
|
14346
14374
|
children: /* @__PURE__ */ jsxs7(
|
|
@@ -14364,6 +14392,7 @@ var StageButton = ({
|
|
|
14364
14392
|
return /* @__PURE__ */ jsx11(
|
|
14365
14393
|
EmbedButton,
|
|
14366
14394
|
{
|
|
14395
|
+
type: "button",
|
|
14367
14396
|
disabled: !canUpdateSubscription,
|
|
14368
14397
|
onClick: async () => {
|
|
14369
14398
|
checkout();
|
|
@@ -14385,7 +14414,7 @@ var StageButton = ({
|
|
|
14385
14414
|
}
|
|
14386
14415
|
);
|
|
14387
14416
|
}
|
|
14388
|
-
if (!requiresPayment && !checkoutStages
|
|
14417
|
+
if (!requiresPayment && !checkoutStages?.some(
|
|
14389
14418
|
(stage) => stage.id === "addons" || stage.id === "usage"
|
|
14390
14419
|
)) {
|
|
14391
14420
|
return /* @__PURE__ */ jsx11(NoPaymentRequired, {});
|
|
@@ -14393,9 +14422,10 @@ var StageButton = ({
|
|
|
14393
14422
|
return /* @__PURE__ */ jsx11(
|
|
14394
14423
|
EmbedButton,
|
|
14395
14424
|
{
|
|
14425
|
+
type: "button",
|
|
14396
14426
|
disabled: !canUpdateSubscription,
|
|
14397
14427
|
onClick: async () => {
|
|
14398
|
-
setCheckoutStage(
|
|
14428
|
+
setCheckoutStage?.(
|
|
14399
14429
|
hasPayInAdvanceEntitlements ? "usage" : hasAddOns ? "addons" : "checkout"
|
|
14400
14430
|
);
|
|
14401
14431
|
},
|
|
@@ -14426,9 +14456,10 @@ var StageButton = ({
|
|
|
14426
14456
|
return /* @__PURE__ */ jsx11(
|
|
14427
14457
|
EmbedButton,
|
|
14428
14458
|
{
|
|
14459
|
+
type: "button",
|
|
14429
14460
|
disabled: !canUpdateSubscription,
|
|
14430
14461
|
onClick: async () => {
|
|
14431
|
-
setCheckoutStage(hasAddOns ? "addons" : "checkout");
|
|
14462
|
+
setCheckoutStage?.(hasAddOns ? "addons" : "checkout");
|
|
14432
14463
|
},
|
|
14433
14464
|
isLoading,
|
|
14434
14465
|
children: /* @__PURE__ */ jsxs7(
|
|
@@ -14456,9 +14487,10 @@ var StageButton = ({
|
|
|
14456
14487
|
return /* @__PURE__ */ jsx11(
|
|
14457
14488
|
EmbedButton,
|
|
14458
14489
|
{
|
|
14490
|
+
type: "button",
|
|
14459
14491
|
disabled: !canUpdateSubscription,
|
|
14460
14492
|
onClick: async () => {
|
|
14461
|
-
setCheckoutStage("checkout");
|
|
14493
|
+
setCheckoutStage?.("checkout");
|
|
14462
14494
|
},
|
|
14463
14495
|
isLoading,
|
|
14464
14496
|
children: /* @__PURE__ */ jsxs7(
|
|
@@ -14486,6 +14518,7 @@ var StageButton = ({
|
|
|
14486
14518
|
return /* @__PURE__ */ jsx11(
|
|
14487
14519
|
EmbedButton,
|
|
14488
14520
|
{
|
|
14521
|
+
type: "button",
|
|
14489
14522
|
disabled: isLoading || !canCheckout,
|
|
14490
14523
|
onClick: checkout,
|
|
14491
14524
|
isLoading,
|
|
@@ -14498,33 +14531,49 @@ var StageButton = ({
|
|
|
14498
14531
|
// src/components/shared/sidebar/Sidebar.tsx
|
|
14499
14532
|
import { Fragment as Fragment4, jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
14500
14533
|
var Sidebar = ({
|
|
14534
|
+
planPeriod,
|
|
14535
|
+
selectedPlan,
|
|
14501
14536
|
addOns,
|
|
14537
|
+
usageBasedEntitlements,
|
|
14502
14538
|
charges,
|
|
14503
14539
|
checkoutRef,
|
|
14504
14540
|
checkoutStage,
|
|
14505
14541
|
checkoutStages,
|
|
14506
|
-
currentAddOns,
|
|
14507
|
-
currentUsageBasedEntitlements,
|
|
14508
14542
|
error,
|
|
14509
|
-
currentPlan,
|
|
14510
14543
|
isLoading,
|
|
14511
14544
|
paymentMethodId,
|
|
14512
|
-
planPeriod,
|
|
14513
14545
|
promoCode,
|
|
14514
14546
|
requiresPayment,
|
|
14515
|
-
selectedPlan,
|
|
14516
14547
|
setCheckoutStage,
|
|
14517
14548
|
setError,
|
|
14549
|
+
setIsLoading,
|
|
14518
14550
|
showPaymentForm,
|
|
14519
|
-
toggleLoading,
|
|
14520
14551
|
updatePromoCode,
|
|
14521
|
-
usageBasedEntitlements,
|
|
14522
14552
|
showHeader = true
|
|
14523
14553
|
}) => {
|
|
14524
14554
|
const { t: t2 } = useTranslation();
|
|
14525
14555
|
const theme = nt();
|
|
14526
|
-
const { api, data, mode, layout, setLayout } = useEmbed();
|
|
14556
|
+
const { api, data, mode, layout, hydrate, setLayout } = useEmbed();
|
|
14527
14557
|
const isLightBackground = useIsLightBackground();
|
|
14558
|
+
const currentPlan = data.company?.plan;
|
|
14559
|
+
const currentAddOns = data.company?.addOns || [];
|
|
14560
|
+
const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
|
|
14561
|
+
(acc, usageData) => {
|
|
14562
|
+
const featureUsage = data.featureUsage?.features.find(
|
|
14563
|
+
(usage2) => usage2.feature?.id === usageData.featureId
|
|
14564
|
+
);
|
|
14565
|
+
const allocation = featureUsage?.allocation || 0;
|
|
14566
|
+
const usage = featureUsage?.usage || 0;
|
|
14567
|
+
acc.push({
|
|
14568
|
+
usageData,
|
|
14569
|
+
allocation,
|
|
14570
|
+
quantity: allocation ?? usage,
|
|
14571
|
+
usage
|
|
14572
|
+
});
|
|
14573
|
+
return acc;
|
|
14574
|
+
},
|
|
14575
|
+
[]
|
|
14576
|
+
);
|
|
14528
14577
|
const payInAdvanceEntitlements = usageBasedEntitlements.filter(
|
|
14529
14578
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
14530
14579
|
);
|
|
@@ -14532,15 +14581,17 @@ var Sidebar = ({
|
|
|
14532
14581
|
({ entitlement }) => entitlement.priceBehavior === "pay_as_you_go"
|
|
14533
14582
|
);
|
|
14534
14583
|
const subscriptionPrice = useMemo4(() => {
|
|
14535
|
-
const plan = selectedPlan || currentPlan;
|
|
14536
|
-
if (!plan || !plan.monthlyPrice || !plan.yearlyPrice) {
|
|
14537
|
-
return;
|
|
14538
|
-
}
|
|
14539
14584
|
let total = 0;
|
|
14540
|
-
|
|
14541
|
-
|
|
14542
|
-
if (
|
|
14543
|
-
|
|
14585
|
+
let planPrice;
|
|
14586
|
+
let currency;
|
|
14587
|
+
if (selectedPlan) {
|
|
14588
|
+
planPrice = planPeriod === "month" ? selectedPlan.monthlyPrice?.price : selectedPlan.yearlyPrice?.price;
|
|
14589
|
+
currency = planPeriod === "month" ? selectedPlan.monthlyPrice?.currency : selectedPlan.yearlyPrice?.currency;
|
|
14590
|
+
if (planPrice) {
|
|
14591
|
+
total += planPrice;
|
|
14592
|
+
}
|
|
14593
|
+
} else if (typeof currentPlan?.planPrice === "number") {
|
|
14594
|
+
planPrice = currentPlan.planPrice;
|
|
14544
14595
|
}
|
|
14545
14596
|
const addOnCost = addOns.reduce(
|
|
14546
14597
|
(sum, addOn) => sum + (addOn.isSelected ? (planPeriod === "month" ? addOn.monthlyPrice : addOn.yearlyPrice)?.price ?? 0 : 0),
|
|
@@ -14571,7 +14622,7 @@ var Sidebar = ({
|
|
|
14571
14622
|
}
|
|
14572
14623
|
try {
|
|
14573
14624
|
setError(void 0);
|
|
14574
|
-
|
|
14625
|
+
setIsLoading(true);
|
|
14575
14626
|
await api.checkout({
|
|
14576
14627
|
changeSubscriptionRequestBody: {
|
|
14577
14628
|
newPlanId: selectedPlan.id,
|
|
@@ -14605,24 +14656,28 @@ var Sidebar = ({
|
|
|
14605
14656
|
...promoCode && { promoCode }
|
|
14606
14657
|
}
|
|
14607
14658
|
});
|
|
14608
|
-
|
|
14659
|
+
setIsLoading(false);
|
|
14660
|
+
setLayout("portal");
|
|
14661
|
+
hydrate();
|
|
14609
14662
|
} catch {
|
|
14663
|
+
setLayout("checkout");
|
|
14610
14664
|
setError(
|
|
14611
14665
|
t2("Error processing payment. Please try a different payment method.")
|
|
14612
14666
|
);
|
|
14613
14667
|
} finally {
|
|
14614
|
-
|
|
14668
|
+
setIsLoading(false);
|
|
14615
14669
|
}
|
|
14616
14670
|
}, [
|
|
14617
14671
|
t2,
|
|
14618
14672
|
api,
|
|
14673
|
+
hydrate,
|
|
14619
14674
|
paymentMethodId,
|
|
14620
14675
|
planPeriod,
|
|
14621
14676
|
selectedPlan,
|
|
14622
14677
|
addOns,
|
|
14623
14678
|
setError,
|
|
14679
|
+
setIsLoading,
|
|
14624
14680
|
setLayout,
|
|
14625
|
-
toggleLoading,
|
|
14626
14681
|
payInAdvanceEntitlements,
|
|
14627
14682
|
promoCode
|
|
14628
14683
|
]);
|
|
@@ -14632,15 +14687,17 @@ var Sidebar = ({
|
|
|
14632
14687
|
}
|
|
14633
14688
|
try {
|
|
14634
14689
|
setError(void 0);
|
|
14635
|
-
|
|
14690
|
+
setIsLoading(true);
|
|
14636
14691
|
await api.checkoutUnsubscribe();
|
|
14637
|
-
|
|
14692
|
+
setLayout("portal");
|
|
14693
|
+
hydrate();
|
|
14638
14694
|
} catch {
|
|
14695
|
+
setLayout("unsubscribe");
|
|
14639
14696
|
setError(t2("Unsubscribe failed"));
|
|
14640
14697
|
} finally {
|
|
14641
|
-
|
|
14698
|
+
setIsLoading(false);
|
|
14642
14699
|
}
|
|
14643
|
-
}, [api, setError,
|
|
14700
|
+
}, [t2, api, hydrate, setError, setIsLoading, setLayout]);
|
|
14644
14701
|
const selectedAddOns = addOns.filter((addOn) => addOn.isSelected);
|
|
14645
14702
|
const willPlanChange = typeof selectedPlan !== "undefined" && !selectedPlan.current;
|
|
14646
14703
|
const canUpdateSubscription = mode === "edit" || api !== null && (willPlanChange || // TODO: test add-on comparison for finding "changes"
|
|
@@ -14677,12 +14734,12 @@ var Sidebar = ({
|
|
|
14677
14734
|
(acc, current) => {
|
|
14678
14735
|
const match2 = usageBasedEntitlements.every(
|
|
14679
14736
|
({ entitlement }) => entitlement.featureId !== current.usageData.featureId
|
|
14680
|
-
) &&
|
|
14681
|
-
(
|
|
14737
|
+
) && data.featureUsage?.features.find(
|
|
14738
|
+
(usage) => usage.feature?.id === current.usageData.featureId
|
|
14682
14739
|
);
|
|
14683
14740
|
if (match2) {
|
|
14684
14741
|
acc.push({
|
|
14685
|
-
|
|
14742
|
+
usage: match2,
|
|
14686
14743
|
allocation: current.allocation,
|
|
14687
14744
|
quantity: current.quantity
|
|
14688
14745
|
});
|
|
@@ -14892,9 +14949,9 @@ var Sidebar = ({
|
|
|
14892
14949
|
}
|
|
14893
14950
|
) }),
|
|
14894
14951
|
removedUsageBasedEntitlements.reduce(
|
|
14895
|
-
(acc, { allocation, quantity,
|
|
14896
|
-
if (typeof allocation === "number" &&
|
|
14897
|
-
const price = (planPeriod === "month" ?
|
|
14952
|
+
(acc, { allocation, quantity, usage }) => {
|
|
14953
|
+
if (typeof allocation === "number" && usage.feature?.name) {
|
|
14954
|
+
const price = (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.price;
|
|
14898
14955
|
acc.push(
|
|
14899
14956
|
/* @__PURE__ */ jsxs8(
|
|
14900
14957
|
Flex,
|
|
@@ -14913,11 +14970,11 @@ var Sidebar = ({
|
|
|
14913
14970
|
$size: theme.typography.heading4.fontSize,
|
|
14914
14971
|
$weight: theme.typography.heading4.fontWeight,
|
|
14915
14972
|
$color: theme.typography.heading4.color,
|
|
14916
|
-
children:
|
|
14973
|
+
children: usage.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
14917
14974
|
quantity,
|
|
14918
14975
|
" ",
|
|
14919
|
-
(0, import_pluralize.default)(
|
|
14920
|
-
] }) :
|
|
14976
|
+
(0, import_pluralize.default)(usage.feature.name, quantity)
|
|
14977
|
+
] }) : usage.feature.name
|
|
14921
14978
|
}
|
|
14922
14979
|
) }),
|
|
14923
14980
|
/* @__PURE__ */ jsx12(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ jsxs8(
|
|
@@ -14928,25 +14985,25 @@ var Sidebar = ({
|
|
|
14928
14985
|
$weight: theme.typography.text.fontWeight,
|
|
14929
14986
|
$color: theme.typography.text.color,
|
|
14930
14987
|
children: [
|
|
14931
|
-
|
|
14988
|
+
usage.priceBehavior === "pay_in_advance" && typeof price === "number" && /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
14932
14989
|
formatCurrency(
|
|
14933
14990
|
price * quantity,
|
|
14934
|
-
(planPeriod === "month" ?
|
|
14991
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14935
14992
|
),
|
|
14936
14993
|
/* @__PURE__ */ jsxs8("sub", { children: [
|
|
14937
14994
|
"/",
|
|
14938
14995
|
shortenPeriod(planPeriod)
|
|
14939
14996
|
] })
|
|
14940
14997
|
] }),
|
|
14941
|
-
|
|
14998
|
+
usage.priceBehavior === "pay_as_you_go" && typeof price === "number" && /* @__PURE__ */ jsxs8(Fragment4, { children: [
|
|
14942
14999
|
formatCurrency(
|
|
14943
15000
|
price,
|
|
14944
|
-
(planPeriod === "month" ?
|
|
15001
|
+
(planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
|
|
14945
15002
|
),
|
|
14946
15003
|
/* @__PURE__ */ jsxs8("sub", { children: [
|
|
14947
15004
|
"/",
|
|
14948
15005
|
(0, import_pluralize.default)(
|
|
14949
|
-
|
|
15006
|
+
usage.feature.name.toLowerCase(),
|
|
14950
15007
|
1
|
|
14951
15008
|
)
|
|
14952
15009
|
] })
|
|
@@ -14956,7 +15013,7 @@ var Sidebar = ({
|
|
|
14956
15013
|
) })
|
|
14957
15014
|
]
|
|
14958
15015
|
},
|
|
14959
|
-
|
|
15016
|
+
usage.entitlementId
|
|
14960
15017
|
)
|
|
14961
15018
|
);
|
|
14962
15019
|
}
|
|
@@ -15291,7 +15348,7 @@ var Sidebar = ({
|
|
|
15291
15348
|
children: proration > 0 ? t2("Proration") : !selectedPlan?.companyCanTrial && t2("Credits")
|
|
15292
15349
|
}
|
|
15293
15350
|
) }),
|
|
15294
|
-
/* @__PURE__ */ jsx12(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan
|
|
15351
|
+
/* @__PURE__ */ jsx12(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan && /* @__PURE__ */ jsxs8(
|
|
15295
15352
|
Flex,
|
|
15296
15353
|
{
|
|
15297
15354
|
$justifyContent: "space-between",
|
|
@@ -15379,7 +15436,7 @@ var Sidebar = ({
|
|
|
15379
15436
|
{
|
|
15380
15437
|
$cursor: "pointer",
|
|
15381
15438
|
onClick: () => {
|
|
15382
|
-
updatePromoCode(void 0);
|
|
15439
|
+
updatePromoCode?.(void 0);
|
|
15383
15440
|
},
|
|
15384
15441
|
children: /* @__PURE__ */ jsx12(
|
|
15385
15442
|
Icon2,
|
|
@@ -15798,15 +15855,7 @@ var Plan = ({
|
|
|
15798
15855
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
15799
15856
|
children: [
|
|
15800
15857
|
/* @__PURE__ */ jsxs9(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
15801
|
-
plan.entitlements.
|
|
15802
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
15803
|
-
return 1;
|
|
15804
|
-
}
|
|
15805
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
15806
|
-
return -1;
|
|
15807
|
-
}
|
|
15808
|
-
return 0;
|
|
15809
|
-
}).reduce((acc, entitlement) => {
|
|
15858
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
15810
15859
|
const hasNumericValue = entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait";
|
|
15811
15860
|
let metricPeriodText;
|
|
15812
15861
|
if (hasNumericValue && entitlement.metricPeriod) {
|
|
@@ -15952,7 +16001,8 @@ var Plan = ({
|
|
|
15952
16001
|
) : /* @__PURE__ */ jsx13(
|
|
15953
16002
|
EmbedButton,
|
|
15954
16003
|
{
|
|
15955
|
-
|
|
16004
|
+
type: "button",
|
|
16005
|
+
disabled: (isLoading || !plan.valid) && !plan.custom,
|
|
15956
16006
|
...{
|
|
15957
16007
|
onClick: () => {
|
|
15958
16008
|
if (plan.custom) {
|
|
@@ -16089,6 +16139,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16089
16139
|
/* @__PURE__ */ jsx14(Flex, { $flexDirection: "column", $justifyContent: "end", $flexGrow: "1", children: !addOn.isSelected ? /* @__PURE__ */ jsx14(
|
|
16090
16140
|
EmbedButton,
|
|
16091
16141
|
{
|
|
16142
|
+
type: "button",
|
|
16092
16143
|
disabled: isLoading || !addOn.valid,
|
|
16093
16144
|
onClick: () => toggle(addOn.id),
|
|
16094
16145
|
$size: "sm",
|
|
@@ -16099,6 +16150,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
|
|
|
16099
16150
|
) : /* @__PURE__ */ jsx14(
|
|
16100
16151
|
EmbedButton,
|
|
16101
16152
|
{
|
|
16153
|
+
type: "button",
|
|
16102
16154
|
disabled: isLoading || !addOn.valid,
|
|
16103
16155
|
onClick: () => toggle(addOn.id),
|
|
16104
16156
|
$size: "sm",
|
|
@@ -16137,15 +16189,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16137
16189
|
const cardPadding = theme.card.padding / TEXT_BASE_SIZE;
|
|
16138
16190
|
const unitPriceFontSize = 0.875 * theme.typography.text.fontSize;
|
|
16139
16191
|
const unitPriceColor = hexToHSL(theme.typography.text.color).l > 50 ? darken(theme.typography.text.color, 0.46) : lighten(theme.typography.text.color, 0.46);
|
|
16140
|
-
return /* @__PURE__ */ jsx15(Fragment7, { children: /* @__PURE__ */ jsx15(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.
|
|
16141
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name > b2.entitlement.feature?.name) {
|
|
16142
|
-
return 1;
|
|
16143
|
-
}
|
|
16144
|
-
if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name < b2.entitlement.feature?.name) {
|
|
16145
|
-
return -1;
|
|
16146
|
-
}
|
|
16147
|
-
return 0;
|
|
16148
|
-
}).reduce(
|
|
16192
|
+
return /* @__PURE__ */ jsx15(Fragment7, { children: /* @__PURE__ */ jsx15(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.reduce(
|
|
16149
16193
|
(acc, { entitlement, quantity, usage }) => {
|
|
16150
16194
|
if (entitlement.priceBehavior === "pay_in_advance" && entitlement.feature) {
|
|
16151
16195
|
acc.push(
|
|
@@ -16278,10 +16322,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
|
|
|
16278
16322
|
),
|
|
16279
16323
|
/* @__PURE__ */ jsxs11("sub", { children: [
|
|
16280
16324
|
"/",
|
|
16281
|
-
(0, import_pluralize3.default)(
|
|
16282
|
-
entitlement.feature.name.toLowerCase(),
|
|
16283
|
-
1
|
|
16284
|
-
),
|
|
16325
|
+
(0, import_pluralize3.default)(entitlement.feature.name.toLowerCase(), 1),
|
|
16285
16326
|
"/",
|
|
16286
16327
|
shortenPeriod(period)
|
|
16287
16328
|
] })
|
|
@@ -16343,7 +16384,7 @@ var registerWrapper = function registerWrapper2(stripe, startTime) {
|
|
|
16343
16384
|
}
|
|
16344
16385
|
stripe._registerWrapper({
|
|
16345
16386
|
name: "stripe-js",
|
|
16346
|
-
version: "5.
|
|
16387
|
+
version: "5.9.1",
|
|
16347
16388
|
startTime
|
|
16348
16389
|
});
|
|
16349
16390
|
};
|
|
@@ -16351,8 +16392,10 @@ var stripePromise$1 = null;
|
|
|
16351
16392
|
var onErrorListener = null;
|
|
16352
16393
|
var onLoadListener = null;
|
|
16353
16394
|
var onError = function onError2(reject) {
|
|
16354
|
-
return function() {
|
|
16355
|
-
reject(new Error("Failed to load Stripe.js"
|
|
16395
|
+
return function(cause) {
|
|
16396
|
+
reject(new Error("Failed to load Stripe.js", {
|
|
16397
|
+
cause
|
|
16398
|
+
}));
|
|
16356
16399
|
};
|
|
16357
16400
|
};
|
|
16358
16401
|
var onLoad = function onLoad2(resolve, reject) {
|
|
@@ -16646,30 +16689,14 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16646
16689
|
(plan) => selected.planId ? plan.id === selected.planId : plan.current
|
|
16647
16690
|
)
|
|
16648
16691
|
);
|
|
16649
|
-
const currentAddOns = data.company?.addOns || [];
|
|
16650
16692
|
const [addOns, setAddOns] = useState7(
|
|
16651
16693
|
() => availableAddOns.map((addOn) => ({
|
|
16652
16694
|
...addOn,
|
|
16653
|
-
isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId :
|
|
16695
|
+
isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId : (data.company?.addOns || []).some(
|
|
16696
|
+
(currentAddOn) => addOn.id === currentAddOn.id
|
|
16697
|
+
)
|
|
16654
16698
|
}))
|
|
16655
16699
|
);
|
|
16656
|
-
const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
|
|
16657
|
-
(acc, usageData) => {
|
|
16658
|
-
const featureUsage = data.featureUsage?.features.find(
|
|
16659
|
-
(usage2) => usage2.feature?.id === usageData.featureId
|
|
16660
|
-
);
|
|
16661
|
-
const allocation = featureUsage?.allocation || 0;
|
|
16662
|
-
const usage = featureUsage?.usage || 0;
|
|
16663
|
-
acc.push({
|
|
16664
|
-
usageData,
|
|
16665
|
-
allocation,
|
|
16666
|
-
quantity: allocation ?? usage,
|
|
16667
|
-
usage
|
|
16668
|
-
});
|
|
16669
|
-
return acc;
|
|
16670
|
-
},
|
|
16671
|
-
[]
|
|
16672
|
-
);
|
|
16673
16700
|
const createActiveUsageBasedEntitlementsReducer = useCallback7(
|
|
16674
16701
|
(period = planPeriod) => (acc, entitlement) => {
|
|
16675
16702
|
if (entitlement.priceBehavior && (period === "month" && entitlement.meteredMonthlyPrice || period === "year" && entitlement.meteredYearlyPrice)) {
|
|
@@ -16695,12 +16722,6 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16695
16722
|
[]
|
|
16696
16723
|
)
|
|
16697
16724
|
);
|
|
16698
|
-
const currentPlan = useMemo5(
|
|
16699
|
-
() => availablePlans.find(
|
|
16700
|
-
(plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
|
|
16701
|
-
),
|
|
16702
|
-
[data.company?.plan, planPeriod, availablePlans]
|
|
16703
|
-
);
|
|
16704
16725
|
const payInAdvanceEntitlements = useMemo5(
|
|
16705
16726
|
() => usageBasedEntitlements.filter(
|
|
16706
16727
|
({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
|
|
@@ -16757,7 +16778,7 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
16757
16778
|
if (selected.usage) {
|
|
16758
16779
|
return "usage";
|
|
16759
16780
|
}
|
|
16760
|
-
if (selected.planId !==
|
|
16781
|
+
if (selected.planId !== data.company?.plan?.id) {
|
|
16761
16782
|
return checkoutStages.some((stage) => stage.id === "usage") ? "usage" : checkoutStages.some((stage) => stage.id === "addons") ? "addons" : "plan";
|
|
16762
16783
|
}
|
|
16763
16784
|
return "plan";
|
|
@@ -17102,27 +17123,24 @@ var CheckoutDialog = ({ top = 0 }) => {
|
|
|
17102
17123
|
/* @__PURE__ */ jsx17(
|
|
17103
17124
|
Sidebar,
|
|
17104
17125
|
{
|
|
17126
|
+
planPeriod,
|
|
17127
|
+
selectedPlan,
|
|
17105
17128
|
addOns,
|
|
17129
|
+
usageBasedEntitlements,
|
|
17106
17130
|
charges,
|
|
17107
17131
|
checkoutRef,
|
|
17108
17132
|
checkoutStage,
|
|
17109
17133
|
checkoutStages,
|
|
17110
|
-
currentAddOns,
|
|
17111
|
-
currentUsageBasedEntitlements,
|
|
17112
17134
|
error,
|
|
17113
|
-
currentPlan,
|
|
17114
17135
|
isLoading,
|
|
17115
17136
|
paymentMethodId,
|
|
17116
|
-
planPeriod,
|
|
17117
17137
|
promoCode,
|
|
17118
17138
|
requiresPayment,
|
|
17119
|
-
selectedPlan,
|
|
17120
17139
|
setCheckoutStage: (stage) => setCheckoutStage(stage),
|
|
17121
17140
|
setError: (msg) => setError(msg),
|
|
17141
|
+
setIsLoading,
|
|
17122
17142
|
showPaymentForm,
|
|
17123
|
-
|
|
17124
|
-
updatePromoCode: (code) => updatePromoCode(code),
|
|
17125
|
-
usageBasedEntitlements
|
|
17143
|
+
updatePromoCode: (code) => updatePromoCode(code)
|
|
17126
17144
|
}
|
|
17127
17145
|
)
|
|
17128
17146
|
]
|
|
@@ -17327,65 +17345,45 @@ import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
|
17327
17345
|
var UnsubscribeDialog = () => {
|
|
17328
17346
|
const { t: t2 } = useTranslation();
|
|
17329
17347
|
const theme = nt();
|
|
17330
|
-
const { data, setSelected } = useEmbed();
|
|
17348
|
+
const { data, setLayout, setSelected } = useEmbed();
|
|
17331
17349
|
const [error, setError] = useState10();
|
|
17332
17350
|
const [isLoading, setIsLoading] = useState10(false);
|
|
17333
17351
|
const planPeriod = useMemo7(
|
|
17334
17352
|
() => data.company?.plan?.planPeriod ?? "month",
|
|
17335
17353
|
[data.company?.plan?.planPeriod]
|
|
17336
17354
|
);
|
|
17337
|
-
const {
|
|
17338
|
-
const
|
|
17339
|
-
() => (
|
|
17340
|
-
|
|
17341
|
-
|
|
17342
|
-
|
|
17343
|
-
}),
|
|
17344
|
-
[data.company?.plan]
|
|
17345
|
-
);
|
|
17346
|
-
const currentAddOns = useMemo7(
|
|
17347
|
-
() => data.company?.addOns || [],
|
|
17348
|
-
[data.company?.addOns]
|
|
17349
|
-
);
|
|
17350
|
-
const addOns = useMemo7(
|
|
17351
|
-
() => currentAddOns.map((addOn) => ({
|
|
17352
|
-
...addOn,
|
|
17353
|
-
isSelected: true,
|
|
17354
|
-
monthlyPrice: {
|
|
17355
|
-
price: addOn.planPrice
|
|
17356
|
-
},
|
|
17357
|
-
yearlyPrice: {
|
|
17358
|
-
price: addOn.planPrice
|
|
17359
|
-
}
|
|
17360
|
-
})),
|
|
17361
|
-
[currentAddOns]
|
|
17355
|
+
const { plans: availablePlans, addOns: availableAddOns } = useAvailablePlans(planPeriod);
|
|
17356
|
+
const selectedPlan = useMemo7(
|
|
17357
|
+
() => availablePlans.find(
|
|
17358
|
+
(plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
|
|
17359
|
+
),
|
|
17360
|
+
[data.company?.plan, planPeriod, availablePlans]
|
|
17362
17361
|
);
|
|
17363
|
-
const
|
|
17364
|
-
() =>
|
|
17365
|
-
(
|
|
17362
|
+
const usageBasedEntitlements = (selectedPlan?.entitlements || []).reduce(
|
|
17363
|
+
(acc, entitlement) => {
|
|
17364
|
+
if (entitlement.priceBehavior && (planPeriod === "month" && entitlement.meteredMonthlyPrice || planPeriod === "year" && entitlement.meteredYearlyPrice)) {
|
|
17366
17365
|
const featureUsage = data.featureUsage?.features.find(
|
|
17367
|
-
(usage2) => usage2.feature?.id ===
|
|
17366
|
+
(usage2) => usage2.feature?.id === entitlement.feature?.id
|
|
17368
17367
|
);
|
|
17369
17368
|
const allocation = featureUsage?.allocation ?? 0;
|
|
17370
17369
|
const usage = featureUsage?.usage ?? 0;
|
|
17371
17370
|
acc.push({
|
|
17372
|
-
entitlement
|
|
17373
|
-
...usageData,
|
|
17374
|
-
id: featureUsage?.entitlementId ?? usageData.featureId,
|
|
17375
|
-
feature: featureUsage?.feature,
|
|
17376
|
-
meteredMonthlyPrice: usageData.meteredPrice,
|
|
17377
|
-
meteredYearlyPrice: usageData.meteredPrice
|
|
17378
|
-
},
|
|
17379
|
-
usageData,
|
|
17371
|
+
entitlement,
|
|
17380
17372
|
allocation,
|
|
17381
|
-
quantity: allocation
|
|
17373
|
+
quantity: allocation,
|
|
17382
17374
|
usage
|
|
17383
17375
|
});
|
|
17384
|
-
|
|
17385
|
-
|
|
17386
|
-
|
|
17387
|
-
|
|
17388
|
-
|
|
17376
|
+
}
|
|
17377
|
+
return acc;
|
|
17378
|
+
},
|
|
17379
|
+
[]
|
|
17380
|
+
);
|
|
17381
|
+
const addOns = useMemo7(
|
|
17382
|
+
() => availableAddOns.map((available) => ({
|
|
17383
|
+
...available,
|
|
17384
|
+
isSelected: data.company?.addOns.some((current) => available.id === current.id) ?? false
|
|
17385
|
+
})),
|
|
17386
|
+
[data.company?.addOns, availableAddOns]
|
|
17389
17387
|
);
|
|
17390
17388
|
const cancelDate = new Date(
|
|
17391
17389
|
data.subscription?.cancelAt || data.upcomingInvoice?.dueDate || Date.now()
|
|
@@ -17488,7 +17486,7 @@ var UnsubscribeDialog = () => {
|
|
|
17488
17486
|
{
|
|
17489
17487
|
onClick: () => {
|
|
17490
17488
|
setSelected({
|
|
17491
|
-
planId:
|
|
17489
|
+
planId: data.company?.plan?.id,
|
|
17492
17490
|
addOnId: void 0,
|
|
17493
17491
|
usage: false
|
|
17494
17492
|
});
|
|
@@ -17508,25 +17506,16 @@ var UnsubscribeDialog = () => {
|
|
|
17508
17506
|
/* @__PURE__ */ jsx20(
|
|
17509
17507
|
Sidebar,
|
|
17510
17508
|
{
|
|
17509
|
+
planPeriod,
|
|
17511
17510
|
addOns,
|
|
17512
|
-
|
|
17513
|
-
checkoutStages: [],
|
|
17514
|
-
currentAddOns,
|
|
17515
|
-
currentUsageBasedEntitlements,
|
|
17511
|
+
usageBasedEntitlements,
|
|
17516
17512
|
error,
|
|
17517
|
-
currentPlan,
|
|
17518
17513
|
isLoading,
|
|
17519
|
-
|
|
17514
|
+
showHeader: false,
|
|
17515
|
+
showPaymentForm: false,
|
|
17520
17516
|
requiresPayment: false,
|
|
17521
|
-
setCheckoutStage: () => {
|
|
17522
|
-
},
|
|
17523
17517
|
setError: (msg) => setError(msg),
|
|
17524
|
-
|
|
17525
|
-
toggleLoading: () => setIsLoading((prev2) => !prev2),
|
|
17526
|
-
updatePromoCode: () => {
|
|
17527
|
-
},
|
|
17528
|
-
usageBasedEntitlements: currentUsageBasedEntitlements,
|
|
17529
|
-
showHeader: false
|
|
17518
|
+
setIsLoading
|
|
17530
17519
|
}
|
|
17531
17520
|
)
|
|
17532
17521
|
]
|
|
@@ -17642,7 +17631,6 @@ var Badge = () => {
|
|
|
17642
17631
|
};
|
|
17643
17632
|
|
|
17644
17633
|
// src/components/layout/RenderLayout.tsx
|
|
17645
|
-
import { useEffect as useEffect6, useState as useState11 } from "react";
|
|
17646
17634
|
import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
17647
17635
|
var Disabled = () => {
|
|
17648
17636
|
const theme = nt();
|
|
@@ -17681,71 +17669,11 @@ var Disabled = () => {
|
|
|
17681
17669
|
}
|
|
17682
17670
|
) }) });
|
|
17683
17671
|
};
|
|
17684
|
-
var Success = () => {
|
|
17685
|
-
const theme = nt();
|
|
17686
|
-
const { hydrate, data, api, setLayout, isPending } = useEmbed();
|
|
17687
|
-
const [isOpen, setIsOpen] = useState11(true);
|
|
17688
|
-
useEffect6(() => {
|
|
17689
|
-
if (api && data.component?.id) {
|
|
17690
|
-
hydrate();
|
|
17691
|
-
setTimeout(() => setIsOpen(false), 2e3);
|
|
17692
|
-
}
|
|
17693
|
-
}, [api, data.component?.id, hydrate]);
|
|
17694
|
-
useEffect6(() => {
|
|
17695
|
-
if (!isPending && !isOpen) {
|
|
17696
|
-
setLayout("portal");
|
|
17697
|
-
}
|
|
17698
|
-
}, [isPending, isOpen, setLayout]);
|
|
17699
|
-
return /* @__PURE__ */ jsx22(Box, { $width: "max-content", $height: "max-content", $margin: "0 auto", children: /* @__PURE__ */ jsx22(Card, { children: /* @__PURE__ */ jsxs17(
|
|
17700
|
-
Element,
|
|
17701
|
-
{
|
|
17702
|
-
as: Flex,
|
|
17703
|
-
$flexDirection: "column",
|
|
17704
|
-
$justifyContent: "center",
|
|
17705
|
-
$alignItems: "center",
|
|
17706
|
-
$whiteSpace: "nowrap",
|
|
17707
|
-
children: [
|
|
17708
|
-
/* @__PURE__ */ jsx22(Box, { $marginBottom: "1.5rem", children: /* @__PURE__ */ jsx22(
|
|
17709
|
-
IconRound,
|
|
17710
|
-
{
|
|
17711
|
-
name: "check",
|
|
17712
|
-
size: "3xl",
|
|
17713
|
-
colors: [theme.card.background, theme.primary]
|
|
17714
|
-
}
|
|
17715
|
-
) }),
|
|
17716
|
-
/* @__PURE__ */ jsx22(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ jsx22(
|
|
17717
|
-
Text,
|
|
17718
|
-
{
|
|
17719
|
-
as: "h1",
|
|
17720
|
-
$font: theme.typography.heading1.fontFamily,
|
|
17721
|
-
$size: theme.typography.heading1.fontSize,
|
|
17722
|
-
$weight: theme.typography.heading1.fontWeight,
|
|
17723
|
-
$color: theme.typography.heading1.color,
|
|
17724
|
-
children: "Subscription updated!"
|
|
17725
|
-
}
|
|
17726
|
-
) }),
|
|
17727
|
-
/* @__PURE__ */ jsx22(
|
|
17728
|
-
Text,
|
|
17729
|
-
{
|
|
17730
|
-
as: "p",
|
|
17731
|
-
$font: theme.typography.text.fontFamily,
|
|
17732
|
-
$size: theme.typography.text.fontSize,
|
|
17733
|
-
$weight: theme.typography.text.fontWeight,
|
|
17734
|
-
$color: theme.typography.text.color,
|
|
17735
|
-
children: "Loading\u2026"
|
|
17736
|
-
}
|
|
17737
|
-
)
|
|
17738
|
-
]
|
|
17739
|
-
}
|
|
17740
|
-
) }) });
|
|
17741
|
-
};
|
|
17742
17672
|
var RenderLayout = ({ children }) => {
|
|
17743
17673
|
const { layout } = useEmbed();
|
|
17744
17674
|
switch (layout) {
|
|
17745
17675
|
case "disabled":
|
|
17746
17676
|
return /* @__PURE__ */ jsx22(Disabled, {});
|
|
17747
|
-
case "success":
|
|
17748
|
-
return /* @__PURE__ */ jsx22(Success, {});
|
|
17749
17677
|
default:
|
|
17750
17678
|
return children;
|
|
17751
17679
|
}
|
|
@@ -17774,7 +17702,7 @@ import { Fragment as Fragment9, jsx as jsx23, jsxs as jsxs18 } from "react/jsx-r
|
|
|
17774
17702
|
var Viewport = forwardRef4(
|
|
17775
17703
|
({ children, portal, ...props }, ref) => {
|
|
17776
17704
|
const { data, layout } = useEmbed();
|
|
17777
|
-
const [top, setTop] =
|
|
17705
|
+
const [top, setTop] = useState11(0);
|
|
17778
17706
|
const canCheckout = data.capabilities?.checkout ?? true;
|
|
17779
17707
|
useLayoutEffect5(() => {
|
|
17780
17708
|
if (layout !== "checkout" && layout !== "unsubscribe") {
|
|
@@ -17803,7 +17731,7 @@ var Viewport = forwardRef4(
|
|
|
17803
17731
|
Viewport.displayName = "Viewport";
|
|
17804
17732
|
|
|
17805
17733
|
// src/components/layout/column/Column.tsx
|
|
17806
|
-
import { forwardRef as forwardRef6 } from "react";
|
|
17734
|
+
import { Children as Children2, forwardRef as forwardRef6 } from "react";
|
|
17807
17735
|
|
|
17808
17736
|
// src/components/layout/card/Card.tsx
|
|
17809
17737
|
import { forwardRef as forwardRef5 } from "react";
|
|
@@ -17817,8 +17745,9 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17817
17745
|
const borderColor = l2 > 50 ? "hsla(0, 0%, 0%, 0.1)" : "hsla(0, 0%, 100%, 0.2)";
|
|
17818
17746
|
const borderRadius = `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`;
|
|
17819
17747
|
return lt`
|
|
17820
|
-
|
|
17748
|
+
position: relative;
|
|
17821
17749
|
box-sizing: border-box;
|
|
17750
|
+
font-size: ${TEXT_BASE_SIZE}px;
|
|
17822
17751
|
|
|
17823
17752
|
*,
|
|
17824
17753
|
*::before,
|
|
@@ -17849,10 +17778,31 @@ var StyledCard = dt.div(({ theme }) => {
|
|
|
17849
17778
|
});
|
|
17850
17779
|
|
|
17851
17780
|
// src/components/layout/card/Card.tsx
|
|
17852
|
-
import { jsx as jsx24 } from "react/jsx-runtime";
|
|
17781
|
+
import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
17853
17782
|
var Card = forwardRef5(
|
|
17854
17783
|
({ children, className }, ref) => {
|
|
17855
|
-
|
|
17784
|
+
const { isPending } = useEmbed();
|
|
17785
|
+
const theme = nt();
|
|
17786
|
+
return /* @__PURE__ */ jsxs19(StyledCard, { ref, className, children: [
|
|
17787
|
+
isPending && /* @__PURE__ */ jsx24(
|
|
17788
|
+
Flex,
|
|
17789
|
+
{
|
|
17790
|
+
$position: "absolute",
|
|
17791
|
+
$top: 0,
|
|
17792
|
+
$left: 0,
|
|
17793
|
+
$zIndex: 1,
|
|
17794
|
+
$width: "100%",
|
|
17795
|
+
$height: "100%",
|
|
17796
|
+
$justifyContent: "center",
|
|
17797
|
+
$alignItems: "center",
|
|
17798
|
+
$backgroundColor: hsla(theme.card.background, 0.8),
|
|
17799
|
+
$backdropFilter: "blur(8px)",
|
|
17800
|
+
$borderRadius: `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`,
|
|
17801
|
+
children: /* @__PURE__ */ jsx24(Loader, { $color: theme.primary })
|
|
17802
|
+
}
|
|
17803
|
+
),
|
|
17804
|
+
children
|
|
17805
|
+
] });
|
|
17856
17806
|
}
|
|
17857
17807
|
);
|
|
17858
17808
|
Card.displayName = "Card";
|
|
@@ -17866,7 +17816,7 @@ var StyledColumn = dt.div`
|
|
|
17866
17816
|
import { jsx as jsx25 } from "react/jsx-runtime";
|
|
17867
17817
|
var Column = forwardRef6(
|
|
17868
17818
|
({ children, basis, ...props }, ref) => {
|
|
17869
|
-
return /* @__PURE__ */ jsx25(StyledColumn, { ref, ...props, children: /* @__PURE__ */ jsx25(Card, { children }) });
|
|
17819
|
+
return /* @__PURE__ */ jsx25(StyledColumn, { ref, ...props, children: Children2.count(children) > 0 ? /* @__PURE__ */ jsx25(Card, { children }) : children });
|
|
17870
17820
|
}
|
|
17871
17821
|
);
|
|
17872
17822
|
Column.displayName = "Column";
|
|
@@ -17874,7 +17824,7 @@ Column.displayName = "Column";
|
|
|
17874
17824
|
// src/components/elements/included-features/Details.tsx
|
|
17875
17825
|
import { useMemo as useMemo8 } from "react";
|
|
17876
17826
|
var import_pluralize4 = __toESM(require_pluralize());
|
|
17877
|
-
import { jsx as jsx26, jsxs as
|
|
17827
|
+
import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
17878
17828
|
var Details = ({
|
|
17879
17829
|
details,
|
|
17880
17830
|
shouldWrapChildren,
|
|
@@ -17932,7 +17882,7 @@ var Details = ({
|
|
|
17932
17882
|
if (!priceBehavior) {
|
|
17933
17883
|
return t2("Unlimited", { item: (0, import_pluralize4.default)(feature.name) });
|
|
17934
17884
|
}
|
|
17935
|
-
}, [allocation, feature?.name, price, priceBehavior,
|
|
17885
|
+
}, [t2, allocation, feature?.name, price, priceBehavior, currency]);
|
|
17936
17886
|
const usageText = useMemo8(() => {
|
|
17937
17887
|
if (!feature?.name) {
|
|
17938
17888
|
return;
|
|
@@ -17962,12 +17912,12 @@ var Details = ({
|
|
|
17962
17912
|
});
|
|
17963
17913
|
}
|
|
17964
17914
|
}, [
|
|
17915
|
+
t2,
|
|
17965
17916
|
allocation,
|
|
17966
17917
|
data.company?.plan?.planPeriod,
|
|
17967
17918
|
feature?.name,
|
|
17968
17919
|
price,
|
|
17969
17920
|
priceBehavior,
|
|
17970
|
-
t2,
|
|
17971
17921
|
usage,
|
|
17972
17922
|
usageData,
|
|
17973
17923
|
currency
|
|
@@ -17975,7 +17925,7 @@ var Details = ({
|
|
|
17975
17925
|
if (!text) {
|
|
17976
17926
|
return null;
|
|
17977
17927
|
}
|
|
17978
|
-
return /* @__PURE__ */
|
|
17928
|
+
return /* @__PURE__ */ jsxs20(
|
|
17979
17929
|
Box,
|
|
17980
17930
|
{
|
|
17981
17931
|
$flexBasis: "min-content",
|
|
@@ -18010,7 +17960,7 @@ var Details = ({
|
|
|
18010
17960
|
};
|
|
18011
17961
|
|
|
18012
17962
|
// src/components/elements/included-features/IncludedFeatures.tsx
|
|
18013
|
-
import { jsx as jsx27, jsxs as
|
|
17963
|
+
import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
18014
17964
|
function resolveDesignProps(props) {
|
|
18015
17965
|
return {
|
|
18016
17966
|
header: {
|
|
@@ -18047,34 +17997,16 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18047
17997
|
const elements = useRef6([]);
|
|
18048
17998
|
const shouldWrapChildren = useWrapChildren(elements.current);
|
|
18049
17999
|
const isLightBackground = useIsLightBackground();
|
|
18050
|
-
const [showCount, setShowCount] =
|
|
18051
|
-
const entitlements = (
|
|
18052
|
-
|
|
18053
|
-
return 1;
|
|
18054
|
-
}
|
|
18055
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
18056
|
-
return -1;
|
|
18057
|
-
}
|
|
18058
|
-
return 0;
|
|
18059
|
-
}).reduce((acc, usage) => {
|
|
18060
|
-
if (usage.feature?.id) {
|
|
18061
|
-
acc.push(usage.feature.id);
|
|
18062
|
-
}
|
|
18063
|
-
return acc;
|
|
18064
|
-
}, []) || []).reduce(
|
|
18065
|
-
(acc, id) => {
|
|
18066
|
-
const mappedFeatureUsage = data.featureUsage?.features.find(
|
|
18067
|
-
(usage) => usage.feature?.id === id
|
|
18068
|
-
);
|
|
18000
|
+
const [showCount, setShowCount] = useState12(VISIBLE_ENTITLEMENT_COUNT);
|
|
18001
|
+
const entitlements = (data.featureUsage?.features || []).reduce(
|
|
18002
|
+
(acc, usage) => {
|
|
18069
18003
|
const mappedUsageData = data.activeUsageBasedEntitlements.find(
|
|
18070
|
-
(entitlement) => entitlement.featureId === id
|
|
18004
|
+
(entitlement) => entitlement.featureId === usage.feature?.id
|
|
18071
18005
|
);
|
|
18072
|
-
|
|
18073
|
-
|
|
18074
|
-
|
|
18075
|
-
|
|
18076
|
-
});
|
|
18077
|
-
}
|
|
18006
|
+
acc.push({
|
|
18007
|
+
featureUsage: usage,
|
|
18008
|
+
usageData: mappedUsageData
|
|
18009
|
+
});
|
|
18078
18010
|
return acc;
|
|
18079
18011
|
},
|
|
18080
18012
|
[]
|
|
@@ -18091,7 +18023,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18091
18023
|
}
|
|
18092
18024
|
const shouldShowExpand = featureListSize > VISIBLE_ENTITLEMENT_COUNT;
|
|
18093
18025
|
const isExpanded = showCount > VISIBLE_ENTITLEMENT_COUNT;
|
|
18094
|
-
return /* @__PURE__ */
|
|
18026
|
+
return /* @__PURE__ */ jsxs21(
|
|
18095
18027
|
Element,
|
|
18096
18028
|
{
|
|
18097
18029
|
as: Flex,
|
|
@@ -18113,7 +18045,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18113
18045
|
entitlements.slice(0, showCount).map((entitlement, index) => {
|
|
18114
18046
|
const { entitlementExpirationDate, feature } = entitlement.featureUsage || {};
|
|
18115
18047
|
const shouldShowDetails = feature?.name && (feature?.featureType === "event" || feature?.featureType === "trait");
|
|
18116
|
-
return /* @__PURE__ */
|
|
18048
|
+
return /* @__PURE__ */ jsxs21(
|
|
18117
18049
|
Flex,
|
|
18118
18050
|
{
|
|
18119
18051
|
ref: (el) => {
|
|
@@ -18126,7 +18058,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18126
18058
|
$alignItems: "center",
|
|
18127
18059
|
$gap: "1rem",
|
|
18128
18060
|
children: [
|
|
18129
|
-
/* @__PURE__ */
|
|
18061
|
+
/* @__PURE__ */ jsxs21(
|
|
18130
18062
|
Flex,
|
|
18131
18063
|
{
|
|
18132
18064
|
$alignItems: "center",
|
|
@@ -18155,7 +18087,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18155
18087
|
children: feature.name
|
|
18156
18088
|
}
|
|
18157
18089
|
),
|
|
18158
|
-
props.entitlementExpiration.isVisible && entitlementExpirationDate && /* @__PURE__ */
|
|
18090
|
+
props.entitlementExpiration.isVisible && entitlementExpirationDate && /* @__PURE__ */ jsxs21(
|
|
18159
18091
|
Text,
|
|
18160
18092
|
{
|
|
18161
18093
|
$font: theme.typography[props.entitlementExpiration.fontStyle].fontFamily,
|
|
@@ -18188,7 +18120,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18188
18120
|
index
|
|
18189
18121
|
);
|
|
18190
18122
|
}),
|
|
18191
|
-
shouldShowExpand && /* @__PURE__ */
|
|
18123
|
+
shouldShowExpand && /* @__PURE__ */ jsxs21(Flex, { $alignItems: "center", $justifyContent: "start", $marginTop: "1rem", children: [
|
|
18192
18124
|
/* @__PURE__ */ jsx27(
|
|
18193
18125
|
Icon2,
|
|
18194
18126
|
{
|
|
@@ -18222,8 +18154,8 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
|
|
|
18222
18154
|
IncludedFeatures.displayName = "IncludedFeatures";
|
|
18223
18155
|
|
|
18224
18156
|
// src/components/elements/invoices/Invoices.tsx
|
|
18225
|
-
import { forwardRef as forwardRef8, useEffect as
|
|
18226
|
-
import { jsx as jsx28, jsxs as
|
|
18157
|
+
import { forwardRef as forwardRef8, useEffect as useEffect6, useState as useState13 } from "react";
|
|
18158
|
+
import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
18227
18159
|
function resolveDesignProps2(props) {
|
|
18228
18160
|
return {
|
|
18229
18161
|
header: {
|
|
@@ -18281,14 +18213,14 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
|
|
|
18281
18213
|
const { t: t2 } = useTranslation();
|
|
18282
18214
|
const theme = nt();
|
|
18283
18215
|
const { api } = useEmbed();
|
|
18284
|
-
const [invoices, setInvoices] =
|
|
18285
|
-
const [listSize, setListSize] =
|
|
18216
|
+
const [invoices, setInvoices] = useState13(() => formatInvoices(data));
|
|
18217
|
+
const [listSize, setListSize] = useState13(props.limit.number);
|
|
18286
18218
|
const toggleListSize = () => {
|
|
18287
18219
|
setListSize(
|
|
18288
18220
|
(prev2) => prev2 !== props.limit.number ? props.limit.number : MAX_VISIBLE_INVOICE_COUNT
|
|
18289
18221
|
);
|
|
18290
18222
|
};
|
|
18291
|
-
|
|
18223
|
+
useEffect6(() => {
|
|
18292
18224
|
api?.listInvoices().then(({ data: data2 }) => {
|
|
18293
18225
|
setInvoices(formatInvoices(data2));
|
|
18294
18226
|
});
|
|
@@ -18296,7 +18228,7 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
|
|
|
18296
18228
|
if (invoices.length === 0) {
|
|
18297
18229
|
return null;
|
|
18298
18230
|
}
|
|
18299
|
-
return /* @__PURE__ */ jsx28(Element, { ref, className, children: /* @__PURE__ */
|
|
18231
|
+
return /* @__PURE__ */ jsx28(Element, { ref, className, children: /* @__PURE__ */ jsxs22(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
18300
18232
|
props.header.isVisible && /* @__PURE__ */ jsx28(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ jsx28(
|
|
18301
18233
|
Text,
|
|
18302
18234
|
{
|
|
@@ -18308,7 +18240,7 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
|
|
|
18308
18240
|
}
|
|
18309
18241
|
) }),
|
|
18310
18242
|
/* @__PURE__ */ jsx28(Flex, { $flexDirection: "column", $gap: "0.5rem", children: invoices.slice(0, listSize).map(({ date, amount, url }, index) => {
|
|
18311
|
-
return /* @__PURE__ */
|
|
18243
|
+
return /* @__PURE__ */ jsxs22(Flex, { $justifyContent: "space-between", children: [
|
|
18312
18244
|
props.date.isVisible && date && /* @__PURE__ */ jsx28(
|
|
18313
18245
|
InvoiceDate,
|
|
18314
18246
|
{
|
|
@@ -18329,7 +18261,7 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
|
|
|
18329
18261
|
)
|
|
18330
18262
|
] }, index);
|
|
18331
18263
|
}) }),
|
|
18332
|
-
props.collapse.isVisible && invoices.length > props.limit.number && /* @__PURE__ */
|
|
18264
|
+
props.collapse.isVisible && invoices.length > props.limit.number && /* @__PURE__ */ jsxs22(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
|
|
18333
18265
|
/* @__PURE__ */ jsx28(
|
|
18334
18266
|
Icon2,
|
|
18335
18267
|
{
|
|
@@ -18375,7 +18307,7 @@ var Container4 = dt(Flex)`
|
|
|
18375
18307
|
`;
|
|
18376
18308
|
|
|
18377
18309
|
// src/components/elements/metered-features/MeteredFeatures.tsx
|
|
18378
|
-
import { Fragment as Fragment10, jsx as jsx29, jsxs as
|
|
18310
|
+
import { Fragment as Fragment10, jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
18379
18311
|
function resolveDesignProps3(props) {
|
|
18380
18312
|
return {
|
|
18381
18313
|
isVisible: props.isVisible ?? true,
|
|
@@ -18444,7 +18376,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18444
18376
|
price = yearlyUsageBasedPrice?.price;
|
|
18445
18377
|
currency = yearlyUsageBasedPrice?.currency;
|
|
18446
18378
|
}
|
|
18447
|
-
return /* @__PURE__ */
|
|
18379
|
+
return /* @__PURE__ */ jsxs23(Element, { as: Flex, $gap: "1.5rem", children: [
|
|
18448
18380
|
props.icon.isVisible && feature?.icon && /* @__PURE__ */ jsx29(
|
|
18449
18381
|
IconRound,
|
|
18450
18382
|
{
|
|
@@ -18456,8 +18388,8 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18456
18388
|
]
|
|
18457
18389
|
}
|
|
18458
18390
|
),
|
|
18459
|
-
/* @__PURE__ */
|
|
18460
|
-
/* @__PURE__ */
|
|
18391
|
+
/* @__PURE__ */ jsxs23(Flex, { $flexDirection: "column", $gap: "2rem", $flexGrow: "1", children: [
|
|
18392
|
+
/* @__PURE__ */ jsxs23(
|
|
18461
18393
|
Flex,
|
|
18462
18394
|
{
|
|
18463
18395
|
ref: (el) => {
|
|
@@ -18468,7 +18400,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18468
18400
|
$flexWrap: "wrap",
|
|
18469
18401
|
$gap: "1rem",
|
|
18470
18402
|
children: [
|
|
18471
|
-
feature?.name && /* @__PURE__ */
|
|
18403
|
+
feature?.name && /* @__PURE__ */ jsxs23(Flex, { $flexDirection: "column", $gap: "0.5rem", $flexGrow: "1", children: [
|
|
18472
18404
|
/* @__PURE__ */ jsx29(
|
|
18473
18405
|
Text,
|
|
18474
18406
|
{
|
|
@@ -18477,7 +18409,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18477
18409
|
$size: theme.typography[props.header.fontStyle].fontSize,
|
|
18478
18410
|
$weight: theme.typography[props.header.fontStyle].fontWeight,
|
|
18479
18411
|
$color: theme.typography[props.header.fontStyle].color,
|
|
18480
|
-
children: priceBehavior === "pay_as_you_go" ? typeof usage === "number" && /* @__PURE__ */
|
|
18412
|
+
children: priceBehavior === "pay_as_you_go" ? typeof usage === "number" && /* @__PURE__ */ jsxs23(Fragment10, { children: [
|
|
18481
18413
|
formatNumber(usage),
|
|
18482
18414
|
" ",
|
|
18483
18415
|
(0, import_pluralize5.default)(feature.name, usage)
|
|
@@ -18496,7 +18428,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18496
18428
|
}
|
|
18497
18429
|
)
|
|
18498
18430
|
] }),
|
|
18499
|
-
(feature?.featureType === "event" || feature?.featureType === "trait") && feature?.name && /* @__PURE__ */
|
|
18431
|
+
(feature?.featureType === "event" || feature?.featureType === "trait") && feature?.name && /* @__PURE__ */ jsxs23(
|
|
18500
18432
|
Box,
|
|
18501
18433
|
{
|
|
18502
18434
|
$flexBasis: "min-content",
|
|
@@ -18512,11 +18444,11 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18512
18444
|
$weight: theme.typography[props.usage.fontStyle].fontWeight,
|
|
18513
18445
|
$leading: 1.25,
|
|
18514
18446
|
$color: theme.typography[props.usage.fontStyle].color,
|
|
18515
|
-
children: priceBehavior === "pay_in_advance" ? typeof allocation === "number" && /* @__PURE__ */
|
|
18447
|
+
children: priceBehavior === "pay_in_advance" ? typeof allocation === "number" && /* @__PURE__ */ jsxs23(Fragment10, { children: [
|
|
18516
18448
|
formatNumber(allocation),
|
|
18517
18449
|
" ",
|
|
18518
18450
|
(0, import_pluralize5.default)(feature.name, allocation)
|
|
18519
|
-
] }) : priceBehavior === "pay_as_you_go" ? typeof price === "number" && typeof usage === "number" && formatCurrency(usage * price, currency) : typeof usage === "number" && /* @__PURE__ */
|
|
18451
|
+
] }) : priceBehavior === "pay_as_you_go" ? typeof price === "number" && typeof usage === "number" && formatCurrency(usage * price, currency) : typeof usage === "number" && /* @__PURE__ */ jsxs23(Fragment10, { children: [
|
|
18520
18452
|
formatNumber(usage),
|
|
18521
18453
|
" ",
|
|
18522
18454
|
(0, import_pluralize5.default)(feature.name, usage)
|
|
@@ -18547,7 +18479,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18547
18479
|
]
|
|
18548
18480
|
}
|
|
18549
18481
|
),
|
|
18550
|
-
props.isVisible && typeof usage === "number" && typeof allocation === "number" && priceBehavior !== "pay_as_you_go" && /* @__PURE__ */
|
|
18482
|
+
props.isVisible && typeof usage === "number" && typeof allocation === "number" && priceBehavior !== "pay_as_you_go" && /* @__PURE__ */ jsxs23(Flex, { $gap: "2rem", children: [
|
|
18551
18483
|
/* @__PURE__ */ jsx29(
|
|
18552
18484
|
ProgressBar,
|
|
18553
18485
|
{
|
|
@@ -18563,6 +18495,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
|
|
|
18563
18495
|
priceBehavior === "pay_in_advance" && /* @__PURE__ */ jsx29(
|
|
18564
18496
|
EmbedButton,
|
|
18565
18497
|
{
|
|
18498
|
+
type: "button",
|
|
18566
18499
|
onClick: () => {
|
|
18567
18500
|
setSelected({ usage: true });
|
|
18568
18501
|
setLayout("checkout");
|
|
@@ -18586,14 +18519,14 @@ MeteredFeatures.displayName = "MeteredFeatures";
|
|
|
18586
18519
|
import {
|
|
18587
18520
|
forwardRef as forwardRef10,
|
|
18588
18521
|
useCallback as useCallback9,
|
|
18589
|
-
useEffect as
|
|
18522
|
+
useEffect as useEffect7,
|
|
18590
18523
|
useLayoutEffect as useLayoutEffect6,
|
|
18591
18524
|
useMemo as useMemo9,
|
|
18592
|
-
useState as
|
|
18525
|
+
useState as useState14
|
|
18593
18526
|
} from "react";
|
|
18594
18527
|
import { createPortal as createPortal3 } from "react-dom";
|
|
18595
18528
|
import { Elements as Elements2 } from "@stripe/react-stripe-js";
|
|
18596
|
-
import { Fragment as Fragment11, jsx as jsx30, jsxs as
|
|
18529
|
+
import { Fragment as Fragment11, jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
18597
18530
|
var PaymentElement2 = ({
|
|
18598
18531
|
iconName,
|
|
18599
18532
|
iconTitle,
|
|
@@ -18602,9 +18535,9 @@ var PaymentElement2 = ({
|
|
|
18602
18535
|
paymentLast4
|
|
18603
18536
|
}) => {
|
|
18604
18537
|
const theme = nt();
|
|
18605
|
-
return /* @__PURE__ */ jsx30(Fragment11, { children: /* @__PURE__ */ jsx30(Text, { $font: theme.typography.text.fontFamily, $size: 16, children: /* @__PURE__ */
|
|
18538
|
+
return /* @__PURE__ */ jsx30(Fragment11, { children: /* @__PURE__ */ jsx30(Text, { $font: theme.typography.text.fontFamily, $size: 16, children: /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "row", $alignItems: "center", children: [
|
|
18606
18539
|
iconName && /* @__PURE__ */ jsx30(Box, { children: /* @__PURE__ */ jsx30(Icon2, { name: iconName, title: iconTitle, style: iconStyles }) }),
|
|
18607
|
-
/* @__PURE__ */
|
|
18540
|
+
/* @__PURE__ */ jsxs24(Flex, { $alignItems: "center", children: [
|
|
18608
18541
|
/* @__PURE__ */ jsx30(Box, { $lineHeight: "1", $marginRight: "4px", children: t(label) }),
|
|
18609
18542
|
paymentLast4 && /* @__PURE__ */ jsx30(Box, { $display: "inline-block", $fontWeight: "bold", children: paymentLast4 })
|
|
18610
18543
|
] })
|
|
@@ -18711,8 +18644,8 @@ var PaymentMethodElement = ({
|
|
|
18711
18644
|
}
|
|
18712
18645
|
);
|
|
18713
18646
|
};
|
|
18714
|
-
return /* @__PURE__ */
|
|
18715
|
-
props.header.isVisible && /* @__PURE__ */
|
|
18647
|
+
return /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "column", $gap: `${sizeFactor}rem`, children: [
|
|
18648
|
+
props.header.isVisible && /* @__PURE__ */ jsxs24(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
|
|
18716
18649
|
/* @__PURE__ */ jsx30(
|
|
18717
18650
|
Text,
|
|
18718
18651
|
{
|
|
@@ -18733,7 +18666,7 @@ var PaymentMethodElement = ({
|
|
|
18733
18666
|
}
|
|
18734
18667
|
)
|
|
18735
18668
|
] }),
|
|
18736
|
-
/* @__PURE__ */
|
|
18669
|
+
/* @__PURE__ */ jsxs24(
|
|
18737
18670
|
Flex,
|
|
18738
18671
|
{
|
|
18739
18672
|
$justifyContent: "space-between",
|
|
@@ -18764,16 +18697,16 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18764
18697
|
const props = resolveDesignProps4(rest);
|
|
18765
18698
|
const { t: t2 } = useTranslation();
|
|
18766
18699
|
const theme = nt();
|
|
18767
|
-
const { api, data, layout, setLayout } = useEmbed();
|
|
18700
|
+
const { api, data, layout, hydrate, setLayout } = useEmbed();
|
|
18768
18701
|
const isLightBackground = useIsLightBackground();
|
|
18769
|
-
const [isLoading, setIsLoading] =
|
|
18770
|
-
const [error, setError] =
|
|
18771
|
-
const [showPaymentForm, setShowPaymentForm] =
|
|
18702
|
+
const [isLoading, setIsLoading] = useState14(false);
|
|
18703
|
+
const [error, setError] = useState14();
|
|
18704
|
+
const [showPaymentForm, setShowPaymentForm] = useState14(
|
|
18772
18705
|
() => typeof data.subscription?.paymentMethod === "undefined"
|
|
18773
18706
|
);
|
|
18774
|
-
const [stripe, setStripe] =
|
|
18775
|
-
const [setupIntent, setSetupIntent] =
|
|
18776
|
-
const [top, setTop] =
|
|
18707
|
+
const [stripe, setStripe] = useState14(null);
|
|
18708
|
+
const [setupIntent, setSetupIntent] = useState14();
|
|
18709
|
+
const [top, setTop] = useState14(0);
|
|
18777
18710
|
const paymentMethod = useMemo9(() => {
|
|
18778
18711
|
return data.subscription?.paymentMethod;
|
|
18779
18712
|
}, [data.subscription?.paymentMethod]);
|
|
@@ -18821,16 +18754,18 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18821
18754
|
paymentMethodId: id
|
|
18822
18755
|
}
|
|
18823
18756
|
});
|
|
18824
|
-
setLayout("
|
|
18757
|
+
setLayout("portal");
|
|
18758
|
+
hydrate();
|
|
18825
18759
|
} catch {
|
|
18760
|
+
setLayout("payment");
|
|
18826
18761
|
setError(t2("Error updating payment method. Please try again."));
|
|
18827
18762
|
} finally {
|
|
18828
18763
|
setIsLoading(false);
|
|
18829
18764
|
}
|
|
18830
18765
|
},
|
|
18831
|
-
[t2, api, setLayout]
|
|
18766
|
+
[t2, api, hydrate, setLayout]
|
|
18832
18767
|
);
|
|
18833
|
-
|
|
18768
|
+
useEffect7(() => {
|
|
18834
18769
|
if (!stripe && setupIntent?.publishableKey) {
|
|
18835
18770
|
setStripe(loadStripe(setupIntent.publishableKey));
|
|
18836
18771
|
}
|
|
@@ -18849,7 +18784,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18849
18784
|
if (!paymentMethod?.paymentMethodType) {
|
|
18850
18785
|
return null;
|
|
18851
18786
|
}
|
|
18852
|
-
return /* @__PURE__ */
|
|
18787
|
+
return /* @__PURE__ */ jsxs24(Element, { ref, className, children: [
|
|
18853
18788
|
/* @__PURE__ */ jsx30(
|
|
18854
18789
|
PaymentMethodElement,
|
|
18855
18790
|
{
|
|
@@ -18860,7 +18795,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18860
18795
|
}
|
|
18861
18796
|
),
|
|
18862
18797
|
layout === "payment" && createPortal3(
|
|
18863
|
-
/* @__PURE__ */
|
|
18798
|
+
/* @__PURE__ */ jsxs24(Modal, { size: "md", top, onClose: () => setShowPaymentForm(false), children: [
|
|
18864
18799
|
/* @__PURE__ */ jsx30(ModalHeader, { bordered: true, children: /* @__PURE__ */ jsx30(
|
|
18865
18800
|
Text,
|
|
18866
18801
|
{
|
|
@@ -18880,7 +18815,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18880
18815
|
$padding: "2rem 2.5rem 2rem 2.5rem",
|
|
18881
18816
|
$backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.025)" : "hsla(0, 0%, 100%, 0.025)",
|
|
18882
18817
|
$overflow: "auto",
|
|
18883
|
-
children: /* @__PURE__ */
|
|
18818
|
+
children: /* @__PURE__ */ jsxs24(Fragment11, { children: [
|
|
18884
18819
|
showPaymentForm ? /* @__PURE__ */ jsx30(
|
|
18885
18820
|
Elements2,
|
|
18886
18821
|
{
|
|
@@ -18917,7 +18852,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
|
|
|
18917
18852
|
}
|
|
18918
18853
|
)
|
|
18919
18854
|
}
|
|
18920
|
-
) : /* @__PURE__ */
|
|
18855
|
+
) : /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "column", $gap: "2rem", children: [
|
|
18921
18856
|
/* @__PURE__ */ jsx30(
|
|
18922
18857
|
PaymentMethodElement,
|
|
18923
18858
|
{
|
|
@@ -18962,7 +18897,7 @@ PaymentMethod.displayName = "PaymentMethod";
|
|
|
18962
18897
|
// src/components/elements/plan-manager/PlanManager.tsx
|
|
18963
18898
|
import { forwardRef as forwardRef11 } from "react";
|
|
18964
18899
|
var import_pluralize6 = __toESM(require_pluralize());
|
|
18965
|
-
import { Fragment as Fragment12, jsx as jsx31, jsxs as
|
|
18900
|
+
import { Fragment as Fragment12, jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
18966
18901
|
var resolveDesignProps5 = (props) => {
|
|
18967
18902
|
return {
|
|
18968
18903
|
header: {
|
|
@@ -19032,8 +18967,8 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19032
18967
|
const trialEndDays = Math.floor(
|
|
19033
18968
|
(trialEndDate.getTime() - todayDate.getTime()) / (1e3 * 60 * 60 * 24)
|
|
19034
18969
|
);
|
|
19035
|
-
return /* @__PURE__ */
|
|
19036
|
-
showTrialBox && !showUnsubscribeBox && /* @__PURE__ */
|
|
18970
|
+
return /* @__PURE__ */ jsxs25(Fragment12, { children: [
|
|
18971
|
+
showTrialBox && !showUnsubscribeBox && /* @__PURE__ */ jsxs25(
|
|
19037
18972
|
Box,
|
|
19038
18973
|
{
|
|
19039
18974
|
$backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.04)" : "hsla(0, 0%, 100%, 0.04)",
|
|
@@ -19069,7 +19004,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19069
19004
|
]
|
|
19070
19005
|
}
|
|
19071
19006
|
),
|
|
19072
|
-
showUnsubscribeBox && /* @__PURE__ */
|
|
19007
|
+
showUnsubscribeBox && /* @__PURE__ */ jsxs25(
|
|
19073
19008
|
Box,
|
|
19074
19009
|
{
|
|
19075
19010
|
$backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.04)" : "hsla(0, 0%, 100%, 0.04)",
|
|
@@ -19105,7 +19040,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19105
19040
|
]
|
|
19106
19041
|
}
|
|
19107
19042
|
),
|
|
19108
|
-
/* @__PURE__ */
|
|
19043
|
+
/* @__PURE__ */ jsxs25(
|
|
19109
19044
|
Element,
|
|
19110
19045
|
{
|
|
19111
19046
|
as: Flex,
|
|
@@ -19114,7 +19049,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19114
19049
|
$flexDirection: "column",
|
|
19115
19050
|
$gap: "2rem",
|
|
19116
19051
|
children: [
|
|
19117
|
-
props.header.isVisible && currentPlan && /* @__PURE__ */
|
|
19052
|
+
props.header.isVisible && currentPlan && /* @__PURE__ */ jsxs25(
|
|
19118
19053
|
Flex,
|
|
19119
19054
|
{
|
|
19120
19055
|
$justifyContent: "space-between",
|
|
@@ -19122,7 +19057,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19122
19057
|
$flexWrap: "wrap",
|
|
19123
19058
|
$gap: "1rem",
|
|
19124
19059
|
children: [
|
|
19125
|
-
/* @__PURE__ */
|
|
19060
|
+
/* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
19126
19061
|
/* @__PURE__ */ jsx31(
|
|
19127
19062
|
Text,
|
|
19128
19063
|
{
|
|
@@ -19147,7 +19082,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19147
19082
|
}
|
|
19148
19083
|
)
|
|
19149
19084
|
] }),
|
|
19150
|
-
props.header.price.isVisible && typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */
|
|
19085
|
+
props.header.price.isVisible && typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */ jsxs25(Box, { children: [
|
|
19151
19086
|
/* @__PURE__ */ jsx31(
|
|
19152
19087
|
Text,
|
|
19153
19088
|
{
|
|
@@ -19168,7 +19103,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19168
19103
|
$size: theme.typography[props.header.price.fontStyle].fontSize,
|
|
19169
19104
|
$weight: theme.typography[props.header.price.fontStyle].fontWeight,
|
|
19170
19105
|
$color: theme.typography[props.header.price.fontStyle].color,
|
|
19171
|
-
children: /* @__PURE__ */
|
|
19106
|
+
children: /* @__PURE__ */ jsxs25("sub", { children: [
|
|
19172
19107
|
"/",
|
|
19173
19108
|
shortenPeriod(currentPlan.planPeriod)
|
|
19174
19109
|
] })
|
|
@@ -19178,7 +19113,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19178
19113
|
]
|
|
19179
19114
|
}
|
|
19180
19115
|
),
|
|
19181
|
-
props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */
|
|
19116
|
+
props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
19182
19117
|
props.addOns.showLabel && /* @__PURE__ */ jsx31(
|
|
19183
19118
|
Text,
|
|
19184
19119
|
{
|
|
@@ -19190,7 +19125,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19190
19125
|
children: t2("Add-ons")
|
|
19191
19126
|
}
|
|
19192
19127
|
),
|
|
19193
|
-
addOns.map((addOn) => /* @__PURE__ */
|
|
19128
|
+
addOns.map((addOn) => /* @__PURE__ */ jsxs25(
|
|
19194
19129
|
Flex,
|
|
19195
19130
|
{
|
|
19196
19131
|
$justifyContent: "space-between",
|
|
@@ -19208,7 +19143,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19208
19143
|
children: addOn.name
|
|
19209
19144
|
}
|
|
19210
19145
|
),
|
|
19211
|
-
addOn.planPrice && addOn.planPeriod && /* @__PURE__ */
|
|
19146
|
+
addOn.planPrice && addOn.planPeriod && /* @__PURE__ */ jsxs25(
|
|
19212
19147
|
Text,
|
|
19213
19148
|
{
|
|
19214
19149
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19217,7 +19152,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19217
19152
|
$color: theme.typography.text.color,
|
|
19218
19153
|
children: [
|
|
19219
19154
|
formatCurrency(addOn.planPrice, subscriptionCurrency),
|
|
19220
|
-
/* @__PURE__ */
|
|
19155
|
+
/* @__PURE__ */ jsxs25("sub", { children: [
|
|
19221
19156
|
"/",
|
|
19222
19157
|
shortenPeriod(addOn.planPeriod)
|
|
19223
19158
|
] })
|
|
@@ -19229,7 +19164,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19229
19164
|
addOn.id
|
|
19230
19165
|
))
|
|
19231
19166
|
] }),
|
|
19232
|
-
usageBasedEntitlements.length > 0 && /* @__PURE__ */
|
|
19167
|
+
usageBasedEntitlements.length > 0 && /* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", children: [
|
|
19233
19168
|
/* @__PURE__ */ jsx31(
|
|
19234
19169
|
Text,
|
|
19235
19170
|
{
|
|
@@ -19245,7 +19180,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19245
19180
|
(acc, entitlement) => {
|
|
19246
19181
|
if (entitlement.feature?.name) {
|
|
19247
19182
|
acc.push(
|
|
19248
|
-
/* @__PURE__ */
|
|
19183
|
+
/* @__PURE__ */ jsxs25(
|
|
19249
19184
|
Flex,
|
|
19250
19185
|
{
|
|
19251
19186
|
$justifyContent: "space-between",
|
|
@@ -19260,7 +19195,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19260
19195
|
$size: theme.typography[props.addOns.fontStyle].fontSize,
|
|
19261
19196
|
$weight: theme.typography[props.addOns.fontStyle].fontWeight,
|
|
19262
19197
|
$color: theme.typography[props.addOns.fontStyle].color,
|
|
19263
|
-
children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */
|
|
19198
|
+
children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ jsxs25(Fragment12, { children: [
|
|
19264
19199
|
entitlement.quantity,
|
|
19265
19200
|
" ",
|
|
19266
19201
|
(0, import_pluralize6.default)(
|
|
@@ -19270,8 +19205,8 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19270
19205
|
] }) : entitlement.feature.name
|
|
19271
19206
|
}
|
|
19272
19207
|
),
|
|
19273
|
-
/* @__PURE__ */
|
|
19274
|
-
entitlement.priceBehavior === "pay_in_advance" && currentPlan?.planPeriod && /* @__PURE__ */
|
|
19208
|
+
/* @__PURE__ */ jsxs25(Flex, { $alignItems: "center", $gap: "1rem", children: [
|
|
19209
|
+
entitlement.priceBehavior === "pay_in_advance" && currentPlan?.planPeriod && /* @__PURE__ */ jsxs25(
|
|
19275
19210
|
Text,
|
|
19276
19211
|
{
|
|
19277
19212
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19283,7 +19218,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19283
19218
|
entitlement.price,
|
|
19284
19219
|
entitlement.currencyCode
|
|
19285
19220
|
),
|
|
19286
|
-
/* @__PURE__ */
|
|
19221
|
+
/* @__PURE__ */ jsxs25("sub", { children: [
|
|
19287
19222
|
"/",
|
|
19288
19223
|
(0, import_pluralize6.default)(
|
|
19289
19224
|
entitlement.feature.name.toLowerCase(),
|
|
@@ -19295,7 +19230,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19295
19230
|
]
|
|
19296
19231
|
}
|
|
19297
19232
|
),
|
|
19298
|
-
/* @__PURE__ */
|
|
19233
|
+
/* @__PURE__ */ jsxs25(
|
|
19299
19234
|
Text,
|
|
19300
19235
|
{
|
|
19301
19236
|
$font: theme.typography.text.fontFamily,
|
|
@@ -19307,7 +19242,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19307
19242
|
entitlement.price * (entitlement.priceBehavior === "pay_in_advance" ? entitlement.quantity : 1),
|
|
19308
19243
|
entitlement.currencyCode
|
|
19309
19244
|
),
|
|
19310
|
-
/* @__PURE__ */
|
|
19245
|
+
/* @__PURE__ */ jsxs25("sub", { children: [
|
|
19311
19246
|
"/",
|
|
19312
19247
|
currentPlan?.planPeriod && entitlement.priceBehavior === "pay_in_advance" ? shortenPeriod(currentPlan.planPeriod) : (0, import_pluralize6.default)(
|
|
19313
19248
|
entitlement.feature.name.toLowerCase(),
|
|
@@ -19332,6 +19267,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19332
19267
|
canCheckout && props.callToAction.isVisible && /* @__PURE__ */ jsx31(
|
|
19333
19268
|
EmbedButton,
|
|
19334
19269
|
{
|
|
19270
|
+
type: "button",
|
|
19335
19271
|
onClick: () => {
|
|
19336
19272
|
setSelected({
|
|
19337
19273
|
planId: currentPlan?.id,
|
|
@@ -19353,9 +19289,9 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
|
|
|
19353
19289
|
PlanManager.displayName = "PlanManager";
|
|
19354
19290
|
|
|
19355
19291
|
// src/components/elements/pricing-table/PricingTable.tsx
|
|
19356
|
-
import { forwardRef as forwardRef12, useState as
|
|
19292
|
+
import { forwardRef as forwardRef12, useState as useState15 } from "react";
|
|
19357
19293
|
var import_pluralize7 = __toESM(require_pluralize());
|
|
19358
|
-
import { Fragment as Fragment13, jsx as jsx32, jsxs as
|
|
19294
|
+
import { Fragment as Fragment13, jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
19359
19295
|
var resolveDesignProps6 = (props) => {
|
|
19360
19296
|
return {
|
|
19361
19297
|
showPeriodToggle: props.showPeriodToggle ?? true,
|
|
@@ -19401,12 +19337,12 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19401
19337
|
const theme = nt();
|
|
19402
19338
|
const { data, setLayout, setSelected } = useEmbed();
|
|
19403
19339
|
const trialEndDays = useTrialEnd();
|
|
19404
|
-
const [selectedPeriod, setSelectedPeriod] =
|
|
19340
|
+
const [selectedPeriod, setSelectedPeriod] = useState15(
|
|
19405
19341
|
() => data.company?.plan?.planPeriod || "month"
|
|
19406
19342
|
);
|
|
19407
19343
|
const { plans, addOns, periods } = useAvailablePlans(selectedPeriod);
|
|
19408
19344
|
const isLightBackground = useIsLightBackground();
|
|
19409
|
-
const [entitlementCounts, setEntitlementCounts] =
|
|
19345
|
+
const [entitlementCounts, setEntitlementCounts] = useState15(
|
|
19410
19346
|
() => plans.reduce(
|
|
19411
19347
|
(acc, plan) => {
|
|
19412
19348
|
acc[plan.id] = {
|
|
@@ -19433,7 +19369,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19433
19369
|
};
|
|
19434
19370
|
});
|
|
19435
19371
|
};
|
|
19436
|
-
return /* @__PURE__ */
|
|
19372
|
+
return /* @__PURE__ */ jsxs26(
|
|
19437
19373
|
FussyChild,
|
|
19438
19374
|
{
|
|
19439
19375
|
ref,
|
|
@@ -19442,8 +19378,8 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19442
19378
|
$flexDirection: "column",
|
|
19443
19379
|
$gap: "2rem",
|
|
19444
19380
|
children: [
|
|
19445
|
-
/* @__PURE__ */
|
|
19446
|
-
/* @__PURE__ */
|
|
19381
|
+
/* @__PURE__ */ jsxs26(Box, { children: [
|
|
19382
|
+
/* @__PURE__ */ jsxs26(
|
|
19447
19383
|
Flex,
|
|
19448
19384
|
{
|
|
19449
19385
|
$flexDirection: "column",
|
|
@@ -19492,7 +19428,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19492
19428
|
if (count?.limit && count.limit > VISIBLE_ENTITLEMENT_COUNT) {
|
|
19493
19429
|
isExpanded = true;
|
|
19494
19430
|
}
|
|
19495
|
-
return /* @__PURE__ */
|
|
19431
|
+
return /* @__PURE__ */ jsxs26(
|
|
19496
19432
|
Flex,
|
|
19497
19433
|
{
|
|
19498
19434
|
$position: "relative",
|
|
@@ -19505,7 +19441,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19505
19441
|
$outlineColor: isActivePlan ? theme.primary : "transparent",
|
|
19506
19442
|
...theme.card.hasShadow && { $boxShadow: cardBoxShadow },
|
|
19507
19443
|
children: [
|
|
19508
|
-
/* @__PURE__ */
|
|
19444
|
+
/* @__PURE__ */ jsxs26(
|
|
19509
19445
|
Flex,
|
|
19510
19446
|
{
|
|
19511
19447
|
$flexDirection: "column",
|
|
@@ -19536,7 +19472,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19536
19472
|
children: plan.description
|
|
19537
19473
|
}
|
|
19538
19474
|
) }),
|
|
19539
|
-
/* @__PURE__ */
|
|
19475
|
+
/* @__PURE__ */ jsxs26(Box, { children: [
|
|
19540
19476
|
/* @__PURE__ */ jsx32(
|
|
19541
19477
|
Text,
|
|
19542
19478
|
{
|
|
@@ -19550,7 +19486,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19550
19486
|
)
|
|
19551
19487
|
}
|
|
19552
19488
|
),
|
|
19553
|
-
!plan.custom && /* @__PURE__ */
|
|
19489
|
+
!plan.custom && /* @__PURE__ */ jsxs26(
|
|
19554
19490
|
Text,
|
|
19555
19491
|
{
|
|
19556
19492
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19581,7 +19517,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19581
19517
|
]
|
|
19582
19518
|
}
|
|
19583
19519
|
),
|
|
19584
|
-
/* @__PURE__ */
|
|
19520
|
+
/* @__PURE__ */ jsxs26(
|
|
19585
19521
|
Flex,
|
|
19586
19522
|
{
|
|
19587
19523
|
$flexDirection: "column",
|
|
@@ -19590,16 +19526,8 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19590
19526
|
$gap: `${cardPadding}rem`,
|
|
19591
19527
|
$padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
|
|
19592
19528
|
children: [
|
|
19593
|
-
props.plans.showEntitlements && /* @__PURE__ */
|
|
19594
|
-
plan.entitlements.
|
|
19595
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
|
|
19596
|
-
return 1;
|
|
19597
|
-
}
|
|
19598
|
-
if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
|
|
19599
|
-
return -1;
|
|
19600
|
-
}
|
|
19601
|
-
return 0;
|
|
19602
|
-
}).reduce((acc, entitlement) => {
|
|
19529
|
+
props.plans.showEntitlements && /* @__PURE__ */ jsxs26(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
|
|
19530
|
+
plan.entitlements.reduce((acc, entitlement) => {
|
|
19603
19531
|
let price;
|
|
19604
19532
|
let currency;
|
|
19605
19533
|
if (selectedPeriod === "month") {
|
|
@@ -19613,7 +19541,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19613
19541
|
return acc;
|
|
19614
19542
|
}
|
|
19615
19543
|
acc.push(
|
|
19616
|
-
/* @__PURE__ */
|
|
19544
|
+
/* @__PURE__ */ jsxs26(Flex, { $gap: "1rem", children: [
|
|
19617
19545
|
props.plans.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ jsx32(
|
|
19618
19546
|
IconRound,
|
|
19619
19547
|
{
|
|
@@ -19633,7 +19561,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19633
19561
|
$weight: theme.typography.text.fontWeight,
|
|
19634
19562
|
$color: theme.typography.text.color,
|
|
19635
19563
|
$leading: 1.35,
|
|
19636
|
-
children: typeof price !== "undefined" ? /* @__PURE__ */
|
|
19564
|
+
children: typeof price !== "undefined" ? /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19637
19565
|
formatCurrency(price, currency),
|
|
19638
19566
|
" ",
|
|
19639
19567
|
t2("per"),
|
|
@@ -19642,19 +19570,19 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19642
19570
|
entitlement.feature.name,
|
|
19643
19571
|
1
|
|
19644
19572
|
),
|
|
19645
|
-
entitlement.priceBehavior === "pay_in_advance" && /* @__PURE__ */
|
|
19573
|
+
entitlement.priceBehavior === "pay_in_advance" && /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19646
19574
|
" ",
|
|
19647
19575
|
t2("per"),
|
|
19648
19576
|
" ",
|
|
19649
19577
|
selectedPeriod
|
|
19650
19578
|
] })
|
|
19651
|
-
] }) : entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */
|
|
19579
|
+
] }) : entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19652
19580
|
entitlement.valueType === "unlimited" ? t2("Unlimited", {
|
|
19653
19581
|
item: (0, import_pluralize7.default)(
|
|
19654
19582
|
entitlement.feature.name
|
|
19655
19583
|
)
|
|
19656
19584
|
}) : typeof entitlement.valueNumeric === "number" && `${formatNumber(entitlement.valueNumeric)} ${(0, import_pluralize7.default)(entitlement.feature.name, entitlement.valueNumeric)}`,
|
|
19657
|
-
entitlement.metricPeriod && /* @__PURE__ */
|
|
19585
|
+
entitlement.metricPeriod && /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19658
19586
|
" ",
|
|
19659
19587
|
t2("per"),
|
|
19660
19588
|
" ",
|
|
@@ -19672,7 +19600,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19672
19600
|
);
|
|
19673
19601
|
return acc;
|
|
19674
19602
|
}, []).slice(0, count?.limit ?? VISIBLE_ENTITLEMENT_COUNT),
|
|
19675
|
-
(count?.size || plan.entitlements.length) > VISIBLE_ENTITLEMENT_COUNT && /* @__PURE__ */
|
|
19603
|
+
(count?.size || plan.entitlements.length) > VISIBLE_ENTITLEMENT_COUNT && /* @__PURE__ */ jsxs26(
|
|
19676
19604
|
Flex,
|
|
19677
19605
|
{
|
|
19678
19606
|
$alignItems: "center",
|
|
@@ -19708,7 +19636,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19708
19636
|
}
|
|
19709
19637
|
)
|
|
19710
19638
|
] }),
|
|
19711
|
-
isActivePlan ? /* @__PURE__ */
|
|
19639
|
+
isActivePlan ? /* @__PURE__ */ jsxs26(
|
|
19712
19640
|
Flex,
|
|
19713
19641
|
{
|
|
19714
19642
|
$justifyContent: "center",
|
|
@@ -19741,7 +19669,8 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19741
19669
|
) : (props.upgrade.isVisible || props.downgrade.isVisible) && /* @__PURE__ */ jsx32(
|
|
19742
19670
|
EmbedButton,
|
|
19743
19671
|
{
|
|
19744
|
-
|
|
19672
|
+
type: "button",
|
|
19673
|
+
disabled: (!plan.valid || !canCheckout) && !plan.custom,
|
|
19745
19674
|
...!plan.custom && {
|
|
19746
19675
|
onClick: () => {
|
|
19747
19676
|
setSelected({
|
|
@@ -19790,7 +19719,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19790
19719
|
}
|
|
19791
19720
|
)
|
|
19792
19721
|
] }),
|
|
19793
|
-
/* @__PURE__ */ jsx32(Box, { children: props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */
|
|
19722
|
+
/* @__PURE__ */ jsx32(Box, { children: props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19794
19723
|
props.header.isVisible && /* @__PURE__ */ jsx32(
|
|
19795
19724
|
Flex,
|
|
19796
19725
|
{
|
|
@@ -19817,7 +19746,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19817
19746
|
$gap: "1rem",
|
|
19818
19747
|
children: addOns.map((addOn, index) => {
|
|
19819
19748
|
const isActiveAddOn = addOn.current && selectedPeriod === data.company?.addOns.find((a2) => a2.id === addOn.id)?.planPeriod;
|
|
19820
|
-
return /* @__PURE__ */
|
|
19749
|
+
return /* @__PURE__ */ jsxs26(
|
|
19821
19750
|
Flex,
|
|
19822
19751
|
{
|
|
19823
19752
|
$position: "relative",
|
|
@@ -19831,7 +19760,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19831
19760
|
$outlineColor: isActiveAddOn ? theme.primary : "transparent",
|
|
19832
19761
|
...theme.card.hasShadow && { $boxShadow: cardBoxShadow },
|
|
19833
19762
|
children: [
|
|
19834
|
-
/* @__PURE__ */
|
|
19763
|
+
/* @__PURE__ */ jsxs26(Flex, { $flexDirection: "column", $gap: "0.75rem", children: [
|
|
19835
19764
|
/* @__PURE__ */ jsx32(Box, { children: /* @__PURE__ */ jsx32(
|
|
19836
19765
|
Text,
|
|
19837
19766
|
{
|
|
@@ -19852,7 +19781,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19852
19781
|
children: addOn.description
|
|
19853
19782
|
}
|
|
19854
19783
|
) }),
|
|
19855
|
-
/* @__PURE__ */
|
|
19784
|
+
/* @__PURE__ */ jsxs26(Box, { children: [
|
|
19856
19785
|
/* @__PURE__ */ jsx32(
|
|
19857
19786
|
Text,
|
|
19858
19787
|
{
|
|
@@ -19866,7 +19795,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19866
19795
|
)
|
|
19867
19796
|
}
|
|
19868
19797
|
),
|
|
19869
|
-
/* @__PURE__ */
|
|
19798
|
+
/* @__PURE__ */ jsxs26(
|
|
19870
19799
|
Text,
|
|
19871
19800
|
{
|
|
19872
19801
|
$font: theme.typography[props.plans.name.fontStyle].fontFamily,
|
|
@@ -19895,7 +19824,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19895
19824
|
}
|
|
19896
19825
|
)
|
|
19897
19826
|
] }),
|
|
19898
|
-
/* @__PURE__ */
|
|
19827
|
+
/* @__PURE__ */ jsxs26(
|
|
19899
19828
|
Flex,
|
|
19900
19829
|
{
|
|
19901
19830
|
$flexDirection: "column",
|
|
@@ -19918,7 +19847,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19918
19847
|
$justifyContent: "space-between",
|
|
19919
19848
|
$alignItems: "center",
|
|
19920
19849
|
$gap: "1rem",
|
|
19921
|
-
children: /* @__PURE__ */
|
|
19850
|
+
children: /* @__PURE__ */ jsxs26(Flex, { $gap: "1rem", children: [
|
|
19922
19851
|
props.addOns.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ jsx32(
|
|
19923
19852
|
IconRound,
|
|
19924
19853
|
{
|
|
@@ -19937,13 +19866,13 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19937
19866
|
$size: theme.typography.text.fontSize,
|
|
19938
19867
|
$weight: theme.typography.text.fontWeight,
|
|
19939
19868
|
$color: theme.typography.text.color,
|
|
19940
|
-
children: entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */
|
|
19869
|
+
children: entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19941
19870
|
entitlement.valueType === "unlimited" ? t2("Unlimited", {
|
|
19942
19871
|
item: (0, import_pluralize7.default)(
|
|
19943
19872
|
entitlement.feature.name
|
|
19944
19873
|
)
|
|
19945
19874
|
}) : typeof entitlement.valueNumeric === "number" && `${formatNumber(entitlement.valueNumeric)} ${(0, import_pluralize7.default)(entitlement.feature.name, entitlement.valueNumeric)}`,
|
|
19946
|
-
entitlement.metricPeriod && /* @__PURE__ */
|
|
19875
|
+
entitlement.metricPeriod && /* @__PURE__ */ jsxs26(Fragment13, { children: [
|
|
19947
19876
|
" ",
|
|
19948
19877
|
t2("per"),
|
|
19949
19878
|
" ",
|
|
@@ -19967,6 +19896,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
|
|
|
19967
19896
|
props.upgrade.isVisible && /* @__PURE__ */ jsx32(
|
|
19968
19897
|
EmbedButton,
|
|
19969
19898
|
{
|
|
19899
|
+
type: "button",
|
|
19970
19900
|
disabled: !addOn.valid || !canCheckout,
|
|
19971
19901
|
onClick: () => {
|
|
19972
19902
|
setSelected({
|
|
@@ -20001,7 +19931,7 @@ PricingTable.displayName = "PricingTable";
|
|
|
20001
19931
|
|
|
20002
19932
|
// src/components/elements/upcoming-bill/UpcomingBill.tsx
|
|
20003
19933
|
import { forwardRef as forwardRef13, useMemo as useMemo10 } from "react";
|
|
20004
|
-
import { jsx as jsx33, jsxs as
|
|
19934
|
+
import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
20005
19935
|
function resolveDesignProps7(props) {
|
|
20006
19936
|
return {
|
|
20007
19937
|
header: {
|
|
@@ -20053,7 +19983,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20053
19983
|
if (typeof upcomingInvoice.amountDue !== "number" || !upcomingInvoice.dueDate) {
|
|
20054
19984
|
return null;
|
|
20055
19985
|
}
|
|
20056
|
-
return /* @__PURE__ */
|
|
19986
|
+
return /* @__PURE__ */ jsxs27(
|
|
20057
19987
|
Element,
|
|
20058
19988
|
{
|
|
20059
19989
|
as: Flex,
|
|
@@ -20062,7 +19992,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20062
19992
|
$flexDirection: "column",
|
|
20063
19993
|
$gap: "1rem",
|
|
20064
19994
|
children: [
|
|
20065
|
-
props.header.isVisible && /* @__PURE__ */ jsx33(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */
|
|
19995
|
+
props.header.isVisible && /* @__PURE__ */ jsx33(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ jsxs27(
|
|
20066
19996
|
Text,
|
|
20067
19997
|
{
|
|
20068
19998
|
$font: theme.typography[props.header.fontStyle].fontFamily,
|
|
@@ -20076,7 +20006,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20076
20006
|
]
|
|
20077
20007
|
}
|
|
20078
20008
|
) }),
|
|
20079
|
-
/* @__PURE__ */
|
|
20009
|
+
/* @__PURE__ */ jsxs27(Flex, { $justifyContent: "space-between", $alignItems: "start", $gap: "1rem", children: [
|
|
20080
20010
|
props.price.isVisible && /* @__PURE__ */ jsx33(Flex, { $alignItems: "end", $flexGrow: "1", children: /* @__PURE__ */ jsx33(
|
|
20081
20011
|
Text,
|
|
20082
20012
|
{
|
|
@@ -20103,7 +20033,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20103
20033
|
}
|
|
20104
20034
|
) })
|
|
20105
20035
|
] }),
|
|
20106
|
-
discounts.length > 0 && /* @__PURE__ */
|
|
20036
|
+
discounts.length > 0 && /* @__PURE__ */ jsxs27(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
|
|
20107
20037
|
/* @__PURE__ */ jsx33(Box, { children: /* @__PURE__ */ jsx33(
|
|
20108
20038
|
Text,
|
|
20109
20039
|
{
|
|
@@ -20114,7 +20044,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
|
|
|
20114
20044
|
children: t2("Discount")
|
|
20115
20045
|
}
|
|
20116
20046
|
) }),
|
|
20117
|
-
/* @__PURE__ */ jsx33(Box, { children: discounts.map((discount) => /* @__PURE__ */
|
|
20047
|
+
/* @__PURE__ */ jsx33(Box, { children: discounts.map((discount) => /* @__PURE__ */ jsxs27(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
|
|
20118
20048
|
/* @__PURE__ */ jsx33(
|
|
20119
20049
|
Flex,
|
|
20120
20050
|
{
|
|
@@ -20216,7 +20146,7 @@ var UnsubscribeButton = forwardRef14(({ children, className, ...rest }, ref) =>
|
|
|
20216
20146
|
UnsubscribeButton.displayName = "UnsubscribeButton";
|
|
20217
20147
|
|
|
20218
20148
|
// src/components/embed/ComponentTree.tsx
|
|
20219
|
-
import { useEffect as
|
|
20149
|
+
import { useEffect as useEffect8, useState as useState16 } from "react";
|
|
20220
20150
|
|
|
20221
20151
|
// src/components/embed/renderer.ts
|
|
20222
20152
|
import { createElement as createElement5 } from "react";
|
|
@@ -20265,7 +20195,7 @@ function createRenderer(options) {
|
|
|
20265
20195
|
}
|
|
20266
20196
|
|
|
20267
20197
|
// src/components/embed/ComponentTree.tsx
|
|
20268
|
-
import { Fragment as Fragment14, jsx as jsx35, jsxs as
|
|
20198
|
+
import { Fragment as Fragment14, jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
20269
20199
|
var Loading = () => {
|
|
20270
20200
|
const theme = nt();
|
|
20271
20201
|
return /* @__PURE__ */ jsx35(
|
|
@@ -20282,7 +20212,7 @@ var Loading = () => {
|
|
|
20282
20212
|
};
|
|
20283
20213
|
var Error2 = ({ message }) => {
|
|
20284
20214
|
const theme = nt();
|
|
20285
|
-
return /* @__PURE__ */
|
|
20215
|
+
return /* @__PURE__ */ jsxs28(
|
|
20286
20216
|
Flex,
|
|
20287
20217
|
{
|
|
20288
20218
|
$flexDirection: "column",
|
|
@@ -20321,8 +20251,8 @@ var Error2 = ({ message }) => {
|
|
|
20321
20251
|
};
|
|
20322
20252
|
var ComponentTree = () => {
|
|
20323
20253
|
const { error, nodes, isPending } = useEmbed();
|
|
20324
|
-
const [children, setChildren] =
|
|
20325
|
-
|
|
20254
|
+
const [children, setChildren] = useState16(/* @__PURE__ */ jsx35(Loading, {}));
|
|
20255
|
+
useEffect8(() => {
|
|
20326
20256
|
const renderer = createRenderer();
|
|
20327
20257
|
setChildren(nodes.map(renderer));
|
|
20328
20258
|
}, [nodes]);
|