summit-registration-lite 7.0.3 → 7.0.4

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.
Files changed (28) hide show
  1. package/.claude/rules/summit-registration-lite-component-props.md +95 -0
  2. package/.claude/rules/summit-registration-lite-i18n.md +62 -0
  3. package/.claude/rules/summit-registration-lite-payment-providers.md +69 -0
  4. package/.claude/rules/summit-registration-lite-project.md +80 -0
  5. package/.claude/rules/summit-registration-lite-redux-actions.md +65 -0
  6. package/.claude/rules/summit-registration-lite-step-flow.md +77 -0
  7. package/.claude/rules/summit-registration-lite-testing.md +97 -0
  8. package/.claude/rules/summit-registration-lite-utils.md +71 -0
  9. package/.claude/skills/summit-registration-lite-add-provider/SKILL.md +155 -0
  10. package/.claude/skills/summit-registration-lite-dev-setup/SKILL.md +67 -0
  11. package/.claude/skills/summit-registration-lite-publish/SKILL.md +64 -0
  12. package/.claude/skills/summit-registration-lite-scaffold-component/SKILL.md +152 -0
  13. package/.codegraph/config.json +141 -0
  14. package/.codegraph/daemon.pid +6 -0
  15. package/dist/components/index.css +1 -2
  16. package/dist/components/index.js +24 -52
  17. package/dist/components/index.js.map +1 -1
  18. package/dist/components/registration-form.css +1 -2
  19. package/dist/components/registration-form.js +20 -47
  20. package/dist/components/registration-form.js.map +1 -1
  21. package/dist/components/registration-modal.css +1 -2
  22. package/dist/components/registration-modal.js +23 -51
  23. package/dist/components/registration-modal.js.map +1 -1
  24. package/dist/index.css +1 -2
  25. package/dist/index.js +23 -51
  26. package/dist/index.js.map +1 -1
  27. package/e2e/promo-code-discovery.spec.js +4 -2
  28. package/package.json +1 -1
@@ -1344,7 +1344,7 @@ LoginComponent.defaultProps = {
1344
1344
 
1345
1345
  /***/ }),
1346
1346
 
1347
- /***/ 95:
1347
+ /***/ 868:
1348
1348
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1349
1349
 
1350
1350
  "use strict";
@@ -3000,17 +3000,19 @@ const PromoCodeInput = ({
3000
3000
  /* harmony default export */ const promocode_input = (PromoCodeInput);
3001
3001
  ;// CONCATENATED MODULE: ./src/components/ticket-notice/index.module.scss
3002
3002
  // extracted by mini-css-extract-plugin
3003
- /* harmony default export */ const ticket_notice_index_module = ({"notice":"notice____Pa2z","error":"error___WzZms","info":"info___WFfzs","icon":"icon___YWZms"});
3003
+ /* harmony default export */ const ticket_notice_index_module = ({"notice":"notice____Pa2z","content":"content___sR1Ps","error":"error___WzZms","info":"info___WFfzs","icon":"icon___YWZms"});
3004
3004
  ;// CONCATENATED MODULE: ./src/components/ticket-notice/index.js
3005
3005
 
3006
3006
  // `message` is either a single string or an array of strings. Arrays render
3007
3007
  // stacked consecutively inside the same notice box. Returns null when the
3008
3008
  // message is empty/unset so callers can pass conditional arrays without an
3009
- // outer guard.
3009
+ // outer guard. Pass `html` when the message is admin-authored HTML (e.g.
3010
+ // marketing settings) that needs link rendering.
3010
3011
 
3011
3012
  const TicketNotice = ({
3012
3013
  message,
3013
- variant = 'info'
3014
+ variant = 'info',
3015
+ html = false
3014
3016
  }) => {
3015
3017
  const items = Array.isArray(message) ? message : message ? [message] : [];
3016
3018
  if (items.length === 0) return null;
@@ -3018,9 +3020,16 @@ const TicketNotice = ({
3018
3020
  className: `${ticket_notice_index_module.notice} ${ticket_notice_index_module[variant]}`
3019
3021
  }, variant === 'error' && /*#__PURE__*/external_react_default().createElement("span", {
3020
3022
  className: ticket_notice_index_module.icon
3021
- }, "\u26A0"), items.map((m, i) => /*#__PURE__*/external_react_default().createElement("div", {
3023
+ }, "\u26A0"), /*#__PURE__*/external_react_default().createElement("div", {
3024
+ className: ticket_notice_index_module.content
3025
+ }, items.map((m, i) => html ? /*#__PURE__*/external_react_default().createElement("div", {
3026
+ key: i,
3027
+ dangerouslySetInnerHTML: {
3028
+ __html: m
3029
+ }
3030
+ }) : /*#__PURE__*/external_react_default().createElement("div", {
3022
3031
  key: i
3023
- }, m)));
3032
+ }, m))));
3024
3033
  };
