goobs-frontend 0.7.53 → 0.7.55

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 (42) hide show
  1. package/README.md +68 -87
  2. package/package.json +29 -33
  3. package/src/components/Accordion/index.tsx +44 -0
  4. package/src/components/Button/index.tsx +89 -37
  5. package/src/components/Card/index.tsx +251 -0
  6. package/src/components/Card/variants/defaultconfig/index.tsx +237 -0
  7. package/src/components/Card/variants/detailedpricingsummary/index.tsx +179 -0
  8. package/src/components/Card/variants/inventory/index.tsx +172 -0
  9. package/src/components/Card/variants/product/index.tsx +243 -0
  10. package/src/components/Card/variants/productsummary/index.tsx +143 -0
  11. package/src/components/Card/variants/simplepricingsummary/index.tsx +131 -0
  12. package/src/components/CodeCopy/index.tsx +118 -0
  13. package/src/components/ConfirmationCodeInput/utils/useCodeConfirmation.tsx +31 -10
  14. package/src/components/Content/Structure/card/useCard.tsx +45 -0
  15. package/src/components/Content/Structure/codecopy/useCodeCopy.tsx +54 -0
  16. package/src/components/Content/Structure/pricing/usePricing.tsx +40 -0
  17. package/src/components/Content/Structure/stepper/useStepper.tsx +47 -0
  18. package/src/components/Content/Structure/styledcomponent/useStyledComponent.tsx +0 -2
  19. package/src/components/Content/Structure/transferlist/useTransferList.tsx +52 -0
  20. package/src/components/Content/index.tsx +76 -99
  21. package/src/components/Form/Popup/index.tsx +128 -94
  22. package/src/components/Grid/index.tsx +29 -30
  23. package/src/components/Nav/HorizontalVariant/index.tsx +206 -0
  24. package/src/components/Nav/VerticalVariant/index.tsx +423 -0
  25. package/src/components/Nav/index.tsx +143 -0
  26. package/src/components/PricingTable/defaultconfig.tsx +287 -0
  27. package/src/components/PricingTable/index.tsx +337 -0
  28. package/src/components/RadioGroup/index.tsx +11 -19
  29. package/src/components/Stepper/index.tsx +126 -0
  30. package/src/components/StyledComponent/adornments.tsx +11 -7
  31. package/src/components/StyledComponent/helperfooter/useHelperFooter.tsx +110 -120
  32. package/src/components/StyledComponent/hooks/usePhoneNumber.tsx +5 -26
  33. package/src/components/StyledComponent/hooks/useSearchbar.tsx +16 -16
  34. package/src/components/StyledComponent/index.tsx +120 -44
  35. package/src/components/Toolbar/index.tsx +139 -0
  36. package/src/components/Tooltip/index.tsx +63 -0
  37. package/src/components/TransferList/index.tsx +207 -0
  38. package/src/components/Typography/index.tsx +23 -2
  39. package/src/index.ts +64 -6
  40. package/src/atoms/helperfooter.ts +0 -21
  41. package/src/main.tsx +0 -7
  42. package/src/types/async-lock.d.ts +0 -35
