@schematichq/schematic-components 0.4.7 → 0.4.9

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.
@@ -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 useState13 } from "react";
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
- let plansWithSelected = mode === "edit" ? plans.slice() : plans.filter(
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 = plansWithSelected.sort((a2, b2) => {
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-glasses::before {
12284
+ .i-github::before {
12285
12285
  content: "\\f13c";
12286
12286
  }
12287
12287
 
12288
- .i-globe::before {
12288
+ .i-glasses::before {
12289
12289
  content: "\\f13d";
12290
12290
  }
12291
12291
 
12292
- .i-hammer::before {
12292
+ .i-globe::before {
12293
12293
  content: "\\f13e";
12294
12294
  }
12295
12295
 
12296
- .i-hash::before {
12296
+ .i-google::before {
12297
12297
  content: "\\f13f";
12298
12298
  }
12299
12299
 
12300
- .i-heart::before {
12300
+ .i-hammer::before {
12301
12301
  content: "\\f140";
12302
12302
  }
12303
12303
 
12304
- .i-hubspot::before {
12304
+ .i-hash::before {
12305
12305
  content: "\\f141";
12306
12306
  }
12307
12307
 
12308
- .i-image::before {
12308
+ .i-heart::before {
12309
12309
  content: "\\f142";
12310
12310
  }
12311
12311
 
12312
- .i-info-rounded::before {
12312
+ .i-hubspot::before {
12313
12313
  content: "\\f143";
12314
12314
  }
12315
12315
 
12316
- .i-juice::before {
12316
+ .i-image::before {
12317
12317
  content: "\\f144";
12318
12318
  }
12319
12319
 
12320
- .i-key::before {
12320
+ .i-info-rounded::before {
12321
12321
  content: "\\f145";
12322
12322
  }
12323
12323
 
12324
- .i-link::before {
12324
+ .i-juice::before {
12325
12325
  content: "\\f146";
12326
12326
  }
12327
12327
 
12328
- .i-mastercard::before {
12328
+ .i-key::before {
12329
12329
  content: "\\f147";
12330
12330
  }
12331
12331
 
12332
- .i-music::before {
12332
+ .i-link::before {
12333
12333
  content: "\\f148";
12334
12334
  }
12335
12335
 
12336
- .i-node-minus::before {
12336
+ .i-mastercard::before {
12337
12337
  content: "\\f149";
12338
12338
  }
12339
12339
 
12340
- .i-node-plus::before {
12340
+ .i-move::before {
12341
12341
  content: "\\f14a";
12342
12342
  }
12343
12343
 
12344
- .i-package::before {
12344
+ .i-music::before {
12345
12345
  content: "\\f14b";
12346
12346
  }
12347
12347
 
12348
- .i-paper-plane::before {
12348
+ .i-node-minus::before {
12349
12349
  content: "\\f14c";
12350
12350
  }
12351
12351
 
12352
- .i-paypal::before {
12352
+ .i-node-plus::before {
12353
12353
  content: "\\f14d";
12354
12354
  }
12355
12355
 
12356
- .i-pencil::before {
12356
+ .i-package::before {
12357
12357
  content: "\\f14e";
12358
12358
  }
12359
12359
 
12360
- .i-percent::before {
12360
+ .i-paper-plane::before {
12361
12361
  content: "\\f14f";
12362
12362
  }
12363
12363
 
12364
- .i-picker::before {
12364
+ .i-paypal::before {
12365
12365
  content: "\\f150";
12366
12366
  }
12367
12367
 
12368
- .i-plan::before {
12368
+ .i-pencil::before {
12369
12369
  content: "\\f151";
12370
12370
  }
12371
12371
 
12372
- .i-plug::before {
12372
+ .i-percent::before {
12373
12373
  content: "\\f152";
12374
12374
  }
12375
12375
 
12376
- .i-plus-minus::before {
12376
+ .i-picker::before {
12377
12377
  content: "\\f153";
12378
12378
  }
12379
12379
 
12380
- .i-plus-rounded-outline::before {
12380
+ .i-plan::before {
12381
12381
  content: "\\f154";
12382
12382
  }
12383
12383
 
12384
- .i-present::before {
12384
+ .i-plug::before {
12385
12385
  content: "\\f155";
12386
12386
  }
12387
12387
 
12388
- .i-schematic::before {
12388
+ .i-plus-minus::before {
12389
12389
  content: "\\f156";
12390
12390
  }
12391
12391
 
12392
- .i-search::before {
12392
+ .i-plus-rounded-outline::before {
12393
12393
  content: "\\f157";
12394
12394
  }
12395
12395
 
12396
- .i-segment::before {
12396
+ .i-present::before {
12397
12397
  content: "\\f158";
12398
12398
  }
12399
12399
 
12400
- .i-server-search::before {
12400
+ .i-schematic::before {
12401
12401
  content: "\\f159";
12402
12402
  }
12403
12403
 
12404
- .i-sidebar::before {
12404
+ .i-search::before {
12405
12405
  content: "\\f15a";
12406
12406
  }
12407
12407
 
12408
- .i-signal::before {
12408
+ .i-segment::before {
12409
12409
  content: "\\f15b";
12410
12410
  }
12411
12411
 
12412
- .i-silence::before {
12412
+ .i-server-search::before {
12413
12413
  content: "\\f15c";
12414
12414
  }
12415
12415
 
12416
- .i-spade::before {
12416
+ .i-sidebar::before {
12417
12417
  content: "\\f15d";
12418
12418
  }
12419
12419
 
12420
- .i-speaker::before {
12420
+ .i-signal::before {
12421
12421
  content: "\\f15e";
12422
12422
  }
12423
12423
 
12424
- .i-stacked::before {
12424
+ .i-silence::before {
12425
12425
  content: "\\f15f";
12426
12426
  }
12427
12427
 
12428
- .i-stacks::before {
12428
+ .i-spade::before {
12429
12429
  content: "\\f160";
12430
12430
  }
12431
12431
 
12432
- .i-stripe::before {
12432
+ .i-speaker::before {
12433
12433
  content: "\\f161";
12434
12434
  }
12435
12435
 
12436
- .i-text::before {
12436
+ .i-stacked::before {
12437
12437
  content: "\\f162";
12438
12438
  }
12439
12439
 
12440
- .i-thunder::before {
12440
+ .i-stacks::before {
12441
12441
  content: "\\f163";
12442
12442
  }
12443
12443
 
12444
- .i-tornado::before {
12444
+ .i-stripe::before {
12445
12445
  content: "\\f164";
12446
12446
  }
12447
12447
 
12448
- .i-truck::before {
12448
+ .i-text::before {
12449
12449
  content: "\\f165";
12450
12450
  }
12451
12451
 
12452
- .i-tube::before {
12452
+ .i-thunder::before {
12453
12453
  content: "\\f166";
12454
12454
  }
12455
12455
 
12456
- .i-unprotected::before {
12456
+ .i-tornado::before {
12457
12457
  content: "\\f167";
12458
12458
  }
12459
12459
 
12460
- .i-verified::before {
12460
+ .i-truck::before {
12461
12461
  content: "\\f168";
12462
12462
  }
12463
12463
 
12464
- .i-video-camera::before {
12464
+ .i-tube::before {
12465
12465
  content: "\\f169";
12466
12466
  }
12467
12467
 
12468
- .i-visa::before {
12468
+ .i-unprotected::before {
12469
12469
  content: "\\f16a";
12470
12470
  }
12471
12471
 
12472
- .i-wallet::before {
12472
+ .i-unsubscribe::before {
12473
12473
  content: "\\f16b";
12474
12474
  }
12475
12475
 
12476
- .i-watch-hand::before {
12476
+ .i-verified::before {
12477
12477
  content: "\\f16c";
12478
12478
  }
12479
12479
 
12480
- .i-watch-pocket::before {
12480
+ .i-video-camera::before {
12481
12481
  content: "\\f16d";
12482
12482
  }
12483
12483
 
12484
- .i-water-drop::before {
12484
+ .i-visa::before {
12485
12485
  content: "\\f16e";
12486
12486
  }
12487
12487
 
12488
- .i-waves::before {
12488
+ .i-wallet::before {
12489
12489
  content: "\\f16f";
12490
12490
  }
12491
12491
 
12492
- .i-webhook::before {
12492
+ .i-watch-hand::before {
12493
12493
  content: "\\f170";
12494
12494
  }
12495
12495
 
12496
- .i-wind::before {
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
- setData: () => {
12634
+ setIsPending: () => {
12619
12635
  },
12620
- updateSettings: () => {
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
- updateSettings: () => {
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 setData = useCallback3(
12700
- (data) => {
12701
- setState((prev2) => ({
12702
- ...prev2,
12703
- data
12704
- }));
12705
- },
12706
- [setState]
12707
- );
12708
- const updateSettings = useCallback3(
12709
- (settings) => {
12710
- setState((prev2) => {
12711
- const updatedSettings = (0, import_merge.default)({}, prev2.settings, { ...settings });
12712
- return {
12713
- ...prev2,
12714
- settings: updatedSettings
12715
- };
12716
- });
12717
- },
12718
- [setState]
12719
- );
12720
- const setLayout = useCallback3(
12721
- (layout) => {
12722
- setState((prev2) => ({
12723
- ...prev2,
12724
- layout
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
- selected
12734
- }));
12735
- },
12736
- [setState]
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.7";
12779
+ headers["X-Schematic-Components-Version"] = "0.4.9";
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
- isLoading && /* @__PURE__ */ jsx2(Loader, { $size: "sm", $isLoading: isLoading }),
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
- glasses: 61756,
13526
- globe: 61757,
13527
- hammer: 61758,
13528
- hash: 61759,
13529
- heart: 61760,
13530
- hubspot: 61761,
13531
- image: 61762,
13532
- "info-rounded": 61763,
13533
- juice: 61764,
13534
- key: 61765,
13535
- link: 61766,
13536
- mastercard: 61767,
13537
- music: 61768,
13538
- "node-minus": 61769,
13539
- "node-plus": 61770,
13540
- package: 61771,
13541
- "paper-plane": 61772,
13542
- paypal: 61773,
13543
- pencil: 61774,
13544
- percent: 61775,
13545
- picker: 61776,
13546
- plan: 61777,
13547
- plug: 61778,
13548
- "plus-minus": 61779,
13549
- "plus-rounded-outline": 61780,
13550
- present: 61781,
13551
- schematic: 61782,
13552
- search: 61783,
13553
- segment: 61784,
13554
- "server-search": 61785,
13555
- sidebar: 61786,
13556
- signal: 61787,
13557
- silence: 61788,
13558
- spade: 61789,
13559
- speaker: 61790,
13560
- stacked: 61791,
13561
- stacks: 61792,
13562
- stripe: 61793,
13563
- text: 61794,
13564
- thunder: 61795,
13565
- tornado: 61796,
13566
- truck: 61797,
13567
- tube: 61798,
13568
- unprotected: 61799,
13569
- verified: 61800,
13570
- "video-camera": 61801,
13571
- visa: 61802,
13572
- wallet: 61803,
13573
- "watch-hand": 61804,
13574
- "watch-pocket": 61805,
13575
- "water-drop": 61806,
13576
- waves: 61807,
13577
- webhook: 61808,
13578
- wind: 61809
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
@@ -13696,12 +13719,27 @@ var spin = mt`
13696
13719
  var Loader = dt.div`
13697
13720
  display: inline-block;
13698
13721
  border-style: solid;
13699
- border-color: hsla(0, 0%, 50%, 0.125);
13700
- border-top-color: ${({ theme, $color }) => $color || theme.primary};
13701
13722
  border-radius: 50%;
13702
13723
  transition: all 0.1s;
13703
13724
  animation: 1.5s linear infinite ${spin};
13704
13725
 
13726
+ ${({ $color, theme }) => {
13727
+ const { l: l2 } = hexToHSL(theme.card.background);
13728
+ let color = $color;
13729
+ let colorFn;
13730
+ if (l2 > 50) {
13731
+ color = color ?? "#000000";
13732
+ colorFn = lighten;
13733
+ } else {
13734
+ color = color ?? "#FFFFFF";
13735
+ colorFn = darken;
13736
+ }
13737
+ return lt`
13738
+ border-color: ${color};
13739
+ border-top-color: ${colorFn(color, 42.5)};
13740
+ `;
13741
+ }}
13742
+
13705
13743
  ${({ $size = "md", $isLoading = true }) => {
13706
13744
  let px;
13707
13745
  switch ($size) {
@@ -14185,7 +14223,7 @@ var Root = forwardRef3(
14185
14223
  Root.displayName = "Root";
14186
14224
 
14187
14225
  // src/components/layout/viewport/Viewport.tsx
14188
- import { forwardRef as forwardRef4, useLayoutEffect as useLayoutEffect5, useState as useState12 } from "react";
14226
+ import { forwardRef as forwardRef4, useLayoutEffect as useLayoutEffect5, useState as useState11 } from "react";
14189
14227
  import { createPortal as createPortal2 } from "react-dom";
14190
14228
 
14191
14229
  // src/components/shared/checkout-dialog/CheckoutDialog.tsx
@@ -14301,7 +14339,10 @@ var Navigation = ({
14301
14339
  };
14302
14340
 
14303
14341
  // src/components/shared/sidebar/Sidebar.tsx
14304
- import { useCallback as useCallback6, useMemo as useMemo4 } from "react";
14342
+ import {
14343
+ useCallback as useCallback6,
14344
+ useMemo as useMemo4
14345
+ } from "react";
14305
14346
  var import_pluralize = __toESM(require_pluralize());
14306
14347
 
14307
14348
  // src/components/shared/sidebar/StageButton.tsx
@@ -14325,7 +14366,8 @@ var StageButton = ({
14325
14366
  return /* @__PURE__ */ jsx11(
14326
14367
  EmbedButton,
14327
14368
  {
14328
- disabled: isLoading || !canCheckout,
14369
+ type: "button",
14370
+ disabled: isLoading || !canUpdateSubscription,
14329
14371
  onClick: checkout,
14330
14372
  isLoading,
14331
14373
  children: t2("Subscribe and close")
@@ -14338,9 +14380,10 @@ var StageButton = ({
14338
14380
  return /* @__PURE__ */ jsx11(
14339
14381
  EmbedButton,
14340
14382
  {
14383
+ type: "button",
14341
14384
  disabled: !hasAddOns && !canUpdateSubscription,
14342
14385
  onClick: async () => {
14343
- setCheckoutStage("checkout");
14386
+ setCheckoutStage?.("checkout");
14344
14387
  },
14345
14388
  isLoading,
14346
14389
  children: /* @__PURE__ */ jsxs7(
@@ -14364,6 +14407,7 @@ var StageButton = ({
14364
14407
  return /* @__PURE__ */ jsx11(
14365
14408
  EmbedButton,
14366
14409
  {
14410
+ type: "button",
14367
14411
  disabled: !canUpdateSubscription,
14368
14412
  onClick: async () => {
14369
14413
  checkout();
@@ -14385,7 +14429,7 @@ var StageButton = ({
14385
14429
  }
14386
14430
  );
14387
14431
  }
14388
- if (!requiresPayment && !checkoutStages.some(
14432
+ if (!requiresPayment && !checkoutStages?.some(
14389
14433
  (stage) => stage.id === "addons" || stage.id === "usage"
14390
14434
  )) {
14391
14435
  return /* @__PURE__ */ jsx11(NoPaymentRequired, {});
@@ -14393,9 +14437,10 @@ var StageButton = ({
14393
14437
  return /* @__PURE__ */ jsx11(
14394
14438
  EmbedButton,
14395
14439
  {
14440
+ type: "button",
14396
14441
  disabled: !canUpdateSubscription,
14397
14442
  onClick: async () => {
14398
- setCheckoutStage(
14443
+ setCheckoutStage?.(
14399
14444
  hasPayInAdvanceEntitlements ? "usage" : hasAddOns ? "addons" : "checkout"
14400
14445
  );
14401
14446
  },
@@ -14426,9 +14471,10 @@ var StageButton = ({
14426
14471
  return /* @__PURE__ */ jsx11(
14427
14472
  EmbedButton,
14428
14473
  {
14474
+ type: "button",
14429
14475
  disabled: !canUpdateSubscription,
14430
14476
  onClick: async () => {
14431
- setCheckoutStage(hasAddOns ? "addons" : "checkout");
14477
+ setCheckoutStage?.(hasAddOns ? "addons" : "checkout");
14432
14478
  },
14433
14479
  isLoading,
14434
14480
  children: /* @__PURE__ */ jsxs7(
@@ -14456,9 +14502,10 @@ var StageButton = ({
14456
14502
  return /* @__PURE__ */ jsx11(
14457
14503
  EmbedButton,
14458
14504
  {
14505
+ type: "button",
14459
14506
  disabled: !canUpdateSubscription,
14460
14507
  onClick: async () => {
14461
- setCheckoutStage("checkout");
14508
+ setCheckoutStage?.("checkout");
14462
14509
  },
14463
14510
  isLoading,
14464
14511
  children: /* @__PURE__ */ jsxs7(
@@ -14486,6 +14533,7 @@ var StageButton = ({
14486
14533
  return /* @__PURE__ */ jsx11(
14487
14534
  EmbedButton,
14488
14535
  {
14536
+ type: "button",
14489
14537
  disabled: isLoading || !canCheckout,
14490
14538
  onClick: checkout,
14491
14539
  isLoading,
@@ -14498,33 +14546,49 @@ var StageButton = ({
14498
14546
  // src/components/shared/sidebar/Sidebar.tsx
14499
14547
  import { Fragment as Fragment4, jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
14500
14548
  var Sidebar = ({
14549
+ planPeriod,
14550
+ selectedPlan,
14501
14551
  addOns,
14552
+ usageBasedEntitlements,
14502
14553
  charges,
14503
14554
  checkoutRef,
14504
14555
  checkoutStage,
14505
14556
  checkoutStages,
14506
- currentAddOns,
14507
- currentUsageBasedEntitlements,
14508
14557
  error,
14509
- currentPlan,
14510
14558
  isLoading,
14511
14559
  paymentMethodId,
14512
- planPeriod,
14513
14560
  promoCode,
14514
14561
  requiresPayment,
14515
- selectedPlan,
14516
14562
  setCheckoutStage,
14517
14563
  setError,
14564
+ setIsLoading,
14518
14565
  showPaymentForm,
14519
- toggleLoading,
14520
14566
  updatePromoCode,
14521
- usageBasedEntitlements,
14522
14567
  showHeader = true
14523
14568
  }) => {
14524
14569
  const { t: t2 } = useTranslation();
14525
14570
  const theme = nt();
14526
- const { api, data, mode, layout, setLayout } = useEmbed();
14571
+ const { api, data, mode, layout, hydrate, setLayout } = useEmbed();
14527
14572
  const isLightBackground = useIsLightBackground();
14573
+ const currentPlan = data.company?.plan;
14574
+ const currentAddOns = data.company?.addOns || [];
14575
+ const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
14576
+ (acc, usageData) => {
14577
+ const featureUsage = data.featureUsage?.features.find(
14578
+ (usage2) => usage2.feature?.id === usageData.featureId
14579
+ );
14580
+ const allocation = featureUsage?.allocation || 0;
14581
+ const usage = featureUsage?.usage || 0;
14582
+ acc.push({
14583
+ usageData,
14584
+ allocation,
14585
+ quantity: allocation ?? usage,
14586
+ usage
14587
+ });
14588
+ return acc;
14589
+ },
14590
+ []
14591
+ );
14528
14592
  const payInAdvanceEntitlements = usageBasedEntitlements.filter(
14529
14593
  ({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
14530
14594
  );
@@ -14532,15 +14596,17 @@ var Sidebar = ({
14532
14596
  ({ entitlement }) => entitlement.priceBehavior === "pay_as_you_go"
14533
14597
  );
14534
14598
  const subscriptionPrice = useMemo4(() => {
14535
- const plan = selectedPlan || currentPlan;
14536
- if (!plan || !plan.monthlyPrice || !plan.yearlyPrice) {
14537
- return;
14538
- }
14539
14599
  let total = 0;
14540
- const planPrice = (planPeriod === "month" ? plan.monthlyPrice : plan.yearlyPrice)?.price;
14541
- const currency = (planPeriod === "month" ? plan?.monthlyPrice : plan?.yearlyPrice)?.currency;
14542
- if (planPrice) {
14543
- total += planPrice;
14600
+ let planPrice;
14601
+ let currency;
14602
+ if (selectedPlan) {
14603
+ planPrice = planPeriod === "month" ? selectedPlan.monthlyPrice?.price : selectedPlan.yearlyPrice?.price;
14604
+ currency = planPeriod === "month" ? selectedPlan.monthlyPrice?.currency : selectedPlan.yearlyPrice?.currency;
14605
+ if (planPrice) {
14606
+ total += planPrice;
14607
+ }
14608
+ } else if (typeof currentPlan?.planPrice === "number") {
14609
+ planPrice = currentPlan.planPrice;
14544
14610
  }
14545
14611
  const addOnCost = addOns.reduce(
14546
14612
  (sum, addOn) => sum + (addOn.isSelected ? (planPeriod === "month" ? addOn.monthlyPrice : addOn.yearlyPrice)?.price ?? 0 : 0),
@@ -14571,7 +14637,7 @@ var Sidebar = ({
14571
14637
  }
14572
14638
  try {
14573
14639
  setError(void 0);
14574
- toggleLoading();
14640
+ setIsLoading(true);
14575
14641
  await api.checkout({
14576
14642
  changeSubscriptionRequestBody: {
14577
14643
  newPlanId: selectedPlan.id,
@@ -14605,24 +14671,28 @@ var Sidebar = ({
14605
14671
  ...promoCode && { promoCode }
14606
14672
  }
14607
14673
  });
14608
- setLayout("success");
14674
+ setIsLoading(false);
14675
+ setLayout("portal");
14676
+ hydrate();
14609
14677
  } catch {
14678
+ setLayout("checkout");
14610
14679
  setError(
14611
14680
  t2("Error processing payment. Please try a different payment method.")
14612
14681
  );
14613
14682
  } finally {
14614
- toggleLoading();
14683
+ setIsLoading(false);
14615
14684
  }
14616
14685
  }, [
14617
14686
  t2,
14618
14687
  api,
14688
+ hydrate,
14619
14689
  paymentMethodId,
14620
14690
  planPeriod,
14621
14691
  selectedPlan,
14622
14692
  addOns,
14623
14693
  setError,
14694
+ setIsLoading,
14624
14695
  setLayout,
14625
- toggleLoading,
14626
14696
  payInAdvanceEntitlements,
14627
14697
  promoCode
14628
14698
  ]);
@@ -14632,15 +14702,17 @@ var Sidebar = ({
14632
14702
  }
14633
14703
  try {
14634
14704
  setError(void 0);
14635
- toggleLoading();
14705
+ setIsLoading(true);
14636
14706
  await api.checkoutUnsubscribe();
14637
- setError("success");
14707
+ setLayout("portal");
14708
+ hydrate();
14638
14709
  } catch {
14710
+ setLayout("unsubscribe");
14639
14711
  setError(t2("Unsubscribe failed"));
14640
14712
  } finally {
14641
- toggleLoading();
14713
+ setIsLoading(false);
14642
14714
  }
14643
- }, [api, setError, t2, toggleLoading]);
14715
+ }, [t2, api, hydrate, setError, setIsLoading, setLayout]);
14644
14716
  const selectedAddOns = addOns.filter((addOn) => addOn.isSelected);
14645
14717
  const willPlanChange = typeof selectedPlan !== "undefined" && !selectedPlan.current;
14646
14718
  const canUpdateSubscription = mode === "edit" || api !== null && (willPlanChange || // TODO: test add-on comparison for finding "changes"
@@ -14677,12 +14749,12 @@ var Sidebar = ({
14677
14749
  (acc, current) => {
14678
14750
  const match2 = usageBasedEntitlements.every(
14679
14751
  ({ entitlement }) => entitlement.featureId !== current.usageData.featureId
14680
- ) && currentPlan?.entitlements.find(
14681
- (entitlement) => entitlement.featureId === current.usageData.featureId
14752
+ ) && data.featureUsage?.features.find(
14753
+ (usage) => usage.feature?.id === current.usageData.featureId
14682
14754
  );
14683
14755
  if (match2) {
14684
14756
  acc.push({
14685
- entitlement: match2,
14757
+ usage: match2,
14686
14758
  allocation: current.allocation,
14687
14759
  quantity: current.quantity
14688
14760
  });
@@ -14892,9 +14964,9 @@ var Sidebar = ({
14892
14964
  }
14893
14965
  ) }),
14894
14966
  removedUsageBasedEntitlements.reduce(
14895
- (acc, { allocation, quantity, entitlement }) => {
14896
- if (typeof allocation === "number" && entitlement.feature?.name) {
14897
- const price = (planPeriod === "month" ? entitlement.meteredMonthlyPrice : entitlement.meteredYearlyPrice)?.price;
14967
+ (acc, { allocation, quantity, usage }) => {
14968
+ if (typeof allocation === "number" && usage.feature?.name) {
14969
+ const price = (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.price;
14898
14970
  acc.push(
14899
14971
  /* @__PURE__ */ jsxs8(
14900
14972
  Flex,
@@ -14913,11 +14985,11 @@ var Sidebar = ({
14913
14985
  $size: theme.typography.heading4.fontSize,
14914
14986
  $weight: theme.typography.heading4.fontWeight,
14915
14987
  $color: theme.typography.heading4.color,
14916
- children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ jsxs8(Fragment4, { children: [
14988
+ children: usage.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ jsxs8(Fragment4, { children: [
14917
14989
  quantity,
14918
14990
  " ",
14919
- (0, import_pluralize.default)(entitlement.feature.name, quantity)
14920
- ] }) : entitlement.feature.name
14991
+ (0, import_pluralize.default)(usage.feature.name, quantity)
14992
+ ] }) : usage.feature.name
14921
14993
  }
14922
14994
  ) }),
14923
14995
  /* @__PURE__ */ jsx12(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ jsxs8(
@@ -14928,25 +15000,25 @@ var Sidebar = ({
14928
15000
  $weight: theme.typography.text.fontWeight,
14929
15001
  $color: theme.typography.text.color,
14930
15002
  children: [
14931
- entitlement.priceBehavior === "pay_in_advance" && typeof price === "number" && /* @__PURE__ */ jsxs8(Fragment4, { children: [
15003
+ usage.priceBehavior === "pay_in_advance" && typeof price === "number" && /* @__PURE__ */ jsxs8(Fragment4, { children: [
14932
15004
  formatCurrency(
14933
15005
  price * quantity,
14934
- (planPeriod === "month" ? entitlement.meteredMonthlyPrice : entitlement.meteredYearlyPrice)?.currency
15006
+ (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
14935
15007
  ),
14936
15008
  /* @__PURE__ */ jsxs8("sub", { children: [
14937
15009
  "/",
14938
15010
  shortenPeriod(planPeriod)
14939
15011
  ] })
14940
15012
  ] }),
14941
- entitlement.priceBehavior === "pay_as_you_go" && typeof price === "number" && /* @__PURE__ */ jsxs8(Fragment4, { children: [
15013
+ usage.priceBehavior === "pay_as_you_go" && typeof price === "number" && /* @__PURE__ */ jsxs8(Fragment4, { children: [
14942
15014
  formatCurrency(
14943
15015
  price,
14944
- (planPeriod === "month" ? entitlement.meteredMonthlyPrice : entitlement.meteredYearlyPrice)?.currency
15016
+ (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
14945
15017
  ),
14946
15018
  /* @__PURE__ */ jsxs8("sub", { children: [
14947
15019
  "/",
14948
15020
  (0, import_pluralize.default)(
14949
- entitlement.feature.name.toLowerCase(),
15021
+ usage.feature.name.toLowerCase(),
14950
15022
  1
14951
15023
  )
14952
15024
  ] })
@@ -14956,7 +15028,7 @@ var Sidebar = ({
14956
15028
  ) })
14957
15029
  ]
14958
15030
  },
14959
- entitlement.id
15031
+ usage.entitlementId
14960
15032
  )
14961
15033
  );
14962
15034
  }
@@ -15291,7 +15363,7 @@ var Sidebar = ({
15291
15363
  children: proration > 0 ? t2("Proration") : !selectedPlan?.companyCanTrial && t2("Credits")
15292
15364
  }
15293
15365
  ) }),
15294
- /* @__PURE__ */ jsx12(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan?.current && /* @__PURE__ */ jsxs8(
15366
+ /* @__PURE__ */ jsx12(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan && /* @__PURE__ */ jsxs8(
15295
15367
  Flex,
15296
15368
  {
15297
15369
  $justifyContent: "space-between",
@@ -15379,7 +15451,7 @@ var Sidebar = ({
15379
15451
  {
15380
15452
  $cursor: "pointer",
15381
15453
  onClick: () => {
15382
- updatePromoCode(void 0);
15454
+ updatePromoCode?.(void 0);
15383
15455
  },
15384
15456
  children: /* @__PURE__ */ jsx12(
15385
15457
  Icon2,
@@ -15592,16 +15664,7 @@ var Sidebar = ({
15592
15664
  trialPaymentMethodRequired: data.trialPaymentMethodRequired === true
15593
15665
  }
15594
15666
  ),
15595
- layout === "unsubscribe" && /* @__PURE__ */ jsx12(
15596
- EmbedButton,
15597
- {
15598
- onClick: async () => {
15599
- unsubscribe();
15600
- },
15601
- isLoading,
15602
- children: t2("Cancel subscription")
15603
- }
15604
- ),
15667
+ layout === "unsubscribe" && /* @__PURE__ */ jsx12(EmbedButton, { onClick: unsubscribe, isLoading, children: t2("Cancel subscription") }),
15605
15668
  !isLoading && error && /* @__PURE__ */ jsx12(Box, { children: /* @__PURE__ */ jsx12(
15606
15669
  Text,
15607
15670
  {
@@ -15798,15 +15861,7 @@ var Plan = ({
15798
15861
  $padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
15799
15862
  children: [
15800
15863
  /* @__PURE__ */ jsxs9(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
15801
- plan.entitlements.slice().sort((a2, b2) => {
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) => {
15864
+ plan.entitlements.reduce((acc, entitlement) => {
15810
15865
  const hasNumericValue = entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait";
15811
15866
  let metricPeriodText;
15812
15867
  if (hasNumericValue && entitlement.metricPeriod) {
@@ -15952,7 +16007,8 @@ var Plan = ({
15952
16007
  ) : /* @__PURE__ */ jsx13(
15953
16008
  EmbedButton,
15954
16009
  {
15955
- disabled: isLoading || !plan.valid,
16010
+ type: "button",
16011
+ disabled: (isLoading || !plan.valid) && !plan.custom,
15956
16012
  ...{
15957
16013
  onClick: () => {
15958
16014
  if (plan.custom) {
@@ -16089,6 +16145,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
16089
16145
  /* @__PURE__ */ jsx14(Flex, { $flexDirection: "column", $justifyContent: "end", $flexGrow: "1", children: !addOn.isSelected ? /* @__PURE__ */ jsx14(
16090
16146
  EmbedButton,
16091
16147
  {
16148
+ type: "button",
16092
16149
  disabled: isLoading || !addOn.valid,
16093
16150
  onClick: () => toggle(addOn.id),
16094
16151
  $size: "sm",
@@ -16099,6 +16156,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
16099
16156
  ) : /* @__PURE__ */ jsx14(
16100
16157
  EmbedButton,
16101
16158
  {
16159
+ type: "button",
16102
16160
  disabled: isLoading || !addOn.valid,
16103
16161
  onClick: () => toggle(addOn.id),
16104
16162
  $size: "sm",
@@ -16137,15 +16195,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
16137
16195
  const cardPadding = theme.card.padding / TEXT_BASE_SIZE;
16138
16196
  const unitPriceFontSize = 0.875 * theme.typography.text.fontSize;
16139
16197
  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.slice().sort((a2, b2) => {
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(
16198
+ return /* @__PURE__ */ jsx15(Fragment7, { children: /* @__PURE__ */ jsx15(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.reduce(
16149
16199
  (acc, { entitlement, quantity, usage }) => {
16150
16200
  if (entitlement.priceBehavior === "pay_in_advance" && entitlement.feature) {
16151
16201
  acc.push(
@@ -16278,10 +16328,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
16278
16328
  ),
16279
16329
  /* @__PURE__ */ jsxs11("sub", { children: [
16280
16330
  "/",
16281
- (0, import_pluralize3.default)(
16282
- entitlement.feature.name.toLowerCase(),
16283
- 1
16284
- ),
16331
+ (0, import_pluralize3.default)(entitlement.feature.name.toLowerCase(), 1),
16285
16332
  "/",
16286
16333
  shortenPeriod(period)
16287
16334
  ] })
@@ -16307,6 +16354,10 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
16307
16354
  import { useEffect as useEffect4, useState as useState6 } from "react";
16308
16355
 
16309
16356
  // node_modules/@stripe/stripe-js/dist/index.mjs
16357
+ var RELEASE_TRAIN = "v3";
16358
+ var runtimeVersionToUrlVersion = function runtimeVersionToUrlVersion2(version) {
16359
+ return version === 3 ? "v3" : version;
16360
+ };
16310
16361
  var ORIGIN = "https://js.stripe.com";
16311
16362
  var STRIPE_JS_URL = "".concat(ORIGIN, "/v3");
16312
16363
  var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
@@ -16343,7 +16394,7 @@ var registerWrapper = function registerWrapper2(stripe, startTime) {
16343
16394
  }
16344
16395
  stripe._registerWrapper({
16345
16396
  name: "stripe-js",
16346
- version: "5.7.0",
16397
+ version: "5.10.0",
16347
16398
  startTime
16348
16399
  });
16349
16400
  };
@@ -16351,8 +16402,10 @@ var stripePromise$1 = null;
16351
16402
  var onErrorListener = null;
16352
16403
  var onLoadListener = null;
16353
16404
  var onError = function onError2(reject) {
16354
- return function() {
16355
- reject(new Error("Failed to load Stripe.js"));
16405
+ return function(cause) {
16406
+ reject(new Error("Failed to load Stripe.js", {
16407
+ cause
16408
+ }));
16356
16409
  };
16357
16410
  };
16358
16411
  var onLoad = function onLoad2(resolve, reject) {
@@ -16411,6 +16464,13 @@ var initStripe = function initStripe2(maybeStripe, args, startTime) {
16411
16464
  if (maybeStripe === null) {
16412
16465
  return null;
16413
16466
  }
16467
+ var pk = args[0];
16468
+ var isTestKey = pk.match(/^pk_test/);
16469
+ var version = runtimeVersionToUrlVersion(maybeStripe.version);
16470
+ var expectedVersion = RELEASE_TRAIN;
16471
+ if (isTestKey && version !== expectedVersion) {
16472
+ console.warn("Stripe.js@".concat(version, " was loaded on the page, but @stripe/stripe-js@").concat("5.10.0", " expected Stripe.js@").concat(expectedVersion, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning"));
16473
+ }
16414
16474
  var stripe = maybeStripe.apply(void 0, args);
16415
16475
  registerWrapper(stripe, startTime);
16416
16476
  return stripe;
@@ -16646,30 +16706,14 @@ var CheckoutDialog = ({ top = 0 }) => {
16646
16706
  (plan) => selected.planId ? plan.id === selected.planId : plan.current
16647
16707
  )
16648
16708
  );
16649
- const currentAddOns = data.company?.addOns || [];
16650
16709
  const [addOns, setAddOns] = useState7(
16651
16710
  () => availableAddOns.map((addOn) => ({
16652
16711
  ...addOn,
16653
- isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId : currentAddOns.some((currentAddOn) => addOn.id === currentAddOn.id)
16712
+ isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId : (data.company?.addOns || []).some(
16713
+ (currentAddOn) => addOn.id === currentAddOn.id
16714
+ )
16654
16715
  }))
16655
16716
  );
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
16717
  const createActiveUsageBasedEntitlementsReducer = useCallback7(
16674
16718
  (period = planPeriod) => (acc, entitlement) => {
16675
16719
  if (entitlement.priceBehavior && (period === "month" && entitlement.meteredMonthlyPrice || period === "year" && entitlement.meteredYearlyPrice)) {
@@ -16695,12 +16739,6 @@ var CheckoutDialog = ({ top = 0 }) => {
16695
16739
  []
16696
16740
  )
16697
16741
  );
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
16742
  const payInAdvanceEntitlements = useMemo5(
16705
16743
  () => usageBasedEntitlements.filter(
16706
16744
  ({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
@@ -16757,7 +16795,7 @@ var CheckoutDialog = ({ top = 0 }) => {
16757
16795
  if (selected.usage) {
16758
16796
  return "usage";
16759
16797
  }
16760
- if (selected.planId !== currentPlan?.id) {
16798
+ if (selected.planId !== data.company?.plan?.id) {
16761
16799
  return checkoutStages.some((stage) => stage.id === "usage") ? "usage" : checkoutStages.some((stage) => stage.id === "addons") ? "addons" : "plan";
16762
16800
  }
16763
16801
  return "plan";
@@ -17102,27 +17140,24 @@ var CheckoutDialog = ({ top = 0 }) => {
17102
17140
  /* @__PURE__ */ jsx17(
17103
17141
  Sidebar,
17104
17142
  {
17143
+ planPeriod,
17144
+ selectedPlan,
17105
17145
  addOns,
17146
+ usageBasedEntitlements,
17106
17147
  charges,
17107
17148
  checkoutRef,
17108
17149
  checkoutStage,
17109
17150
  checkoutStages,
17110
- currentAddOns,
17111
- currentUsageBasedEntitlements,
17112
17151
  error,
17113
- currentPlan,
17114
17152
  isLoading,
17115
17153
  paymentMethodId,
17116
- planPeriod,
17117
17154
  promoCode,
17118
17155
  requiresPayment,
17119
- selectedPlan,
17120
17156
  setCheckoutStage: (stage) => setCheckoutStage(stage),
17121
17157
  setError: (msg) => setError(msg),
17158
+ setIsLoading,
17122
17159
  showPaymentForm,
17123
- toggleLoading: () => setIsLoading((prev2) => !prev2),
17124
- updatePromoCode: (code) => updatePromoCode(code),
17125
- usageBasedEntitlements
17160
+ updatePromoCode: (code) => updatePromoCode(code)
17126
17161
  }
17127
17162
  )
17128
17163
  ]
@@ -17327,65 +17362,45 @@ import { jsx as jsx20, jsxs as jsxs15 } from "react/jsx-runtime";
17327
17362
  var UnsubscribeDialog = () => {
17328
17363
  const { t: t2 } = useTranslation();
17329
17364
  const theme = nt();
17330
- const { data, setSelected } = useEmbed();
17365
+ const { data, setLayout, setSelected } = useEmbed();
17331
17366
  const [error, setError] = useState10();
17332
17367
  const [isLoading, setIsLoading] = useState10(false);
17333
17368
  const planPeriod = useMemo7(
17334
17369
  () => data.company?.plan?.planPeriod ?? "month",
17335
17370
  [data.company?.plan?.planPeriod]
17336
17371
  );
17337
- const { setLayout } = useEmbed();
17338
- const currentPlan = useMemo7(
17339
- () => ({
17340
- ...data.company?.plan,
17341
- monthlyPrice: { price: data.company?.plan?.planPrice },
17342
- yearlyPrice: { price: data.company?.plan?.planPrice }
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]
17372
+ const { plans: availablePlans, addOns: availableAddOns } = useAvailablePlans(planPeriod);
17373
+ const selectedPlan = useMemo7(
17374
+ () => availablePlans.find(
17375
+ (plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
17376
+ ),
17377
+ [data.company?.plan, planPeriod, availablePlans]
17362
17378
  );
17363
- const currentUsageBasedEntitlements = useMemo7(
17364
- () => data.activeUsageBasedEntitlements.reduce(
17365
- (acc, usageData) => {
17379
+ const usageBasedEntitlements = (selectedPlan?.entitlements || []).reduce(
17380
+ (acc, entitlement) => {
17381
+ if (entitlement.priceBehavior && (planPeriod === "month" && entitlement.meteredMonthlyPrice || planPeriod === "year" && entitlement.meteredYearlyPrice)) {
17366
17382
  const featureUsage = data.featureUsage?.features.find(
17367
- (usage2) => usage2.feature?.id === usageData.featureId
17383
+ (usage2) => usage2.feature?.id === entitlement.feature?.id
17368
17384
  );
17369
17385
  const allocation = featureUsage?.allocation ?? 0;
17370
17386
  const usage = featureUsage?.usage ?? 0;
17371
17387
  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,
17388
+ entitlement,
17380
17389
  allocation,
17381
- quantity: allocation ?? usage,
17390
+ quantity: allocation,
17382
17391
  usage
17383
17392
  });
17384
- return acc;
17385
- },
17386
- []
17387
- ),
17388
- [data.activeUsageBasedEntitlements, data.featureUsage?.features]
17393
+ }
17394
+ return acc;
17395
+ },
17396
+ []
17397
+ );
17398
+ const addOns = useMemo7(
17399
+ () => availableAddOns.map((available) => ({
17400
+ ...available,
17401
+ isSelected: data.company?.addOns.some((current) => available.id === current.id) ?? false
17402
+ })),
17403
+ [data.company?.addOns, availableAddOns]
17389
17404
  );
17390
17405
  const cancelDate = new Date(
17391
17406
  data.subscription?.cancelAt || data.upcomingInvoice?.dueDate || Date.now()
@@ -17488,7 +17503,7 @@ var UnsubscribeDialog = () => {
17488
17503
  {
17489
17504
  onClick: () => {
17490
17505
  setSelected({
17491
- planId: currentPlan?.id,
17506
+ planId: data.company?.plan?.id,
17492
17507
  addOnId: void 0,
17493
17508
  usage: false
17494
17509
  });
@@ -17508,25 +17523,16 @@ var UnsubscribeDialog = () => {
17508
17523
  /* @__PURE__ */ jsx20(
17509
17524
  Sidebar,
17510
17525
  {
17526
+ planPeriod,
17511
17527
  addOns,
17512
- checkoutStage: "checkout",
17513
- checkoutStages: [],
17514
- currentAddOns,
17515
- currentUsageBasedEntitlements,
17528
+ usageBasedEntitlements,
17516
17529
  error,
17517
- currentPlan,
17518
17530
  isLoading,
17519
- planPeriod,
17531
+ showHeader: false,
17532
+ showPaymentForm: false,
17520
17533
  requiresPayment: false,
17521
- setCheckoutStage: () => {
17522
- },
17523
17534
  setError: (msg) => setError(msg),
17524
- showPaymentForm: false,
17525
- toggleLoading: () => setIsLoading((prev2) => !prev2),
17526
- updatePromoCode: () => {
17527
- },
17528
- usageBasedEntitlements: currentUsageBasedEntitlements,
17529
- showHeader: false
17535
+ setIsLoading
17530
17536
  }
17531
17537
  )
17532
17538
  ]
@@ -17642,7 +17648,6 @@ var Badge = () => {
17642
17648
  };
17643
17649
 
17644
17650
  // src/components/layout/RenderLayout.tsx
17645
- import { useEffect as useEffect6, useState as useState11 } from "react";
17646
17651
  import { jsx as jsx22, jsxs as jsxs17 } from "react/jsx-runtime";
17647
17652
  var Disabled = () => {
17648
17653
  const theme = nt();
@@ -17681,71 +17686,11 @@ var Disabled = () => {
17681
17686
  }
17682
17687
  ) }) });
17683
17688
  };
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
17689
  var RenderLayout = ({ children }) => {
17743
17690
  const { layout } = useEmbed();
17744
17691
  switch (layout) {
17745
17692
  case "disabled":
17746
17693
  return /* @__PURE__ */ jsx22(Disabled, {});
17747
- case "success":
17748
- return /* @__PURE__ */ jsx22(Success, {});
17749
17694
  default:
17750
17695
  return children;
17751
17696
  }
@@ -17774,7 +17719,7 @@ import { Fragment as Fragment9, jsx as jsx23, jsxs as jsxs18 } from "react/jsx-r
17774
17719
  var Viewport = forwardRef4(
17775
17720
  ({ children, portal, ...props }, ref) => {
17776
17721
  const { data, layout } = useEmbed();
17777
- const [top, setTop] = useState12(0);
17722
+ const [top, setTop] = useState11(0);
17778
17723
  const canCheckout = data.capabilities?.checkout ?? true;
17779
17724
  useLayoutEffect5(() => {
17780
17725
  if (layout !== "checkout" && layout !== "unsubscribe") {
@@ -17803,7 +17748,7 @@ var Viewport = forwardRef4(
17803
17748
  Viewport.displayName = "Viewport";
17804
17749
 
17805
17750
  // src/components/layout/column/Column.tsx
17806
- import { forwardRef as forwardRef6 } from "react";
17751
+ import { Children as Children2, forwardRef as forwardRef6 } from "react";
17807
17752
 
17808
17753
  // src/components/layout/card/Card.tsx
17809
17754
  import { forwardRef as forwardRef5 } from "react";
@@ -17817,8 +17762,9 @@ var StyledCard = dt.div(({ theme }) => {
17817
17762
  const borderColor = l2 > 50 ? "hsla(0, 0%, 0%, 0.1)" : "hsla(0, 0%, 100%, 0.2)";
17818
17763
  const borderRadius = `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`;
17819
17764
  return lt`
17820
- font-size: ${TEXT_BASE_SIZE}px;
17765
+ position: relative;
17821
17766
  box-sizing: border-box;
17767
+ font-size: ${TEXT_BASE_SIZE}px;
17822
17768
 
17823
17769
  *,
17824
17770
  *::before,
@@ -17849,10 +17795,31 @@ var StyledCard = dt.div(({ theme }) => {
17849
17795
  });
17850
17796
 
17851
17797
  // src/components/layout/card/Card.tsx
17852
- import { jsx as jsx24 } from "react/jsx-runtime";
17798
+ import { jsx as jsx24, jsxs as jsxs19 } from "react/jsx-runtime";
17853
17799
  var Card = forwardRef5(
17854
17800
  ({ children, className }, ref) => {
17855
- return /* @__PURE__ */ jsx24(StyledCard, { ref, className, children });
17801
+ const { isPending } = useEmbed();
17802
+ const theme = nt();
17803
+ return /* @__PURE__ */ jsxs19(StyledCard, { ref, className, children: [
17804
+ isPending && /* @__PURE__ */ jsx24(
17805
+ Flex,
17806
+ {
17807
+ $position: "absolute",
17808
+ $top: 0,
17809
+ $left: 0,
17810
+ $zIndex: 1,
17811
+ $width: "100%",
17812
+ $height: "100%",
17813
+ $justifyContent: "center",
17814
+ $alignItems: "center",
17815
+ $backgroundColor: hsla(theme.card.background, 0.8),
17816
+ $backdropFilter: "blur(8px)",
17817
+ $borderRadius: `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`,
17818
+ children: /* @__PURE__ */ jsx24(Loader, { $color: theme.primary })
17819
+ }
17820
+ ),
17821
+ children
17822
+ ] });
17856
17823
  }
17857
17824
  );
17858
17825
  Card.displayName = "Card";
@@ -17866,7 +17833,7 @@ var StyledColumn = dt.div`
17866
17833
  import { jsx as jsx25 } from "react/jsx-runtime";
17867
17834
  var Column = forwardRef6(
17868
17835
  ({ children, basis, ...props }, ref) => {
17869
- return /* @__PURE__ */ jsx25(StyledColumn, { ref, ...props, children: /* @__PURE__ */ jsx25(Card, { children }) });
17836
+ return /* @__PURE__ */ jsx25(StyledColumn, { ref, ...props, children: Children2.count(children) > 0 ? /* @__PURE__ */ jsx25(Card, { children }) : children });
17870
17837
  }
17871
17838
  );
17872
17839
  Column.displayName = "Column";
@@ -17874,7 +17841,7 @@ Column.displayName = "Column";
17874
17841
  // src/components/elements/included-features/Details.tsx
17875
17842
  import { useMemo as useMemo8 } from "react";
17876
17843
  var import_pluralize4 = __toESM(require_pluralize());
17877
- import { jsx as jsx26, jsxs as jsxs19 } from "react/jsx-runtime";
17844
+ import { jsx as jsx26, jsxs as jsxs20 } from "react/jsx-runtime";
17878
17845
  var Details = ({
17879
17846
  details,
17880
17847
  shouldWrapChildren,
@@ -17932,7 +17899,7 @@ var Details = ({
17932
17899
  if (!priceBehavior) {
17933
17900
  return t2("Unlimited", { item: (0, import_pluralize4.default)(feature.name) });
17934
17901
  }
17935
- }, [allocation, feature?.name, price, priceBehavior, t2, currency]);
17902
+ }, [t2, allocation, feature?.name, price, priceBehavior, currency]);
17936
17903
  const usageText = useMemo8(() => {
17937
17904
  if (!feature?.name) {
17938
17905
  return;
@@ -17962,12 +17929,12 @@ var Details = ({
17962
17929
  });
17963
17930
  }
17964
17931
  }, [
17932
+ t2,
17965
17933
  allocation,
17966
17934
  data.company?.plan?.planPeriod,
17967
17935
  feature?.name,
17968
17936
  price,
17969
17937
  priceBehavior,
17970
- t2,
17971
17938
  usage,
17972
17939
  usageData,
17973
17940
  currency
@@ -17975,7 +17942,7 @@ var Details = ({
17975
17942
  if (!text) {
17976
17943
  return null;
17977
17944
  }
17978
- return /* @__PURE__ */ jsxs19(
17945
+ return /* @__PURE__ */ jsxs20(
17979
17946
  Box,
17980
17947
  {
17981
17948
  $flexBasis: "min-content",
@@ -18010,7 +17977,7 @@ var Details = ({
18010
17977
  };
18011
17978
 
18012
17979
  // src/components/elements/included-features/IncludedFeatures.tsx
18013
- import { jsx as jsx27, jsxs as jsxs20 } from "react/jsx-runtime";
17980
+ import { jsx as jsx27, jsxs as jsxs21 } from "react/jsx-runtime";
18014
17981
  function resolveDesignProps(props) {
18015
17982
  return {
18016
17983
  header: {
@@ -18047,34 +18014,16 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
18047
18014
  const elements = useRef6([]);
18048
18015
  const shouldWrapChildren = useWrapChildren(elements.current);
18049
18016
  const isLightBackground = useIsLightBackground();
18050
- const [showCount, setShowCount] = useState13(VISIBLE_ENTITLEMENT_COUNT);
18051
- const entitlements = (props.visibleFeatures ? props.visibleFeatures : data.featureUsage?.features.sort((a2, b2) => {
18052
- if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
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
- );
18017
+ const [showCount, setShowCount] = useState12(VISIBLE_ENTITLEMENT_COUNT);
18018
+ const entitlements = (data.featureUsage?.features || []).reduce(
18019
+ (acc, usage) => {
18069
18020
  const mappedUsageData = data.activeUsageBasedEntitlements.find(
18070
- (entitlement) => entitlement.featureId === id
18021
+ (entitlement) => entitlement.featureId === usage.feature?.id
18071
18022
  );
18072
- if (mappedFeatureUsage) {
18073
- acc.push({
18074
- featureUsage: mappedFeatureUsage,
18075
- usageData: mappedUsageData
18076
- });
18077
- }
18023
+ acc.push({
18024
+ featureUsage: usage,
18025
+ usageData: mappedUsageData
18026
+ });
18078
18027
  return acc;
18079
18028
  },
18080
18029
  []
@@ -18091,7 +18040,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
18091
18040
  }
18092
18041
  const shouldShowExpand = featureListSize > VISIBLE_ENTITLEMENT_COUNT;
18093
18042
  const isExpanded = showCount > VISIBLE_ENTITLEMENT_COUNT;
18094
- return /* @__PURE__ */ jsxs20(
18043
+ return /* @__PURE__ */ jsxs21(
18095
18044
  Element,
18096
18045
  {
18097
18046
  as: Flex,
@@ -18113,7 +18062,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
18113
18062
  entitlements.slice(0, showCount).map((entitlement, index) => {
18114
18063
  const { entitlementExpirationDate, feature } = entitlement.featureUsage || {};
18115
18064
  const shouldShowDetails = feature?.name && (feature?.featureType === "event" || feature?.featureType === "trait");
18116
- return /* @__PURE__ */ jsxs20(
18065
+ return /* @__PURE__ */ jsxs21(
18117
18066
  Flex,
18118
18067
  {
18119
18068
  ref: (el) => {
@@ -18126,7 +18075,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
18126
18075
  $alignItems: "center",
18127
18076
  $gap: "1rem",
18128
18077
  children: [
18129
- /* @__PURE__ */ jsxs20(
18078
+ /* @__PURE__ */ jsxs21(
18130
18079
  Flex,
18131
18080
  {
18132
18081
  $alignItems: "center",
@@ -18155,7 +18104,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
18155
18104
  children: feature.name
18156
18105
  }
18157
18106
  ),
18158
- props.entitlementExpiration.isVisible && entitlementExpirationDate && /* @__PURE__ */ jsxs20(
18107
+ props.entitlementExpiration.isVisible && entitlementExpirationDate && /* @__PURE__ */ jsxs21(
18159
18108
  Text,
18160
18109
  {
18161
18110
  $font: theme.typography[props.entitlementExpiration.fontStyle].fontFamily,
@@ -18188,7 +18137,7 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
18188
18137
  index
18189
18138
  );
18190
18139
  }),
18191
- shouldShowExpand && /* @__PURE__ */ jsxs20(Flex, { $alignItems: "center", $justifyContent: "start", $marginTop: "1rem", children: [
18140
+ shouldShowExpand && /* @__PURE__ */ jsxs21(Flex, { $alignItems: "center", $justifyContent: "start", $marginTop: "1rem", children: [
18192
18141
  /* @__PURE__ */ jsx27(
18193
18142
  Icon2,
18194
18143
  {
@@ -18222,8 +18171,8 @@ var IncludedFeatures = forwardRef7(({ className, ...rest }, ref) => {
18222
18171
  IncludedFeatures.displayName = "IncludedFeatures";
18223
18172
 
18224
18173
  // src/components/elements/invoices/Invoices.tsx
18225
- import { forwardRef as forwardRef8, useEffect as useEffect7, useState as useState14 } from "react";
18226
- import { jsx as jsx28, jsxs as jsxs21 } from "react/jsx-runtime";
18174
+ import { forwardRef as forwardRef8, useEffect as useEffect6, useState as useState13 } from "react";
18175
+ import { jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
18227
18176
  function resolveDesignProps2(props) {
18228
18177
  return {
18229
18178
  header: {
@@ -18281,14 +18230,14 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
18281
18230
  const { t: t2 } = useTranslation();
18282
18231
  const theme = nt();
18283
18232
  const { api } = useEmbed();
18284
- const [invoices, setInvoices] = useState14(() => formatInvoices(data));
18285
- const [listSize, setListSize] = useState14(props.limit.number);
18233
+ const [invoices, setInvoices] = useState13(() => formatInvoices(data));
18234
+ const [listSize, setListSize] = useState13(props.limit.number);
18286
18235
  const toggleListSize = () => {
18287
18236
  setListSize(
18288
18237
  (prev2) => prev2 !== props.limit.number ? props.limit.number : MAX_VISIBLE_INVOICE_COUNT
18289
18238
  );
18290
18239
  };
18291
- useEffect7(() => {
18240
+ useEffect6(() => {
18292
18241
  api?.listInvoices().then(({ data: data2 }) => {
18293
18242
  setInvoices(formatInvoices(data2));
18294
18243
  });
@@ -18296,7 +18245,7 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
18296
18245
  if (invoices.length === 0) {
18297
18246
  return null;
18298
18247
  }
18299
- return /* @__PURE__ */ jsx28(Element, { ref, className, children: /* @__PURE__ */ jsxs21(Flex, { $flexDirection: "column", $gap: "1rem", children: [
18248
+ return /* @__PURE__ */ jsx28(Element, { ref, className, children: /* @__PURE__ */ jsxs22(Flex, { $flexDirection: "column", $gap: "1rem", children: [
18300
18249
  props.header.isVisible && /* @__PURE__ */ jsx28(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ jsx28(
18301
18250
  Text,
18302
18251
  {
@@ -18308,7 +18257,7 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
18308
18257
  }
18309
18258
  ) }),
18310
18259
  /* @__PURE__ */ jsx28(Flex, { $flexDirection: "column", $gap: "0.5rem", children: invoices.slice(0, listSize).map(({ date, amount, url }, index) => {
18311
- return /* @__PURE__ */ jsxs21(Flex, { $justifyContent: "space-between", children: [
18260
+ return /* @__PURE__ */ jsxs22(Flex, { $justifyContent: "space-between", children: [
18312
18261
  props.date.isVisible && date && /* @__PURE__ */ jsx28(
18313
18262
  InvoiceDate,
18314
18263
  {
@@ -18329,7 +18278,7 @@ var Invoices = forwardRef8(({ className, data, ...rest }, ref) => {
18329
18278
  )
18330
18279
  ] }, index);
18331
18280
  }) }),
18332
- props.collapse.isVisible && invoices.length > props.limit.number && /* @__PURE__ */ jsxs21(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
18281
+ props.collapse.isVisible && invoices.length > props.limit.number && /* @__PURE__ */ jsxs22(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
18333
18282
  /* @__PURE__ */ jsx28(
18334
18283
  Icon2,
18335
18284
  {
@@ -18375,7 +18324,7 @@ var Container4 = dt(Flex)`
18375
18324
  `;
18376
18325
 
18377
18326
  // src/components/elements/metered-features/MeteredFeatures.tsx
18378
- import { Fragment as Fragment10, jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
18327
+ import { Fragment as Fragment10, jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
18379
18328
  function resolveDesignProps3(props) {
18380
18329
  return {
18381
18330
  isVisible: props.isVisible ?? true,
@@ -18444,7 +18393,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
18444
18393
  price = yearlyUsageBasedPrice?.price;
18445
18394
  currency = yearlyUsageBasedPrice?.currency;
18446
18395
  }
18447
- return /* @__PURE__ */ jsxs22(Element, { as: Flex, $gap: "1.5rem", children: [
18396
+ return /* @__PURE__ */ jsxs23(Element, { as: Flex, $gap: "1.5rem", children: [
18448
18397
  props.icon.isVisible && feature?.icon && /* @__PURE__ */ jsx29(
18449
18398
  IconRound,
18450
18399
  {
@@ -18456,8 +18405,8 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
18456
18405
  ]
18457
18406
  }
18458
18407
  ),
18459
- /* @__PURE__ */ jsxs22(Flex, { $flexDirection: "column", $gap: "2rem", $flexGrow: "1", children: [
18460
- /* @__PURE__ */ jsxs22(
18408
+ /* @__PURE__ */ jsxs23(Flex, { $flexDirection: "column", $gap: "2rem", $flexGrow: "1", children: [
18409
+ /* @__PURE__ */ jsxs23(
18461
18410
  Flex,
18462
18411
  {
18463
18412
  ref: (el) => {
@@ -18468,7 +18417,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
18468
18417
  $flexWrap: "wrap",
18469
18418
  $gap: "1rem",
18470
18419
  children: [
18471
- feature?.name && /* @__PURE__ */ jsxs22(Flex, { $flexDirection: "column", $gap: "0.5rem", $flexGrow: "1", children: [
18420
+ feature?.name && /* @__PURE__ */ jsxs23(Flex, { $flexDirection: "column", $gap: "0.5rem", $flexGrow: "1", children: [
18472
18421
  /* @__PURE__ */ jsx29(
18473
18422
  Text,
18474
18423
  {
@@ -18477,7 +18426,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
18477
18426
  $size: theme.typography[props.header.fontStyle].fontSize,
18478
18427
  $weight: theme.typography[props.header.fontStyle].fontWeight,
18479
18428
  $color: theme.typography[props.header.fontStyle].color,
18480
- children: priceBehavior === "pay_as_you_go" ? typeof usage === "number" && /* @__PURE__ */ jsxs22(Fragment10, { children: [
18429
+ children: priceBehavior === "pay_as_you_go" ? typeof usage === "number" && /* @__PURE__ */ jsxs23(Fragment10, { children: [
18481
18430
  formatNumber(usage),
18482
18431
  " ",
18483
18432
  (0, import_pluralize5.default)(feature.name, usage)
@@ -18496,7 +18445,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
18496
18445
  }
18497
18446
  )
18498
18447
  ] }),
18499
- (feature?.featureType === "event" || feature?.featureType === "trait") && feature?.name && /* @__PURE__ */ jsxs22(
18448
+ (feature?.featureType === "event" || feature?.featureType === "trait") && feature?.name && /* @__PURE__ */ jsxs23(
18500
18449
  Box,
18501
18450
  {
18502
18451
  $flexBasis: "min-content",
@@ -18512,11 +18461,11 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
18512
18461
  $weight: theme.typography[props.usage.fontStyle].fontWeight,
18513
18462
  $leading: 1.25,
18514
18463
  $color: theme.typography[props.usage.fontStyle].color,
18515
- children: priceBehavior === "pay_in_advance" ? typeof allocation === "number" && /* @__PURE__ */ jsxs22(Fragment10, { children: [
18464
+ children: priceBehavior === "pay_in_advance" ? typeof allocation === "number" && /* @__PURE__ */ jsxs23(Fragment10, { children: [
18516
18465
  formatNumber(allocation),
18517
18466
  " ",
18518
18467
  (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__ */ jsxs22(Fragment10, { children: [
18468
+ ] }) : priceBehavior === "pay_as_you_go" ? typeof price === "number" && typeof usage === "number" && formatCurrency(usage * price, currency) : typeof usage === "number" && /* @__PURE__ */ jsxs23(Fragment10, { children: [
18520
18469
  formatNumber(usage),
18521
18470
  " ",
18522
18471
  (0, import_pluralize5.default)(feature.name, usage)
@@ -18547,7 +18496,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
18547
18496
  ]
18548
18497
  }
18549
18498
  ),
18550
- props.isVisible && typeof usage === "number" && typeof allocation === "number" && priceBehavior !== "pay_as_you_go" && /* @__PURE__ */ jsxs22(Flex, { $gap: "2rem", children: [
18499
+ props.isVisible && typeof usage === "number" && typeof allocation === "number" && priceBehavior !== "pay_as_you_go" && /* @__PURE__ */ jsxs23(Flex, { $gap: "2rem", children: [
18551
18500
  /* @__PURE__ */ jsx29(
18552
18501
  ProgressBar,
18553
18502
  {
@@ -18563,6 +18512,7 @@ var MeteredFeatures = forwardRef9(({ className, ...rest }, ref) => {
18563
18512
  priceBehavior === "pay_in_advance" && /* @__PURE__ */ jsx29(
18564
18513
  EmbedButton,
18565
18514
  {
18515
+ type: "button",
18566
18516
  onClick: () => {
18567
18517
  setSelected({ usage: true });
18568
18518
  setLayout("checkout");
@@ -18586,14 +18536,14 @@ MeteredFeatures.displayName = "MeteredFeatures";
18586
18536
  import {
18587
18537
  forwardRef as forwardRef10,
18588
18538
  useCallback as useCallback9,
18589
- useEffect as useEffect8,
18539
+ useEffect as useEffect7,
18590
18540
  useLayoutEffect as useLayoutEffect6,
18591
18541
  useMemo as useMemo9,
18592
- useState as useState15
18542
+ useState as useState14
18593
18543
  } from "react";
18594
18544
  import { createPortal as createPortal3 } from "react-dom";
18595
18545
  import { Elements as Elements2 } from "@stripe/react-stripe-js";
18596
- import { Fragment as Fragment11, jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
18546
+ import { Fragment as Fragment11, jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
18597
18547
  var PaymentElement2 = ({
18598
18548
  iconName,
18599
18549
  iconTitle,
@@ -18602,9 +18552,9 @@ var PaymentElement2 = ({
18602
18552
  paymentLast4
18603
18553
  }) => {
18604
18554
  const theme = nt();
18605
- return /* @__PURE__ */ jsx30(Fragment11, { children: /* @__PURE__ */ jsx30(Text, { $font: theme.typography.text.fontFamily, $size: 16, children: /* @__PURE__ */ jsxs23(Flex, { $flexDirection: "row", $alignItems: "center", children: [
18555
+ 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
18556
  iconName && /* @__PURE__ */ jsx30(Box, { children: /* @__PURE__ */ jsx30(Icon2, { name: iconName, title: iconTitle, style: iconStyles }) }),
18607
- /* @__PURE__ */ jsxs23(Flex, { $alignItems: "center", children: [
18557
+ /* @__PURE__ */ jsxs24(Flex, { $alignItems: "center", children: [
18608
18558
  /* @__PURE__ */ jsx30(Box, { $lineHeight: "1", $marginRight: "4px", children: t(label) }),
18609
18559
  paymentLast4 && /* @__PURE__ */ jsx30(Box, { $display: "inline-block", $fontWeight: "bold", children: paymentLast4 })
18610
18560
  ] })
@@ -18711,8 +18661,8 @@ var PaymentMethodElement = ({
18711
18661
  }
18712
18662
  );
18713
18663
  };
18714
- return /* @__PURE__ */ jsxs23(Flex, { $flexDirection: "column", $gap: `${sizeFactor}rem`, children: [
18715
- props.header.isVisible && /* @__PURE__ */ jsxs23(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
18664
+ return /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "column", $gap: `${sizeFactor}rem`, children: [
18665
+ props.header.isVisible && /* @__PURE__ */ jsxs24(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
18716
18666
  /* @__PURE__ */ jsx30(
18717
18667
  Text,
18718
18668
  {
@@ -18733,7 +18683,7 @@ var PaymentMethodElement = ({
18733
18683
  }
18734
18684
  )
18735
18685
  ] }),
18736
- /* @__PURE__ */ jsxs23(
18686
+ /* @__PURE__ */ jsxs24(
18737
18687
  Flex,
18738
18688
  {
18739
18689
  $justifyContent: "space-between",
@@ -18764,16 +18714,16 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
18764
18714
  const props = resolveDesignProps4(rest);
18765
18715
  const { t: t2 } = useTranslation();
18766
18716
  const theme = nt();
18767
- const { api, data, layout, setLayout } = useEmbed();
18717
+ const { api, data, layout, hydrate, setLayout } = useEmbed();
18768
18718
  const isLightBackground = useIsLightBackground();
18769
- const [isLoading, setIsLoading] = useState15(false);
18770
- const [error, setError] = useState15();
18771
- const [showPaymentForm, setShowPaymentForm] = useState15(
18719
+ const [isLoading, setIsLoading] = useState14(false);
18720
+ const [error, setError] = useState14();
18721
+ const [showPaymentForm, setShowPaymentForm] = useState14(
18772
18722
  () => typeof data.subscription?.paymentMethod === "undefined"
18773
18723
  );
18774
- const [stripe, setStripe] = useState15(null);
18775
- const [setupIntent, setSetupIntent] = useState15();
18776
- const [top, setTop] = useState15(0);
18724
+ const [stripe, setStripe] = useState14(null);
18725
+ const [setupIntent, setSetupIntent] = useState14();
18726
+ const [top, setTop] = useState14(0);
18777
18727
  const paymentMethod = useMemo9(() => {
18778
18728
  return data.subscription?.paymentMethod;
18779
18729
  }, [data.subscription?.paymentMethod]);
@@ -18821,16 +18771,18 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
18821
18771
  paymentMethodId: id
18822
18772
  }
18823
18773
  });
18824
- setLayout("success");
18774
+ setLayout("portal");
18775
+ hydrate();
18825
18776
  } catch {
18777
+ setLayout("payment");
18826
18778
  setError(t2("Error updating payment method. Please try again."));
18827
18779
  } finally {
18828
18780
  setIsLoading(false);
18829
18781
  }
18830
18782
  },
18831
- [t2, api, setLayout]
18783
+ [t2, api, hydrate, setLayout]
18832
18784
  );
18833
- useEffect8(() => {
18785
+ useEffect7(() => {
18834
18786
  if (!stripe && setupIntent?.publishableKey) {
18835
18787
  setStripe(loadStripe(setupIntent.publishableKey));
18836
18788
  }
@@ -18849,7 +18801,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
18849
18801
  if (!paymentMethod?.paymentMethodType) {
18850
18802
  return null;
18851
18803
  }
18852
- return /* @__PURE__ */ jsxs23(Element, { ref, className, children: [
18804
+ return /* @__PURE__ */ jsxs24(Element, { ref, className, children: [
18853
18805
  /* @__PURE__ */ jsx30(
18854
18806
  PaymentMethodElement,
18855
18807
  {
@@ -18860,7 +18812,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
18860
18812
  }
18861
18813
  ),
18862
18814
  layout === "payment" && createPortal3(
18863
- /* @__PURE__ */ jsxs23(Modal, { size: "md", top, onClose: () => setShowPaymentForm(false), children: [
18815
+ /* @__PURE__ */ jsxs24(Modal, { size: "md", top, onClose: () => setShowPaymentForm(false), children: [
18864
18816
  /* @__PURE__ */ jsx30(ModalHeader, { bordered: true, children: /* @__PURE__ */ jsx30(
18865
18817
  Text,
18866
18818
  {
@@ -18880,7 +18832,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
18880
18832
  $padding: "2rem 2.5rem 2rem 2.5rem",
18881
18833
  $backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.025)" : "hsla(0, 0%, 100%, 0.025)",
18882
18834
  $overflow: "auto",
18883
- children: /* @__PURE__ */ jsxs23(Fragment11, { children: [
18835
+ children: /* @__PURE__ */ jsxs24(Fragment11, { children: [
18884
18836
  showPaymentForm ? /* @__PURE__ */ jsx30(
18885
18837
  Elements2,
18886
18838
  {
@@ -18917,7 +18869,7 @@ var PaymentMethod = forwardRef10(({ children, className, portal, allowEdit = tru
18917
18869
  }
18918
18870
  )
18919
18871
  }
18920
- ) : /* @__PURE__ */ jsxs23(Flex, { $flexDirection: "column", $gap: "2rem", children: [
18872
+ ) : /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "column", $gap: "2rem", children: [
18921
18873
  /* @__PURE__ */ jsx30(
18922
18874
  PaymentMethodElement,
18923
18875
  {
@@ -18962,7 +18914,7 @@ PaymentMethod.displayName = "PaymentMethod";
18962
18914
  // src/components/elements/plan-manager/PlanManager.tsx
18963
18915
  import { forwardRef as forwardRef11 } from "react";
18964
18916
  var import_pluralize6 = __toESM(require_pluralize());
18965
- import { Fragment as Fragment12, jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
18917
+ import { Fragment as Fragment12, jsx as jsx31, jsxs as jsxs25 } from "react/jsx-runtime";
18966
18918
  var resolveDesignProps5 = (props) => {
18967
18919
  return {
18968
18920
  header: {
@@ -19026,14 +18978,14 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19026
18978
  const billingSubscription = data.company?.billingSubscription;
19027
18979
  const subscriptionCurrency = billingSubscription?.currency;
19028
18980
  const showTrialBox = billingSubscription && billingSubscription.status == "trialing";
19029
- const showUnsubscribeBox = billingSubscription && billingSubscription.status == "cancelled";
18981
+ const showUnsubscribeBox = billingSubscription?.cancelAtPeriodEnd;
19030
18982
  const trialEndDate = billingSubscription?.trialEnd ? new Date(billingSubscription.trialEnd * 1e3) : /* @__PURE__ */ new Date();
19031
18983
  const todayDate = /* @__PURE__ */ new Date();
19032
18984
  const trialEndDays = Math.floor(
19033
18985
  (trialEndDate.getTime() - todayDate.getTime()) / (1e3 * 60 * 60 * 24)
19034
18986
  );
19035
- return /* @__PURE__ */ jsxs24(Fragment12, { children: [
19036
- showTrialBox && !showUnsubscribeBox && /* @__PURE__ */ jsxs24(
18987
+ return /* @__PURE__ */ jsxs25(Fragment12, { children: [
18988
+ showTrialBox && !showUnsubscribeBox && /* @__PURE__ */ jsxs25(
19037
18989
  Box,
19038
18990
  {
19039
18991
  $backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.04)" : "hsla(0, 0%, 100%, 0.04)",
@@ -19069,7 +19021,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19069
19021
  ]
19070
19022
  }
19071
19023
  ),
19072
- showUnsubscribeBox && /* @__PURE__ */ jsxs24(
19024
+ showUnsubscribeBox && /* @__PURE__ */ jsxs25(
19073
19025
  Box,
19074
19026
  {
19075
19027
  $backgroundColor: isLightBackground ? "hsla(0, 0%, 0%, 0.04)" : "hsla(0, 0%, 100%, 0.04)",
@@ -19096,16 +19048,19 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19096
19048
  $weight: theme.typography.text.fontWeight,
19097
19049
  $color: theme.typography.text.color,
19098
19050
  children: billingSubscription.cancelAt ? t2("Access to plan will end on", {
19099
- date: toPrettyDate(new Date(billingSubscription.cancelAt), {
19100
- month: "numeric"
19101
- })
19051
+ date: toPrettyDate(
19052
+ new Date(billingSubscription.cancelAt * 1e3),
19053
+ {
19054
+ month: "numeric"
19055
+ }
19056
+ )
19102
19057
  }) : ""
19103
19058
  }
19104
19059
  )
19105
19060
  ]
19106
19061
  }
19107
19062
  ),
19108
- /* @__PURE__ */ jsxs24(
19063
+ /* @__PURE__ */ jsxs25(
19109
19064
  Element,
19110
19065
  {
19111
19066
  as: Flex,
@@ -19114,7 +19069,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19114
19069
  $flexDirection: "column",
19115
19070
  $gap: "2rem",
19116
19071
  children: [
19117
- props.header.isVisible && currentPlan && /* @__PURE__ */ jsxs24(
19072
+ props.header.isVisible && currentPlan && /* @__PURE__ */ jsxs25(
19118
19073
  Flex,
19119
19074
  {
19120
19075
  $justifyContent: "space-between",
@@ -19122,7 +19077,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19122
19077
  $flexWrap: "wrap",
19123
19078
  $gap: "1rem",
19124
19079
  children: [
19125
- /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "column", $gap: "1rem", children: [
19080
+ /* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", children: [
19126
19081
  /* @__PURE__ */ jsx31(
19127
19082
  Text,
19128
19083
  {
@@ -19147,7 +19102,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19147
19102
  }
19148
19103
  )
19149
19104
  ] }),
19150
- props.header.price.isVisible && typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */ jsxs24(Box, { children: [
19105
+ props.header.price.isVisible && typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */ jsxs25(Box, { children: [
19151
19106
  /* @__PURE__ */ jsx31(
19152
19107
  Text,
19153
19108
  {
@@ -19168,7 +19123,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19168
19123
  $size: theme.typography[props.header.price.fontStyle].fontSize,
19169
19124
  $weight: theme.typography[props.header.price.fontStyle].fontWeight,
19170
19125
  $color: theme.typography[props.header.price.fontStyle].color,
19171
- children: /* @__PURE__ */ jsxs24("sub", { children: [
19126
+ children: /* @__PURE__ */ jsxs25("sub", { children: [
19172
19127
  "/",
19173
19128
  shortenPeriod(currentPlan.planPeriod)
19174
19129
  ] })
@@ -19178,7 +19133,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19178
19133
  ]
19179
19134
  }
19180
19135
  ),
19181
- props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "column", $gap: "1rem", children: [
19136
+ props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", children: [
19182
19137
  props.addOns.showLabel && /* @__PURE__ */ jsx31(
19183
19138
  Text,
19184
19139
  {
@@ -19190,7 +19145,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19190
19145
  children: t2("Add-ons")
19191
19146
  }
19192
19147
  ),
19193
- addOns.map((addOn) => /* @__PURE__ */ jsxs24(
19148
+ addOns.map((addOn) => /* @__PURE__ */ jsxs25(
19194
19149
  Flex,
19195
19150
  {
19196
19151
  $justifyContent: "space-between",
@@ -19208,7 +19163,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19208
19163
  children: addOn.name
19209
19164
  }
19210
19165
  ),
19211
- addOn.planPrice && addOn.planPeriod && /* @__PURE__ */ jsxs24(
19166
+ addOn.planPrice && addOn.planPeriod && /* @__PURE__ */ jsxs25(
19212
19167
  Text,
19213
19168
  {
19214
19169
  $font: theme.typography.text.fontFamily,
@@ -19217,7 +19172,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19217
19172
  $color: theme.typography.text.color,
19218
19173
  children: [
19219
19174
  formatCurrency(addOn.planPrice, subscriptionCurrency),
19220
- /* @__PURE__ */ jsxs24("sub", { children: [
19175
+ /* @__PURE__ */ jsxs25("sub", { children: [
19221
19176
  "/",
19222
19177
  shortenPeriod(addOn.planPeriod)
19223
19178
  ] })
@@ -19229,7 +19184,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19229
19184
  addOn.id
19230
19185
  ))
19231
19186
  ] }),
19232
- usageBasedEntitlements.length > 0 && /* @__PURE__ */ jsxs24(Flex, { $flexDirection: "column", $gap: "1rem", children: [
19187
+ usageBasedEntitlements.length > 0 && /* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", children: [
19233
19188
  /* @__PURE__ */ jsx31(
19234
19189
  Text,
19235
19190
  {
@@ -19245,7 +19200,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19245
19200
  (acc, entitlement) => {
19246
19201
  if (entitlement.feature?.name) {
19247
19202
  acc.push(
19248
- /* @__PURE__ */ jsxs24(
19203
+ /* @__PURE__ */ jsxs25(
19249
19204
  Flex,
19250
19205
  {
19251
19206
  $justifyContent: "space-between",
@@ -19260,7 +19215,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19260
19215
  $size: theme.typography[props.addOns.fontStyle].fontSize,
19261
19216
  $weight: theme.typography[props.addOns.fontStyle].fontWeight,
19262
19217
  $color: theme.typography[props.addOns.fontStyle].color,
19263
- children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ jsxs24(Fragment12, { children: [
19218
+ children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ jsxs25(Fragment12, { children: [
19264
19219
  entitlement.quantity,
19265
19220
  " ",
19266
19221
  (0, import_pluralize6.default)(
@@ -19270,8 +19225,8 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19270
19225
  ] }) : entitlement.feature.name
19271
19226
  }
19272
19227
  ),
19273
- /* @__PURE__ */ jsxs24(Flex, { $alignItems: "center", $gap: "1rem", children: [
19274
- entitlement.priceBehavior === "pay_in_advance" && currentPlan?.planPeriod && /* @__PURE__ */ jsxs24(
19228
+ /* @__PURE__ */ jsxs25(Flex, { $alignItems: "center", $gap: "1rem", children: [
19229
+ entitlement.priceBehavior === "pay_in_advance" && currentPlan?.planPeriod && /* @__PURE__ */ jsxs25(
19275
19230
  Text,
19276
19231
  {
19277
19232
  $font: theme.typography.text.fontFamily,
@@ -19283,7 +19238,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19283
19238
  entitlement.price,
19284
19239
  entitlement.currencyCode
19285
19240
  ),
19286
- /* @__PURE__ */ jsxs24("sub", { children: [
19241
+ /* @__PURE__ */ jsxs25("sub", { children: [
19287
19242
  "/",
19288
19243
  (0, import_pluralize6.default)(
19289
19244
  entitlement.feature.name.toLowerCase(),
@@ -19295,7 +19250,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19295
19250
  ]
19296
19251
  }
19297
19252
  ),
19298
- /* @__PURE__ */ jsxs24(
19253
+ /* @__PURE__ */ jsxs25(
19299
19254
  Text,
19300
19255
  {
19301
19256
  $font: theme.typography.text.fontFamily,
@@ -19307,7 +19262,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19307
19262
  entitlement.price * (entitlement.priceBehavior === "pay_in_advance" ? entitlement.quantity : 1),
19308
19263
  entitlement.currencyCode
19309
19264
  ),
19310
- /* @__PURE__ */ jsxs24("sub", { children: [
19265
+ /* @__PURE__ */ jsxs25("sub", { children: [
19311
19266
  "/",
19312
19267
  currentPlan?.planPeriod && entitlement.priceBehavior === "pay_in_advance" ? shortenPeriod(currentPlan.planPeriod) : (0, import_pluralize6.default)(
19313
19268
  entitlement.feature.name.toLowerCase(),
@@ -19332,6 +19287,7 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19332
19287
  canCheckout && props.callToAction.isVisible && /* @__PURE__ */ jsx31(
19333
19288
  EmbedButton,
19334
19289
  {
19290
+ type: "button",
19335
19291
  onClick: () => {
19336
19292
  setSelected({
19337
19293
  planId: currentPlan?.id,
@@ -19353,9 +19309,9 @@ var PlanManager = forwardRef11(({ children, className, portal, ...rest }, ref) =
19353
19309
  PlanManager.displayName = "PlanManager";
19354
19310
 
19355
19311
  // src/components/elements/pricing-table/PricingTable.tsx
19356
- import { forwardRef as forwardRef12, useState as useState16 } from "react";
19312
+ import { forwardRef as forwardRef12, useState as useState15 } from "react";
19357
19313
  var import_pluralize7 = __toESM(require_pluralize());
19358
- import { Fragment as Fragment13, jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
19314
+ import { Fragment as Fragment13, jsx as jsx32, jsxs as jsxs26 } from "react/jsx-runtime";
19359
19315
  var resolveDesignProps6 = (props) => {
19360
19316
  return {
19361
19317
  showPeriodToggle: props.showPeriodToggle ?? true,
@@ -19401,12 +19357,12 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19401
19357
  const theme = nt();
19402
19358
  const { data, setLayout, setSelected } = useEmbed();
19403
19359
  const trialEndDays = useTrialEnd();
19404
- const [selectedPeriod, setSelectedPeriod] = useState16(
19360
+ const [selectedPeriod, setSelectedPeriod] = useState15(
19405
19361
  () => data.company?.plan?.planPeriod || "month"
19406
19362
  );
19407
19363
  const { plans, addOns, periods } = useAvailablePlans(selectedPeriod);
19408
19364
  const isLightBackground = useIsLightBackground();
19409
- const [entitlementCounts, setEntitlementCounts] = useState16(
19365
+ const [entitlementCounts, setEntitlementCounts] = useState15(
19410
19366
  () => plans.reduce(
19411
19367
  (acc, plan) => {
19412
19368
  acc[plan.id] = {
@@ -19433,7 +19389,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19433
19389
  };
19434
19390
  });
19435
19391
  };
19436
- return /* @__PURE__ */ jsxs25(
19392
+ return /* @__PURE__ */ jsxs26(
19437
19393
  FussyChild,
19438
19394
  {
19439
19395
  ref,
@@ -19442,8 +19398,8 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19442
19398
  $flexDirection: "column",
19443
19399
  $gap: "2rem",
19444
19400
  children: [
19445
- /* @__PURE__ */ jsxs25(Box, { children: [
19446
- /* @__PURE__ */ jsxs25(
19401
+ /* @__PURE__ */ jsxs26(Box, { children: [
19402
+ /* @__PURE__ */ jsxs26(
19447
19403
  Flex,
19448
19404
  {
19449
19405
  $flexDirection: "column",
@@ -19492,7 +19448,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19492
19448
  if (count?.limit && count.limit > VISIBLE_ENTITLEMENT_COUNT) {
19493
19449
  isExpanded = true;
19494
19450
  }
19495
- return /* @__PURE__ */ jsxs25(
19451
+ return /* @__PURE__ */ jsxs26(
19496
19452
  Flex,
19497
19453
  {
19498
19454
  $position: "relative",
@@ -19505,7 +19461,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19505
19461
  $outlineColor: isActivePlan ? theme.primary : "transparent",
19506
19462
  ...theme.card.hasShadow && { $boxShadow: cardBoxShadow },
19507
19463
  children: [
19508
- /* @__PURE__ */ jsxs25(
19464
+ /* @__PURE__ */ jsxs26(
19509
19465
  Flex,
19510
19466
  {
19511
19467
  $flexDirection: "column",
@@ -19536,7 +19492,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19536
19492
  children: plan.description
19537
19493
  }
19538
19494
  ) }),
19539
- /* @__PURE__ */ jsxs25(Box, { children: [
19495
+ /* @__PURE__ */ jsxs26(Box, { children: [
19540
19496
  /* @__PURE__ */ jsx32(
19541
19497
  Text,
19542
19498
  {
@@ -19550,7 +19506,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19550
19506
  )
19551
19507
  }
19552
19508
  ),
19553
- !plan.custom && /* @__PURE__ */ jsxs25(
19509
+ !plan.custom && /* @__PURE__ */ jsxs26(
19554
19510
  Text,
19555
19511
  {
19556
19512
  $font: theme.typography[props.plans.name.fontStyle].fontFamily,
@@ -19581,7 +19537,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19581
19537
  ]
19582
19538
  }
19583
19539
  ),
19584
- /* @__PURE__ */ jsxs25(
19540
+ /* @__PURE__ */ jsxs26(
19585
19541
  Flex,
19586
19542
  {
19587
19543
  $flexDirection: "column",
@@ -19590,16 +19546,8 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19590
19546
  $gap: `${cardPadding}rem`,
19591
19547
  $padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
19592
19548
  children: [
19593
- props.plans.showEntitlements && /* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
19594
- plan.entitlements.slice().sort((a2, b2) => {
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) => {
19549
+ props.plans.showEntitlements && /* @__PURE__ */ jsxs26(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
19550
+ plan.entitlements.reduce((acc, entitlement) => {
19603
19551
  let price;
19604
19552
  let currency;
19605
19553
  if (selectedPeriod === "month") {
@@ -19613,7 +19561,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19613
19561
  return acc;
19614
19562
  }
19615
19563
  acc.push(
19616
- /* @__PURE__ */ jsxs25(Flex, { $gap: "1rem", children: [
19564
+ /* @__PURE__ */ jsxs26(Flex, { $gap: "1rem", children: [
19617
19565
  props.plans.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ jsx32(
19618
19566
  IconRound,
19619
19567
  {
@@ -19633,7 +19581,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19633
19581
  $weight: theme.typography.text.fontWeight,
19634
19582
  $color: theme.typography.text.color,
19635
19583
  $leading: 1.35,
19636
- children: typeof price !== "undefined" ? /* @__PURE__ */ jsxs25(Fragment13, { children: [
19584
+ children: typeof price !== "undefined" ? /* @__PURE__ */ jsxs26(Fragment13, { children: [
19637
19585
  formatCurrency(price, currency),
19638
19586
  " ",
19639
19587
  t2("per"),
@@ -19642,19 +19590,19 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19642
19590
  entitlement.feature.name,
19643
19591
  1
19644
19592
  ),
19645
- entitlement.priceBehavior === "pay_in_advance" && /* @__PURE__ */ jsxs25(Fragment13, { children: [
19593
+ entitlement.priceBehavior === "pay_in_advance" && /* @__PURE__ */ jsxs26(Fragment13, { children: [
19646
19594
  " ",
19647
19595
  t2("per"),
19648
19596
  " ",
19649
19597
  selectedPeriod
19650
19598
  ] })
19651
- ] }) : entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ jsxs25(Fragment13, { children: [
19599
+ ] }) : entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ jsxs26(Fragment13, { children: [
19652
19600
  entitlement.valueType === "unlimited" ? t2("Unlimited", {
19653
19601
  item: (0, import_pluralize7.default)(
19654
19602
  entitlement.feature.name
19655
19603
  )
19656
19604
  }) : typeof entitlement.valueNumeric === "number" && `${formatNumber(entitlement.valueNumeric)} ${(0, import_pluralize7.default)(entitlement.feature.name, entitlement.valueNumeric)}`,
19657
- entitlement.metricPeriod && /* @__PURE__ */ jsxs25(Fragment13, { children: [
19605
+ entitlement.metricPeriod && /* @__PURE__ */ jsxs26(Fragment13, { children: [
19658
19606
  " ",
19659
19607
  t2("per"),
19660
19608
  " ",
@@ -19672,7 +19620,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19672
19620
  );
19673
19621
  return acc;
19674
19622
  }, []).slice(0, count?.limit ?? VISIBLE_ENTITLEMENT_COUNT),
19675
- (count?.size || plan.entitlements.length) > VISIBLE_ENTITLEMENT_COUNT && /* @__PURE__ */ jsxs25(
19623
+ (count?.size || plan.entitlements.length) > VISIBLE_ENTITLEMENT_COUNT && /* @__PURE__ */ jsxs26(
19676
19624
  Flex,
19677
19625
  {
19678
19626
  $alignItems: "center",
@@ -19708,7 +19656,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19708
19656
  }
19709
19657
  )
19710
19658
  ] }),
19711
- isActivePlan ? /* @__PURE__ */ jsxs25(
19659
+ isActivePlan ? /* @__PURE__ */ jsxs26(
19712
19660
  Flex,
19713
19661
  {
19714
19662
  $justifyContent: "center",
@@ -19741,7 +19689,8 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19741
19689
  ) : (props.upgrade.isVisible || props.downgrade.isVisible) && /* @__PURE__ */ jsx32(
19742
19690
  EmbedButton,
19743
19691
  {
19744
- disabled: !plan.valid || !canCheckout,
19692
+ type: "button",
19693
+ disabled: (!plan.valid || !canCheckout) && !plan.custom,
19745
19694
  ...!plan.custom && {
19746
19695
  onClick: () => {
19747
19696
  setSelected({
@@ -19790,7 +19739,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19790
19739
  }
19791
19740
  )
19792
19741
  ] }),
19793
- /* @__PURE__ */ jsx32(Box, { children: props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ jsxs25(Fragment13, { children: [
19742
+ /* @__PURE__ */ jsx32(Box, { children: props.addOns.isVisible && addOns.length > 0 && /* @__PURE__ */ jsxs26(Fragment13, { children: [
19794
19743
  props.header.isVisible && /* @__PURE__ */ jsx32(
19795
19744
  Flex,
19796
19745
  {
@@ -19817,7 +19766,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19817
19766
  $gap: "1rem",
19818
19767
  children: addOns.map((addOn, index) => {
19819
19768
  const isActiveAddOn = addOn.current && selectedPeriod === data.company?.addOns.find((a2) => a2.id === addOn.id)?.planPeriod;
19820
- return /* @__PURE__ */ jsxs25(
19769
+ return /* @__PURE__ */ jsxs26(
19821
19770
  Flex,
19822
19771
  {
19823
19772
  $position: "relative",
@@ -19831,7 +19780,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19831
19780
  $outlineColor: isActiveAddOn ? theme.primary : "transparent",
19832
19781
  ...theme.card.hasShadow && { $boxShadow: cardBoxShadow },
19833
19782
  children: [
19834
- /* @__PURE__ */ jsxs25(Flex, { $flexDirection: "column", $gap: "0.75rem", children: [
19783
+ /* @__PURE__ */ jsxs26(Flex, { $flexDirection: "column", $gap: "0.75rem", children: [
19835
19784
  /* @__PURE__ */ jsx32(Box, { children: /* @__PURE__ */ jsx32(
19836
19785
  Text,
19837
19786
  {
@@ -19852,7 +19801,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19852
19801
  children: addOn.description
19853
19802
  }
19854
19803
  ) }),
19855
- /* @__PURE__ */ jsxs25(Box, { children: [
19804
+ /* @__PURE__ */ jsxs26(Box, { children: [
19856
19805
  /* @__PURE__ */ jsx32(
19857
19806
  Text,
19858
19807
  {
@@ -19866,7 +19815,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19866
19815
  )
19867
19816
  }
19868
19817
  ),
19869
- /* @__PURE__ */ jsxs25(
19818
+ /* @__PURE__ */ jsxs26(
19870
19819
  Text,
19871
19820
  {
19872
19821
  $font: theme.typography[props.plans.name.fontStyle].fontFamily,
@@ -19895,7 +19844,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19895
19844
  }
19896
19845
  )
19897
19846
  ] }),
19898
- /* @__PURE__ */ jsxs25(
19847
+ /* @__PURE__ */ jsxs26(
19899
19848
  Flex,
19900
19849
  {
19901
19850
  $flexDirection: "column",
@@ -19918,7 +19867,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19918
19867
  $justifyContent: "space-between",
19919
19868
  $alignItems: "center",
19920
19869
  $gap: "1rem",
19921
- children: /* @__PURE__ */ jsxs25(Flex, { $gap: "1rem", children: [
19870
+ children: /* @__PURE__ */ jsxs26(Flex, { $gap: "1rem", children: [
19922
19871
  props.addOns.showFeatureIcons && entitlement.feature?.icon && /* @__PURE__ */ jsx32(
19923
19872
  IconRound,
19924
19873
  {
@@ -19937,13 +19886,13 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19937
19886
  $size: theme.typography.text.fontSize,
19938
19887
  $weight: theme.typography.text.fontWeight,
19939
19888
  $color: theme.typography.text.color,
19940
- children: entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ jsxs25(Fragment13, { children: [
19889
+ children: entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait" ? /* @__PURE__ */ jsxs26(Fragment13, { children: [
19941
19890
  entitlement.valueType === "unlimited" ? t2("Unlimited", {
19942
19891
  item: (0, import_pluralize7.default)(
19943
19892
  entitlement.feature.name
19944
19893
  )
19945
19894
  }) : typeof entitlement.valueNumeric === "number" && `${formatNumber(entitlement.valueNumeric)} ${(0, import_pluralize7.default)(entitlement.feature.name, entitlement.valueNumeric)}`,
19946
- entitlement.metricPeriod && /* @__PURE__ */ jsxs25(Fragment13, { children: [
19895
+ entitlement.metricPeriod && /* @__PURE__ */ jsxs26(Fragment13, { children: [
19947
19896
  " ",
19948
19897
  t2("per"),
19949
19898
  " ",
@@ -19967,6 +19916,7 @@ var PricingTable = forwardRef12(({ children, className, ...rest }, ref) => {
19967
19916
  props.upgrade.isVisible && /* @__PURE__ */ jsx32(
19968
19917
  EmbedButton,
19969
19918
  {
19919
+ type: "button",
19970
19920
  disabled: !addOn.valid || !canCheckout,
19971
19921
  onClick: () => {
19972
19922
  setSelected({
@@ -20001,7 +19951,7 @@ PricingTable.displayName = "PricingTable";
20001
19951
 
20002
19952
  // src/components/elements/upcoming-bill/UpcomingBill.tsx
20003
19953
  import { forwardRef as forwardRef13, useMemo as useMemo10 } from "react";
20004
- import { jsx as jsx33, jsxs as jsxs26 } from "react/jsx-runtime";
19954
+ import { jsx as jsx33, jsxs as jsxs27 } from "react/jsx-runtime";
20005
19955
  function resolveDesignProps7(props) {
20006
19956
  return {
20007
19957
  header: {
@@ -20053,7 +20003,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
20053
20003
  if (typeof upcomingInvoice.amountDue !== "number" || !upcomingInvoice.dueDate) {
20054
20004
  return null;
20055
20005
  }
20056
- return /* @__PURE__ */ jsxs26(
20006
+ return /* @__PURE__ */ jsxs27(
20057
20007
  Element,
20058
20008
  {
20059
20009
  as: Flex,
@@ -20062,7 +20012,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
20062
20012
  $flexDirection: "column",
20063
20013
  $gap: "1rem",
20064
20014
  children: [
20065
- props.header.isVisible && /* @__PURE__ */ jsx33(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ jsxs26(
20015
+ props.header.isVisible && /* @__PURE__ */ jsx33(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ jsxs27(
20066
20016
  Text,
20067
20017
  {
20068
20018
  $font: theme.typography[props.header.fontStyle].fontFamily,
@@ -20076,7 +20026,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
20076
20026
  ]
20077
20027
  }
20078
20028
  ) }),
20079
- /* @__PURE__ */ jsxs26(Flex, { $justifyContent: "space-between", $alignItems: "start", $gap: "1rem", children: [
20029
+ /* @__PURE__ */ jsxs27(Flex, { $justifyContent: "space-between", $alignItems: "start", $gap: "1rem", children: [
20080
20030
  props.price.isVisible && /* @__PURE__ */ jsx33(Flex, { $alignItems: "end", $flexGrow: "1", children: /* @__PURE__ */ jsx33(
20081
20031
  Text,
20082
20032
  {
@@ -20103,7 +20053,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
20103
20053
  }
20104
20054
  ) })
20105
20055
  ] }),
20106
- discounts.length > 0 && /* @__PURE__ */ jsxs26(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
20056
+ discounts.length > 0 && /* @__PURE__ */ jsxs27(Flex, { $justifyContent: "space-between", $alignItems: "center", children: [
20107
20057
  /* @__PURE__ */ jsx33(Box, { children: /* @__PURE__ */ jsx33(
20108
20058
  Text,
20109
20059
  {
@@ -20114,7 +20064,7 @@ var UpcomingBill = forwardRef13(({ className, ...rest }, ref) => {
20114
20064
  children: t2("Discount")
20115
20065
  }
20116
20066
  ) }),
20117
- /* @__PURE__ */ jsx33(Box, { children: discounts.map((discount) => /* @__PURE__ */ jsxs26(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
20067
+ /* @__PURE__ */ jsx33(Box, { children: discounts.map((discount) => /* @__PURE__ */ jsxs27(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
20118
20068
  /* @__PURE__ */ jsx33(
20119
20069
  Flex,
20120
20070
  {
@@ -20172,7 +20122,7 @@ var UnsubscribeButton = forwardRef14(({ children, className, ...rest }, ref) =>
20172
20122
  const props = resolveDesignProps8(rest);
20173
20123
  const { t: t2 } = useTranslation();
20174
20124
  const { data, setLayout } = useEmbed();
20175
- const disabled = !data.subscription || data.subscription.status === "cancelled";
20125
+ const disabled = !data.subscription || data.subscription.status === "cancelled" || data.subscription.cancelAtPeriodEnd;
20176
20126
  const buttonStyles = {
20177
20127
  primary: {
20178
20128
  color: "primary",
@@ -20216,7 +20166,7 @@ var UnsubscribeButton = forwardRef14(({ children, className, ...rest }, ref) =>
20216
20166
  UnsubscribeButton.displayName = "UnsubscribeButton";
20217
20167
 
20218
20168
  // src/components/embed/ComponentTree.tsx
20219
- import { useEffect as useEffect9, useState as useState17 } from "react";
20169
+ import { useEffect as useEffect8, useState as useState16 } from "react";
20220
20170
 
20221
20171
  // src/components/embed/renderer.ts
20222
20172
  import { createElement as createElement5 } from "react";
@@ -20265,7 +20215,7 @@ function createRenderer(options) {
20265
20215
  }
20266
20216
 
20267
20217
  // src/components/embed/ComponentTree.tsx
20268
- import { Fragment as Fragment14, jsx as jsx35, jsxs as jsxs27 } from "react/jsx-runtime";
20218
+ import { Fragment as Fragment14, jsx as jsx35, jsxs as jsxs28 } from "react/jsx-runtime";
20269
20219
  var Loading = () => {
20270
20220
  const theme = nt();
20271
20221
  return /* @__PURE__ */ jsx35(
@@ -20282,7 +20232,7 @@ var Loading = () => {
20282
20232
  };
20283
20233
  var Error2 = ({ message }) => {
20284
20234
  const theme = nt();
20285
- return /* @__PURE__ */ jsxs27(
20235
+ return /* @__PURE__ */ jsxs28(
20286
20236
  Flex,
20287
20237
  {
20288
20238
  $flexDirection: "column",
@@ -20321,8 +20271,8 @@ var Error2 = ({ message }) => {
20321
20271
  };
20322
20272
  var ComponentTree = () => {
20323
20273
  const { error, nodes, isPending } = useEmbed();
20324
- const [children, setChildren] = useState17(/* @__PURE__ */ jsx35(Loading, {}));
20325
- useEffect9(() => {
20274
+ const [children, setChildren] = useState16(/* @__PURE__ */ jsx35(Loading, {}));
20275
+ useEffect8(() => {
20326
20276
  const renderer = createRenderer();
20327
20277
  setChildren(nodes.map(renderer));
20328
20278
  }, [nodes]);