summit-registration-lite 2.0.13 → 2.0.14
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/dist/index.css +3 -1
- package/dist/index.js +582 -101
- package/package.json +8 -1
package/dist/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.outerWrapper___OWXyi{border:1px solid lightgray;background-color:white;border-radius:5px}.innerWrapper___mIrBF{padding:10px}.title___Tbvkl{display:flex;justify-content:center;align-items:center;border-bottom:1px solid lightgray;margin:0px -10px;padding:0px 15px 5px}.title___Tbvkl i{cursor:pointer;margin-left:auto}.title___Tbvkl span{width:100%;font-weight:bold;font-size:18px;text-align:center;color:var(--color_primary)}
|
|
1
|
+
#modal___G3Cmq{padding:100px 0}.outerWrapper___OWXyi{border:1px solid lightgray;background-color:white;border-radius:5px}.innerWrapper___mIrBF{padding:10px}.title___Tbvkl{display:flex;justify-content:center;align-items:center;border-bottom:1px solid lightgray;margin:0px -10px;padding:0px 15px 5px}.title___Tbvkl i{cursor:pointer;margin-left:auto}.title___Tbvkl span{width:100%;font-weight:bold;font-size:18px;text-align:center;color:var(--color_primary)}
|
|
2
2
|
|
|
3
3
|
:root{--color_primary: lightgray;--color_primary50: lightgray;--color_primary_contrast: #fff;--color_primary_contrast50: #ffffff50;--color_secondary: lightgray;--color_secondary_contrast: lightgray;--color_text_dark: #212121;--color_text_light: #ffffff;--color_text_input_hints: #212121}.step-wrapper{padding:10px;margin:10px;border:1px solid lightgray;border-radius:5px}.summit-registration-lite{color:var(--color_text_dark);font-size:15px;font-smooth:auto !important;-moz-osx-font-smoothing:auto !important;-webkit-font-smoothing:auto !important}.summit-registration-lite input:-moz-placeholder,.summit-registration-lite input::-moz-placeholder{opacity:1}input{outline:none}
|
|
4
4
|
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
.title___LksVm{font-weight:bold;cursor:pointer}.form___v5GIx{display:flex;flex-wrap:wrap;justify-content:space-between;margin:10px 0}.form___v5GIx div.fieldWrapper___Eoe61{width:48%;border-radius:5px;background-color:#e6f3ff;border:1px solid #3fa2f7;height:36px;padding:5px 10px;display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.form___v5GIx div.fieldWrapper___Eoe61:first-of-type{width:100%}.form___v5GIx div.fieldWrapper___Eoe61 input{width:100%;background-color:transparent;border:none}.form___v5GIx div.fieldWrapper___Eoe61 input:focus-visible{outline:none}.form___v5GIx div.fieldWrapper___Eoe61 i{position:relative}.form___v5GIx div.fieldWrapper___Eoe61>div{width:100%}.form___v5GIx div.fieldWrapper___Eoe61>div:first-of-type{width:95%}.form___v5GIx input{width:48%;border-radius:5px;border:1px solid #3fa2f7;color:#3486cd;font-size:16px;background-color:#e6f3ff;height:36px;padding:5px 10px;display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-weight:bold}.form___v5GIx input::placeholder{color:#3486cd}
|
|
8
8
|
|
|
9
|
+
.form___zXb7s{display:flex;flex-wrap:wrap;justify-content:space-between;margin:10px 0}.form___zXb7s div.fieldWrapper___G4Wqw{width:100%;margin-bottom:5px}.form___zXb7s div.fieldWrapper___G4Wqw:first-of-type div.inputWrapper___Yz5zB{width:100%}.form___zXb7s div.fieldWrapper___G4Wqw .fieldRow___NfZdJ{justify-content:space-between;display:flex}.form___zXb7s div.fieldWrapper___G4Wqw div.inputWrapper___Yz5zB{width:48%}.form___zXb7s div.lawpayWrapper___hpUBf{height:36px}.form___zXb7s div.dateWrapper___XDfqs{display:flex;justify-content:space-between}.form___zXb7s div.dateWrapper___XDfqs>div{width:48%}.form___zXb7s div.dateWrapper___XDfqs>div .dropdown___l3_bk{width:100%}.form___zXb7s div.dateWrapper___XDfqs>div .dropdown___l3_bk>div{border:1px solid var(--color_primary);width:100%}.form___zXb7s div.inputWrapper___Yz5zB{display:flex;border-radius:5px;border:1px solid var(--color_primary);height:36px;padding:5px 10px;justify-content:space-between;align-items:center}.form___zXb7s div.inputWrapper___Yz5zB iframe{height:inherit;width:inherit}.form___zXb7s div.inputWrapper___Yz5zB input{width:100%;background-color:transparent;border:none;padding:0;font-size:16px;display:flex;justify-content:space-between;align-items:center}.form___zXb7s div.inputWrapper___Yz5zB input::placeholder{color:var(--color_text_input_hints);font-size:16px}.form___zXb7s div.inputWrapper___Yz5zB input:focus-visible{outline:none}.form___zXb7s div.inputWrapper___Yz5zB i{position:relative}.form___zXb7s div.inputWrapper___Yz5zB>div{width:100%}.form___zXb7s div.inputWrapper___Yz5zB>div:first-of-type{width:95%}.form___zXb7s div.fieldError___Igq3U{margin-top:5px;margin-bottom:5px;color:#e5424d;font-size:14px;line-height:1.5}.form___zXb7s div.fieldError___Igq3U::before{font-family:FontAwesome;content:'\f071';margin-right:5px}
|
|
10
|
+
|
|
9
11
|
.form___DoT3x{display:flex;flex-wrap:wrap;justify-content:space-between;margin:10px 0}.form___DoT3x div.fieldWrapper___wa1Ks{width:48%;margin-bottom:5px}.form___DoT3x div.fieldWrapper___wa1Ks:first-of-type{width:100%}.form___DoT3x div.inputWrapper___CbXhF{display:flex;border-radius:5px;border:1px solid var(--color_primary);height:36px;padding:5px 10px;justify-content:space-between;align-items:center}.form___DoT3x div.inputWrapper___CbXhF input{width:100%;background-color:transparent;border:none;padding:0;font-size:16px;display:flex;justify-content:space-between;align-items:center}.form___DoT3x div.inputWrapper___CbXhF input::placeholder{color:var(--color_text_input_hints);font-size:16px}.form___DoT3x div.inputWrapper___CbXhF input:focus-visible{outline:none}.form___DoT3x div.inputWrapper___CbXhF i{position:relative}.form___DoT3x div.inputWrapper___CbXhF>div{width:100%}.form___DoT3x div.inputWrapper___CbXhF>div:first-of-type{width:95%}.form___DoT3x div.fieldError___QrMYW{margin-top:5px;margin-bottom:5px;color:#e5424d;font-size:14px;line-height:1.5}.form___DoT3x div.fieldError___QrMYW::before{font-family:FontAwesome;content:'\f071';margin-right:5px}
|
|
10
12
|
|
|
11
13
|
.title___ECoNz{font-weight:bold;cursor:pointer;display:flex;justify-content:space-between}.title___ECoNz div{font-weight:normal}.form___lDFka{display:flex;flex-wrap:wrap;justify-content:space-between;margin:10px 0 0}.form___lDFka div.fieldWrapper___Mi_nL{width:48%;margin-bottom:5px}.form___lDFka div.inputWrapper___PEQFR{display:flex;border-radius:5px;border:1px solid var(--color_primary);height:36px;padding:5px 10px;justify-content:space-between;align-items:center}.form___lDFka div.inputWrapper___PEQFR input{width:100%;background-color:transparent;border:none;padding:0;font-size:16px;display:flex;justify-content:space-between;align-items:center}.form___lDFka div.inputWrapper___PEQFR input::placeholder{color:var(--color_text_input_hints);font-size:16px}.form___lDFka div.inputWrapper___PEQFR input:focus-visible{outline:none}.form___lDFka div.inputWrapper___PEQFR .readOnly___WRazF{opacity:0.6;cursor:default}.form___lDFka div.fieldError___ksJVe{margin-top:5px;margin-bottom:5px;color:#e5424d;font-size:14px;line-height:1.5}.form___lDFka div.fieldError___ksJVe::before{font-family:FontAwesome;content:'\f071';margin-right:5px}.form___lDFka .companies___kmGFB>div{position:relative;width:100%;border-radius:5px;display:flex;justify-content:space-between;align-items:center;font-size:15px}.form___lDFka .companies___kmGFB>div::placeholder{color:var(--color_text_input_hints)}.form___lDFka .companies___kmGFB>div>div{height:100%;width:100%}.form___lDFka .companies___kmGFB>div>div>div{height:36px;padding:0px;border:1px solid var(--color_primary);box-shadow:0 0 1px var(--color_primary)}.form___lDFka .companies___kmGFB>div>div>div>div{height:36px}.form___lDFka .companies___kmGFB>div>div>span+div+div{overflow:auto;height:auto}.form___lDFka .companies___kmGFB>div>div>span+div+div>div{height:auto}.form___lDFka .companies___kmGFB>div input{padding:5px 10px;border:1px solid var(--color_primary);padding-right:0px !important;background-color:transparent}.form___lDFka .companies___kmGFB>div i{right:10px !important}.moreInfo___cQYdZ{display:inline-block;margin-top:10px}.moreInfoTooltip___lslgT{max-width:280px}.ticketQuantityNotice___L6gis{margin:10px 0 0 !important}.formErrors___dQQMe{margin-top:10px}.formErrors___dQQMe div+div{margin-top:10px}
|
package/dist/index.js
CHANGED
|
@@ -84,12 +84,215 @@ const actions_namespaceObject = require("openstack-uicore-foundation/lib/utils/a
|
|
|
84
84
|
;// CONCATENATED MODULE: external "sweetalert2"
|
|
85
85
|
const external_sweetalert2_namespaceObject = require("sweetalert2");
|
|
86
86
|
var external_sweetalert2_default = /*#__PURE__*/__webpack_require__.n(external_sweetalert2_namespaceObject);
|
|
87
|
-
;// CONCATENATED MODULE: ./src/
|
|
87
|
+
;// CONCATENATED MODULE: ./src/utils/payment-providers/lawpay-provider.js
|
|
88
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
class LawPayProvider {
|
|
94
|
+
constructor({
|
|
95
|
+
reservation,
|
|
96
|
+
summitId,
|
|
97
|
+
userProfile,
|
|
98
|
+
access_token,
|
|
99
|
+
apiBaseUrl,
|
|
100
|
+
dispatch
|
|
101
|
+
}) {
|
|
102
|
+
_defineProperty(this, "payTicket", ({
|
|
103
|
+
token
|
|
104
|
+
}) => async dispatch => {
|
|
105
|
+
var _this$userProfile, _this$userProfile2, _this$userProfile3, _this$userProfile4;
|
|
106
|
+
|
|
107
|
+
// Pay using affinity lawpay
|
|
108
|
+
let params = {
|
|
109
|
+
access_token: this.access_token,
|
|
110
|
+
expand: 'tickets,' + 'tickets.owner,' + 'tickets.owner.extra_questions,' + 'tickets.badge,' + 'tickets.badge.type,' + 'tickets.badge.type.access_levels,' + 'tickets.badge.type.features,' + 'tickets.ticket_type,' + 'tickets.ticket_type.taxes'
|
|
111
|
+
};
|
|
112
|
+
let normalizedEntity = {
|
|
113
|
+
billing_address_1: token.address1 || '',
|
|
114
|
+
billing_address_2: ((_this$userProfile = this.userProfile) === null || _this$userProfile === void 0 ? void 0 : _this$userProfile.address2) || '',
|
|
115
|
+
billing_address_zip_code: token.postal_code,
|
|
116
|
+
billing_address_city: ((_this$userProfile2 = this.userProfile) === null || _this$userProfile2 === void 0 ? void 0 : _this$userProfile2.locality) || '',
|
|
117
|
+
billing_address_state: ((_this$userProfile3 = this.userProfile) === null || _this$userProfile3 === void 0 ? void 0 : _this$userProfile3.region) || '',
|
|
118
|
+
billing_address_country: ((_this$userProfile4 = this.userProfile) === null || _this$userProfile4 === void 0 ? void 0 : _this$userProfile4.country) || '',
|
|
119
|
+
payment_method_id: token.id
|
|
120
|
+
};
|
|
121
|
+
this.dispatch(startWidgetLoading());
|
|
122
|
+
|
|
123
|
+
if (this.reservation.amount > 0) {
|
|
124
|
+
return (0,actions_namespaceObject.putRequest)(null, (0,actions_namespaceObject.createAction)(PAY_RESERVATION), `${this.apiBaseUrl}/api/v1/summits/${this.summitId}/orders/${this.reservation.hash}/checkout`, normalizedEntity, actions_namespaceObject.authErrorHandler // entity
|
|
125
|
+
)(params)(this.dispatch).then(payload => {
|
|
126
|
+
this.dispatch(stopWidgetLoading());
|
|
127
|
+
this.dispatch((0,actions_namespaceObject.createAction)(CLEAR_RESERVATION)({}));
|
|
128
|
+
this.dispatch(changeStep(3));
|
|
129
|
+
return payload;
|
|
130
|
+
}).catch(e => {
|
|
131
|
+
this.dispatch(removeReservedTicket());
|
|
132
|
+
this.dispatch(changeStep(1));
|
|
133
|
+
this.dispatch(stopWidgetLoading());
|
|
134
|
+
return e;
|
|
135
|
+
}); // The payment has succeeded. Display a success message.
|
|
136
|
+
} else {
|
|
137
|
+
// FREE TICKET
|
|
138
|
+
return (0,actions_namespaceObject.putRequest)(null, (0,actions_namespaceObject.createAction)(PAY_RESERVATION), `${this.apiBaseUrl}/api/v1/summits/${this.summitId}/orders/${this.reservation.hash}/checkout`, normalizedEntity, actions_namespaceObject.authErrorHandler // entity
|
|
139
|
+
)(params)(this.dispatch).then(payload => {
|
|
140
|
+
this.dispatch(stopWidgetLoading());
|
|
141
|
+
this.dispatch((0,actions_namespaceObject.createAction)(CLEAR_RESERVATION)({}));
|
|
142
|
+
this.dispatch(changeStep(3));
|
|
143
|
+
return payload;
|
|
144
|
+
}).catch(e => {
|
|
145
|
+
this.dispatch(removeReservedTicket());
|
|
146
|
+
this.dispatch(changeStep(1));
|
|
147
|
+
this.dispatch(stopWidgetLoading());
|
|
148
|
+
return e;
|
|
149
|
+
}); // The payment has succeeded. Display a success message.
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
this.reservation = reservation;
|
|
154
|
+
this.summitId = summitId;
|
|
155
|
+
this.userProfile = userProfile;
|
|
156
|
+
this.access_token = access_token;
|
|
157
|
+
this.apiBaseUrl = apiBaseUrl;
|
|
158
|
+
this.dispatch = dispatch;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
}
|
|
162
|
+
;// CONCATENATED MODULE: ./src/utils/payment-providers/stripe-provider.js
|
|
163
|
+
function stripe_provider_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
class StripeProvider {
|
|
170
|
+
constructor({
|
|
171
|
+
reservation,
|
|
172
|
+
summitId,
|
|
173
|
+
userProfile,
|
|
174
|
+
access_token,
|
|
175
|
+
apiBaseUrl,
|
|
176
|
+
dispatch: _dispatch
|
|
177
|
+
}) {
|
|
178
|
+
stripe_provider_defineProperty(this, "payTicket", ({
|
|
179
|
+
token = null,
|
|
180
|
+
stripe = null,
|
|
181
|
+
zipCode = null
|
|
182
|
+
}) => async dispatch => {
|
|
183
|
+
var _this$userProfile, _this$userProfile2, _this$userProfile3, _this$userProfile4, _this$userProfile5;
|
|
184
|
+
|
|
185
|
+
let params = {
|
|
186
|
+
access_token: this.access_token,
|
|
187
|
+
expand: 'tickets,' + 'tickets.owner,' + 'tickets.owner.extra_questions,' + 'tickets.badge,' + 'tickets.badge.type,' + 'tickets.badge.type.access_levels,' + 'tickets.badge.type.features,' + 'tickets.ticket_type,' + 'tickets.ticket_type.taxes'
|
|
188
|
+
};
|
|
189
|
+
let normalizedEntity = {
|
|
190
|
+
billing_address_1: ((_this$userProfile = this.userProfile) === null || _this$userProfile === void 0 ? void 0 : _this$userProfile.address1) || '',
|
|
191
|
+
billing_address_2: ((_this$userProfile2 = this.userProfile) === null || _this$userProfile2 === void 0 ? void 0 : _this$userProfile2.address2) || '',
|
|
192
|
+
billing_address_zip_code: zipCode,
|
|
193
|
+
billing_address_city: ((_this$userProfile3 = this.userProfile) === null || _this$userProfile3 === void 0 ? void 0 : _this$userProfile3.locality) || '',
|
|
194
|
+
billing_address_state: ((_this$userProfile4 = this.userProfile) === null || _this$userProfile4 === void 0 ? void 0 : _this$userProfile4.region) || '',
|
|
195
|
+
billing_address_country: ((_this$userProfile5 = this.userProfile) === null || _this$userProfile5 === void 0 ? void 0 : _this$userProfile5.country) || ''
|
|
196
|
+
};
|
|
197
|
+
dispatch(startWidgetLoading());
|
|
198
|
+
|
|
199
|
+
if (this.reservation.amount > 0) {
|
|
200
|
+
const {
|
|
201
|
+
id
|
|
202
|
+
} = token;
|
|
203
|
+
stripe.confirmCardPayment(this.reservation.payment_gateway_client_token, {
|
|
204
|
+
payment_method: {
|
|
205
|
+
card: {
|
|
206
|
+
token: id
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}).then(result => {
|
|
210
|
+
if (result.error) {
|
|
211
|
+
// Reserve error.message in your UI.
|
|
212
|
+
external_sweetalert2_default().fire(result.error.message, "Please retry purchase.", "warning");
|
|
213
|
+
this.dispatch(changeStep(1));
|
|
214
|
+
this.dispatch(removeReservedTicket());
|
|
215
|
+
this.dispatch(stopWidgetLoading());
|
|
216
|
+
} else {
|
|
217
|
+
return (0,actions_namespaceObject.putRequest)(null, (0,actions_namespaceObject.createAction)(PAY_RESERVATION), `${this.apiBaseUrl}/api/v1/summits/${this.summitId}/orders/${this.reservation.hash}/checkout`, normalizedEntity, actions_namespaceObject.authErrorHandler // entity
|
|
218
|
+
)(params)(this.dispatch).then(payload => {
|
|
219
|
+
this.dispatch(stopWidgetLoading());
|
|
220
|
+
this.dispatch((0,actions_namespaceObject.createAction)(CLEAR_RESERVATION)({}));
|
|
221
|
+
this.dispatch(changeStep(3));
|
|
222
|
+
return payload;
|
|
223
|
+
}).catch(e => {
|
|
224
|
+
this.dispatch(stopWidgetLoading());
|
|
225
|
+
return e;
|
|
226
|
+
}); // The payment has succeeded. Display a success message.
|
|
227
|
+
}
|
|
228
|
+
}).catch(e => {
|
|
229
|
+
this.dispatch(removeReservedTicket());
|
|
230
|
+
this.dispatch(changeStep(1));
|
|
231
|
+
this.dispatch(stopWidgetLoading());
|
|
232
|
+
return e;
|
|
233
|
+
});
|
|
234
|
+
} else {
|
|
235
|
+
// FREE TICKET
|
|
236
|
+
return (0,actions_namespaceObject.putRequest)(null, (0,actions_namespaceObject.createAction)(PAY_RESERVATION), `${this.apiBaseUrl}/api/v1/summits/${this.summitId}/orders/${this.reservation.hash}/checkout`, normalizedEntity, actions_namespaceObject.authErrorHandler // entity
|
|
237
|
+
)(params)(this.dispatch).then(payload => {
|
|
238
|
+
this.dispatch(stopWidgetLoading());
|
|
239
|
+
this.dispatch((0,actions_namespaceObject.createAction)(CLEAR_RESERVATION)({}));
|
|
240
|
+
this.dispatch(changeStep(3));
|
|
241
|
+
return payload;
|
|
242
|
+
}).catch(e => {
|
|
243
|
+
this.dispatch(removeReservedTicket());
|
|
244
|
+
this.dispatch(changeStep(1));
|
|
245
|
+
this.dispatch(stopWidgetLoading());
|
|
246
|
+
return e;
|
|
247
|
+
}); // The payment has succeeded. Display a success message.
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
this.reservation = reservation;
|
|
252
|
+
this.summitId = summitId;
|
|
253
|
+
this.userProfile = userProfile;
|
|
254
|
+
this.access_token = access_token;
|
|
255
|
+
this.apiBaseUrl = apiBaseUrl;
|
|
256
|
+
this.dispatch = _dispatch;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
}
|
|
260
|
+
;// CONCATENATED MODULE: ./src/utils/payment-providers/payment-provider-factory.js
|
|
88
261
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
89
262
|
|
|
90
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
263
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { payment_provider_factory_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
91
264
|
|
|
92
|
-
function
|
|
265
|
+
function payment_provider_factory_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
class PaymentProviderFactory {}
|
|
270
|
+
|
|
271
|
+
payment_provider_factory_defineProperty(PaymentProviderFactory, "build", (provider, params = {}) => {
|
|
272
|
+
let currentProvider = null;
|
|
273
|
+
|
|
274
|
+
switch (provider) {
|
|
275
|
+
case 'LawPay':
|
|
276
|
+
{
|
|
277
|
+
currentProvider = new LawPayProvider(_objectSpread({}, params));
|
|
278
|
+
break;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
case 'Stripe':
|
|
282
|
+
{
|
|
283
|
+
currentProvider = new StripeProvider(_objectSpread({}, params));
|
|
284
|
+
break;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
return currentProvider;
|
|
289
|
+
});
|
|
290
|
+
;// CONCATENATED MODULE: ./src/actions.js
|
|
291
|
+
function actions_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
292
|
+
|
|
293
|
+
function actions_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? actions_ownKeys(Object(source), !0).forEach(function (key) { actions_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : actions_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
294
|
+
|
|
295
|
+
function actions_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
93
296
|
|
|
94
297
|
/**
|
|
95
298
|
* Copyright 2020 OpenStack Foundation
|
|
@@ -106,6 +309,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
106
309
|
|
|
107
310
|
|
|
108
311
|
|
|
312
|
+
|
|
109
313
|
const START_WIDGET_LOADING = 'START_WIDGET_LOADING';
|
|
110
314
|
const STOP_WIDGET_LOADING = 'STOP_WIDGET_LOADING';
|
|
111
315
|
const LOAD_INITIAL_VARS = 'LOAD_INITIAL_VARS';
|
|
@@ -228,7 +432,7 @@ const reserveTicket = ({
|
|
|
228
432
|
dispatch(stopWidgetLoading());
|
|
229
433
|
payload.response.promo_code = promoCode || null;
|
|
230
434
|
|
|
231
|
-
if (!payload.response.
|
|
435
|
+
if (!payload.response.amount) {
|
|
232
436
|
dispatch(payTicket(null, null, getAccessToken));
|
|
233
437
|
return payload;
|
|
234
438
|
} else {
|
|
@@ -273,7 +477,7 @@ const removeReservedTicket = () => async (dispatch, getState, {
|
|
|
273
477
|
return e;
|
|
274
478
|
});
|
|
275
479
|
};
|
|
276
|
-
const
|
|
480
|
+
const payTicketWithProvider = (provider, params = {}) => async (dispatch, getState, {
|
|
277
481
|
apiBaseUrl,
|
|
278
482
|
getAccessToken
|
|
279
483
|
}) => {
|
|
@@ -287,70 +491,16 @@ const payTicket = (token = null, stripe = null, zipCode = null) => async (dispat
|
|
|
287
491
|
}
|
|
288
492
|
} = getState();
|
|
289
493
|
const access_token = await getAccessToken();
|
|
290
|
-
let params = {
|
|
291
|
-
access_token,
|
|
292
|
-
expand: 'tickets,' + 'tickets.owner,' + 'tickets.owner.extra_questions,' + 'tickets.badge,' + 'tickets.badge.type,' + 'tickets.badge.type.access_levels,' + 'tickets.badge.type.features,' + 'tickets.ticket_type,' + 'tickets.ticket_type.taxes'
|
|
293
|
-
};
|
|
294
|
-
let normalizedEntity = {
|
|
295
|
-
billing_address_1: (userProfile === null || userProfile === void 0 ? void 0 : userProfile.address1) || '',
|
|
296
|
-
billing_address_2: (userProfile === null || userProfile === void 0 ? void 0 : userProfile.address2) || '',
|
|
297
|
-
billing_address_zip_code: zipCode,
|
|
298
|
-
billing_address_city: (userProfile === null || userProfile === void 0 ? void 0 : userProfile.locality) || '',
|
|
299
|
-
billing_address_state: (userProfile === null || userProfile === void 0 ? void 0 : userProfile.region) || '',
|
|
300
|
-
billing_address_country: (userProfile === null || userProfile === void 0 ? void 0 : userProfile.country) || ''
|
|
301
|
-
};
|
|
302
494
|
dispatch(startWidgetLoading());
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
}).then(result => {
|
|
315
|
-
if (result.error) {
|
|
316
|
-
// Reserve error.message in your UI.
|
|
317
|
-
external_sweetalert2_default().fire(result.error.message, "Please retry purchase.", "warning");
|
|
318
|
-
dispatch(changeStep(1));
|
|
319
|
-
dispatch(removeReservedTicket());
|
|
320
|
-
dispatch(stopWidgetLoading());
|
|
321
|
-
} else {
|
|
322
|
-
return (0,actions_namespaceObject.putRequest)(null, (0,actions_namespaceObject.createAction)(PAY_RESERVATION), `${apiBaseUrl}/api/v1/summits/${summitId}/orders/${reservation.hash}/checkout`, normalizedEntity, actions_namespaceObject.authErrorHandler // entity
|
|
323
|
-
)(params)(dispatch).then(payload => {
|
|
324
|
-
dispatch(stopWidgetLoading());
|
|
325
|
-
dispatch((0,actions_namespaceObject.createAction)(CLEAR_RESERVATION)({}));
|
|
326
|
-
dispatch(changeStep(3));
|
|
327
|
-
return payload;
|
|
328
|
-
}).catch(e => {
|
|
329
|
-
dispatch(stopWidgetLoading());
|
|
330
|
-
return e;
|
|
331
|
-
}); // The payment has succeeded. Display a success message.
|
|
332
|
-
}
|
|
333
|
-
}).catch(e => {
|
|
334
|
-
dispatch(removeReservedTicket());
|
|
335
|
-
dispatch(changeStep(1));
|
|
336
|
-
dispatch(stopWidgetLoading());
|
|
337
|
-
return e;
|
|
338
|
-
});
|
|
339
|
-
} else {
|
|
340
|
-
// FREE TICKET
|
|
341
|
-
return (0,actions_namespaceObject.putRequest)(null, (0,actions_namespaceObject.createAction)(PAY_RESERVATION), `${apiBaseUrl}/api/v1/summits/${summitId}/orders/${reservation.hash}/checkout`, normalizedEntity, actions_namespaceObject.authErrorHandler // entity
|
|
342
|
-
)(params)(dispatch).then(payload => {
|
|
343
|
-
dispatch(stopWidgetLoading());
|
|
344
|
-
dispatch((0,actions_namespaceObject.createAction)(CLEAR_RESERVATION)({}));
|
|
345
|
-
dispatch(changeStep(3));
|
|
346
|
-
return payload;
|
|
347
|
-
}).catch(e => {
|
|
348
|
-
dispatch(removeReservedTicket());
|
|
349
|
-
dispatch(changeStep(1));
|
|
350
|
-
dispatch(stopWidgetLoading());
|
|
351
|
-
return e;
|
|
352
|
-
}); // The payment has succeeded. Display a success message.
|
|
353
|
-
}
|
|
495
|
+
const currentProvider = PaymentProviderFactory.build(provider, {
|
|
496
|
+
reservation,
|
|
497
|
+
summitId,
|
|
498
|
+
userProfile,
|
|
499
|
+
access_token,
|
|
500
|
+
apiBaseUrl,
|
|
501
|
+
dispatch
|
|
502
|
+
});
|
|
503
|
+
return dispatch(currentProvider.payTicket(actions_objectSpread({}, params)));
|
|
354
504
|
};
|
|
355
505
|
const changeStep = step => (dispatch, getState) => {
|
|
356
506
|
dispatch(startWidgetLoading());
|
|
@@ -404,7 +554,7 @@ const isInPersonTicketType = ticketType => {
|
|
|
404
554
|
};
|
|
405
555
|
|
|
406
556
|
const normalizeReservation = entity => {
|
|
407
|
-
const normalizedEntity =
|
|
557
|
+
const normalizedEntity = actions_objectSpread({}, entity);
|
|
408
558
|
|
|
409
559
|
if (!entity.owner_company.id) {
|
|
410
560
|
normalizedEntity['owner_company'] = entity.owner_company.name;
|
|
@@ -658,11 +808,9 @@ const external_react_use_namespaceObject = require("react-use");
|
|
|
658
808
|
;// CONCATENATED MODULE: external "openstack-uicore-foundation/lib/components/ajaxloader"
|
|
659
809
|
const ajaxloader_namespaceObject = require("openstack-uicore-foundation/lib/components/ajaxloader");
|
|
660
810
|
var ajaxloader_default = /*#__PURE__*/__webpack_require__.n(ajaxloader_namespaceObject);
|
|
661
|
-
;// CONCATENATED MODULE: external "@stripe/stripe-js"
|
|
662
|
-
const stripe_js_namespaceObject = require("@stripe/stripe-js");
|
|
663
811
|
;// CONCATENATED MODULE: ./src/styles/general.module.scss
|
|
664
812
|
// extracted by mini-css-extract-plugin
|
|
665
|
-
/* harmony default export */ const general_module = ({"outerWrapper":"outerWrapper___OWXyi","innerWrapper":"innerWrapper___mIrBF","title":"title___Tbvkl"});
|
|
813
|
+
/* harmony default export */ const general_module = ({"modal":"modal___G3Cmq","outerWrapper":"outerWrapper___OWXyi","innerWrapper":"innerWrapper___mIrBF","title":"title___Tbvkl"});
|
|
666
814
|
;// CONCATENATED MODULE: ./src/components/login/index.module.scss
|
|
667
815
|
// extracted by mini-css-extract-plugin
|
|
668
816
|
/* harmony default export */ const index_module = ({"loginWrapper":"loginWrapper___sxUEn","innerWrapper":"innerWrapper___GQRkq","button":"button___QMZPu","loginCode":"loginCode___dDBup","input":"input___QR9sA"});
|
|
@@ -773,11 +921,287 @@ const LoginComponent = ({
|
|
|
773
921
|
/* harmony default export */ const login = (LoginComponent);
|
|
774
922
|
;// CONCATENATED MODULE: external "prop-types"
|
|
775
923
|
const external_prop_types_namespaceObject = require("prop-types");
|
|
776
|
-
;// CONCATENATED MODULE: external "@stripe/react-stripe-js"
|
|
777
|
-
const react_stripe_js_namespaceObject = require("@stripe/react-stripe-js");
|
|
778
924
|
;// CONCATENATED MODULE: ./src/components/payment/index.module.scss
|
|
779
925
|
// extracted by mini-css-extract-plugin
|
|
780
926
|
/* harmony default export */ const payment_index_module = ({"title":"title___LksVm","form":"form___v5GIx","fieldWrapper":"fieldWrapper___Eoe61"});
|
|
927
|
+
;// CONCATENATED MODULE: external "openstack-uicore-foundation/lib/components"
|
|
928
|
+
const components_namespaceObject = require("openstack-uicore-foundation/lib/components");
|
|
929
|
+
;// CONCATENATED MODULE: external "openstack-uicore-foundation/lib/utils/methods"
|
|
930
|
+
const methods_namespaceObject = require("openstack-uicore-foundation/lib/utils/methods");
|
|
931
|
+
;// CONCATENATED MODULE: ./src/components/lawpay-form/index.module.scss
|
|
932
|
+
// extracted by mini-css-extract-plugin
|
|
933
|
+
/* harmony default export */ const lawpay_form_index_module = ({"form":"form___zXb7s","fieldWrapper":"fieldWrapper___G4Wqw","inputWrapper":"inputWrapper___Yz5zB","fieldRow":"fieldRow___NfZdJ","lawpayWrapper":"lawpayWrapper___hpUBf","dateWrapper":"dateWrapper___XDfqs","dropdown":"dropdown___l3_bk","fieldError":"fieldError___Igq3U"});
|
|
934
|
+
;// CONCATENATED MODULE: ./src/components/lawpay-form/index.js
|
|
935
|
+
function lawpay_form_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
936
|
+
|
|
937
|
+
function lawpay_form_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? lawpay_form_ownKeys(Object(source), !0).forEach(function (key) { lawpay_form_defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : lawpay_form_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
938
|
+
|
|
939
|
+
function lawpay_form_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
940
|
+
|
|
941
|
+
/**
|
|
942
|
+
* Copyright 2020 OpenStack Foundation
|
|
943
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
944
|
+
* you may not use this file except in compliance with the License.
|
|
945
|
+
* You may obtain a copy of the License at
|
|
946
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
947
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
948
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
949
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
950
|
+
* See the License for the specific language governing permissions and
|
|
951
|
+
* limitations under the License.
|
|
952
|
+
**/
|
|
953
|
+
|
|
954
|
+
|
|
955
|
+
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
|
|
960
|
+
const LawPayForm = ({
|
|
961
|
+
reservation,
|
|
962
|
+
payTicket,
|
|
963
|
+
userProfile,
|
|
964
|
+
marketingData,
|
|
965
|
+
providerKey,
|
|
966
|
+
provider,
|
|
967
|
+
timestamp
|
|
968
|
+
}) => {
|
|
969
|
+
const [hostedFields, setHostedFields] = (0,external_react_namespaceObject.useState)(null);
|
|
970
|
+
const [lawPayFields, setLawPayFields] = (0,external_react_namespaceObject.useState)({
|
|
971
|
+
exp_month: '',
|
|
972
|
+
exp_year: '',
|
|
973
|
+
postal_code: userProfile.postal_code || '',
|
|
974
|
+
address1: userProfile.address1 || ''
|
|
975
|
+
});
|
|
976
|
+
const [lawPayErrors, setLawPayErrors] = (0,external_react_namespaceObject.useState)({
|
|
977
|
+
exp_month: '',
|
|
978
|
+
exp_year: '',
|
|
979
|
+
postal_code: '',
|
|
980
|
+
credit_card_number: '',
|
|
981
|
+
cvv: '',
|
|
982
|
+
address1: ''
|
|
983
|
+
});
|
|
984
|
+
const style = {
|
|
985
|
+
color: marketingData.color_text_dark,
|
|
986
|
+
fontSize: '16px',
|
|
987
|
+
fontFamily: 'inherit',
|
|
988
|
+
backgroundColor: '#ffffff',
|
|
989
|
+
'::placeholder': {
|
|
990
|
+
color: marketingData.color_text_input_hints
|
|
991
|
+
}
|
|
992
|
+
};
|
|
993
|
+
const hostedFieldsConfiguration = {
|
|
994
|
+
publicKey: `${providerKey}`,
|
|
995
|
+
fields: [{
|
|
996
|
+
selector: "#my_credit_card_field_id",
|
|
997
|
+
input: {
|
|
998
|
+
type: "credit_card_number",
|
|
999
|
+
placeholder: "Credit Card Number",
|
|
1000
|
+
css: style
|
|
1001
|
+
}
|
|
1002
|
+
}, {
|
|
1003
|
+
selector: "#my_cvv_field_id",
|
|
1004
|
+
input: {
|
|
1005
|
+
type: "cvv",
|
|
1006
|
+
placeholder: "CCV",
|
|
1007
|
+
css: style
|
|
1008
|
+
}
|
|
1009
|
+
}]
|
|
1010
|
+
};
|
|
1011
|
+
|
|
1012
|
+
const hostedFieldsCallBack = state => {
|
|
1013
|
+
let fieldErrors = {};
|
|
1014
|
+
state.fields.map(f => {
|
|
1015
|
+
fieldErrors = lawpay_form_objectSpread(lawpay_form_objectSpread({}, fieldErrors), {}, {
|
|
1016
|
+
[f.type]: f.error
|
|
1017
|
+
});
|
|
1018
|
+
});
|
|
1019
|
+
setLawPayErrors(lawpay_form_objectSpread(lawpay_form_objectSpread({}, lawPayErrors), fieldErrors));
|
|
1020
|
+
};
|
|
1021
|
+
|
|
1022
|
+
(0,external_react_namespaceObject.useEffect)(() => {
|
|
1023
|
+
if (window.AffiniPay && hostedFields === null) {
|
|
1024
|
+
setHostedFields(window.AffiniPay.HostedFields.initializeFields(hostedFieldsConfiguration, hostedFieldsCallBack));
|
|
1025
|
+
}
|
|
1026
|
+
}, [reservation]);
|
|
1027
|
+
|
|
1028
|
+
const onExpireChange = ev => {
|
|
1029
|
+
setLawPayFields(lawpay_form_objectSpread(lawpay_form_objectSpread({}, lawPayFields), {}, {
|
|
1030
|
+
[ev.target.id]: ev.target.value
|
|
1031
|
+
}));
|
|
1032
|
+
};
|
|
1033
|
+
|
|
1034
|
+
const formHasErrors = () => {
|
|
1035
|
+
let errors = {};
|
|
1036
|
+
Object.keys(lawPayFields).map(key => {
|
|
1037
|
+
if (!lawPayFields[key]) {
|
|
1038
|
+
errors = lawpay_form_objectSpread(lawpay_form_objectSpread({}, errors), {}, {
|
|
1039
|
+
[key]: 'This field is required.'
|
|
1040
|
+
});
|
|
1041
|
+
}
|
|
1042
|
+
});
|
|
1043
|
+
setLawPayErrors(lawpay_form_objectSpread(lawpay_form_objectSpread({}, lawPayErrors), errors));
|
|
1044
|
+
return Object.keys(errors).length > 0;
|
|
1045
|
+
};
|
|
1046
|
+
|
|
1047
|
+
const onSubmit = async event => {
|
|
1048
|
+
event.preventDefault();
|
|
1049
|
+
|
|
1050
|
+
if (!hostedFields) {
|
|
1051
|
+
// Affinity Pay has not loaded yet. Make sure to disable
|
|
1052
|
+
// form submission until Affinity Pay has loaded.
|
|
1053
|
+
return;
|
|
1054
|
+
}
|
|
1055
|
+
|
|
1056
|
+
if (!formHasErrors()) {
|
|
1057
|
+
try {
|
|
1058
|
+
const token = await hostedFields.getPaymentToken({
|
|
1059
|
+
"postal_code": lawPayFields.postal_code,
|
|
1060
|
+
"address1": lawPayFields.address1,
|
|
1061
|
+
"exp_year": lawPayFields.exp_year,
|
|
1062
|
+
"exp_month": lawPayFields.exp_month
|
|
1063
|
+
});
|
|
1064
|
+
payTicket(provider, {
|
|
1065
|
+
token
|
|
1066
|
+
});
|
|
1067
|
+
} catch (error) {
|
|
1068
|
+
external_sweetalert2_default().fire("Payment error", error.message, "warning");
|
|
1069
|
+
}
|
|
1070
|
+
}
|
|
1071
|
+
};
|
|
1072
|
+
|
|
1073
|
+
const ddl_month = [{
|
|
1074
|
+
label: '1 - January',
|
|
1075
|
+
value: '01'
|
|
1076
|
+
}, {
|
|
1077
|
+
label: '2 - February',
|
|
1078
|
+
value: '02'
|
|
1079
|
+
}, {
|
|
1080
|
+
label: '3 - March',
|
|
1081
|
+
value: '03'
|
|
1082
|
+
}, {
|
|
1083
|
+
label: '4 - April',
|
|
1084
|
+
value: '04'
|
|
1085
|
+
}, {
|
|
1086
|
+
label: '5 - May',
|
|
1087
|
+
value: '05'
|
|
1088
|
+
}, {
|
|
1089
|
+
label: '6 - June',
|
|
1090
|
+
value: '06'
|
|
1091
|
+
}, {
|
|
1092
|
+
label: '7 - July',
|
|
1093
|
+
value: '07'
|
|
1094
|
+
}, {
|
|
1095
|
+
label: '8 - August',
|
|
1096
|
+
value: '08'
|
|
1097
|
+
}, {
|
|
1098
|
+
label: '9 - September',
|
|
1099
|
+
value: '09'
|
|
1100
|
+
}, {
|
|
1101
|
+
label: '10 - October',
|
|
1102
|
+
value: '10'
|
|
1103
|
+
}, {
|
|
1104
|
+
label: '11 - November',
|
|
1105
|
+
value: '11'
|
|
1106
|
+
}, {
|
|
1107
|
+
label: '12 - December',
|
|
1108
|
+
value: '12'
|
|
1109
|
+
}];
|
|
1110
|
+
const current_year = (0,methods_namespaceObject.epochToMomentTimeZone)(timestamp, 'utc').year();
|
|
1111
|
+
const year_ddl = Array.from({
|
|
1112
|
+
length: 15
|
|
1113
|
+
}, (_, i) => {
|
|
1114
|
+
return {
|
|
1115
|
+
label: `${current_year + i}`,
|
|
1116
|
+
value: `${current_year + i}`
|
|
1117
|
+
};
|
|
1118
|
+
});
|
|
1119
|
+
return /*#__PURE__*/external_react_default().createElement("form", {
|
|
1120
|
+
className: lawpay_form_index_module.form,
|
|
1121
|
+
id: "payment-form",
|
|
1122
|
+
onSubmit: onSubmit
|
|
1123
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
1124
|
+
className: lawpay_form_index_module.fieldWrapper
|
|
1125
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
1126
|
+
className: lawpay_form_index_module.inputWrapper
|
|
1127
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
1128
|
+
id: "my_credit_card_field_id",
|
|
1129
|
+
className: lawpay_form_index_module.lawpayWrapper
|
|
1130
|
+
}), /*#__PURE__*/external_react_default().createElement("i", {
|
|
1131
|
+
className: "fa fa-credit-card"
|
|
1132
|
+
})), lawPayErrors.credit_card_number && /*#__PURE__*/external_react_default().createElement("div", {
|
|
1133
|
+
className: lawpay_form_index_module.fieldError
|
|
1134
|
+
}, lawPayErrors.credit_card_number)), /*#__PURE__*/external_react_default().createElement("div", {
|
|
1135
|
+
className: lawpay_form_index_module.fieldWrapper
|
|
1136
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
1137
|
+
className: lawpay_form_index_module.dateWrapper
|
|
1138
|
+
}, /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement(components_namespaceObject.Dropdown, {
|
|
1139
|
+
className: lawpay_form_index_module.dropdown,
|
|
1140
|
+
placeholder: "Month",
|
|
1141
|
+
onChange: onExpireChange,
|
|
1142
|
+
id: "exp_month",
|
|
1143
|
+
options: ddl_month
|
|
1144
|
+
}), lawPayErrors.exp_month && /*#__PURE__*/external_react_default().createElement("div", {
|
|
1145
|
+
className: lawpay_form_index_module.fieldError
|
|
1146
|
+
}, lawPayErrors.exp_month)), /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement(components_namespaceObject.Dropdown, {
|
|
1147
|
+
className: lawpay_form_index_module.dropdown,
|
|
1148
|
+
placeholder: "Year",
|
|
1149
|
+
onChange: onExpireChange,
|
|
1150
|
+
id: "exp_year",
|
|
1151
|
+
options: year_ddl
|
|
1152
|
+
}), lawPayErrors.exp_year && /*#__PURE__*/external_react_default().createElement("div", {
|
|
1153
|
+
className: lawpay_form_index_module.fieldError
|
|
1154
|
+
}, lawPayErrors.exp_year)))), /*#__PURE__*/external_react_default().createElement("div", {
|
|
1155
|
+
className: lawpay_form_index_module.fieldWrapper
|
|
1156
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
1157
|
+
className: lawpay_form_index_module.fieldRow
|
|
1158
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
1159
|
+
className: lawpay_form_index_module.inputWrapper
|
|
1160
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
1161
|
+
id: "my_cvv_field_id",
|
|
1162
|
+
className: lawpay_form_index_module.lawpayWrapper
|
|
1163
|
+
})), /*#__PURE__*/external_react_default().createElement("div", {
|
|
1164
|
+
className: lawpay_form_index_module.inputWrapper
|
|
1165
|
+
}, /*#__PURE__*/external_react_default().createElement("input", {
|
|
1166
|
+
type: "text",
|
|
1167
|
+
name: "postal_code",
|
|
1168
|
+
placeholder: "ZIP Code *",
|
|
1169
|
+
onChange: e => setLawPayFields(lawpay_form_objectSpread(lawpay_form_objectSpread({}, lawPayFields), {}, {
|
|
1170
|
+
postal_code: e.target.value
|
|
1171
|
+
}))
|
|
1172
|
+
}))), /*#__PURE__*/external_react_default().createElement("div", {
|
|
1173
|
+
className: lawpay_form_index_module.fieldRow
|
|
1174
|
+
}, lawPayErrors.cvv && /*#__PURE__*/external_react_default().createElement("div", {
|
|
1175
|
+
className: lawpay_form_index_module.fieldError
|
|
1176
|
+
}, lawPayErrors.cvv), lawPayErrors.postal_code && /*#__PURE__*/external_react_default().createElement("div", {
|
|
1177
|
+
className: lawpay_form_index_module.fieldError
|
|
1178
|
+
}, lawPayErrors.postal_code))), /*#__PURE__*/external_react_default().createElement("div", {
|
|
1179
|
+
className: lawpay_form_index_module.fieldWrapper
|
|
1180
|
+
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
1181
|
+
className: lawpay_form_index_module.inputWrapper
|
|
1182
|
+
}, /*#__PURE__*/external_react_default().createElement("input", {
|
|
1183
|
+
type: "text",
|
|
1184
|
+
name: "address1",
|
|
1185
|
+
placeholder: "Address *",
|
|
1186
|
+
onChange: e => setLawPayFields(lawpay_form_objectSpread(lawpay_form_objectSpread({}, lawPayFields), {}, {
|
|
1187
|
+
address1: e.target.value
|
|
1188
|
+
}))
|
|
1189
|
+
})), lawPayErrors.address1 && /*#__PURE__*/external_react_default().createElement("div", {
|
|
1190
|
+
className: lawpay_form_index_module.fieldError
|
|
1191
|
+
}, lawPayErrors.address1)));
|
|
1192
|
+
};
|
|
1193
|
+
|
|
1194
|
+
const mapStateToProps = ({
|
|
1195
|
+
registrationLiteState
|
|
1196
|
+
}) => ({
|
|
1197
|
+
marketingData: registrationLiteState.settings.marketingData
|
|
1198
|
+
});
|
|
1199
|
+
|
|
1200
|
+
/* harmony default export */ const lawpay_form = ((0,external_react_redux_namespaceObject.connect)(mapStateToProps, null)(LawPayForm));
|
|
1201
|
+
;// CONCATENATED MODULE: external "@stripe/stripe-js"
|
|
1202
|
+
const stripe_js_namespaceObject = require("@stripe/stripe-js");
|
|
1203
|
+
;// CONCATENATED MODULE: external "@stripe/react-stripe-js"
|
|
1204
|
+
const react_stripe_js_namespaceObject = require("@stripe/react-stripe-js");
|
|
781
1205
|
;// CONCATENATED MODULE: external "react-hook-form"
|
|
782
1206
|
const external_react_hook_form_namespaceObject = require("react-hook-form");
|
|
783
1207
|
;// CONCATENATED MODULE: external "lodash/merge"
|
|
@@ -852,7 +1276,8 @@ const StripeForm = ({
|
|
|
852
1276
|
payTicket,
|
|
853
1277
|
userProfile,
|
|
854
1278
|
marketingData,
|
|
855
|
-
stripeOptions
|
|
1279
|
+
stripeOptions,
|
|
1280
|
+
provider
|
|
856
1281
|
}) => {
|
|
857
1282
|
const stripe = (0,react_stripe_js_namespaceObject.useStripe)();
|
|
858
1283
|
const elements = (0,react_stripe_js_namespaceObject.useElements)();
|
|
@@ -903,7 +1328,11 @@ const StripeForm = ({
|
|
|
903
1328
|
});
|
|
904
1329
|
|
|
905
1330
|
if (token) {
|
|
906
|
-
payTicket(
|
|
1331
|
+
payTicket(provider, {
|
|
1332
|
+
token,
|
|
1333
|
+
stripe,
|
|
1334
|
+
zipCode: data.zipCode
|
|
1335
|
+
});
|
|
907
1336
|
} else if (error) {
|
|
908
1337
|
if (stripeErrorCodeMap[error.code]) {
|
|
909
1338
|
setStripeErrors({
|
|
@@ -969,13 +1398,59 @@ const StripeForm = ({
|
|
|
969
1398
|
}, "This field is required.")));
|
|
970
1399
|
};
|
|
971
1400
|
|
|
972
|
-
const
|
|
1401
|
+
const stripe_form_mapStateToProps = ({
|
|
973
1402
|
registrationLiteState
|
|
974
1403
|
}) => ({
|
|
975
1404
|
marketingData: registrationLiteState.settings.marketingData
|
|
976
1405
|
});
|
|
977
1406
|
|
|
978
|
-
/* harmony default export */ const stripe_form = ((0,external_react_redux_namespaceObject.connect)(
|
|
1407
|
+
/* harmony default export */ const stripe_form = ((0,external_react_redux_namespaceObject.connect)(stripe_form_mapStateToProps, null)(StripeForm));
|
|
1408
|
+
;// CONCATENATED MODULE: ./src/components/stripe-component/index.js
|
|
1409
|
+
/**
|
|
1410
|
+
* Copyright 2020 OpenStack Foundation
|
|
1411
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1412
|
+
* you may not use this file except in compliance with the License.
|
|
1413
|
+
* You may obtain a copy of the License at
|
|
1414
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1415
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1416
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1417
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1418
|
+
* See the License for the specific language governing permissions and
|
|
1419
|
+
* limitations under the License.
|
|
1420
|
+
**/
|
|
1421
|
+
|
|
1422
|
+
|
|
1423
|
+
|
|
1424
|
+
|
|
1425
|
+
|
|
1426
|
+
|
|
1427
|
+
const stripe_component_StripeProvider = ({
|
|
1428
|
+
userProfile,
|
|
1429
|
+
reservation,
|
|
1430
|
+
payTicket,
|
|
1431
|
+
providerKey,
|
|
1432
|
+
provider,
|
|
1433
|
+
stripeOptions
|
|
1434
|
+
}) => {
|
|
1435
|
+
const stripePromise = (0,external_react_namespaceObject.useMemo)(() => (0,stripe_js_namespaceObject.loadStripe)(providerKey), [providerKey]);
|
|
1436
|
+
const options = {
|
|
1437
|
+
fonts: stripeOptions === null || stripeOptions === void 0 ? void 0 : stripeOptions.fonts
|
|
1438
|
+
};
|
|
1439
|
+
return /*#__PURE__*/external_react_default().createElement(react_stripe_js_namespaceObject.Elements, {
|
|
1440
|
+
options: options,
|
|
1441
|
+
stripe: stripePromise
|
|
1442
|
+
}, /*#__PURE__*/external_react_default().createElement(stripe_form, {
|
|
1443
|
+
reservation: reservation,
|
|
1444
|
+
payTicket: payTicket,
|
|
1445
|
+
userProfile: userProfile,
|
|
1446
|
+
stripeOptions: stripeOptions,
|
|
1447
|
+
provider: provider
|
|
1448
|
+
}));
|
|
1449
|
+
};
|
|
1450
|
+
|
|
1451
|
+
/* harmony default export */ const stripe_component = (stripe_component_StripeProvider);
|
|
1452
|
+
;// CONCATENATED MODULE: external "react-helmet"
|
|
1453
|
+
const external_react_helmet_namespaceObject = require("react-helmet");
|
|
979
1454
|
;// CONCATENATED MODULE: ./src/components/payment/index.js
|
|
980
1455
|
function payment_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
981
1456
|
|
|
@@ -1003,13 +1478,16 @@ function payment_defineProperty(obj, key, value) { if (key in obj) { Object.defi
|
|
|
1003
1478
|
|
|
1004
1479
|
|
|
1005
1480
|
|
|
1481
|
+
|
|
1006
1482
|
const PaymentComponent = ({
|
|
1007
1483
|
isActive,
|
|
1008
1484
|
userProfile,
|
|
1009
1485
|
reservation,
|
|
1010
1486
|
payTicket,
|
|
1011
|
-
|
|
1012
|
-
|
|
1487
|
+
providerKey,
|
|
1488
|
+
provider,
|
|
1489
|
+
stripeOptions,
|
|
1490
|
+
timestamp
|
|
1013
1491
|
}) => {
|
|
1014
1492
|
const [ref, {
|
|
1015
1493
|
height
|
|
@@ -1028,9 +1506,6 @@ const PaymentComponent = ({
|
|
|
1028
1506
|
marginBottom: isActive ? 5 : 0
|
|
1029
1507
|
}
|
|
1030
1508
|
});
|
|
1031
|
-
const options = {
|
|
1032
|
-
fonts: stripeOptions === null || stripeOptions === void 0 ? void 0 : stripeOptions.fonts
|
|
1033
|
-
};
|
|
1034
1509
|
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
1035
1510
|
className: `${payment_index_module.outerWrapper} step-wrapper`
|
|
1036
1511
|
}, /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("div", {
|
|
@@ -1039,24 +1514,30 @@ const PaymentComponent = ({
|
|
|
1039
1514
|
className: payment_index_module.title
|
|
1040
1515
|
}, /*#__PURE__*/external_react_default().createElement("span", null, "Payment")), /*#__PURE__*/external_react_default().createElement(external_react_spring_namespaceObject.animated.div, {
|
|
1041
1516
|
style: payment_objectSpread({
|
|
1042
|
-
overflow: 'hidden'
|
|
1517
|
+
overflow: `${isActive ? '' : 'hidden'}`
|
|
1043
1518
|
}, toggleAnimation)
|
|
1044
1519
|
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
1045
1520
|
ref: ref
|
|
1046
|
-
}, /*#__PURE__*/external_react_default().createElement(
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
}, /*#__PURE__*/external_react_default().createElement(stripe_form, {
|
|
1521
|
+
}, provider === 'Stripe' && /*#__PURE__*/external_react_default().createElement(stripe_component, {
|
|
1522
|
+
provider: provider,
|
|
1523
|
+
providerKey: providerKey,
|
|
1050
1524
|
reservation: reservation,
|
|
1051
1525
|
payTicket: payTicket,
|
|
1052
1526
|
userProfile: userProfile,
|
|
1053
1527
|
stripeOptions: stripeOptions
|
|
1528
|
+
}), provider === 'LawPay' && /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement(external_react_helmet_namespaceObject.Helmet, null, /*#__PURE__*/external_react_default().createElement("script", {
|
|
1529
|
+
src: "https://cdn.affinipay.com/hostedfields/1.1.1/fieldGen_1.1.1.js"
|
|
1530
|
+
})), /*#__PURE__*/external_react_default().createElement(lawpay_form, {
|
|
1531
|
+
provider: provider,
|
|
1532
|
+
reservation: reservation,
|
|
1533
|
+
payTicket: payTicket,
|
|
1534
|
+
userProfile: userProfile,
|
|
1535
|
+
providerKey: providerKey,
|
|
1536
|
+
timestamp: timestamp
|
|
1054
1537
|
})))))));
|
|
1055
1538
|
};
|
|
1056
1539
|
|
|
1057
1540
|
/* harmony default export */ const payment = (PaymentComponent);
|
|
1058
|
-
;// CONCATENATED MODULE: external "openstack-uicore-foundation/lib/components"
|
|
1059
|
-
const components_namespaceObject = require("openstack-uicore-foundation/lib/components");
|
|
1060
1541
|
;// CONCATENATED MODULE: external "react-tooltip"
|
|
1061
1542
|
const external_react_tooltip_namespaceObject = require("react-tooltip");
|
|
1062
1543
|
var external_react_tooltip_default = /*#__PURE__*/__webpack_require__.n(external_react_tooltip_namespaceObject);
|
|
@@ -1634,8 +2115,6 @@ const ButtonBarComponent = ({
|
|
|
1634
2115
|
;// CONCATENATED MODULE: ./src/components/purchase-complete/index.module.scss
|
|
1635
2116
|
// extracted by mini-css-extract-plugin
|
|
1636
2117
|
/* harmony default export */ const purchase_complete_index_module = ({"button":"button___XMN8a","wrapper":"wrapper___Jd5Xg","circle":"circle___lcN86","complete":"complete___HAHzl","actions":"actions___jJdPX","footer":"footer___FL9TW"});
|
|
1637
|
-
;// CONCATENATED MODULE: external "openstack-uicore-foundation/lib/utils/methods"
|
|
1638
|
-
const methods_namespaceObject = require("openstack-uicore-foundation/lib/utils/methods");
|
|
1639
2118
|
;// CONCATENATED MODULE: ./src/components/purchase-complete/index.js
|
|
1640
2119
|
/**
|
|
1641
2120
|
* Copyright 2020 OpenStack Foundation
|
|
@@ -1835,7 +2314,7 @@ const TicketOwnedComponent = ({
|
|
|
1835
2314
|
|
|
1836
2315
|
/* harmony default export */ const ticket_owned = (TicketOwnedComponent);
|
|
1837
2316
|
;// CONCATENATED MODULE: ./src/components/registration-lite.js
|
|
1838
|
-
const registration_lite_excluded = ["loadSession", "setMarketingSettings", "changeStep", "removeReservedTicket", "reserveTicket", "
|
|
2317
|
+
const registration_lite_excluded = ["loadSession", "setMarketingSettings", "changeStep", "removeReservedTicket", "reserveTicket", "payTicketWithProvider", "onPurchaseComplete", "getTicketTypes", "getTaxesTypes", "getLoginCode", "passwordlessLogin", "goToLogin", "loginOptions", "allowsNativeAuth", "allowsOtpAuth", "reservation", "checkout", "ticketTypes", "taxTypes", "step", "passwordlessCodeSent", "passwordlessEmail", "passwordlessCode", "getPasswordlessCode", "passwordlessCodeError", "loginWithCode", "goToExtraQuestions", "goToEvent", "goToRegistration", "profileData", "summitData", "supportEmail", "ticketOwned", "ownedTickets", "widgetLoading", "loading", "inPersonDisclaimer", "userProfile", "handleCompanyError", "stripeOptions"];
|
|
1839
2318
|
|
|
1840
2319
|
function registration_lite_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1841
2320
|
|
|
@@ -1876,7 +2355,6 @@ function registration_lite_objectWithoutPropertiesLoose(source, excluded) { if (
|
|
|
1876
2355
|
|
|
1877
2356
|
|
|
1878
2357
|
|
|
1879
|
-
|
|
1880
2358
|
const RegistrationLite = _ref => {
|
|
1881
2359
|
var _formValues$ticketTyp, _formValues$ticketTyp2;
|
|
1882
2360
|
|
|
@@ -1886,7 +2364,7 @@ const RegistrationLite = _ref => {
|
|
|
1886
2364
|
changeStep,
|
|
1887
2365
|
removeReservedTicket,
|
|
1888
2366
|
reserveTicket,
|
|
1889
|
-
|
|
2367
|
+
payTicketWithProvider,
|
|
1890
2368
|
onPurchaseComplete,
|
|
1891
2369
|
getTicketTypes,
|
|
1892
2370
|
getTaxesTypes,
|
|
@@ -1947,15 +2425,16 @@ const RegistrationLite = _ref => {
|
|
|
1947
2425
|
}));
|
|
1948
2426
|
|
|
1949
2427
|
let publicKey = null;
|
|
2428
|
+
let provider = '';
|
|
1950
2429
|
|
|
1951
2430
|
for (let profile of summitData.payment_profiles) {
|
|
1952
2431
|
if (profile.application_type === 'Registration') {
|
|
1953
2432
|
publicKey = profile.test_mode_enabled ? profile.test_publishable_key : profile.live_publishable_key;
|
|
2433
|
+
provider = profile.provider;
|
|
1954
2434
|
break;
|
|
1955
2435
|
}
|
|
1956
2436
|
}
|
|
1957
2437
|
|
|
1958
|
-
const stripePromise = (0,external_react_namespaceObject.useMemo)(() => (0,stripe_js_namespaceObject.loadStripe)(publicKey), [publicKey]);
|
|
1959
2438
|
(0,external_react_namespaceObject.useEffect)(() => {
|
|
1960
2439
|
loadSession(registration_lite_objectSpread(registration_lite_objectSpread({}, rest), {}, {
|
|
1961
2440
|
summitData,
|
|
@@ -2010,12 +2489,12 @@ const RegistrationLite = _ref => {
|
|
|
2010
2489
|
};
|
|
2011
2490
|
|
|
2012
2491
|
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
2013
|
-
id:
|
|
2492
|
+
id: `${general_module.modal}`,
|
|
2014
2493
|
className: "modal is-active"
|
|
2015
2494
|
}, /*#__PURE__*/external_react_default().createElement("div", {
|
|
2016
2495
|
className: "modal-background"
|
|
2017
2496
|
}), /*#__PURE__*/external_react_default().createElement("div", {
|
|
2018
|
-
className:
|
|
2497
|
+
className: `${general_module.modal} modal-content`
|
|
2019
2498
|
}, /*#__PURE__*/external_react_default().createElement((ajaxloader_default()), {
|
|
2020
2499
|
relative: true,
|
|
2021
2500
|
color: '#ffffff',
|
|
@@ -2077,9 +2556,11 @@ const RegistrationLite = _ref => {
|
|
|
2077
2556
|
}, /*#__PURE__*/external_react_default().createElement(payment, {
|
|
2078
2557
|
isActive: step === 2,
|
|
2079
2558
|
reservation: reservation,
|
|
2080
|
-
payTicket:
|
|
2559
|
+
payTicket: payTicketWithProvider,
|
|
2081
2560
|
userProfile: profileData,
|
|
2082
|
-
|
|
2561
|
+
timestamp: summitData.timestamp,
|
|
2562
|
+
provider: provider,
|
|
2563
|
+
providerKey: publicKey,
|
|
2083
2564
|
stripeOptions: stripeOptions
|
|
2084
2565
|
})))), profileData && step === 3 && /*#__PURE__*/external_react_default().createElement(purchase_complete, {
|
|
2085
2566
|
checkout: checkout,
|
|
@@ -2118,7 +2599,7 @@ const registration_lite_mapStateToProps = ({
|
|
|
2118
2599
|
changeStep: changeStep,
|
|
2119
2600
|
reserveTicket: reserveTicket,
|
|
2120
2601
|
removeReservedTicket: removeReservedTicket,
|
|
2121
|
-
|
|
2602
|
+
payTicketWithProvider: payTicketWithProvider,
|
|
2122
2603
|
getTicketTypes: getTicketTypes,
|
|
2123
2604
|
getTaxesTypes: getTaxesTypes,
|
|
2124
2605
|
getLoginCode: getLoginCode,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "summit-registration-lite",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.14",
|
|
4
4
|
"description": "Summit Registration Lite",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"crypto-js": "^4.1.1",
|
|
47
47
|
"css-loader": "^6.7.1",
|
|
48
48
|
"dotenv-webpack": "^7.1.0",
|
|
49
|
+
"dropzone": "^6.0.0-beta.2",
|
|
49
50
|
"file-loader": "^6.2.0",
|
|
50
51
|
"font-awesome": "4.7.0",
|
|
51
52
|
"history": "^4.7.2",
|
|
@@ -65,10 +66,14 @@
|
|
|
65
66
|
"react": "^16.8.4",
|
|
66
67
|
"react-bootstrap": "^0.33.1",
|
|
67
68
|
"react-datetime": "^2.15.0",
|
|
69
|
+
"react-dnd": "^16.0.1",
|
|
70
|
+
"react-dnd-html5-backend": "^16.0.1",
|
|
68
71
|
"react-dom": "^16.4.1",
|
|
72
|
+
"react-dropzone": "^14.2.1",
|
|
69
73
|
"react-redux": "^7.2.0",
|
|
70
74
|
"react-router": "^4.3.1",
|
|
71
75
|
"react-router-dom": "^4.3.1",
|
|
76
|
+
"react-rte": "^0.16.5",
|
|
72
77
|
"react-select": "^2.4.3",
|
|
73
78
|
"react-test-renderer": "^17.0.2",
|
|
74
79
|
"react-tooltip": "^3.11.6",
|
|
@@ -85,6 +90,7 @@
|
|
|
85
90
|
"timesync": "^1.0.5",
|
|
86
91
|
"urijs": "^1.19.1",
|
|
87
92
|
"url-loader": "^4.1.1",
|
|
93
|
+
"video.js": "^7.19.2",
|
|
88
94
|
"webpack": "^5.70.0",
|
|
89
95
|
"webpack-cli": "^4.9.2",
|
|
90
96
|
"webpack-dev-server": "^4.7.4",
|
|
@@ -122,6 +128,7 @@
|
|
|
122
128
|
"dependencies": {
|
|
123
129
|
"@stripe/react-stripe-js": "^1.4.1",
|
|
124
130
|
"@stripe/stripe-js": "^1.15.0",
|
|
131
|
+
"react-helmet": "^6.1.0",
|
|
125
132
|
"react-hook-form": "^7.6.7",
|
|
126
133
|
"react-otp-input": "^2.4.0",
|
|
127
134
|
"react-spring": "^9.1.2",
|