@churnkey/react 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/{chunk-42SJA62X.cjs → chunk-4BMB42WI.cjs} +6 -6
  2. package/dist/{chunk-42SJA62X.cjs.map → chunk-4BMB42WI.cjs.map} +1 -1
  3. package/dist/{chunk-LVUDBCQ2.cjs → chunk-BDBZ5OS3.cjs} +4 -3
  4. package/dist/chunk-BDBZ5OS3.cjs.map +1 -0
  5. package/dist/{chunk-YZERGV7F.js → chunk-F4ESJBOS.js} +3 -3
  6. package/dist/{chunk-YZERGV7F.js.map → chunk-F4ESJBOS.js.map} +1 -1
  7. package/dist/{chunk-SQ35G4LA.js → chunk-G57YLYM5.js} +4 -3
  8. package/dist/chunk-G57YLYM5.js.map +1 -0
  9. package/dist/{chunk-UNSSI6KX.js → chunk-QYNW3HF3.js} +35 -5
  10. package/dist/chunk-QYNW3HF3.js.map +1 -0
  11. package/dist/{chunk-2VQNWZWO.cjs → chunk-SNTKIKHU.cjs} +35 -5
  12. package/dist/chunk-SNTKIKHU.cjs.map +1 -0
  13. package/dist/core.cjs +14 -14
  14. package/dist/core.d.cts +18 -4
  15. package/dist/core.d.ts +18 -4
  16. package/dist/core.js +2 -2
  17. package/dist/headless.cjs +3 -3
  18. package/dist/headless.d.cts +1 -1
  19. package/dist/headless.d.ts +1 -1
  20. package/dist/headless.js +2 -2
  21. package/dist/index.cjs +151 -99
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.cts +5 -3
  24. package/dist/index.d.ts +5 -3
  25. package/dist/index.js +57 -6
  26. package/dist/index.js.map +1 -1
  27. package/dist/{step-graph-ChlSCUGk.d.cts → step-graph-DKvaV3Dg.d.cts} +17 -2
  28. package/dist/{step-graph-ChlSCUGk.d.ts → step-graph-DKvaV3Dg.d.ts} +17 -2
  29. package/dist/styles.css +45 -8
  30. package/package.json +1 -1
  31. package/dist/chunk-2VQNWZWO.cjs.map +0 -1
  32. package/dist/chunk-LVUDBCQ2.cjs.map +0 -1
  33. package/dist/chunk-SQ35G4LA.js.map +0 -1
  34. package/dist/chunk-UNSSI6KX.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunk42SJA62X_cjs = require('./chunk-42SJA62X.cjs');
4
- var chunkLVUDBCQ2_cjs = require('./chunk-LVUDBCQ2.cjs');
5
- var chunk2VQNWZWO_cjs = require('./chunk-2VQNWZWO.cjs');
3
+ var chunk4BMB42WI_cjs = require('./chunk-4BMB42WI.cjs');
4
+ var chunkBDBZ5OS3_cjs = require('./chunk-BDBZ5OS3.cjs');
5
+ var chunkSNTKIKHU_cjs = require('./chunk-SNTKIKHU.cjs');
6
6
  var react = require('react');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
 
@@ -31,18 +31,18 @@ function DefaultConfirm({
31
31
  classNames
32
32
  }) {
33
33
  const hasLosses = Array.isArray(losses) && losses.length > 0;
34
- const periodEnd = chunkLVUDBCQ2_cjs.formatPeriodEnd(subscriptions);
35
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-confirm", classNames?.root), children: [
36
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: title }),
37
- description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: description, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
38
- hasLosses && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-loss-block", classNames?.lossList), children: [
39
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkLVUDBCQ2_cjs.cn("ck-loss-label", classNames?.lossLabel), children: lossesLabel ?? "You'll lose access to:" }),
40
- /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ck-loss-list", children: losses.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: chunkLVUDBCQ2_cjs.cn("ck-loss-item", classNames?.lossItem), children: [
41
- /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: chunkLVUDBCQ2_cjs.cn("ck-loss-bullet", classNames?.lossBullet), children: "\u25CF" }),
34
+ const periodEnd = chunkBDBZ5OS3_cjs.formatPeriodEnd(subscriptions);
35
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-confirm", classNames?.root), children: [
36
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: title }),
37
+ description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: description, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
38
+ hasLosses && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-loss-block", classNames?.lossList), children: [
39
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkBDBZ5OS3_cjs.cn("ck-loss-label", classNames?.lossLabel), children: lossesLabel ?? "You'll lose access to:" }),
40
+ /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ck-loss-list", children: losses.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: chunkBDBZ5OS3_cjs.cn("ck-loss-item", classNames?.lossItem), children: [
41
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: chunkBDBZ5OS3_cjs.cn("ck-loss-bullet", classNames?.lossBullet), children: "\u25CF" }),
42
42
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: item })
43
43
  ] }, item)) })
