@mj-biz-apps/orders-ng 5.41.0 → 5.43.0

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 (88) hide show
  1. package/dist/checkout-element/main.js +368 -246
  2. package/dist/lib/checkout-widget/checkout-account.d.ts +10 -0
  3. package/dist/lib/checkout-widget/checkout-account.d.ts.map +1 -1
  4. package/dist/lib/checkout-widget/checkout-account.js +12 -0
  5. package/dist/lib/checkout-widget/checkout-account.js.map +1 -1
  6. package/dist/lib/checkout-widget/checkout-events.d.ts +15 -1
  7. package/dist/lib/checkout-widget/checkout-events.d.ts.map +1 -1
  8. package/dist/lib/checkout-widget/checkout-events.js +3 -1
  9. package/dist/lib/checkout-widget/checkout-events.js.map +1 -1
  10. package/dist/lib/checkout-widget/checkout-public-host.component.d.ts +6 -0
  11. package/dist/lib/checkout-widget/checkout-public-host.component.d.ts.map +1 -1
  12. package/dist/lib/checkout-widget/checkout-public-host.component.js +50 -21
  13. package/dist/lib/checkout-widget/checkout-public-host.component.js.map +1 -1
  14. package/dist/lib/checkout-widget/checkout-widget.component.d.ts +38 -2
  15. package/dist/lib/checkout-widget/checkout-widget.component.d.ts.map +1 -1
  16. package/dist/lib/checkout-widget/checkout-widget.component.js +313 -227
  17. package/dist/lib/checkout-widget/checkout-widget.component.js.map +1 -1
  18. package/dist/lib/custom/OrderHeader/order-header-form.component.d.ts.map +1 -1
  19. package/dist/lib/custom/OrderHeader/order-header-form.component.js +2 -1
  20. package/dist/lib/custom/OrderHeader/order-header-form.component.js.map +1 -1
  21. package/dist/lib/custom/OrderHeader/order-lines-editor.component.d.ts +14 -2
  22. package/dist/lib/custom/OrderHeader/order-lines-editor.component.d.ts.map +1 -1
  23. package/dist/lib/custom/OrderHeader/order-lines-editor.component.js +44 -6
  24. package/dist/lib/custom/OrderHeader/order-lines-editor.component.js.map +1 -1
  25. package/dist/lib/custom/OrderHeader/picker-scroll.d.ts +12 -0
  26. package/dist/lib/custom/OrderHeader/picker-scroll.d.ts.map +1 -0
  27. package/dist/lib/custom/OrderHeader/picker-scroll.js +15 -0
  28. package/dist/lib/custom/OrderHeader/picker-scroll.js.map +1 -0
  29. package/dist/lib/custom/PaymentHeader/payment-header-form.component.d.ts +11 -0
  30. package/dist/lib/custom/PaymentHeader/payment-header-form.component.d.ts.map +1 -1
  31. package/dist/lib/custom/PaymentHeader/payment-header-form.component.js +363 -297
  32. package/dist/lib/custom/PaymentHeader/payment-header-form.component.js.map +1 -1
  33. package/dist/lib/data/orders-grid-state.d.ts +2 -1
  34. package/dist/lib/data/orders-grid-state.d.ts.map +1 -1
  35. package/dist/lib/data/orders-grid-state.js +2 -1
  36. package/dist/lib/data/orders-grid-state.js.map +1 -1
  37. package/dist/lib/data/orders-queries.d.ts +17 -4
  38. package/dist/lib/data/orders-queries.d.ts.map +1 -1
  39. package/dist/lib/data/orders-queries.js +30 -6
  40. package/dist/lib/data/orders-queries.js.map +1 -1
  41. package/dist/lib/form-panels/document-overviews.panels.js +1 -1
  42. package/dist/lib/form-panels/document-overviews.panels.js.map +1 -1
  43. package/dist/lib/form-panels/external-invoices.panel.js +3 -3
  44. package/dist/lib/form-panels/external-invoices.panel.js.map +1 -1
  45. package/dist/lib/form-panels/organization-orders.panel.d.ts +8 -1
  46. package/dist/lib/form-panels/organization-orders.panel.d.ts.map +1 -1
  47. package/dist/lib/form-panels/organization-orders.panel.js +29 -5
  48. package/dist/lib/form-panels/organization-orders.panel.js.map +1 -1
  49. package/dist/lib/form-panels/person-orders.panel.d.ts +8 -1
  50. package/dist/lib/form-panels/person-orders.panel.d.ts.map +1 -1
  51. package/dist/lib/form-panels/person-orders.panel.js +29 -5
  52. package/dist/lib/form-panels/person-orders.panel.js.map +1 -1
  53. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderHeader/mjbizappsordersorderheader.form.component.js +2 -2
  54. package/dist/lib/generated/Entities/mjBizAppsOrdersOrderHeader/mjbizappsordersorderheader.form.component.js.map +1 -1
  55. package/dist/lib/pages/orders/order-document.page.d.ts +13 -2
  56. package/dist/lib/pages/orders/order-document.page.d.ts.map +1 -1
  57. package/dist/lib/pages/orders/order-document.page.js +37 -6
  58. package/dist/lib/pages/orders/order-document.page.js.map +1 -1
  59. package/dist/lib/pages/orders/return.page.d.ts +9 -3
  60. package/dist/lib/pages/orders/return.page.d.ts.map +1 -1
  61. package/dist/lib/pages/orders/return.page.js +106 -83
  62. package/dist/lib/pages/orders/return.page.js.map +1 -1
  63. package/dist/lib/pages/payments/payments-dashboard.page.d.ts +11 -2
  64. package/dist/lib/pages/payments/payments-dashboard.page.d.ts.map +1 -1
  65. package/dist/lib/pages/payments/payments-dashboard.page.js +14 -12
  66. package/dist/lib/pages/payments/payments-dashboard.page.js.map +1 -1
  67. package/dist/lib/pages/payments/payments-list.page.d.ts +12 -3
  68. package/dist/lib/pages/payments/payments-list.page.d.ts.map +1 -1
  69. package/dist/lib/pages/payments/payments-list.page.js +15 -13
  70. package/dist/lib/pages/payments/payments-list.page.js.map +1 -1
  71. package/dist/lib/pages/receivables/billing.page.js +11 -11
  72. package/dist/lib/pages/receivables/billing.page.js.map +1 -1
  73. package/dist/lib/pages/receivables/external-invoicing-queue.page.js +1 -1
  74. package/dist/lib/pages/receivables/external-invoicing-queue.page.js.map +1 -1
  75. package/dist/lib/pages/receivables/progress.page.js +5 -5
  76. package/dist/lib/pages/receivables/subscriptions.page.d.ts +14 -3
  77. package/dist/lib/pages/receivables/subscriptions.page.d.ts.map +1 -1
  78. package/dist/lib/pages/receivables/subscriptions.page.js +17 -13
  79. package/dist/lib/pages/receivables/subscriptions.page.js.map +1 -1
  80. package/dist/lib/sections/section-nav.model.js +1 -1
  81. package/dist/lib/sections/section-nav.model.js.map +1 -1
  82. package/dist/lib/sections/section-shell.component.js +2 -2
  83. package/dist/lib/services/pricing-scheduler.service.d.ts +15 -1
  84. package/dist/lib/services/pricing-scheduler.service.d.ts.map +1 -1
  85. package/dist/lib/services/pricing-scheduler.service.js +31 -2
  86. package/dist/lib/services/pricing-scheduler.service.js.map +1 -1
  87. package/dist/lib/styles/orders-kit.css +21 -15
  88. package/package.json +3 -3
