@lockerverse/react 0.2.58 → 0.2.59
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/README.md +44 -1
- package/dist/donate-launcher.d.ts +3 -0
- package/dist/donate-launcher.js +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +1 -1
- package/dist/lockerverse-donate-launcher.d.ts +6 -0
- package/dist/lockerverse-donate-launcher.d.ts.map +1 -0
- package/dist/lockerverse-donate-launcher.js +2 -0
- package/dist/lockerverse-donate-launcher.js.map +1 -0
- package/dist/lockerverse-payment.d.ts +2 -55
- package/dist/lockerverse-payment.d.ts.map +1 -1
- package/dist/lockerverse-payment.js +1 -1
- package/dist/lockerverse-payment.js.map +1 -1
- package/dist/payment.d.ts +2 -1
- package/dist/styles.css +246 -0
- package/dist/types.d.ts +63 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +17 -2
package/dist/payment.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { a as
|
|
1
|
+
import { a as LockerversePaymentRecovery, c as LockerversePaymentTheme, i as LockerversePaymentProps, l as LockerversePaymentUncertain, o as LockerversePaymentSelectionItem, r as LockerversePaymentBranding, s as LockerversePaymentStyle, u as LockerverseStripeLoader } from "./types.js";
|
|
2
|
+
import { t as LockerversePayment } from "./lockerverse-payment.js";
|
|
2
3
|
export { LockerversePayment, type LockerversePaymentBranding, type LockerversePaymentProps, type LockerversePaymentRecovery, type LockerversePaymentSelectionItem, type LockerversePaymentStyle, type LockerversePaymentTheme, type LockerversePaymentUncertain, type LockerverseStripeLoader };
|
package/dist/styles.css
CHANGED
|
@@ -1035,3 +1035,249 @@
|
|
|
1035
1035
|
transition-duration: 0.01ms !important;
|
|
1036
1036
|
}
|
|
1037
1037
|
}
|
|
1038
|
+
|
|
1039
|
+
.lockerverse-launcher,
|
|
1040
|
+
.lockerverse-launcher__dialog {
|
|
1041
|
+
--lockerverse-accent: #38d77a;
|
|
1042
|
+
--lockerverse-accent-contrast: #000;
|
|
1043
|
+
--lockerverse-bg: #080808;
|
|
1044
|
+
--lockerverse-border: rgb(255 255 255 / 12%);
|
|
1045
|
+
--lockerverse-control: #121212;
|
|
1046
|
+
--lockerverse-danger: #f08a98;
|
|
1047
|
+
--lockerverse-font-family:
|
|
1048
|
+
ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
|
|
1049
|
+
sans-serif;
|
|
1050
|
+
--lockerverse-muted: rgb(255 255 255 / 64%);
|
|
1051
|
+
--lockerverse-radius: 10px;
|
|
1052
|
+
--lockerverse-subtle: rgb(255 255 255 / 8%);
|
|
1053
|
+
--lockerverse-text: #fff;
|
|
1054
|
+
box-sizing: border-box;
|
|
1055
|
+
font-family: var(--lockerverse-font-family);
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
.lockerverse-launcher[data-lockerverse-theme="light"],
|
|
1059
|
+
.lockerverse-launcher__dialog[data-lockerverse-theme="light"] {
|
|
1060
|
+
--lockerverse-bg: #fff;
|
|
1061
|
+
--lockerverse-border: rgb(18 20 22 / 14%);
|
|
1062
|
+
--lockerverse-control: #f5f6f7;
|
|
1063
|
+
--lockerverse-danger: #c52b3e;
|
|
1064
|
+
--lockerverse-muted: rgb(18 20 22 / 64%);
|
|
1065
|
+
--lockerverse-subtle: rgb(18 20 22 / 8%);
|
|
1066
|
+
--lockerverse-text: #121416;
|
|
1067
|
+
}
|
|
1068
|
+
|
|
1069
|
+
.lockerverse-launcher {
|
|
1070
|
+
z-index: 1000;
|
|
1071
|
+
min-height: 48px;
|
|
1072
|
+
padding: 12px 20px;
|
|
1073
|
+
font: inherit;
|
|
1074
|
+
font-weight: 700;
|
|
1075
|
+
color: var(--lockerverse-accent-contrast);
|
|
1076
|
+
cursor: pointer;
|
|
1077
|
+
background: var(--lockerverse-accent);
|
|
1078
|
+
border: 0;
|
|
1079
|
+
border-radius: 999px;
|
|
1080
|
+
box-shadow: 0 14px 34px rgb(0 0 0 / 28%);
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
.lockerverse-launcher--bottom-left,
|
|
1084
|
+
.lockerverse-launcher--bottom-right {
|
|
1085
|
+
position: fixed;
|
|
1086
|
+
bottom: 24px;
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
.lockerverse-launcher--bottom-left {
|
|
1090
|
+
left: 24px;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
.lockerverse-launcher--bottom-right {
|
|
1094
|
+
right: 24px;
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
.lockerverse-launcher:focus-visible,
|
|
1098
|
+
.lockerverse-launcher__dialog button:focus-visible,
|
|
1099
|
+
.lockerverse-launcher__dialog input:focus-visible {
|
|
1100
|
+
outline: 2px solid var(--lockerverse-accent);
|
|
1101
|
+
outline-offset: 3px;
|
|
1102
|
+
}
|
|
1103
|
+
|
|
1104
|
+
.lockerverse-launcher__backdrop {
|
|
1105
|
+
position: fixed;
|
|
1106
|
+
inset: 0;
|
|
1107
|
+
z-index: 1000;
|
|
1108
|
+
background: rgb(0 0 0 / 68%);
|
|
1109
|
+
backdrop-filter: blur(4px);
|
|
1110
|
+
}
|
|
1111
|
+
|
|
1112
|
+
.lockerverse-launcher__viewport {
|
|
1113
|
+
position: fixed;
|
|
1114
|
+
inset: 0;
|
|
1115
|
+
z-index: 1001;
|
|
1116
|
+
display: grid;
|
|
1117
|
+
place-items: center;
|
|
1118
|
+
padding: 24px;
|
|
1119
|
+
}
|
|
1120
|
+
|
|
1121
|
+
.lockerverse-launcher__dialog {
|
|
1122
|
+
position: relative;
|
|
1123
|
+
width: min(100%, 520px);
|
|
1124
|
+
max-height: calc(100dvh - 48px);
|
|
1125
|
+
padding: 24px;
|
|
1126
|
+
overflow-y: auto;
|
|
1127
|
+
color: var(--lockerverse-text);
|
|
1128
|
+
background: var(--lockerverse-bg);
|
|
1129
|
+
border: 1px solid var(--lockerverse-border);
|
|
1130
|
+
border-radius: calc(var(--lockerverse-radius) + 6px);
|
|
1131
|
+
box-shadow: 0 30px 90px rgb(0 0 0 / 48%);
|
|
1132
|
+
}
|
|
1133
|
+
|
|
1134
|
+
.lockerverse-launcher__dialog *,
|
|
1135
|
+
.lockerverse-launcher__dialog *::before,
|
|
1136
|
+
.lockerverse-launcher__dialog *::after {
|
|
1137
|
+
box-sizing: border-box;
|
|
1138
|
+
}
|
|
1139
|
+
|
|
1140
|
+
.lockerverse-launcher__title {
|
|
1141
|
+
padding-right: 72px;
|
|
1142
|
+
margin: 0;
|
|
1143
|
+
font-size: 24px;
|
|
1144
|
+
line-height: 1.25;
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
.lockerverse-launcher__description {
|
|
1148
|
+
margin: 10px 0 0;
|
|
1149
|
+
color: var(--lockerverse-muted);
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1152
|
+
.lockerverse-launcher__close {
|
|
1153
|
+
position: absolute;
|
|
1154
|
+
top: 18px;
|
|
1155
|
+
right: 18px;
|
|
1156
|
+
min-height: 36px;
|
|
1157
|
+
padding: 7px 10px;
|
|
1158
|
+
font: inherit;
|
|
1159
|
+
color: var(--lockerverse-muted);
|
|
1160
|
+
cursor: pointer;
|
|
1161
|
+
background: var(--lockerverse-subtle);
|
|
1162
|
+
border: 1px solid var(--lockerverse-border);
|
|
1163
|
+
border-radius: var(--lockerverse-radius);
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
.lockerverse-launcher__products,
|
|
1167
|
+
.lockerverse-launcher__amount-form,
|
|
1168
|
+
.lockerverse-launcher__checkout {
|
|
1169
|
+
display: grid;
|
|
1170
|
+
gap: 12px;
|
|
1171
|
+
margin-top: 24px;
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
.lockerverse-launcher__back {
|
|
1175
|
+
justify-self: start;
|
|
1176
|
+
padding: 7px 10px;
|
|
1177
|
+
font: inherit;
|
|
1178
|
+
color: var(--lockerverse-muted);
|
|
1179
|
+
cursor: pointer;
|
|
1180
|
+
background: transparent;
|
|
1181
|
+
border: 1px solid var(--lockerverse-border);
|
|
1182
|
+
border-radius: var(--lockerverse-radius);
|
|
1183
|
+
}
|
|
1184
|
+
|
|
1185
|
+
.lockerverse-launcher__checkout > .lockerverse-payment {
|
|
1186
|
+
max-width: none;
|
|
1187
|
+
padding: 0;
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
.lockerverse-launcher__product {
|
|
1191
|
+
display: flex;
|
|
1192
|
+
gap: 16px;
|
|
1193
|
+
align-items: center;
|
|
1194
|
+
justify-content: space-between;
|
|
1195
|
+
min-height: 58px;
|
|
1196
|
+
padding: 14px 16px;
|
|
1197
|
+
font: inherit;
|
|
1198
|
+
color: var(--lockerverse-text);
|
|
1199
|
+
text-align: left;
|
|
1200
|
+
cursor: pointer;
|
|
1201
|
+
background: var(--lockerverse-control);
|
|
1202
|
+
border: 1px solid var(--lockerverse-border);
|
|
1203
|
+
border-radius: var(--lockerverse-radius);
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
.lockerverse-launcher__product:hover {
|
|
1207
|
+
border-color: color-mix(in srgb, var(--lockerverse-accent) 58%, transparent);
|
|
1208
|
+
}
|
|
1209
|
+
|
|
1210
|
+
.lockerverse-launcher__product-copy {
|
|
1211
|
+
display: grid;
|
|
1212
|
+
gap: 3px;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
.lockerverse-launcher__product-copy small {
|
|
1216
|
+
font-size: 13px;
|
|
1217
|
+
color: var(--lockerverse-muted);
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1220
|
+
.lockerverse-launcher__amount-form label {
|
|
1221
|
+
font-size: 14px;
|
|
1222
|
+
font-weight: 600;
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1225
|
+
.lockerverse-launcher__amount-form input {
|
|
1226
|
+
width: 100%;
|
|
1227
|
+
min-height: 48px;
|
|
1228
|
+
padding: 11px 13px;
|
|
1229
|
+
font: inherit;
|
|
1230
|
+
font-size: 18px;
|
|
1231
|
+
color: var(--lockerverse-text);
|
|
1232
|
+
background: var(--lockerverse-control);
|
|
1233
|
+
border: 1px solid var(--lockerverse-border);
|
|
1234
|
+
border-radius: var(--lockerverse-radius);
|
|
1235
|
+
}
|
|
1236
|
+
|
|
1237
|
+
.lockerverse-launcher__amount-form button[type="submit"] {
|
|
1238
|
+
min-height: 48px;
|
|
1239
|
+
padding: 12px;
|
|
1240
|
+
font: inherit;
|
|
1241
|
+
font-weight: 700;
|
|
1242
|
+
color: var(--lockerverse-accent-contrast);
|
|
1243
|
+
cursor: pointer;
|
|
1244
|
+
background: var(--lockerverse-accent);
|
|
1245
|
+
border: 0;
|
|
1246
|
+
border-radius: var(--lockerverse-radius);
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
.lockerverse-launcher__dialog > [role="alert"] {
|
|
1250
|
+
display: grid;
|
|
1251
|
+
gap: 12px;
|
|
1252
|
+
margin-top: 24px;
|
|
1253
|
+
color: var(--lockerverse-danger);
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1256
|
+
@media (max-width: 640px) {
|
|
1257
|
+
.lockerverse-launcher--bottom-left,
|
|
1258
|
+
.lockerverse-launcher--bottom-right {
|
|
1259
|
+
right: 16px;
|
|
1260
|
+
bottom: 16px;
|
|
1261
|
+
left: auto;
|
|
1262
|
+
}
|
|
1263
|
+
|
|
1264
|
+
.lockerverse-launcher__viewport {
|
|
1265
|
+
align-items: end;
|
|
1266
|
+
padding: 0;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
.lockerverse-launcher__dialog {
|
|
1270
|
+
width: 100%;
|
|
1271
|
+
max-height: calc(100dvh - 16px);
|
|
1272
|
+
padding: 22px 18px max(22px, env(safe-area-inset-bottom));
|
|
1273
|
+
border-radius: 18px 18px 0 0;
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1278
|
+
.lockerverse-launcher,
|
|
1279
|
+
.lockerverse-launcher__dialog,
|
|
1280
|
+
.lockerverse-launcher__dialog * {
|
|
1281
|
+
transition-duration: 0.01ms !important;
|
|
1282
|
+
}
|
|
1283
|
+
}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { CreateLockerverseWidgetOptions, LockerversePaymentResult } from "@lockerverse/sdk/checkout";
|
|
2
|
+
import { CSSProperties, ComponentPropsWithoutRef } from "react";
|
|
3
|
+
import { loadStripe } from "@stripe/stripe-js";
|
|
4
|
+
//#region src/types.d.ts
|
|
5
|
+
type LockerversePaymentSelectionItem = {
|
|
6
|
+
amountCents: number;
|
|
7
|
+
productSlug: string;
|
|
8
|
+
} | {
|
|
9
|
+
productSlug: string;
|
|
10
|
+
quantity: number;
|
|
11
|
+
} | {
|
|
12
|
+
productSlug: string;
|
|
13
|
+
};
|
|
14
|
+
type LockerversePaymentTheme = "dark" | "light";
|
|
15
|
+
type LockerversePaymentBranding = {
|
|
16
|
+
accentColor?: string;
|
|
17
|
+
imageUrl?: string | null;
|
|
18
|
+
name: string;
|
|
19
|
+
};
|
|
20
|
+
type LockerversePaymentStyle = CSSProperties & {
|
|
21
|
+
"--lockerverse-accent"?: string;
|
|
22
|
+
"--lockerverse-accent-contrast"?: string;
|
|
23
|
+
"--lockerverse-bg"?: string;
|
|
24
|
+
"--lockerverse-border"?: string;
|
|
25
|
+
"--lockerverse-control"?: string;
|
|
26
|
+
"--lockerverse-danger"?: string;
|
|
27
|
+
"--lockerverse-danger-border"?: string;
|
|
28
|
+
"--lockerverse-font-family"?: string;
|
|
29
|
+
"--lockerverse-muted"?: string;
|
|
30
|
+
"--lockerverse-placeholder"?: string;
|
|
31
|
+
"--lockerverse-radius"?: string;
|
|
32
|
+
"--lockerverse-subtle"?: string;
|
|
33
|
+
"--lockerverse-text"?: string;
|
|
34
|
+
};
|
|
35
|
+
type LockerversePaymentUncertain = {
|
|
36
|
+
paymentReference: string;
|
|
37
|
+
reason: "action_required" | "pending" | "recovery_failed";
|
|
38
|
+
};
|
|
39
|
+
type LockerversePaymentRecovery = {
|
|
40
|
+
connectedAccountId: string | null;
|
|
41
|
+
paymentReference: string;
|
|
42
|
+
};
|
|
43
|
+
type LockerverseStripeLoader = (...args: Parameters<typeof loadStripe>) => ReturnType<typeof loadStripe>;
|
|
44
|
+
type LockerversePaymentProps = CreateLockerverseWidgetOptions & Omit<ComponentPropsWithoutRef<"section">, "children" | "onError"> & {
|
|
45
|
+
branding?: LockerversePaymentBranding;
|
|
46
|
+
metadata?: Record<string, string>;
|
|
47
|
+
onPaymentComplete?: (payment: LockerversePaymentResult) => void;
|
|
48
|
+
onPaymentRecoveryChange?: (recovery: LockerversePaymentRecovery | null) => void;
|
|
49
|
+
onPaymentUncertain?: (payment: LockerversePaymentUncertain) => void;
|
|
50
|
+
resumePayment?: LockerversePaymentRecovery | null;
|
|
51
|
+
selection: LockerversePaymentSelectionItem[];
|
|
52
|
+
stripeLoader?: LockerverseStripeLoader;
|
|
53
|
+
style?: LockerversePaymentStyle;
|
|
54
|
+
theme?: LockerversePaymentTheme;
|
|
55
|
+
};
|
|
56
|
+
type LockerverseDonateLauncherPosition = "bottom-left" | "bottom-right" | "inline";
|
|
57
|
+
type LockerverseDonateLauncherProps = Omit<LockerversePaymentProps, "selection"> & {
|
|
58
|
+
buttonLabel?: string;
|
|
59
|
+
position?: LockerverseDonateLauncherPosition;
|
|
60
|
+
};
|
|
61
|
+
//#endregion
|
|
62
|
+
export { LockerversePaymentRecovery as a, LockerversePaymentTheme as c, LockerversePaymentProps as i, LockerversePaymentUncertain as l, LockerverseDonateLauncherProps as n, LockerversePaymentSelectionItem as o, LockerversePaymentBranding as r, LockerversePaymentStyle as s, LockerverseDonateLauncherPosition as t, LockerverseStripeLoader as u };
|
|
63
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;;;KAOY;EACN;EAAqB;;EACrB;EAAqB;;EACrB;;KAEM;KAEA;EACV;EACA;EACA;;KAGU,0BAA0B;EACpC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAGU;EACV;EACA;;KAGU;EACV;EACA;;KAGU,8BACP,MAAM,kBAAkB,gBACxB,kBAAkB;KAEX,0BAA0B,iCACpC,KAAK;EACH,WAAW;EACX,WAAW;EACX,qBAAqB,SAAS;EAC9B,2BACE,UAAU;EAEZ,sBAAsB,SAAS;EAC/B,gBAAgB;EAChB,WAAW;EACX,eAAe;EACf,QAAQ;EACR,QAAQ;;KAGA;KAKA,iCAAiC,KAC3C;EAGA;EACA,WAAW"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lockerverse/react",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.59",
|
|
4
4
|
"description": "Tree-shakable React payment and signup UI for Lockerverse",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
"import": "./dist/payment.js",
|
|
24
24
|
"default": "./dist/payment.js"
|
|
25
25
|
},
|
|
26
|
+
"./donate-launcher": {
|
|
27
|
+
"types": "./dist/donate-launcher.d.ts",
|
|
28
|
+
"import": "./dist/donate-launcher.js",
|
|
29
|
+
"default": "./dist/donate-launcher.js"
|
|
30
|
+
},
|
|
26
31
|
"./signup": {
|
|
27
32
|
"types": "./dist/signup.d.ts",
|
|
28
33
|
"import": "./dist/signup.js",
|
|
@@ -50,7 +55,7 @@
|
|
|
50
55
|
"dependencies": {
|
|
51
56
|
"@base-ui/react": "1.6.0",
|
|
52
57
|
"valibot": "1.4.2",
|
|
53
|
-
"@lockerverse/sdk": "0.2.
|
|
58
|
+
"@lockerverse/sdk": "0.2.59"
|
|
54
59
|
},
|
|
55
60
|
"devDependencies": {
|
|
56
61
|
"@size-limit/file": "13.0.3",
|
|
@@ -102,6 +107,16 @@
|
|
|
102
107
|
"limit": "5 kB",
|
|
103
108
|
"path": "dist/styles.css"
|
|
104
109
|
},
|
|
110
|
+
{
|
|
111
|
+
"name": "React donate launcher",
|
|
112
|
+
"limit": "16 kB",
|
|
113
|
+
"path": [
|
|
114
|
+
"dist/donate-launcher.js",
|
|
115
|
+
"dist/lockerverse-donate-launcher.js",
|
|
116
|
+
"dist/lockerverse-payment.js",
|
|
117
|
+
"dist/contact-validation.js"
|
|
118
|
+
]
|
|
119
|
+
},
|
|
105
120
|
{
|
|
106
121
|
"name": "React signup UI",
|
|
107
122
|
"limit": "9 kB",
|