summit-registration-lite 7.0.4 → 7.0.5

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.
@@ -1,6 +1,6 @@
1
1
  {
2
- "pid": 121609,
2
+ "pid": 281763,
3
3
  "version": "0.9.6",
4
4
  "socketPath": "/home/smarcet/git/fntech/event-site/summit-registration-lite/.codegraph/daemon.sock",
5
- "startedAt": 1780427591594
5
+ "startedAt": 1780669790985
6
6
  }
@@ -40,7 +40,6 @@ __webpack_require__.d(__webpack_exports__, {
40
40
  "Nh": () => (/* binding */ SET_PASSWORDLESS_SETTINGS),
41
41
  "Vx": () => (/* binding */ START_WIDGET_LOADING),
42
42
  "sC": () => (/* binding */ STOP_WIDGET_LOADING),
43
- "VH": () => (/* binding */ UPDATE_CLOCK),
44
43
  "j6": () => (/* binding */ VALIDATE_PROMO_CODE),
45
44
  "o5": () => (/* binding */ VALIDATE_PROMO_CODE_ERROR),
46
45
  "Tk": () => (/* binding */ VALIDATE_PROMO_CODE_RATE_LIMITED),
@@ -63,7 +62,6 @@ __webpack_require__.d(__webpack_exports__, {
63
62
  "cL": () => (/* binding */ reserveTicket),
64
63
  "Bq": () => (/* binding */ startWidgetLoading),
65
64
  "Rs": () => (/* binding */ stopWidgetLoading),
66
- "ry": () => (/* binding */ updateClock),
67
65
  "jn": () => (/* binding */ validatePromoCode)
68
66
  });
69
67
 
@@ -398,7 +396,6 @@ const GO_TO_LOGIN = 'GO_TO_LOGIN';
398
396
  const GET_MY_INVITATION = 'GET_MY_INVITATION';
399
397
  const CLEAR_MY_INVITATION = 'CLEAR_MY_INVITATION';
400
398
  const CLEAR_WIDGET_STATE = 'CLEAR_WIDGET_STATE';
401
- const UPDATE_CLOCK = 'UPDATE_CLOCK';
402
399
  const LOAD_PROFILE_DATA = 'LOAD_PROFILE_DATA';
403
400
  const SET_CURRENT_PROMO_CODE = 'SET_CURRENT_PROMO_CODE';
404
401
  const CLEAR_CURRENT_PROMO_CODE = 'CLEAR_CURRENT_PROMO_CODE';
@@ -899,11 +896,6 @@ const getMyInvitation = summitId => async (dispatch, getState, {
899
896
  return Promise.reject(e);
900
897
  }
901
898
  };
902
- const updateClock = timestamp => dispatch => {
903
- dispatch((0,actions_namespaceObject.createAction)(UPDATE_CLOCK)({
904
- timestamp
905
- }));
906
- };
907
899
 
908
900
  /***/ }),
909
901
 
@@ -1344,7 +1336,7 @@ LoginComponent.defaultProps = {
1344
1336
 
1345
1337
  /***/ }),
1346
1338
 
1347
- /***/ 868:
1339
+ /***/ 485:
1348
1340
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1349
1341
 
1350
1342
  "use strict";
@@ -1363,8 +1355,10 @@ var external_react_redux_ = __webpack_require__(22);
1363
1355
  // EXTERNAL MODULE: external "prop-types"
1364
1356
  var external_prop_types_ = __webpack_require__(580);
1365
1357
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
1366
- // EXTERNAL MODULE: ./src/utils/withReduxProvider.js + 9 modules
1367
- var withReduxProvider = __webpack_require__(974);
1358
+ // EXTERNAL MODULE: ./src/utils/withWidgetProviders.js + 8 modules
1359
+ var withWidgetProviders = __webpack_require__(336);
1360
+ // EXTERNAL MODULE: external "openstack-uicore-foundation/lib/components/clock-context"
1361
+ var clock_context_ = __webpack_require__(959);
1368
1362
  ;// CONCATENATED MODULE: external "react-spring"