44
44
  ] }),
45
- periodEnd && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: chunkLVUDBCQ2_cjs.cn("ck-period-end", classNames?.periodEndNotice), children: [
45
+ periodEnd && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: chunkBDBZ5OS3_cjs.cn("ck-period-end", classNames?.periodEndNotice), children: [
46
46
  "Your access continues until ",
47
47
  periodEnd,
48
48
  "."
@@ -51,13 +51,13 @@ function DefaultConfirm({
51
51
  "button",
52
52
  {
53
53
  type: "button",
54
- className: chunkLVUDBCQ2_cjs.cn("ck-button ck-button-danger", classNames?.confirmButton),
54
+ className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-danger", classNames?.confirmButton),
55
55
  onClick: onConfirm,
56
56
  disabled: isProcessing,
57
57
  children: isProcessing ? "Processing..." : confirmLabel
58
58
  }
59
59
  ),
60
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-button-link", classNames?.goBackButton), onClick: onGoBack, children: goBackLabel })
60
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-button-link", classNames?.goBackButton), onClick: onGoBack, children: goBackLabel })
61
61
  ] });
62
62
  }
63
63
  function DefaultFeedback({
@@ -76,13 +76,13 @@ function DefaultFeedback({
76
76
  const isUnderMin = hasMin && value.length > 0 && value.length < minLength;
77
77
  const isValid = !required || value.length >= minLength;
78
78
  const placeholderText = placeholder ?? (hasMin ? `At least ${minLength} characters\u2026` : "Type your thoughts\u2026");
79
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-feedback", classNames?.root), children: [
80
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: title }),
81
- description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: description, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
79
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-feedback", classNames?.root), children: [
80
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: title }),
81
+ description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: description, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
82
82
  /* @__PURE__ */ jsxRuntime.jsxs(
83
83
  "div",
84
84
  {
85
- className: chunkLVUDBCQ2_cjs.cn(
85
+ className: chunkBDBZ5OS3_cjs.cn(
86
86
  "ck-feedback-field",
87
87
  focused && "ck-feedback-field--focused",
88
88
  isUnderMin && "ck-feedback-field--invalid"
@@ -91,7 +91,7 @@ function DefaultFeedback({
91
91
  /* @__PURE__ */ jsxRuntime.jsx(
92
92
  "textarea",
93
93
  {
94
- className: chunkLVUDBCQ2_cjs.cn("ck-textarea", classNames?.textarea),
94
+ className: chunkBDBZ5OS3_cjs.cn("ck-textarea", classNames?.textarea),
95
95
  placeholder: placeholderText,
96
96
  value,
97
97
  onChange: (e) => onChange(e.target.value),
@@ -103,7 +103,7 @@ function DefaultFeedback({
103
103
  hasMin && /* @__PURE__ */ jsxRuntime.jsxs(
104
104
  "div",
105
105
  {
106
- className: chunkLVUDBCQ2_cjs.cn(
106
+ className: chunkBDBZ5OS3_cjs.cn(
107
107
  "ck-character-count",
108
108
  isUnderMin && "ck-character-count--invalid",
109
109
  classNames?.characterCount
@@ -122,7 +122,7 @@ function DefaultFeedback({
122
122
  "button",
123
123
  {
124
124
  type: "button",
125
- className: chunkLVUDBCQ2_cjs.cn("ck-button ck-button-primary", classNames?.submitButton),
125
+ className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-primary", classNames?.submitButton),
126
126
  onClick: onSubmit,
127
127
  disabled: !isValid,
128
128
  children: "Continue"
@@ -141,21 +141,21 @@ function DefaultContactOffer({
141
141
  }) {
142
142
  const headline = title ?? offer.copy.headline;
143
143
  const body = description ?? offer.copy.body;
144
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
145
- headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: headline }),
146
- body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
147
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-offer-card", classNames?.card), children: [
144
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
145
+ headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: headline }),
146
+ body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
147
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-offer-card", classNames?.card), children: [
148
148
  /* @__PURE__ */ jsxRuntime.jsx(
149
149
  "button",
150
150
  {
151
151
  type: "button",
152
- className: chunkLVUDBCQ2_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
152
+ className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
153
153
  onClick: () => onAccept(),
154
154
  disabled: isProcessing,
155
155
  children: isProcessing ? "Processing..." : offer.copy.cta
156
156
  }
157
157
  ),
158
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
158
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
159
159
  ] })
160
160
  ] });
161
161
  }
@@ -171,11 +171,11 @@ function DefaultDiscountOffer({
171
171
  const o = offer;
172
172
  const headline = title ?? offer.copy.headline;
173
173
  const body = description ?? offer.copy.body;
174
- const phrase = chunkLVUDBCQ2_cjs.discountPhrase(o);
175
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
176
- headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: headline }),
177
- body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
178
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-offer-card", classNames?.card), children: [
174
+ const phrase = chunkBDBZ5OS3_cjs.discountPhrase(o);
175
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
176
+ headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: headline }),
177
+ body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
178
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-offer-card", classNames?.card), children: [
179
179
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-details ck-offer-discount", children: [
180
180
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-offer-discount-eyebrow", children: "Limited-time offer" }),
181
181
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-offer-discount-phrase", children: phrase })
@@ -184,13 +184,13 @@ function DefaultDiscountOffer({
184
184
  "button",
185
185
  {
186
186
  type: "button",
187
- className: chunkLVUDBCQ2_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
187
+ className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
188
188
  onClick: () => onAccept(),
189
189
  disabled: isProcessing,
190
190
  children: isProcessing ? "Processing..." : offer.copy.cta
191
191
  }
192
192
  ),
193
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
193
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
194
194
  ] })
195
195
  ] });
