summit-registration-lite 5.0.14 → 5.0.16

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.js CHANGED
@@ -2479,7 +2479,7 @@ const PersonalInfoComponent = ({
2479
2479
  className: personal_information_index_module.inputWrapper
2480
2480
  }, /*#__PURE__*/external_react_default().createElement("input", personal_information_extends({
2481
2481
  type: "text",
2482
- placeholder: "First name *",
2482
+ placeholder: "First name",
2483
2483
  defaultValue: personalInfo?.attendee?.firstName ?? ''
2484
2484
  }, register("attendee.firstName", {
2485
2485
  required: false,
@@ -2492,7 +2492,7 @@ const PersonalInfoComponent = ({
2492
2492
  className: personal_information_index_module.inputWrapper
2493
2493
  }, /*#__PURE__*/external_react_default().createElement("input", personal_information_extends({
2494
2494
  type: "text",
2495
- placeholder: "Last name *",
2495
+ placeholder: "Last name",
2496
2496
  defaultValue: personalInfo?.attendee?.lastName ?? ''
2497
2497
  }, register("attendee.lastName", {
2498
2498
  required: false,
@@ -2529,6 +2529,54 @@ const getTicketMaxQuantity = ticket => ticket ? Math.min((ticket.quantity_2_sell
2529
2529
  ;// CONCATENATED MODULE: ./src/components/ticket-dropdown/index.module.scss
2530
2530
  // extracted by mini-css-extract-plugin
2531
2531
  /* harmony default export */ const ticket_dropdown_index_module = ({"placeholder":"placeholder___pcdCn","selectedTicket":"selectedTicket___qkbpH","inPersonDisclaimer":"inPersonDisclaimer___z_DzO","dropdown":"dropdown___mfbPG","soldOut":"soldOut___rBLC0"});
2532
+ ;// CONCATENATED MODULE: ./src/utils/utils.js
2533
+ /**
2534
+ * Copyright 2022 OpenStack Foundation
2535
+ * Licensed under the Apache License, Version 2.0 (the "License");
2536
+ * you may not use this file except in compliance with the License.
2537
+ * You may obtain a copy of the License at
2538
+ * http://www.apache.org/licenses/LICENSE-2.0
2539
+ * Unless required by applicable law or agreed to in writing, software
2540
+ * distributed under the License is distributed on an "AS IS" BASIS,
2541
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2542
+ * See the License for the specific language governing permissions and
2543
+ * limitations under the License.
2544
+ **/
2545
+ const getCurrentProvider = summit => {
2546
+ for (let profile of summit.payment_profiles) {
2547
+ if (profile.application_type === 'Registration') {
2548
+ return {
2549
+ publicKey: profile.test_mode_enabled ? profile.test_publishable_key : profile.live_publishable_key,
2550
+ provider: profile.provider
2551
+ };
2552
+ }
2553
+ }
2554
+
2555
+ return {
2556
+ publicKey: null,
2557
+ provider: ''
2558
+ };
2559
+ };
2560
+ const ticketHasAccessLevel = (ticket, accessLevel) => {
2561
+ if (!ticket) return false;
2562
+ return ticket.badge?.type?.access_levels.map(al => al.name).includes(accessLevel);
2563
+ };
2564
+ const getCurrentUserLanguage = () => {
2565
+ let language = 'en';
2566
+
2567
+ if (typeof navigator !== 'undefined') {
2568
+ language = navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage;
2569
+ }
2570
+
2571
+ return language;
2572
+ };
2573
+ const isEmptyString = val => {
2574
+ return typeof val === 'string' && val.trim().length == 0;
2575
+ };
2576
+ const getTicketTaxes = (ticket, taxes) => {
2577
+ const ticketTaxes = taxes.filter(tax => tax.ticket_types.includes(ticket?.id));
2578
+ return `${ticketTaxes.length > 0 ? ` plus ${taxes.map(t => t.name).join(' & ')}` : ''}`;
2579
+ };
2532
2580
  ;// CONCATENATED MODULE: ./src/components/ticket-dropdown/index.js
2533
2581
  /**
2534
2582
  * Copyright 2020 OpenStack Foundation
@@ -2546,9 +2594,11 @@ const getTicketMaxQuantity = ticket => ticket ? Math.min((ticket.quantity_2_sell
2546
2594
 
2547
2595
 
2548
2596
 
2597
+
2549
2598
  const TicketDropdownComponent = ({
2550
2599
  selectedTicket,
2551
2600
  ticketTypes,
2601
+ taxTypes,
2552
2602
  onTicketSelect
2553
2603
  }) => {
2554
2604
  const [active, setActive] = (0,external_react_.useState)(false);
@@ -2567,7 +2617,8 @@ const TicketDropdownComponent = ({
2567
2617
  }, selectedTicket ? /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("span", {
2568
2618
  className: ticket_dropdown_index_module.selectedTicket,
2569
2619
  "data-testid": "selected-ticket"
2570
- }, `${selectedTicket.name} - ${selectedTicket.currency_symbol}${selectedTicket.cost} ${selectedTicket.currency}`), /*#__PURE__*/external_react_default().createElement("i", {
2620
+ }, `${selectedTicket.name} - ${selectedTicket.currency_symbol}${selectedTicket.cost} ${selectedTicket.currency}
2621
+ ${getTicketTaxes(selectedTicket, taxTypes)}`), /*#__PURE__*/external_react_default().createElement("i", {
2571
2622
  className: "fa fa-chevron-down"
2572
2623
  })) : /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("span", {
2573
2624
  "data-testid": "no-ticket"
@@ -2587,7 +2638,7 @@ const TicketDropdownComponent = ({
2587
2638
  if (isTicketSoldOut) return;
2588
2639
  ticketSelect(t);
2589
2640
  }
2590
- }, t.name, " -", ` `, !isTicketSoldOut && /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, t.currency_symbol, t.cost, " ", t.currency), isTicketSoldOut && /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, "Sold Out"));
2641
+ }, t.name, " -", ` `, !isTicketSoldOut && /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, t.currency_symbol, t.cost, " ", t.currency), getTicketTaxes(t, taxTypes), isTicketSoldOut && /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, "Sold Out"));
2591
2642
  })));
2592
2643
  };
2593
2644
 
@@ -2651,8 +2702,10 @@ function ticket_type_defineProperty(obj, key, value) { if (key in obj) { Object.
2651
2702
 
2652
2703
 
2653
2704
 
2705
+
2654
2706
  const TicketTypeComponent = ({
2655
2707
  ticketTypes,
2708
+ taxTypes,
2656
2709
  isActive,
2657
2710
  changeForm,
2658
2711
  reservation,
@@ -2710,7 +2763,8 @@ const TicketTypeComponent = ({
2710
2763
  className: ticket_type_index_module.summary
2711
2764
  }, /*#__PURE__*/external_react_default().createElement("span", null, ticket && /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, `${ticket.name} (${quantity}): ${formatCurrency(ticket.cost * quantity, {
2712
2765
  currency: ticket.currency
2713
- })} ${ticket.currency}`, !isActive && reservation?.discount_amount > 0 && /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("br", null), /*#__PURE__*/external_react_default().createElement("span", {
2766
+ })} ${ticket.currency}
2767
+ ${getTicketTaxes(ticket, taxTypes)}`, !isActive && reservation?.discount_amount > 0 && /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("br", null), /*#__PURE__*/external_react_default().createElement("span", {
2714
2768
  className: ticket_type_index_module.promoCode
2715
2769
  }, "Promo code\xA0", /*#__PURE__*/external_react_default().createElement("abbr", {
2716
2770
  title: reservation.promo_code
@@ -2745,6 +2799,7 @@ const TicketTypeComponent = ({
2745
2799
  }, /*#__PURE__*/external_react_default().createElement(ticket_dropdown, {
2746
2800
  selectedTicket: ticket,
2747
2801
  ticketTypes: ticketTypes,
2802
+ taxTypes: taxTypes,
2748
2803
  onTicketSelect: handleTicketChange
2749
2804
  })), ticket && /*#__PURE__*/external_react_default().createElement("div", {
2750
2805
  className: ticket_type_index_module.quantity
@@ -2861,50 +2916,6 @@ const ButtonBarComponent = ({
2861
2916
  ;// CONCATENATED MODULE: ./src/components/purchase-complete/index.module.scss
2862
2917
  // extracted by mini-css-extract-plugin
2863
2918
  /* 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"});
2864
- ;// CONCATENATED MODULE: ./src/utils/utils.js
2865
- /**
2866
- * Copyright 2022 OpenStack Foundation
2867
- * Licensed under the Apache License, Version 2.0 (the "License");
2868
- * you may not use this file except in compliance with the License.
2869
- * You may obtain a copy of the License at
2870
- * http://www.apache.org/licenses/LICENSE-2.0
2871
- * Unless required by applicable law or agreed to in writing, software
2872
- * distributed under the License is distributed on an "AS IS" BASIS,
2873
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2874
- * See the License for the specific language governing permissions and
2875
- * limitations under the License.
2876
- **/
2877
- const getCurrentProvider = summit => {
2878
- for (let profile of summit.payment_profiles) {
2879
- if (profile.application_type === 'Registration') {
2880
- return {
2881
- publicKey: profile.test_mode_enabled ? profile.test_publishable_key : profile.live_publishable_key,
2882
- provider: profile.provider
2883
- };
2884
- }
2885
- }
2886
-
2887
- return {
2888
- publicKey: null,
2889
- provider: ''
2890
- };
2891
- };
2892
- const ticketHasAccessLevel = (ticket, accessLevel) => {
2893
- if (!ticket) return false;
2894
- return ticket.badge?.type?.access_levels.map(al => al.name).includes(accessLevel);
2895
- };
2896
- const getCurrentUserLanguage = () => {
2897
- let language = 'en';
2898
-
2899
- if (typeof navigator !== 'undefined') {
2900
- language = navigator.languages && navigator.languages[0] || navigator.language || navigator.userLanguage;
2901
- }
2902
-
2903
- return language;
2904
- };
2905
- const isEmptyString = val => {
2906
- return typeof val === 'string' && val.trim().length == 0;
2907
- };
2908
2919
  ;// CONCATENATED MODULE: external "i18n-react"
2909
2920
  const external_i18n_react_namespaceObject = require("i18n-react");
2910
2921
  var external_i18n_react_default = /*#__PURE__*/__webpack_require__.n(external_i18n_react_namespaceObject);
@@ -2997,7 +3008,7 @@ const PurchaseComplete = _ref2 => {
2997
3008
  if (!checkout) return null;
2998
3009
  if (requireExtraQuestions == null) return null;
2999
3010
  let orderCompleteButtonText = currentTicket && requireExtraQuestions ? rest.hasOwnProperty('initialOrderCompleteButton') && !isEmptyString(rest.initialOrderCompleteButton) && typeof rest.initialOrderCompleteButton !== 'undefined' ? rest.initialOrderCompleteButton : external_i18n_react_default().translate('purchase_complete_step.initial_order_complete_button') : rest.hasOwnProperty('orderCompleteButton') && !isEmptyString(rest.orderCompleteButton) ? rest.orderCompleteButton : external_i18n_react_default().translate('purchase_complete_step.order_complete_button');
3000
- let orderComplete1stParagraph = currentTicket ? rest.hasOwnProperty('initialOrderComplete1stParagraph') && typeof rest.initialOrderComplete1stParagraph !== 'undefined' ? rest.initialOrderComplete1stParagraph : external_i18n_react_default().translate('purchase_complete_step.initial_order_complete_1st_paragraph_label', {
3011
+ let orderComplete1stParagraph = currentTicket ? !attendeeTicket && rest.hasOwnProperty('initialOrderComplete1stParagraph') && typeof rest.initialOrderComplete1stParagraph !== 'undefined' ? rest.initialOrderComplete1stParagraph : external_i18n_react_default().translate('purchase_complete_step.initial_order_complete_1st_paragraph_label', {
3001
3012
  attendee: `${attendeeTicket ? ` ${attendeeTicket.owner.email}` : 'you'}`,
3002
3013
  adv: `${attendeeTicket ? `${attendeeTicket.owner.email}` : 'your'}`,
3003
3014
  button: orderCompleteButtonText