summit-registration-lite 5.0.36 → 5.0.38-beta.1
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/components/login.js +161 -0
- package/dist/components/login.js.map +1 -1
- package/dist/index.js +405 -258
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/components/login.js
CHANGED
|
@@ -12,6 +12,160 @@ return /******/ (() => { // webpackBootstrap
|
|
|
12
12
|
/******/ "use strict";
|
|
13
13
|
/******/ var __webpack_modules__ = ({
|
|
14
14
|
|
|
15
|
+
/***/ 499:
|
|
16
|
+
/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) => {
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
// UNUSED EXPORTS: capitalizeFirstLetter, formatCurrency, formatErrorMessage, getTicketMaxQuantity
|
|
20
|
+
|
|
21
|
+
// EXTERNAL MODULE: ./src/utils/utils.js
|
|
22
|
+
var utils = __webpack_require__(868);
|
|
23
|
+
;// CONCATENATED MODULE: ./src/helpers/getTicketMaxQuantity.js
|
|
24
|
+
|
|
25
|
+
const getTicketMaxQuantity = ticket => {
|
|
26
|
+
if (!ticket) return 0;
|
|
27
|
+
if (isPrePaidTicketType(ticket)) return 1;
|
|
28
|
+
return Math.min((ticket.quantity_2_sell || Number.MAX_SAFE_INTEGER) - ticket.quantity_sold, ticket.max_quantity_per_order || Number.MAX_SAFE_INTEGER);
|
|
29
|
+
};
|
|
30
|
+
;// CONCATENATED MODULE: ./src/helpers/index.js
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
/***/ }),
|
|
37
|
+
|
|
38
|
+
/***/ 868:
|
|
39
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
40
|
+
|
|
41
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
42
|
+
/* harmony export */ "YJ": () => (/* binding */ getContrastingTextColor)
|
|
43
|
+
/* harmony export */ });
|
|
44
|
+
/* unused harmony exports getCurrentProvider, ticketHasAccessLevel, getCurrentUserLanguage, isEmptyString, getTicketTaxes, hasDiscountApplied, isFreeOrder, isPrePaidOrder, getTicketCost, isPrePaidTicketType, buildTrackEvent, parseColor */
|
|
45
|
+
/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(499);
|
|
46
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(689);
|
|
47
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Copyright 2022 OpenStack Foundation
|
|
53
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
54
|
+
* you may not use this file except in compliance with the License.
|
|
55
|
+
* You may obtain a copy of the License at
|
|
56
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
57
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
58
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
59
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
60
|
+
* See the License for the specific language governing permissions and
|
|
61
|
+
* limitations under the License.
|
|
62
|
+
**/
|
|
63
|
+
|
|
64
|
+
const getCurrentProvider = summit => {
|
|
65
|
+
for (let profile of summit.payment_profiles) {
|
|
66
|
+
if (profile.application_type === 'Registration') {
|
|
67
|
+
return {
|
|
68
|
+
publicKey: profile.test_mode_enabled ? profile.test_publishable_key : profile.live_publishable_key,
|
|
69
|
+
provider: profile.provider
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return {
|
|
75
|
+
publicKey: null,
|
|
76
|
+
provider: ''
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
const ticketHasAccessLevel = (ticket, accessLevel) => {
|
|
80
|
+
if (!ticket) return false;
|
|
81
|
+
return ticket.badge?.type?.access_levels.map(al => al.name).includes(accessLevel);
|
|
82
|
+
};
|
|
83
|
+
const getCurrentUserLanguage = () => {
|
|
84
|
+
let language = 'en';
|
|
85
|
+
|
|
86
|
+
if (typeof navigator !== 'undefined') {
|
|
87
|
+
language = navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return language;
|
|
91
|
+
};
|
|
92
|
+
const isEmptyString = val => {
|
|
93
|
+
return typeof val === 'string' && val.trim().length == 0;
|
|
94
|
+
};
|
|
95
|
+
const getTicketTaxes = (ticket, taxes) => {
|
|
96
|
+
if (isPrePaidTicketType(ticket)) return '';
|
|
97
|
+
const ticketTaxes = taxes.filter(tax => tax.ticket_types.includes(ticket?.id));
|
|
98
|
+
return `${ticketTaxes.length > 0 ? ` plus ${taxes.map(t => t.name).join(' & ')}` : ''}`;
|
|
99
|
+
};
|
|
100
|
+
const hasDiscountApplied = ticketType => ticketType.hasOwnProperty('cost_with_applied_discount') && ticketType.cost !== ticketType?.cost_with_applied_discount;
|
|
101
|
+
const isFreeOrder = reservation => reservation.amount === 0;
|
|
102
|
+
const isPrePaidOrder = reservation => reservation.status === ORDER_STATUS_PAID && reservation.payment_method === ORDER_PAYMENT_METHOD_OFFLINE;
|
|
103
|
+
const getTicketCost = (ticket, quantity = 1) => {
|
|
104
|
+
return hasDiscountApplied(ticket) ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("s", null, formatCurrency(ticket.cost * quantity, {
|
|
105
|
+
currency: ticket.currency
|
|
106
|
+
}), " ", ticket.currency), "\xA0", /*#__PURE__*/React.createElement(React.Fragment, null, formatCurrency(ticket.cost_with_applied_discount * quantity, {
|
|
107
|
+
currency: ticket.currency
|
|
108
|
+
}), " ", ticket.currency)) : /*#__PURE__*/React.createElement(React.Fragment, null, formatCurrency(ticket.cost * quantity, {
|
|
109
|
+
currency: ticket.currency
|
|
110
|
+
}), " ", ticket.currency);
|
|
111
|
+
};
|
|
112
|
+
const isPrePaidTicketType = ticketType => ticketType?.sub_type === TICKET_TYPE_SUBTYPE_PREPAID;
|
|
113
|
+
const buildTrackEvent = (data, ticketQuantity = null, promoCode = null) => {
|
|
114
|
+
const eventData = {
|
|
115
|
+
currency: data.currency || 'USD',
|
|
116
|
+
items_array: [{
|
|
117
|
+
item_id: data.id,
|
|
118
|
+
item_name: data.name,
|
|
119
|
+
price: data.cost
|
|
120
|
+
}]
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
if (ticketQuantity) {
|
|
124
|
+
eventData.value = data.cost * ticketQuantity;
|
|
125
|
+
eventData.items_array[0].quantity = ticketQuantity;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (promoCode) {
|
|
129
|
+
eventData.coupon = promoCode;
|
|
130
|
+
eventData.items_array[0].discount = data.cost - (data.cost_with_applied_discount || 0);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return eventData;
|
|
134
|
+
}; // Helper function to resolve CSS variables and parse colors
|
|
135
|
+
|
|
136
|
+
const parseColor = (input, element = document.documentElement) => {
|
|
137
|
+
// Check if the input is a CSS variable
|
|
138
|
+
if (input.startsWith("var(")) {
|
|
139
|
+
const cssVarName = input.slice(4, -1).trim();
|
|
140
|
+
input = getComputedStyle(element).getPropertyValue(cssVarName).trim();
|
|
141
|
+
} // Convert the resolved color to RGB
|
|
142
|
+
|
|
143
|
+
|
|
144
|
+
const div = document.createElement("div");
|
|
145
|
+
div.style.color = input;
|
|
146
|
+
document.body.appendChild(div);
|
|
147
|
+
const m = getComputedStyle(div).color.match(/^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i);
|
|
148
|
+
document.body.removeChild(div);
|
|
149
|
+
return m ? [parseInt(m[1]), parseInt(m[2]), parseInt(m[3])] : null;
|
|
150
|
+
};
|
|
151
|
+
const getContrastingTextColor = (bgColor, lightColor, darkColor) => {
|
|
152
|
+
// Parse the background color to RGB
|
|
153
|
+
const rgb = parseColor(bgColor); // Fallback to a default color if parsing fails
|
|
154
|
+
|
|
155
|
+
if (!rgb) return darkColor; // or lightColor
|
|
156
|
+
|
|
157
|
+
const [r, g, b] = rgb; // Calculate luminance
|
|
158
|
+
|
|
159
|
+
const luminance = [r, g, b].map(channel => {
|
|
160
|
+
const normalized = channel / 255;
|
|
161
|
+
return normalized <= 0.03928 ? normalized / 12.92 : Math.pow((normalized + 0.055) / 1.055, 2.4);
|
|
162
|
+
}).reduce((acc, val, i) => acc + val * [0.2126, 0.7152, 0.0722][i], 0); // Return the contrasting color
|
|
163
|
+
|
|
164
|
+
return luminance > 0.179 ? darkColor : lightColor;
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
/***/ }),
|
|
168
|
+
|
|
15
169
|
/***/ 580:
|
|
16
170
|
/***/ ((module) => {
|
|
17
171
|
|
|
@@ -114,6 +268,8 @@ var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_pr
|
|
|
114
268
|
;// CONCATENATED MODULE: external "@mui/icons-material/EmailRounded"
|
|
115
269
|
const EmailRounded_namespaceObject = require("@mui/icons-material/EmailRounded");
|
|
116
270
|
var EmailRounded_default = /*#__PURE__*/__webpack_require__.n(EmailRounded_namespaceObject);
|
|
271
|
+
// EXTERNAL MODULE: ./src/utils/utils.js
|
|
272
|
+
var utils = __webpack_require__(868);
|
|
117
273
|
;// CONCATENATED MODULE: ./src/components/login/index.module.scss
|
|
118
274
|
// extracted by mini-css-extract-plugin
|
|
119
275
|
/* harmony default export */ const index_module = ({"loginWrapper":"loginWrapper___sxUEn","innerWrapper":"innerWrapper___GQRkq","button":"button___QMZPu","title":"title___NnwWR","loginCode":"loginCode___dDBup","primaryEmailButton":"primaryEmailButton___gH1fC","buttonDisabled":"buttonDisabled___T9tkn","pointerDisabled":"pointerDisabled___qt_HK","email_login_button":"email_login_button___seiLi","h2Styled":"h2Styled___rfIKD","input":"input___QR9sA"});
|
|
@@ -135,6 +291,7 @@ var EmailRounded_default = /*#__PURE__*/__webpack_require__.n(EmailRounded_names
|
|
|
135
291
|
|
|
136
292
|
|
|
137
293
|
|
|
294
|
+
|
|
138
295
|
const LoginComponent = ({
|
|
139
296
|
summitData,
|
|
140
297
|
loginOptions,
|
|
@@ -163,6 +320,9 @@ const LoginComponent = ({
|
|
|
163
320
|
}
|
|
164
321
|
};
|
|
165
322
|
|
|
323
|
+
const emailButtonStyles = {
|
|
324
|
+
color: (0,utils/* getContrastingTextColor */.YJ)("var(--color_primary)", "var(--color_text_light)", "var(--color_text_dark)")
|
|
325
|
+
};
|
|
166
326
|
return /*#__PURE__*/external_react_default().createElement("div", {
|
|
167
327
|
className: `${index_module.loginWrapper}`
|
|
168
328
|
}, /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("div", {
|
|
@@ -185,6 +345,7 @@ const LoginComponent = ({
|
|
|
185
345
|
})), /*#__PURE__*/external_react_default().createElement("div", {
|
|
186
346
|
onClick: () => loginCode(),
|
|
187
347
|
"data-testid": "email-button",
|
|
348
|
+
style: emailButtonStyles,
|
|
188
349
|
className: `${index_module.button} ${index_module.email_login_button} ${email === '' ? `${index_module.pointerDisabled} ${index_module.buttonDisabled}` : `${index_module.primaryEmailButton}`}`
|
|
189
350
|
}, /*#__PURE__*/external_react_default().createElement((EmailRounded_default()), {
|
|
190
351
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components/login.js","mappings":"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","sources":["webpack://summit-registration-lite/webpack/universalModuleDefinition","webpack://summit-registration-lite/external commonjs \"prop-types\"","webpack://summit-registration-lite/external commonjs \"react\"","webpack://summit-registration-lite/webpack/bootstrap","webpack://summit-registration-lite/webpack/runtime/compat get default export","webpack://summit-registration-lite/webpack/runtime/define property getters","webpack://summit-registration-lite/webpack/runtime/hasOwnProperty shorthand","webpack://summit-registration-lite/webpack/runtime/make namespace object","webpack://summit-registration-lite/external commonjs \"@mui/icons-material/EmailRounded\"","webpack://summit-registration-lite/./src/components/login/index.module.scss","webpack://summit-registration-lite/./src/components/login/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"summit-registration-lite\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"summit-registration-lite\"] = factory();\n\telse\n\t\troot[\"summit-registration-lite\"] = factory();\n})(this, function() {\nreturn ","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/EmailRounded\");","// extracted by mini-css-extract-plugin\nexport default {\"loginWrapper\":\"loginWrapper___sxUEn\",\"innerWrapper\":\"innerWrapper___GQRkq\",\"button\":\"button___QMZPu\",\"title\":\"title___NnwWR\",\"loginCode\":\"loginCode___dDBup\",\"primaryEmailButton\":\"primaryEmailButton___gH1fC\",\"buttonDisabled\":\"buttonDisabled___T9tkn\",\"pointerDisabled\":\"pointerDisabled___qt_HK\",\"email_login_button\":\"email_login_button___seiLi\",\"h2Styled\":\"h2Styled___rfIKD\",\"input\":\"input___QR9sA\"};","/**\n * Copyright 2020 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport EmailRoundedIcon from '@mui/icons-material/EmailRounded';\n\nimport styles from \"./index.module.scss\";\n\nconst LoginComponent = ({\n summitData,\n loginOptions,\n login,\n allowsNativeAuth,\n allowsOtpAuthlogin,\n getLoginCode,\n getPasswordlessCode,\n initialEmailValue,\n title }) => {\n\n const [email, setEmail] = useState(initialEmailValue);\n const [emailError, setEmailError] = useState();\n\n const isValidEmail = (email) => {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n\n const loginCode = () => {\n let isValid = isValidEmail(email);\n setEmailError(!isValid);\n if (isValid) {\n getLoginCode(email, getPasswordlessCode);\n }\n }\n\n return (\n <div className={`${styles.loginWrapper}`}>\n <>\n <div className={`${styles.innerWrapper}`}>\n <div className={styles.loginCode}>\n {summitData?.secondary_logo && <img className=\"login-logo\" src={`${summitData?.secondary_logo}`} />}\n <div className={styles.title}>{title}</div>\n <div className={styles.input}>\n <input placeholder=\"youremail@example.com\" value={email} onChange={e => setEmail(e.target.value)}\n onKeyPress={(ev) => ev.key === 'Enter' ? loginCode() : null} data-testid=\"email-input\" />\n </div>\n <div onClick={() => loginCode()} data-testid=\"email-button\"\n className={`${styles.button} ${styles.email_login_button} ${email === '' ? `${styles.pointerDisabled} ${styles.buttonDisabled}` : `${styles.primaryEmailButton}`}`}>\n <EmailRoundedIcon style={{ fontSize: \"20px\" }} />\n <span>Email me a single-use code</span>\n <span></span>\n </div>\n {emailError && <span data-testid=\"email-error\">Please enter a valid email address</span>}\n <h2 className={styles.h2Styled}>or</h2>\n </div>\n {loginOptions.map((o, index) => {\n return (\n o.provider_param ?\n <div className={`${styles.button}`} key={`provider-${o.provider_param}`} data-testid=\"login-button\"\n style={{\n color: o.button_text_color ? o.button_text_color : '#ffffff',\n border: `thin solid ${o.button_border_color ? o.button_border_color : o.button_color}`,\n backgroundColor: o.button_color,\n backgroundImage: o.provider_logo ? `url(${o.provider_logo})` : 'none',\n backgroundSize: o.provider_logo_size ? o.provider_logo_size : '',\n }}\n onClick={() => login(o.provider_param)}>\n {o.provider_label}\n </div>\n :\n allowsNativeAuth ?\n <div className={`${styles.button}`} key={`provider-fnid`} data-testid=\"login-button\"\n style={{\n color: o.button_border_color ? o.button_border_color : '#ffffff',\n border: `thin solid ${o.button_border_color ? o.button_border_color : o.button_color}`,\n backgroundColor: o.button_color,\n backgroundImage: o.provider_logo ? `url(${o.provider_logo})` : 'none',\n backgroundSize: o.provider_logo_size ? o.provider_logo_size : ''\n }}\n onClick={() => login(o.provider_param)}>\n {o.provider_label}\n </div>\n :\n null\n )\n })}\n {allowsOtpAuthlogin &&\n <div className={styles.loginCode}>\n or get a login code emailed to you\n <div className={styles.input}>\n <input placeholder=\"youremail@example.com\" value={email} onChange={e => setEmail(e.target.value)} onKeyPress={(ev) => ev.key === 'Enter' ? loginCode() : null} data-testid=\"email-input\" />\n <br />\n </div>\n <div onClick={() => loginCode()} data-testid=\"email-button\" className=\"button\" style={{ background: \"#000\", color: \"#fff\"}}>\n Email me a login code\n </div>\n {emailError && <span data-testid=\"email-error\">Please enter a valid email adress</span>}\n </div>\n }\n </div>\n </>\n </div>\n );\n}\n\nLoginComponent.propTypes = {\n loginOptions: PropTypes.array.isRequired,\n login: PropTypes.func.isRequired,\n allowsNativeAuth: PropTypes.bool,\n allowsOtpAuthlogin: PropTypes.bool,\n getLoginCode: PropTypes.func.isRequired,\n getPasswordlessCode: PropTypes.func,\n initialEmailValue: PropTypes.string,\n title: PropTypes.string,\n}\n\nLoginComponent.defaultProps = {\n allowsNativeAuth: true,\n allowsOtpAuthlogin: false,\n initialEmailValue: '',\n title: 'Enter your email to begin registration:',\n}\n\n\nexport default LoginComponent\n\n"],"names":["React","useState","PropTypes","EmailRoundedIcon","styles","LoginComponent","summitData","loginOptions","login","allowsNativeAuth","allowsOtpAuthlogin","getLoginCode","getPasswordlessCode","initialEmailValue","title","email","setEmail","emailError","setEmailError","isValidEmail","re","test","String","toLowerCase","loginCode","isValid","loginWrapper","innerWrapper","secondary_logo","input","e","target","value","ev","key","button","email_login_button","pointerDisabled","buttonDisabled","primaryEmailButton","fontSize","h2Styled","map","o","index","provider_param","color","button_text_color","border","button_border_color","button_color","backgroundColor","backgroundImage","provider_logo","backgroundSize","provider_logo_size","provider_label","background","propTypes","array","isRequired","func","bool","string","defaultProps"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"components/login.js","mappings":"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","sources":["webpack://summit-registration-lite/webpack/universalModuleDefinition","webpack://summit-registration-lite/./src/helpers/getTicketMaxQuantity.js","webpack://summit-registration-lite/./src/helpers/index.js","webpack://summit-registration-lite/./src/utils/utils.js","webpack://summit-registration-lite/external commonjs \"prop-types\"","webpack://summit-registration-lite/external commonjs \"react\"","webpack://summit-registration-lite/webpack/bootstrap","webpack://summit-registration-lite/webpack/runtime/compat get default export","webpack://summit-registration-lite/webpack/runtime/define property getters","webpack://summit-registration-lite/webpack/runtime/hasOwnProperty shorthand","webpack://summit-registration-lite/webpack/runtime/make namespace object","webpack://summit-registration-lite/external commonjs \"@mui/icons-material/EmailRounded\"","webpack://summit-registration-lite/./src/components/login/index.module.scss","webpack://summit-registration-lite/./src/components/login/index.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"summit-registration-lite\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"summit-registration-lite\"] = factory();\n\telse\n\t\troot[\"summit-registration-lite\"] = factory();\n})(this, function() {\nreturn ","import { isPrePaidTicketType } from '../utils/utils';\n\nexport const getTicketMaxQuantity = (ticket) => {\n if(!ticket) return 0;\n if(isPrePaidTicketType(ticket)) return 1;\n return Math.min((ticket.quantity_2_sell || Number.MAX_SAFE_INTEGER) - ticket.quantity_sold, (ticket.max_quantity_per_order || Number.MAX_SAFE_INTEGER));\n}\n\n","export * from './capitalizeFirstLetter';\nexport * from './formatCurrency';\nexport * from './formatErrorMessage';\nexport * from './getTicketMaxQuantity';\n","import { formatCurrency } from '../helpers';\nimport { ORDER_PAYMENT_METHOD_OFFLINE, ORDER_STATUS_PAID, TICKET_TYPE_SUBTYPE_PREPAID } from './constants';\n\nimport React from 'react';\n\n/**\n * Copyright 2022 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\nexport const getCurrentProvider = (summit) => {\n for (let profile of summit.payment_profiles) {\n if (profile.application_type === 'Registration') {\n return {\n publicKey : profile.test_mode_enabled ? profile.test_publishable_key : profile.live_publishable_key,\n provider : profile.provider\n }\n }\n }\n return {\n publicKey : null,\n provider : ''\n }\n}\n\nexport const ticketHasAccessLevel = (ticket, accessLevel) => {\n if(!ticket) return false;\n return ticket.badge?.type?.access_levels.map(al => al.name).includes(accessLevel);\n};\n\nexport const getCurrentUserLanguage = () => {\n let language = 'en';\n if(typeof navigator !== 'undefined') {\n language = (navigator.languages && navigator.languages[0]) || navigator.language || navigator.userLanguage;\n }\n return language;\n};\n\nexport const isEmptyString = (val) => {\n return typeof val === 'string' && val.trim().length == 0;\n}\n\nexport const getTicketTaxes = (ticket, taxes) => {\n if(isPrePaidTicketType(ticket)) return '';\n const ticketTaxes = taxes.filter(tax => tax.ticket_types.includes(ticket?.id));\n return `${ticketTaxes.length > 0 ? ` plus ${taxes.map(t => t.name).join(' & ')}` : ''}`;\n}\n\nexport const hasDiscountApplied = (ticketType) => ticketType.hasOwnProperty('cost_with_applied_discount') && ticketType.cost !== ticketType?.cost_with_applied_discount;\n\nexport const isFreeOrder = (reservation) => reservation.amount === 0 ;\n\nexport const isPrePaidOrder = (reservation) => reservation.status === ORDER_STATUS_PAID && reservation.payment_method === ORDER_PAYMENT_METHOD_OFFLINE;\n\nexport const getTicketCost = (ticket, quantity = 1) => {\n return hasDiscountApplied(ticket) ?\n <>\n <s>{formatCurrency(ticket.cost * quantity, { currency: ticket.currency })} {ticket.currency}</s>\n \n <>{formatCurrency(ticket.cost_with_applied_discount * quantity, { currency: ticket.currency })} {ticket.currency}</>\n </>\n :\n <>{formatCurrency(ticket.cost * quantity, { currency: ticket.currency })} {ticket.currency}</>\n}\n\nexport const isPrePaidTicketType = (ticketType) => ticketType?.sub_type === TICKET_TYPE_SUBTYPE_PREPAID;\n\nexport const buildTrackEvent = (data, ticketQuantity = null, promoCode = null) => {\n const eventData = {\n currency: data.currency || 'USD',\n items_array: [\n {\n item_id: data.id,\n item_name: data.name,\n price: data.cost,\n }\n ]\n };\n\n if (ticketQuantity) {\n eventData.value = data.cost * ticketQuantity;\n eventData.items_array[0].quantity = ticketQuantity;\n }\n\n if (promoCode) {\n eventData.coupon = promoCode;\n eventData.items_array[0].discount = data.cost - (data.cost_with_applied_discount || 0);\n }\n\n return eventData;\n}\n\n// Helper function to resolve CSS variables and parse colors\n\nexport const parseColor = (input, element = document.documentElement) => {\n // Check if the input is a CSS variable\n if (input.startsWith(\"var(\")) { \n const cssVarName = input.slice(4, -1).trim(); \n input = getComputedStyle(element).getPropertyValue(cssVarName).trim();\n }\n\n // Convert the resolved color to RGB\n const div = document.createElement(\"div\"); \n div.style.color = input;\n document.body.appendChild(div);\n const m = getComputedStyle(div).color.match(/^rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)$/i);\n document.body.removeChild(div);\n return m ? [parseInt(m[1]), parseInt(m[2]), parseInt(m[3])] : null;\n}\n \n\nexport const getContrastingTextColor = (bgColor, lightColor, darkColor) => {\n // Parse the background color to RGB\n const rgb = parseColor(bgColor);\n\n // Fallback to a default color if parsing fails\n if (!rgb) return darkColor; // or lightColor\n \n const [r, g, b] = rgb;\n\n // Calculate luminance \n const luminance = [r, g, b].map(channel => {\n const normalized = channel / 255;\n return normalized <= 0.03928 \n ? normalized / 12.92 \n : Math.pow((normalized + 0.055) / 1.055, 2.4);\n }).reduce((acc, val, i) => acc + val * [0.2126, 0.7152, 0.0722][i], 0);\n \n\n // Return the contrasting color\n return luminance > 0.179 ? darkColor : lightColor;\n}","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@mui/icons-material/EmailRounded\");","// extracted by mini-css-extract-plugin\nexport default {\"loginWrapper\":\"loginWrapper___sxUEn\",\"innerWrapper\":\"innerWrapper___GQRkq\",\"button\":\"button___QMZPu\",\"title\":\"title___NnwWR\",\"loginCode\":\"loginCode___dDBup\",\"primaryEmailButton\":\"primaryEmailButton___gH1fC\",\"buttonDisabled\":\"buttonDisabled___T9tkn\",\"pointerDisabled\":\"pointerDisabled___qt_HK\",\"email_login_button\":\"email_login_button___seiLi\",\"h2Styled\":\"h2Styled___rfIKD\",\"input\":\"input___QR9sA\"};","/**\n * Copyright 2020 OpenStack Foundation\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\n\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport EmailRoundedIcon from '@mui/icons-material/EmailRounded';\nimport { getContrastingTextColor } from '../../utils/utils'\n\nimport styles from \"./index.module.scss\";\n\nconst LoginComponent = ({\n summitData,\n loginOptions,\n login,\n allowsNativeAuth,\n allowsOtpAuthlogin,\n getLoginCode,\n getPasswordlessCode,\n initialEmailValue,\n title }) => {\n\n const [email, setEmail] = useState(initialEmailValue);\n const [emailError, setEmailError] = useState();\n\n const isValidEmail = (email) => {\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n }\n\n const loginCode = () => {\n let isValid = isValidEmail(email);\n setEmailError(!isValid);\n if (isValid) {\n getLoginCode(email, getPasswordlessCode);\n }\n }\n\n const emailButtonStyles = {\n color: getContrastingTextColor(\"var(--color_primary)\", \"var(--color_text_light)\", \"var(--color_text_dark)\")\n };\n\n return (\n <div className={`${styles.loginWrapper}`}>\n <>\n <div className={`${styles.innerWrapper}`}>\n <div className={styles.loginCode}>\n {summitData?.secondary_logo && <img className=\"login-logo\" src={`${summitData?.secondary_logo}`} />}\n <div className={styles.title}>{title}</div>\n <div className={styles.input}>\n <input placeholder=\"youremail@example.com\" value={email} onChange={e => setEmail(e.target.value)}\n onKeyPress={(ev) => ev.key === 'Enter' ? loginCode() : null} data-testid=\"email-input\" />\n </div>\n <div onClick={() => loginCode()} data-testid=\"email-button\" style={emailButtonStyles}\n className={`${styles.button} ${styles.email_login_button} ${email === '' ? `${styles.pointerDisabled} ${styles.buttonDisabled}` : `${styles.primaryEmailButton}`}`}>\n <EmailRoundedIcon style={{ fontSize: \"20px\" }} />\n <span>Email me a single-use code</span>\n <span></span>\n </div>\n {emailError && <span data-testid=\"email-error\">Please enter a valid email address</span>}\n <h2 className={styles.h2Styled}>or</h2>\n </div>\n {loginOptions.map((o, index) => {\n return (\n o.provider_param ?\n <div className={`${styles.button}`} key={`provider-${o.provider_param}`} data-testid=\"login-button\"\n style={{\n color: o.button_text_color ? o.button_text_color : '#ffffff',\n border: `thin solid ${o.button_border_color ? o.button_border_color : o.button_color}`,\n backgroundColor: o.button_color,\n backgroundImage: o.provider_logo ? `url(${o.provider_logo})` : 'none',\n backgroundSize: o.provider_logo_size ? o.provider_logo_size : '',\n }}\n onClick={() => login(o.provider_param)}>\n {o.provider_label}\n </div>\n :\n allowsNativeAuth ?\n <div className={`${styles.button}`} key={`provider-fnid`} data-testid=\"login-button\"\n style={{\n color: o.button_border_color ? o.button_border_color : '#ffffff',\n border: `thin solid ${o.button_border_color ? o.button_border_color : o.button_color}`,\n backgroundColor: o.button_color,\n backgroundImage: o.provider_logo ? `url(${o.provider_logo})` : 'none',\n backgroundSize: o.provider_logo_size ? o.provider_logo_size : ''\n }}\n onClick={() => login(o.provider_param)}>\n {o.provider_label}\n </div>\n :\n null\n )\n })}\n {allowsOtpAuthlogin &&\n <div className={styles.loginCode}>\n or get a login code emailed to you\n <div className={styles.input}>\n <input placeholder=\"youremail@example.com\" value={email} onChange={e => setEmail(e.target.value)} onKeyPress={(ev) => ev.key === 'Enter' ? loginCode() : null} data-testid=\"email-input\" />\n <br />\n </div>\n <div onClick={() => loginCode()} data-testid=\"email-button\" className=\"button\" style={{ background: \"#000\", color: \"#fff\"}}>\n Email me a login code\n </div>\n {emailError && <span data-testid=\"email-error\">Please enter a valid email adress</span>}\n </div>\n }\n </div>\n </>\n </div>\n );\n}\n\nLoginComponent.propTypes = {\n loginOptions: PropTypes.array.isRequired,\n login: PropTypes.func.isRequired,\n allowsNativeAuth: PropTypes.bool,\n allowsOtpAuthlogin: PropTypes.bool,\n getLoginCode: PropTypes.func.isRequired,\n getPasswordlessCode: PropTypes.func,\n initialEmailValue: PropTypes.string,\n title: PropTypes.string,\n}\n\nLoginComponent.defaultProps = {\n allowsNativeAuth: true,\n allowsOtpAuthlogin: false,\n initialEmailValue: '',\n title: 'Enter your email to begin registration:',\n}\n\n\nexport default LoginComponent\n\n"],"names":["isPrePaidTicketType","getTicketMaxQuantity","ticket","Math","min","quantity_2_sell","Number","MAX_SAFE_INTEGER","quantity_sold","max_quantity_per_order","formatCurrency","ORDER_PAYMENT_METHOD_OFFLINE","ORDER_STATUS_PAID","TICKET_TYPE_SUBTYPE_PREPAID","React","getCurrentProvider","summit","profile","payment_profiles","application_type","publicKey","test_mode_enabled","test_publishable_key","live_publishable_key","provider","ticketHasAccessLevel","accessLevel","badge","type","access_levels","map","al","name","includes","getCurrentUserLanguage","language","navigator","languages","userLanguage","isEmptyString","val","trim","length","getTicketTaxes","taxes","ticketTaxes","filter","tax","ticket_types","id","t","join","hasDiscountApplied","ticketType","hasOwnProperty","cost","cost_with_applied_discount","isFreeOrder","reservation","amount","isPrePaidOrder","status","payment_method","getTicketCost","quantity","currency","sub_type","buildTrackEvent","data","ticketQuantity","promoCode","eventData","items_array","item_id","item_name","price","value","coupon","discount","parseColor","input","element","document","documentElement","startsWith","cssVarName","slice","getComputedStyle","getPropertyValue","div","createElement","style","color","body","appendChild","m","match","removeChild","parseInt","getContrastingTextColor","bgColor","lightColor","darkColor","rgb","r","g","b","luminance","channel","normalized","pow","reduce","acc","i","useState","PropTypes","EmailRoundedIcon","styles","LoginComponent","summitData","loginOptions","login","allowsNativeAuth","allowsOtpAuthlogin","getLoginCode","getPasswordlessCode","initialEmailValue","title","email","setEmail","emailError","setEmailError","isValidEmail","re","test","String","toLowerCase","loginCode","isValid","emailButtonStyles","loginWrapper","innerWrapper","secondary_logo","e","target","ev","key","button","email_login_button","pointerDisabled","buttonDisabled","primaryEmailButton","fontSize","h2Styled","o","index","provider_param","button_text_color","border","button_border_color","button_color","backgroundColor","backgroundImage","provider_logo","backgroundSize","provider_logo_size","provider_label","background","propTypes","array","isRequired","func","bool","string","defaultProps"],"sourceRoot":""}
|