196
196
  }
@@ -210,19 +210,19 @@ function DefaultPauseOffer({
210
210
  const body = description ?? offer.copy.body;
211
211
  const resume = /* @__PURE__ */ new Date();
212
212
  resume.setMonth(resume.getMonth() + months);
213
- const resumeDate = chunkLVUDBCQ2_cjs.formatMonthDayLong(resume);
214
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
215
- headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: headline }),
216
- body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
217
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-offer-card ck-pause-card", classNames?.card), children: [
213
+ const resumeDate = chunkBDBZ5OS3_cjs.formatMonthDayLong(resume);
214
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
215
+ headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: headline }),
216
+ body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
217
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-offer-card ck-pause-card", classNames?.card), children: [
218
218
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-pause-eyebrow", children: "We'll see you back on" }),
219
219
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-pause-date", children: resumeDate }),
220
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkLVUDBCQ2_cjs.cn("ck-pause-chips", classNames?.pauseSlider), children: Array.from({ length: max }, (_, i) => i + 1).map((m) => /* @__PURE__ */ jsxRuntime.jsxs(
220
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkBDBZ5OS3_cjs.cn("ck-pause-chips", classNames?.pauseSlider), children: Array.from({ length: max }, (_, i) => i + 1).map((m) => /* @__PURE__ */ jsxRuntime.jsxs(
221
221
  "button",
222
222
  {
223
223
  type: "button",
224
224
  onClick: () => setMonths(m),
225
- className: chunkLVUDBCQ2_cjs.cn("ck-pause-chip", m === months && "ck-pause-chip--selected"),
225
+ className: chunkBDBZ5OS3_cjs.cn("ck-pause-chip", m === months && "ck-pause-chip--selected"),
226
226
  "aria-pressed": m === months,
227
227
  children: [
228
228
  m,
@@ -237,13 +237,13 @@ function DefaultPauseOffer({
237
237
  "button",
238
238
  {
239
239
  type: "button",
240
- className: chunkLVUDBCQ2_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
240
+ className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
241
241
  onClick: () => onAccept({ months }),
242
242
  disabled: isProcessing,
243
243
  children: isProcessing ? "Processing..." : offer.copy.cta
244
244
  }
245
245
  ),
246
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
246
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
247
247
  ] });
248
248
  }
249
249
  function Checkmark({ color = "currentColor", size = 14 }) {
@@ -268,10 +268,10 @@ function DefaultPlanChangeOffer({
268
268
  const headline = title ?? offer.copy.headline;
269
269
  const body = description ?? offer.copy.body;
270
270
  const ctaLabel = isProcessing ? "Processing..." : selectedPlan?.name ? `Switch to ${selectedPlan.name}` : offer.copy.cta;
271
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
272
- headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: headline }),
273
- body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
274
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-offer-card", classNames?.card), children: [
271
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
272
+ headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: headline }),
273
+ body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
274
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-offer-card", classNames?.card), children: [
275
275
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-offer-details ck-plan-grid", children: plans.map((plan) => {
276
276
  const interval = plan.duration?.interval ?? "month";
277
277
  const currency = plan.amount.currency ?? "USD";
@@ -283,7 +283,7 @@ function DefaultPlanChangeOffer({
283
283
  type: "button",
284
284
  onClick: () => setSelectedPlanId(plan.id),
285
285
  disabled: isCurrent,
286
- className: chunkLVUDBCQ2_cjs.cn(
286
+ className: chunkBDBZ5OS3_cjs.cn(
287
287
  "ck-plan-card",
288
288
  isSelected && "ck-plan-card--selected",
289
289
  isCurrent && "ck-plan-card--current"
@@ -296,7 +296,7 @@ function DefaultPlanChangeOffer({
296
296
  ] }),
297
297
  plan.tagline && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-plan-tagline", children: plan.tagline }),
298
298
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-plan-price-row", children: [
299
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ck-plan-amount", children: chunkLVUDBCQ2_cjs.formatPriceFromMinor(plan.amount.value, currency) }),
299
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ck-plan-amount", children: chunkBDBZ5OS3_cjs.formatPriceFromMinor(plan.amount.value, currency) }),
300
300
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ck-plan-period", children: [
301
301
  "/",
302
302
  interval
@@ -316,13 +316,62 @@ function DefaultPlanChangeOffer({
316
316
  "button",
317
317
  {
318
318
  type: "button",
319
- className: chunkLVUDBCQ2_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
319
+ className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
320
320
  onClick: () => selectedPlanId && onAccept({ planId: selectedPlanId }),
321
321
  disabled: isProcessing || !selectedPlanId,
322
322
  children: ctaLabel
323
323
  }
324
324
  ),
325
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
325
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
326
+ ] })
327
+ ] });
328
+ }
329
+ function DefaultRebateOffer({
330
+ title,
331
+ description,
332
+ offer,
333
+ onAccept,
334
+ onDecline,
335
+ isProcessing,
336
+ classNames
337
+ }) {
338
+ const o = offer;
339
+ const headline = title ?? offer.copy.headline;
340
+ const body = description ?? offer.copy.body;
341
+ const currency = o.currency ?? "usd";
342
+ const amount = o.amountMinor ?? 0;
343
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
344
+ headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: headline }),
345
+ body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
346
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-offer-card", classNames?.card), children: [
347
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-rebate", children: [
348
+ o.amountPaidMinor != null && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-rebate-row", children: [
349
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "You paid this period" }),
350
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: chunkBDBZ5OS3_cjs.formatPriceFromMinor(o.amountPaidMinor, currency) })
351
+ ] }),
352
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-rebate-row ck-offer-rebate-credit", children: [
353
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Cancellation rebate" }),
354
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
355
+ "\u2212",
356
+ chunkBDBZ5OS3_cjs.formatPriceFromMinor(amount, currency)
357
+ ] })
358
+ ] }),
359
+ o.netAfterRebateMinor != null && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-rebate-row ck-offer-rebate-total", children: [
360
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Your net for this period" }),
361
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: chunkBDBZ5OS3_cjs.formatPriceFromMinor(o.netAfterRebateMinor, currency) })
362
+ ] })
363
+ ] }),
364
+ /* @__PURE__ */ jsxRuntime.jsx(
365
+ "button",
366
+ {
367
+ type: "button",
368
+ className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
369
+ onClick: () => onAccept(),
370
+ disabled: isProcessing,
371
+ children: isProcessing ? "Processing..." : offer.copy.cta
372
+ }
373
+ ),
374
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
326
375
  ] })