@@ -31753,6 +31753,16 @@ function MayRedirect(account, dismissed = false) {
31753
31753
  function IsAccountSettled(account) {
31754
31754
  return !account || account.Outcome !== "Failed" && !account.CanSetPassword;
31755
31755
  }
31756
+ function ReadCheckoutConfirmation(raw) {
31757
+ if (!raw || typeof raw !== "object")
31758
+ return null;
31759
+ const c = raw;
31760
+ const text2 = (value) => typeof value === "string" && value.trim() ? value.trim() : null;
31761
+ return { OrderNumber: text2(c["OrderNumber"]), RedirectUrl: text2(c["RedirectUrl"]), SuccessMessage: text2(c["SuccessMessage"]) };
31762
+ }
31763
+ function ConfirmationMessage(successMessage, orderNumber) {
31764
+ return successMessage || (orderNumber ? `Thank you. Order ${orderNumber} is confirmed.` : "Thank you. Your order is confirmed.");
31765
+ }
31756
31766
 
31757
31767
  // dist/lib/checkout-widget/checkout-events.js
31758
31768
  var CHECKOUT_STATE_CHANGE_EVENT = "checkout-state-change";
@@ -37100,7 +37110,7 @@ function MJCheckoutWidgetComponent_Conditional_4_Template(rf, ctx) {
37100
37110
  }
37101
37111
  function MJCheckoutWidgetComponent_Conditional_5_Template(rf, ctx) {
37102
37112
  if (rf & 1) {
37103
- \u0275\u0275elementStart(0, "div", 4)(1, "span", 26);
37113
+ \u0275\u0275elementStart(0, "div", 4)(1, "span", 27);
37104
37114
  \u0275\u0275text(2, "\u26A0\uFE0F");
37105
37115
  \u0275\u0275elementEnd();
37106
37116
  \u0275\u0275elementStart(3, "span");
@@ -37113,23 +37123,35 @@ function MJCheckoutWidgetComponent_Conditional_5_Template(rf, ctx) {
37113
37123
  \u0275\u0275textInterpolate(ctx_r0.displayErrorMessage());
37114
37124
  }
37115
37125
  }
37116
- function MJCheckoutWidgetComponent_Conditional_11_Template(rf, ctx) {
37126
+ function MJCheckoutWidgetComponent_Conditional_6_Template(rf, ctx) {
37127
+ if (rf & 1) {
37128
+ \u0275\u0275elementStart(0, "div", 5)(1, "span");
37129
+ \u0275\u0275text(2);
37130
+ \u0275\u0275elementEnd()();
37131
+ }
37132
+ if (rf & 2) {
37133
+ const ctx_r0 = \u0275\u0275nextContext();
37134
+ \u0275\u0275advance(2);
37135
+ \u0275\u0275textInterpolate(ctx_r0.displayNoticeMessage());
37136
+ }
37137
+ }
37138
+ function MJCheckoutWidgetComponent_Conditional_12_Template(rf, ctx) {
37117
37139
  if (rf & 1) {
37118
- \u0275\u0275elementStart(0, "span", 9);
37140
+ \u0275\u0275elementStart(0, "span", 10);
37119
37141
  \u0275\u0275text(1, "FREE");
37120
37142
  \u0275\u0275elementEnd();
37121
37143
  }
37122
37144
  }
37123
- function MJCheckoutWidgetComponent_Conditional_13_Template(rf, ctx) {
37145
+ function MJCheckoutWidgetComponent_Conditional_14_Template(rf, ctx) {
37124
37146
  if (rf & 1) {
37125
- \u0275\u0275elementStart(0, "span", 11);
37147
+ \u0275\u0275elementStart(0, "span", 12);
37126
37148
  \u0275\u0275text(1, "$0.00");
37127
37149
  \u0275\u0275elementEnd();
37128
37150
  }
37129
37151
  }
37130
- function MJCheckoutWidgetComponent_Conditional_14_Template(rf, ctx) {
37152
+ function MJCheckoutWidgetComponent_Conditional_15_Template(rf, ctx) {
37131
37153
  if (rf & 1) {
37132
- \u0275\u0275elementStart(0, "span", 12);
37154
+ \u0275\u0275elementStart(0, "span", 13);
37133
37155
  \u0275\u0275text(1);
37134
37156
  \u0275\u0275elementEnd();
37135
37157
  }
@@ -37139,29 +37161,29 @@ function MJCheckoutWidgetComponent_Conditional_14_Template(rf, ctx) {
37139
37161
  \u0275\u0275textInterpolate2("", ctx_r0.currencySymbol(), "", ((ctx_r0.config == null ? null : ctx_r0.config.unitPrice) || 0).toFixed(2));
37140
37162
  }
37141
37163
  }
37142
- function MJCheckoutWidgetComponent_Conditional_15_Template(rf, ctx) {
37164
+ function MJCheckoutWidgetComponent_Conditional_16_Template(rf, ctx) {
37143
37165
  if (rf & 1) {
37144
37166
  const _r2 = \u0275\u0275getCurrentView();
37145
- \u0275\u0275elementStart(0, "div", 13)(1, "label", 27);
37167
+ \u0275\u0275elementStart(0, "div", 14)(1, "label", 28);
37146
37168
  \u0275\u0275text(2, "Quantity");
37147
37169
  \u0275\u0275elementEnd();
37148
- \u0275\u0275elementStart(3, "div", 28)(4, "button", 29);
37149
- \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Conditional_15_Template_button_click_4_listener() {
37170
+ \u0275\u0275elementStart(3, "div", 29)(4, "button", 30);
37171
+ \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Conditional_16_Template_button_click_4_listener() {
37150
37172
  \u0275\u0275restoreView(_r2);
37151
37173
  const ctx_r0 = \u0275\u0275nextContext();
37152
37174
  return \u0275\u0275resetView(ctx_r0.onQuantityChange(ctx_r0.quantity() - 1));
37153
37175
  });
37154
37176
  \u0275\u0275text(5, "-");
37155
37177
  \u0275\u0275elementEnd();
37156
- \u0275\u0275elementStart(6, "input", 30);
37157
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_15_Template_input_ngModelChange_6_listener($event) {
37178
+ \u0275\u0275elementStart(6, "input", 31);
37179
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_16_Template_input_ngModelChange_6_listener($event) {
37158
37180
  \u0275\u0275restoreView(_r2);
37159
37181
  const ctx_r0 = \u0275\u0275nextContext();
37160
37182
  return \u0275\u0275resetView(ctx_r0.onQuantityChange($event));
37161
37183
  });
37162
37184
  \u0275\u0275elementEnd();
37163
- \u0275\u0275elementStart(7, "button", 29);
37164
- \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Conditional_15_Template_button_click_7_listener() {
37185
+ \u0275\u0275elementStart(7, "button", 30);
37186
+ \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Conditional_16_Template_button_click_7_listener() {
37165
37187
  \u0275\u0275restoreView(_r2);
37166
37188
  const ctx_r0 = \u0275\u0275nextContext();
37167
37189
  return \u0275\u0275resetView(ctx_r0.onQuantityChange(ctx_r0.quantity() + 1));
@@ -37179,18 +37201,18 @@ function MJCheckoutWidgetComponent_Conditional_15_Template(rf, ctx) {
37179
37201
  \u0275\u0275property("disabled", ctx_r0.quantity() >= ((ctx_r0.config == null ? null : ctx_r0.config.maxQuantity) || 50));
37180
37202
  }
37181
37203
  }
37182
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Conditional_3_Template(rf, ctx) {
37204
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Conditional_3_Template(rf, ctx) {
37183
37205
  if (rf & 1) {
37184
- \u0275\u0275elementStart(0, "span", 19);
37206
+ \u0275\u0275elementStart(0, "span", 20);
37185
37207
  \u0275\u0275text(1, "*");
37186
37208
  \u0275\u0275elementEnd();
37187
37209
  }
37188
37210
  }
37189
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_4_Template(rf, ctx) {
37211
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_4_Template(rf, ctx) {
37190
37212
  if (rf & 1) {
37191
37213
  const _r3 = \u0275\u0275getCurrentView();
37192
- \u0275\u0275elementStart(0, "textarea", 37);
37193
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_4_Template_textarea_ngModelChange_0_listener($event) {
37214
+ \u0275\u0275elementStart(0, "textarea", 38);
37215
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_4_Template_textarea_ngModelChange_0_listener($event) {
37194
37216
  \u0275\u0275restoreView(_r3);
37195
37217
  const field_r4 = \u0275\u0275nextContext().$implicit;
37196
37218
  const ctx_r0 = \u0275\u0275nextContext(2);
@@ -37206,9 +37228,9 @@ function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_4_Template(rf, ctx)
37206
37228
  \u0275\u0275property("ngModel", (tmp_12_0 = ctx_r0.units()[0]) == null ? null : tmp_12_0[field_r4.name])("placeholder", field_r4.placeholder || "")("required", field_r4.required || false);
37207
37229
  }
37208
37230
  }
37209
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_5_For_4_Template(rf, ctx) {
37231
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_5_For_4_Template(rf, ctx) {
37210
37232
  if (rf & 1) {
37211
- \u0275\u0275elementStart(0, "option", 21);
37233
+ \u0275\u0275elementStart(0, "option", 22);
37212
37234
  \u0275\u0275text(1);
37213
37235
  \u0275\u0275elementEnd();
37214
37236
  }
@@ -37219,20 +37241,20 @@ function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_5_For_4_Template(rf
37219
37241
  \u0275\u0275textInterpolate(opt_r6.label);
37220
37242
  }
37221
37243
  }
37222
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_5_Template(rf, ctx) {
37244
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_5_Template(rf, ctx) {
37223
37245
  if (rf & 1) {
37224
37246
  const _r5 = \u0275\u0275getCurrentView();
37225
- \u0275\u0275elementStart(0, "select", 38);
37226
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_5_Template_select_ngModelChange_0_listener($event) {
37247
+ \u0275\u0275elementStart(0, "select", 39);
37248
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_5_Template_select_ngModelChange_0_listener($event) {
37227
37249
  \u0275\u0275restoreView(_r5);
37228
37250
  const field_r4 = \u0275\u0275nextContext().$implicit;
37229
37251
  const ctx_r0 = \u0275\u0275nextContext(2);
37230
37252
  return \u0275\u0275resetView(ctx_r0.updateUnitField(0, field_r4.name, $event));
37231
37253
  });
37232
- \u0275\u0275elementStart(1, "option", 21);
37254
+ \u0275\u0275elementStart(1, "option", 22);
37233
37255
  \u0275\u0275text(2);
37234
37256
  \u0275\u0275elementEnd();
37235
- \u0275\u0275repeaterCreate(3, MJCheckoutWidgetComponent_Conditional_17_For_4_Case_5_For_4_Template, 2, 2, "option", 21, _forTrack3);
37257
+ \u0275\u0275repeaterCreate(3, MJCheckoutWidgetComponent_Conditional_18_For_4_Case_5_For_4_Template, 2, 2, "option", 22, _forTrack3);
37236
37258
  \u0275\u0275elementEnd();
37237
37259
  }
37238
37260
  if (rf & 2) {
@@ -37248,11 +37270,11 @@ function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_5_Template(rf, ctx)
37248
37270
  \u0275\u0275repeater(field_r4.options);
37249
37271
  }
37250
37272
  }
37251
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_6_Template(rf, ctx) {
37273
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_6_Template(rf, ctx) {
37252
37274
  if (rf & 1) {
37253
37275
  const _r7 = \u0275\u0275getCurrentView();
37254
- \u0275\u0275elementStart(0, "label", 34)(1, "input", 39);
37255
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_6_Template_input_ngModelChange_1_listener($event) {
37276
+ \u0275\u0275elementStart(0, "label", 35)(1, "input", 40);
37277
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_6_Template_input_ngModelChange_1_listener($event) {
37256
37278
  \u0275\u0275restoreView(_r7);
37257
37279
  const field_r4 = \u0275\u0275nextContext().$implicit;
37258
37280
  const ctx_r0 = \u0275\u0275nextContext(2);
@@ -37273,11 +37295,11 @@ function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_6_Template(rf, ctx)
37273
37295
  \u0275\u0275textInterpolate(field_r4.label);
37274
37296
  }
37275
37297
  }
37276
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_7_Template(rf, ctx) {
37298
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_7_Template(rf, ctx) {
37277
37299
  if (rf & 1) {
37278
37300
  const _r8 = \u0275\u0275getCurrentView();
37279
- \u0275\u0275elementStart(0, "input", 40);
37280
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_7_Template_input_ngModelChange_0_listener($event) {
37301
+ \u0275\u0275elementStart(0, "input", 41);
37302
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_7_Template_input_ngModelChange_0_listener($event) {
37281
37303
  \u0275\u0275restoreView(_r8);
37282
37304
  const field_r4 = \u0275\u0275nextContext().$implicit;
37283
37305
  const ctx_r0 = \u0275\u0275nextContext(2);
@@ -37292,11 +37314,11 @@ function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_7_Template(rf, ctx)
37292
37314
  \u0275\u0275property("ngModel", (tmp_12_0 = ctx_r0.units()[0]) == null ? null : tmp_12_0[field_r4.name])("placeholder", field_r4.placeholder || "")("required", field_r4.required || false);
37293
37315
  }
37294
37316
  }
37295
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_8_Template(rf, ctx) {
37317
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_8_Template(rf, ctx) {
37296
37318
  if (rf & 1) {
37297
37319
  const _r9 = \u0275\u0275getCurrentView();
37298
- \u0275\u0275elementStart(0, "input", 41);
37299
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_8_Template_input_ngModelChange_0_listener($event) {
37320
+ \u0275\u0275elementStart(0, "input", 42);
37321
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_8_Template_input_ngModelChange_0_listener($event) {
37300
37322
  \u0275\u0275restoreView(_r9);
37301
37323
  const field_r4 = \u0275\u0275nextContext().$implicit;
37302
37324
  const ctx_r0 = \u0275\u0275nextContext(2);
@@ -37311,25 +37333,25 @@ function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_8_Template(rf, ctx)
37311
37333
  \u0275\u0275property("ngModel", (tmp_12_0 = ctx_r0.units()[0]) == null ? null : tmp_12_0[field_r4.name])("required", field_r4.required || false);
37312
37334
  }
37313
37335
  }
37314
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_9_Conditional_1_Template(rf, ctx) {
37336
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_9_Conditional_1_Template(rf, ctx) {
37315
37337
  if (rf & 1) {
37316
- \u0275\u0275elementStart(0, "p", 43);
37338
+ \u0275\u0275elementStart(0, "p", 44);
37317
37339
  \u0275\u0275text(1, "Your member discount is tied to this verified e-mail.");
37318
37340
  \u0275\u0275elementEnd();
37319
37341
  }
37320
37342
  }
37321
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_9_Template(rf, ctx) {
37343
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_9_Template(rf, ctx) {
37322
37344
  if (rf & 1) {
37323
37345
  const _r10 = \u0275\u0275getCurrentView();
37324
- \u0275\u0275elementStart(0, "input", 42);
37325
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_9_Template_input_ngModelChange_0_listener($event) {
37346
+ \u0275\u0275elementStart(0, "input", 43);
37347
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_4_Case_9_Template_input_ngModelChange_0_listener($event) {
37326
37348
  \u0275\u0275restoreView(_r10);
37327
37349
  const field_r4 = \u0275\u0275nextContext().$implicit;
37328
37350
  const ctx_r0 = \u0275\u0275nextContext(2);
37329
37351
  return \u0275\u0275resetView(ctx_r0.updateUnitField(0, field_r4.name, $event));
37330
37352
  });
37331
37353
  \u0275\u0275elementEnd();
37332
- \u0275\u0275conditionalCreate(1, MJCheckoutWidgetComponent_Conditional_17_For_4_Case_9_Conditional_1_Template, 2, 0, "p", 43);
37354
+ \u0275\u0275conditionalCreate(1, MJCheckoutWidgetComponent_Conditional_18_For_4_Case_9_Conditional_1_Template, 2, 0, "p", 44);
37333
37355
  }
37334
37356
  if (rf & 2) {
37335
37357
  let tmp_13_0;
@@ -37340,13 +37362,13 @@ function MJCheckoutWidgetComponent_Conditional_17_For_4_Case_9_Template(rf, ctx)
37340
37362
  \u0275\u0275conditional(ctx_r0.isLockedEmail(0, field_r4.name) ? 1 : -1);
37341
37363
  }
37342
37364
  }
37343
- function MJCheckoutWidgetComponent_Conditional_17_For_4_Template(rf, ctx) {
37365
+ function MJCheckoutWidgetComponent_Conditional_18_For_4_Template(rf, ctx) {
37344
37366
  if (rf & 1) {
37345
- \u0275\u0275elementStart(0, "div", 17)(1, "label", 18);
37367
+ \u0275\u0275elementStart(0, "div", 18)(1, "label", 19);
37346
37368
  \u0275\u0275text(2);
37347
- \u0275\u0275conditionalCreate(3, MJCheckoutWidgetComponent_Conditional_17_For_4_Conditional_3_Template, 2, 0, "span", 19);
37369
+ \u0275\u0275conditionalCreate(3, MJCheckoutWidgetComponent_Conditional_18_For_4_Conditional_3_Template, 2, 0, "span", 20);
37348
37370
  \u0275\u0275elementEnd();
37349
- \u0275\u0275conditionalCreate(4, MJCheckoutWidgetComponent_Conditional_17_For_4_Case_4_Template, 2, 3, "textarea", 32)(5, MJCheckoutWidgetComponent_Conditional_17_For_4_Case_5_Template, 5, 4, "select", 33)(6, MJCheckoutWidgetComponent_Conditional_17_For_4_Case_6_Template, 4, 2, "label", 34)(7, MJCheckoutWidgetComponent_Conditional_17_For_4_Case_7_Template, 1, 3, "input", 35)(8, MJCheckoutWidgetComponent_Conditional_17_For_4_Case_8_Template, 1, 2, "input", 36)(9, MJCheckoutWidgetComponent_Conditional_17_For_4_Case_9_Template, 2, 6);
37371
+ \u0275\u0275conditionalCreate(4, MJCheckoutWidgetComponent_Conditional_18_For_4_Case_4_Template, 2, 3, "textarea", 33)(5, MJCheckoutWidgetComponent_Conditional_18_For_4_Case_5_Template, 5, 4, "select", 34)(6, MJCheckoutWidgetComponent_Conditional_18_For_4_Case_6_Template, 4, 2, "label", 35)(7, MJCheckoutWidgetComponent_Conditional_18_For_4_Case_7_Template, 1, 3, "input", 36)(8, MJCheckoutWidgetComponent_Conditional_18_For_4_Case_8_Template, 1, 2, "input", 37)(9, MJCheckoutWidgetComponent_Conditional_18_For_4_Case_9_Template, 2, 6);
37350
37372
  \u0275\u0275elementEnd();
37351
37373
  }
37352
37374
  if (rf & 2) {
@@ -37361,13 +37383,13 @@ function MJCheckoutWidgetComponent_Conditional_17_For_4_Template(rf, ctx) {
37361
37383
  \u0275\u0275conditional((tmp_14_0 = field_r4.type) === "textarea" ? 4 : tmp_14_0 === "select" ? 5 : tmp_14_0 === "boolean" ? 6 : tmp_14_0 === "number" ? 7 : tmp_14_0 === "date" ? 8 : 9);
37362
37384
  }
37363
37385
  }
37364
- function MJCheckoutWidgetComponent_Conditional_17_Template(rf, ctx) {
37386
+ function MJCheckoutWidgetComponent_Conditional_18_Template(rf, ctx) {
37365
37387
  if (rf & 1) {
37366
- \u0275\u0275elementStart(0, "h3", 15);
37388
+ \u0275\u0275elementStart(0, "h3", 16);
37367
37389
  \u0275\u0275text(1, "Details");
37368
37390
  \u0275\u0275elementEnd();
37369
- \u0275\u0275elementStart(2, "div", 16);
37370
- \u0275\u0275repeaterCreate(3, MJCheckoutWidgetComponent_Conditional_17_For_4_Template, 10, 5, "div", 31, _forTrack2);
37391
+ \u0275\u0275elementStart(2, "div", 17);
37392
+ \u0275\u0275repeaterCreate(3, MJCheckoutWidgetComponent_Conditional_18_For_4_Template, 10, 5, "div", 32, _forTrack2);
37371
37393
  \u0275\u0275elementEnd();
37372
37394
  }
37373
37395
  if (rf & 2) {
@@ -37376,18 +37398,18 @@ function MJCheckoutWidgetComponent_Conditional_17_Template(rf, ctx) {
37376
37398
  \u0275\u0275repeater(ctx_r0.activeFieldDefs());
37377
37399
  }
37378
37400
  }
37379
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Conditional_3_Template(rf, ctx) {
37401
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Conditional_3_Template(rf, ctx) {
37380
37402
  if (rf & 1) {
37381
- \u0275\u0275elementStart(0, "span", 19);
37403
+ \u0275\u0275elementStart(0, "span", 20);
37382
37404
  \u0275\u0275text(1, "*");
37383
37405
  \u0275\u0275elementEnd();
37384
37406
  }
37385
37407
  }
37386
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_4_Template(rf, ctx) {
37408
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_4_Template(rf, ctx) {
37387
37409
  if (rf & 1) {
37388
37410
  const _r12 = \u0275\u0275getCurrentView();
37389
- \u0275\u0275elementStart(0, "textarea", 37);
37390
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_4_Template_textarea_ngModelChange_0_listener($event) {
37411
+ \u0275\u0275elementStart(0, "textarea", 38);
37412
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_4_Template_textarea_ngModelChange_0_listener($event) {
37391
37413
  \u0275\u0275restoreView(_r12);
37392
37414
  const ctx_r12 = \u0275\u0275nextContext();
37393
37415
  const field_r14 = ctx_r12.$implicit;
@@ -37404,9 +37426,9 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_4_Template(rf
37404
37426
  \u0275\u0275property("ngModel", unit_r16[field_r14.name])("placeholder", field_r14.placeholder || "")("required", field_r14.required || false);
37405
37427
  }
37406
37428
  }
37407
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_5_For_4_Template(rf, ctx) {
37429
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_5_For_4_Template(rf, ctx) {
37408
37430
  if (rf & 1) {
37409
- \u0275\u0275elementStart(0, "option", 21);
37431
+ \u0275\u0275elementStart(0, "option", 22);
37410
37432
  \u0275\u0275text(1);
37411
37433
  \u0275\u0275elementEnd();
37412
37434
  }
@@ -37417,11 +37439,11 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_5_For_4_Templ
37417
37439
  \u0275\u0275textInterpolate(opt_r18.label);
37418
37440
  }
37419
37441
  }
37420
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_5_Template(rf, ctx) {
37442
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_5_Template(rf, ctx) {
37421
37443
  if (rf & 1) {
37422
37444
  const _r17 = \u0275\u0275getCurrentView();
37423
- \u0275\u0275elementStart(0, "select", 38);
37424
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_5_Template_select_ngModelChange_0_listener($event) {
37445
+ \u0275\u0275elementStart(0, "select", 39);
37446
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_5_Template_select_ngModelChange_0_listener($event) {
37425
37447
  \u0275\u0275restoreView(_r17);
37426
37448
  const ctx_r12 = \u0275\u0275nextContext();
37427
37449
  const field_r14 = ctx_r12.$implicit;
@@ -37429,10 +37451,10 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_5_Template(rf
37429
37451
  const ctx_r0 = \u0275\u0275nextContext(3);
37430
37452
  return \u0275\u0275resetView(ctx_r0.updateUnitField($index_r15, field_r14.name, $event));
37431
37453
  });
37432
- \u0275\u0275elementStart(1, "option", 21);
37454
+ \u0275\u0275elementStart(1, "option", 22);
37433
37455
  \u0275\u0275text(2);
37434
37456
  \u0275\u0275elementEnd();
37435
- \u0275\u0275repeaterCreate(3, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_5_For_4_Template, 2, 2, "option", 21, _forTrack3);
37457
+ \u0275\u0275repeaterCreate(3, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_5_For_4_Template, 2, 2, "option", 22, _forTrack3);
37436
37458
  \u0275\u0275elementEnd();
37437
37459
  }
37438
37460
  if (rf & 2) {
@@ -37447,11 +37469,11 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_5_Template(rf
37447
37469
  \u0275\u0275repeater(field_r14.options);
37448
37470
  }
37449
37471
  }
37450
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_6_Template(rf, ctx) {
37472
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_6_Template(rf, ctx) {
37451
37473
  if (rf & 1) {
37452
37474
  const _r19 = \u0275\u0275getCurrentView();
37453
- \u0275\u0275elementStart(0, "label", 34)(1, "input", 39);
37454
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_6_Template_input_ngModelChange_1_listener($event) {
37475
+ \u0275\u0275elementStart(0, "label", 35)(1, "input", 40);
37476
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_6_Template_input_ngModelChange_1_listener($event) {
37455
37477
  \u0275\u0275restoreView(_r19);
37456
37478
  const ctx_r12 = \u0275\u0275nextContext();
37457
37479
  const field_r14 = ctx_r12.$implicit;
@@ -37473,11 +37495,11 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_6_Template(rf
37473
37495
  \u0275\u0275textInterpolate(field_r14.label);
37474
37496
  }
37475
37497
  }
37476
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_7_Template(rf, ctx) {
37498
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_7_Template(rf, ctx) {
37477
37499
  if (rf & 1) {
37478
37500
  const _r20 = \u0275\u0275getCurrentView();
37479
- \u0275\u0275elementStart(0, "input", 40);
37480
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_7_Template_input_ngModelChange_0_listener($event) {
37501
+ \u0275\u0275elementStart(0, "input", 41);
37502
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_7_Template_input_ngModelChange_0_listener($event) {
37481
37503
  \u0275\u0275restoreView(_r20);
37482
37504
  const ctx_r12 = \u0275\u0275nextContext();
37483
37505
  const field_r14 = ctx_r12.$implicit;
@@ -37493,11 +37515,11 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_7_Template(rf
37493
37515
  \u0275\u0275property("ngModel", unit_r16[field_r14.name])("placeholder", field_r14.placeholder || "")("required", field_r14.required || false);
37494
37516
  }
37495
37517
  }
37496
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_8_Template(rf, ctx) {
37518
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_8_Template(rf, ctx) {
37497
37519
  if (rf & 1) {
37498
37520
  const _r21 = \u0275\u0275getCurrentView();
37499
- \u0275\u0275elementStart(0, "input", 41);
37500
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_8_Template_input_ngModelChange_0_listener($event) {
37521
+ \u0275\u0275elementStart(0, "input", 42);
37522
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_8_Template_input_ngModelChange_0_listener($event) {
37501
37523
  \u0275\u0275restoreView(_r21);
37502
37524
  const ctx_r12 = \u0275\u0275nextContext();
37503
37525
  const field_r14 = ctx_r12.$implicit;
@@ -37513,18 +37535,18 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_8_Template(rf
37513
37535
  \u0275\u0275property("ngModel", unit_r16[field_r14.name])("required", field_r14.required || false);
37514
37536
  }
37515
37537
  }
37516
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_9_Conditional_1_Template(rf, ctx) {
37538
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_9_Conditional_1_Template(rf, ctx) {
37517
37539
  if (rf & 1) {
37518
- \u0275\u0275elementStart(0, "p", 43);
37540
+ \u0275\u0275elementStart(0, "p", 44);
37519
37541
  \u0275\u0275text(1, "Your member discount is tied to this verified e-mail.");
37520
37542
  \u0275\u0275elementEnd();
37521
37543
  }
37522
37544
  }
37523
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_9_Template(rf, ctx) {
37545
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_9_Template(rf, ctx) {
37524
37546
  if (rf & 1) {
37525
37547
  const _r22 = \u0275\u0275getCurrentView();
37526
- \u0275\u0275elementStart(0, "input", 42);
37527
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_9_Template_input_ngModelChange_0_listener($event) {
37548
+ \u0275\u0275elementStart(0, "input", 43);
37549
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_9_Template_input_ngModelChange_0_listener($event) {
37528
37550
  \u0275\u0275restoreView(_r22);
37529
37551
  const ctx_r12 = \u0275\u0275nextContext();
37530
37552
  const field_r14 = ctx_r12.$implicit;
@@ -37533,7 +37555,7 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_9_Template(rf
37533
37555
  return \u0275\u0275resetView(ctx_r0.updateUnitField($index_r15, field_r14.name, $event));
37534
37556
  });
37535
37557
  \u0275\u0275elementEnd();
37536
- \u0275\u0275conditionalCreate(1, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_9_Conditional_1_Template, 2, 0, "p", 43);
37558
+ \u0275\u0275conditionalCreate(1, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_9_Conditional_1_Template, 2, 0, "p", 44);
37537
37559
  }
37538
37560
  if (rf & 2) {
37539
37561
  const ctx_r12 = \u0275\u0275nextContext();
@@ -37546,13 +37568,13 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_9_Template(rf
37546
37568
  \u0275\u0275conditional(ctx_r0.isLockedEmail($index_r15, field_r14.name) ? 1 : -1);
37547
37569
  }
37548
37570
  }
37549
- function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Template(rf, ctx) {
37571
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Template(rf, ctx) {
37550
37572
  if (rf & 1) {
37551
- \u0275\u0275elementStart(0, "div", 17)(1, "label", 18);
37573
+ \u0275\u0275elementStart(0, "div", 18)(1, "label", 19);
37552
37574
  \u0275\u0275text(2);
37553
- \u0275\u0275conditionalCreate(3, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Conditional_3_Template, 2, 0, "span", 19);
37575
+ \u0275\u0275conditionalCreate(3, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Conditional_3_Template, 2, 0, "span", 20);
37554
37576
  \u0275\u0275elementEnd();
37555
- \u0275\u0275conditionalCreate(4, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_4_Template, 2, 3, "textarea", 32)(5, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_5_Template, 5, 4, "select", 33)(6, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_6_Template, 4, 2, "label", 34)(7, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_7_Template, 1, 3, "input", 35)(8, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_8_Template, 1, 2, "input", 36)(9, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Case_9_Template, 2, 6);
37577
+ \u0275\u0275conditionalCreate(4, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_4_Template, 2, 3, "textarea", 33)(5, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_5_Template, 5, 4, "select", 34)(6, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_6_Template, 4, 2, "label", 35)(7, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_7_Template, 1, 3, "input", 36)(8, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_8_Template, 1, 2, "input", 37)(9, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Case_9_Template, 2, 6);
37556
37578
  \u0275\u0275elementEnd();
37557
37579
  }
37558
37580
  if (rf & 2) {
@@ -37567,13 +37589,13 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Template(rf, ctx)
37567
37589
  \u0275\u0275conditional((tmp_24_0 = field_r14.type) === "textarea" ? 4 : tmp_24_0 === "select" ? 5 : tmp_24_0 === "boolean" ? 6 : tmp_24_0 === "number" ? 7 : tmp_24_0 === "date" ? 8 : 9);
37568
37590
  }
37569
37591
  }
37570
- function MJCheckoutWidgetComponent_Conditional_18_For_7_Template(rf, ctx) {
37592
+ function MJCheckoutWidgetComponent_Conditional_19_For_7_Template(rf, ctx) {
37571
37593
  if (rf & 1) {
37572
- \u0275\u0275elementStart(0, "div", 47)(1, "div", 48);
37594
+ \u0275\u0275elementStart(0, "div", 48)(1, "div", 49);
37573
37595
  \u0275\u0275text(2);
37574
37596
  \u0275\u0275elementEnd();
37575
- \u0275\u0275elementStart(3, "div", 16);
37576
- \u0275\u0275repeaterCreate(4, MJCheckoutWidgetComponent_Conditional_18_For_7_For_5_Template, 10, 5, "div", 31, _forTrack2);
37597
+ \u0275\u0275elementStart(3, "div", 17);
37598
+ \u0275\u0275repeaterCreate(4, MJCheckoutWidgetComponent_Conditional_19_For_7_For_5_Template, 10, 5, "div", 32, _forTrack2);
37577
37599
  \u0275\u0275elementEnd()();
37578
37600
  }
37579
37601
  if (rf & 2) {
@@ -37585,22 +37607,22 @@ function MJCheckoutWidgetComponent_Conditional_18_For_7_Template(rf, ctx) {
37585
37607
  \u0275\u0275repeater(ctx_r0.activeFieldDefs());
37586
37608
  }
37587
37609
  }
37588
- function MJCheckoutWidgetComponent_Conditional_18_Template(rf, ctx) {
37610
+ function MJCheckoutWidgetComponent_Conditional_19_Template(rf, ctx) {
37589
37611
  if (rf & 1) {
37590
37612
  const _r11 = \u0275\u0275getCurrentView();
37591
- \u0275\u0275elementStart(0, "div", 44)(1, "h3", 15);
37613
+ \u0275\u0275elementStart(0, "div", 45)(1, "h3", 16);
37592
37614
  \u0275\u0275text(2);
37593
37615
  \u0275\u0275elementEnd();
37594
- \u0275\u0275elementStart(3, "button", 45);
37595
- \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Conditional_18_Template_button_click_3_listener() {
37616
+ \u0275\u0275elementStart(3, "button", 46);
37617
+ \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Conditional_19_Template_button_click_3_listener() {
37596
37618
  \u0275\u0275restoreView(_r11);
37597
37619
  const ctx_r0 = \u0275\u0275nextContext();
37598
37620
  return \u0275\u0275resetView(ctx_r0.copyPrimaryToAll());
37599
37621
  });
37600
37622
  \u0275\u0275text(4, "Copy Primary Info to All");
37601
37623
  \u0275\u0275elementEnd()();
37602
- \u0275\u0275elementStart(5, "div", 46);
37603
- \u0275\u0275repeaterCreate(6, MJCheckoutWidgetComponent_Conditional_18_For_7_Template, 6, 1, "div", 47, \u0275\u0275repeaterTrackByIndex);
37624
+ \u0275\u0275elementStart(5, "div", 47);
37625
+ \u0275\u0275repeaterCreate(6, MJCheckoutWidgetComponent_Conditional_19_For_7_Template, 6, 1, "div", 48, \u0275\u0275repeaterTrackByIndex);
37604
37626
  \u0275\u0275elementEnd();
37605
37627
  }
37606
37628
  if (rf & 2) {
@@ -37611,9 +37633,9 @@ function MJCheckoutWidgetComponent_Conditional_18_Template(rf, ctx) {
37611
37633
  \u0275\u0275repeater(ctx_r0.units());
37612
37634
  }
37613
37635
  }
37614
- function MJCheckoutWidgetComponent_For_32_Template(rf, ctx) {
37636
+ function MJCheckoutWidgetComponent_For_33_Template(rf, ctx) {
37615
37637
  if (rf & 1) {
37616
- \u0275\u0275elementStart(0, "option", 21);
37638
+ \u0275\u0275elementStart(0, "option", 22);
37617
37639
  \u0275\u0275text(1);
37618
37640
  \u0275\u0275elementEnd();
37619
37641
  }
@@ -37624,9 +37646,9 @@ function MJCheckoutWidgetComponent_For_32_Template(rf, ctx) {
37624
37646
  \u0275\u0275textInterpolate(c_r24.Name);
37625
37647
  }
37626
37648
  }
37627
- function MJCheckoutWidgetComponent_Conditional_33_For_9_Template(rf, ctx) {
37649
+ function MJCheckoutWidgetComponent_Conditional_34_For_9_Template(rf, ctx) {
37628
37650
  if (rf & 1) {
37629
- \u0275\u0275elementStart(0, "option", 21);
37651
+ \u0275\u0275elementStart(0, "option", 22);
37630
37652
  \u0275\u0275text(1);
37631
37653
  \u0275\u0275elementEnd();
37632
37654
  }
@@ -37637,24 +37659,24 @@ function MJCheckoutWidgetComponent_Conditional_33_For_9_Template(rf, ctx) {
37637
37659
  \u0275\u0275textInterpolate(r_r26.Name);
37638
37660
  }
37639
37661
  }
37640
- function MJCheckoutWidgetComponent_Conditional_33_Template(rf, ctx) {
37662
+ function MJCheckoutWidgetComponent_Conditional_34_Template(rf, ctx) {
37641
37663
  if (rf & 1) {
37642
37664
  const _r25 = \u0275\u0275getCurrentView();
37643
- \u0275\u0275elementStart(0, "div", 17)(1, "label", 18);
37665
+ \u0275\u0275elementStart(0, "div", 18)(1, "label", 19);
37644
37666
  \u0275\u0275text(2, " State / Province ");
37645
- \u0275\u0275elementStart(3, "span", 19);
37667
+ \u0275\u0275elementStart(3, "span", 20);
37646
37668
  \u0275\u0275text(4, "*");
37647
37669
  \u0275\u0275elementEnd()();
37648
- \u0275\u0275elementStart(5, "select", 49);
37649
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_33_Template_select_ngModelChange_5_listener($event) {
37670
+ \u0275\u0275elementStart(5, "select", 50);
37671
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_34_Template_select_ngModelChange_5_listener($event) {
37650
37672
  \u0275\u0275restoreView(_r25);
37651
37673
  const ctx_r0 = \u0275\u0275nextContext();
37652
37674
  return \u0275\u0275resetView(ctx_r0.onBillingRegionChange($event));
37653
37675
  });
37654
- \u0275\u0275elementStart(6, "option", 21);
37676
+ \u0275\u0275elementStart(6, "option", 22);
37655
37677
  \u0275\u0275text(7, "Select state or province");
37656
37678
  \u0275\u0275elementEnd();
37657
- \u0275\u0275repeaterCreate(8, MJCheckoutWidgetComponent_Conditional_33_For_9_Template, 2, 2, "option", 21, _forTrack0);
37679
+ \u0275\u0275repeaterCreate(8, MJCheckoutWidgetComponent_Conditional_34_For_9_Template, 2, 2, "option", 22, _forTrack0);
37658
37680
  \u0275\u0275elementEnd()();
37659
37681
  }
37660
37682
  if (rf & 2) {
@@ -37669,23 +37691,23 @@ function MJCheckoutWidgetComponent_Conditional_33_Template(rf, ctx) {
37669
37691
  \u0275\u0275repeater(ctx_r0.billingRegions());
37670
37692
  }
37671
37693
  }
37672
- function MJCheckoutWidgetComponent_Conditional_37_Template(rf, ctx) {
37694
+ function MJCheckoutWidgetComponent_Conditional_38_Template(rf, ctx) {
37673
37695
  if (rf & 1) {
37674
- \u0275\u0275elementStart(0, "span", 19);
37696
+ \u0275\u0275elementStart(0, "span", 20);
37675
37697
  \u0275\u0275text(1, "*");
37676
37698
  \u0275\u0275elementEnd();
37677
37699
  }
37678
37700
  }
37679
- function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_3_Template(rf, ctx) {
37701
+ function MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_3_Template(rf, ctx) {
37680
37702
  if (rf & 1) {
37681
- \u0275\u0275elementStart(0, "span", 19);
37703
+ \u0275\u0275elementStart(0, "span", 20);
37682
37704
  \u0275\u0275text(1, "*");
37683
37705
  \u0275\u0275elementEnd();
37684
37706
  }
37685
37707
  }
37686
- function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_For_4_Template(rf, ctx) {
37708
+ function MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_4_For_4_Template(rf, ctx) {
37687
37709
  if (rf & 1) {
37688
- \u0275\u0275elementStart(0, "option", 21);
37710
+ \u0275\u0275elementStart(0, "option", 22);
37689
37711
  \u0275\u0275text(1);
37690
37712
  \u0275\u0275elementEnd();
37691
37713
  }
@@ -37697,11 +37719,11 @@ function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_For_4_Temp
37697
37719
  \u0275\u0275textInterpolate(ctx_r0.optionLabel(opt_r29));
37698
37720
  }
37699
37721
  }
37700
- function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_Conditional_5_Template(rf, ctx) {
37722
+ function MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_4_Conditional_5_Template(rf, ctx) {
37701
37723
  if (rf & 1) {
37702
37724
  const _r30 = \u0275\u0275getCurrentView();
37703
- \u0275\u0275elementStart(0, "input", 54);
37704
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_Conditional_5_Template_input_ngModelChange_0_listener($event) {
37725
+ \u0275\u0275elementStart(0, "input", 55);
37726
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_4_Conditional_5_Template_input_ngModelChange_0_listener($event) {
37705
37727
  \u0275\u0275restoreView(_r30);
37706
37728
  const question_r28 = \u0275\u0275nextContext(2).$implicit;
37707
37729
  const ctx_r0 = \u0275\u0275nextContext(2);
@@ -37716,22 +37738,22 @@ function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_Conditiona
37716
37738
  \u0275\u0275attribute("aria-label", question_r28.label + " (please specify)")("maxlength", ctx_r0.answerMaxLength(question_r28));
37717
37739
  }
37718
37740
  }
37719
- function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_Template(rf, ctx) {
37741
+ function MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_4_Template(rf, ctx) {
37720
37742
  if (rf & 1) {
37721
37743
  const _r27 = \u0275\u0275getCurrentView();
37722
- \u0275\u0275elementStart(0, "select", 52);
37723
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_Template_select_ngModelChange_0_listener($event) {
37744
+ \u0275\u0275elementStart(0, "select", 53);
37745
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_4_Template_select_ngModelChange_0_listener($event) {
37724
37746
  \u0275\u0275restoreView(_r27);
37725
37747
  const question_r28 = \u0275\u0275nextContext().$implicit;
37726
37748
  const ctx_r0 = \u0275\u0275nextContext(2);
37727
37749
  return \u0275\u0275resetView(ctx_r0.updateAnswer(question_r28.key, { Value: $event }));
37728
37750
  });
37729
- \u0275\u0275elementStart(1, "option", 21);
37751
+ \u0275\u0275elementStart(1, "option", 22);
37730
37752
  \u0275\u0275text(2, "Select an answer");
37731
37753
  \u0275\u0275elementEnd();
37732
- \u0275\u0275repeaterCreate(3, MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_For_4_Template, 2, 2, "option", 21, _forTrack4, true);
37754
+ \u0275\u0275repeaterCreate(3, MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_4_For_4_Template, 2, 2, "option", 22, _forTrack4, true);
37733
37755
  \u0275\u0275elementEnd();
37734
- \u0275\u0275conditionalCreate(5, MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_Conditional_5_Template, 1, 3, "input", 53);
37756
+ \u0275\u0275conditionalCreate(5, MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_4_Conditional_5_Template, 1, 3, "input", 54);
37735
37757
  }
37736
37758
  if (rf & 2) {
37737
37759
  const question_r28 = \u0275\u0275nextContext().$implicit;
@@ -37745,11 +37767,11 @@ function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_Template(r
37745
37767
  \u0275\u0275conditional(ctx_r0.isOtherChosen(question_r28) ? 5 : -1);
37746
37768
  }
37747
37769
  }
37748
- function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_5_Template(rf, ctx) {
37770
+ function MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_5_Template(rf, ctx) {
37749
37771
  if (rf & 1) {
37750
37772
  const _r31 = \u0275\u0275getCurrentView();
37751
- \u0275\u0275elementStart(0, "input", 55);
37752
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_5_Template_input_ngModelChange_0_listener($event) {
37773
+ \u0275\u0275elementStart(0, "input", 56);
37774
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_5_Template_input_ngModelChange_0_listener($event) {
37753
37775
  \u0275\u0275restoreView(_r31);
37754
37776
  const question_r28 = \u0275\u0275nextContext().$implicit;
37755
37777
  const ctx_r0 = \u0275\u0275nextContext(2);
@@ -37764,13 +37786,13 @@ function MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_5_Template(r
37764
37786
  \u0275\u0275attribute("maxlength", ctx_r0.answerMaxLength(question_r28));
37765
37787
  }
37766
37788
  }
37767
- function MJCheckoutWidgetComponent_Conditional_39_For_5_Template(rf, ctx) {
37789
+ function MJCheckoutWidgetComponent_Conditional_40_For_5_Template(rf, ctx) {
37768
37790
  if (rf & 1) {
37769
- \u0275\u0275elementStart(0, "div", 50)(1, "label", 18);
37791
+ \u0275\u0275elementStart(0, "div", 51)(1, "label", 19);
37770
37792
  \u0275\u0275text(2);
37771
- \u0275\u0275conditionalCreate(3, MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_3_Template, 2, 0, "span", 19);
37793
+ \u0275\u0275conditionalCreate(3, MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_3_Template, 2, 0, "span", 20);
37772
37794
  \u0275\u0275elementEnd();
37773
- \u0275\u0275conditionalCreate(4, MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_4_Template, 6, 5)(5, MJCheckoutWidgetComponent_Conditional_39_For_5_Conditional_5_Template, 1, 4, "input", 51);
37795
+ \u0275\u0275conditionalCreate(4, MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_4_Template, 6, 5)(5, MJCheckoutWidgetComponent_Conditional_40_For_5_Conditional_5_Template, 1, 4, "input", 52);
37774
37796
  \u0275\u0275elementEnd();
37775
37797
  }
37776
37798
  if (rf & 2) {
@@ -37786,13 +37808,13 @@ function MJCheckoutWidgetComponent_Conditional_39_For_5_Template(rf, ctx) {
37786
37808
  \u0275\u0275conditional(question_r28.type === "select" ? 4 : 5);
37787
37809
  }
37788
37810
  }
37789
- function MJCheckoutWidgetComponent_Conditional_39_Template(rf, ctx) {
37811
+ function MJCheckoutWidgetComponent_Conditional_40_Template(rf, ctx) {
37790
37812
  if (rf & 1) {
37791
- \u0275\u0275elementStart(0, "section", 14)(1, "h3", 15);
37813
+ \u0275\u0275elementStart(0, "section", 15)(1, "h3", 16);
37792
37814
  \u0275\u0275text(2, "A few questions");
37793
37815
  \u0275\u0275elementEnd();
37794
- \u0275\u0275elementStart(3, "div", 16);
37795
- \u0275\u0275repeaterCreate(4, MJCheckoutWidgetComponent_Conditional_39_For_5_Template, 6, 4, "div", 50, _forTrack1);
37816
+ \u0275\u0275elementStart(3, "div", 17);
37817
+ \u0275\u0275repeaterCreate(4, MJCheckoutWidgetComponent_Conditional_40_For_5_Template, 6, 4, "div", 51, _forTrack1);
37796
37818
  \u0275\u0275elementEnd()();
37797
37819
  }
37798
37820
  if (rf & 2) {
@@ -37801,18 +37823,18 @@ function MJCheckoutWidgetComponent_Conditional_39_Template(rf, ctx) {
37801
37823
  \u0275\u0275repeater(ctx_r0.questions());
37802
37824
  }
37803
37825
  }
37804
- function MJCheckoutWidgetComponent_For_41_Conditional_6_Template(rf, ctx) {
37826
+ function MJCheckoutWidgetComponent_For_42_Conditional_6_Template(rf, ctx) {
37805
37827
  if (rf & 1) {
37806
- \u0275\u0275elementStart(0, "span", 19);
37828
+ \u0275\u0275elementStart(0, "span", 20);
37807
37829
  \u0275\u0275text(1, "*");
37808
37830
  \u0275\u0275elementEnd();
37809
37831
  }
37810
37832
  }
37811
- function MJCheckoutWidgetComponent_For_41_For_9_Template(rf, ctx) {
37833
+ function MJCheckoutWidgetComponent_For_42_For_9_Template(rf, ctx) {
37812
37834
  if (rf & 1) {
37813
37835
  const _r32 = \u0275\u0275getCurrentView();
37814
- \u0275\u0275elementStart(0, "label", 34)(1, "input", 60);
37815
- \u0275\u0275listener("change", function MJCheckoutWidgetComponent_For_41_For_9_Template_input_change_1_listener() {
37836
+ \u0275\u0275elementStart(0, "label", 35)(1, "input", 61);
37837
+ \u0275\u0275listener("change", function MJCheckoutWidgetComponent_For_42_For_9_Template_input_change_1_listener() {
37816
37838
  const opt_r33 = \u0275\u0275restoreView(_r32).$implicit;
37817
37839
  const group_r34 = \u0275\u0275nextContext().$implicit;
37818
37840
  const ctx_r0 = \u0275\u0275nextContext();
@@ -37834,17 +37856,17 @@ function MJCheckoutWidgetComponent_For_41_For_9_Template(rf, ctx) {
37834
37856
  \u0275\u0275textInterpolate(ctx_r0.choiceLabel(opt_r33));
37835
37857
  }
37836
37858
  }
37837
- function MJCheckoutWidgetComponent_For_41_Template(rf, ctx) {
37859
+ function MJCheckoutWidgetComponent_For_42_Template(rf, ctx) {
37838
37860
  if (rf & 1) {
37839
- \u0275\u0275elementStart(0, "section", 14)(1, "fieldset", 56)(2, "legend", 15);
37861
+ \u0275\u0275elementStart(0, "section", 15)(1, "fieldset", 57)(2, "legend", 16);
37840
37862
  \u0275\u0275text(3);
37841
- \u0275\u0275elementStart(4, "span", 57);
37863
+ \u0275\u0275elementStart(4, "span", 58);
37842
37864
  \u0275\u0275text(5);
37843
37865
  \u0275\u0275elementEnd();
37844
- \u0275\u0275conditionalCreate(6, MJCheckoutWidgetComponent_For_41_Conditional_6_Template, 2, 0, "span", 19);
37866
+ \u0275\u0275conditionalCreate(6, MJCheckoutWidgetComponent_For_42_Conditional_6_Template, 2, 0, "span", 20);
37845
37867
  \u0275\u0275elementEnd();
37846
- \u0275\u0275elementStart(7, "div", 58);
37847
- \u0275\u0275repeaterCreate(8, MJCheckoutWidgetComponent_For_41_For_9_Template, 4, 5, "label", 59, _forTrack5, true);
37868
+ \u0275\u0275elementStart(7, "div", 59);
37869
+ \u0275\u0275repeaterCreate(8, MJCheckoutWidgetComponent_For_42_For_9_Template, 4, 5, "label", 60, _forTrack5, true);
37848
37870
  \u0275\u0275elementEnd()()();
37849
37871
  }
37850
37872
  if (rf & 2) {
@@ -37860,9 +37882,9 @@ function MJCheckoutWidgetComponent_For_41_Template(rf, ctx) {
37860
37882
  \u0275\u0275repeater(group_r34.options);
37861
37883
  }
37862
37884
  }
37863
- function MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Conditional_7_Template(rf, ctx) {
37885
+ function MJCheckoutWidgetComponent_Conditional_43_Conditional_10_Conditional_7_Template(rf, ctx) {
37864
37886
  if (rf & 1) {
37865
- \u0275\u0275elementStart(0, "p", 76);
37887
+ \u0275\u0275elementStart(0, "p", 77);
37866
37888
  \u0275\u0275text(1);
37867
37889
  \u0275\u0275elementEnd();
37868
37890
  }
@@ -37872,9 +37894,9 @@ function MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Conditional_7_T
37872
37894
  \u0275\u0275textInterpolate(ctx_r0.promotionError);
37873
37895
  }
37874
37896
  }
37875
- function MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Conditional_8_Template(rf, ctx) {
37897
+ function MJCheckoutWidgetComponent_Conditional_43_Conditional_10_Conditional_8_Template(rf, ctx) {
37876
37898
  if (rf & 1) {
37877
- \u0275\u0275elementStart(0, "p", 77);
37899
+ \u0275\u0275elementStart(0, "p", 78);
37878
37900
  \u0275\u0275text(1);
37879
37901
  \u0275\u0275elementEnd();
37880
37902
  }
@@ -37885,32 +37907,32 @@ function MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Conditional_8_T
37885
37907
  \u0275\u0275textInterpolate3(" ", promo_r36.code, " applied: \u2212", ctx_r0.currencySymbol(), "", promo_r36.discount.toFixed(2), " ");
37886
37908
  }
37887
37909
  }
37888
- function MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Template(rf, ctx) {
37910
+ function MJCheckoutWidgetComponent_Conditional_43_Conditional_10_Template(rf, ctx) {
37889
37911
  if (rf & 1) {
37890
37912
  const _r35 = \u0275\u0275getCurrentView();
37891
- \u0275\u0275elementStart(0, "div", 66)(1, "label", 72);
37913
+ \u0275\u0275elementStart(0, "div", 67)(1, "label", 73);
37892
37914
  \u0275\u0275text(2, "Promo code");
37893
37915
  \u0275\u0275elementEnd();
37894
- \u0275\u0275elementStart(3, "div", 73)(4, "input", 74);
37895
- \u0275\u0275listener("input", function MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Template_input_input_4_listener($event) {
37916
+ \u0275\u0275elementStart(3, "div", 74)(4, "input", 75);
37917
+ \u0275\u0275listener("input", function MJCheckoutWidgetComponent_Conditional_43_Conditional_10_Template_input_input_4_listener($event) {
37896
37918
  \u0275\u0275restoreView(_r35);
37897
37919
  const ctx_r0 = \u0275\u0275nextContext(2);
37898
37920
  return \u0275\u0275resetView(ctx_r0.promotionCodeInput.set($event.target.value));
37899
- })("keydown.enter", function MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Template_input_keydown_enter_4_listener() {
37921
+ })("keydown.enter", function MJCheckoutWidgetComponent_Conditional_43_Conditional_10_Template_input_keydown_enter_4_listener() {
37900
37922
  \u0275\u0275restoreView(_r35);
37901
37923
  const ctx_r0 = \u0275\u0275nextContext(2);
37902
37924
  return \u0275\u0275resetView(ctx_r0.applyPromotionCode());
37903
37925
  });
37904
37926
  \u0275\u0275elementEnd();
37905
- \u0275\u0275elementStart(5, "button", 75);
37906
- \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Template_button_click_5_listener() {
37927
+ \u0275\u0275elementStart(5, "button", 76);
37928
+ \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Conditional_43_Conditional_10_Template_button_click_5_listener() {
37907
37929
  \u0275\u0275restoreView(_r35);
37908
37930
  const ctx_r0 = \u0275\u0275nextContext(2);
37909
37931
  return \u0275\u0275resetView(ctx_r0.applyPromotionCode());
37910
37932
  });
37911
37933
  \u0275\u0275text(6, "Apply");
37912
37934
  \u0275\u0275elementEnd()();
37913
- \u0275\u0275conditionalCreate(7, MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Conditional_7_Template, 2, 1, "p", 76)(8, MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Conditional_8_Template, 2, 3, "p", 77);
37935
+ \u0275\u0275conditionalCreate(7, MJCheckoutWidgetComponent_Conditional_43_Conditional_10_Conditional_7_Template, 2, 1, "p", 77)(8, MJCheckoutWidgetComponent_Conditional_43_Conditional_10_Conditional_8_Template, 2, 3, "p", 78);
37914
37936
  \u0275\u0275elementEnd();
37915
37937
  }
37916
37938
  if (rf & 2) {
@@ -37926,9 +37948,9 @@ function MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Template(rf, ct
37926
37948
  \u0275\u0275conditional(ctx_r0.promotionError ? 7 : (tmp_7_0 = ctx_r0.activePromotion()) ? 8 : -1, tmp_7_0);
37927
37949
  }
37928
37950
  }
37929
- function MJCheckoutWidgetComponent_Conditional_42_Conditional_11_Template(rf, ctx) {
37951
+ function MJCheckoutWidgetComponent_Conditional_43_Conditional_11_Template(rf, ctx) {
37930
37952
  if (rf & 1) {
37931
- \u0275\u0275elementStart(0, "p", 67);
37953
+ \u0275\u0275elementStart(0, "p", 68);
37932
37954
  \u0275\u0275text(1);
37933
37955
  \u0275\u0275elementEnd();
37934
37956
  }
@@ -37939,11 +37961,11 @@ function MJCheckoutWidgetComponent_Conditional_42_Conditional_11_Template(rf, ct
37939
37961
  \u0275\u0275textInterpolate3(" ", member_r37.code ? member_r37.code + " member discount" : "Member discount", ": \u2212", ctx_r0.currencySymbol(), "", member_r37.discount.toFixed(2), " ");
37940
37962
  }
37941
37963
  }
37942
- function MJCheckoutWidgetComponent_Conditional_42_Conditional_12_Template(rf, ctx) {
37964
+ function MJCheckoutWidgetComponent_Conditional_43_Conditional_12_Template(rf, ctx) {
37943
37965
  if (rf & 1) {
37944
37966
  const _r38 = \u0275\u0275getCurrentView();
37945
- \u0275\u0275elementStart(0, "label", 68)(1, "input", 60);
37946
- \u0275\u0275listener("change", function MJCheckoutWidgetComponent_Conditional_42_Conditional_12_Template_input_change_1_listener($event) {
37967
+ \u0275\u0275elementStart(0, "label", 69)(1, "input", 61);
37968
+ \u0275\u0275listener("change", function MJCheckoutWidgetComponent_Conditional_43_Conditional_12_Template_input_change_1_listener($event) {
37947
37969
  \u0275\u0275restoreView(_r38);
37948
37970
  const ctx_r0 = \u0275\u0275nextContext(2);
37949
37971
  return \u0275\u0275resetView(ctx_r0.autoRenewConsent.set($event.target.checked));
@@ -37961,12 +37983,12 @@ function MJCheckoutWidgetComponent_Conditional_42_Conditional_12_Template(rf, ct
37961
37983
  \u0275\u0275textInterpolate(ctx);
37962
37984
  }
37963
37985
  }
37964
- function MJCheckoutWidgetComponent_Conditional_42_Conditional_13_Template(rf, ctx) {
37986
+ function MJCheckoutWidgetComponent_Conditional_43_Conditional_13_Template(rf, ctx) {
37965
37987
  if (rf & 1) {
37966
- \u0275\u0275elementStart(0, "div", 69)(1, "span", 70);
37988
+ \u0275\u0275elementStart(0, "div", 70)(1, "span", 71);
37967
37989
  \u0275\u0275text(2, "Sales Tax");
37968
37990
  \u0275\u0275elementEnd();
37969
- \u0275\u0275elementStart(3, "span", 71);
37991
+ \u0275\u0275elementStart(3, "span", 72);
37970
37992
  \u0275\u0275text(4);
37971
37993
  \u0275\u0275elementEnd()();
37972
37994
  }
@@ -37976,27 +37998,27 @@ function MJCheckoutWidgetComponent_Conditional_42_Conditional_13_Template(rf, ct
37976
37998
  \u0275\u0275textInterpolate2("", ctx_r0.currencySymbol(), "", (ctx_r0.quotedTax ?? 0).toFixed(2));
37977
37999
  }
37978
38000
  }
37979
- function MJCheckoutWidgetComponent_Conditional_42_Template(rf, ctx) {
38001
+ function MJCheckoutWidgetComponent_Conditional_43_Template(rf, ctx) {
37980
38002
  if (rf & 1) {
37981
- \u0275\u0275elementStart(0, "section", 61)(1, "h3", 15);
38003
+ \u0275\u0275elementStart(0, "section", 62)(1, "h3", 16);
37982
38004
  \u0275\u0275text(2, "Payment");
37983
38005
  \u0275\u0275elementEnd();
37984
- \u0275\u0275elementStart(3, "div", 62);
37985
- \u0275\u0275element(4, "div", 63);
37986
- \u0275\u0275elementStart(5, "div", 64)(6, "span", 65);
38006
+ \u0275\u0275elementStart(3, "div", 63);
38007
+ \u0275\u0275element(4, "div", 64);
38008
+ \u0275\u0275elementStart(5, "div", 65)(6, "span", 66);
37987
38009
  \u0275\u0275text(7, "\u{1F512}");
37988
38010
  \u0275\u0275elementEnd();
37989
38011
  \u0275\u0275elementStart(8, "span");
37990
38012
  \u0275\u0275text(9, "Secured by Stripe \u2022 PCI-DSS Level 1 Certified \u2022 End-to-end Encrypted");
37991
38013
  \u0275\u0275elementEnd()()()();
37992
- \u0275\u0275conditionalCreate(10, MJCheckoutWidgetComponent_Conditional_42_Conditional_10_Template, 9, 8, "div", 66);
37993
- \u0275\u0275conditionalCreate(11, MJCheckoutWidgetComponent_Conditional_42_Conditional_11_Template, 2, 3, "p", 67);
37994
- \u0275\u0275conditionalCreate(12, MJCheckoutWidgetComponent_Conditional_42_Conditional_12_Template, 4, 3, "label", 68);
37995
- \u0275\u0275conditionalCreate(13, MJCheckoutWidgetComponent_Conditional_42_Conditional_13_Template, 5, 2, "div", 69);
37996
- \u0275\u0275elementStart(14, "div", 69)(15, "span", 70);
38014
+ \u0275\u0275conditionalCreate(10, MJCheckoutWidgetComponent_Conditional_43_Conditional_10_Template, 9, 8, "div", 67);
38015
+ \u0275\u0275conditionalCreate(11, MJCheckoutWidgetComponent_Conditional_43_Conditional_11_Template, 2, 3, "p", 68);
38016
+ \u0275\u0275conditionalCreate(12, MJCheckoutWidgetComponent_Conditional_43_Conditional_12_Template, 4, 3, "label", 69);
38017
+ \u0275\u0275conditionalCreate(13, MJCheckoutWidgetComponent_Conditional_43_Conditional_13_Template, 5, 2, "div", 70);
38018
+ \u0275\u0275elementStart(14, "div", 70)(15, "span", 71);
37997
38019
  \u0275\u0275text(16, "Total Due");
37998
38020
  \u0275\u0275elementEnd();
37999
- \u0275\u0275elementStart(17, "span", 71);
38021
+ \u0275\u0275elementStart(17, "span", 72);
38000
38022
  \u0275\u0275text(18);
38001
38023
  \u0275\u0275elementEnd()();
38002
38024
  }
@@ -38016,22 +38038,22 @@ function MJCheckoutWidgetComponent_Conditional_42_Template(rf, ctx) {
38016
38038
  \u0275\u0275textInterpolate2("", ctx_r0.currencySymbol(), "", ctx_r0.totalGross().toFixed(2));
38017
38039
  }
38018
38040
  }
38019
- function MJCheckoutWidgetComponent_Conditional_45_Template(rf, ctx) {
38041
+ function MJCheckoutWidgetComponent_Conditional_46_Template(rf, ctx) {
38020
38042
  if (rf & 1) {
38021
- \u0275\u0275element(0, "span", 78);
38043
+ \u0275\u0275element(0, "span", 79);
38022
38044
  \u0275\u0275elementStart(1, "span");
38023
38045
  \u0275\u0275text(2, "Processing...");
38024
38046
  \u0275\u0275elementEnd();
38025
38047
  }
38026
38048
  }
38027
- function MJCheckoutWidgetComponent_Conditional_46_Template(rf, ctx) {
38049
+ function MJCheckoutWidgetComponent_Conditional_47_Template(rf, ctx) {
38028
38050
  if (rf & 1) {
38029
38051
  \u0275\u0275elementStart(0, "span");
38030
38052
  \u0275\u0275text(1, "Complete Free Registration");
38031
38053
  \u0275\u0275elementEnd();
38032
38054
  }
38033
38055
  }
38034
- function MJCheckoutWidgetComponent_Conditional_47_Template(rf, ctx) {
38056
+ function MJCheckoutWidgetComponent_Conditional_48_Template(rf, ctx) {
38035
38057
  if (rf & 1) {
38036
38058
  \u0275\u0275elementStart(0, "span");
38037
38059
  \u0275\u0275text(1);
@@ -38043,6 +38065,14 @@ function MJCheckoutWidgetComponent_Conditional_47_Template(rf, ctx) {
38043
38065
  \u0275\u0275textInterpolate2("Pay ", ctx_r0.currencySymbol(), "", ctx_r0.totalGross().toFixed(2));
38044
38066
  }
38045
38067
  }
38068
+ function IsPerPersonCheckoutField(key, defs) {
38069
+ const def = defs.find((d) => d.name.toLowerCase() === key.toLowerCase());
38070
+ if (typeof def?.perPerson === "boolean") {
38071
+ return def.perPerson;
38072
+ }
38073
+ const lower = key.toLowerCase();
38074
+ return lower.includes("email") || lower.includes("name") || lower.endsWith("id");
38075
+ }
38046
38076
  var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38047
38077
  el;
38048
38078
  renderer;
@@ -38050,6 +38080,8 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38050
38080
  _fallbackSessionKey = typeof crypto !== "undefined" && crypto.randomUUID ? crypto.randomUUID() : "ck_sess_" + Math.random().toString(36).substring(2, 15);
38051
38081
  _config = signal(null, ...ngDevMode ? [{ debugName: "_config" }] : []);
38052
38082
  _lastMountedJS = null;
38083
+ /** Hooks this widget's own `customUI.js` registered; cleared on destroy (#779). */
38084
+ _instanceHooks = {};
38053
38085
  _customStyleEl = null;
38054
38086
  constructor(el, renderer) {
38055
38087
  this.el = el;
@@ -38072,6 +38104,18 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38072
38104
  get errorMessage() {
38073
38105
  return this._errorMessage();
38074
38106
  }
38107
+ _noticeMessage = signal(null, ...ngDevMode ? [{ debugName: "_noticeMessage" }] : []);
38108
+ /**
38109
+ * Information for the buyer that is not a failure, such as the total including tax before the
38110
+ * second press of Pay (#819). Shown in the notice style, and only while no error shows.
38111
+ */
38112
+ set noticeMessage(val) {
38113
+ this._noticeMessage.set(val);
38114
+ }
38115
+ get noticeMessage() {
38116
+ return this._noticeMessage();
38117
+ }
38118
+ displayNoticeMessage = computed(() => this.displayErrorMessage() ? null : this._noticeMessage(), ...ngDevMode ? [{ debugName: "displayNoticeMessage" }] : []);
38075
38119
  isPaymentReady = false;
38076
38120
  stripePaymentMethodId = null;
38077
38121
  /** An e-mail the embedding host already knows. Fills the field only while it is empty. */
@@ -38348,6 +38392,8 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38348
38392
  }
38349
38393
  ngOnDestroy() {
38350
38394
  this.executeLifecycleHook("onDestroy", { component: this });
38395
+ this._instanceHooks = {};
38396
+ this._lastMountedJS = null;
38351
38397
  if (this._customStyleEl && this._customStyleEl.parentNode) {
38352
38398
  this._customStyleEl.parentNode.removeChild(this._customStyleEl);
38353
38399
  this._customStyleEl = null;
@@ -38400,24 +38446,65 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38400
38446
  const tagged = document.querySelector("script[nonce], style[nonce]");
38401
38447
  return tagged?.nonce || tagged?.getAttribute("nonce") || "";
38402
38448
  }
38449
+ /**
38450
+ * Runs the widget's `customUI.js`. Its hooks belong to this widget alone (#779): the script
38451
+ * registers them on `widgetContext.hooks`. A script written for the page-wide
38452
+ * `window.MJCheckoutHooks` still works: whatever it assigns there while it runs is moved to this
38453
+ * widget's registry and the page-wide object is put back, so two widgets never call each other's
38454
+ * hooks.
38455
+ */
38403
38456
  mountCustomJS(scriptContent) {
38404
38457
  if (!scriptContent || typeof window === "undefined")
38405
38458
  return;
38406
38459
  this._lastMountedJS = scriptContent;
38460
+ const hooks = {};
38461
+ this._instanceHooks = hooks;
38462
+ const pageHooks = window.MJCheckoutHooks;
38463
+ const pageHookEntries = pageHooks ? { ...pageHooks } : void 0;
38407
38464
  try {
38408
38465
  const runner = new Function("widgetContext", scriptContent);
38409
- runner({ component: this, config: this.config });
38466
+ runner({ component: this, config: this.config, hooks });
38410
38467
  } catch (err) {
38411
38468
  console.warn("[MJCheckoutWidget] CustomJS evaluation notice:", err);
38412
38469
  this.internalErrorMessage.set("Notice: Custom widget scripts could not be evaluated under current security policy.");
38470
+ } finally {
38471
+ const after = window.MJCheckoutHooks;
38472
+ if (after && (after !== pageHooks || !this.sameHooks(after, pageHookEntries))) {
38473
+ for (const [name, fn] of Object.entries(after)) {
38474
+ if (typeof fn === "function" && pageHookEntries?.[name] !== fn && !(name in hooks)) {
38475
+ hooks[name] = fn;
38476
+ }
38477
+ }
38478
+ if (pageHooks) {
38479
+ for (const key of Object.keys(pageHooks))
38480
+ delete pageHooks[key];
38481
+ Object.assign(pageHooks, pageHookEntries);
38482
+ window.MJCheckoutHooks = pageHooks;
38483
+ } else {
38484
+ delete window.MJCheckoutHooks;
38485
+ }
38486
+ }
38413
38487
  }
38414
38488
  }
38489
+ sameHooks(a, b) {
38490
+ const keysA = Object.keys(a);
38491
+ return !!b && keysA.length === Object.keys(b).length && keysA.every((k) => a[k] === b[k]);
38492
+ }
38493
+ /** This widget's hook, else the host page's `window.MJCheckoutHooks` hook. */
38494
+ resolveHook(hookName) {
38495
+ const own = this._instanceHooks[hookName];
38496
+ if (typeof own === "function")
38497
+ return own;
38498
+ const page = typeof window !== "undefined" ? window.MJCheckoutHooks?.[hookName] : void 0;
38499
+ return typeof page === "function" ? page : null;
38500
+ }
38415
38501
  executeLifecycleHook(hookName, payload) {
38416
38502
  if (typeof window === "undefined")
38417
38503
  return void 0;
38418
38504
  try {
38419
- if (window.MJCheckoutHooks && typeof window.MJCheckoutHooks[hookName] === "function") {
38420
- return window.MJCheckoutHooks[hookName](payload, { component: this, config: this.config });
38505
+ const hook = this.resolveHook(hookName);
38506
+ if (hook) {
38507
+ return hook(payload, { component: this, config: this.config });
38421
38508
  }
38422
38509
  } catch (err) {
38423
38510
  console.warn(`[MJCheckoutWidget] Hook error in ${hookName}:`, err);
@@ -38544,8 +38631,9 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38544
38631
  if (i === 0)
38545
38632
  return unit;
38546
38633
  const copied = { ...unit };
38634
+ const defs = this.activeFieldDefs();
38547
38635
  for (const [key, val] of Object.entries(primary)) {
38548
- if (key !== "firstName" && key !== "lastName" && key !== "email" && key !== "FirstName" && key !== "LastName" && key !== "Email") {
38636
+ if (!IsPerPersonCheckoutField(key, defs)) {
38549
38637
  copied[key] = val;
38550
38638
  }
38551
38639
  }
@@ -38670,68 +38758,68 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38670
38758
  static \u0275fac = function MJCheckoutWidgetComponent_Factory(__ngFactoryType__) {
38671
38759
  return new (__ngFactoryType__ || _MJCheckoutWidgetComponent)(\u0275\u0275directiveInject(ElementRef), \u0275\u0275directiveInject(Renderer2));
38672
38760
  };
38673
- static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _MJCheckoutWidgetComponent, selectors: [["mj-checkout-widget"]], inputs: { config: "config", distributionSlug: "distributionSlug", sessionKey: "sessionKey", isProcessing: "isProcessing", errorMessage: "errorMessage", isPaymentReady: "isPaymentReady", stripePaymentMethodId: "stripePaymentMethodId", prefillEmail: "prefillEmail", appliedPromotion: "appliedPromotion", promotionError: "promotionError", memberDiscount: "memberDiscount", lockEmail: "lockEmail", serverPricedTotal: "serverPricedTotal", quotedTotal: "quotedTotal", quotedTax: "quotedTax" }, outputs: { submitted: "submitted", promotionCodeApplied: "promotionCodeApplied", cancelled: "cancelled", quoteInvalidated: "quoteInvalidated", quoteRequested: "quoteRequested" }, features: [\u0275\u0275NgOnChangesFeature], decls: 50, vars: 35, consts: [[1, "mj-checkout-widget-container"], [1, "mj-widget-header"], [1, "mj-widget-title"], [1, "mj-widget-description"], ["role", "alert", 1, "mj-widget-error-banner"], [1, "mj-widget-summary-card"], [1, "mj-summary-row"], [1, "mj-summary-item-info"], [1, "mj-product-name"], [1, "mj-badge-free"], [1, "mj-summary-price"], [1, "mj-price-free"], [1, "mj-price-amount"], [1, "mj-quantity-selector-row"], [1, "mj-widget-form-section"], [1, "mj-section-title"], [1, "mj-form-grid"], [1, "mj-form-group"], [1, "mj-label"], [1, "mj-required"], ["autocomplete", "country", "required", "", 1, "mj-select", 3, "ngModelChange", "id", "ngModel"], [3, "ngValue"], ["type", "text", "autocomplete", "postal-code", "maxlength", "20", 1, "mj-input", 3, "ngModelChange", "id", "ngModel", "required"], [1, "mj-widget-actions"], ["type", "button", 1, "mj-btn-submit", 3, "click", "disabled"], ["type", "button", 1, "mj-btn-cancel", 3, "click", "disabled"], [1, "mj-error-icon"], ["for", "quantityInput", 1, "mj-label"], [1, "mj-qty-controls"], ["type", "button", 1, "mj-qty-btn", 3, "click", "disabled"], ["id", "quantityInput", "type", "number", "min", "1", 1, "mj-qty-input", 3, "ngModelChange", "ngModel", "max"], [1, "mj-form-group", 3, "full-width"], [1, "mj-input", "mj-textarea", 3, "ngModel", "placeholder", "required"], [1, "mj-select", 3, "ngModel", "required"], [1, "mj-checkbox-label"], ["type", "number", 1, "mj-input", 3, "ngModel", "placeholder", "required"], ["type", "date", 1, "mj-input", 3, "ngModel", "required"], [1, "mj-input", "mj-textarea", 3, "ngModelChange", "ngModel", "placeholder", "required"], [1, "mj-select", 3, "ngModelChange", "ngModel", "required"], ["type", "checkbox", 3, "ngModelChange", "ngModel"], ["type", "number", 1, "mj-input", 3, "ngModelChange", "ngModel", "placeholder", "required"], ["type", "date", 1, "mj-input", 3, "ngModelChange", "ngModel", "required"], [1, "mj-input", 3, "ngModelChange", "type", "ngModel", "placeholder", "readonly", "required"], [1, "mj-field-hint"], [1, "mj-multi-attendee-header"], ["type", "button", 1, "mj-btn-link", 3, "click"], [1, "mj-attendee-matrix"], [1, "mj-attendee-card"], [1, "mj-attendee-card-title"], ["autocomplete", "address-level1", "required", "", 1, "mj-select", 3, "ngModelChange", "id", "ngModel"], [1, "mj-form-group", "full-width"], ["type", "text", 1, "mj-input", 3, "id", "ngModel", "required"], [1, "mj-select", 3, "ngModelChange", "id", "ngModel", "required"], ["type", "text", "placeholder", "Please specify", "required", "", 1, "mj-input", "mj-question-other", 3, "ngModel"], ["type", "text", "placeholder", "Please specify", "required", "", 1, "mj-input", "mj-question-other", 3, "ngModelChange", "ngModel"], ["type", "text", 1, "mj-input", 3, "ngModelChange", "id", "ngModel", "required"], [1, "mj-choice-group"], [1, "mj-choice-count"], [1, "mj-choice-options"], [1, "mj-checkbox-label", 3, "is-disabled"], ["type", "checkbox", 3, "change", "checked", "disabled"], [1, "mj-widget-payment-section"], [1, "mj-stripe-container"], ["id", "stripe-card-element", 1, "mj-stripe-mount-point"], [1, "mj-stripe-badge"], [1, "mj-stripe-lock-icon"], [1, "mj-checkout-promo"], ["role", "status", 1, "mj-checkout-promo__applied", "mj-checkout-member-discount"], [1, "mj-checkout-consent"], [1, "mj-checkout-total-row"], [1, "mj-total-label"], [1, "mj-total-amount"], [1, "mj-checkout-promo__label", 3, "for"], [1, "mj-checkout-promo__row"], ["type", "text", "autocomplete", "off", "maxlength", "60", 1, "mj-input", "mj-checkout-promo__input", 3, "input", "keydown.enter", "id", "value", "disabled"], ["type", "button", 1, "mj-checkout-promo__apply", 3, "click", "disabled"], ["role", "alert", 1, "mj-checkout-promo__error"], ["role", "status", 1, "mj-checkout-promo__applied"], [1, "mj-spinner"]], template: function MJCheckoutWidgetComponent_Template(rf, ctx) {
38761
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _MJCheckoutWidgetComponent, selectors: [["mj-checkout-widget"]], inputs: { config: "config", distributionSlug: "distributionSlug", sessionKey: "sessionKey", isProcessing: "isProcessing", errorMessage: "errorMessage", noticeMessage: "noticeMessage", isPaymentReady: "isPaymentReady", stripePaymentMethodId: "stripePaymentMethodId", prefillEmail: "prefillEmail", appliedPromotion: "appliedPromotion", promotionError: "promotionError", memberDiscount: "memberDiscount", lockEmail: "lockEmail", serverPricedTotal: "serverPricedTotal", quotedTotal: "quotedTotal", quotedTax: "quotedTax" }, outputs: { submitted: "submitted", promotionCodeApplied: "promotionCodeApplied", cancelled: "cancelled", quoteInvalidated: "quoteInvalidated", quoteRequested: "quoteRequested" }, features: [\u0275\u0275NgOnChangesFeature], decls: 51, vars: 35, consts: [[1, "mj-checkout-widget-container"], [1, "mj-widget-header"], [1, "mj-widget-title"], [1, "mj-widget-description"], ["role", "alert", 1, "mj-widget-error-banner"], ["role", "status", 1, "mj-widget-notice-banner"], [1, "mj-widget-summary-card"], [1, "mj-summary-row"], [1, "mj-summary-item-info"], [1, "mj-product-name"], [1, "mj-badge-free"], [1, "mj-summary-price"], [1, "mj-price-free"], [1, "mj-price-amount"], [1, "mj-quantity-selector-row"], [1, "mj-widget-form-section"], [1, "mj-section-title"], [1, "mj-form-grid"], [1, "mj-form-group"], [1, "mj-label"], [1, "mj-required"], ["autocomplete", "country", "required", "", 1, "mj-select", 3, "ngModelChange", "id", "ngModel"], [3, "ngValue"], ["type", "text", "autocomplete", "postal-code", "maxlength", "20", 1, "mj-input", 3, "ngModelChange", "id", "ngModel", "required"], [1, "mj-widget-actions"], ["type", "button", 1, "mj-btn-submit", 3, "click", "disabled"], ["type", "button", 1, "mj-btn-cancel", 3, "click", "disabled"], [1, "mj-error-icon"], ["for", "quantityInput", 1, "mj-label"], [1, "mj-qty-controls"], ["type", "button", 1, "mj-qty-btn", 3, "click", "disabled"], ["id", "quantityInput", "type", "number", "min", "1", 1, "mj-qty-input", 3, "ngModelChange", "ngModel", "max"], [1, "mj-form-group", 3, "full-width"], [1, "mj-input", "mj-textarea", 3, "ngModel", "placeholder", "required"], [1, "mj-select", 3, "ngModel", "required"], [1, "mj-checkbox-label"], ["type", "number", 1, "mj-input", 3, "ngModel", "placeholder", "required"], ["type", "date", 1, "mj-input", 3, "ngModel", "required"], [1, "mj-input", "mj-textarea", 3, "ngModelChange", "ngModel", "placeholder", "required"], [1, "mj-select", 3, "ngModelChange", "ngModel", "required"], ["type", "checkbox", 3, "ngModelChange", "ngModel"], ["type", "number", 1, "mj-input", 3, "ngModelChange", "ngModel", "placeholder", "required"], ["type", "date", 1, "mj-input", 3, "ngModelChange", "ngModel", "required"], [1, "mj-input", 3, "ngModelChange", "type", "ngModel", "placeholder", "readonly", "required"], [1, "mj-field-hint"], [1, "mj-multi-attendee-header"], ["type", "button", 1, "mj-btn-link", 3, "click"], [1, "mj-attendee-matrix"], [1, "mj-attendee-card"], [1, "mj-attendee-card-title"], ["autocomplete", "address-level1", "required", "", 1, "mj-select", 3, "ngModelChange", "id", "ngModel"], [1, "mj-form-group", "full-width"], ["type", "text", 1, "mj-input", 3, "id", "ngModel", "required"], [1, "mj-select", 3, "ngModelChange", "id", "ngModel", "required"], ["type", "text", "placeholder", "Please specify", "required", "", 1, "mj-input", "mj-question-other", 3, "ngModel"], ["type", "text", "placeholder", "Please specify", "required", "", 1, "mj-input", "mj-question-other", 3, "ngModelChange", "ngModel"], ["type", "text", 1, "mj-input", 3, "ngModelChange", "id", "ngModel", "required"], [1, "mj-choice-group"], [1, "mj-choice-count"], [1, "mj-choice-options"], [1, "mj-checkbox-label", 3, "is-disabled"], ["type", "checkbox", 3, "change", "checked", "disabled"], [1, "mj-widget-payment-section"], [1, "mj-stripe-container"], ["id", "stripe-card-element", 1, "mj-stripe-mount-point"], [1, "mj-stripe-badge"], [1, "mj-stripe-lock-icon"], [1, "mj-checkout-promo"], ["role", "status", 1, "mj-checkout-promo__applied", "mj-checkout-member-discount"], [1, "mj-checkout-consent"], [1, "mj-checkout-total-row"], [1, "mj-total-label"], [1, "mj-total-amount"], [1, "mj-checkout-promo__label", 3, "for"], [1, "mj-checkout-promo__row"], ["type", "text", "autocomplete", "off", "maxlength", "60", 1, "mj-input", "mj-checkout-promo__input", 3, "input", "keydown.enter", "id", "value", "disabled"], ["type", "button", 1, "mj-checkout-promo__apply", 3, "click", "disabled"], ["role", "alert", 1, "mj-checkout-promo__error"], ["role", "status", 1, "mj-checkout-promo__applied"], [1, "mj-spinner"]], template: function MJCheckoutWidgetComponent_Template(rf, ctx) {
38674
38762
  if (rf & 1) {
38675
38763
  \u0275\u0275elementStart(0, "div", 0)(1, "header", 1)(2, "h2", 2);
38676
38764
  \u0275\u0275text(3);
38677
38765
  \u0275\u0275elementEnd();
38678
38766
  \u0275\u0275conditionalCreate(4, MJCheckoutWidgetComponent_Conditional_4_Template, 2, 1, "p", 3);
38679
38767
  \u0275\u0275elementEnd();
38680
- \u0275\u0275conditionalCreate(5, MJCheckoutWidgetComponent_Conditional_5_Template, 5, 1, "div", 4);
38681
- \u0275\u0275elementStart(6, "div", 5)(7, "div", 6)(8, "div", 7)(9, "span", 8);
38682
- \u0275\u0275text(10);
38768
+ \u0275\u0275conditionalCreate(5, MJCheckoutWidgetComponent_Conditional_5_Template, 5, 1, "div", 4)(6, MJCheckoutWidgetComponent_Conditional_6_Template, 3, 1, "div", 5);
38769
+ \u0275\u0275elementStart(7, "div", 6)(8, "div", 7)(9, "div", 8)(10, "span", 9);
38770
+ \u0275\u0275text(11);
38683
38771
  \u0275\u0275elementEnd();
38684
- \u0275\u0275conditionalCreate(11, MJCheckoutWidgetComponent_Conditional_11_Template, 2, 0, "span", 9);
38772
+ \u0275\u0275conditionalCreate(12, MJCheckoutWidgetComponent_Conditional_12_Template, 2, 0, "span", 10);
38685
38773
  \u0275\u0275elementEnd();
38686
- \u0275\u0275elementStart(12, "div", 10);
38687
- \u0275\u0275conditionalCreate(13, MJCheckoutWidgetComponent_Conditional_13_Template, 2, 0, "span", 11)(14, MJCheckoutWidgetComponent_Conditional_14_Template, 2, 2, "span", 12);
38774
+ \u0275\u0275elementStart(13, "div", 11);
38775
+ \u0275\u0275conditionalCreate(14, MJCheckoutWidgetComponent_Conditional_14_Template, 2, 0, "span", 12)(15, MJCheckoutWidgetComponent_Conditional_15_Template, 2, 2, "span", 13);
38688
38776
  \u0275\u0275elementEnd()();
38689
- \u0275\u0275conditionalCreate(15, MJCheckoutWidgetComponent_Conditional_15_Template, 9, 4, "div", 13);
38777
+ \u0275\u0275conditionalCreate(16, MJCheckoutWidgetComponent_Conditional_16_Template, 9, 4, "div", 14);
38690
38778
  \u0275\u0275elementEnd();
38691
- \u0275\u0275elementStart(16, "section", 14);
38692
- \u0275\u0275conditionalCreate(17, MJCheckoutWidgetComponent_Conditional_17_Template, 5, 0)(18, MJCheckoutWidgetComponent_Conditional_18_Template, 8, 1);
38779
+ \u0275\u0275elementStart(17, "section", 15);
38780
+ \u0275\u0275conditionalCreate(18, MJCheckoutWidgetComponent_Conditional_18_Template, 5, 0)(19, MJCheckoutWidgetComponent_Conditional_19_Template, 8, 1);
38693
38781
  \u0275\u0275elementEnd();
38694
- \u0275\u0275elementStart(19, "section", 14)(20, "h3", 15);
38695
- \u0275\u0275text(21, "Billing Location");
38782
+ \u0275\u0275elementStart(20, "section", 15)(21, "h3", 16);
38783
+ \u0275\u0275text(22, "Billing Location");
38696
38784
  \u0275\u0275elementEnd();
38697
- \u0275\u0275elementStart(22, "div", 16)(23, "div", 17)(24, "label", 18);
38698
- \u0275\u0275text(25, " Country ");
38699
- \u0275\u0275elementStart(26, "span", 19);
38700
- \u0275\u0275text(27, "*");
38785
+ \u0275\u0275elementStart(23, "div", 17)(24, "div", 18)(25, "label", 19);
38786
+ \u0275\u0275text(26, " Country ");
38787
+ \u0275\u0275elementStart(27, "span", 20);
38788
+ \u0275\u0275text(28, "*");
38701
38789
  \u0275\u0275elementEnd()();
38702
- \u0275\u0275elementStart(28, "select", 20);
38703
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Template_select_ngModelChange_28_listener($event) {
38790
+ \u0275\u0275elementStart(29, "select", 21);
38791
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Template_select_ngModelChange_29_listener($event) {
38704
38792
  return ctx.onBillingCountryChange($event);
38705
38793
  });
38706
- \u0275\u0275elementStart(29, "option", 21);
38707
- \u0275\u0275text(30, "Select country");
38794
+ \u0275\u0275elementStart(30, "option", 22);
38795
+ \u0275\u0275text(31, "Select country");
38708
38796
  \u0275\u0275elementEnd();
38709
- \u0275\u0275repeaterCreate(31, MJCheckoutWidgetComponent_For_32_Template, 2, 2, "option", 21, _forTrack0);
38797
+ \u0275\u0275repeaterCreate(32, MJCheckoutWidgetComponent_For_33_Template, 2, 2, "option", 22, _forTrack0);
38710
38798
  \u0275\u0275elementEnd()();
38711
- \u0275\u0275conditionalCreate(33, MJCheckoutWidgetComponent_Conditional_33_Template, 10, 4, "div", 17);
38712
- \u0275\u0275elementStart(34, "div", 17)(35, "label", 18);
38713
- \u0275\u0275text(36, " Postal Code ");
38714
- \u0275\u0275conditionalCreate(37, MJCheckoutWidgetComponent_Conditional_37_Template, 2, 0, "span", 19);
38799
+ \u0275\u0275conditionalCreate(34, MJCheckoutWidgetComponent_Conditional_34_Template, 10, 4, "div", 18);
38800
+ \u0275\u0275elementStart(35, "div", 18)(36, "label", 19);
38801
+ \u0275\u0275text(37, " Postal Code ");
38802
+ \u0275\u0275conditionalCreate(38, MJCheckoutWidgetComponent_Conditional_38_Template, 2, 0, "span", 20);
38715
38803
  \u0275\u0275elementEnd();
38716
- \u0275\u0275elementStart(38, "input", 22);
38717
- \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Template_input_ngModelChange_38_listener($event) {
38804
+ \u0275\u0275elementStart(39, "input", 23);
38805
+ \u0275\u0275listener("ngModelChange", function MJCheckoutWidgetComponent_Template_input_ngModelChange_39_listener($event) {
38718
38806
  return ctx.onBillingPostalCodeChange($event);
38719
38807
  });
38720
38808
  \u0275\u0275elementEnd()()()();
38721
- \u0275\u0275conditionalCreate(39, MJCheckoutWidgetComponent_Conditional_39_Template, 6, 0, "section", 14);
38722
- \u0275\u0275repeaterCreate(40, MJCheckoutWidgetComponent_For_41_Template, 10, 3, "section", 14, _forTrack1);
38723
- \u0275\u0275conditionalCreate(42, MJCheckoutWidgetComponent_Conditional_42_Template, 19, 6);
38724
- \u0275\u0275elementStart(43, "div", 23)(44, "button", 24);
38725
- \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Template_button_click_44_listener() {
38809
+ \u0275\u0275conditionalCreate(40, MJCheckoutWidgetComponent_Conditional_40_Template, 6, 0, "section", 15);
38810
+ \u0275\u0275repeaterCreate(41, MJCheckoutWidgetComponent_For_42_Template, 10, 3, "section", 15, _forTrack1);
38811
+ \u0275\u0275conditionalCreate(43, MJCheckoutWidgetComponent_Conditional_43_Template, 19, 6);
38812
+ \u0275\u0275elementStart(44, "div", 24)(45, "button", 25);
38813
+ \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Template_button_click_45_listener() {
38726
38814
  return ctx.handleSubmit();
38727
38815
  });
38728
- \u0275\u0275conditionalCreate(45, MJCheckoutWidgetComponent_Conditional_45_Template, 3, 0)(46, MJCheckoutWidgetComponent_Conditional_46_Template, 2, 0, "span")(47, MJCheckoutWidgetComponent_Conditional_47_Template, 2, 2, "span");
38816
+ \u0275\u0275conditionalCreate(46, MJCheckoutWidgetComponent_Conditional_46_Template, 3, 0)(47, MJCheckoutWidgetComponent_Conditional_47_Template, 2, 0, "span")(48, MJCheckoutWidgetComponent_Conditional_48_Template, 2, 2, "span");
38729
38817
  \u0275\u0275elementEnd();
38730
- \u0275\u0275elementStart(48, "button", 25);
38731
- \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Template_button_click_48_listener() {
38818
+ \u0275\u0275elementStart(49, "button", 26);
38819
+ \u0275\u0275listener("click", function MJCheckoutWidgetComponent_Template_button_click_49_listener() {
38732
38820
  return ctx.cancelled.emit();
38733
38821
  });
38734
- \u0275\u0275text(49, " Cancel ");
38822
+ \u0275\u0275text(50, " Cancel ");
38735
38823
  \u0275\u0275elementEnd()()();
38736
38824
  }
38737
38825
  if (rf & 2) {
@@ -38747,17 +38835,17 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38747
38835
  \u0275\u0275advance();
38748
38836
  \u0275\u0275conditional((ctx.config == null ? null : ctx.config.description) ? 4 : -1);
38749
38837
  \u0275\u0275advance();
38750
- \u0275\u0275conditional(ctx.displayErrorMessage() ? 5 : -1);
38751
- \u0275\u0275advance(5);
38838
+ \u0275\u0275conditional(ctx.displayErrorMessage() ? 5 : ctx.displayNoticeMessage() ? 6 : -1);
38839
+ \u0275\u0275advance(6);
38752
38840
  \u0275\u0275textInterpolate((ctx.config == null ? null : ctx.config.productName) || "Order Item");
38753
38841
  \u0275\u0275advance();
38754
- \u0275\u0275conditional(ctx.isFree() ? 11 : -1);
38842
+ \u0275\u0275conditional(ctx.isFree() ? 12 : -1);
38755
38843
  \u0275\u0275advance(2);
38756
- \u0275\u0275conditional(ctx.isFree() ? 13 : 14);
38844
+ \u0275\u0275conditional(ctx.isFree() ? 14 : 15);
38757
38845
  \u0275\u0275advance(2);
38758
- \u0275\u0275conditional((ctx.config == null ? null : ctx.config.allowQuantity) ? 15 : -1);
38846
+ \u0275\u0275conditional((ctx.config == null ? null : ctx.config.allowQuantity) ? 16 : -1);
38759
38847
  \u0275\u0275advance(2);
38760
- \u0275\u0275conditional(ctx.isSingleUnit() ? 17 : 18);
38848
+ \u0275\u0275conditional(ctx.isSingleUnit() ? 18 : 19);
38761
38849
  \u0275\u0275advance(7);
38762
38850
  \u0275\u0275attribute("for", ctx.widgetInstanceId + "-billing-country");
38763
38851
  \u0275\u0275advance(4);
@@ -38767,27 +38855,27 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38767
38855
  \u0275\u0275advance(2);
38768
38856
  \u0275\u0275repeater(ctx.billingCountries);
38769
38857
  \u0275\u0275advance(2);
38770
- \u0275\u0275conditional(ctx.billingRegions().length > 0 ? 33 : -1);
38858
+ \u0275\u0275conditional(ctx.billingRegions().length > 0 ? 34 : -1);
38771
38859
  \u0275\u0275advance(2);
38772
38860
  \u0275\u0275attribute("for", ctx.widgetInstanceId + "-billing-postal");
38773
38861
  \u0275\u0275advance(2);
38774
- \u0275\u0275conditional(ctx.billingPostalRequired() ? 37 : -1);
38862
+ \u0275\u0275conditional(ctx.billingPostalRequired() ? 38 : -1);
38775
38863
  \u0275\u0275advance();
38776
38864
  \u0275\u0275property("id", ctx.widgetInstanceId + "-billing-postal")("ngModel", ctx.billingPostalCode())("required", ctx.billingPostalRequired());
38777
38865
  \u0275\u0275advance();
38778
- \u0275\u0275conditional(ctx.questions().length > 0 ? 39 : -1);
38866
+ \u0275\u0275conditional(ctx.questions().length > 0 ? 40 : -1);
38779
38867
  \u0275\u0275advance();
38780
38868
  \u0275\u0275repeater(ctx.choiceGroups());
38781
38869
  \u0275\u0275advance(2);
38782
- \u0275\u0275conditional(!ctx.isFree() ? 42 : -1);
38870
+ \u0275\u0275conditional(!ctx.isFree() ? 43 : -1);
38783
38871
  \u0275\u0275advance(2);
38784
38872
  \u0275\u0275property("disabled", !ctx.isFormValid() || ctx.isProcessing);
38785
38873
  \u0275\u0275advance();
38786
- \u0275\u0275conditional(ctx.isProcessing ? 45 : ctx.isFree() ? 46 : 47);
38874
+ \u0275\u0275conditional(ctx.isProcessing ? 46 : ctx.isFree() ? 47 : 48);
38787
38875
  \u0275\u0275advance(3);
38788
38876
  \u0275\u0275property("disabled", ctx.isProcessing);
38789
38877
  }
38790
- }, dependencies: [CommonModule, FormsModule, NgSelectOption, \u0275NgSelectMultipleOption, DefaultValueAccessor, NumberValueAccessor, CheckboxControlValueAccessor, SelectControlValueAccessor, NgControlStatus, RequiredValidator, MaxLengthValidator, MinValidator, MaxValidator, NgModel], styles: ['[_nghost-%COMP%] {\n display: block;\n font-family: var(--mj-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);\n color: var(--mj-text-color, #1e293b);\n}\n\n.mj-checkout-widget-container[_ngcontent-%COMP%] {\n \n\n\n --mjo-co-border: #cbd5e1;\n --mjo-co-error: #b91c1c;\n --mjo-co-success: #15803d;\n max-width: 560px;\n margin: 0 auto;\n background: var(--mj-bg-color, #ffffff);\n border: 1px solid #e2e8f0;\n border-radius: var(--mj-border-radius, 8px);\n padding: 24px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);\n}\n\n.mj-widget-header[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.mj-widget-title[_ngcontent-%COMP%] {\n margin: 0 0 6px 0;\n font-size: 1.35rem;\n font-weight: 700;\n color: var(--mj-text-color, #0f172a);\n}\n\n.mj-widget-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.9rem;\n color: #64748b;\n line-height: 1.4;\n}\n\n.mj-widget-error-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #fef2f2;\n border: 1px solid #f87171;\n color: #991b1b;\n padding: 10px 14px;\n border-radius: 6px;\n margin-bottom: 18px;\n font-size: 0.875rem;\n}\n\n.mj-error-icon[_ngcontent-%COMP%] {\n font-size: 1rem;\n}\n\n.mj-widget-summary-card[_ngcontent-%COMP%] {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 14px 16px;\n margin-bottom: 20px;\n}\n\n.mj-summary-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.mj-summary-price[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n}\n\n.mj-widget-form-section[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.mj-summary-item-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mj-product-name[_ngcontent-%COMP%] {\n font-weight: 600;\n font-size: 1rem;\n color: #1e293b;\n}\n\n.mj-badge-free[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n font-size: 0.75rem;\n font-weight: 700;\n padding: 2px 6px;\n border-radius: 4px;\n}\n\n.mj-price-free[_ngcontent-%COMP%] {\n font-weight: 700;\n color: #166534;\n font-size: 1.1rem;\n}\n\n.mj-price-amount[_ngcontent-%COMP%] {\n font-weight: 700;\n color: #0f172a;\n font-size: 1.1rem;\n}\n\n.mj-quantity-selector-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px dashed #cbd5e1;\n}\n\n.mj-qty-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.mj-qty-btn[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n background: #ffffff;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n cursor: pointer;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.mj-qty-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.mj-qty-input[_ngcontent-%COMP%] {\n width: 44px;\n height: 28px;\n text-align: center;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n font-weight: 600;\n}\n\n.mj-section-title[_ngcontent-%COMP%] {\n font-size: 1rem;\n font-weight: 600;\n margin: 0 0 12px 0;\n color: #334155;\n}\n\n.mj-form-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n margin-bottom: 18px;\n}\n\n.mj-form-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.mj-form-group.full-width[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mj-label[_ngcontent-%COMP%] {\n font-size: 0.8rem;\n font-weight: 500;\n color: #475569;\n}\n\n.mj-required[_ngcontent-%COMP%] {\n color: #ef4444;\n}\n\n.mj-input[_ngcontent-%COMP%], .mj-select[_ngcontent-%COMP%] {\n padding: 8px 12px;\n font-size: 0.9rem;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n background: #ffffff;\n color: #1e293b;\n outline: none;\n transition: border-color 0.15s ease;\n width: 100%;\n box-sizing: border-box;\n}\n\n.mj-textarea[_ngcontent-%COMP%] {\n min-height: 70px;\n resize: vertical;\n font-family: inherit;\n}\n\n.mj-select[_ngcontent-%COMP%] {\n min-height: 38px;\n}\n\n.mj-checkbox-label[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 0.9rem;\n font-weight: 400;\n color: #334155;\n margin-top: 4px;\n}\n\n\n\n.mj-question-other[_ngcontent-%COMP%] {\n margin-top: 8px;\n}\n\n\n\n.mj-choice-group[_ngcontent-%COMP%] {\n border: 0;\n margin: 0;\n padding: 0;\n}\n\n.mj-choice-count[_ngcontent-%COMP%] {\n font-weight: normal;\n color: #64748b;\n}\n\n.mj-choice-options[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.mj-checkbox-label.is-disabled[_ngcontent-%COMP%] {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.mj-input[_ngcontent-%COMP%]:focus, .mj-select[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-primary-color, #2563eb);\n box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);\n}\n\n\n\n.mj-input[readonly][_ngcontent-%COMP%] {\n background: #f1f5f9;\n color: #475569;\n cursor: default;\n}\n\n.mj-field-hint[_ngcontent-%COMP%] {\n font-size: 0.8rem;\n color: #64748b;\n margin: 0.25rem 0 0;\n}\n\n.mj-multi-attendee-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.mj-btn-link[_ngcontent-%COMP%] {\n background: none;\n border: none;\n color: var(--mj-primary-color, #2563eb);\n font-size: 0.8rem;\n cursor: pointer;\n text-decoration: underline;\n padding: 0;\n}\n\n.mj-attendee-matrix[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 14px;\n margin-bottom: 20px;\n}\n\n.mj-attendee-card[_ngcontent-%COMP%] {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 12px 14px;\n}\n\n.mj-attendee-card-title[_ngcontent-%COMP%] {\n font-size: 0.85rem;\n font-weight: 600;\n color: #475569;\n margin-bottom: 10px;\n}\n\n\n\n.mj-widget-payment-section[_ngcontent-%COMP%] {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #e2e8f0;\n}\n\n.mj-stripe-container[_ngcontent-%COMP%] {\n background: #ffffff;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 14px;\n margin-bottom: 16px;\n}\n\n.mj-stripe-mount-point[_ngcontent-%COMP%] {\n min-height: 40px;\n}\n\n.mj-stripe-badge[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 10px;\n font-size: 0.75rem;\n color: #64748b;\n}\n\n.mj-stripe-lock-icon[_ngcontent-%COMP%] {\n font-size: 0.85rem;\n}\n\n.mj-checkout-total-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 0;\n border-top: 1px solid #e2e8f0;\n margin-top: 10px;\n margin-bottom: 18px;\n}\n\n.mj-total-label[_ngcontent-%COMP%] {\n font-weight: 700;\n font-size: 1.05rem;\n color: #0f172a;\n}\n\n.mj-total-amount[_ngcontent-%COMP%] {\n font-weight: 800;\n font-size: 1.25rem;\n color: var(--mj-primary-color, #2563eb);\n}\n\n.mj-widget-actions[_ngcontent-%COMP%] {\n margin-top: 12px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mj-btn-submit[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px;\n background: var(--mj-primary-color, #2563eb);\n color: #ffffff;\n font-size: 1rem;\n font-weight: 600;\n border: none;\n border-radius: var(--mj-border-radius, 8px);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n transition: opacity 0.15s ease;\n}\n\n.mj-btn-submit[_ngcontent-%COMP%]:hover:not(:disabled) {\n opacity: 0.92;\n}\n\n.mj-btn-submit[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.mj-btn-cancel[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n color: #64748b;\n font-size: 0.875rem;\n font-weight: 500;\n border: none;\n cursor: pointer;\n text-align: center;\n}\n\n.mj-btn-cancel[_ngcontent-%COMP%]:hover:not(:disabled) {\n color: #334155;\n text-decoration: underline;\n}\n\n.mj-spinner[_ngcontent-%COMP%] {\n width: 16px;\n height: 16px;\n border: 2px solid #ffffff;\n border-top-color: transparent;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_mj-spin 0.8s linear infinite;\n}\n\n@keyframes _ngcontent-%COMP%_mj-spin {\n to { transform: rotate(360deg); }\n}\n\n.mj-checkout-consent[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n align-items: flex-start;\n margin: 0.75rem 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.4;\n}\n.mj-checkout-consent[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin-top: 0.2rem;\n}\n\n\n\n\n\n.mj-checkbox-label[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%], \n.mj-checkout-consent[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n width: auto;\n height: auto;\n padding: 0;\n border: 0;\n flex: 0 0 auto;\n}\n\n.mj-checkout-promo[_ngcontent-%COMP%] {\n margin: 0.75rem 0;\n}\n.mj-checkout-promo__label[_ngcontent-%COMP%] {\n display: block;\n font-size: 0.875rem;\n margin-bottom: 0.25rem;\n}\n.mj-checkout-promo__row[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n}\n.mj-checkout-promo__input[_ngcontent-%COMP%] {\n flex: 1 1 auto;\n}\n.mj-checkout-promo__error[_ngcontent-%COMP%] {\n color: var(--mjo-co-error);\n font-size: 0.875rem;\n margin: 0.35rem 0 0;\n}\n.mj-checkout-promo__applied[_ngcontent-%COMP%] {\n color: var(--mjo-co-success);\n font-size: 0.875rem;\n margin: 0.35rem 0 0;\n}\n.mj-checkout-member-discount[_ngcontent-%COMP%] {\n margin: 0.75rem 0;\n}\n.mj-checkout-promo__apply[_ngcontent-%COMP%] {\n flex: 0 0 auto;\n padding: 8px 14px;\n background: transparent;\n color: var(--mj-primary-color, #2563eb);\n border: 1px solid var(--mjo-co-border);\n border-radius: var(--mj-border-radius, 8px);\n font-size: 0.875rem;\n font-weight: 600;\n cursor: pointer;\n}\n.mj-checkout-promo__apply[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}'], changeDetection: 0 });
38878
+ }, dependencies: [CommonModule, FormsModule, NgSelectOption, \u0275NgSelectMultipleOption, DefaultValueAccessor, NumberValueAccessor, CheckboxControlValueAccessor, SelectControlValueAccessor, NgControlStatus, RequiredValidator, MaxLengthValidator, MinValidator, MaxValidator, NgModel], styles: ['[_nghost-%COMP%] {\n display: block;\n font-family: var(--mj-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);\n color: var(--mj-text-color, #1e293b);\n}\n\n.mj-checkout-widget-container[_ngcontent-%COMP%] {\n \n\n\n --mjo-co-border: #cbd5e1;\n --mjo-co-error: #b91c1c;\n --mjo-co-success: #15803d;\n max-width: 560px;\n margin: 0 auto;\n background: var(--mj-bg-color, #ffffff);\n border: 1px solid #e2e8f0;\n border-radius: var(--mj-border-radius, 8px);\n padding: 24px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);\n}\n\n.mj-widget-header[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.mj-widget-title[_ngcontent-%COMP%] {\n margin: 0 0 6px 0;\n font-size: 1.35rem;\n font-weight: 700;\n color: var(--mj-text-color, #0f172a);\n}\n\n.mj-widget-description[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.9rem;\n color: #64748b;\n line-height: 1.4;\n}\n\n.mj-widget-error-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #fef2f2;\n border: 1px solid #f87171;\n color: #991b1b;\n padding: 10px 14px;\n border-radius: 6px;\n margin-bottom: 18px;\n font-size: 0.875rem;\n}\n\n.mj-widget-notice-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #eff6ff;\n border: 1px solid #93c5fd;\n color: #1e3a8a;\n padding: 10px 14px;\n border-radius: 6px;\n margin-bottom: 18px;\n font-size: 0.875rem;\n}\n\n.mj-error-icon[_ngcontent-%COMP%] {\n font-size: 1rem;\n}\n\n.mj-widget-summary-card[_ngcontent-%COMP%] {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 14px 16px;\n margin-bottom: 20px;\n}\n\n.mj-summary-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.mj-summary-price[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n}\n\n.mj-widget-form-section[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.mj-summary-item-info[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mj-product-name[_ngcontent-%COMP%] {\n font-weight: 600;\n font-size: 1rem;\n color: #1e293b;\n}\n\n.mj-badge-free[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n font-size: 0.75rem;\n font-weight: 700;\n padding: 2px 6px;\n border-radius: 4px;\n}\n\n.mj-price-free[_ngcontent-%COMP%] {\n font-weight: 700;\n color: #166534;\n font-size: 1.1rem;\n}\n\n.mj-price-amount[_ngcontent-%COMP%] {\n font-weight: 700;\n color: #0f172a;\n font-size: 1.1rem;\n}\n\n.mj-quantity-selector-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px dashed #cbd5e1;\n}\n\n.mj-qty-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.mj-qty-btn[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n background: #ffffff;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n cursor: pointer;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.mj-qty-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.mj-qty-input[_ngcontent-%COMP%] {\n width: 44px;\n height: 28px;\n text-align: center;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n font-weight: 600;\n}\n\n.mj-section-title[_ngcontent-%COMP%] {\n font-size: 1rem;\n font-weight: 600;\n margin: 0 0 12px 0;\n color: #334155;\n}\n\n.mj-form-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n margin-bottom: 18px;\n}\n\n.mj-form-group[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.mj-form-group.full-width[_ngcontent-%COMP%] {\n grid-column: 1 / -1;\n}\n\n.mj-label[_ngcontent-%COMP%] {\n font-size: 0.8rem;\n font-weight: 500;\n color: #475569;\n}\n\n.mj-required[_ngcontent-%COMP%] {\n color: #ef4444;\n}\n\n.mj-input[_ngcontent-%COMP%], .mj-select[_ngcontent-%COMP%] {\n padding: 8px 12px;\n font-size: 0.9rem;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n background: #ffffff;\n color: #1e293b;\n outline: none;\n transition: border-color 0.15s ease;\n width: 100%;\n box-sizing: border-box;\n}\n\n.mj-textarea[_ngcontent-%COMP%] {\n min-height: 70px;\n resize: vertical;\n font-family: inherit;\n}\n\n.mj-select[_ngcontent-%COMP%] {\n min-height: 38px;\n}\n\n.mj-checkbox-label[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 0.9rem;\n font-weight: 400;\n color: #334155;\n margin-top: 4px;\n}\n\n\n\n.mj-question-other[_ngcontent-%COMP%] {\n margin-top: 8px;\n}\n\n\n\n.mj-choice-group[_ngcontent-%COMP%] {\n border: 0;\n margin: 0;\n padding: 0;\n}\n\n.mj-choice-count[_ngcontent-%COMP%] {\n font-weight: normal;\n color: #64748b;\n}\n\n.mj-choice-options[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.mj-checkbox-label.is-disabled[_ngcontent-%COMP%] {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.mj-input[_ngcontent-%COMP%]:focus, .mj-select[_ngcontent-%COMP%]:focus {\n border-color: var(--mj-primary-color, #2563eb);\n box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);\n}\n\n\n\n.mj-input[readonly][_ngcontent-%COMP%] {\n background: #f1f5f9;\n color: #475569;\n cursor: default;\n}\n\n.mj-field-hint[_ngcontent-%COMP%] {\n font-size: 0.8rem;\n color: #64748b;\n margin: 0.25rem 0 0;\n}\n\n.mj-multi-attendee-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.mj-btn-link[_ngcontent-%COMP%] {\n background: none;\n border: none;\n color: var(--mj-primary-color, #2563eb);\n font-size: 0.8rem;\n cursor: pointer;\n text-decoration: underline;\n padding: 0;\n}\n\n.mj-attendee-matrix[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 14px;\n margin-bottom: 20px;\n}\n\n.mj-attendee-card[_ngcontent-%COMP%] {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 12px 14px;\n}\n\n.mj-attendee-card-title[_ngcontent-%COMP%] {\n font-size: 0.85rem;\n font-weight: 600;\n color: #475569;\n margin-bottom: 10px;\n}\n\n\n\n.mj-widget-payment-section[_ngcontent-%COMP%] {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #e2e8f0;\n}\n\n.mj-stripe-container[_ngcontent-%COMP%] {\n background: #ffffff;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 14px;\n margin-bottom: 16px;\n}\n\n.mj-stripe-mount-point[_ngcontent-%COMP%] {\n min-height: 40px;\n}\n\n.mj-stripe-badge[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 10px;\n font-size: 0.75rem;\n color: #64748b;\n}\n\n.mj-stripe-lock-icon[_ngcontent-%COMP%] {\n font-size: 0.85rem;\n}\n\n.mj-checkout-total-row[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 0;\n border-top: 1px solid #e2e8f0;\n margin-top: 10px;\n margin-bottom: 18px;\n}\n\n.mj-total-label[_ngcontent-%COMP%] {\n font-weight: 700;\n font-size: 1.05rem;\n color: #0f172a;\n}\n\n.mj-total-amount[_ngcontent-%COMP%] {\n font-weight: 800;\n font-size: 1.25rem;\n color: var(--mj-primary-color, #2563eb);\n}\n\n.mj-widget-actions[_ngcontent-%COMP%] {\n margin-top: 12px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mj-btn-submit[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px;\n background: var(--mj-primary-color, #2563eb);\n color: #ffffff;\n font-size: 1rem;\n font-weight: 600;\n border: none;\n border-radius: var(--mj-border-radius, 8px);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n transition: opacity 0.15s ease;\n}\n\n.mj-btn-submit[_ngcontent-%COMP%]:hover:not(:disabled) {\n opacity: 0.92;\n}\n\n.mj-btn-submit[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.mj-btn-cancel[_ngcontent-%COMP%] {\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n color: #64748b;\n font-size: 0.875rem;\n font-weight: 500;\n border: none;\n cursor: pointer;\n text-align: center;\n}\n\n.mj-btn-cancel[_ngcontent-%COMP%]:hover:not(:disabled) {\n color: #334155;\n text-decoration: underline;\n}\n\n.mj-spinner[_ngcontent-%COMP%] {\n width: 16px;\n height: 16px;\n border: 2px solid #ffffff;\n border-top-color: transparent;\n border-radius: 50%;\n animation: _ngcontent-%COMP%_mj-spin 0.8s linear infinite;\n}\n\n@keyframes _ngcontent-%COMP%_mj-spin {\n to { transform: rotate(360deg); }\n}\n\n.mj-checkout-consent[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n align-items: flex-start;\n margin: 0.75rem 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.4;\n}\n.mj-checkout-consent[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n margin-top: 0.2rem;\n}\n\n\n\n\n\n.mj-checkbox-label[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%], \n.mj-checkout-consent[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%] {\n width: auto;\n height: auto;\n padding: 0;\n border: 0;\n flex: 0 0 auto;\n}\n\n.mj-checkout-promo[_ngcontent-%COMP%] {\n margin: 0.75rem 0;\n}\n.mj-checkout-promo__label[_ngcontent-%COMP%] {\n display: block;\n font-size: 0.875rem;\n margin-bottom: 0.25rem;\n}\n.mj-checkout-promo__row[_ngcontent-%COMP%] {\n display: flex;\n gap: 0.5rem;\n}\n.mj-checkout-promo__input[_ngcontent-%COMP%] {\n flex: 1 1 auto;\n}\n.mj-checkout-promo__error[_ngcontent-%COMP%] {\n color: var(--mjo-co-error);\n font-size: 0.875rem;\n margin: 0.35rem 0 0;\n}\n.mj-checkout-promo__applied[_ngcontent-%COMP%] {\n color: var(--mjo-co-success);\n font-size: 0.875rem;\n margin: 0.35rem 0 0;\n}\n.mj-checkout-member-discount[_ngcontent-%COMP%] {\n margin: 0.75rem 0;\n}\n.mj-checkout-promo__apply[_ngcontent-%COMP%] {\n flex: 0 0 auto;\n padding: 8px 14px;\n background: transparent;\n color: var(--mj-primary-color, #2563eb);\n border: 1px solid var(--mjo-co-border);\n border-radius: var(--mj-border-radius, 8px);\n font-size: 0.875rem;\n font-weight: 600;\n cursor: pointer;\n}\n.mj-checkout-promo__apply[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}'], changeDetection: 0 });
38791
38879
  };
38792
38880
  (() => {
38793
38881
  (typeof ngDevMode === "undefined" || ngDevMode) && setClassMetadata(MJCheckoutWidgetComponent, [{
@@ -38814,6 +38902,10 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
38814
38902
  <span class="mj-error-icon">\u26A0\uFE0F</span>
38815
38903
  <span>{{ displayErrorMessage() }}</span>
38816
38904
  </div>
38905
+ } @else if (displayNoticeMessage()) {
38906
+ <div class="mj-widget-notice-banner" role="status">
38907
+ <span>{{ displayNoticeMessage() }}</span>
38908
+ </div>
38817
38909
  }
38818
38910
 
38819
38911
  <!-- Order Item & Pricing Summary -->
@@ -39243,7 +39335,7 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
39243
39335
  </button>
39244
39336
  </div>
39245
39337
  </div>
39246
- `, styles: [':host {\n display: block;\n font-family: var(--mj-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);\n color: var(--mj-text-color, #1e293b);\n}\n\n.mj-checkout-widget-container {\n /* Widget-local colours with no public theme hook. The widget embeds in host pages that\n do not load MJ\'s tokens, so these stay literal. */\n --mjo-co-border: #cbd5e1;\n --mjo-co-error: #b91c1c;\n --mjo-co-success: #15803d;\n max-width: 560px;\n margin: 0 auto;\n background: var(--mj-bg-color, #ffffff);\n border: 1px solid #e2e8f0;\n border-radius: var(--mj-border-radius, 8px);\n padding: 24px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);\n}\n\n.mj-widget-header {\n margin-bottom: 20px;\n}\n\n.mj-widget-title {\n margin: 0 0 6px 0;\n font-size: 1.35rem;\n font-weight: 700;\n color: var(--mj-text-color, #0f172a);\n}\n\n.mj-widget-description {\n margin: 0;\n font-size: 0.9rem;\n color: #64748b;\n line-height: 1.4;\n}\n\n.mj-widget-error-banner {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #fef2f2;\n border: 1px solid #f87171;\n color: #991b1b;\n padding: 10px 14px;\n border-radius: 6px;\n margin-bottom: 18px;\n font-size: 0.875rem;\n}\n\n.mj-error-icon {\n font-size: 1rem;\n}\n\n.mj-widget-summary-card {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 14px 16px;\n margin-bottom: 20px;\n}\n\n.mj-summary-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.mj-summary-price {\n display: flex;\n align-items: center;\n}\n\n.mj-widget-form-section {\n margin-bottom: 20px;\n}\n\n.mj-summary-item-info {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mj-product-name {\n font-weight: 600;\n font-size: 1rem;\n color: #1e293b;\n}\n\n.mj-badge-free {\n background: #dcfce7;\n color: #166534;\n font-size: 0.75rem;\n font-weight: 700;\n padding: 2px 6px;\n border-radius: 4px;\n}\n\n.mj-price-free {\n font-weight: 700;\n color: #166534;\n font-size: 1.1rem;\n}\n\n.mj-price-amount {\n font-weight: 700;\n color: #0f172a;\n font-size: 1.1rem;\n}\n\n.mj-quantity-selector-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px dashed #cbd5e1;\n}\n\n.mj-qty-controls {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.mj-qty-btn {\n width: 28px;\n height: 28px;\n background: #ffffff;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n cursor: pointer;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.mj-qty-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.mj-qty-input {\n width: 44px;\n height: 28px;\n text-align: center;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n font-weight: 600;\n}\n\n.mj-section-title {\n font-size: 1rem;\n font-weight: 600;\n margin: 0 0 12px 0;\n color: #334155;\n}\n\n.mj-form-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n margin-bottom: 18px;\n}\n\n.mj-form-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.mj-form-group.full-width {\n grid-column: 1 / -1;\n}\n\n.mj-label {\n font-size: 0.8rem;\n font-weight: 500;\n color: #475569;\n}\n\n.mj-required {\n color: #ef4444;\n}\n\n.mj-input, .mj-select {\n padding: 8px 12px;\n font-size: 0.9rem;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n background: #ffffff;\n color: #1e293b;\n outline: none;\n transition: border-color 0.15s ease;\n width: 100%;\n box-sizing: border-box;\n}\n\n.mj-textarea {\n min-height: 70px;\n resize: vertical;\n font-family: inherit;\n}\n\n.mj-select {\n min-height: 38px;\n}\n\n.mj-checkbox-label {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 0.9rem;\n font-weight: 400;\n color: #334155;\n margin-top: 4px;\n}\n\n/* The free-text answer that appears under a question\'s "Other" choice. */\n.mj-question-other {\n margin-top: 8px;\n}\n\n/* A choice group: its options stacked, with how many to pick beside the heading. */\n.mj-choice-group {\n border: 0;\n margin: 0;\n padding: 0;\n}\n\n.mj-choice-count {\n font-weight: normal;\n color: #64748b;\n}\n\n.mj-choice-options {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.mj-checkbox-label.is-disabled {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.mj-input:focus, .mj-select:focus {\n border-color: var(--mj-primary-color, #2563eb);\n box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);\n}\n\n/* The e-mail a member token was signed for (#919): shown, not editable. */\n.mj-input[readonly] {\n background: #f1f5f9;\n color: #475569;\n cursor: default;\n}\n\n.mj-field-hint {\n font-size: 0.8rem;\n color: #64748b;\n margin: 0.25rem 0 0;\n}\n\n.mj-multi-attendee-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.mj-btn-link {\n background: none;\n border: none;\n color: var(--mj-primary-color, #2563eb);\n font-size: 0.8rem;\n cursor: pointer;\n text-decoration: underline;\n padding: 0;\n}\n\n.mj-attendee-matrix {\n display: flex;\n flex-direction: column;\n gap: 14px;\n margin-bottom: 20px;\n}\n\n.mj-attendee-card {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 12px 14px;\n}\n\n.mj-attendee-card-title {\n font-size: 0.85rem;\n font-weight: 600;\n color: #475569;\n margin-bottom: 10px;\n}\n\n/* Stripe Payment Container */\n.mj-widget-payment-section {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #e2e8f0;\n}\n\n.mj-stripe-container {\n background: #ffffff;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 14px;\n margin-bottom: 16px;\n}\n\n.mj-stripe-mount-point {\n min-height: 40px;\n}\n\n.mj-stripe-badge {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 10px;\n font-size: 0.75rem;\n color: #64748b;\n}\n\n.mj-stripe-lock-icon {\n font-size: 0.85rem;\n}\n\n.mj-checkout-total-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 0;\n border-top: 1px solid #e2e8f0;\n margin-top: 10px;\n margin-bottom: 18px;\n}\n\n.mj-total-label {\n font-weight: 700;\n font-size: 1.05rem;\n color: #0f172a;\n}\n\n.mj-total-amount {\n font-weight: 800;\n font-size: 1.25rem;\n color: var(--mj-primary-color, #2563eb);\n}\n\n.mj-widget-actions {\n margin-top: 12px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mj-btn-submit {\n width: 100%;\n padding: 12px;\n background: var(--mj-primary-color, #2563eb);\n color: #ffffff;\n font-size: 1rem;\n font-weight: 600;\n border: none;\n border-radius: var(--mj-border-radius, 8px);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n transition: opacity 0.15s ease;\n}\n\n.mj-btn-submit:hover:not(:disabled) {\n opacity: 0.92;\n}\n\n.mj-btn-submit:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.mj-btn-cancel {\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n color: #64748b;\n font-size: 0.875rem;\n font-weight: 500;\n border: none;\n cursor: pointer;\n text-align: center;\n}\n\n.mj-btn-cancel:hover:not(:disabled) {\n color: #334155;\n text-decoration: underline;\n}\n\n.mj-spinner {\n width: 16px;\n height: 16px;\n border: 2px solid #ffffff;\n border-top-color: transparent;\n border-radius: 50%;\n animation: mj-spin 0.8s linear infinite;\n}\n\n@keyframes mj-spin {\n to { transform: rotate(360deg); }\n}\n\n.mj-checkout-consent {\n display: flex;\n gap: 0.5rem;\n align-items: flex-start;\n margin: 0.75rem 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.4;\n}\n.mj-checkout-consent input {\n margin-top: 0.2rem;\n}\n\n/* Checkboxes keep their native size even when the host page styles every input\n (e.g. `input { width: 100% }`): this rule is scoped to the widget, so it outranks\n a plain element or class selector on the host page. */\n.mj-checkbox-label input[type=checkbox],\n.mj-checkout-consent input[type=checkbox] {\n width: auto;\n height: auto;\n padding: 0;\n border: 0;\n flex: 0 0 auto;\n}\n\n.mj-checkout-promo {\n margin: 0.75rem 0;\n}\n.mj-checkout-promo__label {\n display: block;\n font-size: 0.875rem;\n margin-bottom: 0.25rem;\n}\n.mj-checkout-promo__row {\n display: flex;\n gap: 0.5rem;\n}\n.mj-checkout-promo__input {\n flex: 1 1 auto;\n}\n.mj-checkout-promo__error {\n color: var(--mjo-co-error);\n font-size: 0.875rem;\n margin: 0.35rem 0 0;\n}\n.mj-checkout-promo__applied {\n color: var(--mjo-co-success);\n font-size: 0.875rem;\n margin: 0.35rem 0 0;\n}\n.mj-checkout-member-discount {\n margin: 0.75rem 0;\n}\n.mj-checkout-promo__apply {\n flex: 0 0 auto;\n padding: 8px 14px;\n background: transparent;\n color: var(--mj-primary-color, #2563eb);\n border: 1px solid var(--mjo-co-border);\n border-radius: var(--mj-border-radius, 8px);\n font-size: 0.875rem;\n font-weight: 600;\n cursor: pointer;\n}\n.mj-checkout-promo__apply:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n'] }]
39338
+ `, styles: [':host {\n display: block;\n font-family: var(--mj-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);\n color: var(--mj-text-color, #1e293b);\n}\n\n.mj-checkout-widget-container {\n /* Widget-local colours with no public theme hook. The widget embeds in host pages that\n do not load MJ\'s tokens, so these stay literal. */\n --mjo-co-border: #cbd5e1;\n --mjo-co-error: #b91c1c;\n --mjo-co-success: #15803d;\n max-width: 560px;\n margin: 0 auto;\n background: var(--mj-bg-color, #ffffff);\n border: 1px solid #e2e8f0;\n border-radius: var(--mj-border-radius, 8px);\n padding: 24px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05);\n}\n\n.mj-widget-header {\n margin-bottom: 20px;\n}\n\n.mj-widget-title {\n margin: 0 0 6px 0;\n font-size: 1.35rem;\n font-weight: 700;\n color: var(--mj-text-color, #0f172a);\n}\n\n.mj-widget-description {\n margin: 0;\n font-size: 0.9rem;\n color: #64748b;\n line-height: 1.4;\n}\n\n.mj-widget-error-banner {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #fef2f2;\n border: 1px solid #f87171;\n color: #991b1b;\n padding: 10px 14px;\n border-radius: 6px;\n margin-bottom: 18px;\n font-size: 0.875rem;\n}\n\n.mj-widget-notice-banner {\n display: flex;\n align-items: center;\n gap: 8px;\n background: #eff6ff;\n border: 1px solid #93c5fd;\n color: #1e3a8a;\n padding: 10px 14px;\n border-radius: 6px;\n margin-bottom: 18px;\n font-size: 0.875rem;\n}\n\n.mj-error-icon {\n font-size: 1rem;\n}\n\n.mj-widget-summary-card {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 14px 16px;\n margin-bottom: 20px;\n}\n\n.mj-summary-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n.mj-summary-price {\n display: flex;\n align-items: center;\n}\n\n.mj-widget-form-section {\n margin-bottom: 20px;\n}\n\n.mj-summary-item-info {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.mj-product-name {\n font-weight: 600;\n font-size: 1rem;\n color: #1e293b;\n}\n\n.mj-badge-free {\n background: #dcfce7;\n color: #166534;\n font-size: 0.75rem;\n font-weight: 700;\n padding: 2px 6px;\n border-radius: 4px;\n}\n\n.mj-price-free {\n font-weight: 700;\n color: #166534;\n font-size: 1.1rem;\n}\n\n.mj-price-amount {\n font-weight: 700;\n color: #0f172a;\n font-size: 1.1rem;\n}\n\n.mj-quantity-selector-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px dashed #cbd5e1;\n}\n\n.mj-qty-controls {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.mj-qty-btn {\n width: 28px;\n height: 28px;\n background: #ffffff;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n cursor: pointer;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.mj-qty-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.mj-qty-input {\n width: 44px;\n height: 28px;\n text-align: center;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n font-weight: 600;\n}\n\n.mj-section-title {\n font-size: 1rem;\n font-weight: 600;\n margin: 0 0 12px 0;\n color: #334155;\n}\n\n.mj-form-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 12px;\n margin-bottom: 18px;\n}\n\n.mj-form-group {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.mj-form-group.full-width {\n grid-column: 1 / -1;\n}\n\n.mj-label {\n font-size: 0.8rem;\n font-weight: 500;\n color: #475569;\n}\n\n.mj-required {\n color: #ef4444;\n}\n\n.mj-input, .mj-select {\n padding: 8px 12px;\n font-size: 0.9rem;\n border: 1px solid #cbd5e1;\n border-radius: 4px;\n background: #ffffff;\n color: #1e293b;\n outline: none;\n transition: border-color 0.15s ease;\n width: 100%;\n box-sizing: border-box;\n}\n\n.mj-textarea {\n min-height: 70px;\n resize: vertical;\n font-family: inherit;\n}\n\n.mj-select {\n min-height: 38px;\n}\n\n.mj-checkbox-label {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n font-size: 0.9rem;\n font-weight: 400;\n color: #334155;\n margin-top: 4px;\n}\n\n/* The free-text answer that appears under a question\'s "Other" choice. */\n.mj-question-other {\n margin-top: 8px;\n}\n\n/* A choice group: its options stacked, with how many to pick beside the heading. */\n.mj-choice-group {\n border: 0;\n margin: 0;\n padding: 0;\n}\n\n.mj-choice-count {\n font-weight: normal;\n color: #64748b;\n}\n\n.mj-choice-options {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.mj-checkbox-label.is-disabled {\n cursor: not-allowed;\n opacity: 0.55;\n}\n\n.mj-input:focus, .mj-select:focus {\n border-color: var(--mj-primary-color, #2563eb);\n box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);\n}\n\n/* The e-mail a member token was signed for (#919): shown, not editable. */\n.mj-input[readonly] {\n background: #f1f5f9;\n color: #475569;\n cursor: default;\n}\n\n.mj-field-hint {\n font-size: 0.8rem;\n color: #64748b;\n margin: 0.25rem 0 0;\n}\n\n.mj-multi-attendee-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.mj-btn-link {\n background: none;\n border: none;\n color: var(--mj-primary-color, #2563eb);\n font-size: 0.8rem;\n cursor: pointer;\n text-decoration: underline;\n padding: 0;\n}\n\n.mj-attendee-matrix {\n display: flex;\n flex-direction: column;\n gap: 14px;\n margin-bottom: 20px;\n}\n\n.mj-attendee-card {\n background: #f8fafc;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 12px 14px;\n}\n\n.mj-attendee-card-title {\n font-size: 0.85rem;\n font-weight: 600;\n color: #475569;\n margin-bottom: 10px;\n}\n\n/* Stripe Payment Container */\n.mj-widget-payment-section {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #e2e8f0;\n}\n\n.mj-stripe-container {\n background: #ffffff;\n border: 1px solid #e2e8f0;\n border-radius: 6px;\n padding: 14px;\n margin-bottom: 16px;\n}\n\n.mj-stripe-mount-point {\n min-height: 40px;\n}\n\n.mj-stripe-badge {\n display: flex;\n align-items: center;\n gap: 6px;\n margin-top: 10px;\n font-size: 0.75rem;\n color: #64748b;\n}\n\n.mj-stripe-lock-icon {\n font-size: 0.85rem;\n}\n\n.mj-checkout-total-row {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 12px 0;\n border-top: 1px solid #e2e8f0;\n margin-top: 10px;\n margin-bottom: 18px;\n}\n\n.mj-total-label {\n font-weight: 700;\n font-size: 1.05rem;\n color: #0f172a;\n}\n\n.mj-total-amount {\n font-weight: 800;\n font-size: 1.25rem;\n color: var(--mj-primary-color, #2563eb);\n}\n\n.mj-widget-actions {\n margin-top: 12px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.mj-btn-submit {\n width: 100%;\n padding: 12px;\n background: var(--mj-primary-color, #2563eb);\n color: #ffffff;\n font-size: 1rem;\n font-weight: 600;\n border: none;\n border-radius: var(--mj-border-radius, 8px);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n transition: opacity 0.15s ease;\n}\n\n.mj-btn-submit:hover:not(:disabled) {\n opacity: 0.92;\n}\n\n.mj-btn-submit:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.mj-btn-cancel {\n width: 100%;\n padding: 8px 12px;\n background: transparent;\n color: #64748b;\n font-size: 0.875rem;\n font-weight: 500;\n border: none;\n cursor: pointer;\n text-align: center;\n}\n\n.mj-btn-cancel:hover:not(:disabled) {\n color: #334155;\n text-decoration: underline;\n}\n\n.mj-spinner {\n width: 16px;\n height: 16px;\n border: 2px solid #ffffff;\n border-top-color: transparent;\n border-radius: 50%;\n animation: mj-spin 0.8s linear infinite;\n}\n\n@keyframes mj-spin {\n to { transform: rotate(360deg); }\n}\n\n.mj-checkout-consent {\n display: flex;\n gap: 0.5rem;\n align-items: flex-start;\n margin: 0.75rem 0;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.4;\n}\n.mj-checkout-consent input {\n margin-top: 0.2rem;\n}\n\n/* Checkboxes keep their native size even when the host page styles every input\n (e.g. `input { width: 100% }`): this rule is scoped to the widget, so it outranks\n a plain element or class selector on the host page. */\n.mj-checkbox-label input[type=checkbox],\n.mj-checkout-consent input[type=checkbox] {\n width: auto;\n height: auto;\n padding: 0;\n border: 0;\n flex: 0 0 auto;\n}\n\n.mj-checkout-promo {\n margin: 0.75rem 0;\n}\n.mj-checkout-promo__label {\n display: block;\n font-size: 0.875rem;\n margin-bottom: 0.25rem;\n}\n.mj-checkout-promo__row {\n display: flex;\n gap: 0.5rem;\n}\n.mj-checkout-promo__input {\n flex: 1 1 auto;\n}\n.mj-checkout-promo__error {\n color: var(--mjo-co-error);\n font-size: 0.875rem;\n margin: 0.35rem 0 0;\n}\n.mj-checkout-promo__applied {\n color: var(--mjo-co-success);\n font-size: 0.875rem;\n margin: 0.35rem 0 0;\n}\n.mj-checkout-member-discount {\n margin: 0.75rem 0;\n}\n.mj-checkout-promo__apply {\n flex: 0 0 auto;\n padding: 8px 14px;\n background: transparent;\n color: var(--mj-primary-color, #2563eb);\n border: 1px solid var(--mjo-co-border);\n border-radius: var(--mj-border-radius, 8px);\n font-size: 0.875rem;\n font-weight: 600;\n cursor: pointer;\n}\n.mj-checkout-promo__apply:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n'] }]
39247
39339
  }], () => [{ type: ElementRef }, { type: Renderer2 }], { config: [{
39248
39340
  type: Input
39249
39341
  }], distributionSlug: [{
@@ -39254,6 +39346,8 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
39254
39346
  type: Input
39255
39347
  }], errorMessage: [{
39256
39348
  type: Input
39349
+ }], noticeMessage: [{
39350
+ type: Input
39257
39351
  }], isPaymentReady: [{
39258
39352
  type: Input
39259
39353
  }], stripePaymentMethodId: [{
@@ -39287,7 +39381,7 @@ var MJCheckoutWidgetComponent = class _MJCheckoutWidgetComponent {
39287
39381
  }] });
39288
39382
  })();
39289
39383
  (() => {
39290
- (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(MJCheckoutWidgetComponent, { className: "MJCheckoutWidgetComponent", filePath: "lib/checkout-widget/checkout-widget.component.ts", lineNumber: 181 });
39384
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(MJCheckoutWidgetComponent, { className: "MJCheckoutWidgetComponent", filePath: "lib/checkout-widget/checkout-widget.component.ts", lineNumber: 206 });
39291
39385
  })();
39292
39386
 
39293
39387
  // dist/lib/checkout-widget/checkout-draft-line.js
@@ -39711,7 +39805,7 @@ function CheckoutPublicHostComponent_Conditional_2_Conditional_11_Conditional_2_
39711
39805
  if (rf & 2) {
39712
39806
  const ctx_r0 = \u0275\u0275nextContext(3);
39713
39807
  \u0275\u0275advance(3);
39714
- \u0275\u0275conditional((ctx_r0.config == null ? null : ctx_r0.config.redirectUrl) ? 3 : -1);
39808
+ \u0275\u0275conditional(ctx_r0.redirectUrl ? 3 : -1);
39715
39809
  }
39716
39810
  }
39717
39811
  function CheckoutPublicHostComponent_Conditional_2_Conditional_11_Template(rf, ctx) {
@@ -39933,12 +40027,12 @@ function CheckoutPublicHostComponent_Conditional_6_For_1_Template(rf, ctx) {
39933
40027
  }
39934
40028
  if (rf & 2) {
39935
40029
  const ctx_r0 = \u0275\u0275nextContext(2);
39936
- \u0275\u0275property("config", ctx_r0.config)("distributionSlug", ctx_r0.slug)("sessionKey", ctx_r0.sessionKey)("isProcessing", ctx_r0.processing)("isPaymentReady", ctx_r0.isPaymentReady)("stripePaymentMethodId", ctx_r0.stripePaymentMethodId)("prefillEmail", ctx_r0.prefillEmail)("errorMessage", ctx_r0.errorMessage)("appliedPromotion", ctx_r0.appliedPromotion)("serverPricedTotal", ctx_r0.serverPricedTotal)("memberDiscount", ctx_r0.memberDiscount)("lockEmail", ctx_r0.emailLocked)("promotionError", ctx_r0.promotionError)("quotedTotal", ctx_r0.quotedTotal)("quotedTax", ctx_r0.quotedTax);
40030
+ \u0275\u0275property("config", ctx_r0.config)("distributionSlug", ctx_r0.slug)("sessionKey", ctx_r0.sessionKey)("isProcessing", ctx_r0.processing)("isPaymentReady", ctx_r0.isPaymentReady)("stripePaymentMethodId", ctx_r0.stripePaymentMethodId)("prefillEmail", ctx_r0.prefillEmail)("errorMessage", ctx_r0.errorMessage)("noticeMessage", ctx_r0.noticeMessage)("appliedPromotion", ctx_r0.appliedPromotion)("serverPricedTotal", ctx_r0.serverPricedTotal)("memberDiscount", ctx_r0.memberDiscount)("lockEmail", ctx_r0.emailLocked)("promotionError", ctx_r0.promotionError)("quotedTotal", ctx_r0.quotedTotal)("quotedTax", ctx_r0.quotedTax);
39937
40031
  }
39938
40032
  }
39939
40033
  function CheckoutPublicHostComponent_Conditional_6_Template(rf, ctx) {
39940
40034
  if (rf & 1) {
39941
- \u0275\u0275repeaterCreate(0, CheckoutPublicHostComponent_Conditional_6_For_1_Template, 1, 15, "mj-checkout-widget", 39, \u0275\u0275repeaterTrackByIdentity);
40035
+ \u0275\u0275repeaterCreate(0, CheckoutPublicHostComponent_Conditional_6_For_1_Template, 1, 16, "mj-checkout-widget", 39, \u0275\u0275repeaterTrackByIdentity);
39942
40036
  }
39943
40037
  if (rf & 2) {
39944
40038
  const ctx_r0 = \u0275\u0275nextContext();
@@ -39980,6 +40074,8 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
39980
40074
  isPaymentReady = false;
39981
40075
  stripePaymentMethodId = null;
39982
40076
  errorMessage = null;
40077
+ /** Information that is not a failure, shown in the notice style (#819). */
40078
+ noticeMessage = null;
39983
40079
  loadError = null;
39984
40080
  successMessage = null;
39985
40081
  orderNumber = null;
@@ -40023,6 +40119,8 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40023
40119
  accountLoading = false;
40024
40120
  /** The buyer chose to leave a failed account step. */
40025
40121
  accountDismissed = false;
40122
+ /** The widget's redirect as `/account` reported it, when a reload resumed the account step. */
40123
+ resumedRedirectUrl = null;
40026
40124
  get accountMessage() {
40027
40125
  return this.account ? AccountMessage(this.account, this.passwordSet) : null;
40028
40126
  }
@@ -40071,11 +40169,13 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40071
40169
  this.readHostAttributes();
40072
40170
  if (!this.slug) {
40073
40171
  this.loadError = "This checkout link is missing its reference.";
40172
+ this.reportError("initialize", this.loadError);
40074
40173
  return;
40075
40174
  }
40076
40175
  this.sessionKey = this.clientKey();
40077
40176
  if (!this.sessionKey) {
40078
40177
  this.loadError = "Checkout requires a secure random source. Open this page over HTTPS.";
40178
+ this.reportError("initialize", this.loadError);
40079
40179
  return;
40080
40180
  }
40081
40181
  if (!this.renewalToken && await this.resumeAccountStep()) {
@@ -40116,7 +40216,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40116
40216
  this.loadError = err instanceof TurnstileError ? err.message : "Checkout is temporarily unavailable. Please try again.";
40117
40217
  } finally {
40118
40218
  if (this.loadError)
40119
- this.reportError(this.loadError);
40219
+ this.reportError("initialize", this.loadError);
40120
40220
  this.cdr.detectChanges();
40121
40221
  }
40122
40222
  }
@@ -40230,6 +40330,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40230
40330
  }
40231
40331
  this.successMessage = null;
40232
40332
  this.orderNumber = null;
40333
+ this.resumedRedirectUrl = null;
40233
40334
  this.account = null;
40234
40335
  this.accountDismissed = false;
40235
40336
  this.password = "";
@@ -40253,6 +40354,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40253
40354
  */
40254
40355
  resetForm() {
40255
40356
  this.errorMessage = null;
40357
+ this.noticeMessage = null;
40256
40358
  this.stripePaymentMethodId = null;
40257
40359
  this.serverPricedTotal = null;
40258
40360
  this.memberDiscount = null;
@@ -40268,6 +40370,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40268
40370
  }
40269
40371
  /** A price input changed: every total the server priced for the old inputs is stale, tax included. */
40270
40372
  onQuoteInvalidated() {
40373
+ this.noticeMessage = null;
40271
40374
  this.quotedTotal = null;
40272
40375
  this.quotedTax = null;
40273
40376
  this.serverPricedTotal = null;
@@ -40360,7 +40463,9 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40360
40463
  }
40361
40464
  this.processing = true;
40362
40465
  this.errorMessage = null;
40466
+ this.noticeMessage = null;
40363
40467
  this.setState("PROCESSING");
40468
+ let stage = "draft";
40364
40469
  try {
40365
40470
  await this.settleBackgroundQuote();
40366
40471
  const draft = await this.post("/draft", this.draftBody(this.config.productId, event, event.promotionCode ? [event.promotionCode] : []));
@@ -40378,16 +40483,20 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40378
40483
  const notice = memberDiscountNotice(draft, this.memberNoticeShown);
40379
40484
  if (notice) {
40380
40485
  this.memberNoticeShown = true;
40381
- this.errorMessage = notice;
40486
+ this.noticeMessage = notice;
40487
+ this.setState("CHECKOUT");
40382
40488
  return;
40383
40489
  }
40384
40490
  if (!draft.RequiresPayment) {
40491
+ stage = "complete";
40385
40492
  await this.finish();
40386
40493
  return;
40387
40494
  }
40388
40495
  if (this.quoteChanged(draft, event.totalGross)) {
40496
+ this.setState("CHECKOUT");
40389
40497
  return;
40390
40498
  }
40499
+ stage = "payment";
40391
40500
  const intent = await this.post("/payment-intent", {
40392
40501
  sessionId: this.sessionId,
40393
40502
  clientSessionKey: this.sessionKey,
@@ -40398,6 +40507,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40398
40507
  throw new Error(this.str(intent?.ErrorMessage, "Could not start payment."));
40399
40508
  }
40400
40509
  if (intentAlreadyCollected(intent.Status)) {
40510
+ stage = "complete";
40401
40511
  await this.finish();
40402
40512
  return;
40403
40513
  }
@@ -40431,10 +40541,11 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40431
40541
  throw new Error(`Payment was not confirmed (Stripe status: ${result.paymentIntent?.status}).`);
40432
40542
  }
40433
40543
  }
40544
+ stage = "complete";
40434
40545
  await this.finish();
40435
40546
  } catch (err) {
40436
40547
  this.errorMessage = err instanceof Error ? err.message : "Checkout failed.";
40437
- this.reportError(this.errorMessage);
40548
+ this.reportError(stage, this.errorMessage);
40438
40549
  } finally {
40439
40550
  this.processing = false;
40440
40551
  this.cdr.detectChanges();
@@ -40452,6 +40563,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40452
40563
  this.processing = true;
40453
40564
  this.errorMessage = null;
40454
40565
  this.setState("PROCESSING");
40566
+ let stage = "payment";
40455
40567
  try {
40456
40568
  const intent = await this.post("/payment-intent", {
40457
40569
  sessionId: this.sessionId,
@@ -40481,6 +40593,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40481
40593
  }
40482
40594
  }
40483
40595
  }
40596
+ stage = "complete";
40484
40597
  const done = await this.completeAfterPayment(() => this.post("/complete", {
40485
40598
  sessionId: this.sessionId,
40486
40599
  clientSessionKey: this.sessionKey
@@ -40504,7 +40617,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40504
40617
  }));
40505
40618
  } catch (err) {
40506
40619
  this.errorMessage = err instanceof Error ? err.message : "Payment failed.";
40507
- this.reportError(this.errorMessage);
40620
+ this.reportError(stage, this.errorMessage);
40508
40621
  } finally {
40509
40622
  this.processing = false;
40510
40623
  this.cdr.detectChanges();
@@ -40529,7 +40642,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40529
40642
  }
40530
40643
  this.quotedTotal = total;
40531
40644
  this.quotedTax = tax > 0 ? tax : null;
40532
- this.errorMessage = tax > 0 ? `The total is ${total.toFixed(2)}, including ${tax.toFixed(2)} sales tax. Review it and press Pay again.` : `The total is ${total.toFixed(2)}. Review it and press Pay again.`;
40645
+ this.noticeMessage = tax > 0 ? `The total is ${total.toFixed(2)}, including ${tax.toFixed(2)} sales tax. Review it and press Pay again.` : `The total is ${total.toFixed(2)}. Review it and press Pay again.`;
40533
40646
  return true;
40534
40647
  }
40535
40648
  async finish() {
@@ -40545,7 +40658,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40545
40658
  throw new Error(this.str(done.ErrorMessage, "Could not complete checkout."));
40546
40659
  }
40547
40660
  this.orderNumber = done.OrderNumber ? String(done.OrderNumber) : null;
40548
- this.successMessage = this.config?.successMessage || (this.orderNumber ? `Thank you. Order ${this.orderNumber} is confirmed.` : "Thank you. Your order is confirmed.");
40661
+ this.successMessage = ConfirmationMessage(this.config?.successMessage, this.orderNumber);
40549
40662
  this.setState("SUCCESS");
40550
40663
  this.dispatch(CHECKOUT_COMPLETE_EVENT, BuildCheckoutCompleteDetail({
40551
40664
  sessionId: this.sessionId,
@@ -40650,7 +40763,10 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40650
40763
  return false;
40651
40764
  }
40652
40765
  this.sessionId = sessionId;
40653
- this.successMessage = "Thank you. Your order is confirmed.";
40766
+ const confirmation = ReadCheckoutConfirmation(res.Confirmation);
40767
+ this.orderNumber = confirmation?.OrderNumber ?? null;
40768
+ this.resumedRedirectUrl = confirmation?.RedirectUrl ?? null;
40769
+ this.successMessage = ConfirmationMessage(confirmation?.SuccessMessage, this.orderNumber);
40654
40770
  this.account = account;
40655
40771
  if (IsAccountSettled(account))
40656
40772
  this.forgetCompleting();
@@ -40716,12 +40832,17 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40716
40832
  this.setState("SUCCESS");
40717
40833
  }
40718
40834
  }
40835
+ /** The widget's redirect: from its configuration, or from `/account` after a reload (#858). */
40836
+ get redirectUrl() {
40837
+ return this.config?.redirectUrl || this.resumedRedirectUrl;
40838
+ }
40719
40839
  /** Follows the widget's redirect once nothing is left for the buyer to do here. */
40720
40840
  leaveIfDone() {
40721
40841
  if (this.destroyed)
40722
40842
  return;
40723
- if (this.config?.redirectUrl && !this.accountLoading && !this.accessTracking && MayRedirect(this.account, this.accountDismissed)) {
40724
- window.location.href = WithOrderReference(this.config.redirectUrl, this.orderNumber, window.location.href);
40843
+ const redirectUrl = this.redirectUrl;
40844
+ if (redirectUrl && !this.accountLoading && !this.accessTracking && MayRedirect(this.account, this.accountDismissed)) {
40845
+ window.location.href = WithOrderReference(redirectUrl, this.orderNumber, window.location.href);
40725
40846
  }
40726
40847
  }
40727
40848
  /** Reports a state the host page can track; repeats of the same state are not re-sent. */
@@ -40731,9 +40852,9 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40731
40852
  this.state = state;
40732
40853
  this.dispatch(CHECKOUT_STATE_CHANGE_EVENT, { state });
40733
40854
  }
40734
- reportError(message) {
40855
+ reportError(stage, message) {
40735
40856
  this.setState("ERROR");
40736
- this.dispatch(CHECKOUT_ERROR_EVENT, { message });
40857
+ this.dispatch(CHECKOUT_ERROR_EVENT, { stage, message });
40737
40858
  }
40738
40859
  /** Dispatches on the `<mj-orders-checkout>` element; bubbling and composed, so `document` hears it too. Nothing once it is removed. */
40739
40860
  dispatch(name, detail) {
@@ -40759,7 +40880,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40759
40880
  } catch (err) {
40760
40881
  this.cardMounted = false;
40761
40882
  this.errorMessage = err instanceof Error ? err.message : "Could not load card entry.";
40762
- this.reportError(this.errorMessage);
40883
+ this.reportError("card", this.errorMessage);
40763
40884
  }
40764
40885
  }
40765
40886
  loadStripe(pk) {
@@ -40939,7 +41060,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
40939
41060
  static \u0275fac = function CheckoutPublicHostComponent_Factory(__ngFactoryType__) {
40940
41061
  return new (__ngFactoryType__ || _CheckoutPublicHostComponent)();
40941
41062
  };
40942
- static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _CheckoutPublicHostComponent, selectors: [["mj-orders-checkout"]], inputs: { slug: "slug", apiRoot: "apiRoot", memberToken: "memberToken", renewalToken: "renewalToken" }, outputs: { alreadySubscribed: "checkout-already-subscribed" }, decls: 8, vars: 1, consts: [[1, "mj-checkout-public"], ["role", "alert", 1, "mj-widget-error-banner"], ["role", "status", 1, "mj-checkout-success"], ["role", "status", "aria-live", "polite", 1, "mj-checkout-success"], ["role", "status", 1, "mj-checkout-public__status"], [1, "mj-checkout-renewal"], [1, "mj-checkout-public__turnstile"], ["aria-hidden", "true", 1, "mj-checkout-success__icon"], [1, "mj-checkout-success__title"], [1, "mj-checkout-success__msg"], [1, "mj-checkout-success__order"], ["role", "status", 1, "mj-checkout-success__access", 3, "is-failed"], ["role", "status", 1, "mj-checkout-account__msg"], [1, "mj-checkout-account"], ["role", "status", 1, "mj-checkout-success__access"], [1, "mj-checkout-account", 3, "submit"], [1, "mj-checkout-account__title"], [1, "mj-checkout-account__note"], ["for", "mj-checkout-password", 1, "mj-checkout-account__label"], ["id", "mj-checkout-password", "type", "password", "autocomplete", "new-password", 1, "mj-checkout-account__input", 3, "input", "value"], ["for", "mj-checkout-password-confirm", 1, "mj-checkout-account__label"], ["id", "mj-checkout-password-confirm", "type", "password", "autocomplete", "new-password", 1, "mj-checkout-account__input", 3, "input", "value"], ["role", "alert", 1, "mj-checkout-account__error"], ["type", "submit", 1, "mj-checkout-account__submit", 3, "disabled"], ["type", "button", 1, "mj-checkout-account__skip", 3, "click", "disabled"], [1, "mj-checkout-account", "mj-checkout-account--actions"], ["type", "button", 1, "mj-checkout-account__submit", 3, "click"], ["type", "button", 1, "mj-checkout-account__skip"], ["type", "button", 1, "mj-checkout-account__skip", 3, "click"], [1, "mj-checkout-renewal", 3, "submit"], [1, "mj-checkout-renewal__title"], [1, "mj-checkout-renewal__lead"], [1, "mj-checkout-renewal__summary"], [1, "mj-checkout-renewal__row"], [1, "mj-checkout-renewal__row", "mj-checkout-renewal__row--total"], [1, "mj-checkout-renewal__note"], ["type", "submit", 1, "mj-checkout-renewal__pay", 3, "disabled"], ["for", "stripe-card-element", 1, "mj-checkout-renewal__label"], ["id", "stripe-card-element", 1, "mj-checkout-renewal__card"], [3, "config", "distributionSlug", "sessionKey", "isProcessing", "isPaymentReady", "stripePaymentMethodId", "prefillEmail", "errorMessage", "appliedPromotion", "serverPricedTotal", "memberDiscount", "lockEmail", "promotionError", "quotedTotal", "quotedTax"], [3, "promotionCodeApplied", "submitted", "cancelled", "quoteInvalidated", "quoteRequested", "config", "distributionSlug", "sessionKey", "isProcessing", "isPaymentReady", "stripePaymentMethodId", "prefillEmail", "errorMessage", "appliedPromotion", "serverPricedTotal", "memberDiscount", "lockEmail", "promotionError", "quotedTotal", "quotedTax"]], template: function CheckoutPublicHostComponent_Template(rf, ctx) {
41063
+ static \u0275cmp = /* @__PURE__ */ \u0275\u0275defineComponent({ type: _CheckoutPublicHostComponent, selectors: [["mj-orders-checkout"]], inputs: { slug: "slug", apiRoot: "apiRoot", memberToken: "memberToken", renewalToken: "renewalToken" }, outputs: { alreadySubscribed: "checkout-already-subscribed" }, decls: 8, vars: 1, consts: [[1, "mj-checkout-public"], ["role", "alert", 1, "mj-widget-error-banner"], ["role", "status", 1, "mj-checkout-success"], ["role", "status", "aria-live", "polite", 1, "mj-checkout-success"], ["role", "status", 1, "mj-checkout-public__status"], [1, "mj-checkout-renewal"], [1, "mj-checkout-public__turnstile"], ["aria-hidden", "true", 1, "mj-checkout-success__icon"], [1, "mj-checkout-success__title"], [1, "mj-checkout-success__msg"], [1, "mj-checkout-success__order"], ["role", "status", 1, "mj-checkout-success__access", 3, "is-failed"], ["role", "status", 1, "mj-checkout-account__msg"], [1, "mj-checkout-account"], ["role", "status", 1, "mj-checkout-success__access"], [1, "mj-checkout-account", 3, "submit"], [1, "mj-checkout-account__title"], [1, "mj-checkout-account__note"], ["for", "mj-checkout-password", 1, "mj-checkout-account__label"], ["id", "mj-checkout-password", "type", "password", "autocomplete", "new-password", 1, "mj-checkout-account__input", 3, "input", "value"], ["for", "mj-checkout-password-confirm", 1, "mj-checkout-account__label"], ["id", "mj-checkout-password-confirm", "type", "password", "autocomplete", "new-password", 1, "mj-checkout-account__input", 3, "input", "value"], ["role", "alert", 1, "mj-checkout-account__error"], ["type", "submit", 1, "mj-checkout-account__submit", 3, "disabled"], ["type", "button", 1, "mj-checkout-account__skip", 3, "click", "disabled"], [1, "mj-checkout-account", "mj-checkout-account--actions"], ["type", "button", 1, "mj-checkout-account__submit", 3, "click"], ["type", "button", 1, "mj-checkout-account__skip"], ["type", "button", 1, "mj-checkout-account__skip", 3, "click"], [1, "mj-checkout-renewal", 3, "submit"], [1, "mj-checkout-renewal__title"], [1, "mj-checkout-renewal__lead"], [1, "mj-checkout-renewal__summary"], [1, "mj-checkout-renewal__row"], [1, "mj-checkout-renewal__row", "mj-checkout-renewal__row--total"], [1, "mj-checkout-renewal__note"], ["type", "submit", 1, "mj-checkout-renewal__pay", 3, "disabled"], ["for", "stripe-card-element", 1, "mj-checkout-renewal__label"], ["id", "stripe-card-element", 1, "mj-checkout-renewal__card"], [3, "config", "distributionSlug", "sessionKey", "isProcessing", "isPaymentReady", "stripePaymentMethodId", "prefillEmail", "errorMessage", "noticeMessage", "appliedPromotion", "serverPricedTotal", "memberDiscount", "lockEmail", "promotionError", "quotedTotal", "quotedTax"], [3, "promotionCodeApplied", "submitted", "cancelled", "quoteInvalidated", "quoteRequested", "config", "distributionSlug", "sessionKey", "isProcessing", "isPaymentReady", "stripePaymentMethodId", "prefillEmail", "errorMessage", "noticeMessage", "appliedPromotion", "serverPricedTotal", "memberDiscount", "lockEmail", "promotionError", "quotedTotal", "quotedTax"]], template: function CheckoutPublicHostComponent_Template(rf, ctx) {
40943
41064
  if (rf & 1) {
40944
41065
  \u0275\u0275elementStart(0, "div", 0);
40945
41066
  \u0275\u0275conditionalCreate(1, CheckoutPublicHostComponent_Conditional_1_Template, 2, 1, "div", 1)(2, CheckoutPublicHostComponent_Conditional_2_Template, 12, 4, "div", 2)(3, CheckoutPublicHostComponent_Conditional_3_Template, 3, 1, "div", 3)(4, CheckoutPublicHostComponent_Conditional_4_Template, 2, 0, "p", 4)(5, CheckoutPublicHostComponent_Conditional_5_Template, 25, 9, "form", 5)(6, CheckoutPublicHostComponent_Conditional_6_Template, 2, 2);
@@ -41008,7 +41129,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
41008
41129
  @if (account?.Outcome === 'Failed') {
41009
41130
  <div class="mj-checkout-account mj-checkout-account--actions">
41010
41131
  <button class="mj-checkout-account__submit" type="button" (click)="retryAccount()">Try again</button>
41011
- @if (config?.redirectUrl) {
41132
+ @if (redirectUrl) {
41012
41133
  <button class="mj-checkout-account__skip" type="button" (click)="dismissAccount()">Not now</button>
41013
41134
  }
41014
41135
  </div>
@@ -41076,6 +41197,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
41076
41197
  [stripePaymentMethodId]="stripePaymentMethodId"
41077
41198
  [prefillEmail]="prefillEmail"
41078
41199
  [errorMessage]="errorMessage"
41200
+ [noticeMessage]="noticeMessage"
41079
41201
  [appliedPromotion]="appliedPromotion"
41080
41202
  [serverPricedTotal]="serverPricedTotal"
41081
41203
  [memberDiscount]="memberDiscount"
@@ -41108,7 +41230,7 @@ var CheckoutPublicHostComponent = class _CheckoutPublicHostComponent {
41108
41230
  }] });
41109
41231
  })();
41110
41232
  (() => {
41111
- (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(CheckoutPublicHostComponent, { className: "CheckoutPublicHostComponent", filePath: "lib/checkout-widget/checkout-public-host.component.ts", lineNumber: 122 });
41233
+ (typeof ngDevMode === "undefined" || ngDevMode) && \u0275setClassDebugInfo(CheckoutPublicHostComponent, { className: "CheckoutPublicHostComponent", filePath: "lib/checkout-widget/checkout-public-host.component.ts", lineNumber: 126 });
41112
41234
  })();
41113
41235
 
41114
41236
  // scripts/checkout-element-entry.ts