@churnkey/react 0.6.5 → 0.7.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.
- package/dist/{chunk-H5IHOYUF.cjs → chunk-ER6YITYC.cjs} +202 -9
- package/dist/chunk-ER6YITYC.cjs.map +1 -0
- package/dist/{chunk-W47U2HRC.cjs → chunk-FK4AJOX6.cjs} +7 -6
- package/dist/chunk-FK4AJOX6.cjs.map +1 -0
- package/dist/{chunk-EYIGZLVT.js → chunk-GH5EKETT.js} +6 -3
- package/dist/chunk-GH5EKETT.js.map +1 -0
- package/dist/{chunk-XHXG43PW.js → chunk-GNRS7V7H.js} +4 -3
- package/dist/chunk-GNRS7V7H.js.map +1 -0
- package/dist/{chunk-WVSNF3TN.cjs → chunk-M6Z3BHEH.cjs} +6 -2
- package/dist/chunk-M6Z3BHEH.cjs.map +1 -0
- package/dist/{chunk-F6IP3LGK.js → chunk-RFKW3LWM.js} +199 -10
- package/dist/chunk-RFKW3LWM.js.map +1 -0
- package/dist/core.cjs +30 -14
- package/dist/core.d.cts +22 -6
- package/dist/core.d.ts +22 -6
- package/dist/core.js +2 -2
- package/dist/headless.cjs +3 -3
- package/dist/headless.d.cts +4 -1
- package/dist/headless.d.ts +4 -1
- package/dist/headless.js +2 -2
- package/dist/index.cjs +238 -163
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -15
- package/dist/index.d.ts +15 -15
- package/dist/index.js +135 -76
- package/dist/index.js.map +1 -1
- package/dist/{step-graph-Dee2cFLK.d.cts → step-graph-C7JC8Umv.d.cts} +199 -1
- package/dist/{step-graph-Dee2cFLK.d.ts → step-graph-C7JC8Umv.d.ts} +199 -1
- package/package.json +1 -1
- package/dist/chunk-EYIGZLVT.js.map +0 -1
- package/dist/chunk-F6IP3LGK.js.map +0 -1
- package/dist/chunk-H5IHOYUF.cjs.map +0 -1
- package/dist/chunk-W47U2HRC.cjs.map +0 -1
- package/dist/chunk-WVSNF3TN.cjs.map +0 -1
- package/dist/chunk-XHXG43PW.js.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
3
|
+
var chunkFK4AJOX6_cjs = require('./chunk-FK4AJOX6.cjs');
|
|
4
|
+
var chunkM6Z3BHEH_cjs = require('./chunk-M6Z3BHEH.cjs');
|
|
5
|
+
var chunkER6YITYC_cjs = require('./chunk-ER6YITYC.cjs');
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
8
|
|
|
@@ -24,33 +24,37 @@ function DefaultConfirm({
|
|
|
24
24
|
lossesLabel,
|
|
25
25
|
confirmLabel,
|
|
26
26
|
goBackLabel,
|
|
27
|
+
periodEndNotice,
|
|
27
28
|
onConfirm,
|
|
28
29
|
onGoBack,
|
|
29
30
|
isProcessing,
|
|
30
|
-
classNames
|
|
31
|
+
classNames,
|
|
32
|
+
messages
|
|
31
33
|
}) {
|
|
34
|
+
const m = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
32
35
|
const hasLosses = Array.isArray(losses) && losses.length > 0;
|
|
33
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
34
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
35
|
-
description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: description, className:
|
|
36
|
-
hasLosses && /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
37
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
38
|
-
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ck-loss-list", children: losses.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className:
|
|
39
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className:
|
|
36
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-confirm", classNames?.root), children: [
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: title }),
|
|
38
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: description, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
39
|
+
hasLosses && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-loss-block", classNames?.lossList), children: [
|
|
40
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkER6YITYC_cjs.cn("ck-loss-label", classNames?.lossLabel), children: lossesLabel ?? m.confirm.lossesLabel }),
|
|
41
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ck-loss-list", children: losses.map((item) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: chunkER6YITYC_cjs.cn("ck-loss-item", classNames?.lossItem), children: [
|
|
42
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: chunkER6YITYC_cjs.cn("ck-loss-bullet", classNames?.lossBullet), children: "\u25CF" }),
|
|
40
43
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: item })
|
|
41
44
|
] }, item)) })
|
|
42
45
|
] }),
|
|
46
|
+
periodEndNotice && /* @__PURE__ */ jsxRuntime.jsx("p", { className: chunkER6YITYC_cjs.cn("ck-period-end", classNames?.periodEndNotice), children: periodEndNotice }),
|
|
43
47
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
44
48
|
"button",
|
|
45
49
|
{
|
|
46
50
|
type: "button",
|
|
47
|
-
className:
|
|
51
|
+
className: chunkER6YITYC_cjs.cn("ck-button ck-button-danger", classNames?.confirmButton),
|
|
48
52
|
onClick: onConfirm,
|
|
49
53
|
disabled: isProcessing,
|
|
50
|
-
children: isProcessing ?
|
|
54
|
+
children: isProcessing ? m.common.processing : confirmLabel
|
|
51
55
|
}
|
|
52
56
|
),
|
|
53
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className:
|
|
57
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-button-link", classNames?.goBackButton), onClick: onGoBack, children: goBackLabel })
|
|
54
58
|
] });
|
|
55
59
|
}
|
|
56
60
|
function DefaultFeedback({
|
|
@@ -62,20 +66,22 @@ function DefaultFeedback({
|
|
|
62
66
|
value,
|
|
63
67
|
onChange,
|
|
64
68
|
onSubmit,
|
|
65
|
-
classNames
|
|
69
|
+
classNames,
|
|
70
|
+
messages
|
|
66
71
|
}) {
|
|
72
|
+
const m = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
67
73
|
const [focused, setFocused] = react.useState(false);
|
|
68
74
|
const hasMin = minLength > 0;
|
|
69
75
|
const isUnderMin = hasMin && value.length > 0 && value.length < minLength;
|
|
70
76
|
const isValid = !required || value.length >= minLength;
|
|
71
|
-
const placeholderText = placeholder ?? (hasMin ?
|
|
72
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
73
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
74
|
-
description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: description, className:
|
|
77
|
+
const placeholderText = placeholder ?? (hasMin ? chunkER6YITYC_cjs.formatMessage(m.feedback.placeholderWithMin, { minLength }) : m.feedback.placeholder);
|
|
78
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-feedback", classNames?.root), children: [
|
|
79
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: title }),
|
|
80
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: description, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
75
81
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
76
82
|
"div",
|
|
77
83
|
{
|
|
78
|
-
className:
|
|
84
|
+
className: chunkER6YITYC_cjs.cn(
|
|
79
85
|
"ck-feedback-field",
|
|
80
86
|
focused && "ck-feedback-field--focused",
|
|
81
87
|
isUnderMin && "ck-feedback-field--invalid"
|
|
@@ -84,7 +90,7 @@ function DefaultFeedback({
|
|
|
84
90
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
85
91
|
"textarea",
|
|
86
92
|
{
|
|
87
|
-
className:
|
|
93
|
+
className: chunkER6YITYC_cjs.cn("ck-textarea", classNames?.textarea),
|
|
88
94
|
placeholder: placeholderText,
|
|
89
95
|
value,
|
|
90
96
|
onChange: (e) => onChange(e.target.value),
|
|
@@ -96,7 +102,7 @@ function DefaultFeedback({
|
|
|
96
102
|
hasMin && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
97
103
|
"div",
|
|
98
104
|
{
|
|
99
|
-
className:
|
|
105
|
+
className: chunkER6YITYC_cjs.cn(
|
|
100
106
|
"ck-character-count",
|
|
101
107
|
isUnderMin && "ck-character-count--invalid",
|
|
102
108
|
classNames?.characterCount
|
|
@@ -115,10 +121,10 @@ function DefaultFeedback({
|
|
|
115
121
|
"button",
|
|
116
122
|
{
|
|
117
123
|
type: "button",
|
|
118
|
-
className:
|
|
124
|
+
className: chunkER6YITYC_cjs.cn("ck-button ck-button-primary", classNames?.submitButton),
|
|
119
125
|
onClick: onSubmit,
|
|
120
126
|
disabled: !isValid,
|
|
121
|
-
children:
|
|
127
|
+
children: m.common.continue
|
|
122
128
|
}
|
|
123
129
|
)
|
|
124
130
|
] });
|
|
@@ -130,25 +136,27 @@ function DefaultContactOffer({
|
|
|
130
136
|
onAccept,
|
|
131
137
|
onDecline,
|
|
132
138
|
isProcessing,
|
|
133
|
-
classNames
|
|
139
|
+
classNames,
|
|
140
|
+
messages
|
|
134
141
|
}) {
|
|
142
|
+
const msg = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
135
143
|
const headline = title ?? offer.copy.headline;
|
|
136
144
|
const body = description ?? offer.copy.body;
|
|
137
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
138
|
-
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
139
|
-
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className:
|
|
140
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
145
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
|
|
146
|
+
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: headline }),
|
|
147
|
+
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
148
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-offer-card", classNames?.card), children: [
|
|
141
149
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
142
150
|
"button",
|
|
143
151
|
{
|
|
144
152
|
type: "button",
|
|
145
|
-
className:
|
|
153
|
+
className: chunkER6YITYC_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
|
|
146
154
|
onClick: () => onAccept(),
|
|
147
155
|
disabled: isProcessing,
|
|
148
|
-
children: isProcessing ?
|
|
156
|
+
children: isProcessing ? msg.common.processing : msg.offer.acceptCta.contact || offer.copy.cta
|
|
149
157
|
}
|
|
150
158
|
),
|
|
151
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className:
|
|
159
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: msg.offer.declineCta || offer.copy.declineCta })
|
|
152
160
|
] })
|
|
153
161
|
] });
|
|
154
162
|
}
|
|
@@ -159,31 +167,33 @@ function DefaultDiscountOffer({
|
|
|
159
167
|
onAccept,
|
|
160
168
|
onDecline,
|
|
161
169
|
isProcessing,
|
|
162
|
-
classNames
|
|
170
|
+
classNames,
|
|
171
|
+
messages
|
|
163
172
|
}) {
|
|
173
|
+
const msg = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
164
174
|
const o = offer;
|
|
165
175
|
const headline = title ?? offer.copy.headline;
|
|
166
176
|
const body = description ?? offer.copy.body;
|
|
167
|
-
const phrase =
|
|
168
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
169
|
-
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
170
|
-
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className:
|
|
171
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
177
|
+
const phrase = chunkM6Z3BHEH_cjs.discountPhrase(o);
|
|
178
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
|
|
179
|
+
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: headline }),
|
|
180
|
+
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
181
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-offer-card", classNames?.card), children: [
|
|
172
182
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-details ck-offer-discount", children: [
|
|
173
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-offer-discount-eyebrow", children:
|
|
183
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-offer-discount-eyebrow", children: msg.offer.limitedTimeEyebrow }),
|
|
174
184
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-offer-discount-phrase", children: phrase })
|
|
175
185
|
] }),
|
|
176
186
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
177
187
|
"button",
|
|
178
188
|
{
|
|
179
189
|
type: "button",
|
|
180
|
-
className:
|
|
190
|
+
className: chunkER6YITYC_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
|
|
181
191
|
onClick: () => onAccept(),
|
|
182
192
|
disabled: isProcessing,
|
|
183
|
-
children: isProcessing ?
|
|
193
|
+
children: isProcessing ? msg.common.processing : msg.offer.acceptCta.discount || offer.copy.cta
|
|
184
194
|
}
|
|
185
195
|
),
|
|
186
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className:
|
|
196
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: msg.offer.declineCta || offer.copy.declineCta })
|
|
187
197
|
] })
|
|
188
198
|
] });
|
|
189
199
|
}
|
|
@@ -194,8 +204,10 @@ function DefaultPauseOffer({
|
|
|
194
204
|
onAccept,
|
|
195
205
|
onDecline,
|
|
196
206
|
isProcessing,
|
|
197
|
-
classNames
|
|
207
|
+
classNames,
|
|
208
|
+
messages
|
|
198
209
|
}) {
|
|
210
|
+
const msg = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
199
211
|
const o = offer;
|
|
200
212
|
const max = Math.max(1, o.months);
|
|
201
213
|
const [months, setMonths] = react.useState(1);
|
|
@@ -203,24 +215,24 @@ function DefaultPauseOffer({
|
|
|
203
215
|
const body = description ?? offer.copy.body;
|
|
204
216
|
const resume = /* @__PURE__ */ new Date();
|
|
205
217
|
resume.setMonth(resume.getMonth() + months);
|
|
206
|
-
const resumeDate =
|
|
207
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
208
|
-
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
209
|
-
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className:
|
|
210
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
211
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-pause-eyebrow", children:
|
|
218
|
+
const resumeDate = chunkM6Z3BHEH_cjs.formatMonthDayLong(resume);
|
|
219
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
|
|
220
|
+
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: headline }),
|
|
221
|
+
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
222
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-offer-card ck-pause-card", classNames?.card), children: [
|
|
223
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-pause-eyebrow", children: msg.offer.pauseEyebrow }),
|
|
212
224
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-pause-date", children: resumeDate }),
|
|
213
|
-
max > 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
225
|
+
max > 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkER6YITYC_cjs.cn("ck-pause-chips", classNames?.pauseSlider), children: Array.from({ length: max }, (_, i) => i + 1).map((m) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
214
226
|
"button",
|
|
215
227
|
{
|
|
216
228
|
type: "button",
|
|
217
229
|
onClick: () => setMonths(m),
|
|
218
|
-
className:
|
|
230
|
+
className: chunkER6YITYC_cjs.cn("ck-pause-chip", m === months && "ck-pause-chip--selected"),
|
|
219
231
|
"aria-pressed": m === months,
|
|
220
232
|
children: [
|
|
221
233
|
m,
|
|
222
234
|
" ",
|
|
223
|
-
m === 1 ?
|
|
235
|
+
m === 1 ? msg.common.month : msg.common.months
|
|
224
236
|
]
|
|
225
237
|
},
|
|
226
238
|
m
|
|
@@ -230,13 +242,13 @@ function DefaultPauseOffer({
|
|
|
230
242
|
"button",
|
|
231
243
|
{
|
|
232
244
|
type: "button",
|
|
233
|
-
className:
|
|
245
|
+
className: chunkER6YITYC_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
|
|
234
246
|
onClick: () => onAccept({ months }),
|
|
235
247
|
disabled: isProcessing,
|
|
236
|
-
children: isProcessing ?
|
|
248
|
+
children: isProcessing ? msg.common.processing : msg.offer.acceptCta.pause || offer.copy.cta
|
|
237
249
|
}
|
|
238
250
|
),
|
|
239
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className:
|
|
251
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: msg.offer.declineCta || offer.copy.declineCta })
|
|
240
252
|
] });
|
|
241
253
|
}
|
|
242
254
|
function Checkmark({ color = "currentColor", size = 14 }) {
|
|
@@ -250,8 +262,10 @@ function DefaultPlanChangeOffer({
|
|
|
250
262
|
onAccept,
|
|
251
263
|
onDecline,
|
|
252
264
|
isProcessing,
|
|
253
|
-
classNames
|
|
265
|
+
classNames,
|
|
266
|
+
messages
|
|
254
267
|
}) {
|
|
268
|
+
const msg = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
255
269
|
const o = offer;
|
|
256
270
|
const plans = o.plans ?? [];
|
|
257
271
|
const currentPlanId = subscriptions[0]?.items[0]?.price.id;
|
|
@@ -260,11 +274,11 @@ function DefaultPlanChangeOffer({
|
|
|
260
274
|
const selectedPlan = plans.find((p) => p.id === selectedPlanId) ?? null;
|
|
261
275
|
const headline = title ?? offer.copy.headline;
|
|
262
276
|
const body = description ?? offer.copy.body;
|
|
263
|
-
const ctaLabel = isProcessing ?
|
|
264
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
265
|
-
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
266
|
-
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className:
|
|
267
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
277
|
+
const ctaLabel = isProcessing ? msg.common.processing : selectedPlan?.name ? chunkER6YITYC_cjs.formatMessage(msg.offer.switchToCta, { planName: selectedPlan.name }) : msg.offer.acceptCta.plan_change || offer.copy.cta;
|
|
278
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
|
|
279
|
+
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: headline }),
|
|
280
|
+
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
281
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-offer-card", classNames?.card), children: [
|
|
268
282
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-offer-details ck-plan-grid", children: plans.map((plan) => {
|
|
269
283
|
const interval = plan.duration?.interval ?? "month";
|
|
270
284
|
const currency = plan.amount.currency ?? "USD";
|
|
@@ -276,7 +290,7 @@ function DefaultPlanChangeOffer({
|
|
|
276
290
|
type: "button",
|
|
277
291
|
onClick: () => setSelectedPlanId(plan.id),
|
|
278
292
|
disabled: isCurrent,
|
|
279
|
-
className:
|
|
293
|
+
className: chunkER6YITYC_cjs.cn(
|
|
280
294
|
"ck-plan-card",
|
|
281
295
|
isSelected && "ck-plan-card--selected",
|
|
282
296
|
isCurrent && "ck-plan-card--current"
|
|
@@ -285,11 +299,11 @@ function DefaultPlanChangeOffer({
|
|
|
285
299
|
children: [
|
|
286
300
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-plan-name", children: [
|
|
287
301
|
plan.name ?? plan.id,
|
|
288
|
-
isCurrent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ck-plan-current-badge", children:
|
|
302
|
+
isCurrent && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ck-plan-current-badge", children: msg.offer.currentPlanBadge })
|
|
289
303
|
] }),
|
|
290
304
|
plan.tagline && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-plan-tagline", children: plan.tagline }),
|
|
291
305
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-plan-price-row", children: [
|
|
292
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ck-plan-amount", children:
|
|
306
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ck-plan-amount", children: chunkM6Z3BHEH_cjs.formatPriceFromMinor(plan.amount.value, currency) }),
|
|
293
307
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ck-plan-period", children: [
|
|
294
308
|
"/",
|
|
295
309
|
interval
|
|
@@ -309,13 +323,13 @@ function DefaultPlanChangeOffer({
|
|
|
309
323
|
"button",
|
|
310
324
|
{
|
|
311
325
|
type: "button",
|
|
312
|
-
className:
|
|
326
|
+
className: chunkER6YITYC_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
|
|
313
327
|
onClick: () => selectedPlanId && onAccept({ planId: selectedPlanId }),
|
|
314
328
|
disabled: isProcessing || !selectedPlanId,
|
|
315
329
|
children: ctaLabel
|
|
316
330
|
}
|
|
317
331
|
),
|
|
318
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className:
|
|
332
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: msg.offer.declineCta || offer.copy.declineCta })
|
|
319
333
|
] })
|
|
320
334
|
] });
|
|
321
335
|
}
|
|
@@ -326,8 +340,10 @@ function DefaultRebateOffer({
|
|
|
326
340
|
onAccept,
|
|
327
341
|
onDecline,
|
|
328
342
|
isProcessing,
|
|
329
|
-
classNames
|
|
343
|
+
classNames,
|
|
344
|
+
messages
|
|
330
345
|
}) {
|
|
346
|
+
const msg = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
331
347
|
const o = offer;
|
|
332
348
|
const headline = title ?? offer.copy.headline;
|
|
333
349
|
const body = description ?? offer.copy.body;
|
|
@@ -335,61 +351,61 @@ function DefaultRebateOffer({
|
|
|
335
351
|
const amount = o.amountMinor ?? 0;
|
|
336
352
|
const refund = o.amountPaidMinor != null && o.netAfterRebateMinor != null ? o.amountPaidMinor - o.netAfterRebateMinor : amount;
|
|
337
353
|
const taxRefunded = refund - amount;
|
|
338
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
339
|
-
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
340
|
-
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className:
|
|
341
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
354
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
|
|
355
|
+
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: headline }),
|
|
356
|
+
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
357
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-offer-card", classNames?.card), children: [
|
|
342
358
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-rebate", children: [
|
|
343
359
|
o.amountPaidMinor != null && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-rebate-row", children: [
|
|
344
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
345
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
360
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: msg.offer.rebate.paidLabel }),
|
|
361
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: chunkM6Z3BHEH_cjs.formatPriceFromMinor(o.amountPaidMinor, currency) })
|
|
346
362
|
] }),
|
|
347
363
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-rebate-row ck-offer-rebate-credit", children: [
|
|
348
364
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
349
|
-
|
|
365
|
+
msg.offer.rebate.moneyBackLabel,
|
|
350
366
|
taxRefunded > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "ck-offer-rebate-tax", children: [
|
|
351
|
-
"
|
|
352
|
-
|
|
353
|
-
" tax)"
|
|
367
|
+
" ",
|
|
368
|
+
chunkER6YITYC_cjs.formatMessage(msg.offer.rebate.inclTax, { amount: chunkM6Z3BHEH_cjs.formatPriceFromMinor(taxRefunded, currency) })
|
|
354
369
|
] })
|
|
355
370
|
] }),
|
|
356
371
|
/* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
|
|
357
372
|
"\u2212",
|
|
358
|
-
|
|
373
|
+
chunkM6Z3BHEH_cjs.formatPriceFromMinor(refund, currency)
|
|
359
374
|
] })
|
|
360
375
|
] }),
|
|
361
376
|
o.netAfterRebateMinor != null && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-rebate-row ck-offer-rebate-total", children: [
|
|
362
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
363
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children:
|
|
377
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: msg.offer.rebate.netLabel }),
|
|
378
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: chunkM6Z3BHEH_cjs.formatPriceFromMinor(o.netAfterRebateMinor, currency) })
|
|
364
379
|
] })
|
|
365
380
|
] }),
|
|
366
381
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
367
382
|
"button",
|
|
368
383
|
{
|
|
369
384
|
type: "button",
|
|
370
|
-
className:
|
|
385
|
+
className: chunkER6YITYC_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
|
|
371
386
|
onClick: () => onAccept(),
|
|
372
387
|
disabled: isProcessing,
|
|
373
|
-
children: isProcessing ?
|
|
388
|
+
children: isProcessing ? msg.common.processing : msg.offer.acceptCta.rebate || offer.copy.cta
|
|
374
389
|
}
|
|
375
390
|
),
|
|
376
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className:
|
|
391
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: msg.offer.declineCta || offer.copy.declineCta })
|
|
377
392
|
] })
|
|
378
393
|
] });
|
|
379
394
|
}
|
|
380
|
-
function DefaultRedirectOffer({ title, description, offer, onDecline, classNames }) {
|
|
395
|
+
function DefaultRedirectOffer({ title, description, offer, onDecline, classNames, messages }) {
|
|
396
|
+
const msg = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
381
397
|
const url = offer.url;
|
|
382
398
|
const headline = title ?? offer.copy.headline;
|
|
383
399
|
const body = description ?? offer.copy.body;
|
|
384
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
385
|
-
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
386
|
-
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className:
|
|
387
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
400
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
|
|
401
|
+
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: headline }),
|
|
402
|
+
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
403
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-offer-card", classNames?.card), children: [
|
|
388
404
|
/* @__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: [
|
|
389
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: offer.copy.cta }),
|
|
405
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: msg.offer.acceptCta.redirect || offer.copy.cta }),
|
|
390
406
|
/* @__PURE__ */ jsxRuntime.jsx(ExternalIcon, {})
|
|
391
407
|
] }) }),
|
|
392
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className:
|
|
408
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: msg.offer.declineCta || offer.copy.declineCta })
|
|
393
409
|
] })
|
|
394
410
|
] });
|
|
395
411
|
}
|
|
@@ -422,28 +438,30 @@ function DefaultTrialExtensionOffer({
|
|
|
422
438
|
onAccept,
|
|
423
439
|
onDecline,
|
|
424
440
|
isProcessing,
|
|
425
|
-
classNames
|
|
441
|
+
classNames,
|
|
442
|
+
messages
|
|
426
443
|
}) {
|
|
444
|
+
const msg = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
427
445
|
const o = offer;
|
|
428
446
|
const headline = title ?? offer.copy.headline;
|
|
429
447
|
const body = description ?? offer.copy.body;
|
|
430
448
|
const end = /* @__PURE__ */ new Date();
|
|
431
449
|
end.setDate(end.getDate() + o.days);
|
|
432
|
-
const newEnd =
|
|
433
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
434
|
-
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
435
|
-
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className:
|
|
436
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
450
|
+
const newEnd = chunkM6Z3BHEH_cjs.formatMonthDay(end);
|
|
451
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-offer", classNames?.root), children: [
|
|
452
|
+
headline && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: headline }),
|
|
453
|
+
body && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: body, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
454
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-offer-card", classNames?.card), children: [
|
|
437
455
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-offer-details ck-trial-block", children: [
|
|
438
456
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-trial-badge", children: [
|
|
439
457
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-trial-days", children: [
|
|
440
458
|
"+",
|
|
441
459
|
o.days
|
|
442
460
|
] }),
|
|
443
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-trial-unit", children: o.days === 1 ?
|
|
461
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-trial-unit", children: o.days === 1 ? msg.common.day : msg.common.days })
|
|
444
462
|
] }),
|
|
445
463
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
446
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-trial-end-label", children:
|
|
464
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-trial-end-label", children: msg.offer.newEndDateLabel }),
|
|
447
465
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-trial-end-date", children: newEnd })
|
|
448
466
|
] })
|
|
449
467
|
] }),
|
|
@@ -451,13 +469,13 @@ function DefaultTrialExtensionOffer({
|
|
|
451
469
|
"button",
|
|
452
470
|
{
|
|
453
471
|
type: "button",
|
|
454
|
-
className:
|
|
472
|
+
className: chunkER6YITYC_cjs.cn("ck-button ck-button-primary", classNames?.acceptButton),
|
|
455
473
|
onClick: () => onAccept(),
|
|
456
474
|
disabled: isProcessing,
|
|
457
|
-
children: isProcessing ?
|
|
475
|
+
children: isProcessing ? msg.common.processing : msg.offer.acceptCta.trial_extension || offer.copy.cta
|
|
458
476
|
}
|
|
459
477
|
),
|
|
460
|
-
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className:
|
|
478
|
+
/* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-button-link", classNames?.declineButton), onClick: onDecline, children: msg.offer.declineCta || offer.copy.declineCta })
|
|
461
479
|
] })
|
|
462
480
|
] });
|
|
463
481
|
}
|
|
@@ -493,12 +511,13 @@ function pickOfferComponent(type, components) {
|
|
|
493
511
|
return null;
|
|
494
512
|
}
|
|
495
513
|
}
|
|
496
|
-
function DefaultSuccess({ title, description, onClose, classNames }) {
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
/* @__PURE__ */ jsxRuntime.jsx("
|
|
500
|
-
|
|
501
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
514
|
+
function DefaultSuccess({ title, description, onClose, classNames, messages }) {
|
|
515
|
+
const m = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
516
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-success", classNames?.root), children: [
|
|
517
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkER6YITYC_cjs.cn("ck-success-icon", classNames?.icon), children: /* @__PURE__ */ jsxRuntime.jsx(Checkmark, { color: "currentColor", size: 26 }) }),
|
|
518
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: title }),
|
|
519
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: description, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
520
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-success-actions", children: /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-button ck-button-primary", classNames?.closeButton), onClick: onClose, children: m.common.done }) })
|
|
502
521
|
] });
|
|
503
522
|
}
|
|
504
523
|
function DefaultReasonButton({ reason, index, isSelected, onSelect }) {
|
|
@@ -510,7 +529,7 @@ function DefaultReasonButton({ reason, index, isSelected, onSelect }) {
|
|
|
510
529
|
role: "radio",
|
|
511
530
|
"aria-checked": isSelected,
|
|
512
531
|
onClick: () => onSelect(reason.id),
|
|
513
|
-
className:
|
|
532
|
+
className: chunkER6YITYC_cjs.cn("ck-reason-button", isSelected && "ck-reason-button--selected"),
|
|
514
533
|
children: [
|
|
515
534
|
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, className: "ck-reason-badge", children: isSelected ? /* @__PURE__ */ jsxRuntime.jsx(Checkmark, { color: "#fff", size: 12 }) : letter }),
|
|
516
535
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "ck-reason-label", children: reason.label })
|
|
@@ -528,15 +547,17 @@ function DefaultSurvey({
|
|
|
528
547
|
onFollowupResponseChange,
|
|
529
548
|
onNext,
|
|
530
549
|
classNames,
|
|
531
|
-
components
|
|
550
|
+
components,
|
|
551
|
+
messages
|
|
532
552
|
}) {
|
|
553
|
+
const m = messages ?? chunkER6YITYC_cjs.defaultMessages;
|
|
533
554
|
const ReasonButton = components?.ReasonButton ?? DefaultReasonButton;
|
|
534
555
|
const selected = reasons.find((r) => r.id === selectedReason);
|
|
535
556
|
const showFollowup = selected?.freeform === true;
|
|
536
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className:
|
|
537
|
-
/* @__PURE__ */ jsxRuntime.jsx("h2", { className:
|
|
538
|
-
description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: description, className:
|
|
539
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
557
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkER6YITYC_cjs.cn("ck-step ck-step-survey", classNames?.root), children: [
|
|
558
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: chunkER6YITYC_cjs.cn("ck-step-title", classNames?.title), children: title }),
|
|
559
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(RichText, { as: "div", html: description, className: chunkER6YITYC_cjs.cn("ck-step-description", classNames?.description) }),
|
|
560
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkER6YITYC_cjs.cn("ck-reason-list", classNames?.reasonList), role: "radiogroup", "aria-label": title, children: reasons.map((reason, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
540
561
|
ReasonButton,
|
|
541
562
|
{
|
|
542
563
|
reason,
|
|
@@ -549,28 +570,28 @@ function DefaultSurvey({
|
|
|
549
570
|
showFollowup && /* @__PURE__ */ jsxRuntime.jsx(
|
|
550
571
|
"textarea",
|
|
551
572
|
{
|
|
552
|
-
className:
|
|
553
|
-
placeholder:
|
|
573
|
+
className: chunkER6YITYC_cjs.cn("ck-reason-followup", classNames?.followupInput),
|
|
574
|
+
placeholder: m.survey.followupPlaceholder,
|
|
554
575
|
rows: 3,
|
|
555
576
|
value: followupResponse,
|
|
556
577
|
onChange: (e) => onFollowupResponseChange(e.target.value),
|
|
557
|
-
"aria-label":
|
|
578
|
+
"aria-label": m.survey.followupAriaLabel
|
|
558
579
|
}
|
|
559
580
|
),
|
|
560
581
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
561
582
|
"button",
|
|
562
583
|
{
|
|
563
584
|
type: "button",
|
|
564
|
-
className:
|
|
585
|
+
className: chunkER6YITYC_cjs.cn("ck-button ck-button-primary", classNames?.continueButton),
|
|
565
586
|
onClick: onNext,
|
|
566
587
|
disabled: !selectedReason,
|
|
567
|
-
children:
|
|
588
|
+
children: m.common.continue
|
|
568
589
|
}
|
|
569
590
|
)
|
|
570
591
|
] });
|
|
571
592
|
}
|
|
572
|
-
function DefaultBackButton({ onBack, className }) {
|
|
573
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className:
|
|
593
|
+
function DefaultBackButton({ onBack, className, label }) {
|
|
594
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-back-button", className), onClick: onBack, children: [
|
|
574
595
|
/* @__PURE__ */ jsxRuntime.jsx("svg", { width: "14", height: "14", viewBox: "0 0 20 20", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
575
596
|
"path",
|
|
576
597
|
{
|
|
@@ -581,11 +602,11 @@ function DefaultBackButton({ onBack, className }) {
|
|
|
581
602
|
strokeLinejoin: "round"
|
|
582
603
|
}
|
|
583
604
|
) }),
|
|
584
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "Back" })
|
|
605
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: label ?? "Back" })
|
|
585
606
|
] });
|
|
586
607
|
}
|
|
587
|
-
function DefaultCloseButton({ onClose, className }) {
|
|
588
|
-
return /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className:
|
|
608
|
+
function DefaultCloseButton({ onClose, className, label }) {
|
|
609
|
+
return /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: chunkER6YITYC_cjs.cn("ck-close-button", className), onClick: onClose, "aria-label": 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" }) }) });
|
|
589
610
|
}
|
|
590
611
|
function trapFocus(container) {
|
|
591
612
|
const focusableSelector = [
|
|
@@ -645,7 +666,7 @@ function DefaultModal({ open, onClose, children, className, overlayClassName })
|
|
|
645
666
|
"div",
|
|
646
667
|
{
|
|
647
668
|
ref: overlayRef,
|
|
648
|
-
className:
|
|
669
|
+
className: chunkER6YITYC_cjs.cn("ck-overlay", overlayClassName),
|
|
649
670
|
onClick: (e) => {
|
|
650
671
|
if (e.target === overlayRef.current) onClose();
|
|
651
672
|
},
|
|
@@ -657,7 +678,7 @@ function DefaultModal({ open, onClose, children, className, overlayClassName })
|
|
|
657
678
|
"aria-modal": "true",
|
|
658
679
|
"aria-labelledby": "ck-dialog-title",
|
|
659
680
|
tabIndex: -1,
|
|
660
|
-
className:
|
|
681
|
+
className: chunkER6YITYC_cjs.cn("ck-modal", className),
|
|
661
682
|
children
|
|
662
683
|
}
|
|
663
684
|
)
|
|
@@ -683,7 +704,7 @@ function useColorScheme(preference) {
|
|
|
683
704
|
return system;
|
|
684
705
|
}
|
|
685
706
|
function CancelFlow(props) {
|
|
686
|
-
const { machine, state, isLoading, loadError, retry } =
|
|
707
|
+
const { machine, state, isLoading, loadError, retry } = chunkFK4AJOX6_cjs.useCancelFlowMachine(props);
|
|
687
708
|
if (isLoading || loadError) {
|
|
688
709
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
689
710
|
LoadStatus,
|
|
@@ -694,7 +715,8 @@ function CancelFlow(props) {
|
|
|
694
715
|
onClose: props.onClose,
|
|
695
716
|
isLoading,
|
|
696
717
|
loadError,
|
|
697
|
-
onRetry: retry
|
|
718
|
+
onRetry: retry,
|
|
719
|
+
messages: machine.messages
|
|
698
720
|
}
|
|
699
721
|
);
|
|
700
722
|
}
|
|
@@ -717,16 +739,17 @@ function LoadStatus({
|
|
|
717
739
|
onClose,
|
|
718
740
|
isLoading,
|
|
719
741
|
loadError,
|
|
720
|
-
onRetry
|
|
742
|
+
onRetry,
|
|
743
|
+
messages
|
|
721
744
|
}) {
|
|
722
745
|
const scheme = useColorScheme(appearance?.colorScheme);
|
|
723
|
-
const appearanceStyle =
|
|
746
|
+
const appearanceStyle = chunkER6YITYC_cjs.appearanceToStyle(appearance);
|
|
724
747
|
const Modal = components?.Modal ?? DefaultModal;
|
|
725
748
|
const CloseButton = components?.CloseButton ?? DefaultCloseButton;
|
|
726
749
|
const handleClose = onClose ?? (() => {
|
|
727
750
|
});
|
|
728
751
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-cancel-flow", "data-color-scheme": scheme, style: appearanceStyle, children: /* @__PURE__ */ jsxRuntime.jsxs(Modal, { open: true, onClose: handleClose, className: classNames?.modal, overlayClassName: classNames?.overlay, children: [
|
|
729
|
-
/* @__PURE__ */ jsxRuntime.jsx(CloseButton, { onClose: handleClose, className: classNames?.closeButton }),
|
|
752
|
+
/* @__PURE__ */ jsxRuntime.jsx(CloseButton, { onClose: handleClose, className: classNames?.closeButton, label: messages.common.close }),
|
|
730
753
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-content", children: [
|
|
731
754
|
isLoading && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-loading", style: { padding: "32px", textAlign: "center" }, children: [
|
|
732
755
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -744,10 +767,10 @@ function LoadStatus({
|
|
|
744
767
|
}
|
|
745
768
|
}
|
|
746
769
|
),
|
|
747
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { color: "var(--ck-color-text-secondary, #6b7280)" }, children:
|
|
770
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { color: "var(--ck-color-text-secondary, #6b7280)" }, children: messages.common.loading })
|
|
748
771
|
] }),
|
|
749
772
|
loadError && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-error", role: "alert", style: { padding: "32px", textAlign: "center" }, children: [
|
|
750
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "ck-error-message", style: { marginBottom: 16 }, children:
|
|
773
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "ck-error-message", style: { marginBottom: 16 }, children: messages.common.loadError }),
|
|
751
774
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
752
775
|
"button",
|
|
753
776
|
{
|
|
@@ -764,7 +787,7 @@ function LoadStatus({
|
|
|
764
787
|
borderRadius: "var(--ck-border-radius, 8px)",
|
|
765
788
|
cursor: "pointer"
|
|
766
789
|
},
|
|
767
|
-
children:
|
|
790
|
+
children: messages.common.tryAgain
|
|
768
791
|
}
|
|
769
792
|
)
|
|
770
793
|
] })
|
|
@@ -773,15 +796,16 @@ function LoadStatus({
|
|
|
773
796
|
}
|
|
774
797
|
function FlowShell({ machine, state, appearance, classNames, components, customComponents }) {
|
|
775
798
|
const scheme = useColorScheme(appearance?.colorScheme);
|
|
776
|
-
const appearanceStyle =
|
|
799
|
+
const appearanceStyle = chunkER6YITYC_cjs.appearanceToStyle(appearance);
|
|
800
|
+
const messages = machine.messages;
|
|
777
801
|
const Modal = components?.Modal ?? DefaultModal;
|
|
778
802
|
const CloseButton = components?.CloseButton ?? DefaultCloseButton;
|
|
779
803
|
const BackButton = components?.BackButton ?? DefaultBackButton;
|
|
780
804
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-cancel-flow", "data-color-scheme": scheme, style: appearanceStyle, children: /* @__PURE__ */ jsxRuntime.jsxs(Modal, { open: true, onClose: machine.close, className: classNames?.modal, overlayClassName: classNames?.overlay, children: [
|
|
781
|
-
/* @__PURE__ */ jsxRuntime.jsx(CloseButton, { onClose: machine.close, className: classNames?.closeButton }),
|
|
805
|
+
/* @__PURE__ */ jsxRuntime.jsx(CloseButton, { onClose: machine.close, className: classNames?.closeButton, label: messages.common.close }),
|
|
782
806
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ck-content", children: [
|
|
783
|
-
machine.canGoBack && /* @__PURE__ */ jsxRuntime.jsx(BackButton, { onBack: machine.back, className: classNames?.backButton }),
|
|
784
|
-
state.error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-error", role: "alert", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "ck-error-message", children:
|
|
807
|
+
machine.canGoBack && /* @__PURE__ */ jsxRuntime.jsx(BackButton, { onBack: machine.back, className: classNames?.backButton, label: messages.common.back }),
|
|
808
|
+
state.error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ck-error", role: "alert", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "ck-error-message", children: messages.common.error }) }),
|
|
785
809
|
/* @__PURE__ */ jsxRuntime.jsx(StepRenderer, { state, machine, components, customComponents })
|
|
786
810
|
] })
|
|
787
811
|
] }) });
|
|
@@ -793,6 +817,7 @@ function StepRenderer({
|
|
|
793
817
|
customComponents
|
|
794
818
|
}) {
|
|
795
819
|
const stepConfig = machine.currentStep;
|
|
820
|
+
const messages = machine.messages;
|
|
796
821
|
switch (state.step) {
|
|
797
822
|
case "survey": {
|
|
798
823
|
const Survey = components?.Survey ?? DefaultSurvey;
|
|
@@ -800,7 +825,7 @@ function StepRenderer({
|
|
|
800
825
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
801
826
|
Survey,
|
|
802
827
|
{
|
|
803
|
-
title: config?.title ??
|
|
828
|
+
title: config?.title ?? messages.survey.title,
|
|
804
829
|
description: config?.description,
|
|
805
830
|
customer: state.customer,
|
|
806
831
|
subscriptions: state.subscriptions,
|
|
@@ -811,7 +836,8 @@ function StepRenderer({
|
|
|
811
836
|
onFollowupResponseChange: machine.setFollowupResponse,
|
|
812
837
|
onNext: machine.next,
|
|
813
838
|
classNames: config?.classNames,
|
|
814
|
-
components
|
|
839
|
+
components,
|
|
840
|
+
messages
|
|
815
841
|
}
|
|
816
842
|
);
|
|
817
843
|
}
|
|
@@ -832,7 +858,7 @@ function StepRenderer({
|
|
|
832
858
|
}
|
|
833
859
|
);
|
|
834
860
|
}
|
|
835
|
-
if (!
|
|
861
|
+
if (!chunkER6YITYC_cjs.BUILT_IN_OFFER_TYPES.includes(offer.type)) {
|
|
836
862
|
return /* @__PURE__ */ jsxRuntime.jsx(UnregisteredOfferFallback, { offerType: offer.type, onSkip: machine.decline });
|
|
837
863
|
}
|
|
838
864
|
const Offer = components?.Offer ?? DefaultOffer;
|
|
@@ -849,7 +875,8 @@ function StepRenderer({
|
|
|
849
875
|
onDecline: machine.decline,
|
|
850
876
|
isProcessing: state.isProcessing,
|
|
851
877
|
classNames: config?.classNames,
|
|
852
|
-
components
|
|
878
|
+
components,
|
|
879
|
+
messages
|
|
853
880
|
}
|
|
854
881
|
);
|
|
855
882
|
}
|
|
@@ -859,7 +886,7 @@ function StepRenderer({
|
|
|
859
886
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
860
887
|
Feedback,
|
|
861
888
|
{
|
|
862
|
-
title: config?.title ??
|
|
889
|
+
title: config?.title ?? messages.feedback.title,
|
|
863
890
|
description: config?.description,
|
|
864
891
|
customer: state.customer,
|
|
865
892
|
subscriptions: state.subscriptions,
|
|
@@ -869,7 +896,8 @@ function StepRenderer({
|
|
|
869
896
|
value: state.feedback,
|
|
870
897
|
onChange: machine.setFeedback,
|
|
871
898
|
onSubmit: machine.next,
|
|
872
|
-
classNames: config?.classNames
|
|
899
|
+
classNames: config?.classNames,
|
|
900
|
+
messages
|
|
873
901
|
}
|
|
874
902
|
);
|
|
875
903
|
}
|
|
@@ -879,18 +907,20 @@ function StepRenderer({
|
|
|
879
907
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
880
908
|
Confirm,
|
|
881
909
|
{
|
|
882
|
-
title: config?.title ??
|
|
910
|
+
title: config?.title ?? messages.confirm.title,
|
|
883
911
|
description: config?.description,
|
|
884
912
|
customer: state.customer,
|
|
885
913
|
subscriptions: state.subscriptions,
|
|
886
914
|
losses: config?.losses,
|
|
887
915
|
lossesLabel: config?.lossesLabel,
|
|
888
|
-
confirmLabel: config?.confirmLabel ??
|
|
889
|
-
goBackLabel: config?.goBackLabel ??
|
|
916
|
+
confirmLabel: config?.confirmLabel ?? chunkER6YITYC_cjs.selectTiming(messages.confirm.cta, state.cancelAtPeriodEnd),
|
|
917
|
+
goBackLabel: config?.goBackLabel ?? messages.confirm.goBack,
|
|
918
|
+
periodEndNotice: resolvePeriodEndNotice(state, messages),
|
|
890
919
|
onConfirm: machine.cancel,
|
|
891
920
|
onGoBack: machine.back,
|
|
892
921
|
isProcessing: state.isProcessing,
|
|
893
|
-
classNames: config?.classNames
|
|
922
|
+
classNames: config?.classNames,
|
|
923
|
+
messages
|
|
894
924
|
}
|
|
895
925
|
);
|
|
896
926
|
}
|
|
@@ -898,17 +928,20 @@ function StepRenderer({
|
|
|
898
928
|
const Success = components?.Success ?? DefaultSuccess;
|
|
899
929
|
const config = stepConfig;
|
|
900
930
|
const isSaved = state.outcome === "saved";
|
|
931
|
+
const perOffer = isSaved ? savedOfferCopy(messages, state.acceptedOffer) : void 0;
|
|
901
932
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
902
933
|
Success,
|
|
903
934
|
{
|
|
904
935
|
outcome: state.outcome ?? "cancelled",
|
|
905
936
|
offer: machine.currentOffer ?? void 0,
|
|
906
|
-
|
|
907
|
-
|
|
937
|
+
acceptedOffer: state.acceptedOffer ?? void 0,
|
|
938
|
+
title: isSaved ? config?.savedTitle ?? perOffer?.title ?? messages.success.saved.title : config?.cancelledTitle ?? chunkER6YITYC_cjs.selectTiming(messages.success.cancelled.title, state.cancelAtPeriodEnd),
|
|
939
|
+
description: isSaved ? config?.savedDescription ?? pauseResumeDescription(messages, state.acceptedOffer) ?? perOffer?.description ?? messages.success.saved.description : config?.cancelledDescription ?? chunkER6YITYC_cjs.selectTiming(messages.success.cancelled.description, state.cancelAtPeriodEnd),
|
|
908
940
|
customer: state.customer,
|
|
909
941
|
subscriptions: state.subscriptions,
|
|
910
942
|
onClose: machine.close,
|
|
911
|
-
classNames: config?.classNames
|
|
943
|
+
classNames: config?.classNames,
|
|
944
|
+
messages
|
|
912
945
|
}
|
|
913
946
|
);
|
|
914
947
|
}
|
|
@@ -936,6 +969,32 @@ function StepRenderer({
|
|
|
936
969
|
}
|
|
937
970
|
}
|
|
938
971
|
}
|
|
972
|
+
var SAVED_OFFER_COPY_TYPES = ["discount", "pause", "trial_extension", "plan_change", "rebate"];
|
|
973
|
+
function savedOfferCopy(messages, offer) {
|
|
974
|
+
if (!offer) return void 0;
|
|
975
|
+
if (!SAVED_OFFER_COPY_TYPES.includes(offer.type)) return void 0;
|
|
976
|
+
return messages.success.saved[offer.type];
|
|
977
|
+
}
|
|
978
|
+
function pauseResumeDescription(messages, offer) {
|
|
979
|
+
if (offer?.type !== "pause") return void 0;
|
|
980
|
+
const months = offer.result?.months;
|
|
981
|
+
if (typeof months !== "number" || months < 1) return void 0;
|
|
982
|
+
const resume = /* @__PURE__ */ new Date();
|
|
983
|
+
if (offer.interval === "week") {
|
|
984
|
+
resume.setDate(resume.getDate() + months * 7);
|
|
985
|
+
} else {
|
|
986
|
+
resume.setMonth(resume.getMonth() + months);
|
|
987
|
+
}
|
|
988
|
+
return chunkER6YITYC_cjs.formatMessage(messages.success.saved.pause.resumeDescription, { resumeDate: chunkM6Z3BHEH_cjs.formatShortDate(resume) });
|
|
989
|
+
}
|
|
990
|
+
function resolvePeriodEndNotice(state, messages) {
|
|
991
|
+
if (state.cancelAtPeriodEnd !== true) return void 0;
|
|
992
|
+
const template = chunkER6YITYC_cjs.selectTiming(messages.confirm.periodEndNotice, state.cancelAtPeriodEnd);
|
|
993
|
+
if (!template) return void 0;
|
|
994
|
+
const periodEnd = chunkM6Z3BHEH_cjs.formatPeriodEnd(state.subscriptions);
|
|
995
|
+
if (!periodEnd) return void 0;
|
|
996
|
+
return chunkER6YITYC_cjs.formatMessage(template, { periodEnd });
|
|
997
|
+
}
|
|
939
998
|
function UnregisteredStepFallback({ step, onSkip }) {
|
|
940
999
|
react.useEffect(() => {
|
|
941
1000
|
console.warn(`[churnkey] No component registered for step type "${step}". Skipping.`);
|
|
@@ -953,55 +1012,71 @@ function UnregisteredOfferFallback({ offerType, onSkip }) {
|
|
|
953
1012
|
|
|
954
1013
|
Object.defineProperty(exports, "useCancelFlow", {
|
|
955
1014
|
enumerable: true,
|
|
956
|
-
get: function () { return
|
|
1015
|
+
get: function () { return chunkFK4AJOX6_cjs.useCancelFlow; }
|
|
957
1016
|
});
|
|
958
1017
|
Object.defineProperty(exports, "calculateDiscountedPrice", {
|
|
959
1018
|
enumerable: true,
|
|
960
|
-
get: function () { return
|
|
1019
|
+
get: function () { return chunkM6Z3BHEH_cjs.calculateDiscountedPrice; }
|
|
961
1020
|
});
|
|
962
1021
|
Object.defineProperty(exports, "formatPeriodEnd", {
|
|
963
1022
|
enumerable: true,
|
|
964
|
-
get: function () { return
|
|
1023
|
+
get: function () { return chunkM6Z3BHEH_cjs.formatPeriodEnd; }
|
|
965
1024
|
});
|
|
966
1025
|
Object.defineProperty(exports, "formatPrice", {
|
|
967
1026
|
enumerable: true,
|
|
968
|
-
get: function () { return
|
|
1027
|
+
get: function () { return chunkM6Z3BHEH_cjs.formatPrice; }
|
|
969
1028
|
});
|
|
970
1029
|
Object.defineProperty(exports, "AnalyticsClient", {
|
|
971
1030
|
enumerable: true,
|
|
972
|
-
get: function () { return
|
|
1031
|
+
get: function () { return chunkER6YITYC_cjs.AnalyticsClient; }
|
|
973
1032
|
});
|
|
974
1033
|
Object.defineProperty(exports, "BUILT_IN_OFFER_TYPES", {
|
|
975
1034
|
enumerable: true,
|
|
976
|
-
get: function () { return
|
|
1035
|
+
get: function () { return chunkER6YITYC_cjs.BUILT_IN_OFFER_TYPES; }
|
|
977
1036
|
});
|
|
978
1037
|
Object.defineProperty(exports, "BUILT_IN_STEP_TYPES", {
|
|
979
1038
|
enumerable: true,
|
|
980
|
-
get: function () { return
|
|
1039
|
+
get: function () { return chunkER6YITYC_cjs.BUILT_IN_STEP_TYPES; }
|
|
981
1040
|
});
|
|
982
1041
|
Object.defineProperty(exports, "CancelFlowMachine", {
|
|
983
1042
|
enumerable: true,
|
|
984
|
-
get: function () { return
|
|
1043
|
+
get: function () { return chunkER6YITYC_cjs.CancelFlowMachine; }
|
|
985
1044
|
});
|
|
986
1045
|
Object.defineProperty(exports, "ChurnkeyApi", {
|
|
987
1046
|
enumerable: true,
|
|
988
|
-
get: function () { return
|
|
1047
|
+
get: function () { return chunkER6YITYC_cjs.ChurnkeyApi; }
|
|
989
1048
|
});
|
|
990
1049
|
Object.defineProperty(exports, "appearanceToStyle", {
|
|
991
1050
|
enumerable: true,
|
|
992
|
-
get: function () { return
|
|
1051
|
+
get: function () { return chunkER6YITYC_cjs.appearanceToStyle; }
|
|
1052
|
+
});
|
|
1053
|
+
Object.defineProperty(exports, "buildMessages", {
|
|
1054
|
+
enumerable: true,
|
|
1055
|
+
get: function () { return chunkER6YITYC_cjs.buildMessages; }
|
|
993
1056
|
});
|
|
994
1057
|
Object.defineProperty(exports, "cn", {
|
|
995
1058
|
enumerable: true,
|
|
996
|
-
get: function () { return
|
|
1059
|
+
get: function () { return chunkER6YITYC_cjs.cn; }
|
|
997
1060
|
});
|
|
998
1061
|
Object.defineProperty(exports, "decodeSessionToken", {
|
|
999
1062
|
enumerable: true,
|
|
1000
|
-
get: function () { return
|
|
1063
|
+
get: function () { return chunkER6YITYC_cjs.decodeSessionToken; }
|
|
1064
|
+
});
|
|
1065
|
+
Object.defineProperty(exports, "defaultMessages", {
|
|
1066
|
+
enumerable: true,
|
|
1067
|
+
get: function () { return chunkER6YITYC_cjs.defaultMessages; }
|
|
1001
1068
|
});
|
|
1002
1069
|
Object.defineProperty(exports, "defaultTitles", {
|
|
1003
1070
|
enumerable: true,
|
|
1004
|
-
get: function () { return
|
|
1071
|
+
get: function () { return chunkER6YITYC_cjs.defaultTitles; }
|
|
1072
|
+
});
|
|
1073
|
+
Object.defineProperty(exports, "formatMessage", {
|
|
1074
|
+
enumerable: true,
|
|
1075
|
+
get: function () { return chunkER6YITYC_cjs.formatMessage; }
|
|
1076
|
+
});
|
|
1077
|
+
Object.defineProperty(exports, "selectTiming", {
|
|
1078
|
+
enumerable: true,
|
|
1079
|
+
get: function () { return chunkER6YITYC_cjs.selectTiming; }
|
|
1005
1080
|
});
|
|
1006
1081
|
exports.CancelFlow = CancelFlow;
|
|
1007
1082
|
exports.DefaultBackButton = DefaultBackButton;
|