327
376
  ] });
328
377
  }
@@ -330,15 +379,15 @@ function DefaultRedirectOffer({ title, description, offer, onDecline, classNames
330
379
  const url = offer.url;
331
380
  const headline = title ?? offer.copy.headline;
332
381
  const body = description ?? offer.copy.body;
333
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
334
- headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: headline }),
335
- body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
336
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-offer-card", classNames?.card), children: [
382
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
383
+ headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: headline }),
384
+ body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
385
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-offer-card", classNames?.card), children: [
337
386
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-offer-details", children: /* @__PURE__ */ jsxRuntime.jsxs("a", { href: url, target: "_blank", rel: "noopener noreferrer", className: "ck-redirect-link", children: [
338
387
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: offer.copy.cta }),
339
388
  /* @__PURE__ */ jsxRuntime.jsx(ExternalIcon, {})
340
389
  ] }) }),
341
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
390
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
342
391
  ] })
343
392
  ] });
344
393
  }
@@ -378,11 +427,11 @@ function DefaultTrialExtensionOffer({
378
427
  const body = description ?? offer.copy.body;
379
428
  const end = /* @__PURE__ */ new Date();
380
429
  end.setDate(end.getDate() + o.days);
381
- const newEnd = chunkLVUDBCQ2_cjs.formatMonthDay(end);
382
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
383
- headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: headline }),
384
- body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
385
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-offer-card", classNames?.card), children: [
430
+ const newEnd = chunkBDBZ5OS3_cjs.formatMonthDay(end);
431
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
432
+ headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: headline }),
433
+ body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: body, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
434
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-offer-card", classNames?.card), children: [
386
435
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-details ck-trial-block", children: [
387
436
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-trial-badge", children: [
388
437
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-trial-days", children: [
@@ -400,13 +449,13 @@ function DefaultTrialExtensionOffer({
400
449
  "button",
401
450
  {
402
451
  type: "button",
403
- className: chunkLVUDBCQ2_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
452
+ className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
404
453
  onClick: () => onAccept(),
405
454
  disabled: isProcessing,
406
455
  children: isProcessing ? "Processing..." : offer.copy.cta
407
456
  }
408
457
  ),
409
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
458
+ /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: offer.copy.declineCta })
410
459
  ] })