@@ -0,0 +1,251 @@
1
+ import React from 'react'
2
+ import { BoxProps } from '@mui/material'
3
+ import { CustomStepperProps } from '../Stepper'
4
+ import InventoryCard from './variants/inventory'
5
+ import SimplePricingSummary from './variants/simplepricingsummary'
6
+ import DetailedPricingSummary from './variants/detailedpricingsummary'
7
+ import ProductCard from './variants/product'
8
+ import ProductSummaryCard from './variants/productsummary'
9
+ import DefaultCard from './variants/defaultconfig'
10
+ import { columnconfig } from '../Grid'
11
+ import { CustomButtonProps } from '../Button'
12
+
13
+ /**
14
+ * Props for the Card component.
15
+ * Extends BoxProps from Material-UI and includes additional custom properties.
16
+ */
17
+ export interface CardProps extends BoxProps {
18
+ /** Title of the card */
19
+ title?: string
20
+ /** Whether to show an underline for the title */
21
+ titleUnderline?: boolean
22
+ /** Body text of the card */
23
+ body?: string
24
+ /** URL or path of the image to display */
25
+ image?: string
26
+ /** Position of the image in the card */
27
+ imagePosition?: 'top' | 'left'
28
+ /** Text for the parent breadcrumb */
29
+ parentText?: string
30
+ /** Link for the parent breadcrumb */
31
+ parentLink?: string
32
+ /** Text for the child breadcrumb */
33
+ childText?: string
34
+ /** Link for the child breadcrumb */
35
+ childLink?: string
36
+ /** Link for the grandchild breadcrumb */
37
+ grandchildLink?: string
38
+ /** Whether to enable the favorite feature */
39
+ favoriteEnabled?: boolean
40
+ /** Whether to show breadcrumbs */
41
+ breadcrumbEnabled?: boolean
42
+ /** Whether to enable links */
43
+ linkEnabled?: boolean
44
+ /** Width of the card */
45
+ width?: string
46
+ /** Height of the card */
47
+ height?: string | number
48
+ /** Whether to show a stepper */
49
+ stepperEnabled?: boolean
50
+ /** Active step in the stepper */
51
+ stepperActiveStep?: number
52
+ /** Steps configuration for the stepper */
53
+ stepperSteps?: CustomStepperProps['steps']
54
+ /** Variant of the card to render */
55
+ variant?:
56
+ | 'default'
57
+ | 'inventory'
58
+ | 'pricingsummary'
59
+ | 'detailedpricingsummary'
60
+ | 'product'
61
+ | 'productsummary'
62
+ /** Props for the pricing summary variant */
63
+ pricingSummaryProps?: {
64
+ subtotal?: string
65
+ total?: string
66
+ proceedText?: string
67
+ taxText?: string
68
+ discountText?: string
69
+ onProceed?: () => void
70
+ }
71
+ /** Props for the detailed pricing summary variant */
72
+ detailedPricingSummaryProps?: {
73
+ product?: string
74
+ vendor?: string
75
+ vendorPrice?: string
76
+ subtotal?: string
77
+ vat?: string
78
+ total?: string
79
+ proceedText?: string
80
+ onProceed?: () => void
81
+ }
82
+ /** Props for the inventory variant */
83
+ inventoryProps?: {
84
+ license?: string
85
+ developmentUse?: string
86
+ productionUse?: string
87
+ updates?: string
88
+ support?: string
89
+ price?: string
90
+ quantity?: number
91
+ onRemove?: () => void
92
+ }
93
+ /** Props for the product variant */
94
+ productProps?: {
95
+ title?: string
96
+ description?: string
97
+ image?: string
98
+ price?: string
99
+ onBuy?: () => void
100
+ favoriteEnabled?: boolean
101
+ linkEnabled?: boolean
102
+ grandchildLink?: string
103
+ numDevelopers?: number
104
+ onAddDeveloper?: () => void
105
+ licenses?: number
106
+ unitPrice?: number
107
+ total?: number
108
+ rating?: number
109
+ numReviews?: number
110
+ releaseDate?: string
111
+ category?: string
112
+ onContact?: () => void
113
+ createdBy?: string
114
+ featuredescriptions?: string[]
115
+ }
116
+ /** Props for the product summary variant */
117
+ productSummaryProps?: {
118
+ annualPrice?: string
119
+ monthlyPrice?: string
120
+ button1Props?: CustomButtonProps
121
+ button2Props?: CustomButtonProps
122
+ }
123
+ /** Configuration for grid columns */
124
+ columnconfig?: columnconfig
125
+ }
126
+
127
+ /**
128
+ * Card component that renders different card variants based on the provided props.
129
+ * It supports various card types including default, inventory, pricing summary, product, and more.
130
+ */
131
+ const Card: React.FC<CardProps> = ({
132
+ title,
133
+ titleUnderline = true,
134
+ body,
135
+ image,
136
+ imagePosition = 'top',
137
+ parentText = 'Parent',
138
+ parentLink = '/',
139
+ childText = 'Child',
140
+ childLink = '/',
141
+ grandchildLink = '/',
142
+ favoriteEnabled = false,
143
+ breadcrumbEnabled = false,
144
+ linkEnabled = false,
145
+ width = '100%',
146
+ height,
147
+ stepperEnabled = false,
148
+ stepperActiveStep = -1,
149
+ stepperSteps = [],
150
+ variant = 'default',
151
+ pricingSummaryProps,
152
+ detailedPricingSummaryProps,
153
+ inventoryProps,
154
+ productProps,
155
+ productSummaryProps,
156
+ ...rest
157
+ }) => {
158
+ // Render the default card variant
159
+ if (variant === 'default') {
160
+ return (
161
+ <DefaultCard
162
+ title={title}
163
+ titleUnderline={titleUnderline}
164
+ body={body}
165
+ image={image}
166
+ imagePosition={imagePosition}
167
+ parentText={parentText}
168
+ parentLink={parentLink}
169
+ childText={childText}
170
+ childLink={childLink}
171
+ grandchildLink={grandchildLink}
172
+ favoriteEnabled={favoriteEnabled}
173
+ breadcrumbEnabled={breadcrumbEnabled}
174
+ linkEnabled={linkEnabled}
175
+ width={width}
176
+ height={height}
177
+ stepperEnabled={stepperEnabled}
178
+ stepperActiveStep={stepperActiveStep}
179
+ stepperSteps={stepperSteps}
180
+ {...rest}
181
+ />
182
+ )
183
+ }
184
+
185
+ // Render the inventory card variant
186
+ if (variant === 'inventory') {
187
+ return (
188
+ <InventoryCard
189
+ title={title}
190
+ image={image}
191
+ width={width}
192
+ height={height}
193
+ {...inventoryProps}
194
+ {...rest}
195
+ />
196
+ )
197
+ }
198
+
199
+ // Render the simple pricing summary card variant
200
+ if (variant === 'pricingsummary') {
201
+ return (
202
+ <SimplePricingSummary
203
+ width={width}
204
+ height={height}
205
+ {...pricingSummaryProps}
206
+ {...rest}
207
+ />
208
+ )
209
+ }
210
+
211
+ // Render the detailed pricing summary card variant
212
+ if (variant === 'detailedpricingsummary') {
213
+ return (
214
+ <DetailedPricingSummary
215
+ width={width}
216
+ height={height}
217
+ {...detailedPricingSummaryProps}
218
+ {...rest}
219
+ />
220
+ )
221
+ }
222
+
223
+ // Render the product card variant
224
+ if (variant === 'product') {
225
+ return (
226
+ <ProductCard width={width} height={height} {...productProps} {...rest} />
227
+ )
228
+ }
229
+
230
+ // Render the product summary card variant
231
+ if (variant === 'productsummary') {
232
+ return (
233
+ <ProductSummaryCard
234
+ title={title}
235
+ body={body}
236
+ annualPrice={productSummaryProps?.annualPrice}
237
+ monthlyPrice={productSummaryProps?.monthlyPrice}
238
+ width={width}
239
+ height={height}
240
+ button1Props={productSummaryProps?.button1Props}
241
+ button2Props={productSummaryProps?.button2Props}
242
+ {...rest}
243
+ />
244
+ )
245
+ }
246
+
247
+ // Return null if no matching variant is found
248
+ return null
249
+ }
250
+
251
+ export default Card
@@ -0,0 +1,237 @@
1
+ import React from 'react'
2
+ import { Box, Paper, BoxProps, useMediaQuery, useTheme } from '@mui/material'
3
+ import Typography from '../../../../components/Typography'
4
+ import ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos'
5
+ import InfoIcon from '@mui/icons-material/Info'
6
+ import StyledTooltip from '../../../../components/Tooltip'
7
+ import CustomButton from '../../../../components/Button'
8
+ import Link from 'next/link'
9
+ import FavoriteIcon from '../../../../components/Icons/FavoriteIcon'
10
+ import {
11
+ CustomStepper,
12
+ CustomStepperProps,
13
+ } from '../../../../components/Stepper'
14
+
15
+ /**
16
+ * Props for the DefaultCard component.
17
+ * Extends BoxProps from Material-UI and includes additional custom properties.
18
+ */
19
+ interface DefaultCardProps extends BoxProps {
20
+ /** Title of the card */
21
+ title?: string
22
+ /** Whether to show an underline for the title */
23
+ titleUnderline?: boolean
24
+ /** Body text of the card */
25
+ body?: string
26
+ /** URL or path of the image to display */
27
+ image?: string
28
+ /** Position of the image in the card */
29
+ imagePosition?: 'top' | 'left'
30
+ /** Text for the parent breadcrumb */
31
+ parentText?: string
32
+ /** Link for the parent breadcrumb */
33
+ parentLink?: string
34
+ /** Text for the child breadcrumb */
35
+ childText?: string
36
+ /** Link for the child breadcrumb */
37
+ childLink?: string
38
+ /** Link for the grandchild breadcrumb */
39
+ grandchildLink?: string
40
+ /** Whether to enable the favorite feature */
41
+ favoriteEnabled?: boolean
42
+ /** Whether to show breadcrumbs */
43
+ breadcrumbEnabled?: boolean
44
+ /** Whether to enable links */
45
+ linkEnabled?: boolean
46
+ /** Width of the card */
47
+ width?: string
48
+ /** Height of the card */
49
+ height?: string | number
50
+ /** Whether to show a stepper */
51
+ stepperEnabled?: boolean
52
+ /** Active step in the stepper */
53
+ stepperActiveStep?: number
54
+ /** Steps configuration for the stepper */
55
+ stepperSteps?: CustomStepperProps['steps']
56
+ }
57
+
58
+ /**
59
+ * DefaultCard component renders a customizable card with various features such as
60
+ * image, title, body text, breadcrumbs, favorite icon, and stepper.
61
+ * It adapts its layout based on the screen size and provided props.
62
+ */
63
+ const DefaultCard: React.FC<DefaultCardProps> = ({
64
+ title,
65
+ titleUnderline = true,
66
+ body,
67
+ image,
68
+ imagePosition = 'top',
69
+ parentText = 'Parent',
70
+ parentLink = '/',
71
+ childText = 'Child',
72
+ childLink = '/',
73
+ grandchildLink = '/',
74
+ favoriteEnabled = false,
75
+ breadcrumbEnabled = false,
76
+ linkEnabled = false,
77
+ width = '100%',
78
+ height,
79
+ stepperEnabled = false,
80
+ stepperActiveStep = -1,
81
+ stepperSteps = [],
82
+ ...rest
83
+ }) => {
84
+ const theme = useTheme()
85
+ /** Determines if the current viewport is mobile size */
86
+ const isMobile = useMediaQuery(theme.breakpoints.down('sm'))
87
+
88
+ return (
89
+ <Paper
90
+ elevation={1}
91
+ sx={{
92
+ position: 'relative',
93
+ display: 'flex',
94
+ flexDirection:
95
+ imagePosition === 'left' ? 'row' : isMobile ? 'row' : 'column',
96
+ justifyContent: isMobile ? 'space-between' : 'flex-start',
97
+ alignItems: isMobile ? 'center' : 'stretch',
98
+ border: '1px solid #e8e8e8',
99
+ width: width,
100
+ height: height,
101
+ ...rest.sx,
102
+ }}
103
+ >
104
+ {/* Render image if provided */}
105
+ {image && (
106
+ <Box
107
+ // @ts-ignore
108
+ sx={{
109
+ width: imagePosition === 'left' ? '200px' : '100%',
110
+ height: imagePosition === 'left' ? '100%' : '200px',
111
+ backgroundImage: `url(${image})`,
112
+ backgroundSize: 'cover',
113
+ backgroundPosition: 'center',
114
+ flexShrink: 0,
115
+ }}
116
+ />
117
+ )}
118
+ <Box sx={{ flexGrow: 1, display: 'flex', flexDirection: 'column' }}>
119
+ {/* Render title and favorite icon if title is provided */}
120
+ {title && (
121
+ <Box
122
+ sx={{
123
+ borderBottom: titleUnderline ? '1px solid #e8e8e8' : 'none',
124
+ width: '100%',
125
+ paddingLeft: '15px',
126
+ paddingRight: '15px',
127
+ paddingBottom: '10px',
128
+ paddingTop: '10px',
129
+ display: 'flex',
130
+ alignItems: 'center',
131
+ justifyContent: 'space-between',
132
+ }}
133
+ >
134
+ <Typography text={title} fontcolor="black" fontvariant="merrih5" />
135
+ {favoriteEnabled && <FavoriteIcon />}
136
+ </Box>
137
+ )}
138
+ {/* Render body text or info icon for mobile */}
139
+ {body && (
140
+ <Box sx={{ padding: isMobile ? '0 15px' : '16px 15px' }}>
141
+ {!isMobile && (
142
+ <Typography
143
+ text={body}
144
+ fontcolor="black"
145
+ fontvariant="merriparagraph"
146
+ />
147
+ )}
148
+ {isMobile && (
149
+ <StyledTooltip
150
+ title={body}
151
+ placement="right"
152
+ arrow
153
+ tooltipcolor="black"
154
+ tooltipplacement="right"
155
+ offsetX={0}
156
+ offsetY={0}
157
+ disableHoverListener
158
+ >
159
+ <InfoIcon style={{ color: 'black', cursor: 'pointer' }} />
160
+ </StyledTooltip>
161
+ )}
162
+ </Box>
163
+ )}
164
+ {/* Render stepper if enabled */}
165
+ {stepperEnabled && (
166
+ <Box sx={{ padding: '0px 15px' }}>
167
+ <CustomStepper
168
+ activeStep={stepperActiveStep}
169
+ nonLinear
170
+ orientation="vertical"
171
+ steps={stepperSteps}
172
+ sx={{
173
+ '.MuiStepIcon-text': { display: 'none' },
174
+ '.MuiStepConnector-line': { display: 'none' },
175
+ }}
176
+ />
177
+ </Box>
178
+ )}
179
+ {/* Render breadcrumbs and link button */}
180
+ <Box
181
+ sx={{
182
+ width: '100%',
183
+ display: 'flex',
184
+ justifyContent: 'space-between',
185
+ alignItems: 'center',
186
+ paddingLeft: '15px',
187
+ paddingRight: '15px',
188
+ paddingBottom: '10px',
189
+ marginTop: 'auto',
190
+ }}
191
+ >
192
+ <Box>
193
+ {breadcrumbEnabled && (
194
+ <>
195
+ <Link href={parentLink} passHref>
196
+ <Typography
197
+ text={parentText}
198
+ fontcolor="black"
199
+ fontvariant="merriparagraph"
200
+ />
201
+ </Link>
202
+ <Typography
203
+ text=">"
204
+ fontcolor="black"
205
+ fontvariant="merriparagraph"
206
+ />
207
+ <Link href={childLink} passHref>
208
+ <Typography
209
+ text={childText}
210
+ fontcolor="black"
211
+ fontvariant="merriparagraph"
212
+ />
213
+ </Link>
214
+ </>
215
+ )}
216
+ </Box>
217
+ <Box sx={{ paddingLeft: '10px' }}>
218
+ {linkEnabled && (
219
+ <Link href={grandchildLink} passHref>
220
+ <CustomButton
221
+ icon={<ArrowForwardIosIcon />}
222
+ iconcolor="black"
223
+ iconsize="15px"
224
+ iconlocation="right"
225
+ backgroundcolor="none"
226
+ variant="text"
227
+ />
228
+ </Link>
229
+ )}
230
+ </Box>
231
+ </Box>
232
+ </Box>
233
+ </Paper>
234
+ )
235
+ }
236
+
237
+ export default DefaultCard
@@ -0,0 +1,179 @@
1
+ import React from 'react'
2
+ import { Box, Paper } from '@mui/material'
3
+ import Typography from '../../../../components/Typography'
4
+ import CustomButton from '../../../../components/Button'
5
+
6
+ /**
7
+ * Props for the DetailedPricingSummary component.
8
+ */
9
+ interface DetailedPricingSummaryProps {
10
+ /** Width of the pricing summary card */
11
+ width?: string
12
+ /** Height of the pricing summary card */
13
+ height?: string | number
14
+ /** Description of the product */
15
+ product?: string
16
+ /** Name of the vendor */
17
+ vendor?: string
18
+ /** Price from the vendor */
19
+ vendorPrice?: string
20
+ /** Subtotal of the order */
21
+ subtotal?: string
22
+ /** VAT amount */
23
+ vat?: string
24
+ /** Total price of the order */
25
+ total?: string
26
+ /** Text for the proceed button */
27
+ proceedText?: string
28
+ /** Function to call when the proceed button is clicked */
29
+ onProceed?: () => void
30
+ }
31
+
32
+ /**
33
+ * DetailedPricingSummary component renders a card with detailed pricing information.
34
+ * It displays product details, vendor information, subtotal, VAT, total, and a proceed button.
35
+ */
36
+ const DetailedPricingSummary: React.FC<DetailedPricingSummaryProps> = ({
37
+ width = '100%',
38
+ height,
39
+ product = 'Goobs Repo Unlimited × 1',
40
+ vendor = 'Technologies Unlimited',
41
+ vendorPrice = '$180.00',
42
+ subtotal = '$180.00',
43
+ vat = '$0.00',
44
+ total = '$180.00',
45
+ proceedText = 'Proceed to checkout',
46
+ onProceed,
47
+ }) => {
48
+ return (
49
+ <Paper
50
+ elevation={1}
51
+ sx={{
52
+ position: 'relative',
53
+ display: 'flex',
54
+ flexDirection: 'column',
55
+ justifyContent: 'flex-start',
56
+ alignItems: 'stretch',
57
+ border: '1px solid #e8e8e8',
58
+ width: width,
59
+ minHeight: height,
60
+ padding: '16px',
61
+ }}
62
+ >
63
+ <Box sx={{ display: 'flex', flexDirection: 'column' }}>
64
+ {/* Product section */}
65
+ <Typography
66
+ text="Product"
67
+ fontcolor="black"
68
+ fontvariant="merriparagraph"
69
+ />
70
+ <Typography
71
+ text={product}
72
+ fontcolor="black"
73
+ fontvariant="merriparagraph"
74
+ sx={{ marginTop: '8px' }}
75
+ />
76
+
77
+ {/* Vendor section */}
78
+ <Box sx={{ marginTop: '16px' }}>
79
+ <Box
80
+ sx={{
81
+ display: 'flex',
82
+ justifyContent: 'space-between',
83
+ alignItems: 'center',
84
+ }}
85
+ >
86
+ <Typography
87
+ text="Vendor:"
88
+ fontcolor="black"
89
+ fontvariant="merriparagraph"
90
+ />
91
+ <Typography
92
+ text={vendor}
93
+ fontcolor="black"
94
+ fontvariant="merriparagraph"
95
+ />
96
+ </Box>
97
+ <Box
98
+ sx={{
99
+ display: 'flex',
100
+ justifyContent: 'flex-end',
101
+ alignItems: 'center',
102
+ }}
103
+ >
104
+ <Typography
105
+ text={vendorPrice}
106
+ fontcolor="black"
107
+ fontvariant="merriparagraph"
108
+ />
109
+ </Box>
110
+ </Box>
111
+
112
+ {/* Subtotal section */}
113
+ <Box sx={{ marginTop: '16px' }}>
114
+ <Typography
115
+ text="Subtotal"
116
+ fontcolor="black"
117
+ fontvariant="merriparagraph"
118
+ />
119
+ <Typography
120
+ text={subtotal}
121
+ fontcolor="black"
122
+ fontvariant="merriparagraph"
123
+ align="right"
124
+ />
125
+ </Box>
126
+
127
+ {/* VAT section */}
128
+ <Box sx={{ marginTop: '8px' }}>
129
+ <Typography
130
+ text="VAT"
131
+ fontcolor="black"
132
+ fontvariant="merriparagraph"
133
+ />
134
+ <Typography
135
+ text={vat}
136
+ fontcolor="black"
137
+ fontvariant="merriparagraph"
138
+ align="right"
139
+ />
140
+ </Box>
141
+
142
+ {/* Total section */}
143
+ <Box
144
+ sx={{
145
+ borderTop: '1px solid #e8e8e8',
146
+ marginTop: '8px',
147
+ paddingTop: '8px',
148
+ }}
149
+ >
150
+ <Box
151
+ sx={{
152
+ display: 'flex',
153
+ justifyContent: 'space-between',
154
+ alignItems: 'center',
155
+ }}
156
+ >
157
+ <Typography text="Total" fontcolor="black" fontvariant="merrih5" />
158
+ <Typography text={total} fontcolor="black" fontvariant="merrih5" />
159
+ </Box>
160
+ </Box>
161
+ </Box>
162
+
163
+ {/* Proceed button */}
164
+ <Box sx={{ marginTop: '16px' }}>
165
+ <CustomButton
166
+ text={proceedText}
167
+ variant="contained"
168
+ backgroundcolor="black"
169
+ fontcolor="white"
170
+ fontvariant="merriparagraph"
171
+ onClick={onProceed}
172
+ width="100%"
173
+ />
174
+ </Box>
175
+ </Paper>
176
+ )
177
+ }
178
+
179
+ export default DetailedPricingSummary