@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.
@@ -2124,7 +2124,7 @@ __export(index_exports, {
2124
2124
  module.exports = __toCommonJS(index_exports);
2125
2125
 
2126
2126
  // src/components/elements/included-features/IncludedFeatures.tsx
2127
- var import_react33 = require("react");
2127
+ var import_react32 = require("react");
2128
2128
 
2129
2129
  // node_modules/react-i18next/dist/es/Trans.js
2130
2130
  var import_react3 = require("react");
@@ -3783,11 +3783,11 @@ function useAvailablePlans(activePeriod) {
3783
3783
  const getActivePlans = (0, import_react10.useCallback)(
3784
3784
  (plans) => {
3785
3785
  const customPlanExist = plans.some((plan) => plan.custom);
3786
- let plansWithSelected = mode === "edit" ? plans.slice() : plans.filter(
3786
+ const plansWithSelected = mode === "edit" ? plans.slice() : plans.filter(
3787
3787
  (plan) => activePeriod === "month" && plan.monthlyPrice || activePeriod === "year" && plan.yearlyPrice
3788
3788
  );
3789
3789
  if (!customPlanExist) {
3790
- plansWithSelected = plansWithSelected.sort((a2, b2) => {
3790
+ plansWithSelected.sort((a2, b2) => {
3791
3791
  if (activePeriod === "year") {
3792
3792
  return (a2.yearlyPrice?.price ?? 0) - (b2.yearlyPrice?.price ?? 0);
3793
3793
  }
@@ -12081,7 +12081,7 @@ var GlobalStyle = ft`;
12081
12081
 
12082
12082
  @font-face {
12083
12083
  font-family: "icons";
12084
- src: url(data:font/ttf;base64,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AGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAIAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcgECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkBOgE7ATwBPQE+AT8BQAFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAVEBUgFTAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAdnbGFzc2VzBWdsb2JlBmhhbW1lcgRoYXNoBWhlYXJ0B2h1YnNwb3QFaW1hZ2UMaW5mby1yb3VuZGVkBWp1aWNlA2tleQRsaW5rCm1hc3RlcmNhcmQFbXVzaWMKbm9kZS1taW51cwlub2RlLXBsdXMHcGFja2FnZQtwYXBlci1wbGFuZQZwYXlwYWwGcGVuY2lsB3BlcmNlbnQGcGlja2VyBHBsYW4EcGx1ZwpwbHVzLW1pbnVzFHBsdXMtcm91bmRlZC1vdXRsaW5lB3ByZXNlbnQJc2NoZW1hdGljBnNlYXJjaAdzZWdtZW50DXNlcnZlci1zZWFyY2gHc2lkZWJhcgZzaWduYWwHc2lsZW5jZQVzcGFkZQdzcGVha2VyB3N0YWNrZWQGc3RhY2tzBnN0cmlwZQR0ZXh0B3RodW5kZXIHdG9ybmFkbwV0cnVjawR0dWJlC3VucHJvdGVjdGVkCHZlcmlmaWVkDHZpZGVvLWNhbWVyYQR2aXNhBndhbGxldAp3YXRjaC1oYW5kDHdhdGNoLXBvY2tldAp3YXRlci1kcm9wBXdhdmVzB3dlYmhvb2sEd2luZAAAAA==), format("truetype");
12084
+ src: url(data:font/ttf;base64,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ASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwAFYWxhcm0JYW1hem9ucGF5BGFtZXgIYXBwbGVwYXkPYXJyb3ctYW5hbHl0aWNzDGFycm93LWN1cnZlZAphcnJvdy1kb3duCmFycm93LWxlZnQLYXJyb3ctcmlnaHQIYXJyb3ctdXAMYXJyb3ctdXB3YXJkCWJhY2tzcGFjZQRiYW5rBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyB2Nhc2hhcHANY2hlY2stcm91bmRlZAVjaGVjawxjaGV2cm9uLWRvd24MY2hldnJvbi1sZWZ0DWNoZXZyb24tcmlnaHQKY2hldnJvbi11cARjaGlwBWNoaXBzBWNsZXJrFGNsb3NlLXJvdW5kZWQtZmlsbGVkBWNsb3NlCGNsb3VkLXVwBGNsdWIDY21kBGNvZGUGY29mZmVlA2NvZw5jb2xsYXBzZS1lbXB0eQhjb2xsYXBzZQdjb21wYXNzCmNvbm5lY3Rpb24EY29weQZjcmVkaXQHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgVmbGFzawxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyD2dlbmVyaWMtcGF5bWVudAZnaXRodWIHZ2xhc3NlcwVnbG9iZQZnb29nbGUGaGFtbWVyBGhhc2gFaGVhcnQHaHVic3BvdAVpbWFnZQxpbmZvLXJvdW5kZWQFanVpY2UDa2V5BGxpbmsKbWFzdGVyY2FyZARtb3ZlBW11c2ljCm5vZGUtbWludXMJbm9kZS1wbHVzB3BhY2thZ2ULcGFwZXItcGxhbmUGcGF5cGFsBnBlbmNpbAdwZXJjZW50BnBpY2tlcgRwbGFuBHBsdWcKcGx1cy1taW51cxRwbHVzLXJvdW5kZWQtb3V0bGluZQdwcmVzZW50CXNjaGVtYXRpYwZzZWFyY2gHc2VnbWVudA1zZXJ2ZXItc2VhcmNoB3NpZGViYXIGc2lnbmFsB3NpbGVuY2UFc3BhZGUHc3BlYWtlcgdzdGFja2VkBnN0YWNrcwZzdHJpcGUEdGV4dAd0aHVuZGVyB3Rvcm5hZG8FdHJ1Y2sEdHViZQt1bnByb3RlY3RlZAt1bnN1YnNjcmliZQh2ZXJpZmllZAx2aWRlby1jYW1lcmEEdmlzYQZ3YWxsZXQKd2F0Y2gtaGFuZAx3YXRjaC1wb2NrZXQKd2F0ZXItZHJvcAV3YXZlcwd3ZWJob29rBHdpbmQAAAAA), format("truetype");
12085
12085
  }
12086
12086
 
12087
12087
  i[class^="i-"]:before,
@@ -12329,221 +12329,237 @@ i[class*=" i-"]:before {
12329
12329
  content: "\\f13b";
12330
12330
  }
12331
12331
 
12332
- .i-glasses::before {
12332
+ .i-github::before {
12333
12333
  content: "\\f13c";
12334
12334
  }
12335
12335
 
12336
- .i-globe::before {
12336
+ .i-glasses::before {
12337
12337
  content: "\\f13d";
12338
12338
  }
12339
12339
 
12340
- .i-hammer::before {
12340
+ .i-globe::before {
12341
12341
  content: "\\f13e";
12342
12342
  }
12343
12343
 
12344
- .i-hash::before {
12344
+ .i-google::before {
12345
12345
  content: "\\f13f";
12346
12346
  }
12347
12347
 
12348
- .i-heart::before {
12348
+ .i-hammer::before {
12349
12349
  content: "\\f140";
12350
12350
  }
12351
12351
 
12352
- .i-hubspot::before {
12352
+ .i-hash::before {
12353
12353
  content: "\\f141";
12354
12354
  }
12355
12355
 
12356
- .i-image::before {
12356
+ .i-heart::before {
12357
12357
  content: "\\f142";
12358
12358
  }
12359
12359
 
12360
- .i-info-rounded::before {
12360
+ .i-hubspot::before {
12361
12361
  content: "\\f143";
12362
12362
  }
12363
12363
 
12364
- .i-juice::before {
12364
+ .i-image::before {
12365
12365
  content: "\\f144";
12366
12366
  }
12367
12367
 
12368
- .i-key::before {
12368
+ .i-info-rounded::before {
12369
12369
  content: "\\f145";
12370
12370
  }
12371
12371
 
12372
- .i-link::before {
12372
+ .i-juice::before {
12373
12373
  content: "\\f146";
12374
12374
  }
12375
12375
 
12376
- .i-mastercard::before {
12376
+ .i-key::before {
12377
12377
  content: "\\f147";
12378
12378
  }
12379
12379
 
12380
- .i-music::before {
12380
+ .i-link::before {
12381
12381
  content: "\\f148";
12382
12382
  }
12383
12383
 
12384
- .i-node-minus::before {
12384
+ .i-mastercard::before {
12385
12385
  content: "\\f149";
12386
12386
  }
12387
12387
 
12388
- .i-node-plus::before {
12388
+ .i-move::before {
12389
12389
  content: "\\f14a";
12390
12390
  }
12391
12391
 
12392
- .i-package::before {
12392
+ .i-music::before {
12393
12393
  content: "\\f14b";
12394
12394
  }
12395
12395
 
12396
- .i-paper-plane::before {
12396
+ .i-node-minus::before {
12397
12397
  content: "\\f14c";
12398
12398
  }
12399
12399
 
12400
- .i-paypal::before {
12400
+ .i-node-plus::before {
12401
12401
  content: "\\f14d";
12402
12402
  }
12403
12403
 
12404
- .i-pencil::before {
12404
+ .i-package::before {
12405
12405
  content: "\\f14e";
12406
12406
  }
12407
12407
 
12408
- .i-percent::before {
12408
+ .i-paper-plane::before {
12409
12409
  content: "\\f14f";
12410
12410
  }
12411
12411
 
12412
- .i-picker::before {
12412
+ .i-paypal::before {
12413
12413
  content: "\\f150";
12414
12414
  }
12415
12415
 
12416
- .i-plan::before {
12416
+ .i-pencil::before {
12417
12417
  content: "\\f151";
12418
12418
  }
12419
12419
 
12420
- .i-plug::before {
12420
+ .i-percent::before {
12421
12421
  content: "\\f152";
12422
12422
  }
12423
12423
 
12424
- .i-plus-minus::before {
12424
+ .i-picker::before {
12425
12425
  content: "\\f153";
12426
12426
  }
12427
12427
 
12428
- .i-plus-rounded-outline::before {
12428
+ .i-plan::before {
12429
12429
  content: "\\f154";
12430
12430
  }
12431
12431
 
12432
- .i-present::before {
12432
+ .i-plug::before {
12433
12433
  content: "\\f155";
12434
12434
  }
12435
12435
 
12436
- .i-schematic::before {
12436
+ .i-plus-minus::before {
12437
12437
  content: "\\f156";
12438
12438
  }
12439
12439
 
12440
- .i-search::before {
12440
+ .i-plus-rounded-outline::before {
12441
12441
  content: "\\f157";
12442
12442
  }
12443
12443
 
12444
- .i-segment::before {
12444
+ .i-present::before {
12445
12445
  content: "\\f158";
12446
12446
  }
12447
12447
 
12448
- .i-server-search::before {
12448
+ .i-schematic::before {
12449
12449
  content: "\\f159";
12450
12450
  }
12451
12451
 
12452
- .i-sidebar::before {
12452
+ .i-search::before {
12453
12453
  content: "\\f15a";
12454
12454
  }
12455
12455
 
12456
- .i-signal::before {
12456
+ .i-segment::before {
12457
12457
  content: "\\f15b";
12458
12458
  }
12459
12459
 
12460
- .i-silence::before {
12460
+ .i-server-search::before {
12461
12461
  content: "\\f15c";
12462
12462
  }
12463
12463
 
12464
- .i-spade::before {
12464
+ .i-sidebar::before {
12465
12465
  content: "\\f15d";
12466
12466
  }
12467
12467
 
12468
- .i-speaker::before {
12468
+ .i-signal::before {
12469
12469
  content: "\\f15e";
12470
12470
  }
12471
12471
 
12472
- .i-stacked::before {
12472
+ .i-silence::before {
12473
12473
  content: "\\f15f";
12474
12474
  }
12475
12475
 
12476
- .i-stacks::before {
12476
+ .i-spade::before {
12477
12477
  content: "\\f160";
12478
12478
  }
12479
12479
 
12480
- .i-stripe::before {
12480
+ .i-speaker::before {
12481
12481
  content: "\\f161";
12482
12482
  }
12483
12483
 
12484
- .i-text::before {
12484
+ .i-stacked::before {
12485
12485
  content: "\\f162";
12486
12486
  }
12487
12487
 
12488
- .i-thunder::before {
12488
+ .i-stacks::before {
12489
12489
  content: "\\f163";
12490
12490
  }
12491
12491
 
12492
- .i-tornado::before {
12492
+ .i-stripe::before {
12493
12493
  content: "\\f164";
12494
12494
  }
12495
12495
 
12496
- .i-truck::before {
12496
+ .i-text::before {
12497
12497
  content: "\\f165";
12498
12498
  }
12499
12499
 
12500
- .i-tube::before {
12500
+ .i-thunder::before {
12501
12501
  content: "\\f166";
12502
12502
  }
12503
12503
 
12504
- .i-unprotected::before {
12504
+ .i-tornado::before {
12505
12505
  content: "\\f167";
12506
12506
  }
12507
12507
 
12508
- .i-verified::before {
12508
+ .i-truck::before {
12509
12509
  content: "\\f168";
12510
12510
  }
12511
12511
 
12512
- .i-video-camera::before {
12512
+ .i-tube::before {
12513
12513
  content: "\\f169";
12514
12514
  }
12515
12515
 
12516
- .i-visa::before {
12516
+ .i-unprotected::before {
12517
12517
  content: "\\f16a";
12518
12518
  }
12519
12519
 
12520
- .i-wallet::before {
12520
+ .i-unsubscribe::before {
12521
12521
  content: "\\f16b";
12522
12522
  }
12523
12523
 
12524
- .i-watch-hand::before {
12524
+ .i-verified::before {
12525
12525
  content: "\\f16c";
12526
12526
  }
12527
12527
 
12528
- .i-watch-pocket::before {
12528
+ .i-video-camera::before {
12529
12529
  content: "\\f16d";
12530
12530
  }
12531
12531
 
12532
- .i-water-drop::before {
12532
+ .i-visa::before {
12533
12533
  content: "\\f16e";
12534
12534
  }
12535
12535
 
12536
- .i-waves::before {
12536
+ .i-wallet::before {
12537
12537
  content: "\\f16f";
12538
12538
  }
12539
12539
 
12540
- .i-webhook::before {
12540
+ .i-watch-hand::before {
12541
12541
  content: "\\f170";
12542
12542
  }
12543
12543
 
12544
- .i-wind::before {
12544
+ .i-watch-pocket::before {
12545
12545
  content: "\\f171";
12546
12546
  }
12547
+
12548
+ .i-water-drop::before {
12549
+ content: "\\f172";
12550
+ }
12551
+
12552
+ .i-waves::before {
12553
+ content: "\\f173";
12554
+ }
12555
+
12556
+ .i-webhook::before {
12557
+ content: "\\f174";
12558
+ }
12559
+
12560
+ .i-wind::before {
12561
+ content: "\\f175";
12562
+ }
12547
12563
  `;
12548
12564
 
12549
12565
  // src/context/embed.tsx
@@ -12663,13 +12679,15 @@ var EmbedContext = (0, import_react11.createContext)({
12663
12679
  isPending: false,
12664
12680
  hydrate: async () => {
12665
12681
  },
12666
- setData: () => {
12682
+ setIsPending: () => {
12667
12683
  },
12668
- updateSettings: () => {
12684
+ setData: () => {
12669
12685
  },
12670
12686
  setLayout: () => {
12671
12687
  },
12672
12688
  setSelected: () => {
12689
+ },
12690
+ updateSettings: () => {
12673
12691
  }
12674
12692
  });
12675
12693
  var EmbedProvider = ({
@@ -12700,11 +12718,13 @@ var EmbedProvider = ({
12700
12718
  },
12701
12719
  setData: () => {
12702
12720
  },
12703
- updateSettings: () => {
12721
+ setIsPending: () => {
12704
12722
  },
12705
12723
  setLayout: () => {
12706
12724
  },
12707
12725
  setSelected: () => {
12726
+ },
12727
+ updateSettings: () => {
12708
12728
  }
12709
12729
  };
12710
12730
  });
@@ -12744,45 +12764,39 @@ var EmbedProvider = ({
12744
12764
  }));
12745
12765
  }
12746
12766
  }, [id, state.api]);
12747
- const setData = (0, import_react11.useCallback)(
12748
- (data) => {
12749
- setState((prev2) => ({
12750
- ...prev2,
12751
- data
12752
- }));
12753
- },
12754
- [setState]
12755
- );
12756
- const updateSettings = (0, import_react11.useCallback)(
12757
- (settings) => {
12758
- setState((prev2) => {
12759
- const updatedSettings = (0, import_merge.default)({}, prev2.settings, { ...settings });
12760
- return {
12761
- ...prev2,
12762
- settings: updatedSettings
12763
- };
12764
- });
12765
- },
12766
- [setState]
12767
- );
12768
- const setLayout = (0, import_react11.useCallback)(
12769
- (layout) => {
12770
- setState((prev2) => ({
12771
- ...prev2,
12772
- layout
12773
- }));
12774
- },
12775
- [setState]
12776
- );
12777
- const setSelected = (0, import_react11.useCallback)(
12778
- (selected) => {
12779
- setState((prev2) => ({
12767
+ const setIsPending = (bool) => {
12768
+ setState((prev2) => ({
12769
+ ...prev2,
12770
+ isPending: bool
12771
+ }));
12772
+ };
12773
+ const setData = (data) => {
12774
+ setState((prev2) => ({
12775
+ ...prev2,
12776
+ data
12777
+ }));
12778
+ };
12779
+ const setLayout = (layout) => {
12780
+ setState((prev2) => ({
12781
+ ...prev2,
12782
+ layout
12783
+ }));
12784
+ };
12785
+ const setSelected = (selected) => {
12786
+ setState((prev2) => ({
12787
+ ...prev2,
12788
+ selected
12789
+ }));
12790
+ };
12791
+ const updateSettings = (settings) => {
12792
+ setState((prev2) => {
12793
+ const updatedSettings = (0, import_merge.default)({}, prev2.settings, { ...settings });
12794
+ return {
12780
12795
  ...prev2,
12781
- selected
12782
- }));
12783
- },
12784
- [setState]
12785
- );
12796
+ settings: updatedSettings
12797
+ };
12798
+ });
12799
+ };
12786
12800
  (0, import_react11.useEffect)(() => {
12787
12801
  instance.use(initReactI18next).init({
12788
12802
  resources: {
@@ -12810,7 +12824,7 @@ var EmbedProvider = ({
12810
12824
  (0, import_react11.useEffect)(() => {
12811
12825
  if (accessToken) {
12812
12826
  const { headers = {} } = apiConfig ?? {};
12813
- headers["X-Schematic-Components-Version"] = "0.4.7";
12827
+ headers["X-Schematic-Components-Version"] = "0.4.9";
12814
12828
  headers["X-Schematic-Session-ID"] = sessionIdRef.current;
12815
12829
  const config = new Configuration({
12816
12830
  ...apiConfig,
@@ -12853,10 +12867,11 @@ var EmbedProvider = ({
12853
12867
  error: state.error,
12854
12868
  isPending: state.isPending,
12855
12869
  hydrate,
12870
+ setIsPending,
12856
12871
  setData,
12857
- updateSettings,
12858
12872
  setLayout,
12859
- setSelected
12873
+ setSelected,
12874
+ updateSettings
12860
12875
  },
12861
12876
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ot, { theme: state.settings.theme, children: [
12862
12877
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GlobalStyle, {}),
@@ -12959,6 +12974,10 @@ function lighten(color, amount) {
12959
12974
  function darken(color, amount) {
12960
12975
  return adjustLightness(color, -amount);
12961
12976
  }
12977
+ function hsla(color, amount) {
12978
+ const { h, s: s2, l: l2 } = hexToHSL(color);
12979
+ return `hsla(${h}, ${s2}%, ${l2}%, ${amount})`;
12980
+ }
12962
12981
 
12963
12982
  // src/utils/date.ts
12964
12983
  function toPrettyDate(date, format) {
@@ -13257,7 +13276,7 @@ var Button2 = (0, import_react16.forwardRef)(
13257
13276
  disabled,
13258
13277
  ...props,
13259
13278
  children: [
13260
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Loader, { $size: "sm", $isLoading: isLoading }),
13279
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Loader, { $size: "sm", $isLoading: isLoading }),
13261
13280
  children
13262
13281
  ]
13263
13282
  }
@@ -13570,60 +13589,64 @@ var icons_default = {
13570
13589
  "folder-plus": 61753,
13571
13590
  folder: 61754,
13572
13591
  "generic-payment": 61755,
13573
- glasses: 61756,
13574
- globe: 61757,
13575
- hammer: 61758,
13576
- hash: 61759,
13577
- heart: 61760,
13578
- hubspot: 61761,
13579
- image: 61762,
13580
- "info-rounded": 61763,
13581
- juice: 61764,
13582
- key: 61765,
13583
- link: 61766,
13584
- mastercard: 61767,
13585
- music: 61768,
13586
- "node-minus": 61769,
13587
- "node-plus": 61770,
13588
- package: 61771,
13589
- "paper-plane": 61772,
13590
- paypal: 61773,
13591
- pencil: 61774,
13592
- percent: 61775,
13593
- picker: 61776,
13594
- plan: 61777,
13595
- plug: 61778,
13596
- "plus-minus": 61779,
13597
- "plus-rounded-outline": 61780,
13598
- present: 61781,
13599
- schematic: 61782,
13600
- search: 61783,
13601
- segment: 61784,
13602
- "server-search": 61785,
13603
- sidebar: 61786,
13604
- signal: 61787,
13605
- silence: 61788,
13606
- spade: 61789,
13607
- speaker: 61790,
13608
- stacked: 61791,
13609
- stacks: 61792,
13610
- stripe: 61793,
13611
- text: 61794,
13612
- thunder: 61795,
13613
- tornado: 61796,
13614
- truck: 61797,
13615
- tube: 61798,
13616
- unprotected: 61799,
13617
- verified: 61800,
13618
- "video-camera": 61801,
13619
- visa: 61802,
13620
- wallet: 61803,
13621
- "watch-hand": 61804,
13622
- "watch-pocket": 61805,
13623
- "water-drop": 61806,
13624
- waves: 61807,
13625
- webhook: 61808,
13626
- wind: 61809
13592
+ github: 61756,
13593
+ glasses: 61757,
13594
+ globe: 61758,
13595
+ google: 61759,
13596
+ hammer: 61760,
13597
+ hash: 61761,
13598
+ heart: 61762,
13599
+ hubspot: 61763,
13600
+ image: 61764,
13601
+ "info-rounded": 61765,
13602
+ juice: 61766,
13603
+ key: 61767,
13604
+ link: 61768,
13605
+ mastercard: 61769,
13606
+ move: 61770,
13607
+ music: 61771,
13608
+ "node-minus": 61772,
13609
+ "node-plus": 61773,
13610
+ package: 61774,
13611
+ "paper-plane": 61775,
13612
+ paypal: 61776,
13613
+ pencil: 61777,
13614
+ percent: 61778,
13615
+ picker: 61779,
13616
+ plan: 61780,
13617
+ plug: 61781,
13618
+ "plus-minus": 61782,
13619
+ "plus-rounded-outline": 61783,
13620
+ present: 61784,
13621
+ schematic: 61785,
13622
+ search: 61786,
13623
+ segment: 61787,
13624
+ "server-search": 61788,
13625
+ sidebar: 61789,
13626
+ signal: 61790,
13627
+ silence: 61791,
13628
+ spade: 61792,
13629
+ speaker: 61793,
13630
+ stacked: 61794,
13631
+ stacks: 61795,
13632
+ stripe: 61796,
13633
+ text: 61797,
13634
+ thunder: 61798,
13635
+ tornado: 61799,
13636
+ truck: 61800,
13637
+ tube: 61801,
13638
+ unprotected: 61802,
13639
+ unsubscribe: 61803,
13640
+ verified: 61804,
13641
+ "video-camera": 61805,
13642
+ visa: 61806,
13643
+ wallet: 61807,
13644
+ "watch-hand": 61808,
13645
+ "watch-pocket": 61809,
13646
+ "water-drop": 61810,
13647
+ waves: 61811,
13648
+ webhook: 61812,
13649
+ wind: 61813
13627
13650
  };
13628
13651
 
13629
13652
  // src/components/ui/icon/IconRound.tsx
@@ -13744,12 +13767,27 @@ var spin = mt`
13744
13767
  var Loader = dt.div`
13745
13768
  display: inline-block;
13746
13769
  border-style: solid;
13747
- border-color: hsla(0, 0%, 50%, 0.125);
13748
- border-top-color: ${({ theme, $color }) => $color || theme.primary};
13749
13770
  border-radius: 50%;
13750
13771
  transition: all 0.1s;
13751
13772
  animation: 1.5s linear infinite ${spin};
13752
13773
 
13774
+ ${({ $color, theme }) => {
13775
+ const { l: l2 } = hexToHSL(theme.card.background);
13776
+ let color = $color;
13777
+ let colorFn;
13778
+ if (l2 > 50) {
13779
+ color = color ?? "#000000";
13780
+ colorFn = lighten;
13781
+ } else {
13782
+ color = color ?? "#FFFFFF";
13783
+ colorFn = darken;
13784
+ }
13785
+ return lt`
13786
+ border-color: ${color};
13787
+ border-top-color: ${colorFn(color, 42.5)};
13788
+ `;
13789
+ }}
13790
+
13753
13791
  ${({ $size = "md", $isLoading = true }) => {
13754
13792
  let px;
13755
13793
  switch ($size) {
@@ -14233,7 +14271,7 @@ var Root = (0, import_react20.forwardRef)(
14233
14271
  Root.displayName = "Root";
14234
14272
 
14235
14273
  // src/components/layout/viewport/Viewport.tsx
14236
- var import_react29 = require("react");
14274
+ var import_react28 = require("react");
14237
14275
  var import_react_dom2 = require("react-dom");
14238
14276
 
14239
14277
  // src/components/shared/checkout-dialog/CheckoutDialog.tsx
@@ -14366,7 +14404,8 @@ var StageButton = ({
14366
14404
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
14367
14405
  EmbedButton,
14368
14406
  {
14369
- disabled: isLoading || !canCheckout,
14407
+ type: "button",
14408
+ disabled: isLoading || !canUpdateSubscription,
14370
14409
  onClick: checkout,
14371
14410
  isLoading,
14372
14411
  children: t2("Subscribe and close")
@@ -14379,9 +14418,10 @@ var StageButton = ({
14379
14418
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
14380
14419
  EmbedButton,
14381
14420
  {
14421
+ type: "button",
14382
14422
  disabled: !hasAddOns && !canUpdateSubscription,
14383
14423
  onClick: async () => {
14384
- setCheckoutStage("checkout");
14424
+ setCheckoutStage?.("checkout");
14385
14425
  },
14386
14426
  isLoading,
14387
14427
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
@@ -14405,6 +14445,7 @@ var StageButton = ({
14405
14445
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
14406
14446
  EmbedButton,
14407
14447
  {
14448
+ type: "button",
14408
14449
  disabled: !canUpdateSubscription,
14409
14450
  onClick: async () => {
14410
14451
  checkout();
@@ -14426,7 +14467,7 @@ var StageButton = ({
14426
14467
  }
14427
14468
  );
14428
14469
  }
14429
- if (!requiresPayment && !checkoutStages.some(
14470
+ if (!requiresPayment && !checkoutStages?.some(
14430
14471
  (stage) => stage.id === "addons" || stage.id === "usage"
14431
14472
  )) {
14432
14473
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(NoPaymentRequired, {});
@@ -14434,9 +14475,10 @@ var StageButton = ({
14434
14475
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
14435
14476
  EmbedButton,
14436
14477
  {
14478
+ type: "button",
14437
14479
  disabled: !canUpdateSubscription,
14438
14480
  onClick: async () => {
14439
- setCheckoutStage(
14481
+ setCheckoutStage?.(
14440
14482
  hasPayInAdvanceEntitlements ? "usage" : hasAddOns ? "addons" : "checkout"
14441
14483
  );
14442
14484
  },
@@ -14467,9 +14509,10 @@ var StageButton = ({
14467
14509
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
14468
14510
  EmbedButton,
14469
14511
  {
14512
+ type: "button",
14470
14513
  disabled: !canUpdateSubscription,
14471
14514
  onClick: async () => {
14472
- setCheckoutStage(hasAddOns ? "addons" : "checkout");
14515
+ setCheckoutStage?.(hasAddOns ? "addons" : "checkout");
14473
14516
  },
14474
14517
  isLoading,
14475
14518
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
@@ -14497,9 +14540,10 @@ var StageButton = ({
14497
14540
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
14498
14541
  EmbedButton,
14499
14542
  {
14543
+ type: "button",
14500
14544
  disabled: !canUpdateSubscription,
14501
14545
  onClick: async () => {
14502
- setCheckoutStage("checkout");
14546
+ setCheckoutStage?.("checkout");
14503
14547
  },
14504
14548
  isLoading,
14505
14549
  children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
@@ -14527,6 +14571,7 @@ var StageButton = ({
14527
14571
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
14528
14572
  EmbedButton,
14529
14573
  {
14574
+ type: "button",
14530
14575
  disabled: isLoading || !canCheckout,
14531
14576
  onClick: checkout,
14532
14577
  isLoading,
@@ -14539,33 +14584,49 @@ var StageButton = ({
14539
14584
  // src/components/shared/sidebar/Sidebar.tsx
14540
14585
  var import_jsx_runtime12 = require("react/jsx-runtime");
14541
14586
  var Sidebar = ({
14587
+ planPeriod,
14588
+ selectedPlan,
14542
14589
  addOns,
14590
+ usageBasedEntitlements,
14543
14591
  charges,
14544
14592
  checkoutRef,
14545
14593
  checkoutStage,
14546
14594
  checkoutStages,
14547
- currentAddOns,
14548
- currentUsageBasedEntitlements,
14549
14595
  error,
14550
- currentPlan,
14551
14596
  isLoading,
14552
14597
  paymentMethodId,
14553
- planPeriod,
14554
14598
  promoCode,
14555
14599
  requiresPayment,
14556
- selectedPlan,
14557
14600
  setCheckoutStage,
14558
14601
  setError,
14602
+ setIsLoading,
14559
14603
  showPaymentForm,
14560
- toggleLoading,
14561
14604
  updatePromoCode,
14562
- usageBasedEntitlements,
14563
14605
  showHeader = true
14564
14606
  }) => {
14565
14607
  const { t: t2 } = useTranslation();
14566
14608
  const theme = nt();
14567
- const { api, data, mode, layout, setLayout } = useEmbed();
14609
+ const { api, data, mode, layout, hydrate, setLayout } = useEmbed();
14568
14610
  const isLightBackground = useIsLightBackground();
14611
+ const currentPlan = data.company?.plan;
14612
+ const currentAddOns = data.company?.addOns || [];
14613
+ const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
14614
+ (acc, usageData) => {
14615
+ const featureUsage = data.featureUsage?.features.find(
14616
+ (usage2) => usage2.feature?.id === usageData.featureId
14617
+ );
14618
+ const allocation = featureUsage?.allocation || 0;
14619
+ const usage = featureUsage?.usage || 0;
14620
+ acc.push({
14621
+ usageData,
14622
+ allocation,
14623
+ quantity: allocation ?? usage,
14624
+ usage
14625
+ });
14626
+ return acc;
14627
+ },
14628
+ []
14629
+ );
14569
14630
  const payInAdvanceEntitlements = usageBasedEntitlements.filter(
14570
14631
  ({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
14571
14632
  );
@@ -14573,15 +14634,17 @@ var Sidebar = ({
14573
14634
  ({ entitlement }) => entitlement.priceBehavior === "pay_as_you_go"
14574
14635
  );
14575
14636
  const subscriptionPrice = (0, import_react21.useMemo)(() => {
14576
- const plan = selectedPlan || currentPlan;
14577
- if (!plan || !plan.monthlyPrice || !plan.yearlyPrice) {
14578
- return;
14579
- }
14580
14637
  let total = 0;
14581
- const planPrice = (planPeriod === "month" ? plan.monthlyPrice : plan.yearlyPrice)?.price;
14582
- const currency = (planPeriod === "month" ? plan?.monthlyPrice : plan?.yearlyPrice)?.currency;
14583
- if (planPrice) {
14584
- total += planPrice;
14638
+ let planPrice;
14639
+ let currency;
14640
+ if (selectedPlan) {
14641
+ planPrice = planPeriod === "month" ? selectedPlan.monthlyPrice?.price : selectedPlan.yearlyPrice?.price;
14642
+ currency = planPeriod === "month" ? selectedPlan.monthlyPrice?.currency : selectedPlan.yearlyPrice?.currency;
14643
+ if (planPrice) {
14644
+ total += planPrice;
14645
+ }
14646
+ } else if (typeof currentPlan?.planPrice === "number") {
14647
+ planPrice = currentPlan.planPrice;
14585
14648
  }
14586
14649
  const addOnCost = addOns.reduce(
14587
14650
  (sum, addOn) => sum + (addOn.isSelected ? (planPeriod === "month" ? addOn.monthlyPrice : addOn.yearlyPrice)?.price ?? 0 : 0),
@@ -14612,7 +14675,7 @@ var Sidebar = ({
14612
14675
  }
14613
14676
  try {
14614
14677
  setError(void 0);
14615
- toggleLoading();
14678
+ setIsLoading(true);
14616
14679
  await api.checkout({
14617
14680
  changeSubscriptionRequestBody: {
14618
14681
  newPlanId: selectedPlan.id,
@@ -14646,24 +14709,28 @@ var Sidebar = ({
14646
14709
  ...promoCode && { promoCode }
14647
14710
  }
14648
14711
  });
14649
- setLayout("success");
14712
+ setIsLoading(false);
14713
+ setLayout("portal");
14714
+ hydrate();
14650
14715
  } catch {
14716
+ setLayout("checkout");
14651
14717
  setError(
14652
14718
  t2("Error processing payment. Please try a different payment method.")
14653
14719
  );
14654
14720
  } finally {
14655
- toggleLoading();
14721
+ setIsLoading(false);
14656
14722
  }
14657
14723
  }, [
14658
14724
  t2,
14659
14725
  api,
14726
+ hydrate,
14660
14727
  paymentMethodId,
14661
14728
  planPeriod,
14662
14729
  selectedPlan,
14663
14730
  addOns,
14664
14731
  setError,
14732
+ setIsLoading,
14665
14733
  setLayout,
14666
- toggleLoading,
14667
14734
  payInAdvanceEntitlements,
14668
14735
  promoCode
14669
14736
  ]);
@@ -14673,15 +14740,17 @@ var Sidebar = ({
14673
14740
  }
14674
14741
  try {
14675
14742
  setError(void 0);
14676
- toggleLoading();
14743
+ setIsLoading(true);
14677
14744
  await api.checkoutUnsubscribe();
14678
- setError("success");
14745
+ setLayout("portal");
14746
+ hydrate();
14679
14747
  } catch {
14748
+ setLayout("unsubscribe");
14680
14749
  setError(t2("Unsubscribe failed"));
14681
14750
  } finally {
14682
- toggleLoading();
14751
+ setIsLoading(false);
14683
14752
  }
14684
- }, [api, setError, t2, toggleLoading]);
14753
+ }, [t2, api, hydrate, setError, setIsLoading, setLayout]);
14685
14754
  const selectedAddOns = addOns.filter((addOn) => addOn.isSelected);
14686
14755
  const willPlanChange = typeof selectedPlan !== "undefined" && !selectedPlan.current;
14687
14756
  const canUpdateSubscription = mode === "edit" || api !== null && (willPlanChange || // TODO: test add-on comparison for finding "changes"
@@ -14718,12 +14787,12 @@ var Sidebar = ({
14718
14787
  (acc, current) => {
14719
14788
  const match2 = usageBasedEntitlements.every(
14720
14789
  ({ entitlement }) => entitlement.featureId !== current.usageData.featureId
14721
- ) && currentPlan?.entitlements.find(
14722
- (entitlement) => entitlement.featureId === current.usageData.featureId
14790
+ ) && data.featureUsage?.features.find(
14791
+ (usage) => usage.feature?.id === current.usageData.featureId
14723
14792
  );
14724
14793
  if (match2) {
14725
14794
  acc.push({
14726
- entitlement: match2,
14795
+ usage: match2,
14727
14796
  allocation: current.allocation,
14728
14797
  quantity: current.quantity
14729
14798
  });
@@ -14933,9 +15002,9 @@ var Sidebar = ({
14933
15002
  }
14934
15003
  ) }),
14935
15004
  removedUsageBasedEntitlements.reduce(
14936
- (acc, { allocation, quantity, entitlement }) => {
14937
- if (typeof allocation === "number" && entitlement.feature?.name) {
14938
- const price = (planPeriod === "month" ? entitlement.meteredMonthlyPrice : entitlement.meteredYearlyPrice)?.price;
15005
+ (acc, { allocation, quantity, usage }) => {
15006
+ if (typeof allocation === "number" && usage.feature?.name) {
15007
+ const price = (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.price;
14939
15008
  acc.push(
14940
15009
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
14941
15010
  Flex,
@@ -14954,11 +15023,11 @@ var Sidebar = ({
14954
15023
  $size: theme.typography.heading4.fontSize,
14955
15024
  $weight: theme.typography.heading4.fontWeight,
14956
15025
  $color: theme.typography.heading4.color,
14957
- children: entitlement.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
15026
+ children: usage.priceBehavior === "pay_in_advance" ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
14958
15027
  quantity,
14959
15028
  " ",
14960
- (0, import_pluralize.default)(entitlement.feature.name, quantity)
14961
- ] }) : entitlement.feature.name
15029
+ (0, import_pluralize.default)(usage.feature.name, quantity)
15030
+ ] }) : usage.feature.name
14962
15031
  }
14963
15032
  ) }),
14964
15033
  /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $whiteSpace: "nowrap", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
@@ -14969,25 +15038,25 @@ var Sidebar = ({
14969
15038
  $weight: theme.typography.text.fontWeight,
14970
15039
  $color: theme.typography.text.color,
14971
15040
  children: [
14972
- entitlement.priceBehavior === "pay_in_advance" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
15041
+ usage.priceBehavior === "pay_in_advance" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
14973
15042
  formatCurrency(
14974
15043
  price * quantity,
14975
- (planPeriod === "month" ? entitlement.meteredMonthlyPrice : entitlement.meteredYearlyPrice)?.currency
15044
+ (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
14976
15045
  ),
14977
15046
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("sub", { children: [
14978
15047
  "/",
14979
15048
  shortenPeriod(planPeriod)
14980
15049
  ] })
14981
15050
  ] }),
14982
- entitlement.priceBehavior === "pay_as_you_go" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
15051
+ usage.priceBehavior === "pay_as_you_go" && typeof price === "number" && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
14983
15052
  formatCurrency(
14984
15053
  price,
14985
- (planPeriod === "month" ? entitlement.meteredMonthlyPrice : entitlement.meteredYearlyPrice)?.currency
15054
+ (planPeriod === "month" ? usage.monthlyUsageBasedPrice : usage.yearlyUsageBasedPrice)?.currency
14986
15055
  ),
14987
15056
  /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("sub", { children: [
14988
15057
  "/",
14989
15058
  (0, import_pluralize.default)(
14990
- entitlement.feature.name.toLowerCase(),
15059
+ usage.feature.name.toLowerCase(),
14991
15060
  1
14992
15061
  )
14993
15062
  ] })
@@ -14997,7 +15066,7 @@ var Sidebar = ({
14997
15066
  ) })
14998
15067
  ]
14999
15068
  },
15000
- entitlement.id
15069
+ usage.entitlementId
15001
15070
  )
15002
15071
  );
15003
15072
  }
@@ -15332,7 +15401,7 @@ var Sidebar = ({
15332
15401
  children: proration > 0 ? t2("Proration") : !selectedPlan?.companyCanTrial && t2("Credits")
15333
15402
  }
15334
15403
  ) }),
15335
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan?.current && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
15404
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { $flexDirection: "column", $gap: "0.5rem", children: currentPlan && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
15336
15405
  Flex,
15337
15406
  {
15338
15407
  $justifyContent: "space-between",
@@ -15420,7 +15489,7 @@ var Sidebar = ({
15420
15489
  {
15421
15490
  $cursor: "pointer",
15422
15491
  onClick: () => {
15423
- updatePromoCode(void 0);
15492
+ updatePromoCode?.(void 0);
15424
15493
  },
15425
15494
  children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
15426
15495
  Icon2,
@@ -15633,16 +15702,7 @@ var Sidebar = ({
15633
15702
  trialPaymentMethodRequired: data.trialPaymentMethodRequired === true
15634
15703
  }
15635
15704
  ),
15636
- layout === "unsubscribe" && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
15637
- EmbedButton,
15638
- {
15639
- onClick: async () => {
15640
- unsubscribe();
15641
- },
15642
- isLoading,
15643
- children: t2("Cancel subscription")
15644
- }
15645
- ),
15705
+ layout === "unsubscribe" && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(EmbedButton, { onClick: unsubscribe, isLoading, children: t2("Cancel subscription") }),
15646
15706
  !isLoading && error && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
15647
15707
  Text,
15648
15708
  {
@@ -15839,15 +15899,7 @@ var Plan = ({
15839
15899
  $padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
15840
15900
  children: [
15841
15901
  /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
15842
- plan.entitlements.slice().sort((a2, b2) => {
15843
- if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
15844
- return 1;
15845
- }
15846
- if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
15847
- return -1;
15848
- }
15849
- return 0;
15850
- }).reduce((acc, entitlement) => {
15902
+ plan.entitlements.reduce((acc, entitlement) => {
15851
15903
  const hasNumericValue = entitlement.valueType === "numeric" || entitlement.valueType === "unlimited" || entitlement.valueType === "trait";
15852
15904
  let metricPeriodText;
15853
15905
  if (hasNumericValue && entitlement.metricPeriod) {
@@ -15993,7 +16045,8 @@ var Plan = ({
15993
16045
  ) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
15994
16046
  EmbedButton,
15995
16047
  {
15996
- disabled: isLoading || !plan.valid,
16048
+ type: "button",
16049
+ disabled: (isLoading || !plan.valid) && !plan.custom,
15997
16050
  ...{
15998
16051
  onClick: () => {
15999
16052
  if (plan.custom) {
@@ -16130,6 +16183,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
16130
16183
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Flex, { $flexDirection: "column", $justifyContent: "end", $flexGrow: "1", children: !addOn.isSelected ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
16131
16184
  EmbedButton,
16132
16185
  {
16186
+ type: "button",
16133
16187
  disabled: isLoading || !addOn.valid,
16134
16188
  onClick: () => toggle(addOn.id),
16135
16189
  $size: "sm",
@@ -16140,6 +16194,7 @@ var AddOns = ({ addOns, toggle, isLoading, period }) => {
16140
16194
  ) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
16141
16195
  EmbedButton,
16142
16196
  {
16197
+ type: "button",
16143
16198
  disabled: isLoading || !addOn.valid,
16144
16199
  onClick: () => toggle(addOn.id),
16145
16200
  $size: "sm",
@@ -16178,15 +16233,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
16178
16233
  const cardPadding = theme.card.padding / TEXT_BASE_SIZE;
16179
16234
  const unitPriceFontSize = 0.875 * theme.typography.text.fontSize;
16180
16235
  const unitPriceColor = hexToHSL(theme.typography.text.color).l > 50 ? darken(theme.typography.text.color, 0.46) : lighten(theme.typography.text.color, 0.46);
16181
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.slice().sort((a2, b2) => {
16182
- if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name > b2.entitlement.feature?.name) {
16183
- return 1;
16184
- }
16185
- if (a2.entitlement.feature?.name && b2.entitlement.feature?.name && a2.entitlement.feature?.name < b2.entitlement.feature?.name) {
16186
- return -1;
16187
- }
16188
- return 0;
16189
- }).reduce(
16236
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Flex, { $flexDirection: "column", $gap: "1rem", children: entitlements.reduce(
16190
16237
  (acc, { entitlement, quantity, usage }) => {
16191
16238
  if (entitlement.priceBehavior === "pay_in_advance" && entitlement.feature) {
16192
16239
  acc.push(
@@ -16319,10 +16366,7 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
16319
16366
  ),
16320
16367
  /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("sub", { children: [
16321
16368
  "/",
16322
- (0, import_pluralize3.default)(
16323
- entitlement.feature.name.toLowerCase(),
16324
- 1
16325
- ),
16369
+ (0, import_pluralize3.default)(entitlement.feature.name.toLowerCase(), 1),
16326
16370
  "/",
16327
16371
  shortenPeriod(period)
16328
16372
  ] })
@@ -16348,6 +16392,10 @@ var Usage = ({ entitlements, updateQuantity, period }) => {
16348
16392
  var import_react23 = require("react");
16349
16393
 
16350
16394
  // node_modules/@stripe/stripe-js/dist/index.mjs
16395
+ var RELEASE_TRAIN = "v3";
16396
+ var runtimeVersionToUrlVersion = function runtimeVersionToUrlVersion2(version) {
16397
+ return version === 3 ? "v3" : version;
16398
+ };
16351
16399
  var ORIGIN = "https://js.stripe.com";
16352
16400
  var STRIPE_JS_URL = "".concat(ORIGIN, "/v3");
16353
16401
  var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
@@ -16384,7 +16432,7 @@ var registerWrapper = function registerWrapper2(stripe, startTime) {
16384
16432
  }
16385
16433
  stripe._registerWrapper({
16386
16434
  name: "stripe-js",
16387
- version: "5.7.0",
16435
+ version: "5.10.0",
16388
16436
  startTime
16389
16437
  });
16390
16438
  };
@@ -16392,8 +16440,10 @@ var stripePromise$1 = null;
16392
16440
  var onErrorListener = null;
16393
16441
  var onLoadListener = null;
16394
16442
  var onError = function onError2(reject) {
16395
- return function() {
16396
- reject(new Error("Failed to load Stripe.js"));
16443
+ return function(cause) {
16444
+ reject(new Error("Failed to load Stripe.js", {
16445
+ cause
16446
+ }));
16397
16447
  };
16398
16448
  };
16399
16449
  var onLoad = function onLoad2(resolve, reject) {
@@ -16452,6 +16502,13 @@ var initStripe = function initStripe2(maybeStripe, args, startTime) {
16452
16502
  if (maybeStripe === null) {
16453
16503
  return null;
16454
16504
  }
16505
+ var pk = args[0];
16506
+ var isTestKey = pk.match(/^pk_test/);
16507
+ var version = runtimeVersionToUrlVersion(maybeStripe.version);
16508
+ var expectedVersion = RELEASE_TRAIN;
16509
+ if (isTestKey && version !== expectedVersion) {
16510
+ 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"));
16511
+ }
16455
16512
  var stripe = maybeStripe.apply(void 0, args);
16456
16513
  registerWrapper(stripe, startTime);
16457
16514
  return stripe;
@@ -16687,30 +16744,14 @@ var CheckoutDialog = ({ top = 0 }) => {
16687
16744
  (plan) => selected.planId ? plan.id === selected.planId : plan.current
16688
16745
  )
16689
16746
  );
16690
- const currentAddOns = data.company?.addOns || [];
16691
16747
  const [addOns, setAddOns] = (0, import_react24.useState)(
16692
16748
  () => availableAddOns.map((addOn) => ({
16693
16749
  ...addOn,
16694
- isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId : currentAddOns.some((currentAddOn) => addOn.id === currentAddOn.id)
16750
+ isSelected: typeof selected.addOnId !== "undefined" ? addOn.id === selected.addOnId : (data.company?.addOns || []).some(
16751
+ (currentAddOn) => addOn.id === currentAddOn.id
16752
+ )
16695
16753
  }))
16696
16754
  );
16697
- const currentUsageBasedEntitlements = data.activeUsageBasedEntitlements.reduce(
16698
- (acc, usageData) => {
16699
- const featureUsage = data.featureUsage?.features.find(
16700
- (usage2) => usage2.feature?.id === usageData.featureId
16701
- );
16702
- const allocation = featureUsage?.allocation || 0;
16703
- const usage = featureUsage?.usage || 0;
16704
- acc.push({
16705
- usageData,
16706
- allocation,
16707
- quantity: allocation ?? usage,
16708
- usage
16709
- });
16710
- return acc;
16711
- },
16712
- []
16713
- );
16714
16755
  const createActiveUsageBasedEntitlementsReducer = (0, import_react24.useCallback)(
16715
16756
  (period = planPeriod) => (acc, entitlement) => {
16716
16757
  if (entitlement.priceBehavior && (period === "month" && entitlement.meteredMonthlyPrice || period === "year" && entitlement.meteredYearlyPrice)) {
@@ -16736,12 +16777,6 @@ var CheckoutDialog = ({ top = 0 }) => {
16736
16777
  []
16737
16778
  )
16738
16779
  );
16739
- const currentPlan = (0, import_react24.useMemo)(
16740
- () => availablePlans.find(
16741
- (plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
16742
- ),
16743
- [data.company?.plan, planPeriod, availablePlans]
16744
- );
16745
16780
  const payInAdvanceEntitlements = (0, import_react24.useMemo)(
16746
16781
  () => usageBasedEntitlements.filter(
16747
16782
  ({ entitlement }) => entitlement.priceBehavior === "pay_in_advance"
@@ -16798,7 +16833,7 @@ var CheckoutDialog = ({ top = 0 }) => {
16798
16833
  if (selected.usage) {
16799
16834
  return "usage";
16800
16835
  }
16801
- if (selected.planId !== currentPlan?.id) {
16836
+ if (selected.planId !== data.company?.plan?.id) {
16802
16837
  return checkoutStages.some((stage) => stage.id === "usage") ? "usage" : checkoutStages.some((stage) => stage.id === "addons") ? "addons" : "plan";
16803
16838
  }
16804
16839
  return "plan";
@@ -17143,27 +17178,24 @@ var CheckoutDialog = ({ top = 0 }) => {
17143
17178
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
17144
17179
  Sidebar,
17145
17180
  {
17181
+ planPeriod,
17182
+ selectedPlan,
17146
17183
  addOns,
17184
+ usageBasedEntitlements,
17147
17185
  charges,
17148
17186
  checkoutRef,
17149
17187
  checkoutStage,
17150
17188
  checkoutStages,
17151
- currentAddOns,
17152
- currentUsageBasedEntitlements,
17153
17189
  error,
17154
- currentPlan,
17155
17190
  isLoading,
17156
17191
  paymentMethodId,
17157
- planPeriod,
17158
17192
  promoCode,
17159
17193
  requiresPayment,
17160
- selectedPlan,
17161
17194
  setCheckoutStage: (stage) => setCheckoutStage(stage),
17162
17195
  setError: (msg) => setError(msg),
17196
+ setIsLoading,
17163
17197
  showPaymentForm,
17164
- toggleLoading: () => setIsLoading((prev2) => !prev2),
17165
- updatePromoCode: (code) => updatePromoCode(code),
17166
- usageBasedEntitlements
17198
+ updatePromoCode: (code) => updatePromoCode(code)
17167
17199
  }
17168
17200
  )
17169
17201
  ]
@@ -17364,65 +17396,45 @@ var import_jsx_runtime20 = require("react/jsx-runtime");
17364
17396
  var UnsubscribeDialog = () => {
17365
17397
  const { t: t2 } = useTranslation();
17366
17398
  const theme = nt();
17367
- const { data, setSelected } = useEmbed();
17399
+ const { data, setLayout, setSelected } = useEmbed();
17368
17400
  const [error, setError] = (0, import_react27.useState)();
17369
17401
  const [isLoading, setIsLoading] = (0, import_react27.useState)(false);
17370
17402
  const planPeriod = (0, import_react27.useMemo)(
17371
17403
  () => data.company?.plan?.planPeriod ?? "month",
17372
17404
  [data.company?.plan?.planPeriod]
17373
17405
  );
17374
- const { setLayout } = useEmbed();
17375
- const currentPlan = (0, import_react27.useMemo)(
17376
- () => ({
17377
- ...data.company?.plan,
17378
- monthlyPrice: { price: data.company?.plan?.planPrice },
17379
- yearlyPrice: { price: data.company?.plan?.planPrice }
17380
- }),
17381
- [data.company?.plan]
17382
- );
17383
- const currentAddOns = (0, import_react27.useMemo)(
17384
- () => data.company?.addOns || [],
17385
- [data.company?.addOns]
17386
- );
17387
- const addOns = (0, import_react27.useMemo)(
17388
- () => currentAddOns.map((addOn) => ({
17389
- ...addOn,
17390
- isSelected: true,
17391
- monthlyPrice: {
17392
- price: addOn.planPrice
17393
- },
17394
- yearlyPrice: {
17395
- price: addOn.planPrice
17396
- }
17397
- })),
17398
- [currentAddOns]
17406
+ const { plans: availablePlans, addOns: availableAddOns } = useAvailablePlans(planPeriod);
17407
+ const selectedPlan = (0, import_react27.useMemo)(
17408
+ () => availablePlans.find(
17409
+ (plan) => plan.id === data.company?.plan?.id && data.company?.plan.planPeriod === planPeriod
17410
+ ),
17411
+ [data.company?.plan, planPeriod, availablePlans]
17399
17412
  );
17400
- const currentUsageBasedEntitlements = (0, import_react27.useMemo)(
17401
- () => data.activeUsageBasedEntitlements.reduce(
17402
- (acc, usageData) => {
17413
+ const usageBasedEntitlements = (selectedPlan?.entitlements || []).reduce(
17414
+ (acc, entitlement) => {
17415
+ if (entitlement.priceBehavior && (planPeriod === "month" && entitlement.meteredMonthlyPrice || planPeriod === "year" && entitlement.meteredYearlyPrice)) {
17403
17416
  const featureUsage = data.featureUsage?.features.find(
17404
- (usage2) => usage2.feature?.id === usageData.featureId
17417
+ (usage2) => usage2.feature?.id === entitlement.feature?.id
17405
17418
  );
17406
17419
  const allocation = featureUsage?.allocation ?? 0;
17407
17420
  const usage = featureUsage?.usage ?? 0;
17408
17421
  acc.push({
17409
- entitlement: {
17410
- ...usageData,
17411
- id: featureUsage?.entitlementId ?? usageData.featureId,
17412
- feature: featureUsage?.feature,
17413
- meteredMonthlyPrice: usageData.meteredPrice,
17414
- meteredYearlyPrice: usageData.meteredPrice
17415
- },
17416
- usageData,
17422
+ entitlement,
17417
17423
  allocation,
17418
- quantity: allocation ?? usage,
17424
+ quantity: allocation,
17419
17425
  usage
17420
17426
  });
17421
- return acc;
17422
- },
17423
- []
17424
- ),
17425
- [data.activeUsageBasedEntitlements, data.featureUsage?.features]
17427
+ }
17428
+ return acc;
17429
+ },
17430
+ []
17431
+ );
17432
+ const addOns = (0, import_react27.useMemo)(
17433
+ () => availableAddOns.map((available) => ({
17434
+ ...available,
17435
+ isSelected: data.company?.addOns.some((current) => available.id === current.id) ?? false
17436
+ })),
17437
+ [data.company?.addOns, availableAddOns]
17426
17438
  );
17427
17439
  const cancelDate = new Date(
17428
17440
  data.subscription?.cancelAt || data.upcomingInvoice?.dueDate || Date.now()
@@ -17525,7 +17537,7 @@ var UnsubscribeDialog = () => {
17525
17537
  {
17526
17538
  onClick: () => {
17527
17539
  setSelected({
17528
- planId: currentPlan?.id,
17540
+ planId: data.company?.plan?.id,
17529
17541
  addOnId: void 0,
17530
17542
  usage: false
17531
17543
  });
@@ -17545,25 +17557,16 @@ var UnsubscribeDialog = () => {
17545
17557
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
17546
17558
  Sidebar,
17547
17559
  {
17560
+ planPeriod,
17548
17561
  addOns,
17549
- checkoutStage: "checkout",
17550
- checkoutStages: [],
17551
- currentAddOns,
17552
- currentUsageBasedEntitlements,
17562
+ usageBasedEntitlements,
17553
17563
  error,
17554
- currentPlan,
17555
17564
  isLoading,
17556
- planPeriod,
17565
+ showHeader: false,
17566
+ showPaymentForm: false,
17557
17567
  requiresPayment: false,
17558
- setCheckoutStage: () => {
17559
- },
17560
17568
  setError: (msg) => setError(msg),
17561
- showPaymentForm: false,
17562
- toggleLoading: () => setIsLoading((prev2) => !prev2),
17563
- updatePromoCode: () => {
17564
- },
17565
- usageBasedEntitlements: currentUsageBasedEntitlements,
17566
- showHeader: false
17569
+ setIsLoading
17567
17570
  }
17568
17571
  )
17569
17572
  ]
@@ -17679,7 +17682,6 @@ var Badge = () => {
17679
17682
  };
17680
17683
 
17681
17684
  // src/components/layout/RenderLayout.tsx
17682
- var import_react28 = require("react");
17683
17685
  var import_jsx_runtime22 = require("react/jsx-runtime");
17684
17686
  var Disabled = () => {
17685
17687
  const theme = nt();
@@ -17718,71 +17720,11 @@ var Disabled = () => {
17718
17720
  }
17719
17721
  ) }) });
17720
17722
  };
17721
- var Success = () => {
17722
- const theme = nt();
17723
- const { hydrate, data, api, setLayout, isPending } = useEmbed();
17724
- const [isOpen, setIsOpen] = (0, import_react28.useState)(true);
17725
- (0, import_react28.useEffect)(() => {
17726
- if (api && data.component?.id) {
17727
- hydrate();
17728
- setTimeout(() => setIsOpen(false), 2e3);
17729
- }
17730
- }, [api, data.component?.id, hydrate]);
17731
- (0, import_react28.useEffect)(() => {
17732
- if (!isPending && !isOpen) {
17733
- setLayout("portal");
17734
- }
17735
- }, [isPending, isOpen, setLayout]);
17736
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $width: "max-content", $height: "max-content", $margin: "0 auto", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Card, { children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
17737
- Element,
17738
- {
17739
- as: Flex,
17740
- $flexDirection: "column",
17741
- $justifyContent: "center",
17742
- $alignItems: "center",
17743
- $whiteSpace: "nowrap",
17744
- children: [
17745
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $marginBottom: "1.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
17746
- IconRound,
17747
- {
17748
- name: "check",
17749
- size: "3xl",
17750
- colors: [theme.card.background, theme.primary]
17751
- }
17752
- ) }),
17753
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Box, { $marginBottom: "0.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
17754
- Text,
17755
- {
17756
- as: "h1",
17757
- $font: theme.typography.heading1.fontFamily,
17758
- $size: theme.typography.heading1.fontSize,
17759
- $weight: theme.typography.heading1.fontWeight,
17760
- $color: theme.typography.heading1.color,
17761
- children: "Subscription updated!"
17762
- }
17763
- ) }),
17764
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
17765
- Text,
17766
- {
17767
- as: "p",
17768
- $font: theme.typography.text.fontFamily,
17769
- $size: theme.typography.text.fontSize,
17770
- $weight: theme.typography.text.fontWeight,
17771
- $color: theme.typography.text.color,
17772
- children: "Loading\u2026"
17773
- }
17774
- )
17775
- ]
17776
- }
17777
- ) }) });
17778
- };
17779
17723
  var RenderLayout = ({ children }) => {
17780
17724
  const { layout } = useEmbed();
17781
17725
  switch (layout) {
17782
17726
  case "disabled":
17783
17727
  return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Disabled, {});
17784
- case "success":
17785
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Success, {});
17786
17728
  default:
17787
17729
  return children;
17788
17730
  }
@@ -17808,12 +17750,12 @@ var StyledViewport = dt(Box).attrs(({ theme }) => ({
17808
17750
 
17809
17751
  // src/components/layout/viewport/Viewport.tsx
17810
17752
  var import_jsx_runtime23 = require("react/jsx-runtime");
17811
- var Viewport = (0, import_react29.forwardRef)(
17753
+ var Viewport = (0, import_react28.forwardRef)(
17812
17754
  ({ children, portal, ...props }, ref) => {
17813
17755
  const { data, layout } = useEmbed();
17814
- const [top, setTop] = (0, import_react29.useState)(0);
17756
+ const [top, setTop] = (0, import_react28.useState)(0);
17815
17757
  const canCheckout = data.capabilities?.checkout ?? true;
17816
- (0, import_react29.useLayoutEffect)(() => {
17758
+ (0, import_react28.useLayoutEffect)(() => {
17817
17759
  if (layout !== "checkout" && layout !== "unsubscribe") {
17818
17760
  return;
17819
17761
  }
@@ -17840,10 +17782,10 @@ var Viewport = (0, import_react29.forwardRef)(
17840
17782
  Viewport.displayName = "Viewport";
17841
17783
 
17842
17784
  // src/components/layout/column/Column.tsx
17843
- var import_react31 = require("react");
17785
+ var import_react30 = require("react");
17844
17786
 
17845
17787
  // src/components/layout/card/Card.tsx
17846
- var import_react30 = require("react");
17788
+ var import_react29 = require("react");
17847
17789
 
17848
17790
  // src/components/layout/card/styles.ts
17849
17791
  var Element = dt(Box)``;
@@ -17854,8 +17796,9 @@ var StyledCard = dt.div(({ theme }) => {
17854
17796
  const borderColor = l2 > 50 ? "hsla(0, 0%, 0%, 0.1)" : "hsla(0, 0%, 100%, 0.2)";
17855
17797
  const borderRadius = `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`;
17856
17798
  return lt`
17857
- font-size: ${TEXT_BASE_SIZE}px;
17799
+ position: relative;
17858
17800
  box-sizing: border-box;
17801
+ font-size: ${TEXT_BASE_SIZE}px;
17859
17802
 
17860
17803
  *,
17861
17804
  *::before,
@@ -17887,9 +17830,30 @@ var StyledCard = dt.div(({ theme }) => {
17887
17830
 
17888
17831
  // src/components/layout/card/Card.tsx
17889
17832
  var import_jsx_runtime24 = require("react/jsx-runtime");
17890
- var Card = (0, import_react30.forwardRef)(
17833
+ var Card = (0, import_react29.forwardRef)(
17891
17834
  ({ children, className }, ref) => {
17892
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StyledCard, { ref, className, children });
17835
+ const { isPending } = useEmbed();
17836
+ const theme = nt();
17837
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(StyledCard, { ref, className, children: [
17838
+ isPending && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
17839
+ Flex,
17840
+ {
17841
+ $position: "absolute",
17842
+ $top: 0,
17843
+ $left: 0,
17844
+ $zIndex: 1,
17845
+ $width: "100%",
17846
+ $height: "100%",
17847
+ $justifyContent: "center",
17848
+ $alignItems: "center",
17849
+ $backgroundColor: hsla(theme.card.background, 0.8),
17850
+ $backdropFilter: "blur(8px)",
17851
+ $borderRadius: `${theme.card.borderRadius / TEXT_BASE_SIZE}rem`,
17852
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Loader, { $color: theme.primary })
17853
+ }
17854
+ ),
17855
+ children
17856
+ ] });
17893
17857
  }
17894
17858
  );
17895
17859
  Card.displayName = "Card";
@@ -17901,15 +17865,15 @@ var StyledColumn = dt.div`
17901
17865
 
17902
17866
  // src/components/layout/column/Column.tsx
17903
17867
  var import_jsx_runtime25 = require("react/jsx-runtime");
17904
- var Column = (0, import_react31.forwardRef)(
17868
+ var Column = (0, import_react30.forwardRef)(
17905
17869
  ({ children, basis, ...props }, ref) => {
17906
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StyledColumn, { ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Card, { children }) });
17870
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StyledColumn, { ref, ...props, children: import_react30.Children.count(children) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Card, { children }) : children });
17907
17871
  }
17908
17872
  );
17909
17873
  Column.displayName = "Column";
17910
17874
 
17911
17875
  // src/components/elements/included-features/Details.tsx
17912
- var import_react32 = require("react");
17876
+ var import_react31 = require("react");
17913
17877
  var import_pluralize4 = __toESM(require_pluralize());
17914
17878
  var import_jsx_runtime26 = require("react/jsx-runtime");
17915
17879
  var Details = ({
@@ -17929,7 +17893,7 @@ var Details = ({
17929
17893
  const { t: t2 } = useTranslation();
17930
17894
  const theme = nt();
17931
17895
  const { data } = useEmbed();
17932
- const currency = (0, import_react32.useMemo)(() => {
17896
+ const currency = (0, import_react31.useMemo)(() => {
17933
17897
  if (data.company?.plan?.planPeriod === "month") {
17934
17898
  return monthlyUsageBasedPrice?.currency;
17935
17899
  }
@@ -17941,7 +17905,7 @@ var Details = ({
17941
17905
  monthlyUsageBasedPrice,
17942
17906
  yearlyUsageBasedPrice
17943
17907
  ]);
17944
- const price = (0, import_react32.useMemo)(() => {
17908
+ const price = (0, import_react31.useMemo)(() => {
17945
17909
  if (data.company?.plan?.planPeriod === "month") {
17946
17910
  return monthlyUsageBasedPrice?.price;
17947
17911
  }
@@ -17953,7 +17917,7 @@ var Details = ({
17953
17917
  monthlyUsageBasedPrice,
17954
17918
  yearlyUsageBasedPrice
17955
17919
  ]);
17956
- const text = (0, import_react32.useMemo)(() => {
17920
+ const text = (0, import_react31.useMemo)(() => {
17957
17921
  if (!feature?.name) {
17958
17922
  return;
17959
17923
  }
@@ -17969,8 +17933,8 @@ var Details = ({
17969
17933
  if (!priceBehavior) {
17970
17934
  return t2("Unlimited", { item: (0, import_pluralize4.default)(feature.name) });
17971
17935
  }
17972
- }, [allocation, feature?.name, price, priceBehavior, t2, currency]);
17973
- const usageText = (0, import_react32.useMemo)(() => {
17936
+ }, [t2, allocation, feature?.name, price, priceBehavior, currency]);
17937
+ const usageText = (0, import_react31.useMemo)(() => {
17974
17938
  if (!feature?.name) {
17975
17939
  return;
17976
17940
  }
@@ -17999,12 +17963,12 @@ var Details = ({
17999
17963
  });
18000
17964
  }
18001
17965
  }, [
17966
+ t2,
18002
17967
  allocation,
18003
17968
  data.company?.plan?.planPeriod,
18004
17969
  feature?.name,
18005
17970
  price,
18006
17971
  priceBehavior,
18007
- t2,
18008
17972
  usage,
18009
17973
  usageData,
18010
17974
  currency
@@ -18076,42 +18040,24 @@ function resolveDesignProps(props) {
18076
18040
  visibleFeatures: props.visibleFeatures
18077
18041
  };
18078
18042
  }
18079
- var IncludedFeatures = (0, import_react33.forwardRef)(({ className, ...rest }, ref) => {
18043
+ var IncludedFeatures = (0, import_react32.forwardRef)(({ className, ...rest }, ref) => {
18080
18044
  const props = resolveDesignProps(rest);
18081
18045
  const { t: t2 } = useTranslation();
18082
18046
  const theme = nt();
18083
18047
  const { data } = useEmbed();
18084
- const elements = (0, import_react33.useRef)([]);
18048
+ const elements = (0, import_react32.useRef)([]);
18085
18049
  const shouldWrapChildren = useWrapChildren(elements.current);
18086
18050
  const isLightBackground = useIsLightBackground();
18087
- const [showCount, setShowCount] = (0, import_react33.useState)(VISIBLE_ENTITLEMENT_COUNT);
18088
- const entitlements = (props.visibleFeatures ? props.visibleFeatures : data.featureUsage?.features.sort((a2, b2) => {
18089
- if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
18090
- return 1;
18091
- }
18092
- if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
18093
- return -1;
18094
- }
18095
- return 0;
18096
- }).reduce((acc, usage) => {
18097
- if (usage.feature?.id) {
18098
- acc.push(usage.feature.id);
18099
- }
18100
- return acc;
18101
- }, []) || []).reduce(
18102
- (acc, id) => {
18103
- const mappedFeatureUsage = data.featureUsage?.features.find(
18104
- (usage) => usage.feature?.id === id
18105
- );
18051
+ const [showCount, setShowCount] = (0, import_react32.useState)(VISIBLE_ENTITLEMENT_COUNT);
18052
+ const entitlements = (data.featureUsage?.features || []).reduce(
18053
+ (acc, usage) => {
18106
18054
  const mappedUsageData = data.activeUsageBasedEntitlements.find(
18107
- (entitlement) => entitlement.featureId === id
18055
+ (entitlement) => entitlement.featureId === usage.feature?.id
18108
18056
  );
18109
- if (mappedFeatureUsage) {
18110
- acc.push({
18111
- featureUsage: mappedFeatureUsage,
18112
- usageData: mappedUsageData
18113
- });
18114
- }
18057
+ acc.push({
18058
+ featureUsage: usage,
18059
+ usageData: mappedUsageData
18060
+ });
18115
18061
  return acc;
18116
18062
  },
18117
18063
  []
@@ -18259,7 +18205,7 @@ var IncludedFeatures = (0, import_react33.forwardRef)(({ className, ...rest }, r
18259
18205
  IncludedFeatures.displayName = "IncludedFeatures";
18260
18206
 
18261
18207
  // src/components/elements/invoices/Invoices.tsx
18262
- var import_react34 = require("react");
18208
+ var import_react33 = require("react");
18263
18209
  var import_jsx_runtime28 = require("react/jsx-runtime");
18264
18210
  function resolveDesignProps2(props) {
18265
18211
  return {
@@ -18313,19 +18259,19 @@ var InvoiceDate = ({ date, fontStyle, url }) => {
18313
18259
  }
18314
18260
  return dateText;
18315
18261
  };
18316
- var Invoices = (0, import_react34.forwardRef)(({ className, data, ...rest }, ref) => {
18262
+ var Invoices = (0, import_react33.forwardRef)(({ className, data, ...rest }, ref) => {
18317
18263
  const props = resolveDesignProps2(rest);
18318
18264
  const { t: t2 } = useTranslation();
18319
18265
  const theme = nt();
18320
18266
  const { api } = useEmbed();
18321
- const [invoices, setInvoices] = (0, import_react34.useState)(() => formatInvoices(data));
18322
- const [listSize, setListSize] = (0, import_react34.useState)(props.limit.number);
18267
+ const [invoices, setInvoices] = (0, import_react33.useState)(() => formatInvoices(data));
18268
+ const [listSize, setListSize] = (0, import_react33.useState)(props.limit.number);
18323
18269
  const toggleListSize = () => {
18324
18270
  setListSize(
18325
18271
  (prev2) => prev2 !== props.limit.number ? props.limit.number : MAX_VISIBLE_INVOICE_COUNT
18326
18272
  );
18327
18273
  };
18328
- (0, import_react34.useEffect)(() => {
18274
+ (0, import_react33.useEffect)(() => {
18329
18275
  api?.listInvoices().then(({ data: data2 }) => {
18330
18276
  setInvoices(formatInvoices(data2));
18331
18277
  });
@@ -18391,7 +18337,7 @@ var Invoices = (0, import_react34.forwardRef)(({ className, data, ...rest }, ref
18391
18337
  Invoices.displayName = "Invoices";
18392
18338
 
18393
18339
  // src/components/elements/metered-features/MeteredFeatures.tsx
18394
- var import_react35 = require("react");
18340
+ var import_react34 = require("react");
18395
18341
  var import_pluralize5 = __toESM(require_pluralize());
18396
18342
 
18397
18343
  // src/components/elements/metered-features/styles.ts
@@ -18438,9 +18384,9 @@ function resolveDesignProps3(props) {
18438
18384
  visibleFeatures: props.visibleFeatures
18439
18385
  };
18440
18386
  }
18441
- var MeteredFeatures = (0, import_react35.forwardRef)(({ className, ...rest }, ref) => {
18387
+ var MeteredFeatures = (0, import_react34.forwardRef)(({ className, ...rest }, ref) => {
18442
18388
  const props = resolveDesignProps3(rest);
18443
- const elements = (0, import_react35.useRef)([]);
18389
+ const elements = (0, import_react34.useRef)([]);
18444
18390
  const shouldWrapChildren = useWrapChildren(elements.current);
18445
18391
  const { t: t2 } = useTranslation();
18446
18392
  const theme = nt();
@@ -18600,6 +18546,7 @@ var MeteredFeatures = (0, import_react35.forwardRef)(({ className, ...rest }, re
18600
18546
  priceBehavior === "pay_in_advance" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
18601
18547
  EmbedButton,
18602
18548
  {
18549
+ type: "button",
18603
18550
  onClick: () => {
18604
18551
  setSelected({ usage: true });
18605
18552
  setLayout("checkout");
@@ -18620,7 +18567,7 @@ var MeteredFeatures = (0, import_react35.forwardRef)(({ className, ...rest }, re
18620
18567
  MeteredFeatures.displayName = "MeteredFeatures";
18621
18568
 
18622
18569
  // src/components/elements/payment-method/PaymentMethod.tsx
18623
- var import_react36 = require("react");
18570
+ var import_react35 = require("react");
18624
18571
  var import_react_dom3 = require("react-dom");
18625
18572
  var import_react_stripe_js3 = require("@stripe/react-stripe-js");
18626
18573
  var import_jsx_runtime30 = require("react/jsx-runtime");
@@ -18790,24 +18737,24 @@ var PaymentMethodElement = ({
18790
18737
  )
18791
18738
  ] });
18792
18739
  };
18793
- var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, portal, allowEdit = true, ...rest }, ref) => {
18740
+ var PaymentMethod = (0, import_react35.forwardRef)(({ children, className, portal, allowEdit = true, ...rest }, ref) => {
18794
18741
  const props = resolveDesignProps4(rest);
18795
18742
  const { t: t2 } = useTranslation();
18796
18743
  const theme = nt();
18797
- const { api, data, layout, setLayout } = useEmbed();
18744
+ const { api, data, layout, hydrate, setLayout } = useEmbed();
18798
18745
  const isLightBackground = useIsLightBackground();
18799
- const [isLoading, setIsLoading] = (0, import_react36.useState)(false);
18800
- const [error, setError] = (0, import_react36.useState)();
18801
- const [showPaymentForm, setShowPaymentForm] = (0, import_react36.useState)(
18746
+ const [isLoading, setIsLoading] = (0, import_react35.useState)(false);
18747
+ const [error, setError] = (0, import_react35.useState)();
18748
+ const [showPaymentForm, setShowPaymentForm] = (0, import_react35.useState)(
18802
18749
  () => typeof data.subscription?.paymentMethod === "undefined"
18803
18750
  );
18804
- const [stripe, setStripe] = (0, import_react36.useState)(null);
18805
- const [setupIntent, setSetupIntent] = (0, import_react36.useState)();
18806
- const [top, setTop] = (0, import_react36.useState)(0);
18807
- const paymentMethod = (0, import_react36.useMemo)(() => {
18751
+ const [stripe, setStripe] = (0, import_react35.useState)(null);
18752
+ const [setupIntent, setSetupIntent] = (0, import_react35.useState)();
18753
+ const [top, setTop] = (0, import_react35.useState)(0);
18754
+ const paymentMethod = (0, import_react35.useMemo)(() => {
18808
18755
  return data.subscription?.paymentMethod;
18809
18756
  }, [data.subscription?.paymentMethod]);
18810
- const monthsToExpiration = (0, import_react36.useMemo)(() => {
18757
+ const monthsToExpiration = (0, import_react35.useMemo)(() => {
18811
18758
  let expiration;
18812
18759
  if (typeof paymentMethod?.cardExpYear === "number" && typeof paymentMethod?.cardExpMonth === "number") {
18813
18760
  const today = /* @__PURE__ */ new Date();
@@ -18820,7 +18767,7 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
18820
18767
  }
18821
18768
  return expiration;
18822
18769
  }, [paymentMethod?.cardExpYear, paymentMethod?.cardExpMonth]);
18823
- const createSetupIntent = (0, import_react36.useCallback)(async () => {
18770
+ const createSetupIntent = (0, import_react35.useCallback)(async () => {
18824
18771
  if (!api || !data.component?.id) {
18825
18772
  return;
18826
18773
  }
@@ -18839,7 +18786,7 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
18839
18786
  setIsLoading(false);
18840
18787
  }
18841
18788
  }, [t2, api, data.component?.id]);
18842
- const updatePaymentMethod = (0, import_react36.useCallback)(
18789
+ const updatePaymentMethod = (0, import_react35.useCallback)(
18843
18790
  async (id) => {
18844
18791
  if (!api || !id) {
18845
18792
  return;
@@ -18851,21 +18798,23 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
18851
18798
  paymentMethodId: id
18852
18799
  }
18853
18800
  });
18854
- setLayout("success");
18801
+ setLayout("portal");
18802
+ hydrate();
18855
18803
  } catch {
18804
+ setLayout("payment");
18856
18805
  setError(t2("Error updating payment method. Please try again."));
18857
18806
  } finally {
18858
18807
  setIsLoading(false);
18859
18808
  }
18860
18809
  },
18861
- [t2, api, setLayout]
18810
+ [t2, api, hydrate, setLayout]
18862
18811
  );
18863
- (0, import_react36.useEffect)(() => {
18812
+ (0, import_react35.useEffect)(() => {
18864
18813
  if (!stripe && setupIntent?.publishableKey) {
18865
18814
  setStripe(loadStripe(setupIntent.publishableKey));
18866
18815
  }
18867
18816
  }, [stripe, setupIntent?.publishableKey]);
18868
- (0, import_react36.useLayoutEffect)(() => {
18817
+ (0, import_react35.useLayoutEffect)(() => {
18869
18818
  const parent = portal || document.body;
18870
18819
  const value = Math.abs(
18871
18820
  (parent === document.body ? window.scrollY : parent.scrollTop) ?? 0
@@ -18990,7 +18939,7 @@ var PaymentMethod = (0, import_react36.forwardRef)(({ children, className, porta
18990
18939
  PaymentMethod.displayName = "PaymentMethod";
18991
18940
 
18992
18941
  // src/components/elements/plan-manager/PlanManager.tsx
18993
- var import_react37 = require("react");
18942
+ var import_react36 = require("react");
18994
18943
  var import_pluralize6 = __toESM(require_pluralize());
18995
18944
  var import_jsx_runtime31 = require("react/jsx-runtime");
18996
18945
  var resolveDesignProps5 = (props) => {
@@ -19021,7 +18970,7 @@ var resolveDesignProps5 = (props) => {
19021
18970
  }
19022
18971
  };
19023
18972
  };
19024
- var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal, ...rest }, ref) => {
18973
+ var PlanManager = (0, import_react36.forwardRef)(({ children, className, portal, ...rest }, ref) => {
19025
18974
  const props = resolveDesignProps5(rest);
19026
18975
  const theme = nt();
19027
18976
  const { t: t2 } = useTranslation();
@@ -19056,7 +19005,7 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
19056
19005
  const billingSubscription = data.company?.billingSubscription;
19057
19006
  const subscriptionCurrency = billingSubscription?.currency;
19058
19007
  const showTrialBox = billingSubscription && billingSubscription.status == "trialing";
19059
- const showUnsubscribeBox = billingSubscription && billingSubscription.status == "cancelled";
19008
+ const showUnsubscribeBox = billingSubscription?.cancelAtPeriodEnd;
19060
19009
  const trialEndDate = billingSubscription?.trialEnd ? new Date(billingSubscription.trialEnd * 1e3) : /* @__PURE__ */ new Date();
19061
19010
  const todayDate = /* @__PURE__ */ new Date();
19062
19011
  const trialEndDays = Math.floor(
@@ -19126,9 +19075,12 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
19126
19075
  $weight: theme.typography.text.fontWeight,
19127
19076
  $color: theme.typography.text.color,
19128
19077
  children: billingSubscription.cancelAt ? t2("Access to plan will end on", {
19129
- date: toPrettyDate(new Date(billingSubscription.cancelAt), {
19130
- month: "numeric"
19131
- })
19078
+ date: toPrettyDate(
19079
+ new Date(billingSubscription.cancelAt * 1e3),
19080
+ {
19081
+ month: "numeric"
19082
+ }
19083
+ )
19132
19084
  }) : ""
19133
19085
  }
19134
19086
  )
@@ -19362,6 +19314,7 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
19362
19314
  canCheckout && props.callToAction.isVisible && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
19363
19315
  EmbedButton,
19364
19316
  {
19317
+ type: "button",
19365
19318
  onClick: () => {
19366
19319
  setSelected({
19367
19320
  planId: currentPlan?.id,
@@ -19383,7 +19336,7 @@ var PlanManager = (0, import_react37.forwardRef)(({ children, className, portal,
19383
19336
  PlanManager.displayName = "PlanManager";
19384
19337
 
19385
19338
  // src/components/elements/pricing-table/PricingTable.tsx
19386
- var import_react38 = require("react");
19339
+ var import_react37 = require("react");
19387
19340
  var import_pluralize7 = __toESM(require_pluralize());
19388
19341
  var import_jsx_runtime32 = require("react/jsx-runtime");
19389
19342
  var resolveDesignProps6 = (props) => {
@@ -19425,18 +19378,18 @@ var resolveDesignProps6 = (props) => {
19425
19378
  }
19426
19379
  };
19427
19380
  };
19428
- var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...rest }, ref) => {
19381
+ var PricingTable = (0, import_react37.forwardRef)(({ children, className, ...rest }, ref) => {
19429
19382
  const props = resolveDesignProps6(rest);
19430
19383
  const { t: t2 } = useTranslation();
19431
19384
  const theme = nt();
19432
19385
  const { data, setLayout, setSelected } = useEmbed();
19433
19386
  const trialEndDays = useTrialEnd();
19434
- const [selectedPeriod, setSelectedPeriod] = (0, import_react38.useState)(
19387
+ const [selectedPeriod, setSelectedPeriod] = (0, import_react37.useState)(
19435
19388
  () => data.company?.plan?.planPeriod || "month"
19436
19389
  );
19437
19390
  const { plans, addOns, periods } = useAvailablePlans(selectedPeriod);
19438
19391
  const isLightBackground = useIsLightBackground();
19439
- const [entitlementCounts, setEntitlementCounts] = (0, import_react38.useState)(
19392
+ const [entitlementCounts, setEntitlementCounts] = (0, import_react37.useState)(
19440
19393
  () => plans.reduce(
19441
19394
  (acc, plan) => {
19442
19395
  acc[plan.id] = {
@@ -19621,15 +19574,7 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
19621
19574
  $padding: `${0.75 * cardPadding}rem ${cardPadding}rem 0`,
19622
19575
  children: [
19623
19576
  props.plans.showEntitlements && /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", $flexGrow: "1", children: [
19624
- plan.entitlements.slice().sort((a2, b2) => {
19625
- if (a2.feature?.name && b2.feature?.name && a2.feature?.name > b2.feature?.name) {
19626
- return 1;
19627
- }
19628
- if (a2.feature?.name && b2.feature?.name && a2.feature?.name < b2.feature?.name) {
19629
- return -1;
19630
- }
19631
- return 0;
19632
- }).reduce((acc, entitlement) => {
19577
+ plan.entitlements.reduce((acc, entitlement) => {
19633
19578
  let price;
19634
19579
  let currency;
19635
19580
  if (selectedPeriod === "month") {
@@ -19771,7 +19716,8 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
19771
19716
  ) : (props.upgrade.isVisible || props.downgrade.isVisible) && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
19772
19717
  EmbedButton,
19773
19718
  {
19774
- disabled: !plan.valid || !canCheckout,
19719
+ type: "button",
19720
+ disabled: (!plan.valid || !canCheckout) && !plan.custom,
19775
19721
  ...!plan.custom && {
19776
19722
  onClick: () => {
19777
19723
  setSelected({
@@ -19997,6 +19943,7 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
19997
19943
  props.upgrade.isVisible && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
19998
19944
  EmbedButton,
19999
19945
  {
19946
+ type: "button",
20000
19947
  disabled: !addOn.valid || !canCheckout,
20001
19948
  onClick: () => {
20002
19949
  setSelected({
@@ -20030,7 +19977,7 @@ var PricingTable = (0, import_react38.forwardRef)(({ children, className, ...res
20030
19977
  PricingTable.displayName = "PricingTable";
20031
19978
 
20032
19979
  // src/components/elements/upcoming-bill/UpcomingBill.tsx
20033
- var import_react39 = require("react");
19980
+ var import_react38 = require("react");
20034
19981
  var import_jsx_runtime33 = require("react/jsx-runtime");
20035
19982
  function resolveDesignProps7(props) {
20036
19983
  return {
@@ -20050,13 +19997,13 @@ function resolveDesignProps7(props) {
20050
19997
  }
20051
19998
  };
20052
19999
  }
20053
- var UpcomingBill = (0, import_react39.forwardRef)(({ className, ...rest }, ref) => {
20000
+ var UpcomingBill = (0, import_react38.forwardRef)(({ className, ...rest }, ref) => {
20054
20001
  const props = resolveDesignProps7(rest);
20055
20002
  const { t: t2 } = useTranslation();
20056
20003
  const theme = nt();
20057
20004
  const { data } = useEmbed();
20058
20005
  const isLightBackground = useIsLightBackground();
20059
- const { upcomingInvoice, discounts } = (0, import_react39.useMemo)(() => {
20006
+ const { upcomingInvoice, discounts } = (0, import_react38.useMemo)(() => {
20060
20007
  const discounts2 = (data.subscription?.discounts || []).map((discount) => ({
20061
20008
  amountOff: discount.amountOff,
20062
20009
  couponId: discount.couponId,
@@ -20185,7 +20132,7 @@ var UpcomingBill = (0, import_react39.forwardRef)(({ className, ...rest }, ref)
20185
20132
  UpcomingBill.displayName = "UpcomingBill";
20186
20133
 
20187
20134
  // src/components/elements/unsubscribe-button/UnsubscribeButton.tsx
20188
- var import_react40 = require("react");
20135
+ var import_react39 = require("react");
20189
20136
  var import_jsx_runtime34 = require("react/jsx-runtime");
20190
20137
  var resolveDesignProps8 = (props) => {
20191
20138
  return {
@@ -20198,11 +20145,11 @@ var resolveDesignProps8 = (props) => {
20198
20145
  }
20199
20146
  };
20200
20147
  };
20201
- var UnsubscribeButton = (0, import_react40.forwardRef)(({ children, className, ...rest }, ref) => {
20148
+ var UnsubscribeButton = (0, import_react39.forwardRef)(({ children, className, ...rest }, ref) => {
20202
20149
  const props = resolveDesignProps8(rest);
20203
20150
  const { t: t2 } = useTranslation();
20204
20151
  const { data, setLayout } = useEmbed();
20205
- const disabled = !data.subscription || data.subscription.status === "cancelled";
20152
+ const disabled = !data.subscription || data.subscription.status === "cancelled" || data.subscription.cancelAtPeriodEnd;
20206
20153
  const buttonStyles = {
20207
20154
  primary: {
20208
20155
  color: "primary",
@@ -20246,10 +20193,10 @@ var UnsubscribeButton = (0, import_react40.forwardRef)(({ children, className, .
20246
20193
  UnsubscribeButton.displayName = "UnsubscribeButton";
20247
20194
 
20248
20195
  // src/components/embed/ComponentTree.tsx
20249
- var import_react42 = require("react");
20196
+ var import_react41 = require("react");
20250
20197
 
20251
20198
  // src/components/embed/renderer.ts
20252
- var import_react41 = require("react");
20199
+ var import_react40 = require("react");
20253
20200
  var components = {
20254
20201
  Root,
20255
20202
  Viewport,
@@ -20282,7 +20229,7 @@ function createRenderer(options) {
20282
20229
  const { className, ...rest } = props;
20283
20230
  const resolvedProps = component === "div" ? rest : props;
20284
20231
  const resolvedChildren = children.map(renderNode);
20285
- return (0, import_react41.createElement)(
20232
+ return (0, import_react40.createElement)(
20286
20233
  component,
20287
20234
  {
20288
20235
  key: index,
@@ -20351,8 +20298,8 @@ var Error2 = ({ message }) => {
20351
20298
  };
20352
20299
  var ComponentTree = () => {
20353
20300
  const { error, nodes, isPending } = useEmbed();
20354
- const [children, setChildren] = (0, import_react42.useState)(/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loading, {}));
20355
- (0, import_react42.useEffect)(() => {
20301
+ const [children, setChildren] = (0, import_react41.useState)(/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Loading, {}));
20302
+ (0, import_react41.useEffect)(() => {
20356
20303
  const renderer = createRenderer();
20357
20304
  setChildren(nodes.map(renderer));
20358
20305
  }, [nodes]);