@edx/frontend-app-subscription-manage 1.3.2 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/dist/app.js +2 -2
  2. package/dist/app.js.map +1 -1
  3. package/dist/components/ActiveSubscription/ActiveSubscription.d.ts +7 -0
  4. package/dist/components/ActiveSubscription/ActiveSubscription.js +24 -0
  5. package/dist/components/ActiveSubscription/ActiveSubscription.js.map +1 -0
  6. package/dist/components/BecomeSubscriber/BecomeSubscriber.d.ts +7 -0
  7. package/dist/components/BecomeSubscriber/BecomeSubscriber.js +19 -0
  8. package/dist/components/BecomeSubscriber/BecomeSubscriber.js.map +1 -0
  9. package/dist/components/CancelConfirmation/CancelConfirmation.d.ts +12 -0
  10. package/dist/components/CancelConfirmation/CancelConfirmation.js +21 -0
  11. package/dist/components/CancelConfirmation/CancelConfirmation.js.map +1 -0
  12. package/dist/components/CancelSuccess/CancelSuccess.d.ts +7 -0
  13. package/dist/components/CancelSuccess/CancelSuccess.js +17 -0
  14. package/dist/components/CancelSuccess/CancelSuccess.js.map +1 -0
  15. package/dist/components/CanceledSubscription/CanceledSubscription.d.ts +13 -0
  16. package/dist/components/CanceledSubscription/CanceledSubscription.js +27 -0
  17. package/dist/components/CanceledSubscription/CanceledSubscription.js.map +1 -0
  18. package/dist/components/EnrolledCoursesList/EnrolledCoursesList.d.ts +8 -0
  19. package/dist/components/EnrolledCoursesList/EnrolledCoursesList.js +19 -0
  20. package/dist/components/EnrolledCoursesList/EnrolledCoursesList.js.map +1 -0
  21. package/dist/components/HelpFooter/HelpFooter.d.ts +3 -0
  22. package/dist/components/HelpFooter/HelpFooter.js +12 -0
  23. package/dist/components/HelpFooter/HelpFooter.js.map +1 -0
  24. package/dist/components/OrderHistoryHeader/OrderHistoryHeader.d.ts +3 -0
  25. package/dist/components/OrderHistoryHeader/OrderHistoryHeader.js +9 -0
  26. package/dist/components/OrderHistoryHeader/OrderHistoryHeader.js.map +1 -0
  27. package/dist/components/PaymentHistory/PaymentHistory.d.ts +10 -0
  28. package/dist/components/PaymentHistory/PaymentHistory.js +23 -0
  29. package/dist/components/PaymentHistory/PaymentHistory.js.map +1 -0
  30. package/dist/components/RenewSubscriptionModal/RenewSubscriptionModal.d.ts +17 -0
  31. package/dist/components/RenewSubscriptionModal/RenewSubscriptionModal.js +63 -0
  32. package/dist/components/RenewSubscriptionModal/RenewSubscriptionModal.js.map +1 -0
  33. package/dist/components/ResubscribeCard/ResubscribeCard.d.ts +9 -0
  34. package/dist/components/ResubscribeCard/ResubscribeCard.js +25 -0
  35. package/dist/components/ResubscribeCard/ResubscribeCard.js.map +1 -0
  36. package/dist/components/SubscriptionTabs/SubscriptionTabs.d.ts +8 -0
  37. package/dist/components/SubscriptionTabs/SubscriptionTabs.js +9 -0
  38. package/dist/components/SubscriptionTabs/SubscriptionTabs.js.map +1 -0
  39. package/dist/components/UpdatePaymentMethodModal/UpdatePaymentMethodModal.d.ts +9 -0
  40. package/dist/components/UpdatePaymentMethodModal/UpdatePaymentMethodModal.js +135 -0
  41. package/dist/components/UpdatePaymentMethodModal/UpdatePaymentMethodModal.js.map +1 -0
  42. package/dist/components/messages.d.ts +473 -0
  43. package/dist/components/messages.js +482 -0
  44. package/dist/components/messages.js.map +1 -0
  45. package/dist/constants.d.ts +14 -56
  46. package/dist/constants.js +23 -272
  47. package/dist/constants.js.map +1 -1
  48. package/dist/data/hooks/keys.d.ts +8 -13
  49. package/dist/data/hooks/keys.js +8 -13
  50. package/dist/data/hooks/keys.js.map +1 -1
  51. package/dist/data/hooks/useManageQueries.d.ts +37 -0
  52. package/dist/data/hooks/useManageQueries.js +206 -0
  53. package/dist/data/hooks/useManageQueries.js.map +1 -0
  54. package/dist/data/services/subs/urls.d.ts +2 -2
  55. package/dist/data/services/subs/urls.js.map +1 -1
  56. package/dist/data/services/subscription/cancelSubscription.d.ts +6 -0
  57. package/dist/data/services/subscription/cancelSubscription.js +31 -0
  58. package/dist/data/services/subscription/cancelSubscription.js.map +1 -0
  59. package/dist/data/services/subscription/getBillingPlans.d.ts +3 -0
  60. package/dist/{utils/fetchBillingPlans.js → data/services/subscription/getBillingPlans.js} +10 -21
  61. package/dist/data/services/subscription/getBillingPlans.js.map +1 -0
  62. package/dist/data/services/subscription/getIsCurrentUserSubscriber.d.ts +3 -0
  63. package/dist/data/services/subscription/getIsCurrentUserSubscriber.js +37 -0
  64. package/dist/data/services/subscription/getIsCurrentUserSubscriber.js.map +1 -0
  65. package/dist/data/services/subscription/getPaymentHistory.d.ts +6 -0
  66. package/dist/data/services/subscription/getPaymentHistory.js +65 -0
  67. package/dist/data/services/subscription/getPaymentHistory.js.map +1 -0
  68. package/dist/data/services/subscription/getSubscriptionEnrollments.d.ts +7 -0
  69. package/dist/data/services/subscription/getSubscriptionEnrollments.js +88 -0
  70. package/dist/data/services/subscription/getSubscriptionEnrollments.js.map +1 -0
  71. package/dist/data/services/subscription/getSubscriptionPaymentMethod.d.ts +8 -0
  72. package/dist/data/services/subscription/getSubscriptionPaymentMethod.js +42 -0
  73. package/dist/data/services/subscription/getSubscriptionPaymentMethod.js.map +1 -0
  74. package/dist/data/services/subscription/reactivateSubscription.d.ts +6 -0
  75. package/dist/data/services/subscription/reactivateSubscription.js +30 -0
  76. package/dist/data/services/subscription/reactivateSubscription.js.map +1 -0
  77. package/dist/data/services/subscription/updateSubscriptionPaymentMethod.d.ts +10 -0
  78. package/dist/data/services/subscription/updateSubscriptionPaymentMethod.js +31 -0
  79. package/dist/data/services/subscription/updateSubscriptionPaymentMethod.js.map +1 -0
  80. package/dist/icons/ExternalLinkIcon.d.ts +6 -0
  81. package/dist/icons/ExternalLinkIcon.js +18 -0
  82. package/dist/icons/ExternalLinkIcon.js.map +1 -0
  83. package/dist/icons/index.d.ts +1 -0
  84. package/dist/icons/index.js +2 -0
  85. package/dist/icons/index.js.map +1 -0
  86. package/dist/manageSubscriptionPage/CancelSubscriptionPage.d.ts +3 -0
  87. package/dist/manageSubscriptionPage/CancelSubscriptionPage.js +53 -0
  88. package/dist/manageSubscriptionPage/CancelSubscriptionPage.js.map +1 -0
  89. package/dist/manageSubscriptionPage/CancelSuccessPage.d.ts +3 -0
  90. package/dist/manageSubscriptionPage/CancelSuccessPage.js +24 -0
  91. package/dist/manageSubscriptionPage/CancelSuccessPage.js.map +1 -0
  92. package/dist/manageSubscriptionPage/ManageSubscriptionPage.d.ts +3 -0
  93. package/dist/manageSubscriptionPage/ManageSubscriptionPage.js +87 -0
  94. package/dist/manageSubscriptionPage/ManageSubscriptionPage.js.map +1 -0
  95. package/dist/messages.js +2 -2
  96. package/dist/messages.js.map +1 -1
  97. package/dist/routes.d.ts +9 -2
  98. package/dist/routes.js +26 -6
  99. package/dist/routes.js.map +1 -1
  100. package/dist/style.scss +1 -14
  101. package/dist/styles/components/manageSubscription.scss +454 -0
  102. package/dist/types.d.ts +61 -201
  103. package/dist/types.js +3 -0
  104. package/dist/types.js.map +1 -1
  105. package/dist/utils/billingDetails.d.ts +3 -20
  106. package/dist/utils/billingDetails.js +4 -25
  107. package/dist/utils/billingDetails.js.map +1 -1
  108. package/dist/utils/edxSession.d.ts +18 -0
  109. package/dist/utils/edxSession.js +72 -0
  110. package/dist/utils/edxSession.js.map +1 -0
  111. package/dist/utils/formatDate.d.ts +16 -0
  112. package/dist/utils/formatDate.js +69 -0
  113. package/dist/utils/formatDate.js.map +1 -0
  114. package/dist/utils/graphqlClient.d.ts +9 -10
  115. package/dist/utils/graphqlClient.js +22 -11
  116. package/dist/utils/graphqlClient.js.map +1 -1
  117. package/dist/utils/invoiceAmount.d.ts +22 -0
  118. package/dist/utils/invoiceAmount.js +59 -0
  119. package/dist/utils/invoiceAmount.js.map +1 -0
  120. package/dist/utils/queries.d.ts +38 -33
  121. package/dist/utils/queries.js +85 -123
  122. package/dist/utils/queries.js.map +1 -1
  123. package/dist/utils/subscriptionView.d.ts +15 -0
  124. package/dist/utils/subscriptionView.js +50 -0
  125. package/dist/utils/subscriptionView.js.map +1 -0
  126. package/dist/utils/urls.d.ts +20 -0
  127. package/dist/utils/urls.js +76 -0
  128. package/dist/utils/urls.js.map +1 -0
  129. package/package.json +7 -2
  130. package/dist/checkoutPage/CheckoutPage.d.ts +0 -3
  131. package/dist/checkoutPage/CheckoutPage.js +0 -30
  132. package/dist/checkoutPage/CheckoutPage.js.map +0 -1
  133. package/dist/components/BrandMarks/BrandMarks.d.ts +0 -3
  134. package/dist/components/BrandMarks/BrandMarks.js +0 -9
  135. package/dist/components/BrandMarks/BrandMarks.js.map +0 -1
  136. package/dist/components/CartSummary/CartSummary.d.ts +0 -21
  137. package/dist/components/CartSummary/CartSummary.js +0 -30
  138. package/dist/components/CartSummary/CartSummary.js.map +0 -1
  139. package/dist/components/CartSummary/Messages.d.ts +0 -73
  140. package/dist/components/CartSummary/Messages.js +0 -76
  141. package/dist/components/CartSummary/Messages.js.map +0 -1
  142. package/dist/components/Checkout/Checkout.d.ts +0 -4
  143. package/dist/components/Checkout/Checkout.js +0 -40
  144. package/dist/components/Checkout/Checkout.js.map +0 -1
  145. package/dist/components/CheckoutGate/CheckoutGate.d.ts +0 -7
  146. package/dist/components/CheckoutGate/CheckoutGate.js +0 -35
  147. package/dist/components/CheckoutGate/CheckoutGate.js.map +0 -1
  148. package/dist/components/CourseEnrollmentCard/CourseEnrollmentCard.d.ts +0 -9
  149. package/dist/components/CourseEnrollmentCard/CourseEnrollmentCard.js +0 -31
  150. package/dist/components/CourseEnrollmentCard/CourseEnrollmentCard.js.map +0 -1
  151. package/dist/components/CourseEnrollmentCard/Messages.d.ts +0 -33
  152. package/dist/components/CourseEnrollmentCard/Messages.js +0 -35
  153. package/dist/components/CourseEnrollmentCard/Messages.js.map +0 -1
  154. package/dist/components/EdxUnlimitedBanner/EdxUnlimitedBanner.d.ts +0 -13
  155. package/dist/components/EdxUnlimitedBanner/EdxUnlimitedBanner.js +0 -11
  156. package/dist/components/EdxUnlimitedBanner/EdxUnlimitedBanner.js.map +0 -1
  157. package/dist/components/EnrollmentSummary/EnrollmentSummary.d.ts +0 -15
  158. package/dist/components/EnrollmentSummary/EnrollmentSummary.js +0 -21
  159. package/dist/components/EnrollmentSummary/EnrollmentSummary.js.map +0 -1
  160. package/dist/components/EnrollmentSummary/Messages.d.ts +0 -33
  161. package/dist/components/EnrollmentSummary/Messages.js +0 -35
  162. package/dist/components/EnrollmentSummary/Messages.js.map +0 -1
  163. package/dist/components/PaymentFields/PaymentFields.d.ts +0 -9
  164. package/dist/components/PaymentFields/PaymentFields.js +0 -7
  165. package/dist/components/PaymentFields/PaymentFields.js.map +0 -1
  166. package/dist/components/PaymentForm/Messages.d.ts +0 -88
  167. package/dist/components/PaymentForm/Messages.js +0 -95
  168. package/dist/components/PaymentForm/Messages.js.map +0 -1
  169. package/dist/components/PaymentForm/PaymentForm.d.ts +0 -21
  170. package/dist/components/PaymentForm/PaymentForm.js +0 -69
  171. package/dist/components/PaymentForm/PaymentForm.js.map +0 -1
  172. package/dist/components/StatusScreens/Messages.d.ts +0 -103
  173. package/dist/components/StatusScreens/Messages.js +0 -108
  174. package/dist/components/StatusScreens/Messages.js.map +0 -1
  175. package/dist/components/StatusScreens/StatusScreens.d.ts +0 -23
  176. package/dist/components/StatusScreens/StatusScreens.js +0 -25
  177. package/dist/components/StatusScreens/StatusScreens.js.map +0 -1
  178. package/dist/data/hooks/useCheckout.d.ts +0 -57
  179. package/dist/data/hooks/useCheckout.js +0 -249
  180. package/dist/data/hooks/useCheckout.js.map +0 -1
  181. package/dist/data/hooks/useCheckoutGate.d.ts +0 -15
  182. package/dist/data/hooks/useCheckoutGate.js +0 -39
  183. package/dist/data/hooks/useCheckoutGate.js.map +0 -1
  184. package/dist/data/hooks/useCheckoutMutations.d.ts +0 -16
  185. package/dist/data/hooks/useCheckoutMutations.js +0 -131
  186. package/dist/data/hooks/useCheckoutMutations.js.map +0 -1
  187. package/dist/data/hooks/useCheckoutQueries.d.ts +0 -30
  188. package/dist/data/hooks/useCheckoutQueries.js +0 -97
  189. package/dist/data/hooks/useCheckoutQueries.js.map +0 -1
  190. package/dist/styles/components/brandMarks.scss +0 -54
  191. package/dist/styles/components/cartSummary.scss +0 -18
  192. package/dist/styles/components/checkout.scss +0 -29
  193. package/dist/styles/components/checkoutStepper.scss +0 -9
  194. package/dist/styles/components/courseEnrollmentCard.scss +0 -38
  195. package/dist/styles/components/edxUnlimitedBanner.scss +0 -138
  196. package/dist/styles/components/enrollmentSummary.scss +0 -13
  197. package/dist/styles/components/paymentFields.scss +0 -15
  198. package/dist/styles/components/paymentForm.scss +0 -105
  199. package/dist/styles/components/statusScreens.scss +0 -29
  200. package/dist/styles/components/successScreen.scss +0 -0
  201. package/dist/utils/auth.d.ts +0 -7
  202. package/dist/utils/auth.js +0 -28
  203. package/dist/utils/auth.js.map +0 -1
  204. package/dist/utils/bootstrapApi.d.ts +0 -20
  205. package/dist/utils/bootstrapApi.js +0 -142
  206. package/dist/utils/bootstrapApi.js.map +0 -1
  207. package/dist/utils/cartApi.d.ts +0 -16
  208. package/dist/utils/cartApi.js +0 -118
  209. package/dist/utils/cartApi.js.map +0 -1
  210. package/dist/utils/checkout.d.ts +0 -6
  211. package/dist/utils/checkout.js +0 -28
  212. package/dist/utils/checkout.js.map +0 -1
  213. package/dist/utils/fetchActiveSubscriptions.d.ts +0 -4
  214. package/dist/utils/fetchActiveSubscriptions.js +0 -36
  215. package/dist/utils/fetchActiveSubscriptions.js.map +0 -1
  216. package/dist/utils/fetchBillingPlans.d.ts +0 -2
  217. package/dist/utils/fetchBillingPlans.js.map +0 -1
  218. package/dist/utils/index.d.ts +0 -3
  219. package/dist/utils/index.js +0 -17
  220. package/dist/utils/index.js.map +0 -1
  221. package/dist/utils/provision.d.ts +0 -25
  222. package/dist/utils/provision.js +0 -95
  223. package/dist/utils/provision.js.map +0 -1
  224. package/dist/utils/stripe.d.ts +0 -7
  225. package/dist/utils/stripe.js +0 -43
  226. package/dist/utils/stripe.js.map +0 -1