1369
1363
  const external_react_spring_namespaceObject = require("react-spring");
1370
1364
  ;// CONCATENATED MODULE: external "react-use"
@@ -1626,9 +1620,6 @@ const usePromoCode = ({
1626
1620
  ;// CONCATENATED MODULE: external "openstack-uicore-foundation/lib/components/ajaxloader"
1627
1621
  const ajaxloader_namespaceObject = require("openstack-uicore-foundation/lib/components/ajaxloader");
1628
1622
  var ajaxloader_default = /*#__PURE__*/__webpack_require__.n(ajaxloader_namespaceObject);
1629
- ;// CONCATENATED MODULE: external "openstack-uicore-foundation/lib/components/clock"
1630
- const clock_namespaceObject = require("openstack-uicore-foundation/lib/components/clock");
1631
- var clock_default = /*#__PURE__*/__webpack_require__.n(clock_namespaceObject);
1632
1623
  // EXTERNAL MODULE: ./src/components/login/index.js + 2 modules
1633
1624
  var login = __webpack_require__(462);
1634
1625
  ;// CONCATENATED MODULE: ./src/components/payment/index.module.scss
@@ -3421,7 +3412,7 @@ const external_react_content_loader_namespaceObject = require("react-content-loa
3421
3412
  var external_react_content_loader_default = /*#__PURE__*/__webpack_require__.n(external_react_content_loader_namespaceObject);
3422
3413
  ;// CONCATENATED MODULE: ./src/components/purchase-complete/index.js
3423
3414
  const _excluded = ["cta", "clear", "close"],
3424
- _excluded2 = ["checkout", "user", "onPurchaseComplete", "goToExtraQuestions", "goToEvent", "goToMyOrders", "completedExtraQuestions", "summit", "nowUtc", "clearWidgetState", "closeWidget", "supportEmail", "hasVirtualAccessLevel"];
3415
+ _excluded2 = ["checkout", "user", "onPurchaseComplete", "goToExtraQuestions", "goToEvent", "goToMyOrders", "completedExtraQuestions", "summit", "clearWidgetState", "closeWidget", "supportEmail", "hasVirtualAccessLevel"];
3425
3416
 
3426
3417
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
3427
3418
 
@@ -3448,6 +3439,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
3448
3439
 
3449
3440
 
3450
3441
 
3442
+
3451
3443
  const CTAButton = _ref => {
3452
3444
  let {
3453
3445
  cta,
@@ -3476,7 +3468,6 @@ const PurchaseComplete = _ref2 => {
3476
3468
  goToMyOrders,
3477
3469
  completedExtraQuestions,
3478
3470
  summit,
3479
- nowUtc,
3480
3471
  clearWidgetState,
3481
3472
  closeWidget,
3482
3473
  supportEmail,
@@ -3489,8 +3480,10 @@ const PurchaseComplete = _ref2 => {
3489
3480
  }, []);
3490
3481
  const [requireExtraQuestions, setRequireExtraQuestions] = (0,external_react_.useState)(null);
3491
3482
  const [extraQuestionsLoaded, setExtraQuestonsLoaded] = (0,external_react_.useState)(false);
3492
- const isMultiOrder = (0,external_react_.useMemo)(() => checkout?.tickets.length > 1, [checkout]);
3493
- const isActive = (0,external_react_.useMemo)(() => summit.start_date <= nowUtc && summit.end_date >= nowUtc, [summit, nowUtc]);
3483
+ const isMultiOrder = (0,external_react_.useMemo)(() => checkout?.tickets.length > 1, [checkout]); // Re-runs every clock tick but the boolean only changes on summit
3484
+ // active/inactive transitions (typically zero times per session).
3485
+
3486
+ const isActive = (0,clock_context_.useClockSelector)((0,external_react_.useCallback)(nowUtc => summit.start_date <= nowUtc && summit.end_date >= nowUtc, [summit.start_date, summit.end_date]));
3494
3487
  const currentTicket = (0,external_react_.useMemo)(() => isMultiOrder ? checkout?.tickets.find(t => t?.owner?.email === user?.email) : checkout?.tickets.find(t => t?.owner), [user]);
3495
3488
  (0,external_react_.useEffect)(() => {
3496
3489
  completedExtraQuestions(currentTicket?.owner || null).then(res => {
@@ -3678,7 +3671,7 @@ const TicketTaxesError = ({
3678
3671
 
3679
3672
  /* harmony default export */ const ticket_taxes_error = (TicketTaxesError);
3680
3673
  ;// CONCATENATED MODULE: ./src/components/registration-form/index.js
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"];
3674
+ 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", "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"];
3682
3675
 
3683
3676
  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; }
3684
3677
 
@@ -3742,6 +3735,11 @@ try {
3742
3735
  external_i18n_react_default().setTexts(__webpack_require__(443));
3743
3736
  }
3744
3737
 
3738
+ const isTicketCurrentlyAvailable = (tt, nowUtc) => // prepaid tickets are always available (sales windows don't apply)
3739
+ tt.sub_type === constants.TICKET_TYPE_SUBTYPE_PREPAID || // no sales window configured → ticket is open-ended, always available
3740
+ tt.sales_start_date === null && tt.sales_end_date === null || // ticket is within its configured sales window
3741
+ nowUtc >= tt.sales_start_date && nowUtc <= tt.sales_end_date;
3742
+
3745
3743
  const RegistrationFormContent = _ref => {
3746
3744
  let {
3747
3745
  loadSession,
@@ -3796,8 +3794,6 @@ const RegistrationFormContent = _ref => {
3796
3794
  allowPromoCodes,
3797
3795
  showCompanyInput,
3798
3796
  companyDDLPlaceholder,
3799
- nowUtc,
3800
- updateClock,
3801
3797
  completedExtraQuestions,
3802
3798
  loadProfileData,
3803
3799
  closeWidget,
@@ -3856,8 +3852,11 @@ const RegistrationFormContent = _ref => {
3856
3852
  const {
3857
3853
  publicKey,
3858
3854
  provider
3859
- } = (0,utils/* getCurrentProvider */.U5)(summitData);
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]);
3855
+ } = (0,utils/* getCurrentProvider */.U5)(summitData); // Re-runs every clock tick but only commits a new array when the filtered
3856
+ // contents shift (a sale window opens/closes), so the form tree stops
3857
+ // re-rendering once per second.
3858
+
3859
+ const allowedTicketTypes = (0,clock_context_.useClockSelector)((0,external_react_.useCallback)(nowUtc => hasTicketData ? ticketTypes.filter(tt => isTicketCurrentlyAvailable(tt, nowUtc)) : [], [hasTicketData, ticketTypes]), external_react_redux_.shallowEqual);
3861
3860
  const alreadyOwnedTickets = (0,external_react_.useMemo)(() => isAuthenticated && hasTicketData && !ticketDataError && allowedTicketTypes.length > 0 && ownedTickets.length > 0, [isAuthenticated, hasTicketData, ticketDataError, allowedTicketTypes, ownedTickets]);
3862
3861
  (0,external_react_.useEffect)(() => {
3863
3862
  if (profileData) loadProfileData(profileData);
@@ -4036,9 +4035,6 @@ const RegistrationFormContent = _ref => {
4036
4035
  color: '#ffffff',
4037
4036
  show: widgetLoading || loading,
4038
4037
  size: 80
4039
- }), /*#__PURE__*/external_react_default().createElement((clock_default()), {
4040
- onTick: timestamp => updateClock(timestamp),
4041
- timezone: summitData.time_zone_id
4042
4038
  }), profileData && ticketDataError && /*#__PURE__*/external_react_default().createElement(ticket_taxes_error, {
4043
4039
  ticketTaxesErrorMessage: ticketTaxesErrorMessage,
4044
4040
  retryTicketTaxes: () => handleGetTicketTypesAndTaxes(summitData?.id)
@@ -4154,7 +4150,6 @@ const RegistrationFormContent = _ref => {
4154
4150
  goToMyOrders: goToMyOrders,
4155
4151
  goToExtraQuestions: goToExtraQuestions,
4156
4152
  completedExtraQuestions: completedExtraQuestions,
4157
- nowUtc: nowUtc,
4158
4153
  clearWidgetState: clearWidgetState,
4159
4154
  closeWidget: closeWidget,
4160
4155
  hasVirtualAccessLevel: hasVirtualAccessLevel,
@@ -4185,7 +4180,6 @@ const mapStateToProps = ({
4185
4180
  passwordlessCodeLifeTime: registrationLiteState.passwordless.otp_lifetime,
4186
4181
  passwordlessCodeSent: registrationLiteState.passwordless.code_sent,
4187
4182
  passwordlessCodeError: registrationLiteState.passwordless.error,
4188
- nowUtc: registrationLiteState.nowUtc,
4189
4183
  promoCode: registrationLiteState.promoCode,
4190
4184
  promoCodeVerified: registrationLiteState.promoCodeVerified,
4191
4185
  promoCodeValidating: registrationLiteState.promoCodeValidating,
@@ -4205,7 +4199,6 @@ const RegistrationForm = (0,external_react_redux_.connect)(mapStateToProps, {
4205
4199
  goToLogin: actions/* goToLogin */.hh,
4206
4200
  getMyInvitation: actions/* getMyInvitation */.q1,
4207
4201
  clearWidgetState: actions/* clearWidgetState */.YS,
4208
- updateClock: actions/* updateClock */.ry,
4209
4202
  loadProfileData: actions/* loadProfileData */.Bi,
4210
4203
  applyPromoCode: actions/* applyPromoCode */.gs,
4211
4204
  removePromoCode: actions/* removePromoCode */.$r,
@@ -4265,7 +4258,7 @@ RegistrationForm.propTypes = {
4265
4258
  companyDDLOptions2Show: (external_prop_types_default()).number
4266
4259
  };
4267
4260
 
4268
- /* harmony default export */ const registration_form = ((0,withReduxProvider/* withReduxProvider */.y)(RegistrationForm));
4261
+ /* harmony default export */ const registration_form = ((0,withWidgetProviders/* withWidgetProviders */.F)(RegistrationForm));
4269
4262
 
4270
4263
  /***/ }),
4271
4264
 
@@ -4285,10 +4278,10 @@ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_)
4285
4278
  // EXTERNAL MODULE: external "prop-types"
4286
4279
  var external_prop_types_ = __webpack_require__(580);
4287
4280
  var external_prop_types_default = /*#__PURE__*/__webpack_require__.n(external_prop_types_);
4288
- // EXTERNAL MODULE: ./src/components/registration-form/index.js + 44 modules
4289
- var registration_form = __webpack_require__(868);
4290
- // EXTERNAL MODULE: ./src/utils/withReduxProvider.js + 9 modules
4291
- var withReduxProvider = __webpack_require__(974);
4281
+ // EXTERNAL MODULE: ./src/components/registration-form/index.js + 43 modules
4282
+ var registration_form = __webpack_require__(485);
4283
+ // EXTERNAL MODULE: ./src/utils/withWidgetProviders.js + 8 modules
4284
+ var withWidgetProviders = __webpack_require__(336);
4292
4285
  ;// CONCATENATED MODULE: ./src/styles/general.module.scss
4293
4286
  // extracted by mini-css-extract-plugin
4294
4287
  /* harmony default export */ const general_module = ({"modal":"modal___G3Cmq","modalContent":"modalContent___lIaqw","outerWrapper":"outerWrapper___OWXyi","innerWrapper":"innerWrapper___mIrBF","title":"title___Tbvkl"});
@@ -4408,7 +4401,7 @@ RegistrationModal.propTypes = {
4408
4401
  showCompanyInputDefaultOptions: (external_prop_types_default()).bool,
4409
4402
  companyDDLOptions2Show: (external_prop_types_default()).number
4410
4403
  };
4411
- /* harmony default export */ const registration_modal = ((0,withReduxProvider/* withReduxProvider */.y)(RegistrationModal));
4404
+ /* harmony default export */ const registration_modal = ((0,withWidgetProviders/* withWidgetProviders */.F)(RegistrationModal));
4412
4405
 
4413
4406
  /***/ }),
4414
4407
 
@@ -4771,14 +4764,14 @@ const avoidTooltipOverflow = ({
4771
4764
 
4772
4765
  /***/ }),
4773
4766
 
4774
- /***/ 974:
4767
+ /***/ 336:
4775
4768
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
4776
4769
 
4777
4770
  "use strict";
4778
4771
 
4779
4772
  // EXPORTS
4780
4773
  __webpack_require__.d(__webpack_exports__, {
4781
- "y": () => (/* binding */ withReduxProvider)
4774
+ "F": () => (/* binding */ withWidgetProviders)
4782
4775
  });
4783
4776
 
4784
4777
  // UNUSED EXPORTS: default
@@ -4790,6 +4783,8 @@ var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_)
4790
4783
  var external_react_redux_ = __webpack_require__(22);
4791
4784
  ;// CONCATENATED MODULE: external "redux-persist/integration/react"
4792
4785
  const react_namespaceObject = require("redux-persist/integration/react");
4786
+ // EXTERNAL MODULE: external "openstack-uicore-foundation/lib/components/clock-context"
4787
+ var clock_context_ = __webpack_require__(959);
4793
4788
  ;// CONCATENATED MODULE: external "redux"
4794
4789
  const external_redux_namespaceObject = require("redux");
4795
4790
  ;// CONCATENATED MODULE: external "redux-thunk"
@@ -4804,9 +4799,6 @@ var storage_default = /*#__PURE__*/__webpack_require__.n(storage_namespaceObject
4804
4799
  var actions = __webpack_require__(595);
4805
4800
  ;// CONCATENATED MODULE: external "openstack-uicore-foundation/lib/security/actions"
4806
4801
  const actions_namespaceObject = require("openstack-uicore-foundation/lib/security/actions");
4807
- ;// CONCATENATED MODULE: external "moment"
4808
- const external_moment_namespaceObject = require("moment");
4809
- var external_moment_default = /*#__PURE__*/__webpack_require__.n(external_moment_namespaceObject);
4810
4802
  // EXTERNAL MODULE: ./src/utils/constants.js
4811
4803
  var constants = __webpack_require__(243);
4812
4804
  ;// CONCATENATED MODULE: ./src/reducer.js
@@ -4831,8 +4823,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
4831
4823
 
4832
4824
 
4833
4825
 
4834
-
4835
- const localNowUtc = external_moment_default()().unix();
4836
4826
  const DEFAULT_STATE = {
4837
4827
  reservation: null,
4838
4828
  checkout: null,
@@ -4856,7 +4846,6 @@ const DEFAULT_STATE = {
4856
4846
  summitId: null,
4857
4847
  userProfile: null
4858
4848
  },
4859
- nowUtc: localNowUtc,
4860
4849
  promoCode: '',
4861
4850
  promoCodeVerified: null,
4862
4851
  promoCodeValidating: false,
@@ -5056,16 +5045,6 @@ const RegistrationLiteReducer = (state = DEFAULT_STATE, action) => {
5056
5045
  });
5057
5046
  }
5058
5047
 
5059
- case actions/* UPDATE_CLOCK */.VH:
5060
- {
5061
- const {
5062
- timestamp
5063
- } = payload;
5064
- return _objectSpread(_objectSpread({}, state), {}, {
5065
- nowUtc: timestamp
5066
- });
5067
- }
5068
-
5069
5048
  case actions/* CLEAR_CURRENT_PROMO_CODE */.ZD:
5070
5049
  {
5071
5050
  return _objectSpread(_objectSpread({}, state), {}, {
@@ -5185,7 +5164,7 @@ const getPersistor = () => {
5185
5164
  persistor = (0,external_redux_persist_namespaceObject.persistStore)(store, null, onRehydrateComplete);
5186
5165
  return persistor;
5187
5166
  };
5188
- ;// CONCATENATED MODULE: ./src/utils/withReduxProvider.js
5167
+ ;// CONCATENATED MODULE: ./src/utils/withWidgetProviders.js
5189
5168
  /**
5190
5169
  * Copyright 2026 OpenStack Foundation
5191
5170
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -5198,36 +5177,42 @@ const getPersistor = () => {
5198
5177
  * See the License for the specific language governing permissions and
5199
5178
  * limitations under the License.
5200
5179
  *
5201
- * HOC to wrap a component with Redux Provider and PersistGate.
5180
+ * HOC to wrap a widget root with Redux, PersistGate, and ClockProvider.
5202
5181
  **/
5203
5182
 
5204
5183
 
5205
5184
 
5206
5185
 
5207
- const withReduxProvider = WrappedComponent => {
5208
- class WithReduxProvider extends (external_react_default()).PureComponent {
5186
+
5187
+ const withWidgetProviders = WrappedComponent => {
5188
+ class WithWidgetProviders extends (external_react_default()).PureComponent {
5209
5189
  constructor(props) {
5210
5190
  super(props);
5211
5191
  this.store = getStore(props.clientId, props.apiBaseUrl, props.getAccessToken);
5212
5192
  }
5213
5193
 
5214
5194
  render() {
5195
+ const {
5196
+ summitData
5197
+ } = this.props;
5215
5198
  return /*#__PURE__*/external_react_default().createElement(external_react_redux_.Provider, {
5216
5199
  store: this.store
5217
5200
  }, /*#__PURE__*/external_react_default().createElement(react_namespaceObject.PersistGate, {
5218
5201
  persistor: getPersistor()
5219
- }, /*#__PURE__*/external_react_default().createElement(WrappedComponent, this.props)));
5202
+ }, /*#__PURE__*/external_react_default().createElement(clock_context_.ClockProvider, {
5203
+ timezone: summitData?.time_zone_id || 'UTC',
5204
+ now: Math.floor(Date.now() / 1000)
5205
+ }, /*#__PURE__*/external_react_default().createElement(WrappedComponent, this.props))));
5220
5206
  }
5221
5207
 
5222
- } // Copy propTypes and defaultProps from wrapped component
5223
-
5208
+ }
5224
5209
 
5225
- WithReduxProvider.propTypes = WrappedComponent.propTypes;
5226
- WithReduxProvider.defaultProps = WrappedComponent.defaultProps;
5227
- WithReduxProvider.displayName = `WithReduxProvider(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;
5228
- return WithReduxProvider;
5210
+ WithWidgetProviders.propTypes = WrappedComponent.propTypes;
5211
+ WithWidgetProviders.defaultProps = WrappedComponent.defaultProps;
5212
+ WithWidgetProviders.displayName = `WithWidgetProviders(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`;
5213
+ return WithWidgetProviders;
5229
5214
  };
5230
- /* harmony default export */ const utils_withReduxProvider = ((/* unused pure expression or super */ null && (withReduxProvider)));
5215
+ /* harmony default export */ const utils_withWidgetProviders = ((/* unused pure expression or super */ null && (withWidgetProviders)));
5231
5216
 
5232
5217
  /***/ }),
5233
5218
 
@@ -5274,6 +5259,14 @@ webpackContext.id = 267;
5274
5259
 
5275
5260
  /***/ }),
5276
5261
 
5262
+ /***/ 959:
5263
+ /***/ ((module) => {
5264
+
5265
+ "use strict";
5266
+ module.exports = require("openstack-uicore-foundation/lib/components/clock-context");
5267
+
5268
+ /***/ }),
5269
+
5277
5270
  /***/ 580:
5278
5271
  /***/ ((module) => {
5279
5272
 
@@ -5397,7 +5390,7 @@ __webpack_require__.r(__webpack_exports__);
5397
5390
  /* harmony import */ var _login__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(462);
5398
5391
  /* harmony import */ var _login_passwordless__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(590);
5399
5392
  /* harmony import */ var _registration_modal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(889);
5400
- /* harmony import */ var _registration_form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(868);
5393
+ /* harmony import */ var _registration_form__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(485);
5401
5394
  /**
5402
5395
  * Copyright 2026 OpenStack Foundation
5403
5396
  * Licensed under the Apache License, Version 2.0 (the "License");