411
460
  ] });
412
461
  }
@@ -436,16 +485,18 @@ function pickOfferComponent(type, components) {
436
485
  return components?.ContactOffer ?? DefaultContactOffer;
437
486
  case "redirect":
438
487
  return components?.RedirectOffer ?? DefaultRedirectOffer;
488
+ case "rebate":
489
+ return components?.RebateOffer ?? DefaultRebateOffer;
439
490
  default:
440
491
  return null;
441
492
  }
442
493
  }
443
494
  function DefaultSuccess({ title, description, onClose, classNames }) {
444
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-success", classNames?.root), children: [
445
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkLVUDBCQ2_cjs.cn("ck-success-icon", classNames?.icon), children: /* @__PURE__ */ jsxRuntime.jsx(Checkmark, { color: "currentColor", size: 26 }) }),
446
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: title }),
447
- description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: description, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
448
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-success-actions", children: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-button ck-button-primary", classNames?.closeButton), onClick: onClose, children: "Done" }) })
495
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-success", classNames?.root), children: [
496
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkBDBZ5OS3_cjs.cn("ck-success-icon", classNames?.icon), children: /* @__PURE__ */ jsxRuntime.jsx(Checkmark, { color: "currentColor", size: 26 }) }),
497
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: title }),
498
+ description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: description, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
499
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-success-actions", children: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-primary", classNames?.closeButton), onClick: onClose, children: "Done" }) })
449
500
  ] });
450
501
  }
