@schematichq/schematic-react 0.2.0-rc.3 → 0.2.0-rc.5

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.
@@ -864,9 +864,8 @@ __export(src_exports, {
864
864
  IncludedFeatures: () => IncludedFeatures,
865
865
  Invoices: () => Invoices,
866
866
  MeteredFeatures: () => MeteredFeatures,
867
- OverlayHeader: () => OverlayHeader,
868
- OverlaySideBar: () => OverlaySideBar,
869
- OverlayWrapper: () => OverlayWrapper,
867
+ Modal: () => Modal,
868
+ ModalHeader: () => ModalHeader,
870
869
  PaymentMethod: () => PaymentMethod,
871
870
  PlanManager: () => PlanManager,
872
871
  ProgressBar: () => ProgressBar,
@@ -1730,12 +1729,12 @@ var flush_block_only = (s2, last) => {
1730
1729
  s2.block_start = s2.strstart;
1731
1730
  flush_pending(s2.strm);
1732
1731
  };
1733
- var put_byte = (s2, b) => {
1734
- s2.pending_buf[s2.pending++] = b;
1732
+ var put_byte = (s2, b2) => {
1733
+ s2.pending_buf[s2.pending++] = b2;
1735
1734
  };
1736
- var putShortMSB = (s2, b) => {
1737
- s2.pending_buf[s2.pending++] = b >>> 8 & 255;
1738
- s2.pending_buf[s2.pending++] = b & 255;
1735
+ var putShortMSB = (s2, b2) => {
1736
+ s2.pending_buf[s2.pending++] = b2 >>> 8 & 255;
1737
+ s2.pending_buf[s2.pending++] = b2 & 255;
1739
1738
  };
1740
1739
  var read_buf = (strm, buf, start, size) => {
1741
1740
  let len = strm.avail_in;
@@ -3017,10 +3016,8 @@ Deflate$1.prototype.push = function(data, flush_mode) {
3017
3016
  if (this.ended) {
3018
3017
  return false;
3019
3018
  }
3020
- if (flush_mode === ~~flush_mode)
3021
- _flush_mode = flush_mode;
3022
- else
3023
- _flush_mode = flush_mode === true ? Z_FINISH$2 : Z_NO_FLUSH$1;
3019
+ if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;
3020
+ else _flush_mode = flush_mode === true ? Z_FINISH$2 : Z_NO_FLUSH$1;
3024
3021
  if (typeof data === "string") {
3025
3022
  strm.input = strings.string2buf(data);
3026
3023
  } else if (toString$1.call(data) === "[object ArrayBuffer]") {
@@ -3060,8 +3057,7 @@ Deflate$1.prototype.push = function(data, flush_mode) {
3060
3057
  strm.avail_out = 0;
3061
3058
  continue;
3062
3059
  }
3063
- if (strm.avail_in === 0)
3064
- break;
3060
+ if (strm.avail_in === 0) break;
3065
3061
  }
3066
3062
  return true;
3067
3063
  };
@@ -4015,6 +4011,7 @@ var inflate$2 = (strm, flush) => {
4015
4011
  hold = 0;
4016
4012
  bits = 0;
4017
4013
  state.mode = TIME;
4014
+ /* falls through */
4018
4015
  case TIME:
4019
4016
  while (bits < 32) {
4020
4017
  if (have === 0) {
@@ -4037,6 +4034,7 @@ var inflate$2 = (strm, flush) => {
4037
4034
  hold = 0;
4038
4035
  bits = 0;
4039
4036
  state.mode = OS;
4037
+ /* falls through */
4040
4038
  case OS:
4041
4039
  while (bits < 16) {
4042
4040
  if (have === 0) {
@@ -4058,6 +4056,7 @@ var inflate$2 = (strm, flush) => {
4058
4056
  hold = 0;
4059
4057
  bits = 0;
4060
4058
  state.mode = EXLEN;
4059
+ /* falls through */
4061
4060
  case EXLEN:
4062
4061
  if (state.flags & 1024) {
4063
4062
  while (bits < 16) {
@@ -4083,6 +4082,7 @@ var inflate$2 = (strm, flush) => {
4083
4082
  state.head.extra = null;
4084
4083
  }
4085
4084
  state.mode = EXTRA;
4085
+ /* falls through */
4086
4086
  case EXTRA:
4087
4087
  if (state.flags & 1024) {
4088
4088
  copy2 = state.length;
@@ -4119,6 +4119,7 @@ var inflate$2 = (strm, flush) => {
4119
4119
  }
4120
4120
  state.length = 0;
4121
4121
  state.mode = NAME;
4122
+ /* falls through */
4122
4123
  case NAME:
4123
4124
  if (state.flags & 2048) {
4124
4125
  if (have === 0) {
@@ -4144,6 +4145,7 @@ var inflate$2 = (strm, flush) => {
4144
4145
  }
4145
4146
  state.length = 0;
4146
4147
  state.mode = COMMENT;
4148
+ /* falls through */
4147
4149
  case COMMENT:
4148
4150
  if (state.flags & 4096) {
4149
4151
  if (have === 0) {
@@ -4168,6 +4170,7 @@ var inflate$2 = (strm, flush) => {
4168
4170
  state.head.comment = null;
4169
4171
  }
4170
4172
  state.mode = HCRC;
4173
+ /* falls through */
4171
4174
  case HCRC:
4172
4175
  if (state.flags & 512) {
4173
4176
  while (bits < 16) {
@@ -4206,6 +4209,7 @@ var inflate$2 = (strm, flush) => {
4206
4209
  hold = 0;
4207
4210
  bits = 0;
4208
4211
  state.mode = DICT;
4212
+ /* falls through */
4209
4213
  case DICT:
4210
4214
  if (state.havedict === 0) {
4211
4215
  strm.next_out = put;
@@ -4218,10 +4222,12 @@ var inflate$2 = (strm, flush) => {
4218
4222
  }
4219
4223
  strm.adler = state.check = 1;
4220
4224
  state.mode = TYPE;
4225
+ /* falls through */
4221
4226
  case TYPE:
4222
4227
  if (flush === Z_BLOCK || flush === Z_TREES) {
4223
4228
  break inf_leave;
4224
4229
  }
4230
+ /* falls through */
4225
4231
  case TYPEDO:
4226
4232
  if (state.last) {
4227
4233
  hold >>>= bits & 7;
@@ -4286,8 +4292,10 @@ var inflate$2 = (strm, flush) => {
4286
4292
  if (flush === Z_TREES) {
4287
4293
  break inf_leave;
4288
4294
  }
4295
+ /* falls through */
4289
4296
  case COPY_:
4290
4297
  state.mode = COPY;
4298
+ /* falls through */
4291
4299
  case COPY:
4292
4300
  copy2 = state.length;
4293
4301
  if (copy2) {
@@ -4335,6 +4343,7 @@ var inflate$2 = (strm, flush) => {
4335
4343
  }
4336
4344
  state.have = 0;
4337
4345
  state.mode = LENLENS;
4346
+ /* falls through */
4338
4347
  case LENLENS:
4339
4348
  while (state.have < state.ncode) {
4340
4349
  while (bits < 3) {
@@ -4364,6 +4373,7 @@ var inflate$2 = (strm, flush) => {
4364
4373
  }
4365
4374
  state.have = 0;
4366
4375
  state.mode = CODELENS;
4376
+ /* falls through */
4367
4377
  case CODELENS:
4368
4378
  while (state.have < state.nlen + state.ndist) {
4369
4379
  for (; ; ) {
@@ -4481,8 +4491,10 @@ var inflate$2 = (strm, flush) => {
4481
4491
  if (flush === Z_TREES) {
4482
4492
  break inf_leave;
4483
4493
  }
4494
+ /* falls through */
4484
4495
  case LEN_:
4485
4496
  state.mode = LEN;
4497
+ /* falls through */
4486
4498
  case LEN:
4487
4499
  if (have >= 6 && left >= 258) {
4488
4500
  strm.next_out = put;
@@ -4564,6 +4576,7 @@ var inflate$2 = (strm, flush) => {
4564
4576
  }
4565
4577
  state.extra = here_op & 15;
4566
4578
  state.mode = LENEXT;
4579
+ /* falls through */
4567
4580
  case LENEXT:
4568
4581
  if (state.extra) {
4569
4582
  n = state.extra;
@@ -4582,6 +4595,7 @@ var inflate$2 = (strm, flush) => {
4582
4595
  }
4583
4596
  state.was = state.length;
4584
4597
  state.mode = DIST;
4598
+ /* falls through */
4585
4599
  case DIST:
4586
4600
  for (; ; ) {
4587
4601
  here = state.distcode[hold & (1 << state.distbits) - 1];
@@ -4632,6 +4646,7 @@ var inflate$2 = (strm, flush) => {
4632
4646
  state.offset = here_val;
4633
4647
  state.extra = here_op & 15;
4634
4648
  state.mode = DISTEXT;
4649
+ /* falls through */
4635
4650
  case DISTEXT:
4636
4651
  if (state.extra) {
4637
4652
  n = state.extra;
@@ -4654,6 +4669,7 @@ var inflate$2 = (strm, flush) => {
4654
4669
  break;
4655
4670
  }
4656
4671
  state.mode = MATCH;
4672
+ /* falls through */
4657
4673
  case MATCH:
4658
4674
  if (left === 0) {
4659
4675
  break inf_leave;
@@ -4730,6 +4746,7 @@ var inflate$2 = (strm, flush) => {
4730
4746
  bits = 0;
4731
4747
  }
4732
4748
  state.mode = LENGTH;
4749
+ /* falls through */
4733
4750
  case LENGTH:
4734
4751
  if (state.wrap && state.flags) {
4735
4752
  while (bits < 32) {
@@ -4749,6 +4766,7 @@ var inflate$2 = (strm, flush) => {
4749
4766
  bits = 0;
4750
4767
  }
4751
4768
  state.mode = DONE;
4769
+ /* falls through */
4752
4770
  case DONE:
4753
4771
  ret = Z_STREAM_END$1;
4754
4772
  break inf_leave;
@@ -4758,6 +4776,7 @@ var inflate$2 = (strm, flush) => {
4758
4776
  case MEM:
4759
4777
  return Z_MEM_ERROR$1;
4760
4778
  case SYNC:
4779
+ /* falls through */
4761
4780
  default:
4762
4781
  return Z_STREAM_ERROR$1;
4763
4782
  }
@@ -4769,8 +4788,7 @@ var inflate$2 = (strm, flush) => {
4769
4788
  state.hold = hold;
4770
4789
  state.bits = bits;
4771
4790
  if (state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH$1)) {
4772
- if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out))
4773
- ;
4791
+ if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) ;
4774
4792
  }
4775
4793
  _in -= strm.avail_in;
4776
4794
  _out -= strm.avail_out;
@@ -4938,12 +4956,9 @@ Inflate$1.prototype.push = function(data, flush_mode) {
4938
4956
  const chunkSize = this.options.chunkSize;
4939
4957
  const dictionary = this.options.dictionary;
4940
4958
  let status, _flush_mode, last_avail_out;
4941
- if (this.ended)
4942
- return false;
4943
- if (flush_mode === ~~flush_mode)
4944
- _flush_mode = flush_mode;
4945
- else
4946
- _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;
4959
+ if (this.ended) return false;
4960
+ if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;
4961
+ else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;
4947
4962
  if (toString.call(data) === "[object ArrayBuffer]") {
4948
4963
  strm.input = new Uint8Array(data);
4949
4964
  } else {
@@ -4988,24 +5003,21 @@ Inflate$1.prototype.push = function(data, flush_mode) {
4988
5003
  let utf8str = strings.buf2string(strm.output, next_out_utf8);
4989
5004
  strm.next_out = tail;
4990
5005
  strm.avail_out = chunkSize - tail;
4991
- if (tail)
4992
- strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0);
5006
+ if (tail) strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0);
4993
5007
  this.onData(utf8str);
4994
5008
  } else {
4995
5009
  this.onData(strm.output.length === strm.next_out ? strm.output : strm.output.subarray(0, strm.next_out));
4996
5010
  }
4997
5011
  }
4998
5012
  }
4999
- if (status === Z_OK && last_avail_out === 0)
5000
- continue;
5013
+ if (status === Z_OK && last_avail_out === 0) continue;
5001
5014
  if (status === Z_STREAM_END) {
5002
5015
  status = inflate_1$2.inflateEnd(this.strm);
5003
5016
  this.onEnd(status);
5004
5017
  this.ended = true;
5005
5018
  return true;
5006
5019
  }
5007
- if (strm.avail_in === 0)
5008
- break;
5020
+ if (strm.avail_in === 0) break;
5009
5021
  }
5010
5022
  return true;
5011
5023
  };
@@ -5027,8 +5039,7 @@ Inflate$1.prototype.onEnd = function(status) {
5027
5039
  function inflate$1(input, options) {
5028
5040
  const inflator = new Inflate$1(options);
5029
5041
  inflator.push(input);
5030
- if (inflator.err)
5031
- throw inflator.msg || messages[inflator.err];
5042
+ if (inflator.err) throw inflator.msg || messages[inflator.err];
5032
5043
  return inflator.result;
5033
5044
  }
5034
5045
  function inflateRaw$1(input, options) {
@@ -5057,23 +5068,19 @@ var __assign = function() {
5057
5068
  __assign = Object.assign || function __assign2(t) {
5058
5069
  for (var s2, i2 = 1, n = arguments.length; i2 < n; i2++) {
5059
5070
  s2 = arguments[i2];
5060
- for (var p2 in s2)
5061
- if (Object.prototype.hasOwnProperty.call(s2, p2))
5062
- t[p2] = s2[p2];
5071
+ for (var p2 in s2) if (Object.prototype.hasOwnProperty.call(s2, p2)) t[p2] = s2[p2];
5063
5072
  }
5064
5073
  return t;
5065
5074
  };
5066
5075
  return __assign.apply(this, arguments);
5067
5076
  };
5068
5077
  function __spreadArray(to, from2, pack) {
5069
- if (pack || arguments.length === 2)
5070
- for (var i2 = 0, l2 = from2.length, ar; i2 < l2; i2++) {
5071
- if (ar || !(i2 in from2)) {
5072
- if (!ar)
5073
- ar = Array.prototype.slice.call(from2, 0, i2);
5074
- ar[i2] = from2[i2];
5075
- }
5078
+ if (pack || arguments.length === 2) for (var i2 = 0, l2 = from2.length, ar; i2 < l2; i2++) {
5079
+ if (ar || !(i2 in from2)) {
5080
+ if (!ar) ar = Array.prototype.slice.call(from2, 0, i2);
5081
+ ar[i2] = from2[i2];
5076
5082
  }
5083
+ }
5077
5084
  return to.concat(ar || Array.prototype.slice.call(from2));
5078
5085
  }
5079
5086
 
@@ -5081,8 +5088,7 @@ function __spreadArray(to, from2, pack) {
5081
5088
  function memoize(fn) {
5082
5089
  var cache = /* @__PURE__ */ Object.create(null);
5083
5090
  return function(arg) {
5084
- if (cache[arg] === void 0)
5085
- cache[arg] = fn(arg);
5091
+ if (cache[arg] === void 0) cache[arg] = fn(arg);
5086
5092
  return cache[arg];
5087
5093
  };
5088
5094
  }
@@ -5198,12 +5204,14 @@ function slice(begin, end) {
5198
5204
  }
5199
5205
  function token(type) {
5200
5206
  switch (type) {
5207
+ // \0 \t \n \r \s whitespace token
5201
5208
  case 0:
5202
5209
  case 9:
5203
5210
  case 10:
5204
5211
  case 13:
5205
5212
  case 32:
5206
5213
  return 5;
5214
+ // ! + , / > @ ~ isolate token
5207
5215
  case 33:
5208
5216
  case 43:
5209
5217
  case 44:
@@ -5211,17 +5219,21 @@ function token(type) {
5211
5219
  case 62:
5212
5220
  case 64:
5213
5221
  case 126:
5222
+ // ; { } breakpoint token
5214
5223
  case 59:
5215
5224
  case 123:
5216
5225
  case 125:
5217
5226
  return 4;
5227
+ // : accompanied token
5218
5228
  case 58:
5219
5229
  return 3;
5230
+ // " ' ( [ opening delimit token
5220
5231
  case 34:
5221
5232
  case 39:
5222
5233
  case 40:
5223
5234
  case 91:
5224
5235
  return 2;
5236
+ // ) ] closing delimit token
5225
5237
  case 41:
5226
5238
  case 93:
5227
5239
  return 1;
@@ -5254,17 +5266,21 @@ function escaping(index, count) {
5254
5266
  function delimiter(type) {
5255
5267
  while (next())
5256
5268
  switch (character) {
5269
+ // ] ) " '
5257
5270
  case type:
5258
5271
  return position;
5272
+ // " '
5259
5273
  case 34:
5260
5274
  case 39:
5261
5275
  if (type !== 34 && type !== 39)
5262
5276
  delimiter(character);
5263
5277
  break;
5278
+ // (
5264
5279
  case 40:
5265
5280
  if (type === 41)
5266
5281
  delimiter(type);
5267
5282
  break;
5283
+ // \
5268
5284
  case 92:
5269
5285
  next();
5270
5286
  break;
@@ -5307,26 +5323,31 @@ function parse(value, root, parent, rule, rules, rulesets, pseudo, points, decla
5307
5323
  var characters2 = type;
5308
5324
  while (scanning)
5309
5325
  switch (previous = character2, character2 = next()) {
5326
+ // (
5310
5327
  case 40:
5311
5328
  if (previous != 108 && charat(characters2, length2 - 1) == 58) {
5312
5329
  if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f", abs(index ? points[index - 1] : 0)) != -1)
5313
5330
  ampersand = -1;
5314
5331
  break;
5315
5332
  }
5333
+ // " ' [
5316
5334
  case 34:
5317
5335
  case 39:
5318
5336
  case 91:
5319
5337
  characters2 += delimit(character2);
5320
5338
  break;
5339
+ // \t \n \r \s
5321
5340
  case 9:
5322
5341
  case 10:
5323
5342
  case 13:
5324
5343
  case 32:
5325
5344
  characters2 += whitespace(previous);
5326
5345
  break;
5346
+ // \
5327
5347
  case 92:
5328
5348
  characters2 += escaping(caret() - 1, 7);
5329
5349
  continue;
5350
+ // /
5330
5351
  case 47:
5331
5352
  switch (peek()) {
5332
5353
  case 42:
@@ -5337,23 +5358,28 @@ function parse(value, root, parent, rule, rules, rulesets, pseudo, points, decla
5337
5358
  characters2 += "/";
5338
5359
  }
5339
5360
  break;
5361
+ // {
5340
5362
  case 123 * variable:
5341
5363
  points[index++] = strlen(characters2) * ampersand;
5364
+ // } ; \0
5342
5365
  case 125 * variable:
5343
5366
  case 59:
5344
5367
  case 0:
5345
5368
  switch (character2) {
5369
+ // \0 }
5346
5370
  case 0:
5347
5371
  case 125:
5348
5372
  scanning = 0;
5373
+ // ;
5349
5374
  case 59 + offset:
5350
- if (ampersand == -1)
5351
- characters2 = replace(characters2, /\f/g, "");
5375
+ if (ampersand == -1) characters2 = replace(characters2, /\f/g, "");
5352
5376
  if (property > 0 && strlen(characters2) - length2)
5353
5377
  append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1, declarations) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2, declarations), declarations);
5354
5378
  break;
5379
+ // @ ;
5355
5380
  case 59:
5356
5381
  characters2 += ";";
5382
+ // { rule/at-rule
5357
5383
  default:
5358
5384
  append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2, rulesets), rulesets);
5359
5385
  if (character2 === 123)
@@ -5361,6 +5387,7 @@ function parse(value, root, parent, rule, rules, rulesets, pseudo, points, decla
5361
5387
  parse(characters2, root, reference, reference, props, rulesets, length2, points, children);
5362
5388
  else
5363
5389
  switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) {
5390
+ // d l m s
5364
5391
  case 100:
5365
5392
  case 108:
5366
5393
  case 109:
@@ -5373,6 +5400,7 @@ function parse(value, root, parent, rule, rules, rulesets, pseudo, points, decla
5373
5400
  }
5374
5401
  index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo;
5375
5402
  break;
5403
+ // :
5376
5404
  case 58:
5377
5405
  length2 = 1 + strlen(characters2), property = previous;
5378
5406
  default:
@@ -5383,17 +5411,21 @@ function parse(value, root, parent, rule, rules, rulesets, pseudo, points, decla
5383
5411
  continue;
5384
5412
  }
5385
5413
  switch (characters2 += from(character2), character2 * variable) {
5414
+ // &
5386
5415
  case 38:
5387
5416
  ampersand = offset > 0 ? 1 : (characters2 += "\f", -1);
5388
5417
  break;
5418
+ // ,
5389
5419
  case 44:
5390
5420
  points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1;
5391
5421
  break;
5422
+ // @
5392
5423
  case 64:
5393
5424
  if (peek() === 45)
5394
5425
  characters2 += delimit(next());
5395
5426
  atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++;
5396
5427
  break;
5428
+ // -
5397
5429
  case 45:
5398
5430
  if (previous === 45 && strlen(characters2) == 2)
5399
5431
  variable = 0;
@@ -5421,8 +5453,10 @@ function declaration(value, root, parent, length2, siblings) {
5421
5453
  // node_modules/stylis/src/Prefixer.js
5422
5454
  function prefix(value, length2, children) {
5423
5455
  switch (hash(value, length2)) {
5456
+ // color-adjust
5424
5457
  case 5103:
5425
5458
  return WEBKIT + "print-" + value + value;
5459
+ // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
5426
5460
  case 5737:
5427
5461
  case 4201:
5428
5462
  case 3177:
@@ -5430,18 +5464,21 @@ function prefix(value, length2, children) {
5430
5464
  case 1641:
5431
5465
  case 4457:
5432
5466
  case 2921:
5467
+ // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
5433
5468
  case 5572:
5434
5469
  case 6356:
5435
5470
  case 5844:
5436
5471
  case 3191:
5437
5472
  case 6645:
5438
5473
  case 3005:
5474
+ // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,
5439
5475
  case 6391:
5440
5476
  case 5879:
5441
5477
  case 5623:
5442
5478
  case 6135:
5443
5479
  case 4599:
5444
5480
  case 4855:
5481
+ // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
5445
5482
  case 4215:
5446
5483
  case 6389:
5447
5484
  case 5109:
@@ -5449,57 +5486,77 @@ function prefix(value, length2, children) {
5449
5486
  case 5621:
5450
5487
  case 3829:
5451
5488
  return WEBKIT + value + value;
5489
+ // tab-size
5452
5490
  case 4789:
5453
5491
  return MOZ + value + value;
5492
+ // appearance, user-select, transform, hyphens, text-size-adjust
5454
5493
  case 5349:
5455
5494
  case 4246:
5456
5495
  case 4810:
5457
5496
  case 6968:
5458
5497
  case 2756:
5459
5498
  return WEBKIT + value + MOZ + value + MS + value + value;
5499
+ // writing-mode
5460
5500
  case 5936:
5461
5501
  switch (charat(value, length2 + 11)) {
5502
+ // vertical-l(r)
5462
5503
  case 114:
5463
5504
  return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb") + value;
5505
+ // vertical-r(l)
5464
5506
  case 108:
5465
5507
  return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "tb-rl") + value;
5508
+ // horizontal(-)tb
5466
5509
  case 45:
5467
5510
  return WEBKIT + value + MS + replace(value, /[svh]\w+-[tblr]{2}/, "lr") + value;
5468
5511
  }
5512
+ // flex, flex-direction, scroll-snap-type, writing-mode
5469
5513
  case 6828:
5470
5514
  case 4268:
5471
5515
  case 2903:
5472
5516
  return WEBKIT + value + MS + value + value;
5517
+ // order
5473
5518
  case 6165:
5474
5519
  return WEBKIT + value + MS + "flex-" + value + value;
5520
+ // align-items
5475
5521
  case 5187:
5476
5522
  return WEBKIT + value + replace(value, /(\w+).+(:[^]+)/, WEBKIT + "box-$1$2" + MS + "flex-$1$2") + value;
5523
+ // align-self
5477
5524
  case 5443:
5478
5525
  return WEBKIT + value + MS + "flex-item-" + replace(value, /flex-|-self/g, "") + (!match(value, /flex-|baseline/) ? MS + "grid-row-" + replace(value, /flex-|-self/g, "") : "") + value;
5526
+ // align-content
5479
5527
  case 4675:
5480
5528
  return WEBKIT + value + MS + "flex-line-pack" + replace(value, /align-content|flex-|-self/g, "") + value;
5529
+ // flex-shrink
5481
5530
  case 5548:
5482
5531
  return WEBKIT + value + MS + replace(value, "shrink", "negative") + value;
5532
+ // flex-basis
5483
5533
  case 5292:
5484
5534
  return WEBKIT + value + MS + replace(value, "basis", "preferred-size") + value;
5535
+ // flex-grow
5485
5536
  case 6060:
5486
5537
  return WEBKIT + "box-" + replace(value, "-grow", "") + WEBKIT + value + MS + replace(value, "grow", "positive") + value;
5538
+ // transition
5487
5539
  case 4554:
5488
5540
  return WEBKIT + replace(value, /([^-])(transform)/g, "$1" + WEBKIT + "$2") + value;
5541
+ // cursor
5489
5542
  case 6187:
5490
5543
  return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + "$1"), /(image-set)/, WEBKIT + "$1"), value, "") + value;
5544
+ // background, background-image
5491
5545
  case 5495:
5492
5546
  case 3959:
5493
5547
  return replace(value, /(image-set\([^]*)/, WEBKIT + "$1$`$1");
5548
+ // justify-content
5494
5549
  case 4968:
5495
5550
  return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + "box-pack:$3" + MS + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + WEBKIT + value + value;
5551
+ // justify-self
5496
5552
  case 4200:
5497
- if (!match(value, /flex-|baseline/))
5498
- return MS + "grid-column-align" + substr(value, length2) + value;
5553
+ if (!match(value, /flex-|baseline/)) return MS + "grid-column-align" + substr(value, length2) + value;
5499
5554
  break;
5555
+ // grid-template-(columns|rows)
5500
5556
  case 2592:
5501
5557
  case 3360:
5502
5558
  return MS + replace(value, "template-", "") + value;
5559
+ // grid-(row|column)-start
5503
5560
  case 4384:
5504
5561
  case 3616:
5505
5562
  if (children && children.some(function(element, index) {
@@ -5508,16 +5565,19 @@ function prefix(value, length2, children) {
5508
5565
  return ~indexof(value + (children = children[length2].value), "span", 0) ? value : MS + replace(value, "-start", "") + value + MS + "grid-row-span:" + (~indexof(children, "span", 0) ? match(children, /\d+/) : +match(children, /\d+/) - +match(value, /\d+/)) + ";";
5509
5566
  }
5510
5567
  return MS + replace(value, "-start", "") + value;
5568
+ // grid-(row|column)-end
5511
5569
  case 4896:
5512
5570
  case 4128:
5513
5571
  return children && children.some(function(element) {
5514
5572
  return match(element.props, /grid-\w+-start/);
5515
5573
  }) ? value : MS + replace(replace(value, "-end", "-span"), "span ", "") + value;
5574
+ // (margin|padding)-inline-(start|end)
5516
5575
  case 4095:
5517
5576
  case 3583:
5518
5577
  case 4068:
5519
5578
  case 2532:
5520
5579
  return replace(value, /(.+)-inline(.+)/, WEBKIT + "$1$2") + value;
5580
+ // (min|max)?(width|height|inline-size|block-size)
5521
5581
  case 8116:
5522
5582
  case 7059:
5523
5583
  case 5753:
@@ -5532,32 +5592,41 @@ function prefix(value, length2, children) {
5532
5592
  case 4765:
5533
5593
  if (strlen(value) - 1 - length2 > 6)
5534
5594
  switch (charat(value, length2 + 1)) {
5595
+ // (m)ax-content, (m)in-content
5535
5596
  case 109:
5536
5597
  if (charat(value, length2 + 4) !== 45)
5537
5598
  break;
5599
+ // (f)ill-available, (f)it-content
5538
5600
  case 102:
5539
5601
  return replace(value, /(.+:)(.+)-([^]+)/, "$1" + WEBKIT + "$2-$3$1" + MOZ + (charat(value, length2 + 3) == 108 ? "$3" : "$2-$3")) + value;
5602
+ // (s)tretch
5540
5603
  case 115:
5541
5604
  return ~indexof(value, "stretch", 0) ? prefix(replace(value, "stretch", "fill-available"), length2, children) + value : value;
5542
5605
  }
5543
5606
  break;
5607
+ // grid-(column|row)
5544
5608
  case 5152:
5545
5609
  case 5920:
5546
- return replace(value, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function(_2, a2, b, c2, d, e, f2) {
5547
- return MS + a2 + ":" + b + f2 + (c2 ? MS + a2 + "-span:" + (d ? e : +e - +b) + f2 : "") + value;
5610
+ return replace(value, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function(_2, a2, b2, c2, d, e, f2) {
5611
+ return MS + a2 + ":" + b2 + f2 + (c2 ? MS + a2 + "-span:" + (d ? e : +e - +b2) + f2 : "") + value;
5548
5612
  });
5613
+ // position: sticky
5549
5614
  case 4949:
5550
5615
  if (charat(value, length2 + 6) === 121)
5551
5616
  return replace(value, ":", ":" + WEBKIT) + value;
5552
5617
  break;
5618
+ // display: (flex|inline-flex|grid|inline-grid)
5553
5619
  case 6444:
5554
5620
  switch (charat(value, charat(value, 14) === 45 ? 18 : 11)) {
5621
+ // (inline-)?fle(x)
5555
5622
  case 120:
5556
5623
  return replace(value, /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, "$1" + WEBKIT + (charat(value, 14) === 45 ? "inline-" : "") + "box$3$1" + WEBKIT + "$2$3$1" + MS + "$2box$3") + value;
5624
+ // (inline-)?gri(d)
5557
5625
  case 100:
5558
5626
  return replace(value, ":", ":" + MS) + value;
5559
5627
  }
5560
5628
  break;
5629
+ // scroll-margin, scroll-margin-(top|right|bottom|left)
5561
5630
  case 5719:
5562
5631
  case 2647:
5563
5632
  case 2135:
@@ -5578,8 +5647,7 @@ function serialize(children, callback) {
5578
5647
  function stringify(element, index, children, callback) {
5579
5648
  switch (element.type) {
5580
5649
  case LAYER:
5581
- if (element.children.length)
5582
- break;
5650
+ if (element.children.length) break;
5583
5651
  case IMPORT:
5584
5652
  case DECLARATION:
5585
5653
  return element.return = element.return || element.value;
@@ -5588,8 +5656,7 @@ function stringify(element, index, children, callback) {
5588
5656
  case KEYFRAMES:
5589
5657
  return element.return = element.value + "{" + serialize(element.children, callback) + "}";
5590
5658
  case RULESET:
5591
- if (!strlen(element.value = element.props.join(",")))
5592
- return "";
5659
+ if (!strlen(element.value = element.props.join(","))) return "";
5593
5660
  }
5594
5661
  return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : "";
5595
5662
  }
@@ -5625,12 +5692,14 @@ function prefixer(element, index, children, callback) {
5625
5692
  if (element.length)
5626
5693
  return combine(children = element.props, function(value) {
5627
5694
  switch (match(value, callback = /(::plac\w+|:read-\w+)/)) {
5695
+ // :read-(only|write)
5628
5696
  case ":read-only":
5629
5697
  case ":read-write":
5630
5698
  lift(copy(element, { props: [replace(value, /:(read-\w+)/, ":" + MOZ + "$1")] }));
5631
5699
  lift(copy(element, { props: [value] }));
5632
5700
  assign2(element, { props: filter(children, callback) });
5633
5701
  break;
5702
+ // :placeholder
5634
5703
  case "::placeholder":
5635
5704
  lift(copy(element, { props: [replace(value, /:(plac\w+)/, ":" + WEBKIT + "input-$1")] }));
5636
5705
  lift(copy(element, { props: [replace(value, /:(plac\w+)/, ":" + MOZ + "$1")] }));
@@ -5704,6 +5773,7 @@ var v = "6.1.13";
5704
5773
  var g = "/*!sc*/\n";
5705
5774
  var S = "undefined" != typeof window && "HTMLElement" in window;
5706
5775
  var w = Boolean("boolean" == typeof SC_DISABLE_SPEEDY ? SC_DISABLE_SPEEDY : "undefined" != typeof process && void 0 !== process.env && void 0 !== process.env.REACT_APP_SC_DISABLE_SPEEDY && "" !== process.env.REACT_APP_SC_DISABLE_SPEEDY ? "false" !== process.env.REACT_APP_SC_DISABLE_SPEEDY && process.env.REACT_APP_SC_DISABLE_SPEEDY : "undefined" != typeof process && void 0 !== process.env && void 0 !== process.env.SC_DISABLE_SPEEDY && "" !== process.env.SC_DISABLE_SPEEDY ? "false" !== process.env.SC_DISABLE_SPEEDY && process.env.SC_DISABLE_SPEEDY : true);
5776
+ var b = {};
5707
5777
  var E = /invalid hook call/i;
5708
5778
  var N = /* @__PURE__ */ new Set();
5709
5779
  var P = function(t, n) {
@@ -5712,8 +5782,7 @@ var P = function(t, n) {
5712
5782
  try {
5713
5783
  var a2 = true;
5714
5784
  console.error = function(t2) {
5715
- for (var n2 = [], o3 = 1; o3 < arguments.length; o3++)
5716
- n2[o3 - 1] = arguments[o3];
5785
+ for (var n2 = [], o3 = 1; o3 < arguments.length; o3++) n2[o3 - 1] = arguments[o3];
5717
5786
  E.test(t2) ? (a2 = false, N.delete(s2)) : i2.apply(void 0, __spreadArray([t2], n2, false));
5718
5787
  }, (0, import_react.useRef)(), a2 && !N.has(s2) && (console.warn(s2), N.add(s2));
5719
5788
  } catch (e) {
@@ -5741,15 +5810,13 @@ var j = function(e) {
5741
5810
  };
5742
5811
  function x(e) {
5743
5812
  var t, n = "";
5744
- for (t = Math.abs(e); t > k; t = t / k | 0)
5745
- n = j(t % k) + n;
5813
+ for (t = Math.abs(e); t > k; t = t / k | 0) n = j(t % k) + n;
5746
5814
  return (j(t % k) + n).replace(T, "$1-$2");
5747
5815
  }
5748
5816
  var V;
5749
5817
  var F = 5381;
5750
5818
  var M = function(e, t) {
5751
- for (var n = t.length; n; )
5752
- e = 33 * e ^ t.charCodeAt(--n);
5819
+ for (var n = t.length; n; ) e = 33 * e ^ t.charCodeAt(--n);
5753
5820
  return e;
5754
5821
  };
5755
5822
  var z = function(e) {
@@ -5812,24 +5879,17 @@ function ie(e, t) {
5812
5879
  return e && t ? "".concat(e, " ").concat(t) : e || t || "";
5813
5880
  }
5814
5881
  function ae(e, t) {
5815
- if (0 === e.length)
5816
- return "";
5817
- for (var n = e[0], o2 = 1; o2 < e.length; o2++)
5818
- n += t ? t + e[o2] : e[o2];
5882
+ if (0 === e.length) return "";
5883
+ for (var n = e[0], o2 = 1; o2 < e.length; o2++) n += t ? t + e[o2] : e[o2];
5819
5884
  return n;
5820
5885
  }
5821
5886
  function ce(e) {
5822
5887
  return null !== e && "object" == typeof e && e.constructor.name === Object.name && !("props" in e && e.$$typeof);
5823
5888
  }
5824
5889
  function le(e, t, n) {
5825
- if (void 0 === n && (n = false), !n && !ce(e) && !Array.isArray(e))
5826
- return t;
5827
- if (Array.isArray(t))
5828
- for (var o2 = 0; o2 < t.length; o2++)
5829
- e[o2] = le(e[o2], t[o2]);
5830
- else if (ce(t))
5831
- for (var o2 in t)
5832
- e[o2] = le(e[o2], t[o2]);
5890
+ if (void 0 === n && (n = false), !n && !ce(e) && !Array.isArray(e)) return t;
5891
+ if (Array.isArray(t)) for (var o2 = 0; o2 < t.length; o2++) e[o2] = le(e[o2], t[o2]);
5892
+ else if (ce(t)) for (var o2 in t) e[o2] = le(e[o2], t[o2]);
5833
5893
  return e;
5834
5894
  }
5835
5895
  function ue(e, t) {
@@ -5837,17 +5897,14 @@ function ue(e, t) {
5837
5897
  }
5838
5898
  var pe = true ? { 1: "Cannot create styled-component for component: %s.\n\n", 2: "Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n", 3: "Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n", 4: "The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n", 5: "The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n", 6: "Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n", 7: 'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n', 8: 'ThemeProvider: Please make your "theme" prop an object.\n\n', 9: "Missing document `<head>`\n\n", 10: "Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n", 11: "_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n", 12: "It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n", 13: "%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n", 14: 'ThemeProvider: "theme" prop is required.\n\n', 15: "A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n", 16: "Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n", 17: "CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n", 18: "ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`" } : {};
5839
5899
  function de() {
5840
- for (var e = [], t = 0; t < arguments.length; t++)
5841
- e[t] = arguments[t];
5842
- for (var n = e[0], o2 = [], r2 = 1, s2 = e.length; r2 < s2; r2 += 1)
5843
- o2.push(e[r2]);
5900
+ for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
5901
+ for (var n = e[0], o2 = [], r2 = 1, s2 = e.length; r2 < s2; r2 += 1) o2.push(e[r2]);
5844
5902
  return o2.forEach(function(e2) {
5845
5903
  n = n.replace(/%[a-z]/, e2);
5846
5904
  }), n;
5847
5905
  }
5848
5906
  function he(t) {
5849
- for (var n = [], o2 = 1; o2 < arguments.length; o2++)
5850
- n[o2 - 1] = arguments[o2];
5907
+ for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
5851
5908
  return false ? new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(t, " for more information.").concat(n.length > 0 ? " Args: ".concat(n.join(", ")) : "")) : new Error(de.apply(void 0, __spreadArray([pe[t]], n, false)).trim());
5852
5909
  }
5853
5910
  var fe = function() {
@@ -5855,33 +5912,25 @@ var fe = function() {
5855
5912
  this.groupSizes = new Uint32Array(512), this.length = 512, this.tag = e2;
5856
5913
  }
5857
5914
  return e.prototype.indexOfGroup = function(e2) {
5858
- for (var t = 0, n = 0; n < e2; n++)
5859
- t += this.groupSizes[n];
5915
+ for (var t = 0, n = 0; n < e2; n++) t += this.groupSizes[n];
5860
5916
  return t;
5861
5917
  }, e.prototype.insertRules = function(e2, t) {
5862
5918
  if (e2 >= this.groupSizes.length) {
5863
- for (var n = this.groupSizes, o2 = n.length, r2 = o2; e2 >= r2; )
5864
- if ((r2 <<= 1) < 0)
5865
- throw he(16, "".concat(e2));
5919
+ for (var n = this.groupSizes, o2 = n.length, r2 = o2; e2 >= r2; ) if ((r2 <<= 1) < 0) throw he(16, "".concat(e2));
5866
5920
  this.groupSizes = new Uint32Array(r2), this.groupSizes.set(n), this.length = r2;
5867
- for (var s2 = o2; s2 < r2; s2++)
5868
- this.groupSizes[s2] = 0;
5921
+ for (var s2 = o2; s2 < r2; s2++) this.groupSizes[s2] = 0;
5869
5922
  }
5870
- for (var i2 = this.indexOfGroup(e2 + 1), a2 = (s2 = 0, t.length); s2 < a2; s2++)
5871
- this.tag.insertRule(i2, t[s2]) && (this.groupSizes[e2]++, i2++);
5923
+ for (var i2 = this.indexOfGroup(e2 + 1), a2 = (s2 = 0, t.length); s2 < a2; s2++) this.tag.insertRule(i2, t[s2]) && (this.groupSizes[e2]++, i2++);
5872
5924
  }, e.prototype.clearGroup = function(e2) {
5873
5925
  if (e2 < this.length) {
5874
5926
  var t = this.groupSizes[e2], n = this.indexOfGroup(e2), o2 = n + t;
5875
5927
  this.groupSizes[e2] = 0;
5876
- for (var r2 = n; r2 < o2; r2++)
5877
- this.tag.deleteRule(n);
5928
+ for (var r2 = n; r2 < o2; r2++) this.tag.deleteRule(n);
5878
5929
  }
5879
5930
  }, e.prototype.getGroup = function(e2) {
5880
5931
  var t = "";
5881
- if (e2 >= this.length || 0 === this.groupSizes[e2])
5882
- return t;
5883
- for (var n = this.groupSizes[e2], o2 = this.indexOfGroup(e2), r2 = o2 + n, s2 = o2; s2 < r2; s2++)
5884
- t += "".concat(this.tag.getRule(s2)).concat(g);
5932
+ if (e2 >= this.length || 0 === this.groupSizes[e2]) return t;
5933
+ for (var n = this.groupSizes[e2], o2 = this.indexOfGroup(e2), r2 = o2 + n, s2 = o2; s2 < r2; s2++) t += "".concat(this.tag.getRule(s2)).concat(g);
5885
5934
  return t;
5886
5935
  }, e;
5887
5936
  }();
@@ -5890,13 +5939,10 @@ var ye = /* @__PURE__ */ new Map();
5890
5939
  var ve = /* @__PURE__ */ new Map();
5891
5940
  var ge = 1;
5892
5941
  var Se = function(e) {
5893
- if (ye.has(e))
5894
- return ye.get(e);
5895
- for (; ve.has(ge); )
5896
- ge++;
5942
+ if (ye.has(e)) return ye.get(e);
5943
+ for (; ve.has(ge); ) ge++;
5897
5944
  var t = ge++;
5898
- if ((0 | t) < 0 || t > me)
5899
- throw he(16, "".concat(t));
5945
+ if ((0 | t) < 0 || t > me) throw he(16, "".concat(t));
5900
5946
  return ye.set(e, t), ve.set(t, e), t;
5901
5947
  };
5902
5948
  var we = function(e, t) {
@@ -5905,8 +5951,7 @@ var we = function(e, t) {
5905
5951
  var be = "style[".concat(f, "][").concat(y, '="').concat(v, '"]');
5906
5952
  var Ee = new RegExp("^".concat(f, '\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'));
5907
5953
  var Ne = function(e, t, n) {
5908
- for (var o2, r2 = n.split(","), s2 = 0, i2 = r2.length; s2 < i2; s2++)
5909
- (o2 = r2[s2]) && e.registerName(t, o2);
5954
+ for (var o2, r2 = n.split(","), s2 = 0, i2 = r2.length; s2 < i2; s2++) (o2 = r2[s2]) && e.registerName(t, o2);
5910
5955
  };
5911
5956
  var Pe = function(e, t) {
5912
5957
  for (var n, o2 = (null !== (n = t.textContent) && void 0 !== n ? n : "").split(g), r2 = [], s2 = 0, i2 = o2.length; s2 < i2; s2++) {
@@ -5916,8 +5961,7 @@ var Pe = function(e, t) {
5916
5961
  if (c2) {
5917
5962
  var l2 = 0 | parseInt(c2[1], 10), u2 = c2[2];
5918
5963
  0 !== l2 && (we(u2, l2), Ne(e, u2, c2[3]), e.getTag().insertRules(l2, r2)), r2.length = 0;
5919
- } else
5920
- r2.push(a2);
5964
+ } else r2.push(a2);
5921
5965
  }
5922
5966
  }
5923
5967
  };
@@ -5942,12 +5986,10 @@ var Ie = function(e) {
5942
5986
  var Ae = function() {
5943
5987
  function e(e2) {
5944
5988
  this.element = Ie(e2), this.element.appendChild(document.createTextNode("")), this.sheet = function(e3) {
5945
- if (e3.sheet)
5946
- return e3.sheet;
5989
+ if (e3.sheet) return e3.sheet;
5947
5990
  for (var t = document.styleSheets, n = 0, o2 = t.length; n < o2; n++) {
5948
5991
  var r2 = t[n];
5949
- if (r2.ownerNode === e3)
5950
- return r2;
5992
+ if (r2.ownerNode === e3) return r2;
5951
5993
  }
5952
5994
  throw he(17);
5953
5995
  }(this.element), this.length = 0;
@@ -6005,17 +6047,14 @@ var ke = function() {
6005
6047
  var r4 = function(e4) {
6006
6048
  return ve.get(e4);
6007
6049
  }(n3);
6008
- if (void 0 === r4)
6009
- return "continue";
6050
+ if (void 0 === r4) return "continue";
6010
6051
  var s3 = e3.names.get(r4), i2 = t.getGroup(n3);
6011
- if (void 0 === s3 || !s3.size || 0 === i2.length)
6012
- return "continue";
6052
+ if (void 0 === s3 || !s3.size || 0 === i2.length) return "continue";
6013
6053
  var a2 = "".concat(f, ".g").concat(n3, '[id="').concat(r4, '"]'), c2 = "";
6014
6054
  void 0 !== s3 && s3.forEach(function(e4) {
6015
6055
  e4.length > 0 && (c2 += "".concat(e4, ","));
6016
6056
  }), o3 += "".concat(i2).concat(a2, '{content:"').concat(c2, '"}').concat(g);
6017
- }, s2 = 0; s2 < n2; s2++)
6018
- r3(s2);
6057
+ }, s2 = 0; s2 < n2; s2++) r3(s2);
6019
6058
  return o3;
6020
6059
  }(r2);
6021
6060
  });
@@ -6037,8 +6076,7 @@ var ke = function() {
6037
6076
  }, e.prototype.hasNameForId = function(e2, t) {
6038
6077
  return this.names.has(e2) && this.names.get(e2).has(t);
6039
6078
  }, e.prototype.registerName = function(e2, t) {
6040
- if (Se(e2), this.names.has(e2))
6041
- this.names.get(e2).add(t);
6079
+ if (Se(e2), this.names.has(e2)) this.names.get(e2).add(t);
6042
6080
  else {
6043
6081
  var n = /* @__PURE__ */ new Set();
6044
6082
  n.add(t), this.names.set(e2, n);
@@ -6126,8 +6164,7 @@ var qe = function(e) {
6126
6164
  function He(e) {
6127
6165
  for (var t = "", n = 0; n < e.length; n++) {
6128
6166
  var o2 = e[n];
6129
- if (1 === n && "-" === o2 && "-" === e[0])
6130
- return e;
6167
+ if (1 === n && "-" === o2 && "-" === e[0]) return e;
6131
6168
  qe(o2) ? t += "-" + o2.toLowerCase() : t += o2;
6132
6169
  }
6133
6170
  return t.startsWith("ms-") ? "-" + t : t;
@@ -6144,13 +6181,10 @@ var Je = function(t) {
6144
6181
  return r2;
6145
6182
  };
6146
6183
  function Xe(e, t, n, o2) {
6147
- if (Ue(e))
6148
- return [];
6149
- if (se(e))
6150
- return [".".concat(e.styledComponentId)];
6184
+ if (Ue(e)) return [];
6185
+ if (se(e)) return [".".concat(e.styledComponentId)];
6151
6186
  if (re(e)) {
6152
- if (!re(s2 = e) || s2.prototype && s2.prototype.isReactComponent || !t)
6153
- return [e];
6187
+ if (!re(s2 = e) || s2.prototype && s2.prototype.isReactComponent || !t) return [e];
6154
6188
  var r2 = e(t);
6155
6189
  return "object" != typeof r2 || Array.isArray(r2) || r2 instanceof We || ce(r2) || null === r2 || console.error("".concat(B(e), " is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.")), Xe(r2, t, n, o2);
6156
6190
  }
@@ -6162,8 +6196,7 @@ function Xe(e, t, n, o2) {
6162
6196
  function Ze(e) {
6163
6197
  for (var t = 0; t < e.length; t += 1) {
6164
6198
  var n = e[t];
6165
- if (re(n) && !se(n))
6166
- return false;
6199
+ if (re(n) && !se(n)) return false;
6167
6200
  }
6168
6201
  return true;
6169
6202
  }
@@ -6174,22 +6207,19 @@ var Qe = function() {
6174
6207
  }
6175
6208
  return e.prototype.generateAndInjectStyles = function(e2, t, n) {
6176
6209
  var o2 = this.baseStyle ? this.baseStyle.generateAndInjectStyles(e2, t, n) : "";
6177
- if (this.isStatic && !n.hash)
6178
- if (this.staticRulesId && t.hasNameForId(this.componentId, this.staticRulesId))
6179
- o2 = ie(o2, this.staticRulesId);
6180
- else {
6181
- var r2 = ae(Xe(this.rules, e2, t, n)), s2 = x(M(this.baseHash, r2) >>> 0);
6182
- if (!t.hasNameForId(this.componentId, s2)) {
6183
- var i2 = n(r2, ".".concat(s2), void 0, this.componentId);
6184
- t.insertRules(this.componentId, s2, i2);
6185
- }
6186
- o2 = ie(o2, s2), this.staticRulesId = s2;
6210
+ if (this.isStatic && !n.hash) if (this.staticRulesId && t.hasNameForId(this.componentId, this.staticRulesId)) o2 = ie(o2, this.staticRulesId);
6211
+ else {
6212
+ var r2 = ae(Xe(this.rules, e2, t, n)), s2 = x(M(this.baseHash, r2) >>> 0);
6213
+ if (!t.hasNameForId(this.componentId, s2)) {
6214
+ var i2 = n(r2, ".".concat(s2), void 0, this.componentId);
6215
+ t.insertRules(this.componentId, s2, i2);
6187
6216
  }
6217
+ o2 = ie(o2, s2), this.staticRulesId = s2;
6218
+ }
6188
6219
  else {
6189
6220
  for (var a2 = M(this.baseHash, n.hash), c2 = "", l2 = 0; l2 < this.rules.length; l2++) {
6190
6221
  var u2 = this.rules[l2];
6191
- if ("string" == typeof u2)
6192
- c2 += u2, a2 = M(a2, u2);
6222
+ if ("string" == typeof u2) c2 += u2, a2 = M(a2, u2);
6193
6223
  else if (u2) {
6194
6224
  var p2 = ae(Xe(u2, e2, t, n));
6195
6225
  a2 = M(a2, p2 + l2), c2 += p2;
@@ -6205,19 +6235,21 @@ var Qe = function() {
6205
6235
  }();
6206
6236
  var et = import_react.default.createContext(void 0);
6207
6237
  var tt = et.Consumer;
6238
+ function nt() {
6239
+ var e = (0, import_react.useContext)(et);
6240
+ if (!e) throw he(18);
6241
+ return e;
6242
+ }
6208
6243
  function ot(e) {
6209
6244
  var n = import_react.default.useContext(et), r2 = (0, import_react.useMemo)(function() {
6210
6245
  return function(e2, n2) {
6211
- if (!e2)
6212
- throw he(14);
6246
+ if (!e2) throw he(14);
6213
6247
  if (re(e2)) {
6214
6248
  var o2 = e2(n2);
6215
- if (null === o2 || Array.isArray(o2) || "object" != typeof o2)
6216
- throw he(7);
6249
+ if (null === o2 || Array.isArray(o2) || "object" != typeof o2) throw he(7);
6217
6250
  return o2;
6218
6251
  }
6219
- if (Array.isArray(e2) || "object" != typeof e2)
6220
- throw he(8);
6252
+ if (Array.isArray(e2) || "object" != typeof e2) throw he(8);
6221
6253
  return n2 ? __assign(__assign({}, n2), e2) : e2;
6222
6254
  }(e.theme, n);
6223
6255
  }, [e.theme, n]);
@@ -6235,14 +6267,13 @@ function it(e, r2, s2) {
6235
6267
  return L(e2) ? "styled.".concat(e2) : "Styled(".concat(B(e2), ")");
6236
6268
  }(e) : m2, g2 = r2.displayName && r2.componentId ? "".concat(R(r2.displayName), "-").concat(r2.componentId) : r2.componentId || f2, S2 = i2 && a2.attrs ? a2.attrs.concat(d).filter(Boolean) : d, w2 = r2.shouldForwardProp;
6237
6269
  if (i2 && a2.shouldForwardProp) {
6238
- var b = a2.shouldForwardProp;
6270
+ var b2 = a2.shouldForwardProp;
6239
6271
  if (r2.shouldForwardProp) {
6240
6272
  var E2 = r2.shouldForwardProp;
6241
6273
  w2 = function(e2, t) {
6242
- return b(e2, t) && E2(e2, t);
6274
+ return b2(e2, t) && E2(e2, t);
6243
6275
  };
6244
- } else
6245
- w2 = b;
6276
+ } else w2 = b2;
6246
6277
  }
6247
6278
  var N2 = new Qe(s2, g2, i2 ? a2.componentStyle : void 0);
6248
6279
  function O2(e2, r3) {
@@ -6252,13 +6283,11 @@ function it(e, r2, s2) {
6252
6283
  var v2 = I(r4, f3, c3) || C, g3 = function(e4, n, o2) {
6253
6284
  for (var r5, s4 = __assign(__assign({}, n), { className: void 0, theme: o2 }), i4 = 0; i4 < e4.length; i4 += 1) {
6254
6285
  var a4 = re(r5 = e4[i4]) ? r5(s4) : r5;
6255
- for (var c4 in a4)
6256
- s4[c4] = "className" === c4 ? ie(s4[c4], a4[c4]) : "style" === c4 ? __assign(__assign({}, s4[c4]), a4[c4]) : a4[c4];
6286
+ for (var c4 in a4) s4[c4] = "className" === c4 ? ie(s4[c4], a4[c4]) : "style" === c4 ? __assign(__assign({}, s4[c4]), a4[c4]) : a4[c4];
6257
6287
  }
6258
6288
  return n.className && (s4.className = ie(s4.className, n.className)), s4;
6259
6289
  }(i3, r4, v2), S3 = g3.as || h2, w3 = {};
6260
- for (var b2 in g3)
6261
- void 0 === g3[b2] || "$" === b2[0] || "as" === b2 || "theme" === b2 && g3.theme === v2 || ("forwardedAs" === b2 ? w3.as = g3.forwardedAs : y3 && !y3(b2, S3) || (w3[b2] = g3[b2], y3 || false || isPropValid(b2) || st.has(b2) || !A.has(S3) || (st.add(b2), console.warn('styled-components: it looks like an unknown prop "'.concat(b2, '" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));
6290
+ for (var b3 in g3) void 0 === g3[b3] || "$" === b3[0] || "as" === b3 || "theme" === b3 && g3.theme === v2 || ("forwardedAs" === b3 ? w3.as = g3.forwardedAs : y3 && !y3(b3, S3) || (w3[b3] = g3[b3], y3 || false || isPropValid(b3) || st.has(b3) || !A.has(S3) || (st.add(b3), console.warn('styled-components: it looks like an unknown prop "'.concat(b3, '" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));
6262
6291
  var E3 = function(e4, t) {
6263
6292
  var n = Ge(), o2 = e4.generateAndInjectStyles(t, n.styleSheet, n.stylis);
6264
6293
  return (0, import_react.useDebugValue)(o2), o2;
@@ -6274,10 +6303,8 @@ function it(e, r2, s2) {
6274
6303
  return this._foldedDefaultProps;
6275
6304
  }, set: function(e2) {
6276
6305
  this._foldedDefaultProps = i2 ? function(e3) {
6277
- for (var t = [], n = 1; n < arguments.length; n++)
6278
- t[n - 1] = arguments[n];
6279
- for (var o2 = 0, r3 = t; o2 < r3.length; o2++)
6280
- le(e3, r3[o2], true);
6306
+ for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
6307
+ for (var o2 = 0, r3 = t; o2 < r3.length; o2++) le(e3, r3[o2], true);
6281
6308
  return e3;
6282
6309
  }({}, a2.defaultProps, e2) : e2;
6283
6310
  } }), P(y2, g2), D2.warnTooManyClasses = /* @__PURE__ */ function(e2, t) {
@@ -6293,27 +6320,22 @@ function it(e, r2, s2) {
6293
6320
  }), c2 && oe(D2, e, { attrs: true, componentStyle: true, displayName: true, foldedComponentIds: true, shouldForwardProp: true, styledComponentId: true, target: true }), D2;
6294
6321
  }
6295
6322
  function at(e, t) {
6296
- for (var n = [e[0]], o2 = 0, r2 = t.length; o2 < r2; o2 += 1)
6297
- n.push(t[o2], e[o2 + 1]);
6323
+ for (var n = [e[0]], o2 = 0, r2 = t.length; o2 < r2; o2 += 1) n.push(t[o2], e[o2 + 1]);
6298
6324
  return n;
6299
6325
  }
6300
6326
  var ct = function(e) {
6301
6327
  return Object.assign(e, { isCss: true });
6302
6328
  };
6303
6329
  function lt(t) {
6304
- for (var n = [], o2 = 1; o2 < arguments.length; o2++)
6305
- n[o2 - 1] = arguments[o2];
6306
- if (re(t) || ce(t))
6307
- return ct(Xe(at(_, __spreadArray([t], n, true))));
6330
+ for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
6331
+ if (re(t) || ce(t)) return ct(Xe(at(_, __spreadArray([t], n, true))));
6308
6332
  var r2 = t;
6309
6333
  return 0 === n.length && 1 === r2.length && "string" == typeof r2[0] ? Xe(r2) : ct(Xe(at(r2, n)));
6310
6334
  }
6311
6335
  function ut(n, o2, r2) {
6312
- if (void 0 === r2 && (r2 = C), !o2)
6313
- throw he(1, o2);
6336
+ if (void 0 === r2 && (r2 = C), !o2) throw he(1, o2);
6314
6337
  var s2 = function(t) {
6315
- for (var s3 = [], i2 = 1; i2 < arguments.length; i2++)
6316
- s3[i2 - 1] = arguments[i2];
6338
+ for (var s3 = [], i2 = 1; i2 < arguments.length; i2++) s3[i2 - 1] = arguments[i2];
6317
6339
  return n(o2, r2, lt.apply(void 0, __spreadArray([t], s3, false)));
6318
6340
  };
6319
6341
  return s2.attrs = function(e) {
@@ -6342,26 +6364,51 @@ var ht = function() {
6342
6364
  e2 > 2 && ke.registerId(this.componentId + e2), this.removeStyles(e2, n), this.createStyles(e2, t, n, o2);
6343
6365
  }, e;
6344
6366
  }();
6367
+ function ft(n) {
6368
+ for (var r2 = [], s2 = 1; s2 < arguments.length; s2++) r2[s2 - 1] = arguments[s2];
6369
+ var i2 = lt.apply(void 0, __spreadArray([n], r2, false)), a2 = "sc-global-".concat($(JSON.stringify(i2))), c2 = new ht(i2, a2);
6370
+ P(a2);
6371
+ var l2 = function(e) {
6372
+ var t = Ge(), n2 = import_react.default.useContext(et), r3 = import_react.default.useRef(t.styleSheet.allocateGSInstance(a2)).current;
6373
+ return import_react.default.Children.count(e.children) && console.warn("The global style component ".concat(a2, " was given child JSX. createGlobalStyle does not render children.")), i2.some(function(e2) {
6374
+ return "string" == typeof e2 && -1 !== e2.indexOf("@import");
6375
+ }) && console.warn("Please do not use @import CSS syntax in createGlobalStyle at this time, as the CSSOM APIs we use in production do not handle it well. Instead, we recommend using a library such as react-helmet to inject a typical <link> meta tag to the stylesheet, or simply embedding it manually in your index.html <head> section for a simpler app."), t.styleSheet.server && u2(r3, e, t.styleSheet, n2, t.stylis), import_react.default.useLayoutEffect(function() {
6376
+ if (!t.styleSheet.server) return u2(r3, e, t.styleSheet, n2, t.stylis), function() {
6377
+ return c2.removeStyles(r3, t.styleSheet);
6378
+ };
6379
+ }, [r3, e, t.styleSheet, n2, t.stylis]), null;
6380
+ };
6381
+ function u2(e, n2, o2, r3, s3) {
6382
+ if (c2.isStatic) c2.renderStyles(e, b, o2, s3);
6383
+ else {
6384
+ var i3 = __assign(__assign({}, n2), { theme: I(n2, r3, l2.defaultProps) });
6385
+ c2.renderStyles(e, i3, o2, s3);
6386
+ }
6387
+ }
6388
+ return import_react.default.memo(l2);
6389
+ }
6390
+ function mt(t) {
6391
+ for (var n = [], o2 = 1; o2 < arguments.length; o2++) n[o2 - 1] = arguments[o2];
6392
+ "undefined" != typeof navigator && "ReactNative" === navigator.product && console.warn("`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.");
6393
+ var r2 = ae(lt.apply(void 0, __spreadArray([t], n, false))), s2 = $(r2);
6394
+ return new We(s2, r2);
6395
+ }
6345
6396
  var vt = function() {
6346
6397
  function e() {
6347
6398
  var e2 = this;
6348
6399
  this._emitSheetCSS = function() {
6349
6400
  var t = e2.instance.toString();
6350
- if (!t)
6351
- return "";
6401
+ if (!t) return "";
6352
6402
  var n = Ce(), o2 = ae([n && 'nonce="'.concat(n, '"'), "".concat(f, '="true"'), "".concat(y, '="').concat(v, '"')].filter(Boolean), " ");
6353
6403
  return "<style ".concat(o2, ">").concat(t, "</style>");
6354
6404
  }, this.getStyleTags = function() {
6355
- if (e2.sealed)
6356
- throw he(2);
6405
+ if (e2.sealed) throw he(2);
6357
6406
  return e2._emitSheetCSS();
6358
6407
  }, this.getStyleElement = function() {
6359
6408
  var n;
6360
- if (e2.sealed)
6361
- throw he(2);
6409
+ if (e2.sealed) throw he(2);
6362
6410
  var r2 = e2.instance.toString();
6363
- if (!r2)
6364
- return [];
6411
+ if (!r2) return [];
6365
6412
  var s2 = ((n = {})[f] = "", n[y] = v, n.dangerouslySetInnerHTML = { __html: r2 }, n), i2 = Ce();
6366
6413
  return i2 && (s2.nonce = i2), [import_react.default.createElement("style", __assign({}, s2, { key: "sc-0-0" }))];
6367
6414
  }, this.seal = function() {
@@ -6369,8 +6416,7 @@ var vt = function() {
6369
6416
  }, this.instance = new ke({ isServer: true }), this.sealed = false;
6370
6417
  }
6371
6418
  return e.prototype.collectStyles = function(e2) {
6372
- if (this.sealed)
6373
- throw he(2);
6419
+ if (this.sealed) throw he(2);
6374
6420
  return import_react.default.createElement(Ye, { sheet: this.instance }, e2);
6375
6421
  }, e.prototype.interleaveWithNodeStream = function(e2) {
6376
6422
  throw he(3);
@@ -6883,7 +6929,8 @@ function ChangeSubscriptionRequestBodyToJSON(value) {
6883
6929
  }
6884
6930
  return {
6885
6931
  new_plan_id: value["newPlanId"],
6886
- new_price_id: value["newPriceId"]
6932
+ new_price_id: value["newPriceId"],
6933
+ payment_method_id: value["paymentMethodId"]
6887
6934
  };
6888
6935
  }
6889
6936
 
@@ -7314,6 +7361,7 @@ function InvoiceResponseDataFromJSONTyped(json, ignoreDiscriminator) {
7314
7361
  environmentId: json["environment_id"],
7315
7362
  externalId: json["external_id"],
7316
7363
  id: json["id"],
7364
+ paymentMethodExternalId: json["payment_method_external_id"] == null ? void 0 : json["payment_method_external_id"],
7317
7365
  subscriptionExternalId: json["subscription_external_id"] == null ? void 0 : json["subscription_external_id"],
7318
7366
  subtotal: json["subtotal"],
7319
7367
  updatedAt: new Date(json["updated_at"])
@@ -7433,7 +7481,8 @@ function StripeEmbedInfoFromJSONTyped(json, ignoreDiscriminator) {
7433
7481
  }
7434
7482
  return {
7435
7483
  customerEkey: json["customer_ekey"] == null ? void 0 : json["customer_ekey"],
7436
- publishableKey: json["publishable_key"]
7484
+ publishableKey: json["publishable_key"],
7485
+ setupIntentClientSecret: json["setup_intent_client_secret"] == null ? void 0 : json["setup_intent_client_secret"]
7437
7486
  };
7438
7487
  }
7439
7488
 
@@ -7564,6 +7613,314 @@ var CheckoutApi = class extends BaseAPI {
7564
7613
 
7565
7614
  // src/context/embed.tsx
7566
7615
  var import_jsx_runtime = require("react/jsx-runtime");
7616
+ var GlobalStyle = ft`
7617
+ @font-face {
7618
+ font-family: "icons";
7619
+ src: url(data:font/ttf;base64,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AREBEgETARQBFQEWARcBGAEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwAFYWxhcm0MYXJyb3ctY3VydmVkCmFycm93LWRvd24KYXJyb3ctbGVmdAthcnJvdy1yaWdodAhhcnJvdy11cAxhcnJvdy11cHdhcmQJYmFja3NwYWNlBGJlbGwFYm9hcmQIYm9va21hcmsKYm9vbGVhbi1vbgdib29sZWFuBGJ1bGIGYnVyZ2VyDWNoZWNrLXJvdW5kZWQFY2hlY2sMY2hldnJvbi1kb3duDGNoZXZyb24tbGVmdA1jaGV2cm9uLXJpZ2h0CmNoZXZyb24tdXAEY2hpcAVjaGlwcxRjbG9zZS1yb3VuZGVkLWZpbGxlZAVjbG9zZQhjbG91ZC11cARjbHViA2NtZARjb2RlBmNvZmZlZQNjb2cOY29sbGFwc2UtZW1wdHkIY29sbGFwc2UHY29tcGFzcwpjb25uZWN0aW9uBGNvcHkHY3lsbmRlcgdkaWFtb25kDmRvbGxhci1yb3VuZGVkD2RvdHMtaG9yaXpvbnRhbA1kb3RzLXZlcnRpY2FsDGVudGl0bGVtZW50cwllcXVhbGl6ZXIaZXhjbGFtYXRpb24tcm91bmRlZC1maWxsZWQDZXllBmZpbHRlcgxmb2xkZXItbWludXMLZm9sZGVyLXBsdXMGZm9sZGVyB2dsYXNzZXMFZ2xvYmUGaGFtbWVyBGhhc2gFaGVhcnQHaHVic3BvdAVpbWFnZQxpbmZvLXJvdW5kZWQFanVpY2UDa2V5BW11c2ljCm5vZGUtbWludXMJbm9kZS1wbHVzB3BhY2thZ2ULcGFwZXItcGxhbmUGcGVuY2lsBnBpY2tlcgRwbGFuBHBsdWcKcGx1cy1taW51cxRwbHVzLXJvdW5kZWQtb3V0bGluZQdwcmVzZW50CXNjaGVtYXRpYwZzZWFyY2gHc2VnbWVudA1zZXJ2ZXItc2VhcmNoB3NpZGViYXIGc2lnbmFsB3NpbGVuY2UFc3BhZGUHc3BlYWtlcgZzdGFja3MGc3RyaXBlBHRleHQHdGh1bmRlcgd0b3JuYWRvBXRydWNrBHR1YmULdW5wcm90ZWN0ZWQIdmVyaWZpZWQMdmlkZW8tY2FtZXJhBndhbGxldAp3YXRjaC1oYW5kDHdhdGNoLXBvY2tldAp3YXRlci1kcm9wBXdhdmVzB3dlYmhvb2sEd2luZAAAAA==)
7620
+ format("truetype");
7621
+ }
7622
+
7623
+ i[class^="i-"]:before,
7624
+ i[class*=" i-"]:before {
7625
+ font-family: icons !important;
7626
+ font-style: normal;
7627
+ font-weight: normal !important;
7628
+ -webkit-font-smoothing: antialiased;
7629
+ -moz-osx-font-smoothing: grayscale;
7630
+ }
7631
+
7632
+ .i-alarm:before {
7633
+ content: "\\f101";
7634
+ }
7635
+ .i-arrow-curved:before {
7636
+ content: "\\f102";
7637
+ }
7638
+ .i-arrow-down:before {
7639
+ content: "\\f103";
7640
+ }
7641
+ .i-arrow-left:before {
7642
+ content: "\\f104";
7643
+ }
7644
+ .i-arrow-right:before {
7645
+ content: "\\f105";
7646
+ }
7647
+ .i-arrow-up:before {
7648
+ content: "\\f106";
7649
+ }
7650
+ .i-arrow-upward:before {
7651
+ content: "\\f107";
7652
+ }
7653
+ .i-backspace:before {
7654
+ content: "\\f108";
7655
+ }
7656
+ .i-bell:before {
7657
+ content: "\\f109";
7658
+ }
7659
+ .i-board:before {
7660
+ content: "\\f10a";
7661
+ }
7662
+ .i-bookmark:before {
7663
+ content: "\\f10b";
7664
+ }
7665
+ .i-boolean-on:before {
7666
+ content: "\\f10c";
7667
+ }
7668
+ .i-boolean:before {
7669
+ content: "\\f10d";
7670
+ }
7671
+ .i-bulb:before {
7672
+ content: "\\f10e";
7673
+ }
7674
+ .i-burger:before {
7675
+ content: "\\f10f";
7676
+ }
7677
+ .i-check-rounded:before {
7678
+ content: "\\f110";
7679
+ }
7680
+ .i-check:before {
7681
+ content: "\\f111";
7682
+ }
7683
+ .i-chevron-down:before {
7684
+ content: "\\f112";
7685
+ }
7686
+ .i-chevron-left:before {
7687
+ content: "\\f113";
7688
+ }
7689
+ .i-chevron-right:before {
7690
+ content: "\\f114";
7691
+ }
7692
+ .i-chevron-up:before {
7693
+ content: "\\f115";
7694
+ }
7695
+ .i-chip:before {
7696
+ content: "\\f116";
7697
+ }
7698
+ .i-chips:before {
7699
+ content: "\\f117";
7700
+ }
7701
+ .i-close-rounded-filled:before {
7702
+ content: "\\f118";
7703
+ }
7704
+ .i-close:before {
7705
+ content: "\\f119";
7706
+ }
7707
+ .i-cloud-up:before {
7708
+ content: "\\f11a";
7709
+ }
7710
+ .i-club:before {
7711
+ content: "\\f11b";
7712
+ }
7713
+ .i-cmd:before {
7714
+ content: "\\f11c";
7715
+ }
7716
+ .i-code:before {
7717
+ content: "\\f11d";
7718
+ }
7719
+ .i-coffee:before {
7720
+ content: "\\f11e";
7721
+ }
7722
+ .i-cog:before {
7723
+ content: "\\f11f";
7724
+ }
7725
+ .i-collapse-empty:before {
7726
+ content: "\\f120";
7727
+ }
7728
+ .i-collapse:before {
7729
+ content: "\\f121";
7730
+ }
7731
+ .i-compass:before {
7732
+ content: "\\f122";
7733
+ }
7734
+ .i-connection:before {
7735
+ content: "\\f123";
7736
+ }
7737
+ .i-copy:before {
7738
+ content: "\\f124";
7739
+ }
7740
+ .i-cylnder:before {
7741
+ content: "\\f125";
7742
+ }
7743
+ .i-diamond:before {
7744
+ content: "\\f126";
7745
+ }
7746
+ .i-dollar-rounded:before {
7747
+ content: "\\f127";
7748
+ }
7749
+ .i-dots-horizontal:before {
7750
+ content: "\\f128";
7751
+ }
7752
+ .i-dots-vertical:before {
7753
+ content: "\\f129";
7754
+ }
7755
+ .i-entitlements:before {
7756
+ content: "\\f12a";
7757
+ }
7758
+ .i-equalizer:before {
7759
+ content: "\\f12b";
7760
+ }
7761
+ .i-exclamation-rounded-filled:before {
7762
+ content: "\\f12c";
7763
+ }
7764
+ .i-eye:before {
7765
+ content: "\\f12d";
7766
+ }
7767
+ .i-filter:before {
7768
+ content: "\\f12e";
7769
+ }
7770
+ .i-folder-minus:before {
7771
+ content: "\\f12f";
7772
+ }
7773
+ .i-folder-plus:before {
7774
+ content: "\\f130";
7775
+ }
7776
+ .i-folder:before {
7777
+ content: "\\f131";
7778
+ }
7779
+ .i-glasses:before {
7780
+ content: "\\f132";
7781
+ }
7782
+ .i-globe:before {
7783
+ content: "\\f133";
7784
+ }
7785
+ .i-hammer:before {
7786
+ content: "\\f134";
7787
+ }
7788
+ .i-hash:before {
7789
+ content: "\\f135";
7790
+ }
7791
+ .i-heart:before {
7792
+ content: "\\f136";
7793
+ }
7794
+ .i-hubspot:before {
7795
+ content: "\\f137";
7796
+ }
7797
+ .i-image:before {
7798
+ content: "\\f138";
7799
+ }
7800
+ .i-info-rounded:before {
7801
+ content: "\\f139";
7802
+ }
7803
+ .i-juice:before {
7804
+ content: "\\f13a";
7805
+ }
7806
+ .i-key:before {
7807
+ content: "\\f13b";
7808
+ }
7809
+ .i-music:before {
7810
+ content: "\\f13c";
7811
+ }
7812
+ .i-node-minus:before {
7813
+ content: "\\f13d";
7814
+ }
7815
+ .i-node-plus:before {
7816
+ content: "\\f13e";
7817
+ }
7818
+ .i-package:before {
7819
+ content: "\\f13f";
7820
+ }
7821
+ .i-paper-plane:before {
7822
+ content: "\\f140";
7823
+ }
7824
+ .i-pencil:before {
7825
+ content: "\\f141";
7826
+ }
7827
+ .i-picker:before {
7828
+ content: "\\f142";
7829
+ }
7830
+ .i-plan:before {
7831
+ content: "\\f143";
7832
+ }
7833
+ .i-plug:before {
7834
+ content: "\\f144";
7835
+ }
7836
+ .i-plus-minus:before {
7837
+ content: "\\f145";
7838
+ }
7839
+ .i-plus-rounded-outline:before {
7840
+ content: "\\f146";
7841
+ }
7842
+ .i-present:before {
7843
+ content: "\\f147";
7844
+ }
7845
+ .i-schematic:before {
7846
+ content: "\\f148";
7847
+ }
7848
+ .i-search:before {
7849
+ content: "\\f149";
7850
+ }
7851
+ .i-segment:before {
7852
+ content: "\\f14a";
7853
+ }
7854
+ .i-server-search:before {
7855
+ content: "\\f14b";
7856
+ }
7857
+ .i-sidebar:before {
7858
+ content: "\\f14c";
7859
+ }
7860
+ .i-signal:before {
7861
+ content: "\\f14d";
7862
+ }
7863
+ .i-silence:before {
7864
+ content: "\\f14e";
7865
+ }
7866
+ .i-spade:before {
7867
+ content: "\\f14f";
7868
+ }
7869
+ .i-speaker:before {
7870
+ content: "\\f150";
7871
+ }
7872
+ .i-stacks:before {
7873
+ content: "\\f151";
7874
+ }
7875
+ .i-stripe:before {
7876
+ content: "\\f152";
7877
+ }
7878
+ .i-text:before {
7879
+ content: "\\f153";
7880
+ }
7881
+ .i-thunder:before {
7882
+ content: "\\f154";
7883
+ }
7884
+ .i-tornado:before {
7885
+ content: "\\f155";
7886
+ }
7887
+ .i-truck:before {
7888
+ content: "\\f156";
7889
+ }
7890
+ .i-tube:before {
7891
+ content: "\\f157";
7892
+ }
7893
+ .i-unprotected:before {
7894
+ content: "\\f158";
7895
+ }
7896
+ .i-verified:before {
7897
+ content: "\\f159";
7898
+ }
7899
+ .i-video-camera:before {
7900
+ content: "\\f15a";
7901
+ }
7902
+ .i-wallet:before {
7903
+ content: "\\f15b";
7904
+ }
7905
+ .i-watch-hand:before {
7906
+ content: "\\f15c";
7907
+ }
7908
+ .i-watch-pocket:before {
7909
+ content: "\\f15d";
7910
+ }
7911
+ .i-water-drop:before {
7912
+ content: "\\f15e";
7913
+ }
7914
+ .i-waves:before {
7915
+ content: "\\f15f";
7916
+ }
7917
+ .i-webhook:before {
7918
+ content: "\\f160";
7919
+ }
7920
+ .i-wind:before {
7921
+ content: "\\f161";
7922
+ }
7923
+ `;
7567
7924
  var defaultTheme = {
7568
7925
  numberOfColumns: 2,
7569
7926
  sectionLayout: "merged",
@@ -7656,8 +8013,8 @@ function parseEditorState(data) {
7656
8013
  return arr;
7657
8014
  }
7658
8015
  async function fetchComponent(id, api) {
7659
- const settings = { ...defaultSettings };
7660
8016
  const nodes = [];
8017
+ const settings = { ...defaultSettings };
7661
8018
  const response = await api.hydrateComponent({ componentId: id });
7662
8019
  const { data } = response;
7663
8020
  if (data.component?.ast) {
@@ -7667,7 +8024,7 @@ async function fetchComponent(id, api) {
7667
8024
  });
7668
8025
  const ast = getEditorState(json);
7669
8026
  if (ast) {
7670
- Object.assign(settings, ast.ROOT.props);
8027
+ (0, import_lodash.default)(settings, ast.ROOT.props.settings);
7671
8028
  nodes.push(...parseEditorState(ast));
7672
8029
  }
7673
8030
  }
@@ -7771,9 +8128,11 @@ var EmbedProvider = ({
7771
8128
  const setData = (0, import_react2.useCallback)(
7772
8129
  (data) => {
7773
8130
  setState((prev2) => {
7774
- const updated = { ...prev2 };
7775
- (0, import_lodash.default)(updated.data, data);
7776
- return updated;
8131
+ const updatedData = (0, import_lodash.default)({}, prev2.data, { ...data });
8132
+ return {
8133
+ ...prev2,
8134
+ data: updatedData
8135
+ };
7777
8136
  });
7778
8137
  },
7779
8138
  [setState]
@@ -7781,9 +8140,11 @@ var EmbedProvider = ({
7781
8140
  const updateSettings = (0, import_react2.useCallback)(
7782
8141
  (settings) => {
7783
8142
  setState((prev2) => {
7784
- const updated = { ...prev2 };
7785
- (0, import_lodash.default)(updated.settings, settings);
7786
- return updated;
8143
+ const updatedSettings = (0, import_lodash.default)({}, prev2.settings, { ...settings });
8144
+ return {
8145
+ ...prev2,
8146
+ settings: updatedSettings
8147
+ };
7787
8148
  });
7788
8149
  },
7789
8150
  [setState]
@@ -7837,8 +8198,8 @@ var EmbedProvider = ({
7837
8198
  }
7838
8199
  }
7839
8200
  },
7840
- ...state.data.stripeEmbed?.customerEkey ? {
7841
- clientSecret: state.data.stripeEmbed.customerEkey
8201
+ ...state.data.stripeEmbed?.setupIntentClientSecret ? {
8202
+ clientSecret: state.data.stripeEmbed?.setupIntentClientSecret
7842
8203
  } : { mode: "payment", currency: "usd", amount: 999999 }
7843
8204
  },
7844
8205
  children
@@ -7863,7 +8224,10 @@ var EmbedProvider = ({
7863
8224
  setStripe,
7864
8225
  setLayout
7865
8226
  },
7866
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ot, { theme: state.settings.theme, children: renderChildren() })
8227
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ot, { theme: state.settings.theme, children: [
8228
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GlobalStyle, {}),
8229
+ renderChildren()
8230
+ ] })
7867
8231
  }
7868
8232
  );
7869
8233
  };
@@ -8802,43 +9166,38 @@ var useSchematicFlag = (key, opts) => {
8802
9166
  };
8803
9167
 
8804
9168
  // src/components/elements/plan-manager/PlanManager.tsx
8805
- var import_react7 = require("react");
9169
+ var import_react10 = require("react");
8806
9170
  var import_react_dom = require("react-dom");
8807
9171
 
8808
9172
  // src/utils/color.ts
8809
9173
  function hexToHSL(color) {
8810
9174
  let r2 = 0;
8811
9175
  let g2 = 0;
8812
- let b = 0;
9176
+ let b2 = 0;
8813
9177
  if (color.length == 4) {
8814
9178
  r2 = parseInt("0x" + color[1] + color[1]);
8815
9179
  g2 = parseInt("0x" + color[2] + color[2]);
8816
- b = parseInt("0x" + color[3] + color[3]);
9180
+ b2 = parseInt("0x" + color[3] + color[3]);
8817
9181
  } else if (color.length == 7) {
8818
9182
  r2 = parseInt("0x" + color[1] + color[2]);
8819
9183
  g2 = parseInt("0x" + color[3] + color[4]);
8820
- b = parseInt("0x" + color[5] + color[6]);
9184
+ b2 = parseInt("0x" + color[5] + color[6]);
8821
9185
  }
8822
9186
  r2 /= 255;
8823
9187
  g2 /= 255;
8824
- b /= 255;
8825
- const cmin = Math.min(r2, g2, b);
8826
- const cmax = Math.max(r2, g2, b);
9188
+ b2 /= 255;
9189
+ const cmin = Math.min(r2, g2, b2);
9190
+ const cmax = Math.max(r2, g2, b2);
8827
9191
  const delta = cmax - cmin;
8828
9192
  let h = 0;
8829
9193
  let s2 = 0;
8830
9194
  let l2 = 0;
8831
- if (delta == 0)
8832
- h = 0;
8833
- else if (cmax == r2)
8834
- h = (g2 - b) / delta % 6;
8835
- else if (cmax == g2)
8836
- h = (b - r2) / delta + 2;
8837
- else
8838
- h = (r2 - g2) / delta + 4;
9195
+ if (delta == 0) h = 0;
9196
+ else if (cmax == r2) h = (g2 - b2) / delta % 6;
9197
+ else if (cmax == g2) h = (b2 - r2) / delta + 2;
9198
+ else h = (r2 - g2) / delta + 4;
8839
9199
  h = Math.round(h * 60);
8840
- if (h < 0)
8841
- h += 360;
9200
+ if (h < 0) h += 360;
8842
9201
  l2 = (cmax + cmin) / 2;
8843
9202
  s2 = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l2 - 1));
8844
9203
  s2 = +(s2 * 100).toFixed(1);
@@ -8853,41 +9212,38 @@ function hslToHex({ h, s: s2, l: l2 }) {
8853
9212
  const m2 = l2 - c2 / 2;
8854
9213
  let r2 = 0;
8855
9214
  let g2 = 0;
8856
- let b = 0;
9215
+ let b2 = 0;
8857
9216
  if (0 <= h && h < 60) {
8858
9217
  r2 = c2;
8859
9218
  g2 = x2;
8860
- b = 0;
9219
+ b2 = 0;
8861
9220
  } else if (60 <= h && h < 120) {
8862
9221
  r2 = x2;
8863
9222
  g2 = c2;
8864
- b = 0;
9223
+ b2 = 0;
8865
9224
  } else if (120 <= h && h < 180) {
8866
9225
  r2 = 0;
8867
9226
  g2 = c2;
8868
- b = x2;
9227
+ b2 = x2;
8869
9228
  } else if (180 <= h && h < 240) {
8870
9229
  r2 = 0;
8871
9230
  g2 = x2;
8872
- b = c2;
9231
+ b2 = c2;
8873
9232
  } else if (240 <= h && h < 300) {
8874
9233
  r2 = x2;
8875
9234
  g2 = 0;
8876
- b = c2;
9235
+ b2 = c2;
8877
9236
  } else if (300 <= h && h < 360) {
8878
9237
  r2 = c2;
8879
9238
  g2 = 0;
8880
- b = x2;
9239
+ b2 = x2;
8881
9240
  }
8882
9241
  let rs = Math.round((r2 + m2) * 255).toString(16);
8883
9242
  let gs = Math.round((g2 + m2) * 255).toString(16);
8884
- let bs = Math.round((b + m2) * 255).toString(16);
8885
- if (rs.length == 1)
8886
- rs = "0" + rs;
8887
- if (gs.length == 1)
8888
- gs = "0" + gs;
8889
- if (bs.length == 1)
8890
- bs = "0" + bs;
9243
+ let bs = Math.round((b2 + m2) * 255).toString(16);
9244
+ if (rs.length == 1) rs = "0" + rs;
9245
+ if (gs.length == 1) gs = "0" + gs;
9246
+ if (bs.length == 1) bs = "0" + bs;
8891
9247
  return "#" + rs + gs + bs;
8892
9248
  }
8893
9249
  function adjustLightness(color, amount) {
@@ -8914,6 +9270,34 @@ function toPrettyDate(date) {
8914
9270
  function camelToHyphen(str) {
8915
9271
  return str.replace(/([a-z][A-Z])/g, (g2) => `${g2[0]}-${g2[1].toLowerCase()}`);
8916
9272
  }
9273
+ function formatCurrency(amount) {
9274
+ try {
9275
+ const dollars = amount / 100;
9276
+ const formatValue = (value, symbol) => {
9277
+ let formatted = value.toFixed(1);
9278
+ if (formatted.endsWith(".0")) {
9279
+ formatted = formatted.slice(0, -2);
9280
+ }
9281
+ return `$${formatted}${symbol}`;
9282
+ };
9283
+ if (dollars >= 1e6) {
9284
+ return formatValue(dollars / 1e6, "M");
9285
+ } else if (dollars >= 1e3) {
9286
+ return formatValue(dollars / 1e3, "k");
9287
+ } else {
9288
+ return new Intl.NumberFormat("en-US", {
9289
+ style: "currency",
9290
+ currency: "USD"
9291
+ }).format(dollars);
9292
+ }
9293
+ } catch (error) {
9294
+ console.error("Error formatting currency", error);
9295
+ return new Intl.NumberFormat("en-US", {
9296
+ style: "currency",
9297
+ currency: "USD"
9298
+ }).format(amount / 100);
9299
+ }
9300
+ }
8917
9301
 
8918
9302
  // src/const/index.ts
8919
9303
  var TEXT_BASE_SIZE = 16;
@@ -9146,13 +9530,115 @@ var IconRound = ({
9146
9530
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Container, { $size: size, $variant: variant, $colors: colors, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon2, { name }) });
9147
9531
  };
9148
9532
 
9533
+ // src/components/ui/modal/Modal.tsx
9534
+ var import_react6 = require("react");
9535
+ var import_jsx_runtime6 = require("react/jsx-runtime");
9536
+ var Modal = ({ children, onClose }) => {
9537
+ const theme = nt();
9538
+ const { setLayout } = useEmbed();
9539
+ const ref = (0, import_react6.useRef)(null);
9540
+ const handleClose = (0, import_react6.useCallback)(() => {
9541
+ setLayout("portal");
9542
+ onClose?.();
9543
+ }, [setLayout, onClose]);
9544
+ (0, import_react6.useEffect)(() => {
9545
+ ref.current?.focus();
9546
+ }, []);
9547
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
9548
+ Box,
9549
+ {
9550
+ ref,
9551
+ tabIndex: 0,
9552
+ onClick: (event) => {
9553
+ if (event.target === event.currentTarget) {
9554
+ handleClose();
9555
+ }
9556
+ },
9557
+ onKeyDown: (event) => {
9558
+ if (event.key === "Escape") {
9559
+ handleClose();
9560
+ }
9561
+ },
9562
+ $position: "absolute",
9563
+ $top: "50%",
9564
+ $left: "50%",
9565
+ $zIndex: "999999",
9566
+ $transform: "translate(-50%, -50%)",
9567
+ $width: "100%",
9568
+ $height: "100%",
9569
+ $backgroundColor: hexToHSL(theme.card.background).l > 50 ? darken(theme.card.background, 15) : lighten(theme.card.background, 15),
9570
+ $overflow: "hidden",
9571
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
9572
+ Flex,
9573
+ {
9574
+ $position: "relative",
9575
+ $top: "50%",
9576
+ $left: "50%",
9577
+ $transform: "translate(-50%, -50%)",
9578
+ $flexDirection: "column",
9579
+ $overflow: "hidden",
9580
+ $width: "calc(100% - 5rem)",
9581
+ $height: "calc(100% - 5rem)",
9582
+ $backgroundColor: hexToHSL(theme.card.background).l > 50 ? darken(theme.card.background, 2.5) : lighten(theme.card.background, 2.5),
9583
+ $borderRadius: "0.5rem",
9584
+ $boxShadow: "0px 1px 20px 0px #1018280F, 0px 1px 3px 0px #1018281A;",
9585
+ id: "select-plan-dialog",
9586
+ role: "dialog",
9587
+ "aria-labelledby": "select-plan-dialog-label",
9588
+ "aria-modal": "true",
9589
+ children
9590
+ }
9591
+ )
9592
+ }
9593
+ );
9594
+ };
9595
+
9596
+ // src/components/ui/modal/ModalHeader.tsx
9597
+ var import_react7 = require("react");
9598
+ var import_jsx_runtime7 = require("react/jsx-runtime");
9599
+ var ModalHeader = ({ children, onClose }) => {
9600
+ const theme = nt();
9601
+ const { setLayout } = useEmbed();
9602
+ const handleClose = (0, import_react7.useCallback)(() => {
9603
+ setLayout("portal");
9604
+ onClose?.();
9605
+ }, [setLayout, onClose]);
9606
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
9607
+ Flex,
9608
+ {
9609
+ $justifyContent: "space-between",
9610
+ $alignItems: "center",
9611
+ $gap: "1rem",
9612
+ $height: "3.75rem",
9613
+ $padding: "0 0.625rem 0 2.5rem",
9614
+ $backgroundColor: theme.card.background,
9615
+ $borderBottomWidth: "1px",
9616
+ $borderBottomStyle: "solid",
9617
+ $borderBottomColor: hexToHSL(theme.card.background).l > 50 ? darken(theme.card.background, 15) : lighten(theme.card.background, 15),
9618
+ children: [
9619
+ children,
9620
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Box, { $cursor: "pointer", onClick: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
9621
+ Icon2,
9622
+ {
9623
+ name: "close",
9624
+ style: {
9625
+ fontSize: 36,
9626
+ color: hexToHSL(theme.card.background).l > 50 ? darken(theme.card.background, 27.5) : lighten(theme.card.background, 27.5)
9627
+ }
9628
+ }
9629
+ ) })
9630
+ ]
9631
+ }
9632
+ );
9633
+ };
9634
+
9149
9635
  // src/components/ui/progress-bar/styles.ts
9150
9636
  var Container2 = dt(Flex)`
9151
9637
  position: relative;
9152
9638
  `;
9153
9639
 
9154
9640
  // src/components/ui/progress-bar/ProgressBar.tsx
9155
- var import_jsx_runtime6 = require("react/jsx-runtime");
9641
+ var import_jsx_runtime8 = require("react/jsx-runtime");
9156
9642
  var ProgressBar = ({
9157
9643
  progress,
9158
9644
  value,
@@ -9168,21 +9654,21 @@ var ProgressBar = ({
9168
9654
  orange: "#DB6769",
9169
9655
  red: "#EF4444"
9170
9656
  };
9171
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
9657
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9172
9658
  Container2,
9173
9659
  {
9174
9660
  $alignItems: "center",
9175
9661
  $gap: `${16 / TEXT_BASE_SIZE}rem`,
9176
9662
  ...props,
9177
9663
  children: [
9178
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
9664
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9179
9665
  Flex,
9180
9666
  {
9181
9667
  $position: "relative",
9182
9668
  $alignItems: "center",
9183
9669
  $width: `${barWidth}`,
9184
9670
  $maxWidth: "100%",
9185
- children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
9671
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9186
9672
  Flex,
9187
9673
  {
9188
9674
  $position: "relative",
@@ -9191,7 +9677,7 @@ var ProgressBar = ({
9191
9677
  $height: `${8 / TEXT_BASE_SIZE}rem`,
9192
9678
  $background: "#F2F4F7",
9193
9679
  $borderRadius: "9999px",
9194
- children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
9680
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9195
9681
  Box,
9196
9682
  {
9197
9683
  $width: `${Math.min(progress, 100)}%`,
@@ -9204,7 +9690,7 @@ var ProgressBar = ({
9204
9690
  )
9205
9691
  }
9206
9692
  ),
9207
- total !== 0 && /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Text, { $size: 14, $weight: 500, children: [
9693
+ total !== 0 && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Text, { $size: 14, $weight: 500, children: [
9208
9694
  value,
9209
9695
  "/",
9210
9696
  total
@@ -9214,8 +9700,11 @@ var ProgressBar = ({
9214
9700
  );
9215
9701
  };
9216
9702
 
9217
- // src/components/elements/plan-manager/CheckoutForm.tsx
9218
- var import_react6 = require("react");
9703
+ // src/components/elements/plan-manager/CheckoutDialog.tsx
9704
+ var import_react9 = require("react");
9705
+
9706
+ // src/components/elements/plan-manager/PaymentForm.tsx
9707
+ var import_react8 = require("react");
9219
9708
  var import_react_stripe_js2 = require("@stripe/react-stripe-js");
9220
9709
  var import_react_stripe_js3 = require("@stripe/react-stripe-js");
9221
9710
 
@@ -9227,7 +9716,18 @@ var StyledButton = dt(Button2)`
9227
9716
  width: 100%;
9228
9717
  ${({ disabled, $color = "primary", theme }) => {
9229
9718
  const { l: l2 } = hexToHSL(theme[$color]);
9230
- const textColor = disabled ? "#989898" : l2 > 50 ? "#000000" : "#FFFFFF";
9719
+ let textColor;
9720
+ let colorFn;
9721
+ if (l2 > 50) {
9722
+ textColor = "#000000";
9723
+ colorFn = lighten;
9724
+ } else {
9725
+ textColor = "#FFFFFF";
9726
+ colorFn = darken;
9727
+ }
9728
+ if (disabled) {
9729
+ textColor = colorFn(textColor, 42.5);
9730
+ }
9231
9731
  return lt`
9232
9732
  color: ${textColor};
9233
9733
 
@@ -9238,35 +9738,47 @@ var StyledButton = dt(Button2)`
9238
9738
  }};
9239
9739
 
9240
9740
  ${({ disabled, $color = "primary", theme, $variant = "filled" }) => {
9241
- const color = disabled ? "#EEEEEE" : theme[$color];
9741
+ let color = theme[$color];
9742
+ if (disabled) {
9743
+ const { l: l2 } = hexToHSL(theme.card.background);
9744
+ color = hslToHex({ h: 0, s: 0, l: l2 });
9745
+ color = l2 > 50 ? darken(color, 7.5) : lighten(color, 7.5);
9746
+ }
9242
9747
  return $variant === "filled" ? lt`
9243
9748
  background-color: ${color};
9244
9749
  border-color: ${color};
9245
9750
  ` : lt`
9246
9751
  background-color: transparent;
9247
- border-color: #d2d2d2;
9248
- color: #194bfb;
9752
+ border-color: ${color};
9753
+ color: ${color};
9754
+
9249
9755
  ${Text} {
9250
- color: #194bfb;
9756
+ color: ${color};
9251
9757
  }
9252
9758
  `;
9253
9759
  }}
9254
9760
 
9255
- &:hover {
9256
- ${({ disabled }) => disabled && "cursor: not-allowed;"}
9257
- ${({ disabled, $color = "primary", theme, $variant = "filled" }) => {
9761
+ &:disabled:hover {
9762
+ cursor: not-allowed;
9763
+ }
9764
+
9765
+ &:not(:disabled):hover {
9766
+ ${({ $color = "primary", theme, $variant = "filled" }) => {
9258
9767
  const specified = theme[$color];
9259
9768
  const lightened = lighten(specified, 15);
9260
- const color = disabled ? "#EEEEEE" : specified === lightened ? darken(specified, 15) : lightened;
9769
+ const color = specified === lightened ? darken(specified, 15) : lightened;
9770
+ const { l: l2 } = hexToHSL(theme[$color]);
9771
+ const textColor = l2 > 50 ? "#000000" : "#FFFFFF";
9261
9772
  return $variant === "filled" ? lt`
9262
9773
  background-color: ${color};
9263
9774
  border-color: ${color};
9264
9775
  ` : lt`
9265
9776
  background-color: ${color};
9266
9777
  border-color: ${color};
9267
- color: #ffffff;
9778
+ color: ${textColor};
9779
+
9268
9780
  ${Text} {
9269
- color: #ffffff;
9781
+ color: ${textColor};
9270
9782
  }
9271
9783
  `;
9272
9784
  }}
@@ -9296,14 +9808,15 @@ var StyledButton = dt(Button2)`
9296
9808
  }}
9297
9809
  `;
9298
9810
 
9299
- // src/components/elements/plan-manager/CheckoutForm.tsx
9300
- var import_jsx_runtime7 = require("react/jsx-runtime");
9301
- var CheckoutForm = ({ plan, period }) => {
9811
+ // src/components/elements/plan-manager/PaymentForm.tsx
9812
+ var import_jsx_runtime9 = require("react/jsx-runtime");
9813
+ var PaymentForm = ({ plan, period, onConfirm }) => {
9302
9814
  const stripe = (0, import_react_stripe_js3.useStripe)();
9303
9815
  const elements = (0, import_react_stripe_js3.useElements)();
9304
9816
  const { api, data } = useEmbed();
9305
- const [message, setMessage] = (0, import_react6.useState)(null);
9306
- const [isLoading, setIsLoading] = (0, import_react6.useState)(false);
9817
+ const [message, setMessage] = (0, import_react8.useState)(null);
9818
+ const [isLoading, setIsLoading] = (0, import_react8.useState)(false);
9819
+ const [isConfirmed, setIsConfirmed] = (0, import_react8.useState)(false);
9307
9820
  const handleSubmit = async (event) => {
9308
9821
  event.preventDefault();
9309
9822
  const priceId = period === "month" ? plan.monthlyPrice?.id : plan.yearlyPrice?.id;
@@ -9311,20 +9824,34 @@ var CheckoutForm = ({ plan, period }) => {
9311
9824
  return;
9312
9825
  }
9313
9826
  setIsLoading(true);
9314
- const { error } = await stripe.confirmPayment({
9315
- elements,
9316
- confirmParams: {
9317
- return_url: window.location.href
9827
+ setIsConfirmed(false);
9828
+ try {
9829
+ const { setupIntent, error } = await stripe.confirmSetup({
9830
+ elements,
9831
+ confirmParams: {
9832
+ return_url: window.location.href
9833
+ },
9834
+ redirect: "if_required"
9835
+ });
9836
+ if (onConfirm && typeof setupIntent?.payment_method === "string") {
9837
+ onConfirm(setupIntent.payment_method);
9838
+ setIsConfirmed(true);
9839
+ } else {
9318
9840
  }
9319
- });
9320
- if (error.type === "card_error" || error.type === "validation_error") {
9321
- setMessage(error.message);
9322
- } else {
9323
- setMessage("An unexpected error occured.");
9841
+ if (error?.type === "card_error" || error?.type === "validation_error") {
9842
+ setMessage(error.message);
9843
+ }
9844
+ setIsLoading(false);
9845
+ } catch (error) {
9846
+ if (error instanceof Error) {
9847
+ setMessage(error.message);
9848
+ } else {
9849
+ setMessage("An unexpected error occured.");
9850
+ }
9851
+ setIsLoading(false);
9324
9852
  }
9325
- setIsLoading(false);
9326
9853
  };
9327
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
9854
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
9328
9855
  "form",
9329
9856
  {
9330
9857
  id: "payment-form",
@@ -9332,30 +9859,20 @@ var CheckoutForm = ({ plan, period }) => {
9332
9859
  style: {
9333
9860
  display: "flex",
9334
9861
  flexDirection: "column",
9335
- height: "100%"
9862
+ height: "100%",
9863
+ overflowX: "hidden",
9864
+ overflowY: "auto"
9336
9865
  },
9337
9866
  children: [
9338
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(
9339
- Box,
9340
- {
9341
- $fontSize: "18px",
9342
- $marginBottom: "1.5rem",
9343
- $display: "inline-block",
9344
- $width: "100%",
9345
- children: [
9346
- "Add payment method",
9347
- " "
9348
- ]
9349
- }
9350
- ),
9351
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
9867
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Box, { $width: "100%", $marginBottom: "1.5rem", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { $size: 18, children: "Add payment method" }) }),
9868
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
9352
9869
  Flex,
9353
9870
  {
9354
9871
  $flexDirection: "column",
9355
9872
  $gap: "1.5rem",
9356
9873
  $marginBottom: "1.5rem",
9357
9874
  $width: "100%",
9358
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
9875
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
9359
9876
  import_react_stripe_js2.LinkAuthenticationElement,
9360
9877
  {
9361
9878
  id: "link-authentication-element"
@@ -9363,18 +9880,18 @@ var CheckoutForm = ({ plan, period }) => {
9363
9880
  )
9364
9881
  }
9365
9882
  ),
9366
- /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(Flex, { $flexDirection: "column", $width: "100%", $flex: "1", $height: "100%", children: [
9367
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_stripe_js2.PaymentElement, { id: "payment-element" }),
9368
- message && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { id: "payment-message", children: message })
9883
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Flex, { $flexDirection: "column", $width: "100%", $flex: "1", $height: "100%", children: [
9884
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_stripe_js2.PaymentElement, { id: "payment-element" }),
9885
+ message && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { id: "payment-message", children: message })
9369
9886
  ] }),
9370
- /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
9887
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
9371
9888
  StyledButton,
9372
9889
  {
9373
9890
  id: "submit",
9374
- disabled: isLoading || !stripe || !elements || !data.stripeEmbed?.publishableKey || !data.stripeEmbed?.customerEkey,
9891
+ disabled: isLoading || !stripe || !elements || !data.stripeEmbed?.publishableKey || !data.stripeEmbed?.setupIntentClientSecret || isConfirmed,
9375
9892
  $size: "md",
9376
- $color: "secondary",
9377
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("span", { id: "button-text", children: isLoading ? "Loading" : "Save payment method" })
9893
+ $color: "primary",
9894
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { id: "button-text", children: !isLoading ? "Loading" : "Save payment method" })
9378
9895
  }
9379
9896
  ) })
9380
9897
  ]
@@ -9382,338 +9899,589 @@ var CheckoutForm = ({ plan, period }) => {
9382
9899
  );
9383
9900
  };
9384
9901
 
9385
- // src/components/elements/plan-manager/PlanManager.tsx
9386
- var import_jsx_runtime8 = require("react/jsx-runtime");
9387
- var OverlayHeader = ({
9388
- children,
9389
- onClose
9390
- }) => {
9391
- const { setLayout } = useEmbed();
9392
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9393
- Flex,
9394
- {
9395
- $paddingLeft: "2.5rem",
9396
- $paddingRight: "2.5rem",
9397
- $padding: ".75rem 2.5rem",
9398
- $flexDirection: "row",
9399
- $justifyContent: "space-between",
9400
- $alignItems: "center",
9401
- $borderBottom: "1px solid #DEDEDE",
9402
- $gap: "1rem",
9403
- $backgroundColor: "#FFFFFF",
9404
- $borderRadius: ".5rem .5rem 0 0",
9405
- children: [
9406
- children,
9407
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9408
- Box,
9409
- {
9410
- $cursor: "pointer",
9411
- onClick: () => {
9412
- setLayout("portal");
9413
- if (onClose) {
9414
- onClose();
9415
- }
9416
- },
9417
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Icon2, { name: "close", style: { fontSize: 36, color: "#B8B8B8" } })
9418
- }
9419
- ) })
9420
- ]
9421
- }
9422
- );
9423
- };
9424
- var OverlayWrapper = ({
9425
- children,
9426
- size = "lg"
9427
- }) => {
9428
- const sizeWidthMap = {
9429
- md: "700px",
9430
- lg: "75%"
9431
- };
9432
- const sizeHeighthMap = {
9433
- md: "auto",
9434
- lg: "75%"
9435
- };
9436
- const sizeMaxWidthMap = {
9437
- md: "auto",
9438
- lg: "1140px"
9439
- };
9440
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9441
- Box,
9442
- {
9443
- $position: "absolute",
9444
- $top: "50%",
9445
- $left: "50%",
9446
- $zIndex: "999999",
9447
- $transform: "translate(-50%, -50%)",
9448
- $width: "100%",
9449
- $height: "100%",
9450
- $backgroundColor: "#D9D9D9",
9451
- $overflow: "hidden",
9452
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9453
- Flex,
9454
- {
9455
- $position: "relative",
9456
- $top: "50%",
9457
- $left: "50%",
9458
- $transform: "translate(-50%, -50%)",
9459
- $flexDirection: "column",
9460
- $maxWidth: sizeMaxWidthMap[size],
9461
- $width: sizeWidthMap[size],
9462
- $height: sizeHeighthMap[size],
9463
- $backgroundColor: "#FBFBFB",
9464
- $borderBottom: "1px solid #DEDEDE",
9465
- $borderRadius: "8px",
9466
- $boxShadow: "0px 1px 20px 0px #1018280F, 0px 1px 3px 0px #1018281A;",
9467
- id: "select-plan-dialog",
9468
- role: "dialog",
9469
- "aria-labelledby": "select-plan-dialog-label",
9470
- "aria-modal": "true",
9471
- children
9472
- }
9473
- )
9474
- }
9902
+ // src/components/elements/plan-manager/CheckoutDialog.tsx
9903
+ var import_jsx_runtime10 = require("react/jsx-runtime");
9904
+ var CheckoutDialog = () => {
9905
+ const [checkoutStage, setCheckoutStage] = (0, import_react9.useState)(
9906
+ "plan"
9475
9907
  );
9476
- };
9477
- var OverlaySideBar = ({
9478
- pricePeriod,
9479
- setPricePeriod,
9480
- checkoutStage,
9481
- setCheckoutStage,
9482
- currentPlan,
9483
- selectedPlan
9484
- }) => {
9485
- const { api } = useEmbed();
9486
- const savingsPercentage = (0, import_react7.useMemo)(() => {
9487
- if (selectedPlan && pricePeriod === "month") {
9908
+ const [planPeriod, setPlanPeriod] = (0, import_react9.useState)("month");
9909
+ const [selectedPlan, setSelectedPlan] = (0, import_react9.useState)();
9910
+ const [paymentMethodId, setPaymentMethodId] = (0, import_react9.useState)();
9911
+ const [isLoading, setIsLoading] = (0, import_react9.useState)(false);
9912
+ const [isCheckoutComplete, setIsCheckoutComplete] = (0, import_react9.useState)(false);
9913
+ const theme = nt();
9914
+ const { api, data, settings } = useEmbed();
9915
+ const { currentPlan, availablePlans } = (0, import_react9.useMemo)(() => {
9916
+ return {
9917
+ currentPlan: data.company?.plan,
9918
+ availablePlans: data.activePlans
9919
+ };
9920
+ }, [data.company, data.activePlans]);
9921
+ const savingsPercentage = (0, import_react9.useMemo)(() => {
9922
+ if (selectedPlan) {
9488
9923
  const monthly = (selectedPlan?.monthlyPrice?.price || 0) * 12;
9489
9924
  const yearly = selectedPlan?.yearlyPrice?.price || 0;
9490
- return (monthly - yearly) / monthly * 100;
9925
+ return Math.round((monthly - yearly) / monthly * 1e4) / 100;
9491
9926
  }
9492
9927
  return 0;
9493
- }, [selectedPlan, pricePeriod]);
9494
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9495
- Flex,
9496
- {
9497
- $flexDirection: "column",
9498
- $background: "white",
9499
- $borderRadius: "0 0 0.5rem",
9500
- $maxWidth: "275px",
9501
- $height: "100%",
9502
- $boxShadow: "0px 1px 20px 0px #1018280F, 0px 1px 3px 0px #1018281A;",
9503
- children: [
9504
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9505
- Flex,
9928
+ }, [selectedPlan]);
9929
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Modal, { children: [
9930
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ModalHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Flex, { $gap: "1rem", children: !isCheckoutComplete && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
9931
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Flex, { $gap: "0.5rem", $alignItems: "center", children: [
9932
+ checkoutStage === "plan" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
9933
+ Box,
9506
9934
  {
9507
- $flexDirection: "column",
9508
- $position: "relative",
9509
- $gap: "1rem",
9510
- $width: "100%",
9511
- $height: "auto",
9512
- $padding: "1.5rem",
9513
- $borderBottom: "1px solid #DEDEDE",
9514
- children: [
9515
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Flex, { $flexDirection: "row", $justifyContent: "space-between", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { $size: 20, $weight: 600, children: "Subscription" }) }),
9516
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9517
- Flex,
9518
- {
9519
- $flexDirection: "row",
9520
- $border: "1px solid #D9D9D9",
9521
- $borderRadius: "40px",
9522
- $fontSize: "12px",
9523
- $textAlign: "center",
9524
- $cursor: "pointer",
9525
- children: [
9526
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9527
- Box,
9528
- {
9529
- onClick: () => setPricePeriod("month"),
9530
- $padding: ".25rem .5rem",
9531
- $flex: "1",
9532
- $fontWeight: pricePeriod === "month" ? "600" : "400",
9533
- $backgroundColor: pricePeriod === "month" ? "#DDDDDD" : "white",
9534
- $borderRadius: "40px",
9535
- children: "Billed monthly"
9536
- }
9537
- ),
9538
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9539
- Box,
9540
- {
9541
- onClick: () => setPricePeriod("year"),
9542
- $padding: ".25rem .5rem",
9543
- $flex: "1",
9544
- $fontWeight: pricePeriod === "year" ? "600" : "400",
9545
- $backgroundColor: pricePeriod === "year" ? "#DDDDDD" : "white",
9546
- $borderRadius: "40px",
9547
- children: "Billed yearly"
9548
- }
9549
- )
9550
- ]
9551
- }
9552
- ),
9553
- savingsPercentage > 0 && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Box, { $fontSize: "11px", $color: "#194BFB", children: [
9554
- "Save up to ",
9555
- savingsPercentage,
9556
- "% with yearly billing"
9557
- ] })
9558
- ]
9935
+ $width: "0.9375rem",
9936
+ $height: "0.9375rem",
9937
+ $borderWidth: "2px",
9938
+ $borderStyle: "solid",
9939
+ $borderColor: hexToHSL(theme.card.background).l > 50 ? darken(theme.card.background, 12.5) : lighten(theme.card.background, 12.5),
9940
+ $borderRadius: "9999px"
9941
+ }
9942
+ ) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
9943
+ IconRound,
9944
+ {
9945
+ name: "check",
9946
+ style: {
9947
+ color: theme.card.background,
9948
+ backgroundColor: hexToHSL(theme.card.background).l > 50 ? darken(theme.card.background, 12.5) : lighten(theme.card.background, 12.5),
9949
+ fontSize: 16,
9950
+ width: "1rem",
9951
+ height: "1rem"
9952
+ }
9559
9953
  }
9560
9954
  ),
9561
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9562
- Flex,
9955
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
9956
+ Box,
9563
9957
  {
9564
- $flexDirection: "column",
9565
- $position: "relative",
9566
- $gap: "1rem",
9567
- $width: "100%",
9568
- $height: "auto",
9569
- $padding: "1.5rem",
9570
- $flex: "1",
9571
- $borderBottom: "1px solid #DEDEDE",
9572
- children: [
9573
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Box, { $fontSize: "14px", $color: "#5D5D5D", children: "Plan" }),
9574
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9575
- Flex,
9576
- {
9577
- $flexDirection: "column",
9578
- $fontSize: "14px",
9579
- $color: "#5D5D5D",
9580
- $gap: ".5rem",
9581
- children: [
9582
- currentPlan && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9583
- Flex,
9584
- {
9585
- $flexDirection: "row",
9586
- $alignItems: "center",
9587
- $justifyContent: "space-between",
9588
- $fontSize: "14px",
9589
- $color: "#5D5D5D",
9590
- children: [
9591
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Flex, { $fontSize: "14px", $color: "#5D5D5D", children: currentPlan.name }),
9592
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Flex, { $fontSize: "12px", $color: "#000000", children: [
9593
- "$",
9594
- currentPlan.planPrice,
9595
- "/",
9596
- currentPlan.planPeriod
9597
- ] })
9598
- ]
9599
- }
9600
- ),
9601
- selectedPlan && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
9602
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9603
- Box,
9958
+ tabIndex: 0,
9959
+ ...checkoutStage === "plan" ? {
9960
+ style: {
9961
+ fontWeight: "700"
9962
+ }
9963
+ } : {
9964
+ style: {
9965
+ cursor: "pointer"
9966
+ },
9967
+ onClick: () => setCheckoutStage("plan")
9968
+ },
9969
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { children: "1. Select plan" })
9970
+ }
9971
+ ),
9972
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
9973
+ Icon2,
9974
+ {
9975
+ name: "chevron-right",
9976
+ style: {
9977
+ fontSize: 16,
9978
+ color: hexToHSL(theme.card.background).l > 50 ? darken(theme.card.background, 17.5) : lighten(theme.card.background, 17.5)
9979
+ }
9980
+ }
9981
+ )
9982
+ ] }),
9983
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Flex, { $gap: "0.5rem", $alignItems: "center", children: [
9984
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
9985
+ Box,
9986
+ {
9987
+ $width: "0.9375rem",
9988
+ $height: "0.9375rem",
9989
+ $borderWidth: "2px",
9990
+ $borderStyle: "solid",
9991
+ $borderColor: hexToHSL(theme.card.background).l > 50 ? darken(theme.card.background, 12.5) : lighten(theme.card.background, 12.5),
9992
+ $borderRadius: "9999px"
9993
+ }
9994
+ ),
9995
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
9996
+ Box,
9997
+ {
9998
+ tabIndex: 0,
9999
+ ...checkoutStage === "checkout" && {
10000
+ style: {
10001
+ fontWeight: "700"
10002
+ }
10003
+ },
10004
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { children: "2. Checkout" })
10005
+ }
10006
+ )
10007
+ ] })
10008
+ ] }) }) }),
10009
+ isCheckoutComplete && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Flex, { $justifyContent: "center", $alignItems: "center", $flexGrow: "1", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10010
+ Text,
10011
+ {
10012
+ as: "h1",
10013
+ $font: theme.typography.heading1.fontFamily,
10014
+ $size: theme.typography.heading1.fontSize,
10015
+ $weight: theme.typography.heading1.fontWeight,
10016
+ $color: theme.typography.heading1.color,
10017
+ children: "Subscription updated!"
10018
+ }
10019
+ ) }),
10020
+ !isCheckoutComplete && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Flex, { $position: "relative", $flexGrow: "1", children: [
10021
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10022
+ Flex,
10023
+ {
10024
+ $position: "absolute",
10025
+ $top: "0",
10026
+ $left: "0",
10027
+ $flexDirection: "column",
10028
+ $gap: "1rem",
10029
+ $padding: "2rem 2.5rem 2rem 2.5rem",
10030
+ $backgroundColor: darken(settings.theme.card.background, 2.5),
10031
+ $flex: "1",
10032
+ $width: "72.5%",
10033
+ $height: "100%",
10034
+ $overflow: "auto",
10035
+ children: [
10036
+ checkoutStage === "plan" && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
10037
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", $marginBottom: "1rem", children: [
10038
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10039
+ Text,
10040
+ {
10041
+ as: "h1",
10042
+ id: "select-plan-dialog-label",
10043
+ $size: 18,
10044
+ $marginBottom: "0.5rem",
10045
+ children: "Select plan"
10046
+ }
10047
+ ),
10048
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10049
+ Text,
10050
+ {
10051
+ as: "p",
10052
+ id: "select-plan-dialog-description",
10053
+ $size: 14,
10054
+ $weight: 400,
10055
+ children: "Choose your base plan"
10056
+ }
10057
+ )
10058
+ ] }),
10059
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Flex, { $gap: "1rem", $flexGrow: "1", children: availablePlans?.map((plan) => {
10060
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10061
+ Flex,
10062
+ {
10063
+ $height: "100%",
10064
+ $flexDirection: "column",
10065
+ $backgroundColor: settings.theme.card.background,
10066
+ $flex: "1",
10067
+ $outlineWidth: "2px",
10068
+ $outlineStyle: "solid",
10069
+ $outlineColor: plan.id === selectedPlan?.id ? theme.primary : "transparent",
10070
+ $borderRadius: `${settings.theme.card.borderRadius / 16}rem`,
10071
+ ...settings.theme.card.hasShadow && {
10072
+ $boxShadow: "0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 20px rgba(16, 24, 40, 0.06)"
10073
+ },
10074
+ children: [
10075
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10076
+ Flex,
9604
10077
  {
10078
+ $flexDirection: "column",
10079
+ $position: "relative",
10080
+ $gap: "1rem",
9605
10081
  $width: "100%",
9606
- $textAlign: "left",
9607
- $opacity: "50%",
9608
- $marginBottom: "-.25rem",
9609
- $marginTop: "-.25rem",
9610
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9611
- Icon2,
9612
- {
9613
- name: "arrow-down",
9614
- style: {
9615
- display: "inline-block"
10082
+ $height: "auto",
10083
+ $padding: `${settings.theme.card.padding / 16}rem`,
10084
+ $borderBottomWidth: "1px",
10085
+ $borderStyle: "solid",
10086
+ $borderColor: hexToHSL(theme.card.background).l > 50 ? darken(theme.card.background, 17.5) : lighten(theme.card.background, 17.5),
10087
+ children: [
10088
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { $size: 20, $weight: 600, children: plan.name }),
10089
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { $size: 14, children: plan.description }),
10090
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Text, { children: [
10091
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Box, { $display: "inline-block", $fontSize: "1.5rem", children: formatCurrency(
10092
+ (planPeriod === "month" ? plan.monthlyPrice : plan.yearlyPrice)?.price ?? 0
10093
+ ) }),
10094
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Box, { $display: "inline-block", $fontSize: "0.75rem", children: [
10095
+ "/",
10096
+ planPeriod
10097
+ ] })
10098
+ ] }),
10099
+ (plan.current || plan.id === currentPlan?.id) && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10100
+ Flex,
10101
+ {
10102
+ $position: "absolute",
10103
+ $right: "1rem",
10104
+ $top: "1rem",
10105
+ $fontSize: "0.625rem",
10106
+ $color: hexToHSL(theme.primary).l > 50 ? "#000000" : "#FFFFFF",
10107
+ $backgroundColor: theme.primary,
10108
+ $borderRadius: "9999px",
10109
+ $padding: "0.125rem 0.85rem",
10110
+ children: "Current plan"
9616
10111
  }
9617
- }
9618
- )
10112
+ )
10113
+ ]
9619
10114
  }
9620
10115
  ),
9621
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
10116
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
9622
10117
  Flex,
9623
10118
  {
9624
- $flexDirection: "row",
9625
- $alignItems: "center",
9626
- $justifyContent: "space-between",
9627
- $fontSize: "14px",
9628
- $color: "#5D5D5D",
10119
+ $flexDirection: "column",
10120
+ $position: "relative",
10121
+ $gap: "0.5rem",
10122
+ $flex: "1",
10123
+ $width: "100%",
10124
+ $height: "auto",
10125
+ $padding: "1.5rem",
10126
+ children: plan.features.map((feature) => {
10127
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10128
+ Flex,
10129
+ {
10130
+ $flexShrink: "0",
10131
+ $gap: "1rem",
10132
+ children: [
10133
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10134
+ IconRound,
10135
+ {
10136
+ name: feature.icon,
10137
+ size: "tn",
10138
+ colors: [
10139
+ settings.theme.primary,
10140
+ `${hexToHSL(settings.theme.card.background).l > 50 ? darken(settings.theme.card.background, 10) : lighten(settings.theme.card.background, 20)}`
10141
+ ]
10142
+ }
10143
+ ),
10144
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { $size: 12, children: feature.name }) })
10145
+ ]
10146
+ },
10147
+ feature.id
10148
+ );
10149
+ })
10150
+ }
10151
+ ),
10152
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10153
+ Flex,
10154
+ {
10155
+ $flexDirection: "column",
10156
+ $position: "relative",
10157
+ $gap: "1rem",
10158
+ $width: "100%",
10159
+ $height: "auto",
10160
+ $padding: "1.5rem",
9629
10161
  children: [
9630
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Flex, { $fontSize: "14px", $color: "#000000", $fontWeight: "600", children: selectedPlan.name }),
9631
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Flex, { $fontSize: "12px", $color: "#000000", children: [
9632
- "$",
9633
- pricePeriod === "month" ? selectedPlan.monthlyPrice?.price : selectedPlan.yearlyPrice?.price,
9634
- "/",
9635
- pricePeriod
9636
- ] })
10162
+ plan.id === selectedPlan?.id && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10163
+ Flex,
10164
+ {
10165
+ $justifyContent: "center",
10166
+ $alignItems: "center",
10167
+ $gap: "0.25rem",
10168
+ $fontSize: "0.9375rem",
10169
+ $padding: "0.625rem 0",
10170
+ children: [
10171
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10172
+ Icon2,
10173
+ {
10174
+ name: "check-rounded",
10175
+ style: {
10176
+ fontSize: 20,
10177
+ lineHeight: "1",
10178
+ color: theme.primary
10179
+ }
10180
+ }
10181
+ ),
10182
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10183
+ Text,
10184
+ {
10185
+ style: {
10186
+ color: hexToHSL(theme.card.background).l > 50 ? "#000000" : "#FFFFFF",
10187
+ lineHeight: "1.4"
10188
+ },
10189
+ children: "Selected"
10190
+ }
10191
+ )
10192
+ ]
10193
+ }
10194
+ ),
10195
+ !(plan.current || plan.id === currentPlan?.id) && plan.id !== selectedPlan?.id && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10196
+ StyledButton,
10197
+ {
10198
+ disabled: plan.valid === false,
10199
+ $size: "sm",
10200
+ $color: "primary",
10201
+ $variant: "outline",
10202
+ onClick: () => {
10203
+ setSelectedPlan(plan);
10204
+ },
10205
+ children: "Select"
10206
+ }
10207
+ )
9637
10208
  ]
9638
10209
  }
9639
10210
  )
9640
- ] })
9641
- ]
9642
- }
9643
- )
9644
- ]
9645
- }
9646
- ),
9647
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9648
- Flex,
9649
- {
9650
- $flexDirection: "column",
9651
- $position: "relative",
9652
- $gap: ".75rem",
9653
- $width: "100%",
9654
- $height: "auto",
9655
- $padding: "1.5rem",
9656
- children: [
9657
- selectedPlan && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9658
- Flex,
9659
- {
9660
- $fontSize: "12px",
9661
- $color: "#5D5D5D",
9662
- $justifyContent: "space-between",
9663
- children: [
9664
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Box, { $fontSize: "12px", $color: "#5D5D5D", children: [
9665
- "Monthly total:",
9666
- " "
9667
- ] }),
9668
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Box, { $fontSize: "12px", $color: "#000000", children: [
9669
- "$",
9670
- pricePeriod === "month" ? selectedPlan.monthlyPrice?.price : selectedPlan.yearlyPrice?.price,
9671
- "/",
9672
- pricePeriod
9673
- ] })
9674
- ]
9675
- }
9676
- ),
9677
- checkoutStage === "plan" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9678
- StyledButton,
9679
- {
9680
- $size: "sm",
9681
- onClick: () => {
9682
- setCheckoutStage("checkout");
10211
+ ]
9683
10212
  },
9684
- ...!selectedPlan && { disabled: true },
9685
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Flex, { $gap: "0.5rem", $alignItems: "center", $justifyContent: "center", children: [
9686
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("span", { children: "Next: Checkout" }),
9687
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Icon2, { name: "arrow-right" })
9688
- ] })
9689
- }
9690
- ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9691
- StyledButton,
9692
- {
9693
- disabled: !api || !selectedPlan || selectedPlan?.id === currentPlan?.id,
9694
- onClick: async () => {
9695
- const priceId = pricePeriod === "month" ? selectedPlan?.monthlyPrice?.id : selectedPlan?.yearlyPrice?.id;
9696
- if (!api || !selectedPlan || !priceId)
9697
- return;
9698
- await api.checkout({
9699
- changeSubscriptionRequestBody: {
9700
- newPlanId: selectedPlan.id,
9701
- newPriceId: priceId
9702
- }
9703
- });
9704
- },
9705
- $size: "md",
9706
- children: "Pay now"
10213
+ plan.id
10214
+ );
10215
+ }) })
10216
+ ] }),
10217
+ selectedPlan && checkoutStage === "checkout" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10218
+ PaymentForm,
10219
+ {
10220
+ plan: selectedPlan,
10221
+ period: planPeriod,
10222
+ onConfirm: (value) => {
10223
+ setPaymentMethodId(value);
9707
10224
  }
9708
- ),
9709
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Box, { $fontSize: "12px", $color: "#5D5D5D", children: "Discounts & credits applied at checkout" })
9710
- ]
9711
- }
9712
- )
9713
- ]
9714
- }
9715
- );
10225
+ }
10226
+ )
10227
+ ]
10228
+ }
10229
+ ),
10230
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10231
+ Flex,
10232
+ {
10233
+ $position: "absolute",
10234
+ $top: "0",
10235
+ $right: "0",
10236
+ $flexDirection: "column",
10237
+ $background: settings.theme.card.background,
10238
+ $borderRadius: "0 0 0.5rem",
10239
+ $width: "27.5%",
10240
+ $height: "100%",
10241
+ $boxShadow: "0px 1px 20px 0px #1018280F, 0px 1px 3px 0px #1018281A;",
10242
+ children: [
10243
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10244
+ Flex,
10245
+ {
10246
+ $flexDirection: "column",
10247
+ $position: "relative",
10248
+ $gap: "1rem",
10249
+ $width: "100%",
10250
+ $height: "auto",
10251
+ $padding: "1.5rem",
10252
+ $borderBottom: "1px solid #DEDEDE",
10253
+ children: [
10254
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Flex, { $justifyContent: "space-between", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { $size: 20, $weight: 600, children: "Subscription" }) }),
10255
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10256
+ Flex,
10257
+ {
10258
+ $border: "1px solid #D9D9D9",
10259
+ $borderRadius: "2.5rem",
10260
+ $cursor: "pointer",
10261
+ children: [
10262
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10263
+ Flex,
10264
+ {
10265
+ onClick: () => setPlanPeriod("month"),
10266
+ $justifyContent: "center",
10267
+ $alignItems: "center",
10268
+ $padding: "0.25rem 0.5rem",
10269
+ $flex: "1",
10270
+ $backgroundColor: planPeriod === "month" ? darken(settings.theme.card.background, 8) : lighten(settings.theme.card.background, 2),
10271
+ $borderRadius: "2.5rem",
10272
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { $size: 12, $weight: planPeriod === "month" ? 600 : 400, children: "Billed monthly" })
10273
+ }
10274
+ ),
10275
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10276
+ Flex,
10277
+ {
10278
+ onClick: () => setPlanPeriod("year"),
10279
+ $justifyContent: "center",
10280
+ $alignItems: "center",
10281
+ $padding: "0.25rem 0.5rem",
10282
+ $flex: "1",
10283
+ $backgroundColor: planPeriod === "year" ? darken(settings.theme.card.background, 8) : lighten(settings.theme.card.background, 2),
10284
+ $borderRadius: "2.5rem",
10285
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { $size: 12, $weight: planPeriod === "year" ? 600 : 400, children: "Billed yearly" })
10286
+ }
10287
+ )
10288
+ ]
10289
+ }
10290
+ ),
10291
+ savingsPercentage > 0 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { $size: 11, $color: "#194BFB", children: planPeriod === "month" ? `Save up to ${savingsPercentage}% with yearly billing` : `You are saving ${savingsPercentage}% with yearly billing` }) })
10292
+ ]
10293
+ }
10294
+ ),
10295
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10296
+ Flex,
10297
+ {
10298
+ $flexDirection: "column",
10299
+ $position: "relative",
10300
+ $gap: "1rem",
10301
+ $width: "100%",
10302
+ $height: "auto",
10303
+ $padding: "1.5rem",
10304
+ $flex: "1",
10305
+ $borderBottom: "1px solid #DEDEDE",
10306
+ children: [
10307
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { $size: 14, $color: "#5D5D5D", children: "Plan" }) }),
10308
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10309
+ Flex,
10310
+ {
10311
+ $flexDirection: "column",
10312
+ $fontSize: "0.875rem",
10313
+ $color: "#5D5D5D",
10314
+ $gap: "0.5rem",
10315
+ children: [
10316
+ currentPlan && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10317
+ Flex,
10318
+ {
10319
+ $alignItems: "center",
10320
+ $justifyContent: "space-between",
10321
+ $fontSize: "0.875rem",
10322
+ $color: "#5D5D5D",
10323
+ children: [
10324
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Flex, { $fontSize: "0.875rem", $color: "#5D5D5D", children: currentPlan.name }),
10325
+ typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Flex, { $fontSize: "0.75rem", $color: "#000000", children: [
10326
+ formatCurrency(currentPlan.planPrice),
10327
+ "/",
10328
+ currentPlan.planPeriod
10329
+ ] })
10330
+ ]
10331
+ }
10332
+ ),
10333
+ selectedPlan && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_jsx_runtime10.Fragment, { children: [
10334
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10335
+ Box,
10336
+ {
10337
+ $width: "100%",
10338
+ $textAlign: "left",
10339
+ $opacity: "50%",
10340
+ $marginBottom: "-0.25rem",
10341
+ $marginTop: "-0.25rem",
10342
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10343
+ Icon2,
10344
+ {
10345
+ name: "arrow-down",
10346
+ style: {
10347
+ display: "inline-block"
10348
+ }
10349
+ }
10350
+ )
10351
+ }
10352
+ ),
10353
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10354
+ Flex,
10355
+ {
10356
+ $alignItems: "center",
10357
+ $justifyContent: "space-between",
10358
+ $fontSize: "0.875rem",
10359
+ $color: "#5D5D5D",
10360
+ children: [
10361
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10362
+ Flex,
10363
+ {
10364
+ $fontSize: "0.875rem",
10365
+ $color: "#000000",
10366
+ $fontWeight: "600",
10367
+ children: selectedPlan.name
10368
+ }
10369
+ ),
10370
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Flex, { $fontSize: "0.75rem", $color: "#000000", children: [
10371
+ formatCurrency(
10372
+ (planPeriod === "month" ? selectedPlan.monthlyPrice : selectedPlan.yearlyPrice)?.price ?? 0
10373
+ ),
10374
+ "/",
10375
+ planPeriod
10376
+ ] })
10377
+ ]
10378
+ }
10379
+ )
10380
+ ] })
10381
+ ]
10382
+ }
10383
+ )
10384
+ ]
10385
+ }
10386
+ ),
10387
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10388
+ Flex,
10389
+ {
10390
+ $flexDirection: "column",
10391
+ $position: "relative",
10392
+ $gap: "0.75rem",
10393
+ $width: "100%",
10394
+ $height: "auto",
10395
+ $padding: "1.5rem",
10396
+ children: [
10397
+ selectedPlan && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10398
+ Flex,
10399
+ {
10400
+ $fontSize: "0.75rem",
10401
+ $color: "#5D5D5D",
10402
+ $justifyContent: "space-between",
10403
+ children: [
10404
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Box, { $fontSize: "0.75rem", $color: "#5D5D5D", children: [
10405
+ planPeriod === "month" ? "Monthly" : "Yearly",
10406
+ " total:",
10407
+ " "
10408
+ ] }),
10409
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Box, { $fontSize: "0.75rem", $color: "#000000", children: [
10410
+ formatCurrency(
10411
+ (planPeriod === "month" ? selectedPlan.monthlyPrice : selectedPlan.yearlyPrice)?.price ?? 0
10412
+ ),
10413
+ "/",
10414
+ planPeriod
10415
+ ] })
10416
+ ]
10417
+ }
10418
+ ),
10419
+ checkoutStage === "plan" ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10420
+ StyledButton,
10421
+ {
10422
+ disabled: !selectedPlan,
10423
+ onClick: () => {
10424
+ setCheckoutStage("checkout");
10425
+ },
10426
+ $size: "sm",
10427
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
10428
+ Flex,
10429
+ {
10430
+ $gap: "0.5rem",
10431
+ $alignItems: "center",
10432
+ $justifyContent: "center",
10433
+ $padding: "0 1rem",
10434
+ children: [
10435
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Text, { $align: "left", children: "Next: Checkout" }),
10436
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Icon2, { name: "arrow-right" })
10437
+ ]
10438
+ }
10439
+ )
10440
+ }
10441
+ ) : /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10442
+ StyledButton,
10443
+ {
10444
+ disabled: !api || !selectedPlan || selectedPlan?.id === currentPlan?.id || !paymentMethodId || isLoading,
10445
+ onClick: async () => {
10446
+ const priceId = (planPeriod === "month" ? selectedPlan?.monthlyPrice : selectedPlan?.yearlyPrice)?.id;
10447
+ if (!api || !selectedPlan || !priceId || !paymentMethodId) {
10448
+ return;
10449
+ }
10450
+ try {
10451
+ setIsLoading(true);
10452
+ setIsCheckoutComplete(false);
10453
+ await api.checkout({
10454
+ changeSubscriptionRequestBody: {
10455
+ newPlanId: selectedPlan.id,
10456
+ newPriceId: priceId,
10457
+ paymentMethodId
10458
+ }
10459
+ });
10460
+ setIsCheckoutComplete(true);
10461
+ } catch (error) {
10462
+ console.error(error);
10463
+ } finally {
10464
+ setIsCheckoutComplete(true);
10465
+ setIsLoading(false);
10466
+ }
10467
+ },
10468
+ $size: "md",
10469
+ children: "Pay now"
10470
+ }
10471
+ ),
10472
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Box, { $fontSize: "0.75rem", $color: "#5D5D5D", children: "Discounts & credits applied at checkout" })
10473
+ ]
10474
+ }
10475
+ )
10476
+ ]
10477
+ }
10478
+ )
10479
+ ] })
10480
+ ] });
9716
10481
  };
10482
+
10483
+ // src/components/elements/plan-manager/PlanManager.tsx
10484
+ var import_jsx_runtime11 = require("react/jsx-runtime");
9717
10485
  var resolveDesignProps = (props) => {
9718
10486
  return {
9719
10487
  header: {
@@ -9738,33 +10506,27 @@ var resolveDesignProps = (props) => {
9738
10506
  callToAction: {
9739
10507
  isVisible: props.callToAction?.isVisible ?? true,
9740
10508
  buttonSize: props.callToAction?.buttonSize ?? "md",
9741
- buttonStyle: props.callToAction?.buttonStyle ?? "secondary"
10509
+ buttonStyle: props.callToAction?.buttonStyle ?? "primary"
9742
10510
  }
9743
10511
  };
9744
10512
  };
9745
- var PlanManager = (0, import_react7.forwardRef)(({ children, className, portal, ...rest }, ref) => {
10513
+ var PlanManager = (0, import_react10.forwardRef)(({ children, className, portal, ...rest }, ref) => {
9746
10514
  const props = resolveDesignProps(rest);
9747
- const [checkoutStage, setCheckoutStage] = (0, import_react7.useState)(
9748
- "plan"
9749
- );
9750
- const [planPeriod, setPlanPeriod] = (0, import_react7.useState)("month");
9751
- const [selectedPlan, setSelectedPlan] = (0, import_react7.useState)();
9752
10515
  const { data, settings, layout, stripe, setLayout } = useEmbed();
9753
- const { currentPlan, canChangePlan, availablePlans } = (0, import_react7.useMemo)(() => {
10516
+ const { currentPlan, canChangePlan } = (0, import_react10.useMemo)(() => {
9754
10517
  return {
9755
10518
  currentPlan: data.company?.plan,
9756
- canChangePlan: stripe !== null,
9757
- availablePlans: data.activePlans
10519
+ canChangePlan: stripe !== null
9758
10520
  };
9759
- }, [data.company, data.activePlans, stripe]);
9760
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { ref, className, children: [
9761
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10521
+ }, [data.company, stripe]);
10522
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { ref, className, children: [
10523
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
9762
10524
  Flex,
9763
10525
  {
9764
10526
  $flexDirection: "column",
9765
10527
  $gap: "0.75rem",
9766
10528
  ...canChangePlan && { $margin: "0 0 0.5rem" },
9767
- children: props.header.isVisible && currentPlan && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
10529
+ children: props.header.isVisible && currentPlan && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
9768
10530
  Flex,
9769
10531
  {
9770
10532
  $justifyContent: "space-between",
@@ -9772,8 +10534,8 @@ var PlanManager = (0, import_react7.forwardRef)(({ children, className, portal,
9772
10534
  $width: "100%",
9773
10535
  ...canChangePlan && { $margin: "0 0 1.5rem" },
9774
10536
  children: [
9775
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { children: [
9776
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Box, { $margin: "0 0 0.75rem", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10537
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { children: [
10538
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box, { $margin: "0 0 0.75rem", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
9777
10539
  Text,
9778
10540
  {
9779
10541
  $font: settings.theme.typography[props.header.title.fontStyle].fontFamily,
@@ -9784,7 +10546,7 @@ var PlanManager = (0, import_react7.forwardRef)(({ children, className, portal,
9784
10546
  children: currentPlan.name
9785
10547
  }
9786
10548
  ) }),
9787
- props.header.description.isVisible && currentPlan.description && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10549
+ props.header.description.isVisible && currentPlan.description && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
9788
10550
  Text,
9789
10551
  {
9790
10552
  $font: settings.theme.typography[props.header.description.fontStyle].fontFamily,
@@ -9795,7 +10557,7 @@ var PlanManager = (0, import_react7.forwardRef)(({ children, className, portal,
9795
10557
  }
9796
10558
  )
9797
10559
  ] }),
9798
- props.header.price.isVisible && currentPlan.planPrice >= 0 && currentPlan.planPeriod && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
10560
+ props.header.price.isVisible && typeof currentPlan.planPrice === "number" && currentPlan.planPeriod && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
9799
10561
  Text,
9800
10562
  {
9801
10563
  $font: settings.theme.typography[props.header.price.fontStyle].fontFamily,
@@ -9803,8 +10565,7 @@ var PlanManager = (0, import_react7.forwardRef)(({ children, className, portal,
9803
10565
  $weight: settings.theme.typography[props.header.price.fontStyle].fontWeight,
9804
10566
  $color: settings.theme.typography[props.header.price.fontStyle].color,
9805
10567
  children: [
9806
- "$",
9807
- currentPlan.planPrice,
10568
+ formatCurrency(currentPlan.planPrice),
9808
10569
  "/",
9809
10570
  currentPlan.planPeriod
9810
10571
  ]
@@ -9815,7 +10576,7 @@ var PlanManager = (0, import_react7.forwardRef)(({ children, className, portal,
9815
10576
  )
9816
10577
  }
9817
10578
  ),
9818
- canChangePlan && props.callToAction.isVisible && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10579
+ canChangePlan && props.callToAction.isVisible && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
9819
10580
  StyledButton,
9820
10581
  {
9821
10582
  onClick: () => {
@@ -9823,7 +10584,7 @@ var PlanManager = (0, import_react7.forwardRef)(({ children, className, portal,
9823
10584
  },
9824
10585
  $size: props.callToAction.buttonSize,
9825
10586
  $color: props.callToAction.buttonStyle,
9826
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10587
+ children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
9827
10588
  Text,
9828
10589
  {
9829
10590
  $font: settings.theme.typography.text.fontFamily,
@@ -9834,306 +10595,13 @@ var PlanManager = (0, import_react7.forwardRef)(({ children, className, portal,
9834
10595
  )
9835
10596
  }
9836
10597
  ),
9837
- canChangePlan && layout === "checkout" && (0, import_react_dom.createPortal)(
9838
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(OverlayWrapper, { children: [
9839
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(OverlayHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Flex, { $gap: "1rem", children: [
9840
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Flex, { $flexDirection: "row", $gap: "0.5rem", $alignItems: "center", children: [
9841
- checkoutStage === "plan" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9842
- Box,
9843
- {
9844
- $width: "15px",
9845
- $height: "15px",
9846
- $backgroundColor: "white",
9847
- $border: "2px solid #DDDDDD",
9848
- $borderRadius: "999px"
9849
- }
9850
- ) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9851
- IconRound,
9852
- {
9853
- name: "check",
9854
- style: {
9855
- color: "#FFFFFF",
9856
- backgroundColor: "#DDDDDD",
9857
- fontSize: 16,
9858
- width: "1rem",
9859
- height: "1rem"
9860
- }
9861
- }
9862
- ),
9863
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9864
- "div",
9865
- {
9866
- tabIndex: 0,
9867
- ...checkoutStage === "plan" ? {
9868
- style: {
9869
- fontWeight: "700"
9870
- }
9871
- } : {
9872
- style: {
9873
- cursor: "pointer"
9874
- },
9875
- onClick: () => setCheckoutStage("plan")
9876
- },
9877
- children: "1. Select plan"
9878
- }
9879
- ),
9880
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9881
- Icon2,
9882
- {
9883
- name: "chevron-right",
9884
- style: { fontSize: 16, color: "#D0D0D0" }
9885
- }
9886
- )
9887
- ] }),
9888
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Flex, { $flexDirection: "row", $gap: "0.5rem", $alignItems: "center", children: [
9889
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9890
- Box,
9891
- {
9892
- $width: "15px",
9893
- $height: "15px",
9894
- $border: "2px solid #DDDDDD",
9895
- $borderRadius: "999px",
9896
- $backgroundColor: "white"
9897
- }
9898
- ),
9899
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9900
- "div",
9901
- {
9902
- tabIndex: 0,
9903
- ...checkoutStage === "checkout" && {
9904
- style: {
9905
- fontWeight: "700"
9906
- }
9907
- },
9908
- children: "2. Checkout"
9909
- }
9910
- )
9911
- ] })
9912
- ] }) }),
9913
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Flex, { $flexDirection: "row", $height: "100%", children: [
9914
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9915
- Flex,
9916
- {
9917
- $flexDirection: "column",
9918
- $gap: "1rem",
9919
- $padding: "2rem 2.5rem 2rem 2.5rem",
9920
- $backgroundColor: "#FBFBFB",
9921
- $borderRadius: "0 0.5rem 0",
9922
- $flex: "1",
9923
- $height: "100%",
9924
- children: [
9925
- checkoutStage === "plan" && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_jsx_runtime8.Fragment, { children: [
9926
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9927
- Flex,
9928
- {
9929
- $flexDirection: "column",
9930
- $gap: "1rem",
9931
- $marginBottom: "1rem",
9932
- children: [
9933
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9934
- Text,
9935
- {
9936
- as: "h1",
9937
- id: "select-plan-dialog-label",
9938
- $size: 18,
9939
- $marginBottom: ".5rem",
9940
- children: "Select plan"
9941
- }
9942
- ),
9943
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9944
- Text,
9945
- {
9946
- as: "p",
9947
- id: "select-plan-dialog-description",
9948
- $size: 14,
9949
- $weight: 400,
9950
- children: "Choose your base plan"
9951
- }
9952
- )
9953
- ]
9954
- }
9955
- ),
9956
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9957
- Flex,
9958
- {
9959
- $flexDirection: "row",
9960
- $gap: "1rem",
9961
- $flex: "1",
9962
- $height: "100%",
9963
- children: availablePlans?.map((plan) => {
9964
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9965
- Flex,
9966
- {
9967
- $height: "100%",
9968
- $flexDirection: "column",
9969
- $backgroundColor: "white",
9970
- $flex: "1",
9971
- $border: `2px solid ${plan.id === selectedPlan?.id ? "#194BFB" : "transparent"}`,
9972
- $borderRadius: ".5rem",
9973
- $boxShadow: "0px 1px 3px rgba(16, 24, 40, 0.1), 0px 1px 20px rgba(16, 24, 40, 0.06)",
9974
- children: [
9975
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
9976
- Flex,
9977
- {
9978
- $flexDirection: "column",
9979
- $position: "relative",
9980
- $gap: "1rem",
9981
- $width: "100%",
9982
- $height: "auto",
9983
- $padding: "2rem 1.5rem 1.5rem",
9984
- $borderBottom: "1px solid #DEDEDE",
9985
- children: [
9986
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { $size: 20, $weight: 600, children: plan.name }),
9987
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { $size: 14, children: plan.description }),
9988
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Text, { children: [
9989
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Box, { $display: "inline-block", $fontSize: ".90rem", children: "$" }),
9990
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Box, { $display: "inline-block", $fontSize: "1.5rem", children: (planPeriod === "month" ? plan.monthlyPrice : plan.yearlyPrice)?.price }),
9991
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Box, { $display: "inline-block", $fontSize: ".75rem", children: [
9992
- "/",
9993
- planPeriod
9994
- ] })
9995
- ] }),
9996
- (plan.current || plan.id === currentPlan?.id) && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
9997
- Flex,
9998
- {
9999
- $position: "absolute",
10000
- $right: "1rem",
10001
- $top: "1rem",
10002
- $fontSize: ".625rem",
10003
- $color: "white",
10004
- $backgroundColor: "#194BFB",
10005
- $borderRadius: "999px",
10006
- $padding: ".125rem .85rem",
10007
- children: "Current plan"
10008
- }
10009
- )
10010
- ]
10011
- }
10012
- ),
10013
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10014
- Flex,
10015
- {
10016
- $flexDirection: "column",
10017
- $position: "relative",
10018
- $gap: "0.5rem",
10019
- $flex: "1",
10020
- $width: "100%",
10021
- $height: "auto",
10022
- $padding: "1.5rem",
10023
- children: plan.features.map((feature) => {
10024
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
10025
- Flex,
10026
- {
10027
- $flexShrink: "0",
10028
- $gap: "1rem",
10029
- children: [
10030
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10031
- IconRound,
10032
- {
10033
- name: feature.icon,
10034
- size: "tn",
10035
- colors: ["#000000", "#F5F5F5"]
10036
- }
10037
- ),
10038
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { $size: ".75rem", $color: "#00000", children: feature.name }) })
10039
- ]
10040
- },
10041
- feature.id
10042
- );
10043
- })
10044
- }
10045
- ),
10046
- /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
10047
- Flex,
10048
- {
10049
- $flexDirection: "column",
10050
- $position: "relative",
10051
- $gap: "1rem",
10052
- $width: "100%",
10053
- $height: "auto",
10054
- $padding: "1.5rem",
10055
- children: [
10056
- plan.id === selectedPlan?.id && /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
10057
- Flex,
10058
- {
10059
- $justifyContent: "center",
10060
- $alignItems: "center",
10061
- $gap: "0.25rem",
10062
- $fontSize: "0.9375rem",
10063
- $padding: "0.625rem 0",
10064
- children: [
10065
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10066
- Icon2,
10067
- {
10068
- name: "check-rounded",
10069
- style: {
10070
- fontSize: 20,
10071
- lineHeight: "1",
10072
- color: "#194BFB"
10073
- }
10074
- }
10075
- ),
10076
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10077
- "span",
10078
- {
10079
- style: {
10080
- color: "#7B7B7B",
10081
- lineHeight: "1.4"
10082
- },
10083
- children: "Selected"
10084
- }
10085
- )
10086
- ]
10087
- }
10088
- ),
10089
- !(plan.current || plan.id === currentPlan?.id) && plan.id !== selectedPlan?.id && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10090
- StyledButton,
10091
- {
10092
- $size: "sm",
10093
- $color: "secondary",
10094
- $variant: "outline",
10095
- onClick: () => {
10096
- setSelectedPlan(plan);
10097
- },
10098
- children: "Select"
10099
- }
10100
- )
10101
- ]
10102
- }
10103
- )
10104
- ]
10105
- },
10106
- plan.id
10107
- );
10108
- })
10109
- }
10110
- )
10111
- ] }),
10112
- selectedPlan && checkoutStage === "checkout" && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(CheckoutForm, { plan: selectedPlan, period: planPeriod })
10113
- ]
10114
- }
10115
- ),
10116
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
10117
- OverlaySideBar,
10118
- {
10119
- pricePeriod: planPeriod,
10120
- setPricePeriod: setPlanPeriod,
10121
- checkoutStage,
10122
- setCheckoutStage,
10123
- currentPlan,
10124
- selectedPlan
10125
- }
10126
- )
10127
- ] })
10128
- ] }),
10129
- portal || document.body
10130
- )
10598
+ canChangePlan && layout === "checkout" && (0, import_react_dom.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(CheckoutDialog, {}), portal || document.body)
10131
10599
  ] });
10132
10600
  });
10133
10601
 
10134
10602
  // src/components/elements/included-features/IncludedFeatures.tsx
10135
- var import_react8 = require("react");
10136
- var import_jsx_runtime9 = require("react/jsx-runtime");
10603
+ var import_react11 = require("react");
10604
+ var import_jsx_runtime12 = require("react/jsx-runtime");
10137
10605
  function resolveDesignProps2(props) {
10138
10606
  return {
10139
10607
  header: {
@@ -10156,10 +10624,10 @@ function resolveDesignProps2(props) {
10156
10624
  }
10157
10625
  };
10158
10626
  }
10159
- var IncludedFeatures = (0, import_react8.forwardRef)(({ className, ...rest }, ref) => {
10627
+ var IncludedFeatures = (0, import_react11.forwardRef)(({ className, ...rest }, ref) => {
10160
10628
  const props = resolveDesignProps2(rest);
10161
10629
  const { data, settings } = useEmbed();
10162
- const features = (0, import_react8.useMemo)(() => {
10630
+ const features = (0, import_react11.useMemo)(() => {
10163
10631
  return (data.featureUsage?.features || []).map(
10164
10632
  ({
10165
10633
  access,
@@ -10186,8 +10654,8 @@ var IncludedFeatures = (0, import_react8.forwardRef)(({ className, ...rest }, re
10186
10654
  }
10187
10655
  );
10188
10656
  }, [data.featureUsage]);
10189
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Flex, { ref, className, $flexDirection: "column", $gap: "1.5rem", children: [
10190
- props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
10657
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Flex, { ref, className, $flexDirection: "column", $gap: "1.5rem", children: [
10658
+ props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10191
10659
  Text,
10192
10660
  {
10193
10661
  $font: settings.theme.typography[props.header.fontStyle].fontFamily,
@@ -10204,7 +10672,7 @@ var IncludedFeatures = (0, import_react8.forwardRef)(({ className, ...rest }, re
10204
10672
  }
10205
10673
  return [
10206
10674
  ...acc,
10207
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
10675
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
10208
10676
  Flex,
10209
10677
  {
10210
10678
  $flexWrap: "wrap",
@@ -10212,19 +10680,19 @@ var IncludedFeatures = (0, import_react8.forwardRef)(({ className, ...rest }, re
10212
10680
  $alignItems: "center",
10213
10681
  $gap: "1rem",
10214
10682
  children: [
10215
- /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Flex, { $gap: "1rem", children: [
10216
- props.icons.isVisible && feature?.icon && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
10683
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Flex, { $gap: "1rem", children: [
10684
+ props.icons.isVisible && feature?.icon && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10217
10685
  IconRound,
10218
10686
  {
10219
10687
  name: feature.icon,
10220
10688
  size: "sm",
10221
10689
  colors: [
10222
- settings.theme.card.background,
10223
- settings.theme.primary
10690
+ settings.theme.primary,
10691
+ `${hexToHSL(settings.theme.card.background).l > 50 ? darken(settings.theme.card.background, 10) : lighten(settings.theme.card.background, 20)}`
10224
10692
  ]
10225
10693
  }
10226
10694
  ),
10227
- feature?.name && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
10695
+ feature?.name && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10228
10696
  Text,
10229
10697
  {
10230
10698
  $font: settings.theme.typography[props.icons.fontStyle].fontFamily,
@@ -10235,8 +10703,8 @@ var IncludedFeatures = (0, import_react8.forwardRef)(({ className, ...rest }, re
10235
10703
  }
10236
10704
  ) })
10237
10705
  ] }),
10238
- allocationType === "numeric" && feature?.name && /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(Box, { $textAlign: "right", children: [
10239
- props.entitlement.isVisible && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
10706
+ allocationType === "numeric" && feature?.name && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Box, { $textAlign: "right", children: [
10707
+ props.entitlement.isVisible && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10240
10708
  Text,
10241
10709
  {
10242
10710
  as: Box,
@@ -10247,7 +10715,7 @@ var IncludedFeatures = (0, import_react8.forwardRef)(({ className, ...rest }, re
10247
10715
  children: typeof allocation === "number" ? `${allocation} ${feature.name}` : `Unlimited ${feature.name}`
10248
10716
  }
10249
10717
  ),
10250
- props.usage.isVisible && /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
10718
+ props.usage.isVisible && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10251
10719
  Text,
10252
10720
  {
10253
10721
  as: Box,
@@ -10271,8 +10739,8 @@ var IncludedFeatures = (0, import_react8.forwardRef)(({ className, ...rest }, re
10271
10739
  });
10272
10740
 
10273
10741
  // src/components/elements/metered-features/MeteredFeatures.tsx
10274
- var import_react9 = require("react");
10275
- var import_jsx_runtime10 = require("react/jsx-runtime");
10742
+ var import_react12 = require("react");
10743
+ var import_jsx_runtime13 = require("react/jsx-runtime");
10276
10744
  function resolveDesignProps3(props) {
10277
10745
  return {
10278
10746
  isVisible: props.isVisible ?? true,
@@ -10297,14 +10765,14 @@ function resolveDesignProps3(props) {
10297
10765
  callToAction: {
10298
10766
  isVisible: props.callToAction?.isVisible ?? true,
10299
10767
  buttonSize: props.callToAction?.buttonSize ?? "md",
10300
- buttonStyle: props.callToAction?.buttonStyle ?? "secondary"
10768
+ buttonStyle: props.callToAction?.buttonStyle ?? "primary"
10301
10769
  }
10302
10770
  };
10303
10771
  }
10304
- var MeteredFeatures = (0, import_react9.forwardRef)(({ className, ...rest }, ref) => {
10772
+ var MeteredFeatures = (0, import_react12.forwardRef)(({ className, ...rest }, ref) => {
10305
10773
  const props = resolveDesignProps3(rest);
10306
10774
  const { data, settings } = useEmbed();
10307
- const features = (0, import_react9.useMemo)(() => {
10775
+ const features = (0, import_react12.useMemo)(() => {
10308
10776
  return (data.featureUsage?.features || []).map(
10309
10777
  ({
10310
10778
  access,
@@ -10331,19 +10799,19 @@ var MeteredFeatures = (0, import_react9.forwardRef)(({ className, ...rest }, ref
10331
10799
  }
10332
10800
  );
10333
10801
  }, [data.featureUsage]);
10334
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Flex, { ref, className, $flexDirection: "column", $gap: "1.5rem", children: features.reduce(
10802
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Flex, { ref, className, $flexDirection: "column", $gap: "1.5rem", children: features.reduce(
10335
10803
  (acc, { allocation, allocationType, feature, usage }, index) => {
10336
10804
  if (!props.isVisible || allocationType !== "numeric" || typeof allocation !== "number") {
10337
10805
  return acc;
10338
10806
  }
10339
10807
  return [
10340
10808
  ...acc,
10341
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Flex, { $gap: "1.5rem", children: [
10342
- props.icon.isVisible && feature?.icon && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Box, { $flexShrink: "0", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(IconRound, { name: feature.icon, size: "sm" }) }),
10343
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Box, { $flexGrow: "1", children: [
10344
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Flex, { children: [
10345
- feature?.name && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Box, { $flexGrow: "1", children: [
10346
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10809
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Flex, { $gap: "1.5rem", children: [
10810
+ props.icon.isVisible && feature?.icon && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Box, { $flexShrink: "0", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(IconRound, { name: feature.icon, size: "sm" }) }),
10811
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Box, { $flexGrow: "1", children: [
10812
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Flex, { children: [
10813
+ feature?.name && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Box, { $flexGrow: "1", children: [
10814
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
10347
10815
  Text,
10348
10816
  {
10349
10817
  as: Box,
@@ -10354,7 +10822,7 @@ var MeteredFeatures = (0, import_react9.forwardRef)(({ className, ...rest }, ref
10354
10822
  children: feature.name
10355
10823
  }
10356
10824
  ),
10357
- props.description.isVisible && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10825
+ props.description.isVisible && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
10358
10826
  Text,
10359
10827
  {
10360
10828
  as: Box,
@@ -10366,8 +10834,8 @@ var MeteredFeatures = (0, import_react9.forwardRef)(({ className, ...rest }, ref
10366
10834
  }
10367
10835
  )
10368
10836
  ] }),
10369
- allocationType === "numeric" && feature?.name && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(Box, { $textAlign: "right", children: [
10370
- props.allocation.isVisible && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10837
+ allocationType === "numeric" && feature?.name && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Box, { $textAlign: "right", children: [
10838
+ props.allocation.isVisible && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
10371
10839
  Text,
10372
10840
  {
10373
10841
  as: Box,
@@ -10378,7 +10846,7 @@ var MeteredFeatures = (0, import_react9.forwardRef)(({ className, ...rest }, ref
10378
10846
  children: typeof allocation === "number" ? `${allocation} ${feature.name}` : `Unlimited ${feature.name}`
10379
10847
  }
10380
10848
  ),
10381
- props.usage.isVisible && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10849
+ props.usage.isVisible && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
10382
10850
  Text,
10383
10851
  {
10384
10852
  as: Box,
@@ -10391,7 +10859,7 @@ var MeteredFeatures = (0, import_react9.forwardRef)(({ className, ...rest }, ref
10391
10859
  )
10392
10860
  ] })
10393
10861
  ] }),
10394
- typeof usage === "number" && typeof allocation === "number" && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
10862
+ typeof usage === "number" && typeof allocation === "number" && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Box, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
10395
10863
  ProgressBar,
10396
10864
  {
10397
10865
  progress: usage / allocation * 100,
@@ -10409,8 +10877,8 @@ var MeteredFeatures = (0, import_react9.forwardRef)(({ className, ...rest }, ref
10409
10877
  });
10410
10878
 
10411
10879
  // src/components/elements/upcoming-bill/UpcomingBill.tsx
10412
- var import_react10 = require("react");
10413
- var import_jsx_runtime11 = require("react/jsx-runtime");
10880
+ var import_react13 = require("react");
10881
+ var import_jsx_runtime14 = require("react/jsx-runtime");
10414
10882
  function resolveDesignProps4(props) {
10415
10883
  return {
10416
10884
  header: {
@@ -10429,10 +10897,10 @@ function resolveDesignProps4(props) {
10429
10897
  }
10430
10898
  };
10431
10899
  }
10432
- var UpcomingBill = (0, import_react10.forwardRef)(({ className, ...rest }, ref) => {
10900
+ var UpcomingBill = (0, import_react13.forwardRef)(({ className, ...rest }, ref) => {
10433
10901
  const props = resolveDesignProps4(rest);
10434
10902
  const { data, settings, stripe } = useEmbed();
10435
- const { upcomingInvoice } = (0, import_react10.useMemo)(() => {
10903
+ const { upcomingInvoice } = (0, import_react13.useMemo)(() => {
10436
10904
  return {
10437
10905
  upcomingInvoice: {
10438
10906
  ...data.upcomingInvoice?.amountDue && {
@@ -10450,14 +10918,14 @@ var UpcomingBill = (0, import_react10.forwardRef)(({ className, ...rest }, ref)
10450
10918
  if (!stripe || !data.upcomingInvoice) {
10451
10919
  return null;
10452
10920
  }
10453
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { ref, className, children: [
10454
- props.header.isVisible && upcomingInvoice.dueDate && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
10921
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { ref, className, children: [
10922
+ props.header.isVisible && upcomingInvoice.dueDate && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
10455
10923
  Flex,
10456
10924
  {
10457
10925
  $justifyContent: "space-between",
10458
10926
  $alignItems: "center",
10459
10927
  $margin: "0 0 0.75rem",
10460
- children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
10928
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
10461
10929
  Text,
10462
10930
  {
10463
10931
  $font: settings.theme.typography[props.header.fontStyle].fontFamily,
@@ -10473,8 +10941,8 @@ var UpcomingBill = (0, import_react10.forwardRef)(({ className, ...rest }, ref)
10473
10941
  )
10474
10942
  }
10475
10943
  ),
10476
- upcomingInvoice.amountDue && /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(Flex, { $justifyContent: "space-between", $alignItems: "start", $gap: "1rem", children: [
10477
- props.price.isVisible && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Flex, { $alignItems: "end", $flexGrow: "1", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
10944
+ upcomingInvoice.amountDue && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Flex, { $justifyContent: "space-between", $alignItems: "start", $gap: "1rem", children: [
10945
+ props.price.isVisible && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Flex, { $alignItems: "end", $flexGrow: "1", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
10478
10946
  Text,
10479
10947
  {
10480
10948
  $font: settings.theme.typography[props.price.fontStyle].fontFamily,
@@ -10482,20 +10950,10 @@ var UpcomingBill = (0, import_react10.forwardRef)(({ className, ...rest }, ref)
10482
10950
  $weight: settings.theme.typography[props.price.fontStyle].fontWeight,
10483
10951
  $color: settings.theme.typography[props.price.fontStyle].color,
10484
10952
  $lineHeight: 1,
10485
- children: [
10486
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
10487
- Text,
10488
- {
10489
- $size: "0.75em",
10490
- $color: settings.theme.typography[props.price.fontStyle].color,
10491
- children: "$"
10492
- }
10493
- ),
10494
- upcomingInvoice.amountDue
10495
- ]
10953
+ children: formatCurrency(upcomingInvoice.amountDue)
10496
10954
  }
10497
10955
  ) }),
10498
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Box, { $maxWidth: "10rem", $lineHeight: "1", $textAlign: "right", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
10956
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Box, { $maxWidth: "10rem", $lineHeight: "1", $textAlign: "right", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
10499
10957
  Text,
10500
10958
  {
10501
10959
  $font: settings.theme.typography[props.contractEndDate.fontStyle].fontFamily,
@@ -10510,9 +10968,9 @@ var UpcomingBill = (0, import_react10.forwardRef)(({ className, ...rest }, ref)
10510
10968
  });
10511
10969
 
10512
10970
  // src/components/elements/payment-method/PaymentMethod.tsx
10513
- var import_react11 = require("react");
10971
+ var import_react14 = require("react");
10514
10972
  var import_react_dom2 = require("react-dom");
10515
- var import_jsx_runtime12 = require("react/jsx-runtime");
10973
+ var import_jsx_runtime15 = require("react/jsx-runtime");
10516
10974
  var resolveDesignProps5 = (props) => {
10517
10975
  return {
10518
10976
  header: {
@@ -10524,10 +10982,10 @@ var resolveDesignProps5 = (props) => {
10524
10982
  }
10525
10983
  };
10526
10984
  };
10527
- var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, portal, ...rest }, ref) => {
10985
+ var PaymentMethod = (0, import_react14.forwardRef)(({ children, className, portal, ...rest }, ref) => {
10528
10986
  const props = resolveDesignProps5(rest);
10529
10987
  const { data, settings, stripe, layout } = useEmbed();
10530
- const paymentMethod = (0, import_react11.useMemo)(() => {
10988
+ const paymentMethod = (0, import_react14.useMemo)(() => {
10531
10989
  const { cardLast4, cardExpMonth, cardExpYear } = data.subscription?.paymentMethod || {};
10532
10990
  let monthsToExpiration;
10533
10991
  if (typeof cardExpYear === "number" && typeof cardExpMonth === "number") {
@@ -10546,15 +11004,15 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10546
11004
  if (!stripe || !data.subscription?.paymentMethod) {
10547
11005
  return null;
10548
11006
  }
10549
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { ref, className, children: [
10550
- props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
11007
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { ref, className, children: [
11008
+ props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
10551
11009
  Flex,
10552
11010
  {
10553
11011
  $justifyContent: "space-between",
10554
11012
  $alignItems: "center",
10555
11013
  $margin: "0 0 1rem",
10556
11014
  children: [
10557
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11015
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10558
11016
  Text,
10559
11017
  {
10560
11018
  $font: settings.theme.typography[props.header.fontStyle].fontFamily,
@@ -10564,7 +11022,7 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10564
11022
  children: "Payment Method"
10565
11023
  }
10566
11024
  ),
10567
- typeof paymentMethod.monthsToExpiration === "number" && Math.abs(paymentMethod.monthsToExpiration) < 4 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11025
+ typeof paymentMethod.monthsToExpiration === "number" && Math.abs(paymentMethod.monthsToExpiration) < 4 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10568
11026
  Text,
10569
11027
  {
10570
11028
  $font: settings.theme.typography.text.fontFamily,
@@ -10576,7 +11034,7 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10576
11034
  ]
10577
11035
  }
10578
11036
  ),
10579
- paymentMethod.cardLast4 && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11037
+ paymentMethod.cardLast4 && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10580
11038
  Flex,
10581
11039
  {
10582
11040
  $justifyContent: "space-between",
@@ -10585,16 +11043,16 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10585
11043
  $background: `${hexToHSL(settings.theme.card.background).l > 50 ? darken(settings.theme.card.background, 10) : lighten(settings.theme.card.background, 20)}`,
10586
11044
  $padding: "0.375rem 1rem",
10587
11045
  $borderRadius: "9999px",
10588
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Text, { $font: settings.theme.typography.text.fontFamily, $size: 14, children: [
11046
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Text, { $font: settings.theme.typography.text.fontFamily, $size: 14, children: [
10589
11047
  "\u{1F4B3} Card ending in ",
10590
11048
  paymentMethod.cardLast4
10591
11049
  ] })
10592
11050
  }
10593
11051
  ),
10594
11052
  layout === "payment" && (0, import_react_dom2.createPortal)(
10595
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(OverlayWrapper, { size: "md", children: [
10596
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(OverlayHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $fontWeight: "600", children: "Edit payment method" }) }),
10597
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
11053
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Modal, { size: "md", children: [
11054
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ModalHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box, { $fontWeight: "600", children: "Edit payment method" }) }),
11055
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
10598
11056
  Flex,
10599
11057
  {
10600
11058
  $flexDirection: "column",
@@ -10602,7 +11060,7 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10602
11060
  $height: "100%",
10603
11061
  $gap: "1.5rem",
10604
11062
  children: [
10605
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11063
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10606
11064
  Flex,
10607
11065
  {
10608
11066
  $flexDirection: "column",
@@ -10611,8 +11069,8 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10611
11069
  $borderRadius: "0 0 0.5rem 0.5rem",
10612
11070
  $flex: "1",
10613
11071
  $height: "100%",
10614
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Flex, { $flexDirection: "column", $height: "100%", children: [
10615
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11072
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Flex, { $flexDirection: "column", $height: "100%", children: [
11073
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10616
11074
  Box,
10617
11075
  {
10618
11076
  $fontSize: "18px",
@@ -10622,8 +11080,8 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10622
11080
  children: "Default"
10623
11081
  }
10624
11082
  ),
10625
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Flex, { $gap: "1rem", children: [
10626
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11083
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Flex, { $gap: "1rem", children: [
11084
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10627
11085
  Flex,
10628
11086
  {
10629
11087
  $alignItems: "center",
@@ -10631,69 +11089,52 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10631
11089
  $border: "1px solid #E2E5E9",
10632
11090
  $borderRadius: ".5rem",
10633
11091
  $backgroundColor: "#ffffff",
10634
- $flexDirection: "row",
10635
11092
  $gap: "1rem",
10636
11093
  $width: "100%",
10637
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
10638
- Flex,
10639
- {
10640
- $flexDirection: "row",
10641
- $justifyContent: "space-between",
10642
- $flex: "1",
10643
- children: [
10644
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
10645
- Flex,
10646
- {
10647
- $flexDirection: "row",
10648
- $alignItems: "center",
10649
- $gap: "1rem",
10650
- children: [
10651
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $display: "inline-block", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10652
- "svg",
10653
- {
10654
- viewBox: "0 0 24 16",
10655
- fill: "none",
10656
- xmlns: "http://www.w3.org/2000/svg",
10657
- width: "26px",
10658
- height: "auto",
10659
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("g", { children: [
10660
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10661
- "rect",
10662
- {
10663
- stroke: "#DDD",
10664
- fill: "#FFF",
10665
- x: ".25",
10666
- y: ".25",
10667
- width: "23",
10668
- height: "15.5",
10669
- rx: "2"
10670
- }
10671
- ),
10672
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10673
- "path",
10674
- {
10675
- d: "M2.788 5.914A7.201 7.201 0 0 0 1 5.237l.028-.125h2.737c.371.013.672.125.77.519l.595 2.836.182.854 1.666-4.21h1.799l-2.674 6.167H4.304L2.788 5.914Zm7.312 5.37H8.399l1.064-6.172h1.7L10.1 11.284Zm6.167-6.021-.232 1.333-.153-.066a3.054 3.054 0 0 0-1.268-.236c-.671 0-.972.269-.98.531 0 .29.365.48.96.762.98.44 1.435.979 1.428 1.681-.014 1.28-1.176 2.108-2.96 2.108-.764-.007-1.5-.158-1.898-.328l.238-1.386.224.099c.553.23.917.328 1.596.328.49 0 1.015-.19 1.022-.604 0-.27-.224-.466-.882-.769-.644-.295-1.505-.788-1.491-1.674C11.878 5.84 13.06 5 14.74 5c.658 0 1.19.138 1.526.263Zm2.26 3.834h1.415c-.07-.308-.392-1.786-.392-1.786l-.12-.531c-.083.23-.23.604-.223.59l-.68 1.727Zm2.1-3.985L22 11.284h-1.575s-.154-.71-.203-.926h-2.184l-.357.926h-1.785l2.527-5.66c.175-.4.483-.512.889-.512h1.316Z",
10676
- fill: "#1434CB"
10677
- }
10678
- )
10679
- ] })
10680
- }
10681
- ) }),
10682
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $whiteSpace: "nowrap", children: "Visa **** 4242" })
10683
- ]
10684
- }
10685
- ),
10686
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $fontSize: "12px", $color: "#5D5D5D", children: "Expires: 3/30" }) })
10687
- ]
10688
- }
10689
- )
11094
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Flex, { $justifyContent: "space-between", $flex: "1", children: [
11095
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Flex, { $alignItems: "center", $gap: "1rem", children: [
11096
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box, { $display: "inline-block", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
11097
+ "svg",
11098
+ {
11099
+ viewBox: "0 0 24 16",
11100
+ fill: "none",
11101
+ xmlns: "http://www.w3.org/2000/svg",
11102
+ width: "26px",
11103
+ height: "auto",
11104
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("g", { children: [
11105
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
11106
+ "rect",
11107
+ {
11108
+ stroke: "#DDD",
11109
+ fill: "#FFF",
11110
+ x: ".25",
11111
+ y: ".25",
11112
+ width: "23",
11113
+ height: "15.5",
11114
+ rx: "2"
11115
+ }
11116
+ ),
11117
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
11118
+ "path",
11119
+ {
11120
+ d: "M2.788 5.914A7.201 7.201 0 0 0 1 5.237l.028-.125h2.737c.371.013.672.125.77.519l.595 2.836.182.854 1.666-4.21h1.799l-2.674 6.167H4.304L2.788 5.914Zm7.312 5.37H8.399l1.064-6.172h1.7L10.1 11.284Zm6.167-6.021-.232 1.333-.153-.066a3.054 3.054 0 0 0-1.268-.236c-.671 0-.972.269-.98.531 0 .29.365.48.96.762.98.44 1.435.979 1.428 1.681-.014 1.28-1.176 2.108-2.96 2.108-.764-.007-1.5-.158-1.898-.328l.238-1.386.224.099c.553.23.917.328 1.596.328.49 0 1.015-.19 1.022-.604 0-.27-.224-.466-.882-.769-.644-.295-1.505-.788-1.491-1.674C11.878 5.84 13.06 5 14.74 5c.658 0 1.19.138 1.526.263Zm2.26 3.834h1.415c-.07-.308-.392-1.786-.392-1.786l-.12-.531c-.083.23-.23.604-.223.59l-.68 1.727Zm2.1-3.985L22 11.284h-1.575s-.154-.71-.203-.926h-2.184l-.357.926h-1.785l2.527-5.66c.175-.4.483-.512.889-.512h1.316Z",
11121
+ fill: "#1434CB"
11122
+ }
11123
+ )
11124
+ ] })
11125
+ }
11126
+ ) }),
11127
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box, { $whiteSpace: "nowrap", children: "Visa **** 4242" })
11128
+ ] }),
11129
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box, { $fontSize: "12px", $color: "#5D5D5D", children: "Expires: 3/30" }) })
11130
+ ] })
10690
11131
  }
10691
11132
  ),
10692
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11133
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Flex, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10693
11134
  StyledButton,
10694
11135
  {
10695
11136
  $size: "sm",
10696
- $color: "secondary",
11137
+ $color: "primary",
10697
11138
  $variant: "outline",
10698
11139
  style: {
10699
11140
  whiteSpace: "nowrap",
@@ -10707,7 +11148,7 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10707
11148
  ] })
10708
11149
  }
10709
11150
  ),
10710
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11151
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10711
11152
  Flex,
10712
11153
  {
10713
11154
  $flexDirection: "column",
@@ -10716,8 +11157,8 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10716
11157
  $borderRadius: "0 0 0.5rem 0.5rem",
10717
11158
  $flex: "1",
10718
11159
  $height: "100%",
10719
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Flex, { $flexDirection: "column", $height: "100%", children: [
10720
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11160
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Flex, { $flexDirection: "column", $height: "100%", children: [
11161
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10721
11162
  Box,
10722
11163
  {
10723
11164
  $fontSize: "18px",
@@ -10727,8 +11168,8 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10727
11168
  children: "Others"
10728
11169
  }
10729
11170
  ),
10730
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Flex, { $gap: "1rem", children: [
10731
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11171
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Flex, { $gap: "1rem", children: [
11172
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10732
11173
  Flex,
10733
11174
  {
10734
11175
  $alignItems: "center",
@@ -10736,70 +11177,53 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10736
11177
  $border: "1px solid #E2E5E9",
10737
11178
  $borderRadius: ".5rem",
10738
11179
  $backgroundColor: "#ffffff",
10739
- $flexDirection: "row",
10740
11180
  $gap: "1rem",
10741
11181
  $width: "100%",
10742
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
10743
- Flex,
10744
- {
10745
- $flexDirection: "row",
10746
- $justifyContent: "space-between",
10747
- $flex: "1",
10748
- children: [
10749
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
10750
- Flex,
10751
- {
10752
- $flexDirection: "row",
10753
- $alignItems: "center",
10754
- $gap: "1rem",
10755
- children: [
10756
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $display: "inline-block", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10757
- "svg",
10758
- {
10759
- viewBox: "0 0 24 16",
10760
- fill: "none",
10761
- xmlns: "http://www.w3.org/2000/svg",
10762
- width: "26px",
10763
- height: "auto",
10764
- children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("g", { children: [
10765
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10766
- "rect",
10767
- {
10768
- stroke: "#DDD",
10769
- fill: "#FFF",
10770
- x: ".25",
10771
- y: ".25",
10772
- width: "23",
10773
- height: "15.5",
10774
- rx: "2"
10775
- }
10776
- ),
10777
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
10778
- "path",
10779
- {
10780
- d: "M2.788 5.914A7.201 7.201 0 0 0 1 5.237l.028-.125h2.737c.371.013.672.125.77.519l.595 2.836.182.854 1.666-4.21h1.799l-2.674 6.167H4.304L2.788 5.914Zm7.312 5.37H8.399l1.064-6.172h1.7L10.1 11.284Zm6.167-6.021-.232 1.333-.153-.066a3.054 3.054 0 0 0-1.268-.236c-.671 0-.972.269-.98.531 0 .29.365.48.96.762.98.44 1.435.979 1.428 1.681-.014 1.28-1.176 2.108-2.96 2.108-.764-.007-1.5-.158-1.898-.328l.238-1.386.224.099c.553.23.917.328 1.596.328.49 0 1.015-.19 1.022-.604 0-.27-.224-.466-.882-.769-.644-.295-1.505-.788-1.491-1.674C11.878 5.84 13.06 5 14.74 5c.658 0 1.19.138 1.526.263Zm2.26 3.834h1.415c-.07-.308-.392-1.786-.392-1.786l-.12-.531c-.083.23-.23.604-.223.59l-.68 1.727Zm2.1-3.985L22 11.284h-1.575s-.154-.71-.203-.926h-2.184l-.357.926h-1.785l2.527-5.66c.175-.4.483-.512.889-.512h1.316Z",
10781
- fill: "#1434CB"
10782
- }
10783
- )
10784
- ] })
10785
- }
10786
- ) }),
10787
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $whiteSpace: "nowrap", children: "Visa **** 2929" })
10788
- ]
10789
- }
10790
- ),
10791
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Box, { $fontSize: "12px", $color: "#5D5D5D", children: "Expires: 3/30" }) })
10792
- ]
10793
- }
10794
- )
11182
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Flex, { $justifyContent: "space-between", $flex: "1", children: [
11183
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Flex, { $alignItems: "center", $gap: "1rem", children: [
11184
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box, { $display: "inline-block", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
11185
+ "svg",
11186
+ {
11187
+ viewBox: "0 0 24 16",
11188
+ fill: "none",
11189
+ xmlns: "http://www.w3.org/2000/svg",
11190
+ width: "26px",
11191
+ height: "auto",
11192
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("g", { children: [
11193
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
11194
+ "rect",
11195
+ {
11196
+ stroke: "#DDD",
11197
+ fill: "#FFF",
11198
+ x: ".25",
11199
+ y: ".25",
11200
+ width: "23",
11201
+ height: "15.5",
11202
+ rx: "2"
11203
+ }
11204
+ ),
11205
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
11206
+ "path",
11207
+ {
11208
+ d: "M2.788 5.914A7.201 7.201 0 0 0 1 5.237l.028-.125h2.737c.371.013.672.125.77.519l.595 2.836.182.854 1.666-4.21h1.799l-2.674 6.167H4.304L2.788 5.914Zm7.312 5.37H8.399l1.064-6.172h1.7L10.1 11.284Zm6.167-6.021-.232 1.333-.153-.066a3.054 3.054 0 0 0-1.268-.236c-.671 0-.972.269-.98.531 0 .29.365.48.96.762.98.44 1.435.979 1.428 1.681-.014 1.28-1.176 2.108-2.96 2.108-.764-.007-1.5-.158-1.898-.328l.238-1.386.224.099c.553.23.917.328 1.596.328.49 0 1.015-.19 1.022-.604 0-.27-.224-.466-.882-.769-.644-.295-1.505-.788-1.491-1.674C11.878 5.84 13.06 5 14.74 5c.658 0 1.19.138 1.526.263Zm2.26 3.834h1.415c-.07-.308-.392-1.786-.392-1.786l-.12-.531c-.083.23-.23.604-.223.59l-.68 1.727Zm2.1-3.985L22 11.284h-1.575s-.154-.71-.203-.926h-2.184l-.357.926h-1.785l2.527-5.66c.175-.4.483-.512.889-.512h1.316Z",
11209
+ fill: "#1434CB"
11210
+ }
11211
+ )
11212
+ ] })
11213
+ }
11214
+ ) }),
11215
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box, { $whiteSpace: "nowrap", children: "Visa **** 2929" })
11216
+ ] }),
11217
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Flex, { $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Box, { $fontSize: "12px", $color: "#5D5D5D", children: "Expires: 3/30" }) })
11218
+ ] })
10795
11219
  }
10796
11220
  ),
10797
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(Flex, { $gap: "1rem", children: [
10798
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11221
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Flex, { $gap: "1rem", children: [
11222
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10799
11223
  StyledButton,
10800
11224
  {
10801
11225
  $size: "sm",
10802
- $color: "secondary",
11226
+ $color: "primary",
10803
11227
  $variant: "outline",
10804
11228
  style: {
10805
11229
  whiteSpace: "nowrap",
@@ -10809,11 +11233,11 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10809
11233
  children: "Make Default"
10810
11234
  }
10811
11235
  ),
10812
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
11236
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
10813
11237
  StyledButton,
10814
11238
  {
10815
11239
  $size: "sm",
10816
- $color: "secondary",
11240
+ $color: "primary",
10817
11241
  $variant: "outline",
10818
11242
  style: {
10819
11243
  whiteSpace: "nowrap",
@@ -10838,8 +11262,8 @@ var PaymentMethod = (0, import_react11.forwardRef)(({ children, className, porta
10838
11262
  });
10839
11263
 
10840
11264
  // src/components/elements/invoices/Invoices.tsx
10841
- var import_react12 = require("react");
10842
- var import_jsx_runtime13 = require("react/jsx-runtime");
11265
+ var import_react15 = require("react");
11266
+ var import_jsx_runtime16 = require("react/jsx-runtime");
10843
11267
  function resolveDesignProps6(props) {
10844
11268
  return {
10845
11269
  header: {
@@ -10864,10 +11288,10 @@ function resolveDesignProps6(props) {
10864
11288
  }
10865
11289
  };
10866
11290
  }
10867
- var Invoices = (0, import_react12.forwardRef)(({ className, ...rest }, ref) => {
11291
+ var Invoices = (0, import_react15.forwardRef)(({ className, ...rest }, ref) => {
10868
11292
  const props = resolveDesignProps6(rest);
10869
11293
  const { settings } = useEmbed();
10870
- const { invoices } = (0, import_react12.useMemo)(() => {
11294
+ const { invoices } = (0, import_react15.useMemo)(() => {
10871
11295
  return {
10872
11296
  invoices: [
10873
11297
  {
@@ -10881,8 +11305,8 @@ var Invoices = (0, import_react12.forwardRef)(({ className, ...rest }, ref) => {
10881
11305
  ]
10882
11306
  };
10883
11307
  }, []);
10884
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { ref, className, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", children: [
10885
- props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
11308
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { ref, className, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Flex, { $flexDirection: "column", $gap: "1rem", children: [
11309
+ props.header.isVisible && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Flex, { $justifyContent: "space-between", $alignItems: "center", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
10886
11310
  Text,
10887
11311
  {
10888
11312
  $font: settings.theme.typography[props.header.fontStyle].fontFamily,
@@ -10892,12 +11316,12 @@ var Invoices = (0, import_react12.forwardRef)(({ className, ...rest }, ref) => {
10892
11316
  children: "Invoices"
10893
11317
  }
10894
11318
  ) }),
10895
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Flex, { $flexDirection: "column", $gap: "0.5rem", children: invoices.slice(
11319
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Flex, { $flexDirection: "column", $gap: "0.5rem", children: invoices.slice(
10896
11320
  0,
10897
11321
  props.limit.isVisible && props.limit.number || invoices.length
10898
11322
  ).map(({ date, amount }, index) => {
10899
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Flex, { $justifyContent: "space-between", children: [
10900
- props.date.isVisible && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
11323
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Flex, { $justifyContent: "space-between", children: [
11324
+ props.date.isVisible && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
10901
11325
  Text,
10902
11326
  {
10903
11327
  $font: settings.theme.typography[props.date.fontStyle].fontFamily,
@@ -10907,7 +11331,7 @@ var Invoices = (0, import_react12.forwardRef)(({ className, ...rest }, ref) => {
10907
11331
  children: toPrettyDate(date)
10908
11332
  }
10909
11333
  ),
10910
- props.amount.isVisible && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
11334
+ props.amount.isVisible && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
10911
11335
  Text,
10912
11336
  {
10913
11337
  $font: settings.theme.typography[props.amount.fontStyle].fontFamily,
@@ -10922,9 +11346,9 @@ var Invoices = (0, import_react12.forwardRef)(({ className, ...rest }, ref) => {
10922
11346
  )
10923
11347
  ] }, index);
10924
11348
  }) }),
10925
- props.collapse.isVisible && /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
10926
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon2, { name: "chevron-down", style: { color: "#D0D0D0" } }),
10927
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
11349
+ props.collapse.isVisible && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Flex, { $alignItems: "center", $gap: "0.5rem", children: [
11350
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon2, { name: "chevron-down", style: { color: "#D0D0D0" } }),
11351
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
10928
11352
  Text,
10929
11353
  {
10930
11354
  $font: settings.theme.typography[props.collapse.fontStyle].fontFamily,
@@ -10939,22 +11363,22 @@ var Invoices = (0, import_react12.forwardRef)(({ className, ...rest }, ref) => {
10939
11363
  });
10940
11364
 
10941
11365
  // src/components/embed/ComponentTree.tsx
10942
- var import_react18 = require("react");
11366
+ var import_react21 = require("react");
10943
11367
 
10944
11368
  // src/components/embed/renderer.ts
10945
- var import_react17 = require("react");
11369
+ var import_react20 = require("react");
10946
11370
 
10947
11371
  // src/components/layout/root/Root.tsx
10948
- var import_react13 = require("react");
10949
- var import_jsx_runtime14 = require("react/jsx-runtime");
10950
- var Root = (0, import_react13.forwardRef)(
11372
+ var import_react16 = require("react");
11373
+ var import_jsx_runtime17 = require("react/jsx-runtime");
11374
+ var Root = (0, import_react16.forwardRef)(
10951
11375
  (props, ref) => {
10952
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { ref, ...props });
11376
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { ref, ...props });
10953
11377
  }
10954
11378
  );
10955
11379
 
10956
11380
  // src/components/layout/viewport/Viewport.tsx
10957
- var import_react14 = require("react");
11381
+ var import_react17 = require("react");
10958
11382
 
10959
11383
  // src/components/layout/viewport/styles.ts
10960
11384
  var StyledViewport = dt.div`
@@ -10965,27 +11389,63 @@ var StyledViewport = dt.div`
10965
11389
  `;
10966
11390
 
10967
11391
  // src/components/layout/viewport/Viewport.tsx
10968
- var import_jsx_runtime15 = require("react/jsx-runtime");
10969
- var Viewport = (0, import_react14.forwardRef)(
11392
+ var import_jsx_runtime18 = require("react/jsx-runtime");
11393
+ var Viewport = (0, import_react17.forwardRef)(
10970
11394
  ({ children, ...props }, ref) => {
10971
11395
  const { settings, layout } = useEmbed();
10972
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
11396
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
10973
11397
  StyledViewport,
10974
11398
  {
10975
11399
  ref,
10976
11400
  $numberOfColumns: settings.theme.numberOfColumns,
10977
11401
  ...props,
10978
- children: layout === "disabled" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "", children: "DISABLED" }) : children
11402
+ children: layout === "disabled" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box, { $width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
11403
+ Flex,
11404
+ {
11405
+ $flexDirection: "column",
11406
+ $padding: `${settings.theme.card.padding / 16}rem`,
11407
+ $width: "100%",
11408
+ $height: "auto",
11409
+ $borderRadius: `${settings.theme.card.borderRadius / 16}rem`,
11410
+ $backgroundColor: settings.theme.card.background,
11411
+ $alignItems: "center",
11412
+ $justifyContent: "center",
11413
+ children: [
11414
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
11415
+ Box,
11416
+ {
11417
+ $marginBottom: "8px",
11418
+ $fontSize: `${settings.theme.typography.heading1.fontSize / 16}rem`,
11419
+ $fontFamily: settings.theme.typography.heading1.fontFamily,
11420
+ $fontWeight: settings.theme.typography.heading1.fontWeight,
11421
+ $color: settings.theme.typography.heading1.color,
11422
+ children: "Coming soon"
11423
+ }
11424
+ ),
11425
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
11426
+ Box,
11427
+ {
11428
+ $marginBottom: "8px",
11429
+ $fontSize: `${settings.theme.typography.text.fontSize / 16}rem`,
11430
+ $fontFamily: settings.theme.typography.text.fontFamily,
11431
+ $fontWeight: settings.theme.typography.text.fontWeight,
11432
+ $color: settings.theme.typography.text.color,
11433
+ children: "The plan manager will be back very soon."
11434
+ }
11435
+ )
11436
+ ]
11437
+ }
11438
+ ) }) : children
10979
11439
  }
10980
11440
  );
10981
11441
  }
10982
11442
  );
10983
11443
 
10984
11444
  // src/components/layout/column/Column.tsx
10985
- var import_react16 = require("react");
11445
+ var import_react19 = require("react");
10986
11446
 
10987
11447
  // src/components/layout/card/Card.tsx
10988
- var import_react15 = require("react");
11448
+ var import_react18 = require("react");
10989
11449
 
10990
11450
  // src/components/layout/card/styles.ts
10991
11451
  var StyledCard = dt.div(
@@ -11014,7 +11474,7 @@ var StyledCard = dt.div(
11014
11474
 
11015
11475
  ${() => {
11016
11476
  const { l: l2 } = hexToHSL(theme.card.background);
11017
- const borderColor = l2 > 50 ? darken(theme.card.background, 10) : lighten(theme.card.background, 30);
11477
+ const borderColor = l2 > 50 ? darken(theme.card.background, 10) : lighten(theme.card.background, 20);
11018
11478
  const borderRadius = `${$borderRadius / TEXT_BASE_SIZE}rem`;
11019
11479
  const boxShadow = "0px 1px 20px 0px #1018280F, 0px 1px 3px 0px #1018281A";
11020
11480
  if ($sectionLayout === "merged") {
@@ -11046,11 +11506,11 @@ var StyledCard = dt.div(
11046
11506
  );
11047
11507
 
11048
11508
  // src/components/layout/card/Card.tsx
11049
- var import_jsx_runtime16 = require("react/jsx-runtime");
11050
- var Card = (0, import_react15.forwardRef)(
11509
+ var import_jsx_runtime19 = require("react/jsx-runtime");
11510
+ var Card = (0, import_react18.forwardRef)(
11051
11511
  ({ children, className }, ref) => {
11052
11512
  const { settings } = useEmbed();
11053
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
11513
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
11054
11514
  StyledCard,
11055
11515
  {
11056
11516
  ref,
@@ -11072,10 +11532,10 @@ var StyledColumn = dt.div`
11072
11532
  `;
11073
11533
 
11074
11534
  // src/components/layout/column/Column.tsx
11075
- var import_jsx_runtime17 = require("react/jsx-runtime");
11076
- var Column = (0, import_react16.forwardRef)(
11535
+ var import_jsx_runtime20 = require("react/jsx-runtime");
11536
+ var Column = (0, import_react19.forwardRef)(
11077
11537
  ({ children, ...props }, ref) => {
11078
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(StyledColumn, { ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Card, { children }) });
11538
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyledColumn, { ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Card, { children }) });
11079
11539
  }
11080
11540
  );
11081
11541
 
@@ -11108,7 +11568,7 @@ function createRenderer(options) {
11108
11568
  const { className, ...rest } = props;
11109
11569
  const resolvedProps = component === "div" ? rest : props;
11110
11570
  const resolvedChildren = children.map(renderNode);
11111
- return (0, import_react17.createElement)(
11571
+ return (0, import_react20.createElement)(
11112
11572
  component,
11113
11573
  {
11114
11574
  className,
@@ -11121,31 +11581,101 @@ function createRenderer(options) {
11121
11581
  };
11122
11582
  }
11123
11583
 
11584
+ // src/components/ui/loader/styles.ts
11585
+ var spin = mt`
11586
+ 0% {
11587
+ transform: rotate(0deg);
11588
+ }
11589
+ 100% {
11590
+ transform: rotate(360deg);
11591
+ }
11592
+ `;
11593
+ var Loader = dt.div(() => {
11594
+ const { settings } = useEmbed();
11595
+ return lt`
11596
+ border: 4px solid rgba(0, 0, 0, 0.1);
11597
+ border-top: 4px solid ${settings.theme.primary};
11598
+ border-radius: 50%;
11599
+ width: 40px;
11600
+ height: 40px;
11601
+ animation: ${spin} 1.5s linear infinite;
11602
+ display: inline-block;
11603
+ `;
11604
+ });
11605
+
11124
11606
  // src/components/embed/ComponentTree.tsx
11125
- var import_jsx_runtime18 = require("react/jsx-runtime");
11607
+ var import_jsx_runtime21 = require("react/jsx-runtime");
11126
11608
  var ComponentTree = () => {
11127
- const [children, setChildren] = (0, import_react18.useState)("Loading");
11128
- const { error, nodes } = useEmbed();
11129
- (0, import_react18.useEffect)(() => {
11609
+ const { error, nodes, settings } = useEmbed();
11610
+ const [children, setChildren] = (0, import_react21.useState)(
11611
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
11612
+ Flex,
11613
+ {
11614
+ $width: "100%",
11615
+ $height: "100%",
11616
+ $alignItems: "center",
11617
+ $justifyContent: "center",
11618
+ $padding: `${settings.theme.card.padding / 16}rem`,
11619
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Loader, {})
11620
+ }
11621
+ )
11622
+ );
11623
+ (0, import_react21.useEffect)(() => {
11130
11624
  const renderer = createRenderer();
11131
11625
  setChildren(nodes.map(renderer));
11132
11626
  }, [nodes]);
11133
11627
  if (error) {
11134
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { children: error.message });
11628
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
11629
+ Flex,
11630
+ {
11631
+ $flexDirection: "column",
11632
+ $padding: `${settings.theme.card.padding / 16}rem`,
11633
+ $width: "100%",
11634
+ $height: "auto",
11635
+ $borderRadius: `${settings.theme.card.borderRadius / 16}rem`,
11636
+ $backgroundColor: settings.theme.card.background,
11637
+ $alignItems: "center",
11638
+ $justifyContent: "center",
11639
+ children: [
11640
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
11641
+ Box,
11642
+ {
11643
+ $marginBottom: "8px",
11644
+ $fontSize: `${settings.theme.typography.heading1.fontSize / 16}rem`,
11645
+ $fontFamily: settings.theme.typography.heading1.fontFamily,
11646
+ $fontWeight: settings.theme.typography.heading1.fontWeight,
11647
+ $color: settings.theme.typography.heading1.color,
11648
+ children: "404 Error"
11649
+ }
11650
+ ),
11651
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
11652
+ Box,
11653
+ {
11654
+ $marginBottom: "8px",
11655
+ $fontSize: `${settings.theme.typography.text.fontSize / 16}rem`,
11656
+ $fontFamily: settings.theme.typography.text.fontFamily,
11657
+ $fontWeight: settings.theme.typography.text.fontWeight,
11658
+ $color: settings.theme.typography.text.color,
11659
+ children: error.message
11660
+ }
11661
+ )
11662
+ ]
11663
+ }
11664
+ );
11135
11665
  }
11136
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_jsx_runtime18.Fragment, { children });
11666
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, { children });
11137
11667
  };
11138
11668
 
11139
11669
  // src/components/embed/Embed.tsx
11140
- var import_jsx_runtime19 = require("react/jsx-runtime");
11670
+ var import_jsx_runtime22 = require("react/jsx-runtime");
11141
11671
  var SchematicEmbed = ({ id, accessToken, apiConfig }) => {
11142
11672
  if (accessToken?.length === 0) {
11143
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { children: "Please provide an access token." });
11673
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { children: "Please provide an access token." });
11144
11674
  }
11145
11675
  if (!accessToken?.startsWith("token_")) {
11146
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { children: 'Invalid access token; your temporary access token will start with "token_".' });
11676
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { children: 'Invalid access token; your temporary access token will start with "token_".' });
11147
11677
  }
11148
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(EmbedProvider, { id, accessToken, apiConfig, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ComponentTree, {}) });
11678
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(EmbedProvider, { id, accessToken, apiConfig, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ComponentTree, {}) });
11149
11679
  };
11150
11680
  /*! Bundled license information:
11151
11681