@superlogic/spree-pay 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.css CHANGED
@@ -34,6 +34,8 @@
34
34
  --text-xs--line-height: calc(1 / 0.75);
35
35
  --text-sm: 0.875rem;
36
36
  --text-sm--line-height: calc(1.25 / 0.875);
37
+ --text-base: 1rem;
38
+ --text-base--line-height: calc(1.5 / 1);
37
39
  --text-lg: 1.125rem;
38
40
  --text-lg--line-height: calc(1.75 / 1.125);
39
41
  --text-xl: 1.25rem;
@@ -258,6 +260,9 @@
258
260
  .sl-spreepay .fixed {
259
261
  position: fixed;
260
262
  }
263
+ .sl-spreepay .relative {
264
+ position: relative;
265
+ }
261
266
  .sl-spreepay .inset-0 {
262
267
  inset: calc(var(--spacing) * 0);
263
268
  }
@@ -303,9 +308,6 @@
303
308
  .sl-spreepay .mt-4 {
304
309
  margin-top: calc(var(--spacing) * 4);
305
310
  }
306
- .sl-spreepay .-mr-2 {
307
- margin-right: calc(var(--spacing) * -2);
308
- }
309
311
  .sl-spreepay .mr-1 {
310
312
  margin-right: calc(var(--spacing) * 1);
311
313
  }
@@ -433,12 +435,21 @@
433
435
  .sl-spreepay .w-full {
434
436
  width: 100%;
435
437
  }
438
+ .sl-spreepay .max-w-\[100px\] {
439
+ max-width: 100px;
440
+ }
441
+ .sl-spreepay .max-w-\[540px\] {
442
+ max-width: 540px;
443
+ }
436
444
  .sl-spreepay .max-w-\[680px\] {
437
445
  max-width: 680px;
438
446
  }
439
447
  .sl-spreepay .max-w-\[calc\(100\%-2rem\)\] {
440
448
  max-width: calc(100% - 2rem);
441
449
  }
450
+ .sl-spreepay .min-w-0 {
451
+ min-width: calc(var(--spacing) * 0);
452
+ }
442
453
  .sl-spreepay .flex-1 {
443
454
  flex: 1;
444
455
  }
@@ -448,6 +459,9 @@
448
459
  .sl-spreepay .shrink-0 {
449
460
  flex-shrink: 0;
450
461
  }
462
+ .sl-spreepay .grow {
463
+ flex-grow: 1;
464
+ }
451
465
  .sl-spreepay .translate-x-\[-50\%\] {
452
466
  --tw-translate-x: -50%;
453
467
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -468,6 +482,9 @@
468
482
  .sl-spreepay .cursor-pointer {
469
483
  cursor: pointer;
470
484
  }
485
+ .sl-spreepay .touch-none {
486
+ touch-action: none;
487
+ }
471
488
  .sl-spreepay .flex-col {
472
489
  flex-direction: column;
473
490
  }
@@ -633,6 +650,9 @@
633
650
  .sl-spreepay .bg-gray-200 {
634
651
  background-color: var(--color-gray-200);
635
652
  }
653
+ .sl-spreepay .bg-muted {
654
+ background-color: var(--muted);
655
+ }
636
656
  .sl-spreepay .bg-primary {
637
657
  background-color: var(--primary);
638
658
  }
@@ -651,6 +671,9 @@
651
671
  .sl-spreepay .bg-secondary {
652
672
  background-color: var(--secondary);
653
673
  }
674
+ .sl-spreepay .bg-transparent {
675
+ background-color: transparent;
676
+ }
654
677
  .sl-spreepay .bg-white {
655
678
  background-color: var(--color-white);
656
679
  }
@@ -684,6 +707,9 @@
684
707
  .sl-spreepay .px-8 {
685
708
  padding-inline: calc(var(--spacing) * 8);
686
709
  }
710
+ .sl-spreepay .py-1 {
711
+ padding-block: calc(var(--spacing) * 1);
712
+ }
687
713
  .sl-spreepay .py-1\.5 {
688
714
  padding-block: calc(var(--spacing) * 1.5);
689
715
  }
@@ -696,15 +722,27 @@
696
722
  .sl-spreepay .py-5 {
697
723
  padding-block: calc(var(--spacing) * 5);
698
724
  }
725
+ .sl-spreepay .pt-5 {
726
+ padding-top: calc(var(--spacing) * 5);
727
+ }
699
728
  .sl-spreepay .pt-6 {
700
729
  padding-top: calc(var(--spacing) * 6);
701
730
  }
702
731
  .sl-spreepay .pb-2 {
703
732
  padding-bottom: calc(var(--spacing) * 2);
704
733
  }
734
+ .sl-spreepay .pb-5 {
735
+ padding-bottom: calc(var(--spacing) * 5);
736
+ }
737
+ .sl-spreepay .pb-6 {
738
+ padding-bottom: calc(var(--spacing) * 6);
739
+ }
705
740
  .sl-spreepay .text-center {
706
741
  text-align: center;
707
742
  }
743
+ .sl-spreepay .text-left {
744
+ text-align: left;
745
+ }
708
746
  .sl-spreepay .text-right {
709
747
  text-align: right;
710
748
  }
@@ -712,6 +750,10 @@
712
750
  font-size: var(--text-2xl);
713
751
  line-height: var(--tw-leading, var(--text-2xl--line-height));
714
752
  }