@@ -0,0 +1,482 @@
1
+ import { defineMessages } from '@openedx/frontend-base';
2
+ const messages = defineMessages({
3
+ 'manage.page.title': {
4
+ id: 'manage.page.title',
5
+ defaultMessage: 'Order History | {siteName}',
6
+ description: 'Document title for the manage subscription page',
7
+ },
8
+ 'manage.loading': {
9
+ id: 'manage.loading',
10
+ defaultMessage: 'Loading subscription…',
11
+ description: 'Loading state for the manage subscription page',
12
+ },
13
+ 'manage.error': {
14
+ id: 'manage.error',
15
+ defaultMessage: 'We could not load your subscription. Please try again later.',
16
+ description: 'Error alert when subscription fetch fails',
17
+ },
18
+ 'manage.header.title': {
19
+ id: 'manage.header.title',
20
+ defaultMessage: 'Order History',
21
+ description: 'Page heading for order history / manage subscription',
22
+ },
23
+ 'manage.header.subtitle': {
24
+ id: 'manage.header.subtitle',
25
+ defaultMessage: 'View previous purchases and manage your subscription.',
26
+ description: 'Page subtitle under Order History',
27
+ },
28
+ 'manage.tab.subscription': {
29
+ id: 'manage.tab.subscription',
30
+ defaultMessage: 'Subscription',
31
+ description: 'Subscription tab label',
32
+ },
33
+ 'manage.tab.paymentHistory': {
34
+ id: 'manage.tab.paymentHistory',
35
+ defaultMessage: 'Payment history',
36
+ description: 'Payment history tab label',
37
+ },
38
+ 'manage.paymentHistory.heading': {
39
+ id: 'manage.paymentHistory.heading',
40
+ defaultMessage: 'Payment history',
41
+ description: 'Heading for the payment history panel',
42
+ },
43
+ 'manage.paymentHistory.nextPayment': {
44
+ id: 'manage.paymentHistory.nextPayment',
45
+ defaultMessage: 'Next payment scheduled for {date}.',
46
+ description: 'Next payment line above the invoice list',
47
+ },
48
+ 'manage.paymentHistory.empty': {
49
+ id: 'manage.paymentHistory.empty',
50
+ defaultMessage: 'No payments yet.',
51
+ description: 'Empty state when the learner has no invoices',
52
+ },
53
+ 'manage.paymentHistory.error': {
54
+ id: 'manage.paymentHistory.error',
55
+ defaultMessage: 'We could not load your payment history. Please try again later.',
56
+ description: 'Error alert when invoice fetch fails',
57
+ },
58
+ 'manage.paymentHistory.noSubscription': {
59
+ id: 'manage.paymentHistory.noSubscription',
60
+ defaultMessage: 'Payment history is available after you subscribe.',
61
+ description: 'Shown when there is no subscriptionBiId to query invoices',
62
+ },
63
+ 'manage.paymentHistory.tileTitle': {
64
+ id: 'manage.paymentHistory.tileTitle',
65
+ defaultMessage: 'edX Plus Subscription',
66
+ description: 'Title on each payment history invoice tile',
67
+ },
68
+ 'manage.paymentHistory.startOfService': {
69
+ id: 'manage.paymentHistory.startOfService',
70
+ defaultMessage: 'Start of service:',
71
+ description: 'Label for invoice period start on payment history tile',
72
+ },
73
+ 'manage.paymentHistory.totalCost': {
74
+ id: 'manage.paymentHistory.totalCost',
75
+ defaultMessage: 'Total cost:',
76
+ description: 'Label for invoice total on payment history tile',
77
+ },
78
+ 'manage.paymentHistory.orderNumber': {
79
+ id: 'manage.paymentHistory.orderNumber',
80
+ defaultMessage: 'Order number:',
81
+ description: 'Label for order number on payment history tile',
82
+ },
83
+ 'manage.paymentHistory.desc.trial': {
84
+ id: 'manage.paymentHistory.desc.trial',
85
+ defaultMessage: 'edX Plus Subscription — free trial',
86
+ description: 'Description for a $0 trial invoice',
87
+ },
88
+ 'manage.paymentHistory.desc.paid': {
89
+ id: 'manage.paymentHistory.desc.paid',
90
+ defaultMessage: 'edX Plus Subscription',
91
+ description: 'Description for a paid subscription invoice',
92
+ },
93
+ 'manage.paymentHistory.status.paid': {
94
+ id: 'manage.paymentHistory.status.paid',
95
+ defaultMessage: 'Paid',
96
+ description: 'Invoice status label: PAID',
97
+ },
98
+ 'manage.paymentHistory.status.open': {
99
+ id: 'manage.paymentHistory.status.open',
100
+ defaultMessage: 'Open',
101
+ description: 'Invoice status label: OPEN',
102
+ },
103
+ 'manage.paymentHistory.status.draft': {
104
+ id: 'manage.paymentHistory.status.draft',
105
+ defaultMessage: 'Draft',
106
+ description: 'Invoice status label: DRAFT',
107
+ },
108
+ 'manage.help.prefix': {
109
+ id: 'manage.help.prefix',
110
+ defaultMessage: 'Need more help? Visit the',
111
+ description: 'Prefix before Learner Help Center link',
112
+ },
113
+ 'manage.help.link': {
114
+ id: 'manage.help.link',
115
+ defaultMessage: 'Learner Help Center',
116
+ description: 'Learner Help Center link text',
117
+ },
118
+ // Become a subscriber
119
+ 'manage.none.heading': {
120
+ id: 'manage.none.heading',
121
+ defaultMessage: 'Become a subscriber',
122
+ description: 'Section heading when user has no subscription',
123
+ },
124
+ 'manage.none.subheading': {
125
+ id: 'manage.none.subheading',
126
+ defaultMessage: 'You will manage your subscription here.',
127
+ description: 'Section subheading when user has no subscription',
128
+ },
129
+ 'manage.none.cardTitle': {
130
+ id: 'manage.none.cardTitle',
131
+ defaultMessage: 'Try edX Subscription for free',
132
+ description: 'Upsell card title for non-subscribers',
133
+ },
134
+ 'manage.none.cardBody': {
135
+ id: 'manage.none.cardBody',
136
+ defaultMessage: 'Get access to hundreds of courses for ${price}/month {currency}',
137
+ description: 'Upsell card body including monthly price',
138
+ },
139
+ 'manage.none.cardBodyNoPrice': {
140
+ id: 'manage.none.cardBodyNoPrice',
141
+ defaultMessage: 'Get access to hundreds of courses with edX subscription',
142
+ description: 'Upsell card body when price is unavailable',
143
+ },
144
+ 'manage.none.subscribe': {
145
+ id: 'manage.none.subscribe',
146
+ defaultMessage: 'Subscribe',
147
+ description: 'Primary subscribe CTA',
148
+ },
149
+ 'manage.none.learnMore': {
150
+ id: 'manage.none.learnMore',
151
+ defaultMessage: 'Learn about edX Subscription',
152
+ description: 'Secondary learn-more link on upsell card',
153
+ },
154
+ // Active
155
+ 'manage.active.heading': {
156
+ id: 'manage.active.heading',
157
+ defaultMessage: 'Manage your subscription',
158
+ description: 'Section heading for active subscribers',
159
+ },
160
+ 'manage.active.since': {
161
+ id: 'manage.active.since',
162
+ defaultMessage: 'Subscriber since {date}.',
163
+ description: 'Subscriber since date line',
164
+ },
165
+ 'manage.active.statusMonthly': {
166
+ id: 'manage.active.statusMonthly',
167
+ defaultMessage: 'Active, Monthly Plan',
168
+ description: 'Active monthly plan status label',
169
+ },
170
+ 'manage.active.statusAnnual': {
171
+ id: 'manage.active.statusAnnual',
172
+ defaultMessage: 'Active, Annual Plan',
173
+ description: 'Active annual plan status label',
174
+ },
175
+ 'manage.active.nextPayment': {
176
+ id: 'manage.active.nextPayment',
177
+ defaultMessage: 'Your next payment is {date}.',
178
+ description: 'Next payment date line for active subscribers',
179
+ },
180
+ 'manage.active.changeAnnual': {
181
+ id: 'manage.active.changeAnnual',
182
+ defaultMessage: 'Change to annual and save',
183
+ description: 'CTA to switch to annual billing',
184
+ },
185
+ 'manage.active.updatePayment': {
186
+ id: 'manage.active.updatePayment',
187
+ defaultMessage: 'Update payment method',
188
+ description: 'CTA to update payment method',
189
+ },
190
+ 'manage.updatePayment.title': {
191
+ id: 'manage.updatePayment.title',
192
+ defaultMessage: 'Update payment method.',
193
+ description: 'Update payment method modal title',
194
+ },
195
+ 'manage.updatePayment.intro': {
196
+ id: 'manage.updatePayment.intro',
197
+ defaultMessage: 'By providing your card information, you allow edX to charge your card for future payments.',
198
+ description: 'Update payment method modal intro copy',
199
+ },
200
+ 'manage.updatePayment.sectionTitle': {
201
+ id: 'manage.updatePayment.sectionTitle',
202
+ defaultMessage: 'Add new payment method',
203
+ description: 'Heading above Stripe card fields',
204
+ },
205
+ 'manage.updatePayment.cardNumber': {
206
+ id: 'manage.updatePayment.cardNumber',
207
+ defaultMessage: 'Card number',
208
+ description: 'Label for Stripe card number field',
209
+ },
210
+ 'manage.updatePayment.cvc': {
211
+ id: 'manage.updatePayment.cvc',
212
+ defaultMessage: 'Security code',
213
+ description: 'Label for Stripe CVC field',
214
+ },
215
+ 'manage.updatePayment.expiry': {
216
+ id: 'manage.updatePayment.expiry',
217
+ defaultMessage: 'Expiration date',
218
+ description: 'Label for Stripe expiry field',
219
+ },
220
+ 'manage.updatePayment.postal': {
221
+ id: 'manage.updatePayment.postal',
222
+ defaultMessage: 'Zip/Postal code',
223
+ description: 'Label for postal code field',
224
+ },
225
+ 'manage.updatePayment.submit': {
226
+ id: 'manage.updatePayment.submit',
227
+ defaultMessage: 'Update card',
228
+ description: 'Primary CTA to submit new payment method',
229
+ },
230
+ 'manage.updatePayment.submitting': {
231
+ id: 'manage.updatePayment.submitting',
232
+ defaultMessage: 'Updating…',
233
+ description: 'Submit button label while update is in progress',
234
+ },
235
+ 'manage.updatePayment.close': {
236
+ id: 'manage.updatePayment.close',
237
+ defaultMessage: 'Close',
238
+ description: 'Close button on update payment method modal',
239
+ },
240
+ 'manage.updatePayment.successTitle': {
241
+ id: 'manage.updatePayment.successTitle',
242
+ defaultMessage: 'Payment method updated.',
243
+ description: 'Success modal title after payment method update',
244
+ },
245
+ 'manage.updatePayment.successBody': {
246
+ id: 'manage.updatePayment.successBody',
247
+ defaultMessage: 'Your new payment method will be applied on your next billing date, {date}.',
248
+ description: 'Success modal body with next billing date',
249
+ },
250
+ 'manage.updatePayment.successBodyNoDate': {
251
+ id: 'manage.updatePayment.successBodyNoDate',
252
+ defaultMessage: 'Your new payment method will be applied on your next billing date.',
253
+ description: 'Success modal body when next billing date is unknown',
254
+ },
255
+ 'manage.updatePayment.postalRequired': {
256
+ id: 'manage.updatePayment.postalRequired',
257
+ defaultMessage: 'Enter a zip/postal code.',
258
+ description: 'Validation error when postal code is empty',
259
+ },
260
+ 'manage.updatePayment.error': {
261
+ id: 'manage.updatePayment.error',
262
+ defaultMessage: 'We could not update your payment method. Please try again.',
263
+ description: 'Generic error when payment method update fails',
264
+ },
265
+ 'manage.updatePayment.stripeMissing': {
266
+ id: 'manage.updatePayment.stripeMissing',
267
+ defaultMessage: 'Payment updates are temporarily unavailable. Please try again later.',
268
+ description: 'Shown when Stripe publishable key is not configured',
269
+ },
270
+ 'manage.active.cancelPrompt': {
271
+ id: 'manage.active.cancelPrompt',
272
+ defaultMessage: 'Need a break?',
273
+ description: 'Prompt before cancel subscription link',
274
+ },
275
+ 'manage.active.cancelLink': {
276
+ id: 'manage.active.cancelLink',
277
+ defaultMessage: 'Cancel subscription',
278
+ description: 'Cancel subscription link text',
279
+ },
280
+ // Canceled with access / renew banner
281
+ 'manage.canceled.bannerTitle': {
282
+ id: 'manage.canceled.bannerTitle',
283
+ defaultMessage: 'Renew your subscription before it expires.',
284
+ description: 'Expiring subscription banner title',
285
+ },
286
+ 'manage.canceled.bannerBody': {
287
+ id: 'manage.canceled.bannerBody',
288
+ defaultMessage: 'Your subscription is set to expire on {date} and you will have limited access to edX. Renew your subscription to keep your learning flexible.',
289
+ description: 'Expiring subscription banner body',
290
+ },
291
+ 'manage.canceled.statusMonthly': {
292
+ id: 'manage.canceled.statusMonthly',
293
+ defaultMessage: 'Cancelled, Monthly plan',
294
+ description: 'Cancelled monthly plan status label',
295
+ },
296
+ 'manage.canceled.statusAnnual': {
297
+ id: 'manage.canceled.statusAnnual',
298
+ defaultMessage: 'Cancelled, Annual plan',
299
+ description: 'Cancelled annual plan status label',
300
+ },
301
+ 'manage.canceled.noPayments': {
302
+ id: 'manage.canceled.noPayments',
303
+ defaultMessage: 'You have no upcoming payments. You cancelled your subscription on {date}.',
304
+ description: 'Cancelled status card body with cancel date',
305
+ },
306
+ 'manage.canceled.noPaymentsNoDate': {
307
+ id: 'manage.canceled.noPaymentsNoDate',
308
+ defaultMessage: 'You have no upcoming payments. You cancelled your subscription.',
309
+ description: 'Cancelled status card body without cancel date',
310
+ },
311
+ 'manage.canceled.renew': {
312
+ id: 'manage.canceled.renew',
313
+ defaultMessage: 'Renew subscription',
314
+ description: 'Renew subscription CTA',
315
+ },
316
+ 'manage.canceled.renewing': {
317
+ id: 'manage.canceled.renewing',
318
+ defaultMessage: 'Renewing…',
319
+ description: 'Renew button label while reactivation mutation is in progress',
320
+ },
321
+ 'manage.canceled.renewError': {
322
+ id: 'manage.canceled.renewError',
323
+ defaultMessage: 'We could not renew your subscription. Please try again.',
324
+ description: 'Error when reactivate mutation fails',
325
+ },
326
+ // Renew confirmation modal
327
+ 'manage.renewModal.title': {
328
+ id: 'manage.renewModal.title',
329
+ defaultMessage: 'Renew your edX Plus subscription for ${price}/{frequency}',
330
+ description: 'Renew modal title with price',
331
+ },
332
+ 'manage.renewModal.titleNoPrice': {
333
+ id: 'manage.renewModal.titleNoPrice',
334
+ defaultMessage: 'Renew your edX Plus subscription',
335
+ description: 'Renew modal title when price is unavailable',
336
+ },
337
+ 'manage.renewModal.body': {
338
+ id: 'manage.renewModal.body',
339
+ defaultMessage: 'Your subscription will renew on {date} for ${price}/{frequency} {currency} (inclusive of applicable taxes). Cancel your subscription anytime from your dashboard. By clicking “Confirm subscription” you agree to our {termsLink}, and {refundLink}.',
340
+ description: 'Renew modal body with terms links',
341
+ },
342
+ 'manage.renewModal.termsOfUse': {
343
+ id: 'manage.renewModal.termsOfUse',
344
+ defaultMessage: 'Terms of Use',
345
+ description: 'Terms of Use link text in renew modal',
346
+ },
347
+ 'manage.renewModal.refundPolicy': {
348
+ id: 'manage.renewModal.refundPolicy',
349
+ defaultMessage: 'Refund Policy',
350
+ description: 'Refund Policy link text in renew modal',
351
+ },
352
+ 'manage.renewModal.paymentMethod': {
353
+ id: 'manage.renewModal.paymentMethod',
354
+ defaultMessage: 'Payment Method',
355
+ description: 'Payment method section heading in renew modal',
356
+ },
357
+ 'manage.renewModal.card': {
358
+ id: 'manage.renewModal.card',
359
+ defaultMessage: 'Card',
360
+ description: 'Card payment method label in renew modal',
361
+ },
362
+ 'manage.renewModal.updatePayment': {
363
+ id: 'manage.renewModal.updatePayment',
364
+ defaultMessage: 'Update payment method',
365
+ description: 'Update payment method button in renew modal',
366
+ },
367
+ 'manage.renewModal.recurringConfirm': {
368
+ id: 'manage.renewModal.recurringConfirm',
369
+ defaultMessage: 'I agree to enroll in a recurring {cycle} subscription for ${price}/{frequency} {currency}.',
370
+ description: 'Recurring subscription consent checkbox',
371
+ },
372
+ 'manage.renewModal.ukCaConfirm': {
373
+ id: 'manage.renewModal.ukCaConfirm',
374
+ defaultMessage: 'Second checkbox only for UK and CA residents',
375
+ description: 'Extra consent checkbox for UK and CA residents',
376
+ },
377
+ 'manage.renewModal.confirm': {
378
+ id: 'manage.renewModal.confirm',
379
+ defaultMessage: 'Confirm subscription',
380
+ description: 'Confirm renew / reactivate button',
381
+ },
382
+ // Canceled expired / resubscribe
383
+ 'manage.expired.heading': {
384
+ id: 'manage.expired.heading',
385
+ defaultMessage: 'Pick up where you left off',
386
+ description: 'Section heading for expired / canceled without access (placeholder until final copy lands)',
387
+ },
388
+ 'manage.expired.subheading': {
389
+ id: 'manage.expired.subheading',
390
+ defaultMessage: 'You will manage your subscription here.',
391
+ description: 'Section subheading for expired subscription state',
392
+ },
393
+ 'manage.expired.resubscribeTitle': {
394
+ id: 'manage.expired.resubscribeTitle',
395
+ defaultMessage: 'Resubscribe for ${price}/month {currency}',
396
+ description: 'Resubscribe card title with price',
397
+ },
398
+ 'manage.expired.resubscribeTitleNoPrice': {
399
+ id: 'manage.expired.resubscribeTitleNoPrice',
400
+ defaultMessage: 'Resubscribe to edX Subscription',
401
+ description: 'Resubscribe card title when price is unavailable',
402
+ },
403
+ 'manage.expired.canceledOn': {
404
+ id: 'manage.expired.canceledOn',
405
+ defaultMessage: 'You cancelled your subscription on {date}.',
406
+ description: 'Resubscribe card cancelled-on line',
407
+ },
408
+ 'manage.expired.canceledOnNoDate': {
409
+ id: 'manage.expired.canceledOnNoDate',
410
+ defaultMessage: 'You cancelled your subscription.',
411
+ description: 'Resubscribe card when cancel date is unknown',
412
+ },
413
+ // Cancel confirmation
414
+ 'manage.cancel.title': {
415
+ id: 'manage.cancel.title',
416
+ defaultMessage: 'Are you sure you want to cancel?',
417
+ description: 'Cancel confirmation page title',
418
+ },
419
+ 'manage.cancel.body': {
420
+ id: 'manage.cancel.body',
421
+ defaultMessage: 'If you cancel, you will lose access to all graded course content when your subscription expires on {date}. Your course progress will be saved if you re-subscribe within the calendar year.',
422
+ description: 'Cancel confirmation body with period end date',
423
+ },
424
+ 'manage.cancel.bodyNoDate': {
425
+ id: 'manage.cancel.bodyNoDate',
426
+ defaultMessage: 'If you cancel, you will lose access to all graded course content when your subscription expires. Your course progress will be saved if you re-subscribe within the calendar year.',
427
+ description: 'Cancel confirmation body without period end date',
428
+ },
429
+ 'manage.cancel.coursesHeading': {
430
+ id: 'manage.cancel.coursesHeading',
431
+ defaultMessage: 'Courses you are enrolled in ({count})',
432
+ description: 'Heading for enrolled courses list on cancel confirmation',
433
+ },
434
+ 'manage.cancel.keep': {
435
+ id: 'manage.cancel.keep',
436
+ defaultMessage: 'No, keep my subscription',
437
+ description: 'Secondary button to abort cancellation',
438
+ },
439
+ 'manage.cancel.confirm': {
440
+ id: 'manage.cancel.confirm',
441
+ defaultMessage: 'Yes, cancel subscription',
442
+ description: 'Primary button to confirm cancellation',
443
+ },
444
+ 'manage.cancel.confirming': {
445
+ id: 'manage.cancel.confirming',
446
+ defaultMessage: 'Cancelling…',
447
+ description: 'Cancel button label while mutation is in progress',
448
+ },
449
+ 'manage.cancel.error': {
450
+ id: 'manage.cancel.error',
451
+ defaultMessage: 'We could not cancel your subscription. Please try again.',
452
+ description: 'Error when cancel mutation fails',
453
+ },
454
+ 'manage.cancel.viewCertificate': {
455
+ id: 'manage.cancel.viewCertificate',
456
+ defaultMessage: 'View certificate',
457
+ description: 'View certificate button on enrolled course row',
458
+ },
459
+ // Cancel success
460
+ 'manage.cancelSuccess.title': {
461
+ id: 'manage.cancelSuccess.title',
462
+ defaultMessage: 'Thank you for learning with us on edX. Your subscription is cancelled.',
463
+ description: 'Cancel success page title',
464
+ },
465
+ 'manage.cancelSuccess.body': {
466
+ id: 'manage.cancelSuccess.body',
467
+ defaultMessage: 'Your edX Plus subscription has been cancelled and you will no longer be charged after {date}. You will receive a confirmation email shortly.',
468
+ description: 'Cancel success body with last charge / access date',
469
+ },
470
+ 'manage.cancelSuccess.bodyNoDate': {
471
+ id: 'manage.cancelSuccess.bodyNoDate',
472
+ defaultMessage: 'Your edX Plus subscription has been cancelled and you will no longer be charged. You will receive a confirmation email shortly.',
473
+ description: 'Cancel success body without date',
474
+ },
475
+ 'manage.cancelSuccess.return': {
476
+ id: 'manage.cancelSuccess.return',
477
+ defaultMessage: 'Return to Dashboard',
478
+ description: 'Return to dashboard CTA after cancel success',
479
+ },
480
+ });
481
+ export default messages;
482
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/components/messages.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineMessages } from '@openedx/frontend-base';\n\nconst messages = defineMessages({\n 'manage.page.title': {\n id: 'manage.page.title',\n defaultMessage: 'Order History | {siteName}',\n description: 'Document title for the manage subscription page',\n },\n 'manage.loading': {\n id: 'manage.loading',\n defaultMessage: 'Loading subscription…',\n description: 'Loading state for the manage subscription page',\n },\n 'manage.error': {\n id: 'manage.error',\n defaultMessage: 'We could not load your subscription. Please try again later.',\n description: 'Error alert when subscription fetch fails',\n },\n 'manage.header.title': {\n id: 'manage.header.title',\n defaultMessage: 'Order History',\n description: 'Page heading for order history / manage subscription',\n },\n 'manage.header.subtitle': {\n id: 'manage.header.subtitle',\n defaultMessage: 'View previous purchases and manage your subscription.',\n description: 'Page subtitle under Order History',\n },\n 'manage.tab.subscription': {\n id: 'manage.tab.subscription',\n defaultMessage: 'Subscription',\n description: 'Subscription tab label',\n },\n 'manage.tab.paymentHistory': {\n id: 'manage.tab.paymentHistory',\n defaultMessage: 'Payment history',\n description: 'Payment history tab label',\n },\n 'manage.paymentHistory.heading': {\n id: 'manage.paymentHistory.heading',\n defaultMessage: 'Payment history',\n description: 'Heading for the payment history panel',\n },\n 'manage.paymentHistory.nextPayment': {\n id: 'manage.paymentHistory.nextPayment',\n defaultMessage: 'Next payment scheduled for {date}.',\n description: 'Next payment line above the invoice list',\n },\n 'manage.paymentHistory.empty': {\n id: 'manage.paymentHistory.empty',\n defaultMessage: 'No payments yet.',\n description: 'Empty state when the learner has no invoices',\n },\n 'manage.paymentHistory.error': {\n id: 'manage.paymentHistory.error',\n defaultMessage: 'We could not load your payment history. Please try again later.',\n description: 'Error alert when invoice fetch fails',\n },\n 'manage.paymentHistory.noSubscription': {\n id: 'manage.paymentHistory.noSubscription',\n defaultMessage: 'Payment history is available after you subscribe.',\n description: 'Shown when there is no subscriptionBiId to query invoices',\n },\n 'manage.paymentHistory.tileTitle': {\n id: 'manage.paymentHistory.tileTitle',\n defaultMessage: 'edX Plus Subscription',\n description: 'Title on each payment history invoice tile',\n },\n 'manage.paymentHistory.startOfService': {\n id: 'manage.paymentHistory.startOfService',\n defaultMessage: 'Start of service:',\n description: 'Label for invoice period start on payment history tile',\n },\n 'manage.paymentHistory.totalCost': {\n id: 'manage.paymentHistory.totalCost',\n defaultMessage: 'Total cost:',\n description: 'Label for invoice total on payment history tile',\n },\n 'manage.paymentHistory.orderNumber': {\n id: 'manage.paymentHistory.orderNumber',\n defaultMessage: 'Order number:',\n description: 'Label for order number on payment history tile',\n },\n 'manage.paymentHistory.desc.trial': {\n id: 'manage.paymentHistory.desc.trial',\n defaultMessage: 'edX Plus Subscription — free trial',\n description: 'Description for a $0 trial invoice',\n },\n 'manage.paymentHistory.desc.paid': {\n id: 'manage.paymentHistory.desc.paid',\n defaultMessage: 'edX Plus Subscription',\n description: 'Description for a paid subscription invoice',\n },\n 'manage.paymentHistory.status.paid': {\n id: 'manage.paymentHistory.status.paid',\n defaultMessage: 'Paid',\n description: 'Invoice status label: PAID',\n },\n 'manage.paymentHistory.status.open': {\n id: 'manage.paymentHistory.status.open',\n defaultMessage: 'Open',\n description: 'Invoice status label: OPEN',\n },\n 'manage.paymentHistory.status.draft': {\n id: 'manage.paymentHistory.status.draft',\n defaultMessage: 'Draft',\n description: 'Invoice status label: DRAFT',\n },\n 'manage.help.prefix': {\n id: 'manage.help.prefix',\n defaultMessage: 'Need more help? Visit the',\n description: 'Prefix before Learner Help Center link',\n },\n 'manage.help.link': {\n id: 'manage.help.link',\n defaultMessage: 'Learner Help Center',\n description: 'Learner Help Center link text',\n },\n\n // Become a subscriber\n 'manage.none.heading': {\n id: 'manage.none.heading',\n defaultMessage: 'Become a subscriber',\n description: 'Section heading when user has no subscription',\n },\n 'manage.none.subheading': {\n id: 'manage.none.subheading',\n defaultMessage: 'You will manage your subscription here.',\n description: 'Section subheading when user has no subscription',\n },\n 'manage.none.cardTitle': {\n id: 'manage.none.cardTitle',\n defaultMessage: 'Try edX Subscription for free',\n description: 'Upsell card title for non-subscribers',\n },\n 'manage.none.cardBody': {\n id: 'manage.none.cardBody',\n defaultMessage: 'Get access to hundreds of courses for ${price}/month {currency}',\n description: 'Upsell card body including monthly price',\n },\n 'manage.none.cardBodyNoPrice': {\n id: 'manage.none.cardBodyNoPrice',\n defaultMessage: 'Get access to hundreds of courses with edX subscription',\n description: 'Upsell card body when price is unavailable',\n },\n 'manage.none.subscribe': {\n id: 'manage.none.subscribe',\n defaultMessage: 'Subscribe',\n description: 'Primary subscribe CTA',\n },\n 'manage.none.learnMore': {\n id: 'manage.none.learnMore',\n defaultMessage: 'Learn about edX Subscription',\n description: 'Secondary learn-more link on upsell card',\n },\n\n // Active\n 'manage.active.heading': {\n id: 'manage.active.heading',\n defaultMessage: 'Manage your subscription',\n description: 'Section heading for active subscribers',\n },\n 'manage.active.since': {\n id: 'manage.active.since',\n defaultMessage: 'Subscriber since {date}.',\n description: 'Subscriber since date line',\n },\n 'manage.active.statusMonthly': {\n id: 'manage.active.statusMonthly',\n defaultMessage: 'Active, Monthly Plan',\n description: 'Active monthly plan status label',\n },\n 'manage.active.statusAnnual': {\n id: 'manage.active.statusAnnual',\n defaultMessage: 'Active, Annual Plan',\n description: 'Active annual plan status label',\n },\n 'manage.active.nextPayment': {\n id: 'manage.active.nextPayment',\n defaultMessage: 'Your next payment is {date}.',\n description: 'Next payment date line for active subscribers',\n },\n 'manage.active.changeAnnual': {\n id: 'manage.active.changeAnnual',\n defaultMessage: 'Change to annual and save',\n description: 'CTA to switch to annual billing',\n },\n 'manage.active.updatePayment': {\n id: 'manage.active.updatePayment',\n defaultMessage: 'Update payment method',\n description: 'CTA to update payment method',\n },\n 'manage.updatePayment.title': {\n id: 'manage.updatePayment.title',\n defaultMessage: 'Update payment method.',\n description: 'Update payment method modal title',\n },\n 'manage.updatePayment.intro': {\n id: 'manage.updatePayment.intro',\n defaultMessage: 'By providing your card information, you allow edX to charge your card for future payments.',\n description: 'Update payment method modal intro copy',\n },\n 'manage.updatePayment.sectionTitle': {\n id: 'manage.updatePayment.sectionTitle',\n defaultMessage: 'Add new payment method',\n description: 'Heading above Stripe card fields',\n },\n 'manage.updatePayment.cardNumber': {\n id: 'manage.updatePayment.cardNumber',\n defaultMessage: 'Card number',\n description: 'Label for Stripe card number field',\n },\n 'manage.updatePayment.cvc': {\n id: 'manage.updatePayment.cvc',\n defaultMessage: 'Security code',\n description: 'Label for Stripe CVC field',\n },\n 'manage.updatePayment.expiry': {\n id: 'manage.updatePayment.expiry',\n defaultMessage: 'Expiration date',\n description: 'Label for Stripe expiry field',\n },\n 'manage.updatePayment.postal': {\n id: 'manage.updatePayment.postal',\n defaultMessage: 'Zip/Postal code',\n description: 'Label for postal code field',\n },\n 'manage.updatePayment.submit': {\n id: 'manage.updatePayment.submit',\n defaultMessage: 'Update card',\n description: 'Primary CTA to submit new payment method',\n },\n 'manage.updatePayment.submitting': {\n id: 'manage.updatePayment.submitting',\n defaultMessage: 'Updating…',\n description: 'Submit button label while update is in progress',\n },\n 'manage.updatePayment.close': {\n id: 'manage.updatePayment.close',\n defaultMessage: 'Close',\n description: 'Close button on update payment method modal',\n },\n 'manage.updatePayment.successTitle': {\n id: 'manage.updatePayment.successTitle',\n defaultMessage: 'Payment method updated.',\n description: 'Success modal title after payment method update',\n },\n 'manage.updatePayment.successBody': {\n id: 'manage.updatePayment.successBody',\n defaultMessage: 'Your new payment method will be applied on your next billing date, {date}.',\n description: 'Success modal body with next billing date',\n },\n 'manage.updatePayment.successBodyNoDate': {\n id: 'manage.updatePayment.successBodyNoDate',\n defaultMessage: 'Your new payment method will be applied on your next billing date.',\n description: 'Success modal body when next billing date is unknown',\n },\n 'manage.updatePayment.postalRequired': {\n id: 'manage.updatePayment.postalRequired',\n defaultMessage: 'Enter a zip/postal code.',\n description: 'Validation error when postal code is empty',\n },\n 'manage.updatePayment.error': {\n id: 'manage.updatePayment.error',\n defaultMessage: 'We could not update your payment method. Please try again.',\n description: 'Generic error when payment method update fails',\n },\n 'manage.updatePayment.stripeMissing': {\n id: 'manage.updatePayment.stripeMissing',\n defaultMessage: 'Payment updates are temporarily unavailable. Please try again later.',\n description: 'Shown when Stripe publishable key is not configured',\n },\n 'manage.active.cancelPrompt': {\n id: 'manage.active.cancelPrompt',\n defaultMessage: 'Need a break?',\n description: 'Prompt before cancel subscription link',\n },\n 'manage.active.cancelLink': {\n id: 'manage.active.cancelLink',\n defaultMessage: 'Cancel subscription',\n description: 'Cancel subscription link text',\n },\n\n // Canceled with access / renew banner\n 'manage.canceled.bannerTitle': {\n id: 'manage.canceled.bannerTitle',\n defaultMessage: 'Renew your subscription before it expires.',\n description: 'Expiring subscription banner title',\n },\n 'manage.canceled.bannerBody': {\n id: 'manage.canceled.bannerBody',\n defaultMessage: 'Your subscription is set to expire on {date} and you will have limited access to edX. Renew your subscription to keep your learning flexible.',\n description: 'Expiring subscription banner body',\n },\n 'manage.canceled.statusMonthly': {\n id: 'manage.canceled.statusMonthly',\n defaultMessage: 'Cancelled, Monthly plan',\n description: 'Cancelled monthly plan status label',\n },\n 'manage.canceled.statusAnnual': {\n id: 'manage.canceled.statusAnnual',\n defaultMessage: 'Cancelled, Annual plan',\n description: 'Cancelled annual plan status label',\n },\n 'manage.canceled.noPayments': {\n id: 'manage.canceled.noPayments',\n defaultMessage: 'You have no upcoming payments. You cancelled your subscription on {date}.',\n description: 'Cancelled status card body with cancel date',\n },\n 'manage.canceled.noPaymentsNoDate': {\n id: 'manage.canceled.noPaymentsNoDate',\n defaultMessage: 'You have no upcoming payments. You cancelled your subscription.',\n description: 'Cancelled status card body without cancel date',\n },\n 'manage.canceled.renew': {\n id: 'manage.canceled.renew',\n defaultMessage: 'Renew subscription',\n description: 'Renew subscription CTA',\n },\n 'manage.canceled.renewing': {\n id: 'manage.canceled.renewing',\n defaultMessage: 'Renewing…',\n description: 'Renew button label while reactivation mutation is in progress',\n },\n 'manage.canceled.renewError': {\n id: 'manage.canceled.renewError',\n defaultMessage: 'We could not renew your subscription. Please try again.',\n description: 'Error when reactivate mutation fails',\n },\n\n // Renew confirmation modal\n 'manage.renewModal.title': {\n id: 'manage.renewModal.title',\n defaultMessage: 'Renew your edX Plus subscription for ${price}/{frequency}',\n description: 'Renew modal title with price',\n },\n 'manage.renewModal.titleNoPrice': {\n id: 'manage.renewModal.titleNoPrice',\n defaultMessage: 'Renew your edX Plus subscription',\n description: 'Renew modal title when price is unavailable',\n },\n 'manage.renewModal.body': {\n id: 'manage.renewModal.body',\n defaultMessage: 'Your subscription will renew on {date} for ${price}/{frequency} {currency} (inclusive of applicable taxes). Cancel your subscription anytime from your dashboard. By clicking “Confirm subscription” you agree to our {termsLink}, and {refundLink}.',\n description: 'Renew modal body with terms links',\n },\n 'manage.renewModal.termsOfUse': {\n id: 'manage.renewModal.termsOfUse',\n defaultMessage: 'Terms of Use',\n description: 'Terms of Use link text in renew modal',\n },\n 'manage.renewModal.refundPolicy': {\n id: 'manage.renewModal.refundPolicy',\n defaultMessage: 'Refund Policy',\n description: 'Refund Policy link text in renew modal',\n },\n 'manage.renewModal.paymentMethod': {\n id: 'manage.renewModal.paymentMethod',\n defaultMessage: 'Payment Method',\n description: 'Payment method section heading in renew modal',\n },\n 'manage.renewModal.card': {\n id: 'manage.renewModal.card',\n defaultMessage: 'Card',\n description: 'Card payment method label in renew modal',\n },\n 'manage.renewModal.updatePayment': {\n id: 'manage.renewModal.updatePayment',\n defaultMessage: 'Update payment method',\n description: 'Update payment method button in renew modal',\n },\n 'manage.renewModal.recurringConfirm': {\n id: 'manage.renewModal.recurringConfirm',\n defaultMessage: 'I agree to enroll in a recurring {cycle} subscription for ${price}/{frequency} {currency}.',\n description: 'Recurring subscription consent checkbox',\n },\n 'manage.renewModal.ukCaConfirm': {\n id: 'manage.renewModal.ukCaConfirm',\n defaultMessage: 'Second checkbox only for UK and CA residents',\n description: 'Extra consent checkbox for UK and CA residents',\n },\n 'manage.renewModal.confirm': {\n id: 'manage.renewModal.confirm',\n defaultMessage: 'Confirm subscription',\n description: 'Confirm renew / reactivate button',\n },\n\n // Canceled expired / resubscribe\n 'manage.expired.heading': {\n id: 'manage.expired.heading',\n defaultMessage: 'Pick up where you left off',\n description: 'Section heading for expired / canceled without access (placeholder until final copy lands)',\n },\n 'manage.expired.subheading': {\n id: 'manage.expired.subheading',\n defaultMessage: 'You will manage your subscription here.',\n description: 'Section subheading for expired subscription state',\n },\n 'manage.expired.resubscribeTitle': {\n id: 'manage.expired.resubscribeTitle',\n defaultMessage: 'Resubscribe for ${price}/month {currency}',\n description: 'Resubscribe card title with price',\n },\n 'manage.expired.resubscribeTitleNoPrice': {\n id: 'manage.expired.resubscribeTitleNoPrice',\n defaultMessage: 'Resubscribe to edX Subscription',\n description: 'Resubscribe card title when price is unavailable',\n },\n 'manage.expired.canceledOn': {\n id: 'manage.expired.canceledOn',\n defaultMessage: 'You cancelled your subscription on {date}.',\n description: 'Resubscribe card cancelled-on line',\n },\n 'manage.expired.canceledOnNoDate': {\n id: 'manage.expired.canceledOnNoDate',\n defaultMessage: 'You cancelled your subscription.',\n description: 'Resubscribe card when cancel date is unknown',\n },\n\n // Cancel confirmation\n 'manage.cancel.title': {\n id: 'manage.cancel.title',\n defaultMessage: 'Are you sure you want to cancel?',\n description: 'Cancel confirmation page title',\n },\n 'manage.cancel.body': {\n id: 'manage.cancel.body',\n defaultMessage: 'If you cancel, you will lose access to all graded course content when your subscription expires on {date}. Your course progress will be saved if you re-subscribe within the calendar year.',\n description: 'Cancel confirmation body with period end date',\n },\n 'manage.cancel.bodyNoDate': {\n id: 'manage.cancel.bodyNoDate',\n defaultMessage: 'If you cancel, you will lose access to all graded course content when your subscription expires. Your course progress will be saved if you re-subscribe within the calendar year.',\n description: 'Cancel confirmation body without period end date',\n },\n 'manage.cancel.coursesHeading': {\n id: 'manage.cancel.coursesHeading',\n defaultMessage: 'Courses you are enrolled in ({count})',\n description: 'Heading for enrolled courses list on cancel confirmation',\n },\n 'manage.cancel.keep': {\n id: 'manage.cancel.keep',\n defaultMessage: 'No, keep my subscription',\n description: 'Secondary button to abort cancellation',\n },\n 'manage.cancel.confirm': {\n id: 'manage.cancel.confirm',\n defaultMessage: 'Yes, cancel subscription',\n description: 'Primary button to confirm cancellation',\n },\n 'manage.cancel.confirming': {\n id: 'manage.cancel.confirming',\n defaultMessage: 'Cancelling…',\n description: 'Cancel button label while mutation is in progress',\n },\n 'manage.cancel.error': {\n id: 'manage.cancel.error',\n defaultMessage: 'We could not cancel your subscription. Please try again.',\n description: 'Error when cancel mutation fails',\n },\n 'manage.cancel.viewCertificate': {\n id: 'manage.cancel.viewCertificate',\n defaultMessage: 'View certificate',\n description: 'View certificate button on enrolled course row',\n },\n\n // Cancel success\n 'manage.cancelSuccess.title': {\n id: 'manage.cancelSuccess.title',\n defaultMessage: 'Thank you for learning with us on edX. Your subscription is cancelled.',\n description: 'Cancel success page title',\n },\n 'manage.cancelSuccess.body': {\n id: 'manage.cancelSuccess.body',\n defaultMessage: 'Your edX Plus subscription has been cancelled and you will no longer be charged after {date}. You will receive a confirmation email shortly.',\n description: 'Cancel success body with last charge / access date',\n },\n 'manage.cancelSuccess.bodyNoDate': {\n id: 'manage.cancelSuccess.bodyNoDate',\n defaultMessage: 'Your edX Plus subscription has been cancelled and you will no longer be charged. You will receive a confirmation email shortly.',\n description: 'Cancel success body without date',\n },\n 'manage.cancelSuccess.return': {\n id: 'manage.cancelSuccess.return',\n defaultMessage: 'Return to Dashboard',\n description: 'Return to dashboard CTA after cancel success',\n },\n});\n\nexport default messages;\n"]}
@@ -1,59 +1,17 @@
1
- import type { CSSProperties } from 'react';
2
1
  export declare const appId = "org.openedx.frontend.app.subscription.manage";
3
2
  export declare const subscriptionManageRole = "org.openedx.frontend.role.subscription.manage";
4
- export declare const STATUS: {
5
- readonly IN_CART: "IN_CART";
6
- readonly CONFIRM: "CONFIRM";
7
- readonly SANCTION_STARTED: "SANCTION_STARTED";
8
- readonly SANCTION_PASSED: "SANCTION_PASSED";
9
- readonly SANCTION_BLOCK: "SANCTION_BLOCK";
10
- readonly STRIPE_STARTED: "STRIPE_STARTED";
11
- readonly STRIPE_SUBSCRIBED: "STRIPE_SUBSCRIBED";
12
- readonly STRIPE_CONFIRMATION_REQUIRED: "STRIPE_CONFIRMATION_REQUIRED";
13
- readonly STRIPE_FAIL: "STRIPE_FAIL";
14
- readonly SUBSCRIPTION_CREATED: "SUBSCRIPTION_CREATED";
15
- };
16
- export type Status = typeof STATUS[keyof typeof STATUS];
17
- export type Phase = 'init' | 'ready' | 'processing' | 'threeds' | 'success' | 'blocked' | 'failed';
18
- export declare const TERMINAL_STATES: Status[];
19
- export declare const STATUS_LABELS: Record<string, string>;
20
- export declare const isTerminalStatus: (status: Status | null | undefined) => boolean;
21
- /** UI phase derived from the raw bpStatus code + cart readiness. */
22
- export declare function phaseFor(status: Status | null, ready: boolean): Phase;
23
- export declare const DEFAULTS: {
24
- apiUrl: string;
25
- confirmIntentUrl: string;
26
- customerUid: string;
27
- salableUid: string;
28
- billingPlanUid: string;
29
- };
30
- export declare const LS_KEYS: {
31
- biId: string;
32
- uid: string;
33
- };
34
- /** When false, the country check is skipped — all countries can access checkout. */
35
- export declare const GATE_CHECK_COUNTRY = true;
36
- /**
37
- * ISO 3166-1 alpha-2 country codes that are permitted to complete checkout.
38
- * Add or remove codes here to open or restrict access by country.
39
- * e.g. ['US', 'CA', 'GB'] to allow US, Canada, and UK.
40
- */
41
- export declare const ALLOWED_CHECKOUT_COUNTRIES: readonly string[];
42
- /**
43
- * ISO 3166-1 alpha-2 country codes that require the extra billing-consent checkbox.
44
- * Add or remove codes here to control which residents see the second checkbox.
45
- */
3
+ /** Sibling checkout MFE route role (externalRoutes). */
4
+ export declare const subscriptionCheckoutRole = "org.openedx.frontend.role.subscription.checkout";
5
+ /** Sibling search MFE route role (externalRoutes). */
6
+ export declare const subscriptionSearchRole = "org.openedx.frontend.role.subscription.search";
7
+ export declare const MANAGE_PAGE_PATH = "manage-subscription";
8
+ /** Default help center URL when not overridden in app config. */
9
+ export declare const DEFAULT_LEARNER_HELP_CENTER_URL = "https://support.edx.org/hc/en-us";
10
+ /** Default marketing page for "Learn about edX Subscription". */
11
+ export declare const DEFAULT_SUBSCRIPTION_LEARN_MORE_URL = "https://www.edx.org/edx-subscription";
12
+ /** Countries that require the extra renew consent checkbox (ISO alpha-2). */
46
13
  export declare const COUNTRIES_REQUIRING_EXTRA_CONFIRM: readonly string[];
47
- export declare const COUNTRIES: readonly (readonly [string, string])[];
48
- export declare const STRIPE_FIELD_STYLE: CSSProperties;
49
- export declare const STRIPE_ELEMENT_OPTS: {
50
- style: {
51
- base: {
52
- fontSize: string;
53
- color: string;
54
- '::placeholder': {
55
- color: string;
56
- };
57
- };
58
- };
59
- };
14
+ /** Active / trial statuses that map to the manage (active) view. */
15
+ export declare const ACTIVE_SUBSCRIPTION_STATUSES: Set<string>;
16
+ /** Canceled statuses that may still have access until period end. */
17
+ export declare const CANCELED_SUBSCRIPTION_STATUSES: Set<string>;