3025
3034
 
3026
3035
  /* harmony default export */ const ticket_notice = (TicketNotice);
@@ -3075,7 +3084,7 @@ const TicketTypeComponent = ({
3075
3084
  promoCode,
3076
3085
  promoCodeAllowsReassign = true,
3077
3086
  trackViewItem,
3078
- noTicketsAvailableMessage
3087
+ noAllowedTicketsMessage
3079
3088
  }) => {
3080
3089
  const {
3081
3090
  state: promoState = {},
@@ -3295,8 +3304,9 @@ const TicketTypeComponent = ({
3295
3304
  }, /*#__PURE__*/external_react_default().createElement("i", {
3296
3305
  className: "fa fa-plus"
3297
3306
  }))))))), !showTicketSelector && /*#__PURE__*/external_react_default().createElement(ticket_notice, {
3298
- message: noTicketsAvailableMessage || external_i18n_react_default().translate("ticket_type.no_tickets_available"),
3299
- variant: "info"
3307
+ message: noAllowedTicketsMessage || external_i18n_react_default().translate("ticket_type.no_tickets_available"),
3308
+ variant: "info",
3309
+ html: !!noAllowedTicketsMessage
3300
3310
  }), /*#__PURE__*/external_react_default().createElement((external_react_tooltip_default()), {
3301
3311
  id: "ticket-quantity-info",
3302
3312
  place: "bottom",
@@ -3629,40 +3639,6 @@ const TicketOwnedComponent = ({
3629
3639
  };
3630
3640
 
3631
3641
  /* harmony default export */ const ticket_owned = (TicketOwnedComponent);
3632
- ;// CONCATENATED MODULE: ./src/components/no-allowed-tickets/index.module.scss
3633
- // extracted by mini-css-extract-plugin
3634
- /* harmony default export */ const no_allowed_tickets_index_module = ({"noAllowedWrapper":"noAllowedWrapper___k52of","alert":"alert___McKm0"});
3635
- ;// CONCATENATED MODULE: ./src/components/no-allowed-tickets/index.js
3636
- /**
3637
- * Copyright 2020 OpenStack Foundation
3638
- * Licensed under the Apache License, Version 2.0 (the "License");
3639
- * you may not use this file except in compliance with the License.
3640
- * You may obtain a copy of the License at
3641
- * http://www.apache.org/licenses/LICENSE-2.0
3642
- * Unless required by applicable law or agreed to in writing, software
3643
- * distributed under the License is distributed on an "AS IS" BASIS,
3644
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3645
- * See the License for the specific language governing permissions and
3646
- * limitations under the License.
3647
- **/
3648
-
3649
-
3650
-
3651
- const NoAllowedTickets = ({
3652
- noAllowedTicketsMessage
3653
- }) => {
3654
- return /*#__PURE__*/React.createElement("div", {
3655
- className: styles.noAllowedWrapper
3656
- }, /*#__PURE__*/React.createElement("div", {
3657
- className: `${styles.alert} alert alert-warning`,
3658
- role: "alert",
3659
- dangerouslySetInnerHTML: {
3660
- __html: noAllowedTicketsMessage
3661
- }
3662
- }));
3663
- };
3664
-
3665
- /* harmony default export */ const no_allowed_tickets = ((/* unused pure expression or super */ null && (NoAllowedTickets)));
3666
3642
  ;// CONCATENATED MODULE: ./src/components/ticket-taxes-error/index.module.scss
3667
3643
  // extracted by mini-css-extract-plugin
3668
3644
  /* harmony default export */ const ticket_taxes_error_index_module = ({"ticketTaxesErrorWrapper":"ticketTaxesErrorWrapper___ldztd","alert":"alert___AM17V"});
@@ -3702,7 +3678,7 @@ const TicketTaxesError = ({
3702
3678
 
3703
3679
  /* harmony default export */ const ticket_taxes_error = (TicketTaxesError);
3704
3680
  ;// CONCATENATED MODULE: ./src/components/registration-form/index.js
3705
- const registration_form_excluded = ["loadSession", "setMarketingSettings", "changeStep", "removeReservedTicket", "reserveTicket", "payTicketWithProvider", "trackEvent", "onPurchaseComplete", "getTicketTypesAndTaxes", "getLoginCode", "passwordlessLogin", "goToLogin", "loginOptions", "allowsNativeAuth", "allowsOtpAuth", "reservation", "checkout", "ticketTypes", "taxTypes", "step", "passwordlessCodeSent", "passwordlessEmail", "passwordlessCode", "passwordlessCodeLifeTime", "getPasswordlessCode", "passwordlessCodeError", "loginWithCode", "goToExtraQuestions", "goToMyOrders", "goToEvent", "profileData", "summitData", "supportEmail", "ticketOwned", "ownedTickets", "widgetLoading", "loading", "inPersonDisclaimer", "userProfile", "handleCompanyError", "providerOptions", "invitation", "loginInitialEmailInputValue", "getMyInvitation", "showMultipleTicketTexts", "noAllowedTicketsMessage", "noTicketsAvailableMessage", "ticketTaxesErrorMessage", "authErrorCallback", "clearWidgetState", "allowPromoCodes", "showCompanyInput", "companyDDLPlaceholder", "nowUtc", "updateClock", "completedExtraQuestions", "loadProfileData", "closeWidget", "hasVirtualAccessLevel", "hidePostalCode", "onError", "successfulPaymentReturnUrl", "idpLogoLight", "idpLogoDark", "idpLogoAlt", "showCompanyInputDefaultOptions", "companyDDLOptions2Show", "promoCode", "promoCodeVerified", "promoCodeValidating", "promoCodeAllowsReassign", "discoveredPromoCodes", "hasDiscount", "getTicketDiscount", "removePromoCode", "applyPromoCode", "validatePromoCode", "discoverPromoCodes", "startWidgetLoading", "stopWidgetLoading", "closeHandlerRef"];
3681
+ const registration_form_excluded = ["loadSession", "setMarketingSettings", "changeStep", "removeReservedTicket", "reserveTicket", "payTicketWithProvider", "trackEvent", "onPurchaseComplete", "getTicketTypesAndTaxes", "getLoginCode", "passwordlessLogin", "goToLogin", "loginOptions", "allowsNativeAuth", "allowsOtpAuth", "reservation", "checkout", "ticketTypes", "taxTypes", "step", "passwordlessCodeSent", "passwordlessEmail", "passwordlessCode", "passwordlessCodeLifeTime", "getPasswordlessCode", "passwordlessCodeError", "loginWithCode", "goToExtraQuestions", "goToMyOrders", "goToEvent", "profileData", "summitData", "supportEmail", "ticketOwned", "ownedTickets", "widgetLoading", "loading", "inPersonDisclaimer", "userProfile", "handleCompanyError", "providerOptions", "invitation", "loginInitialEmailInputValue", "getMyInvitation", "showMultipleTicketTexts", "noAllowedTicketsMessage", "ticketTaxesErrorMessage", "authErrorCallback", "clearWidgetState", "allowPromoCodes", "showCompanyInput", "companyDDLPlaceholder", "nowUtc", "updateClock", "completedExtraQuestions", "loadProfileData", "closeWidget", "hasVirtualAccessLevel", "hidePostalCode", "onError", "successfulPaymentReturnUrl", "idpLogoLight", "idpLogoDark", "idpLogoAlt", "showCompanyInputDefaultOptions", "companyDDLOptions2Show", "promoCode", "promoCodeVerified", "promoCodeValidating", "promoCodeAllowsReassign", "discoveredPromoCodes", "hasDiscount", "getTicketDiscount", "removePromoCode", "applyPromoCode", "validatePromoCode", "discoverPromoCodes", "startWidgetLoading", "stopWidgetLoading", "closeHandlerRef"];
3706
3682
 
3707
3683
  function registration_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; }
3708
3684
 
@@ -3751,7 +3727,6 @@ function registration_form_objectWithoutPropertiesLoose(source, excluded) { if (
3751
3727
 
3752
3728
 
3753
3729
 
3754
-
3755
3730
 
3756
3731
 
3757
3732
  let language = (0,utils/* getCurrentUserLanguage */.AS)();
@@ -3815,7 +3790,6 @@ const RegistrationFormContent = _ref => {
3815
3790
  getMyInvitation,
3816
3791
  showMultipleTicketTexts,
3817
3792
  noAllowedTicketsMessage,
3818
- noTicketsAvailableMessage,
3819
3793
  ticketTaxesErrorMessage,
3820
3794
  authErrorCallback,
3821
3795
  clearWidgetState,
@@ -3884,7 +3858,6 @@ const RegistrationFormContent = _ref => {
3884
3858
  provider
3885
3859
  } = (0,utils/* getCurrentProvider */.U5)(summitData);
3886
3860
  const allowedTicketTypes = (0,external_react_.useMemo)(() => hasTicketData ? ticketTypes.filter(tt => tt.sub_type === constants.TICKET_TYPE_SUBTYPE_PREPAID || tt.sales_start_date === null && tt.sales_end_date === null || nowUtc >= tt.sales_start_date && nowUtc <= tt.sales_end_date) : [], [hasTicketData, ticketTypes, nowUtc]);
3887
- const noAvailableTickets = (0,external_react_.useMemo)(() => isAuthenticated && hasTicketData && !ticketDataError && allowedTicketTypes.length === 0 && step !== constants.STEP_COMPLETE, [isAuthenticated, hasTicketData, ticketDataError, allowedTicketTypes, step]);
3888
3861
  const alreadyOwnedTickets = (0,external_react_.useMemo)(() => isAuthenticated && hasTicketData && !ticketDataError && allowedTicketTypes.length > 0 && ownedTickets.length > 0, [isAuthenticated, hasTicketData, ticketDataError, allowedTicketTypes, ownedTickets]);
3889
3862
  (0,external_react_.useEffect)(() => {
3890
3863
  if (profileData) loadProfileData(profileData);
@@ -4108,7 +4081,7 @@ const RegistrationFormContent = _ref => {
4108
4081
  changeForm: mergeFormValues,
4109
4082
  trackViewItem: trackViewItem,
4110
4083
  showMultipleTicketTexts: showMultipleTicketTexts,
4111
- noTicketsAvailableMessage: noTicketsAvailableMessage
4084
+ noAllowedTicketsMessage: noAllowedTicketsMessage
4112
4085
  }), /*#__PURE__*/external_react_default().createElement(personal_information, {
4113
4086
  isActive: step === constants.STEP_PERSONAL_INFO,
4114
4087
  reservation: reservation,
@@ -4312,8 +4285,8 @@ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_)
4312
4285
  // EXTERNAL MODULE: external "prop-types"
4313
4286
  var external_prop_types_ = __webpack_require__(580);
4314
4287
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
4315
- // EXTERNAL MODULE: ./src/components/registration-form/index.js + 46 modules
4316
- var registration_form = __webpack_require__(95);
4288
+ // EXTERNAL MODULE: ./src/components/registration-form/index.js + 44 modules
4289
+ var registration_form = __webpack_require__(868);
4317
4290
  // EXTERNAL MODULE: ./src/utils/withReduxProvider.js + 9 modules
4318
4291
  var withReduxProvider = __webpack_require__(974);
4319
4292
  ;// CONCATENATED MODULE: ./src/styles/general.module.scss
@@ -4428,7 +4401,6 @@ RegistrationModal.propTypes = {
4428
4401
  initialOrderComplete1stParagraph: (external_prop_types_default()).string,
4429
4402
  initialOrderComplete2ndParagraph: (external_prop_types_default()).string,
4430
4403
  initialOrderCompleteButton: (external_prop_types_default()).string,
4431
- noTicketsAvailableMessage: (external_prop_types_default()).string,
4432
4404
  orderCompleteTitle: (external_prop_types_default()).string,
4433
4405
  orderComplete1stParagraph: (external_prop_types_default()).string,
4434
4406
  orderComplete2ndParagraph: (external_prop_types_default()).string,
@@ -5425,7 +5397,7 @@ __webpack_require__.r(__webpack_exports__);
5425
5397
  /* harmony import */ var _login__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(462);
5426
5398
  /* harmony import */ var _login_passwordless__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(590);
5427
5399
  /* harmony import */ var _registration_modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(889);
5428
- /* harmony import */ var _registration_form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(95);
5400
+ /* harmony import */ var _registration_form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(868);
5429
5401
  /**
5430
5402
  * Copyright 2026 OpenStack Foundation
5431
5403
  * Licensed under the Apache License, Version 2.0 (the "License");