goobs-frontend 0.7.53
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/LICENSE +21 -0
- package/README.md +190 -0
- package/package.json +122 -0
- package/src/app/_app.tsx +8 -0
- package/src/atoms/helperfooter.ts +21 -0
- package/src/components/Button/index.tsx +241 -0
- package/src/components/ConfirmationCodeInput/index.tsx +108 -0
- package/src/components/ConfirmationCodeInput/utils/useCodeConfirmation.tsx +129 -0
- package/src/components/Content/Structure/animations.tsx +106 -0
- package/src/components/Content/Structure/button/useButton.tsx +80 -0
- package/src/components/Content/Structure/confirmationinput/useConfirmationInput.tsx +56 -0
- package/src/components/Content/Structure/image/useImage.tsx +62 -0
- package/src/components/Content/Structure/link/useLink.tsx +60 -0
- package/src/components/Content/Structure/radiogroup/useGridRadioGroup.tsx +62 -0
- package/src/components/Content/Structure/styledcomponent/useStyledComponent.tsx +96 -0
- package/src/components/Content/Structure/typography/useGridTypography.tsx +53 -0
- package/src/components/Content/index.tsx +147 -0
- package/src/components/Form/Popup/index.tsx +121 -0
- package/src/components/Grid/defaultconfig.tsx +131 -0
- package/src/components/Grid/index.tsx +265 -0
- package/src/components/Icons/Calendar.tsx +21 -0
- package/src/components/Icons/DownArrowFilled.tsx +9 -0
- package/src/components/Icons/Drag.tsx +9 -0
- package/src/components/Icons/FavoriteIcon.tsx +24 -0
- package/src/components/Icons/Info.tsx +12 -0
- package/src/components/Icons/Search.tsx +29 -0
- package/src/components/Icons/ShowHideEye.tsx +16 -0
- package/src/components/RadioGroup/index.tsx +96 -0
- package/src/components/StyledComponent/adornments.tsx +118 -0
- package/src/components/StyledComponent/helperfooter/useHelperFooter.tsx +411 -0
- package/src/components/StyledComponent/hooks/useDropdown.tsx +144 -0
- package/src/components/StyledComponent/hooks/usePassword.tsx +23 -0
- package/src/components/StyledComponent/hooks/usePhoneNumber.tsx +75 -0
- package/src/components/StyledComponent/hooks/useSearchbar.tsx +44 -0
- package/src/components/StyledComponent/hooks/useSplitButton.tsx +66 -0
- package/src/components/StyledComponent/index.tsx +404 -0
- package/src/components/Typography/index.tsx +268 -0
- package/src/index.ts +210 -0
- package/src/main.tsx +7 -0
- package/src/styles/Form/index.ts +7 -0
- package/src/styles/StyledComponent/Label/index.ts +76 -0
- package/src/styles/palette.ts +143 -0
- package/src/styles/typography.ts +184 -0
- package/src/types/async-lock.d.ts +35 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Typography as MuiTypography,
|
|
3
|
+
TypographyProps as MuiTypographyProps,
|
|
4
|
+
TypographyPropsVariantOverrides as MuiTypographyPropsVariantOverrides,
|
|
5
|
+
} from '@mui/material'
|
|
6
|
+
import React from 'react'
|
|
7
|
+
|
|
8
|
+
export type FontFamily = 'arapey' | 'inter' | 'merri'
|
|
9
|
+
export type TypographyVariant =
|
|
10
|
+
| 'h1'
|
|
11
|
+
| 'h2'
|
|
12
|
+
| 'h3'
|
|
13
|
+
| 'h4'
|
|
14
|
+
| 'h5'
|
|
15
|
+
| 'h6'
|
|
16
|
+
| 'paragraph'
|
|
17
|
+
| 'helperheader'
|
|
18
|
+
| 'helperfooter'
|
|
19
|
+
|
|
20
|
+
declare module '@mui/material/Typography' {
|
|
21
|
+
interface TypographyPropsVariantOverrides
|
|
22
|
+
extends Record<`${FontFamily}${TypographyVariant}`, true> {}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export type TypographyPropsVariantOverrides =
|
|
26
|
+
MuiTypographyPropsVariantOverrides &
|
|
27
|
+
Record<`${FontFamily}${TypographyVariant}`, true>
|
|
28
|
+
|
|
29
|
+
export interface TypographyProps {
|
|
30
|
+
text?: string
|
|
31
|
+
fontvariant?: keyof TypographyPropsVariantOverrides
|
|
32
|
+
fontcolor?: string
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* arapeyStyles object contains the styles for typography variants using the Arapey font family.
|
|
37
|
+
*/
|
|
38
|
+
const arapeyStyles: Record<TypographyVariant, React.CSSProperties> = {
|
|
39
|
+
h1: {
|
|
40
|
+
fontFamily: 'Arapey, serif',
|
|
41
|
+
fontSize: '3rem',
|
|
42
|
+
fontWeight: 400,
|
|
43
|
+
textTransform: 'none',
|
|
44
|
+
},
|
|
45
|
+
h2: {
|
|
46
|
+
fontFamily: 'Arapey, serif',
|
|
47
|
+
fontSize: '2.5rem',
|
|
48
|
+
fontWeight: 400,
|
|
49
|
+
textTransform: 'none',
|
|
50
|
+
},
|
|
51
|
+
h3: {
|
|
52
|
+
fontFamily: 'Arapey, serif',
|
|
53
|
+
fontSize: '2rem',
|
|
54
|
+
fontWeight: 400,
|
|
55
|
+
textTransform: 'none',
|
|
56
|
+
},
|
|
57
|
+
h4: {
|
|
58
|
+
fontFamily: 'Arapey, serif',
|
|
59
|
+
fontSize: '1.5rem',
|
|
60
|
+
fontWeight: 400,
|
|
61
|
+
textTransform: 'none',
|
|
62
|
+
},
|
|
63
|
+
h5: {
|
|
64
|
+
fontFamily: 'Arapey, serif',
|
|
65
|
+
fontSize: '1.25rem',
|
|
66
|
+
fontWeight: 400,
|
|
67
|
+
textTransform: 'none',
|
|
68
|
+
},
|
|
69
|
+
h6: {
|
|
70
|
+
fontFamily: 'Arapey, serif',
|
|
71
|
+
fontSize: '1.1rem',
|
|
72
|
+
fontWeight: 400,
|
|
73
|
+
textTransform: 'none',
|
|
74
|
+
},
|
|
75
|
+
paragraph: {
|
|
76
|
+
fontFamily: 'Arapey, serif',
|
|
77
|
+
fontSize: '1rem',
|
|
78
|
+
fontWeight: 400,
|
|
79
|
+
textTransform: 'none',
|
|
80
|
+
},
|
|
81
|
+
helperheader: {
|
|
82
|
+
fontFamily: 'Arapey, serif',
|
|
83
|
+
fontSize: '0.875rem',
|
|
84
|
+
fontWeight: 400,
|
|
85
|
+
textTransform: 'none',
|
|
86
|
+
},
|
|
87
|
+
helperfooter: {
|
|
88
|
+
fontFamily: 'Arapey, serif',
|
|
89
|
+
fontSize: '0.75rem',
|
|
90
|
+
fontWeight: 400,
|
|
91
|
+
textTransform: 'none',
|
|
92
|
+
},
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* interStyles object contains the styles for typography variants using the Inter font family.
|
|
97
|
+
*/
|
|
98
|
+
const interStyles: Record<TypographyVariant, React.CSSProperties> = {
|
|
99
|
+
h1: {
|
|
100
|
+
fontFamily: 'Inter, sans-serif',
|
|
101
|
+
fontSize: '3rem',
|
|
102
|
+
fontWeight: 700,
|
|
103
|
+
textTransform: 'none',
|
|
104
|
+
},
|
|
105
|
+
h2: {
|
|
106
|
+
fontFamily: 'Inter, sans-serif',
|
|
107
|
+
fontSize: '2.5rem',
|
|
108
|
+
fontWeight: 700,
|
|
109
|
+
textTransform: 'none',
|
|
110
|
+
},
|
|
111
|
+
h3: {
|
|
112
|
+
fontFamily: 'Inter, sans-serif',
|
|
113
|
+
fontSize: '2rem',
|
|
114
|
+
fontWeight: 600,
|
|
115
|
+
textTransform: 'none',
|
|
116
|
+
},
|
|
117
|
+
h4: {
|
|
118
|
+
fontFamily: 'Inter, sans-serif',
|
|
119
|
+
fontSize: '1.5rem',
|
|
120
|
+
fontWeight: 600,
|
|
121
|
+
textTransform: 'none',
|
|
122
|
+
},
|
|
123
|
+
h5: {
|
|
124
|
+
fontFamily: 'Inter, sans-serif',
|
|
125
|
+
fontSize: '1.25rem',
|
|
126
|
+
fontWeight: 500,
|
|
127
|
+
textTransform: 'none',
|
|
128
|
+
},
|
|
129
|
+
h6: {
|
|
130
|
+
fontFamily: 'Inter, sans-serif',
|
|
131
|
+
fontSize: '1.1rem',
|
|
132
|
+
fontWeight: 500,
|
|
133
|
+
textTransform: 'none',
|
|
134
|
+
},
|
|
135
|
+
paragraph: {
|
|
136
|
+
fontFamily: 'Inter, sans-serif',
|
|
137
|
+
fontSize: '1rem',
|
|
138
|
+
fontWeight: 400,
|
|
139
|
+
textTransform: 'none',
|
|
140
|
+
},
|
|
141
|
+
helperheader: {
|
|
142
|
+
fontFamily: 'Inter, sans-serif',
|
|
143
|
+
fontSize: '0.875rem',
|
|
144
|
+
fontWeight: 400,
|
|
145
|
+
textTransform: 'none',
|
|
146
|
+
},
|
|
147
|
+
helperfooter: {
|
|
148
|
+
fontFamily: 'Inter, sans-serif',
|
|
149
|
+
fontSize: '0.75rem',
|
|
150
|
+
fontWeight: 400,
|
|
151
|
+
textTransform: 'none',
|
|
152
|
+
},
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* merriStyles object contains the styles for typography variants using the Merriweather font family.
|
|
157
|
+
*/
|
|
158
|
+
const merriStyles: Record<TypographyVariant, React.CSSProperties> = {
|
|
159
|
+
h1: {
|
|
160
|
+
fontFamily: 'Merriweather, serif',
|
|
161
|
+
fontSize: '3rem',
|
|
162
|
+
fontWeight: 700,
|
|
163
|
+
textTransform: 'none',
|
|
164
|
+
},
|
|
165
|
+
h2: {
|
|
166
|
+
fontFamily: 'Merriweather, serif',
|
|
167
|
+
fontSize: '2.5rem',
|
|
168
|
+
fontWeight: 700,
|
|
169
|
+
textTransform: 'none',
|
|
170
|
+
},
|
|
171
|
+
h3: {
|
|
172
|
+
fontFamily: 'Merriweather, serif',
|
|
173
|
+
fontSize: '2rem',
|
|
174
|
+
fontWeight: 400,
|
|
175
|
+
textTransform: 'none',
|
|
176
|
+
},
|
|
177
|
+
h4: {
|
|
178
|
+
fontFamily: 'Merriweather, serif',
|
|
179
|
+
fontSize: '1.5rem',
|
|
180
|
+
fontWeight: 400,
|
|
181
|
+
textTransform: 'none',
|
|
182
|
+
},
|
|
183
|
+
h5: {
|
|
184
|
+
fontFamily: 'Merriweather, serif',
|
|
185
|
+
fontSize: '1.25rem',
|
|
186
|
+
fontWeight: 400,
|
|
187
|
+
textTransform: 'none',
|
|
188
|
+
},
|
|
189
|
+
h6: {
|
|
190
|
+
fontFamily: 'Merriweather, serif',
|
|
191
|
+
fontSize: '1.1rem',
|
|
192
|
+
fontWeight: 400,
|
|
193
|
+
textTransform: 'none',
|
|
194
|
+
},
|
|
195
|
+
paragraph: {
|
|
196
|
+
fontFamily: 'Merriweather, serif',
|
|
197
|
+
fontSize: '1rem',
|
|
198
|
+
fontWeight: 400,
|
|
199
|
+
textTransform: 'none',
|
|
200
|
+
},
|
|
201
|
+
helperheader: {
|
|
202
|
+
fontFamily: 'Merriweather, serif',
|
|
203
|
+
fontSize: '0.875rem',
|
|
204
|
+
fontWeight: 400,
|
|
205
|
+
textTransform: 'none',
|
|
206
|
+
},
|
|
207
|
+
helperfooter: {
|
|
208
|
+
fontFamily: 'Merriweather, serif',
|
|
209
|
+
fontSize: '0.75rem',
|
|
210
|
+
fontWeight: 400,
|
|
211
|
+
textTransform: 'none',
|
|
212
|
+
},
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Typography component is a wrapper around MuiTypography that applies custom styles based on the fontvariant prop.
|
|
217
|
+
* It supports different font families (Arapey, Inter, Merriweather) and typography variants (h1, h2, h3, h4, h5, h6, paragraph, helperheader, helperfooter).
|
|
218
|
+
* @param props The props for the Typography component.
|
|
219
|
+
* @returns The rendered Typography component.
|
|
220
|
+
*/
|
|
221
|
+
export const Typography: React.FC<TypographyProps & MuiTypographyProps> = ({
|
|
222
|
+
text,
|
|
223
|
+
fontcolor,
|
|
224
|
+
fontvariant,
|
|
225
|
+
...rest
|
|
226
|
+
}) => {
|
|
227
|
+
let variantStyle: React.CSSProperties = {}
|
|
228
|
+
|
|
229
|
+
if (fontvariant) {
|
|
230
|
+
const fontFamily = fontvariant.startsWith('arapey')
|
|
231
|
+
? 'arapey'
|
|
232
|
+
: fontvariant.startsWith('inter')
|
|
233
|
+
? 'inter'
|
|
234
|
+
: fontvariant.startsWith('merri')
|
|
235
|
+
? 'merri'
|
|
236
|
+
: null
|
|
237
|
+
|
|
238
|
+
if (fontFamily) {
|
|
239
|
+
const variant = fontvariant.slice(fontFamily.length) as TypographyVariant
|
|
240
|
+
switch (fontFamily) {
|
|
241
|
+
case 'arapey':
|
|
242
|
+
variantStyle = arapeyStyles[variant] || {}
|
|
243
|
+
break
|
|
244
|
+
case 'inter':
|
|
245
|
+
variantStyle = interStyles[variant] || {}
|
|
246
|
+
break
|
|
247
|
+
case 'merri':
|
|
248
|
+
variantStyle = merriStyles[variant] || {}
|
|
249
|
+
break
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
return (
|
|
255
|
+
<MuiTypography
|
|
256
|
+
style={{
|
|
257
|
+
color: fontcolor,
|
|
258
|
+
...variantStyle,
|
|
259
|
+
}}
|
|
260
|
+
variant={fontvariant}
|
|
261
|
+
{...rest}
|
|
262
|
+
>
|
|
263
|
+
{text}
|
|
264
|
+
</MuiTypography>
|
|
265
|
+
)
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
export default Typography
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
// Components
|
|
2
|
+
import CustomButton, { ButtonAlignment } from './components/Button'
|
|
3
|
+
import CustomGrid, {
|
|
4
|
+
Alignment,
|
|
5
|
+
BorderProp,
|
|
6
|
+
columnconfig,
|
|
7
|
+
gridconfig,
|
|
8
|
+
cellconfig,
|
|
9
|
+
} from './components/Grid'
|
|
10
|
+
import StyledComponent, {
|
|
11
|
+
StyledComponentProps,
|
|
12
|
+
AdornmentProps,
|
|
13
|
+
} from './components/StyledComponent'
|
|
14
|
+
import Typography, {
|
|
15
|
+
FontFamily,
|
|
16
|
+
TypographyVariant,
|
|
17
|
+
TypographyPropsVariantOverrides,
|
|
18
|
+
TypographyProps,
|
|
19
|
+
} from './components/Typography'
|
|
20
|
+
import ConfirmationCodeInput, {
|
|
21
|
+
ConfirmationCodeInputsProps,
|
|
22
|
+
} from './components/ConfirmationCodeInput'
|
|
23
|
+
import RadioGroup, {
|
|
24
|
+
RadioOption,
|
|
25
|
+
RadioGroupProps,
|
|
26
|
+
} from './components/RadioGroup'
|
|
27
|
+
import PopupForm, { PopupFormProps } from './components/Form/Popup'
|
|
28
|
+
import ContentSection, { ContentSectionProps } from './components/Content'
|
|
29
|
+
import React from 'react'
|
|
30
|
+
|
|
31
|
+
// Animations
|
|
32
|
+
import { Animation } from './components/Content/Structure/animations'
|
|
33
|
+
|
|
34
|
+
// Importing ExtendedButtonProps from useButton
|
|
35
|
+
import { ExtendedButtonProps } from './components/Content/Structure/button/useButton'
|
|
36
|
+
|
|
37
|
+
// Colors
|
|
38
|
+
import {
|
|
39
|
+
moss,
|
|
40
|
+
aqua,
|
|
41
|
+
madder,
|
|
42
|
+
woad,
|
|
43
|
+
marine,
|
|
44
|
+
pansy,
|
|
45
|
+
stainlessSteel,
|
|
46
|
+
coal,
|
|
47
|
+
ocean,
|
|
48
|
+
sky,
|
|
49
|
+
salmon,
|
|
50
|
+
lightning,
|
|
51
|
+
sage,
|
|
52
|
+
lilac,
|
|
53
|
+
gunpowder,
|
|
54
|
+
lightMadder,
|
|
55
|
+
black,
|
|
56
|
+
white,
|
|
57
|
+
none,
|
|
58
|
+
semiTransparentWhite,
|
|
59
|
+
semiTransparentBlack,
|
|
60
|
+
red,
|
|
61
|
+
green,
|
|
62
|
+
greyborder,
|
|
63
|
+
} from './styles/palette'
|
|
64
|
+
|
|
65
|
+
// Typography
|
|
66
|
+
import {
|
|
67
|
+
arapeyh1,
|
|
68
|
+
arapeyh2,
|
|
69
|
+
arapeyh3,
|
|
70
|
+
arapeyh4,
|
|
71
|
+
arapeyh5,
|
|
72
|
+
arapeyh6,
|
|
73
|
+
arapeyparagraph,
|
|
74
|
+
interh1,
|
|
75
|
+
interh2,
|
|
76
|
+
interh3,
|
|
77
|
+
interh4,
|
|
78
|
+
interh5,
|
|
79
|
+
interh6,
|
|
80
|
+
interparagraph,
|
|
81
|
+
interhelperheader,
|
|
82
|
+
interhelperfooter,
|
|
83
|
+
merrih1,
|
|
84
|
+
merrih2,
|
|
85
|
+
merrih3,
|
|
86
|
+
merrih4,
|
|
87
|
+
merrih5,
|
|
88
|
+
merrih6,
|
|
89
|
+
merriparagraph,
|
|
90
|
+
merrihelperfooter,
|
|
91
|
+
} from './styles/typography'
|
|
92
|
+
|
|
93
|
+
// Styles
|
|
94
|
+
import { formContainerStyle } from './styles/Form'
|
|
95
|
+
|
|
96
|
+
import { helperFooterAtom, HelperFooterMessage } from './atoms/helperfooter'
|
|
97
|
+
|
|
98
|
+
// Type declarations
|
|
99
|
+
declare type CustomButtonProps = React.ComponentProps<typeof CustomButton>
|
|
100
|
+
declare type CustomGridProps = React.ComponentProps<typeof CustomGrid>
|
|
101
|
+
declare type TypographyComponentProps = React.ComponentProps<typeof Typography>
|
|
102
|
+
declare type ConfirmationCodeInputProps = React.ComponentProps<
|
|
103
|
+
typeof ConfirmationCodeInput
|
|
104
|
+
>
|
|
105
|
+
declare type RadioGroupComponentProps = React.ComponentProps<typeof RadioGroup>
|
|
106
|
+
declare type PopupFormComponentProps = React.ComponentProps<typeof PopupForm>
|
|
107
|
+
declare type ContentSectionComponentProps = React.ComponentProps<
|
|
108
|
+
typeof ContentSection
|
|
109
|
+
>
|
|
110
|
+
|
|
111
|
+
// Named exports
|
|
112
|
+
export { CustomButton }
|
|
113
|
+
export { CustomGrid }
|
|
114
|
+
export { StyledComponent }
|
|
115
|
+
export { Typography }
|
|
116
|
+
export { ConfirmationCodeInput }
|
|
117
|
+
export { RadioGroup }
|
|
118
|
+
export { PopupForm }
|
|
119
|
+
export { ContentSection }
|
|
120
|
+
export { formContainerStyle }
|
|
121
|
+
|
|
122
|
+
// Exporting ExtendedButtonProps
|
|
123
|
+
export type { ExtendedButtonProps }
|
|
124
|
+
|
|
125
|
+
// Exporting helperFooterAtom and HelperFooterMessage
|
|
126
|
+
export { helperFooterAtom }
|
|
127
|
+
export type { HelperFooterMessage }
|
|
128
|
+
|
|
129
|
+
// Type exports
|
|
130
|
+
export type { CustomButtonProps }
|
|
131
|
+
export type { ButtonAlignment }
|
|
132
|
+
export type { CustomGridProps }
|
|
133
|
+
export type { Alignment, BorderProp, columnconfig, gridconfig, cellconfig }
|
|
134
|
+
export type { StyledComponentProps, AdornmentProps }
|
|
135
|
+
export type {
|
|
136
|
+
FontFamily,
|
|
137
|
+
TypographyVariant,
|
|
138
|
+
TypographyPropsVariantOverrides,
|
|
139
|
+
TypographyProps,
|
|
140
|
+
}
|
|
141
|
+
export type { ConfirmationCodeInputsProps }
|
|
142
|
+
export type { RadioOption, RadioGroupProps }
|
|
143
|
+
export type { PopupFormProps }
|
|
144
|
+
export type { ContentSectionProps }
|
|
145
|
+
|
|
146
|
+
// Additional type exports for the newly declared types
|
|
147
|
+
export type { TypographyComponentProps }
|
|
148
|
+
export type { ConfirmationCodeInputProps }
|
|
149
|
+
export type { RadioGroupComponentProps }
|
|
150
|
+
export type { PopupFormComponentProps }
|
|
151
|
+
export type { ContentSectionComponentProps }
|
|
152
|
+
|
|
153
|
+
// Animation type export
|
|
154
|
+
export type { Animation }
|
|
155
|
+
|
|
156
|
+
// Color exports
|
|
157
|
+
export {
|
|
158
|
+
moss,
|
|
159
|
+
aqua,
|
|
160
|
+
madder,
|
|
161
|
+
woad,
|
|
162
|
+
marine,
|
|
163
|
+
pansy,
|
|
164
|
+
stainlessSteel,
|
|
165
|
+
coal,
|
|
166
|
+
ocean,
|
|
167
|
+
sky,
|
|
168
|
+
salmon,
|
|
169
|
+
lightning,
|
|
170
|
+
sage,
|
|
171
|
+
lilac,
|
|
172
|
+
gunpowder,
|
|
173
|
+
lightMadder,
|
|
174
|
+
black,
|
|
175
|
+
white,
|
|
176
|
+
none,
|
|
177
|
+
semiTransparentWhite,
|
|
178
|
+
semiTransparentBlack,
|
|
179
|
+
red,
|
|
180
|
+
green,
|
|
181
|
+
greyborder,
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// Typography exports
|
|
185
|
+
export {
|
|
186
|
+
arapeyh1,
|
|
187
|
+
arapeyh2,
|
|
188
|
+
arapeyh3,
|
|
189
|
+
arapeyh4,
|
|
190
|
+
arapeyh5,
|
|
191
|
+
arapeyh6,
|
|
192
|
+
arapeyparagraph,
|
|
193
|
+
interh1,
|
|
194
|
+
interh2,
|
|
195
|
+
interh3,
|
|
196
|
+
interh4,
|
|
197
|
+
interh5,
|
|
198
|
+
interh6,
|
|
199
|
+
interparagraph,
|
|
200
|
+
interhelperheader,
|
|
201
|
+
interhelperfooter,
|
|
202
|
+
merrih1,
|
|
203
|
+
merrih2,
|
|
204
|
+
merrih3,
|
|
205
|
+
merrih4,
|
|
206
|
+
merrih5,
|
|
207
|
+
merrih6,
|
|
208
|
+
merriparagraph,
|
|
209
|
+
merrihelperfooter,
|
|
210
|
+
}
|
package/src/main.tsx
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { StyledComponentProps } from '../../../components/StyledComponent'
|
|
2
|
+
import React from 'react'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* labelStyles function generates the styles for the input label based on the provided props.
|
|
6
|
+
* It adjusts the label's position, color, and transform based on the component variant, font colors, and focus state.
|
|
7
|
+
* @param props The props for the labelStyles function, including componentvariant, unshrunkfontcolor, shrunkfontcolor, combinedfontcolor, shrunklabellocation, and focused.
|
|
8
|
+
* @returns The styles for the input label.
|
|
9
|
+
*/
|
|
10
|
+
const labelStyles = (
|
|
11
|
+
props: Pick<
|
|
12
|
+
StyledComponentProps,
|
|
13
|
+
| 'componentvariant'
|
|
14
|
+
| 'unshrunkfontcolor'
|
|
15
|
+
| 'shrunkfontcolor'
|
|
16
|
+
| 'combinedfontcolor'
|
|
17
|
+
| 'shrunklabellocation'
|
|
18
|
+
| 'focused'
|
|
19
|
+
>
|
|
20
|
+
): React.CSSProperties => {
|
|
21
|
+
const {
|
|
22
|
+
componentvariant,
|
|
23
|
+
unshrunkfontcolor,
|
|
24
|
+
shrunkfontcolor,
|
|
25
|
+
combinedfontcolor,
|
|
26
|
+
shrunklabellocation = 'onnotch',
|
|
27
|
+
focused,
|
|
28
|
+
} = props
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* unshrunkStyles object contains the styles for the unshrunk label state.
|
|
32
|
+
*/
|
|
33
|
+
const unshrunkStyles: React.CSSProperties = {
|
|
34
|
+
color: combinedfontcolor || unshrunkfontcolor || 'black',
|
|
35
|
+
transform: 'scale(1)',
|
|
36
|
+
transformOrigin: 'top left',
|
|
37
|
+
top: '13px',
|
|
38
|
+
left: '12px',
|
|
39
|
+
...(componentvariant === 'searchbar' && {
|
|
40
|
+
transform: 'translate(25px, 2px) scale(1)',
|
|
41
|
+
}),
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* shrunkStyles object contains the styles for the shrunk label state.
|
|
46
|
+
*/
|
|
47
|
+
const shrunkStyles: React.CSSProperties = {
|
|
48
|
+
color: combinedfontcolor || shrunkfontcolor || 'black',
|
|
49
|
+
transform: 'scale(0.75)',
|
|
50
|
+
transformOrigin: 'top left',
|
|
51
|
+
...(shrunklabellocation === 'onnotch' && {
|
|
52
|
+
top: '-4px',
|
|
53
|
+
left: '12px',
|
|
54
|
+
}),
|
|
55
|
+
...(shrunklabellocation === 'above' && {
|
|
56
|
+
top: '3px',
|
|
57
|
+
left: '0',
|
|
58
|
+
}),
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Return the combined styles for the label, including the base styles, unshrunk styles, and shrunk styles if focused.
|
|
63
|
+
*/
|
|
64
|
+
return {
|
|
65
|
+
position: 'absolute',
|
|
66
|
+
top: 0,
|
|
67
|
+
left: 0,
|
|
68
|
+
height: 'auto',
|
|
69
|
+
padding: '0 4px',
|
|
70
|
+
minHeight: '20px',
|
|
71
|
+
...unshrunkStyles,
|
|
72
|
+
...(focused && shrunkStyles),
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export default labelStyles
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
export const moss = {
|
|
2
|
+
main: '#21475B',
|
|
3
|
+
light: '#4C7186',
|
|
4
|
+
dark: '#102A36',
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const aqua = {
|
|
8
|
+
main: '#9CE4F8',
|
|
9
|
+
light: '#C5F0FB',
|
|
10
|
+
dark: '#6AB6D1',
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export const madder = {
|
|
14
|
+
main: '#4661A8',
|
|
15
|
+
light: '#7488C1',
|
|
16
|
+
dark: '#2C3E6E',
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const woad = {
|
|
20
|
+
main: '#63B3DD',
|
|
21
|
+
light: '#8ECAE6',
|
|
22
|
+
dark: '#3E7DA3',
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const marine = {
|
|
26
|
+
main: '#013E89',
|
|
27
|
+
light: '#3367B2',
|
|
28
|
+
dark: '#002756',
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const pansy = {
|
|
32
|
+
main: '#7E5A75',
|
|
33
|
+
light: '#A07E9B',
|
|
34
|
+
dark: '#51384C',
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const stainlessSteel = {
|
|
38
|
+
main: '#150D22',
|
|
39
|
+
light: '#423753',
|
|
40
|
+
dark: '#08060E',
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export const coal = {
|
|
44
|
+
main: '#151519',
|
|
45
|
+
light: '#42424A',
|
|
46
|
+
dark: '#0A0A0B',
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export const ocean = {
|
|
50
|
+
main: '#0E3065',
|
|
51
|
+
light: '#355088',
|
|
52
|
+
dark: '#081E40',
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export const sky = {
|
|
56
|
+
main: '#47C7FE',
|
|
57
|
+
light: '#7ADAFE',
|
|
58
|
+
dark: '#2D8CC1',
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export const salmon = {
|
|
62
|
+
main: '#E1A9A7',
|
|
63
|
+
light: '#ECC7C5',
|
|
64
|
+
dark: '#C47D7B',
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export const lightning = {
|
|
68
|
+
main: '#0880AC',
|
|
69
|
+
light: '#35A7C9',
|
|
70
|
+
dark: '#055A7D',
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export const sage = {
|
|
74
|
+
main: '#A6D0D6',
|
|
75
|
+
light: '#C5E1E5',
|
|
76
|
+
dark: '#7AA3A9',
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export const lilac = {
|
|
80
|
+
main: '#BEB9EA',
|
|
81
|
+
light: '#D6D4F1',
|
|
82
|
+
dark: '#8E8AC0',
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export const gunpowder = {
|
|
86
|
+
main: '#210352',
|
|
87
|
+
light: '#4D337D',
|
|
88
|
+
dark: '#11022A',
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export const lightMadder = {
|
|
92
|
+
main: '#4661A8',
|
|
93
|
+
light: '#7488C1',
|
|
94
|
+
dark: '#2C3E6E',
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export const black = {
|
|
98
|
+
main: '#000000',
|
|
99
|
+
light: '#333333',
|
|
100
|
+
dark: '#000000',
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export const white = {
|
|
104
|
+
main: '#ffffff',
|
|
105
|
+
light: '#ffffff',
|
|
106
|
+
dark: '#eeeeee',
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export const none = {
|
|
110
|
+
main: 'rgba(0, 0, 0, 0)',
|
|
111
|
+
light: 'rgba(0, 0, 0, 0)',
|
|
112
|
+
dark: 'rgba(0, 0, 0, 0)',
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export const semiTransparentWhite = {
|
|
116
|
+
main: 'rgba(255, 255, 255, 0.09)',
|
|
117
|
+
light: 'rgba(255, 255, 255, 0.15)',
|
|
118
|
+
dark: 'rgba(255, 255, 255, 0.05)',
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export const semiTransparentBlack = {
|
|
122
|
+
main: 'rgba(0, 0, 0, 0.09)',
|
|
123
|
+
light: 'rgba(0, 0, 0, 0.15)',
|
|
124
|
+
dark: 'rgba(0, 0, 0, 0.05)',
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export const red = {
|
|
128
|
+
main: '#FF0000',
|
|
129
|
+
light: '#FF4C4C',
|
|
130
|
+
dark: '#B30000',
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export const green = {
|
|
134
|
+
main: '#00FF00',
|
|
135
|
+
light: '#4CFF4C',
|
|
136
|
+
dark: '#00B300',
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export const greyborder = {
|
|
140
|
+
main: '#E8E8E8',
|
|
141
|
+
light: '#F5F5F5',
|
|
142
|
+
dark: '#BDBDBD',
|
|
143
|
+
}
|