753
+ .sl-spreepay .text-base {
754
+ font-size: var(--text-base);
755
+ line-height: var(--tw-leading, var(--text-base--line-height));
756
+ }
715
757
  .sl-spreepay .text-lg {
716
758
  font-size: var(--text-lg);
717
759
  line-height: var(--tw-leading, var(--text-lg--line-height));
@@ -736,6 +778,10 @@
736
778
  --tw-leading: 1.7;
737
779
  line-height: 1.7;
738
780
  }
781
+ .sl-spreepay .leading-\[20px\] {
782
+ --tw-leading: 20px;
783
+ line-height: 20px;
784
+ }
739
785
  .sl-spreepay .leading-\[34px\] {
740
786
  --tw-leading: 34px;
741
787
  line-height: 34px;
@@ -758,6 +804,12 @@
758
804
  .sl-spreepay .text-black {
759
805
  color: var(--color-black);
760
806
  }
807
+ .sl-spreepay .text-black\/45 {
808
+ color: color-mix(in srgb, #000 45%, transparent);
809
+ @supports (color: color-mix(in lab, red, red)) {
810
+ color: color-mix(in oklab, var(--color-black) 45%, transparent);
811
+ }
812
+ }
761
813
  .sl-spreepay .text-black\/50 {
762
814
  color: color-mix(in srgb, #000 50%, transparent);
763
815
  @supports (color: color-mix(in lab, red, red)) {
@@ -815,6 +867,15 @@
815
867
  var(--tw-ring-shadow),
816
868
  var(--tw-shadow);
817
869
  }
870
+ .sl-spreepay .shadow-sm {
871
+ --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
872
+ box-shadow:
873
+ var(--tw-inset-shadow),
874
+ var(--tw-inset-ring-shadow),
875
+ var(--tw-ring-offset-shadow),
876
+ var(--tw-ring-shadow),
877
+ var(--tw-shadow);
878
+ }
818
879
  .sl-spreepay .shadow-xs {
819
880
  --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
820
881
  box-shadow:
@@ -855,6 +916,11 @@
855
916
  outline-style: var(--tw-outline-style);
856
917
  outline-width: 1px;
857
918
  }
919
+ .sl-spreepay .transition-\[color\,box-shadow\] {
920
+ transition-property: color, box-shadow;
921
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
922
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
923
+ }
858
924
  .sl-spreepay .transition-all {
859
925
  transition-property: all;
860
926
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -914,6 +980,60 @@
914
980
  opacity: 50%;
915
981
  }
916
982
  }
983
+ .sl-spreepay .selection\:bg-primary {
984
+ .sl-spreepay & *::selection {
985
+ background-color: var(--primary);
986
+ }
987
+ .sl-spreepay &::selection {
988
+ background-color: var(--primary);
989
+ }
990
+ }
991
+ .sl-spreepay .selection\:text-primary-foreground {
992
+ .sl-spreepay & *::selection {
993
+ color: var(--primary-foreground);
994
+ }
995
+ .sl-spreepay &::selection {
996
+ color: var(--primary-foreground);
997
+ }
998
+ }
999
+ .sl-spreepay .file\:inline-flex {
1000
+ .sl-spreepay &::file-selector-button {
1001
+ display: inline-flex;
1002
+ }
1003
+ }
1004
+ .sl-spreepay .file\:h-7 {
1005
+ .sl-spreepay &::file-selector-button {
1006
+ height: calc(var(--spacing) * 7);
1007
+ }
1008
+ }
1009
+ .sl-spreepay .file\:border-0 {
1010
+ .sl-spreepay &::file-selector-button {
1011
+ border-style: var(--tw-border-style);
1012
+ border-width: 0px;
1013
+ }
1014
+ }
1015
+ .sl-spreepay .file\:bg-transparent {
1016
+ .sl-spreepay &::file-selector-button {
1017
+ background-color: transparent;
1018
+ }
1019
+ }
1020
+ .sl-spreepay .file\:text-sm {
1021
+ .sl-spreepay &::file-selector-button {
1022
+ font-size: var(--text-sm);
1023
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1024
+ }
1025
+ }
1026
+ .sl-spreepay .file\:font-medium {
1027
+ .sl-spreepay &::file-selector-button {
1028
+ --tw-font-weight: var(--font-weight-medium);
1029
+ font-weight: var(--font-weight-medium);
1030
+ }
1031
+ }
1032
+ .sl-spreepay .file\:text-foreground {
1033
+ .sl-spreepay &::file-selector-button {
1034
+ color: var(--foreground);
1035
+ }
1036
+ }
917
1037
  .sl-spreepay .placeholder\:text-muted-foreground {
918
1038
  .sl-spreepay &::placeholder {
919
1039
  color: var(--muted-foreground);
@@ -950,13 +1070,6 @@
950
1070
  }
951
1071
  }
952
1072
  }
953
- .sl-spreepay .hover\:bg-primary {
954
- .sl-spreepay &:hover {
955
- @media (hover: hover) {
956
- background-color: var(--primary);
957
- }
958
- }
959
- }
960
1073
  .sl-spreepay .hover\:bg-primary\/90 {
961
1074
  .sl-spreepay &:hover {
962
1075
  @media (hover: hover) {
@@ -984,24 +1097,30 @@
984
1097
  }
985
1098
  }
986
1099
  }
987
- .sl-spreepay .hover\:text-white {
1100
+ .sl-spreepay .hover\:underline {
988
1101
  .sl-spreepay &:hover {
989
1102
  @media (hover: hover) {
990
- color: var(--color-white);
1103
+ text-decoration-line: underline;
991
1104
  }
992
1105
  }
993
1106
  }
994
- .sl-spreepay .hover\:underline {
1107
+ .sl-spreepay .hover\:opacity-100 {
995
1108
  .sl-spreepay &:hover {
996
1109
  @media (hover: hover) {
997
- text-decoration-line: underline;
1110
+ opacity: 100%;
998
1111
  }
999
1112
  }
1000
1113
  }
1001
- .sl-spreepay .hover\:opacity-100 {
1114
+ .sl-spreepay .hover\:ring-4 {
1002
1115
  .sl-spreepay &:hover {
1003
1116
  @media (hover: hover) {
1004
- opacity: 100%;
1117
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1118
+ box-shadow:
1119
+ var(--tw-inset-shadow),
1120
+ var(--tw-inset-ring-shadow),
1121
+ var(--tw-ring-offset-shadow),
1122
+ var(--tw-ring-shadow),
1123
+ var(--tw-shadow);
1005
1124
  }
1006
1125
  }
1007
1126
  }
@@ -1053,6 +1172,17 @@
1053
1172
  var(--tw-shadow);
1054
1173
  }
1055
1174
  }
1175
+ .sl-spreepay .focus-visible\:ring-4 {
1176
+ .sl-spreepay &:focus-visible {
1177
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
1178
+ box-shadow:
1179
+ var(--tw-inset-shadow),
1180
+ var(--tw-inset-ring-shadow),
1181
+ var(--tw-ring-offset-shadow),
1182
+ var(--tw-ring-shadow),
1183
+ var(--tw-shadow);
1184
+ }
1185
+ }
1056
1186
  .sl-spreepay .focus-visible\:ring-\[3px\] {
1057
1187
  .sl-spreepay &:focus-visible {
1058
1188
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
@@ -1096,6 +1226,16 @@
1096
1226
  --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
1097
1227
  }
1098
1228
  }
1229
+ .sl-spreepay .focus-visible\:outline-hidden {
1230
+ .sl-spreepay &:focus-visible {
1231
+ --tw-outline-style: none;
1232
+ outline-style: none;
1233
+ @media (forced-colors: active) {
1234
+ outline: 2px solid transparent;
1235
+ outline-offset: 2px;
1236
+ }
1237
+ }
1238
+ }
1099
1239
  .sl-spreepay .focus-visible\:outline-none {
1100
1240
  .sl-spreepay &:focus-visible {
1101
1241
  --tw-outline-style: none;
@@ -1150,6 +1290,56 @@
1150
1290
  }
1151
1291
  }
1152
1292
  }
1293
+ .sl-spreepay .data-\[disabled\]\:opacity-50 {
1294
+ .sl-spreepay &[data-disabled] {
1295
+ opacity: 50%;
1296
+ }
1297
+ }
1298
+ .sl-spreepay .data-\[orientation\=horizontal\]\:h-1\.5 {
1299
+ .sl-spreepay &[data-orientation=horizontal] {
1300
+ height: calc(var(--spacing) * 1.5);
1301
+ }
1302
+ }
1303
+ .sl-spreepay .data-\[orientation\=horizontal\]\:h-full {
1304
+ .sl-spreepay &[data-orientation=horizontal] {
1305
+ height: 100%;
1306
+ }
1307
+ }
1308
+ .sl-spreepay .data-\[orientation\=horizontal\]\:w-full {
1309
+ .sl-spreepay &[data-orientation=horizontal] {
1310
+ width: 100%;
1311
+ }
1312
+ }
1313
+ .sl-spreepay .data-\[orientation\=vertical\]\:h-full {
1314
+ .sl-spreepay &[data-orientation=vertical] {
1315
+ height: 100%;
1316
+ }
1317
+ }
1318
+ .sl-spreepay .data-\[orientation\=vertical\]\:min-h-44 {
1319
+ .sl-spreepay &[data-orientation=vertical] {
1320
+ min-height: calc(var(--spacing) * 44);
1321
+ }
1322
+ }
1323
+ .sl-spreepay .data-\[orientation\=vertical\]\:w-1\.5 {
1324
+ .sl-spreepay &[data-orientation=vertical] {
1325
+ width: calc(var(--spacing) * 1.5);
1326
+ }
1327
+ }
1328
+ .sl-spreepay .data-\[orientation\=vertical\]\:w-auto {
1329
+ .sl-spreepay &[data-orientation=vertical] {
1330
+ width: auto;
1331
+ }
1332
+ }
1333
+ .sl-spreepay .data-\[orientation\=vertical\]\:w-full {
1334
+ .sl-spreepay &[data-orientation=vertical] {
1335
+ width: 100%;
1336
+ }
1337
+ }
1338
+ .sl-spreepay .data-\[orientation\=vertical\]\:flex-col {
1339
+ .sl-spreepay &[data-orientation=vertical] {
1340
+ flex-direction: column;
1341
+ }
1342
+ }
1153
1343
  .sl-spreepay .data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\] {
1154
1344
  .sl-spreepay &[data-state=checked] {
1155
1345
  --tw-translate-x: calc(100% - 2px);
@@ -1251,6 +1441,11 @@
1251
1441
  display: block;
1252
1442
  }
1253
1443
  }
1444
+ .sl-spreepay .md\:px-4 {
1445
+ @media (width >= 48rem) {
1446
+ padding-inline: calc(var(--spacing) * 4);
1447
+ }
1448
+ }
1254
1449
  .sl-spreepay .md\:px-7 {
1255
1450
  @media (width >= 48rem) {
1256
1451
  padding-inline: calc(var(--spacing) * 7);
@@ -1266,6 +1461,22 @@
1266
1461
  padding-block: calc(var(--spacing) * 6);
1267
1462
  }
1268
1463
  }
1464
+ .sl-spreepay .md\:pt-6 {
1465
+ @media (width >= 48rem) {
1466
+ padding-top: calc(var(--spacing) * 6);
1467
+ }
1468
+ }
1469
+ .sl-spreepay .md\:pb-7 {
1470
+ @media (width >= 48rem) {
1471
+ padding-bottom: calc(var(--spacing) * 7);
1472
+ }
1473
+ }
1474
+ .sl-spreepay .md\:text-sm {
1475
+ @media (width >= 48rem) {
1476
+ font-size: var(--text-sm);
1477
+ line-height: var(--tw-leading, var(--text-sm--line-height));
1478
+ }
1479
+ }
1269
1480
  .sl-spreepay .md\:text-xl {
1270
1481
  @media (width >= 48rem) {
1271
1482
  font-size: var(--text-xl);
@@ -1406,7 +1617,7 @@
1406
1617
  --card-foreground: oklch(0.145 0 0);
1407
1618
  --popover: oklch(1 0 0);
1408
1619
  --popover-foreground: oklch(0.145 0 0);
1409
- --primary: oklch(0.205 0 0);
1620
+ --primary: #022664;
1410
1621
  --primary-foreground: oklch(0.985 0 0);
1411
1622
  --secondary: oklch(0.97 0 0);
1412
1623
  --secondary-foreground: oklch(0.205 0 0);
@@ -1481,9 +1692,6 @@
1481
1692
  cursor: pointer;
1482
1693
  }
1483
1694
  }
1484
- .sl-spreepay {
1485
- --primary: #022664;
1486
- }
1487
1695
  .sl-spreepay .sl-spreepay__portal {
1488
1696
  position: relative;
1489
1697
  }
package/build/index.d.cts CHANGED
@@ -5,6 +5,7 @@ type SpreePayProps = {
5
5
  amount?: number;
6
6
  className?: string;
7
7
  isProcessing?: boolean;
8
+ transactionFeePercentage?: number;
8
9
  };
9
10
 
10
11
  declare const SpreePay: FC<SpreePayProps>;
@@ -72,15 +73,19 @@ type NewCard = Pick<Card, 'expireMonth' | 'expireYear' | 'lastFourNumbers' | 'sc
72
73
  type CardPaymentMethod = {
73
74
  method: NewCard | Card | null;
74
75
  type: PaymentType.CREDIT_CARD;
76
+ splitAmount?: number;
75
77
  };
76
78
  type CryptoPaymentMethod = {
77
79
  method: Coin | NativeCoin | null;
78
80
  type: PaymentType.CRYPTO;
81
+ splitAmount?: number;
79
82
  };
80
83
  type SelectedPaymentMethod = CardPaymentMethod | CryptoPaymentMethod;
81
84
  declare enum PaymentType {
82
85
  CREDIT_CARD = "CREDIT_CARD",
83
- CRYPTO = "CRYPTO"
86
+ CRYPTO = "CRYPTO",
87
+ SPLIT = "SPLIT",
88
+ POINTS = "POINTS"
84
89
  }
85
90
  declare const enum SlapiPaymentStatus {
86
91
  NOT_INITIALIZED = "NOT_INITIALIZED",// back-end only
@@ -102,7 +107,6 @@ type ProcessFnParams = {
102
107
  hash: string;
103
108
  capture?: boolean;
104
109
  metadata?: Record<string, unknown>;
105
- transactionFee?: number;
106
110
  };
107
111
  type ProcessFn = (data: ProcessFnParams) => Promise<PaymentMethodResult>;
108
112
 
@@ -129,4 +133,4 @@ declare global {
129
133
  }
130
134
  }
131
135
 
132
- export { SpreePay, SpreePayProvider, useCapture3DS, useSpreePay };
136
+ export { type ENV, type PaymentMethodResult, PaymentType, type ProcessFn, type ProcessFnParams, type SelectedPaymentMethod, SlapiPaymentStatus, SpreePay, type SpreePayProps, SpreePayProvider, useCapture3DS, useSpreePay };
package/build/index.d.ts CHANGED
@@ -5,6 +5,7 @@ type SpreePayProps = {
5
5
  amount?: number;
6
6
  className?: string;
7
7
  isProcessing?: boolean;
8
+ transactionFeePercentage?: number;
8
9
  };
9
10
 
10
11
  declare const SpreePay: FC<SpreePayProps>;
@@ -72,15 +73,19 @@ type NewCard = Pick<Card, 'expireMonth' | 'expireYear' | 'lastFourNumbers' | 'sc
72
73
  type CardPaymentMethod = {
73
74
  method: NewCard | Card | null;
74
75
  type: PaymentType.CREDIT_CARD;
76
+ splitAmount?: number;
75
77
  };
76
78
  type CryptoPaymentMethod = {
77
79
  method: Coin | NativeCoin | null;
78
80
  type: PaymentType.CRYPTO;
81
+ splitAmount?: number;
79
82
  };
80
83
  type SelectedPaymentMethod = CardPaymentMethod | CryptoPaymentMethod;
81
84
  declare enum PaymentType {
82
85
  CREDIT_CARD = "CREDIT_CARD",
83
- CRYPTO = "CRYPTO"
86
+ CRYPTO = "CRYPTO",
87
+ SPLIT = "SPLIT",
88
+ POINTS = "POINTS"
84
89
  }
85
90
  declare const enum SlapiPaymentStatus {
86
91
  NOT_INITIALIZED = "NOT_INITIALIZED",// back-end only
@@ -102,7 +107,6 @@ type ProcessFnParams = {
102
107
  hash: string;
103
108
  capture?: boolean;
104
109
  metadata?: Record<string, unknown>;
105
- transactionFee?: number;
106
110
  };
107
111
  type ProcessFn = (data: ProcessFnParams) => Promise<PaymentMethodResult>;
108
112
 
@@ -129,4 +133,4 @@ declare global {
129
133
  }
130
134
  }
131
135
 
132
- export { SpreePay, SpreePayProvider, useCapture3DS, useSpreePay };
136
+ export { type ENV, type PaymentMethodResult, PaymentType, type ProcessFn, type ProcessFnParams, type SelectedPaymentMethod, SlapiPaymentStatus, SpreePay, type SpreePayProps, SpreePayProvider, useCapture3DS, useSpreePay };