451
502
  function DefaultReasonButton({ reason, index, isSelected, onSelect }) {
@@ -457,7 +508,7 @@ function DefaultReasonButton({ reason, index, isSelected, onSelect }) {
457
508
  role: "radio",
458
509
  "aria-checked": isSelected,
459
510
  onClick: () => onSelect(reason.id),
460
- className: chunkLVUDBCQ2_cjs.cn("ck-reason-button", isSelected && "ck-reason-button--selected"),
511
+ className: chunkBDBZ5OS3_cjs.cn("ck-reason-button", isSelected && "ck-reason-button--selected"),
461
512
  children: [
462
513
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "ck-reason-badge", children: isSelected ? /* @__PURE__ */ jsxRuntime.jsx(Checkmark, { color: "#fff", size: 12 }) : letter }),
463
514
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ck-reason-label", children: reason.label })
@@ -480,10 +531,10 @@ function DefaultSurvey({
480
531
  const ReasonButton = components?.ReasonButton ?? DefaultReasonButton;
481
532
  const selected = reasons.find((r) => r.id === selectedReason);
482
533
  const showFollowup = selected?.freeform === true;
483
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkLVUDBCQ2_cjs.cn("ck-step ck-step-survey", classNames?.root), children: [
484
- /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkLVUDBCQ2_cjs.cn("ck-step-title", classNames?.title), children: title }),
485
- description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: description, className: chunkLVUDBCQ2_cjs.cn("ck-step-description", classNames?.description) }),
486
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkLVUDBCQ2_cjs.cn("ck-reason-list", classNames?.reasonList), role: "radiogroup", "aria-label": title, children: reasons.map((reason, i) => /* @__PURE__ */ jsxRuntime.jsx(
534
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkBDBZ5OS3_cjs.cn("ck-step ck-step-survey", classNames?.root), children: [
535
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkBDBZ5OS3_cjs.cn("ck-step-title", classNames?.title), children: title }),
536
+ description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { html: description, className: chunkBDBZ5OS3_cjs.cn("ck-step-description", classNames?.description) }),
537
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkBDBZ5OS3_cjs.cn("ck-reason-list", classNames?.reasonList), role: "radiogroup", "aria-label": title, children: reasons.map((reason, i) => /* @__PURE__ */ jsxRuntime.jsx(
487
538
  ReasonButton,
488
539
  {
489
540
  reason,
@@ -496,7 +547,7 @@ function DefaultSurvey({
496
547
  showFollowup && /* @__PURE__ */ jsxRuntime.jsx(
497
548
  "textarea",
498
549
  {
499
- className: chunkLVUDBCQ2_cjs.cn("ck-reason-followup", classNames?.followupInput),
550
+ className: chunkBDBZ5OS3_cjs.cn("ck-reason-followup", classNames?.followupInput),
500
551
  placeholder: "Tell us more (optional)",
501
552
  rows: 3,
502
553
  value: followupResponse,
@@ -508,7 +559,7 @@ function DefaultSurvey({
508
559
  "button",
509
560
  {
510
561
  type: "button",
511
- className: chunkLVUDBCQ2_cjs.cn("ck-button ck-button-primary", classNames?.continueButton),
562
+ className: chunkBDBZ5OS3_cjs.cn("ck-button ck-button-primary", classNames?.continueButton),
512
563
  onClick: onNext,
513
564
  disabled: !selectedReason,
514
565
  children: "Continue"
@@ -517,7 +568,7 @@ function DefaultSurvey({
517
568
  ] });
518
569
  }
519
570
  function DefaultBackButton({ onBack, className }) {
520
- return /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-back-button", className), onClick: onBack, children: [
571
+ return /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-back-button", className), onClick: onBack, children: [
521
572
  /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "14", height: "14", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(
522
573
  "path",
523
574
  {
@@ -532,7 +583,7 @@ function DefaultBackButton({ onBack, className }) {
532
583
  ] });
533
584
  }
534
585
  function DefaultCloseButton({ onClose, className }) {
535
- return /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkLVUDBCQ2_cjs.cn("ck-close-button", className), onClick: onClose, "aria-label": "Close", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 5L5 15M5 5l10 10", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) });
586
+ return /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkBDBZ5OS3_cjs.cn("ck-close-button", className), onClick: onClose, "aria-label": "Close", children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M15 5L5 15M5 5l10 10", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) });
536
587
  }
537
588
  function trapFocus(container) {
538
589
  const focusableSelector = [
@@ -592,7 +643,7 @@ function DefaultModal({ open, onClose, children, className, overlayClassName })
592
643
  "div",
593
644
  {
594
645
  ref: overlayRef,
595
- className: chunkLVUDBCQ2_cjs.cn("ck-overlay", overlayClassName),
646
+ className: chunkBDBZ5OS3_cjs.cn("ck-overlay", overlayClassName),
596
647
  onClick: (e) => {
597
648
  if (e.target === overlayRef.current) onClose();
598
649
  },
@@ -604,7 +655,7 @@ function DefaultModal({ open, onClose, children, className, overlayClassName })
604
655
  "aria-modal": "true",
605
656
  "aria-labelledby": "ck-dialog-title",
606
657
  tabIndex: -1,
607
- className: chunkLVUDBCQ2_cjs.cn("ck-modal", className),
658
+ className: chunkBDBZ5OS3_cjs.cn("ck-modal", className),
608
659
  children
609
660
  }
610
661
  )
@@ -630,7 +681,7 @@ function useColorScheme(preference) {
630
681
  return system;
631
682
  }
632
683
  function CancelFlow(props) {
633
- const { machine, state, isLoading, loadError, retry } = chunk42SJA62X_cjs.useCancelFlowMachine(props);
684
+ const { machine, state, isLoading, loadError, retry } = chunk4BMB42WI_cjs.useCancelFlowMachine(props);
634
685
  if (isLoading || loadError) {
635
686
  return /* @__PURE__ */ jsxRuntime.jsx(
636
687
  LoadStatus,
@@ -667,7 +718,7 @@ function LoadStatus({
667
718
  onRetry
668
719
  }) {
669
720
  const scheme = useColorScheme(appearance?.colorScheme);
670
- const appearanceStyle = chunkLVUDBCQ2_cjs.appearanceToStyle(appearance);
721
+ const appearanceStyle = chunkBDBZ5OS3_cjs.appearanceToStyle(appearance);
671
722
  const Modal = components?.Modal ?? DefaultModal;
672
723
  const CloseButton = components?.CloseButton ?? DefaultCloseButton;
673
724
  const handleClose = onClose ?? (() => {
@@ -720,7 +771,7 @@ function LoadStatus({
720
771
  }
721
772
  function FlowShell({ machine, state, appearance, classNames, components, customComponents }) {
722
773
  const scheme = useColorScheme(appearance?.colorScheme);
723
- const appearanceStyle = chunkLVUDBCQ2_cjs.appearanceToStyle(appearance);
774
+ const appearanceStyle = chunkBDBZ5OS3_cjs.appearanceToStyle(appearance);
724
775
  const Modal = components?.Modal ?? DefaultModal;
725
776
  const CloseButton = components?.CloseButton ?? DefaultCloseButton;
726
777
  const BackButton = components?.BackButton ?? DefaultBackButton;
@@ -747,7 +798,7 @@ function StepRenderer({
747
798
  return /* @__PURE__ */ jsxRuntime.jsx(
748
799
  Survey,
749
800
  {
750
- title: config?.title ?? chunkLVUDBCQ2_cjs.defaultTitles.survey,
801
+ title: config?.title ?? chunkBDBZ5OS3_cjs.defaultTitles.survey,
751
802
  description: config?.description,
752
803
  customer: state.customer,
753
804
  subscriptions: state.subscriptions,
@@ -779,7 +830,7 @@ function StepRenderer({
779
830
  }
780
831
  );
781
832
  }
782
- if (!chunkLVUDBCQ2_cjs.BUILT_IN_OFFER_TYPES.includes(offer.type)) {
833
+ if (!chunkBDBZ5OS3_cjs.BUILT_IN_OFFER_TYPES.includes(offer.type)) {
783
834
  return /* @__PURE__ */ jsxRuntime.jsx(UnregisteredOfferFallback, { offerType: offer.type, onSkip: machine.decline });
784
835
  }
785
836
  const Offer = components?.Offer ?? DefaultOffer;
@@ -806,7 +857,7 @@ function StepRenderer({
806
857
  return /* @__PURE__ */ jsxRuntime.jsx(
807
858
  Feedback,
808
859
  {
809
- title: config?.title ?? chunkLVUDBCQ2_cjs.defaultTitles.feedback,
860
+ title: config?.title ?? chunkBDBZ5OS3_cjs.defaultTitles.feedback,
810
861
  description: config?.description,
811
862
  customer: state.customer,
812
863
  subscriptions: state.subscriptions,
@@ -826,7 +877,7 @@ function StepRenderer({
826
877
  return /* @__PURE__ */ jsxRuntime.jsx(
827
878
  Confirm,
828
879
  {
829
- title: config?.title ?? chunkLVUDBCQ2_cjs.defaultTitles.confirm,
880
+ title: config?.title ?? chunkBDBZ5OS3_cjs.defaultTitles.confirm,
830
881
  description: config?.description,
831
882
  customer: state.customer,
832
883
  subscriptions: state.subscriptions,
@@ -900,55 +951,55 @@ function UnregisteredOfferFallback({ offerType, onSkip }) {
900
951
 
901
952
  Object.defineProperty(exports, "useCancelFlow", {
902
953
  enumerable: true,
903
- get: function () { return chunk42SJA62X_cjs.useCancelFlow; }
954
+ get: function () { return chunk4BMB42WI_cjs.useCancelFlow; }
904
955
  });
905
956
  Object.defineProperty(exports, "BUILT_IN_OFFER_TYPES", {
906
957
  enumerable: true,
907
- get: function () { return chunkLVUDBCQ2_cjs.BUILT_IN_OFFER_TYPES; }
958
+ get: function () { return chunkBDBZ5OS3_cjs.BUILT_IN_OFFER_TYPES; }
908
959
  });
909
960
  Object.defineProperty(exports, "BUILT_IN_STEP_TYPES", {
910
961
  enumerable: true,
911
- get: function () { return chunkLVUDBCQ2_cjs.BUILT_IN_STEP_TYPES; }
962
+ get: function () { return chunkBDBZ5OS3_cjs.BUILT_IN_STEP_TYPES; }
912
963
  });
913
964
  Object.defineProperty(exports, "appearanceToStyle", {
914
965
  enumerable: true,
915
- get: function () { return chunkLVUDBCQ2_cjs.appearanceToStyle; }
966
+ get: function () { return chunkBDBZ5OS3_cjs.appearanceToStyle; }
916
967
  });
917
968
  Object.defineProperty(exports, "calculateDiscountedPrice", {
918
969
  enumerable: true,
919
- get: function () { return chunkLVUDBCQ2_cjs.calculateDiscountedPrice; }
970
+ get: function () { return chunkBDBZ5OS3_cjs.calculateDiscountedPrice; }
920
971
  });
921
972
  Object.defineProperty(exports, "cn", {
922
973
  enumerable: true,
923
- get: function () { return chunkLVUDBCQ2_cjs.cn; }
974
+ get: function () { return chunkBDBZ5OS3_cjs.cn; }
924
975
  });
925
976
  Object.defineProperty(exports, "defaultTitles", {
926
977
  enumerable: true,
927
- get: function () { return chunkLVUDBCQ2_cjs.defaultTitles; }
978
+ get: function () { return chunkBDBZ5OS3_cjs.defaultTitles; }
928
979
  });
929
980
  Object.defineProperty(exports, "formatPeriodEnd", {
930
981
  enumerable: true,
931
- get: function () { return chunkLVUDBCQ2_cjs.formatPeriodEnd; }
982
+ get: function () { return chunkBDBZ5OS3_cjs.formatPeriodEnd; }
932
983
  });
933
984
  Object.defineProperty(exports, "formatPrice", {
934
985
  enumerable: true,
935
- get: function () { return chunkLVUDBCQ2_cjs.formatPrice; }
986
+ get: function () { return chunkBDBZ5OS3_cjs.formatPrice; }
936
987
  });
937
988
  Object.defineProperty(exports, "AnalyticsClient", {
938
989
  enumerable: true,
939
- get: function () { return chunk2VQNWZWO_cjs.AnalyticsClient; }
990
+ get: function () { return chunkSNTKIKHU_cjs.AnalyticsClient; }
940
991
  });
941
992
  Object.defineProperty(exports, "CancelFlowMachine", {
942
993
  enumerable: true,
943
- get: function () { return chunk2VQNWZWO_cjs.CancelFlowMachine; }
994
+ get: function () { return chunkSNTKIKHU_cjs.CancelFlowMachine; }
944
995
  });
945
996
  Object.defineProperty(exports, "ChurnkeyApi", {
946
997
  enumerable: true,
947
- get: function () { return chunk2VQNWZWO_cjs.ChurnkeyApi; }
998
+ get: function () { return chunkSNTKIKHU_cjs.ChurnkeyApi; }
948
999
  });
949
1000
  Object.defineProperty(exports, "decodeSessionToken", {
950
1001
  enumerable: true,
951
- get: function () { return chunk2VQNWZWO_cjs.decodeSessionToken; }
1002
+ get: function () { return chunkSNTKIKHU_cjs.decodeSessionToken; }
952
1003
  });
953
1004
  exports.CancelFlow = CancelFlow;
954
1005
  exports.DefaultBackButton = DefaultBackButton;
@@ -962,6 +1013,7 @@ exports.DefaultOffer = DefaultOffer;
962
1013
  exports.DefaultPauseOffer = DefaultPauseOffer;
963
1014
  exports.DefaultPlanChangeOffer = DefaultPlanChangeOffer;
964
1015
  exports.DefaultReasonButton = DefaultReasonButton;
1016
+ exports.DefaultRebateOffer = DefaultRebateOffer;
965
1017
  exports.DefaultRedirectOffer = DefaultRedirectOffer;
966
1018
  exports.DefaultSuccess = DefaultSuccess;
967
1019
  exports.DefaultSurvey = DefaultSurvey;