@@ -20,6 +20,7 @@ import BusinessIcon from '@mui/icons-material/Business';
20
20
import SupportAgentIcon from '@mui/icons-material/SupportAgent' ;
21
21
import PrioritySupportSwitch from 'docs/src/components/pricing/PrioritySupportSwitch' ;
22
22
import InfoPrioritySupport from 'docs/src/components/pricing/InfoPrioritySupport' ;
23
+ import { usePrioritySupport } from 'docs/src/components/pricing/PrioritySupportContext' ;
23
24
24
25
const planInfo = {
25
26
community : {
@@ -107,14 +108,16 @@ export function PlanPrice(props: PlanPriceProps) {
107
108
const annual = licenseModel === 'annual' ;
108
109
const planPriceMinHeight = 24 ;
109
110
111
+ const { prioritySupport } = usePrioritySupport ( ) ;
112
+
110
113
if ( plan === 'community' ) {
111
114
return (
112
115
< React . Fragment >
113
- < Box sx = { { display : 'flex' , alignItems : 'center' , justifyContent : 'center' , mt : 1 , mb : 4 } } >
116
+ < Box sx = { { display : 'flex' , alignItems : 'center' , justifyContent : 'center' , mt : 7 } } >
114
117
< Typography
115
118
variant = "h3"
116
119
component = "div"
117
- sx = { { fontWeight : 'bold' , color : 'success.600' , mt : 6 } }
120
+ sx = { { fontWeight : 'bold' , color : 'success.600' } }
118
121
>
119
122
$0
120
123
</ Typography >
@@ -185,11 +188,27 @@ export function PlanPrice(props: PlanPriceProps) {
185
188
const premiumPerpetualValue = premiumAnnualValue * 3 ;
186
189
const premiumMonthlyValueForAnnual = premiumAnnualValue / 12 ;
187
190
188
- const premiumDisplayedValue = annual ? premiumAnnualValue : premiumPerpetualValue ;
191
+ const premiumAnnualValueWithPrioritySupport = premiumAnnualValue + 399 ;
192
+ const premiumPerpetualValueWithPrioritySupport = premiumPerpetualValue + 399 ;
193
+ const premiumMonthlyValueForAnnualWithPrioritySupport = 82 ; // premiumAnnualValueWithPrioritySupport / 12;
194
+
189
195
const priceExplanation = getPriceExplanation (
190
- annual ? premiumMonthlyValueForAnnual : premiumPerpetualValue ,
196
+ prioritySupport
197
+ ? premiumMonthlyValueForAnnualWithPrioritySupport
198
+ : premiumMonthlyValueForAnnual ,
191
199
) ;
192
200
201
+ let premiumDisplayedValue : number = premiumAnnualValue ;
202
+ if ( annual && prioritySupport ) {
203
+ premiumDisplayedValue = premiumAnnualValueWithPrioritySupport ;
204
+ } else if ( ! annual && prioritySupport ) {
205
+ premiumDisplayedValue = premiumPerpetualValueWithPrioritySupport ;
206
+ } else if ( annual && ! prioritySupport ) {
207
+ premiumDisplayedValue = premiumAnnualValue ;
208
+ } else if ( ! annual && ! prioritySupport ) {
209
+ premiumDisplayedValue = premiumPerpetualValue ;
210
+ }
211
+
193
212
return (
194
213
< React . Fragment >
195
214
< LicenseModelSwitch />
@@ -246,27 +265,14 @@ export function PlanPrice(props: PlanPriceProps) {
246
265
alignItems : 'center' ,
247
266
flexDirection : 'column' ,
248
267
justifyContent : 'center' ,
249
- mt : 3 ,
250
- mb : 1 ,
268
+ mt : 4 ,
251
269
} }
252
270
>
253
271
< BusinessIcon sx = { { fontSize : 65 , color : 'text.tertiary' } } />
254
272
</ Box >
255
273
< Typography variant = "body2" sx = { { color : 'text.secondary' , textAlign : 'center' } } >
256
274
Custom pricing
257
275
</ Typography >
258
- < Box
259
- sx = { {
260
- mt : 6 ,
261
- } }
262
- >
263
- < Typography
264
- variant = "body1"
265
- sx = { { color : 'text.secondary' , textAlign : 'center' , fontSize : '0.875rem' } }
266
- >
267
- + Priority support included
268
- </ Typography >
269
- </ Box >
270
276
</ React . Fragment >
271
277
) ;
272
278
}
@@ -781,6 +787,14 @@ const rowHeaders: Record<string, React.ReactNode> = {
781
787
} }
782
788
/>
783
789
) ,
790
+ 'customer-success' : (
791
+ < ColumnHead
792
+ { ...{
793
+ label : 'Customer success manager' ,
794
+ tooltip : 'A dedicated person to help you get the most out of MUI products.' ,
795
+ } }
796
+ />
797
+ ) ,
784
798
} ;
785
799
786
800
const yes = < IconImage name = "pricing/yes" title = "Included" /> ;
@@ -902,6 +916,7 @@ const communityData: Record<string, React.ReactNode> = {
902
916
'pre-screening' : no ,
903
917
'issue-escalation' : no ,
904
918
'security-questionnaire' : no ,
919
+ 'customer-success' : no ,
905
920
} ;
906
921
907
922
const proData : Record < string , React . ReactNode > = {
@@ -1007,6 +1022,7 @@ const proData: Record<string, React.ReactNode> = {
1007
1022
'pre-screening' : no ,
1008
1023
'issue-escalation' : no ,
1009
1024
'security-questionnaire' : < Info value = "Available from 10+ devs" /> ,
1025
+ 'customer-success' : no ,
1010
1026
} ;
1011
1027
1012
1028
const premiumData : Record < string , React . ReactNode > = {
@@ -1107,10 +1123,11 @@ const premiumData: Record<string, React.ReactNode> = {
1107
1123
'priority-support' : < PrioritySupportSwitch /> ,
1108
1124
'tech-advisory' : pending ,
1109
1125
'support-duration' : < Info value = "1 year" /> ,
1110
- 'response-time' : < InfoPrioritySupport value = { yes } metadata = "24 hours" value2 = "48 hours" /> ,
1126
+ 'response-time' : < InfoPrioritySupport value = { yes } metadata = "24 hours" value2 = { no } /> ,
1111
1127
'pre-screening' : < InfoPrioritySupport value = { yes } metadata = "4 hours" value2 = { no } /> ,
1112
1128
'issue-escalation' : < InfoPrioritySupport value = { yes } value2 = { no } /> ,
1113
1129
'security-questionnaire' : < Info value = "Available from 4+ devs" /> ,
1130
+ 'customer-success' : no ,
1114
1131
} ;
1115
1132
1116
1133
const enterpriseData : Record < string , React . ReactNode > = {
@@ -1211,10 +1228,11 @@ const enterpriseData: Record<string, React.ReactNode> = {
1211
1228
'priority-support' : < Info value = "Included" /> ,
1212
1229
'tech-advisory' : pending ,
1213
1230
'support-duration' : < Info value = "1 year" /> ,
1214
- 'response-time' : < Info value = { yes } metadata = { < React . Fragment > 24 hours</ React . Fragment > } /> ,
1231
+ 'response-time' : < Info value = { yes } metadata = " 24 hours" /> ,
1215
1232
'pre-screening' : < Info value = { yes } metadata = "4 hours" /> ,
1216
1233
'issue-escalation' : < Info value = { yes } /> ,
1217
1234
'security-questionnaire' : < Info value = "Available from 4+ devs" /> ,
1235
+ 'customer-success' : yes ,
1218
1236
} ;
1219
1237
1220
1238
function RowCategory ( props : BoxProps ) {
@@ -1918,6 +1936,8 @@ export default function PricingTable({
1918
1936
{ divider }
1919
1937
{ renderRow ( 'issue-escalation' ) }
1920
1938
{ divider }
1939
+ { renderRow ( 'customer-success' ) }
1940
+ { divider }
1921
1941
{ renderRow ( 'security-questionnaire' ) }
1922
1942
{ divider }
1923
1943
</ Box >
0 commit comments