@flipdish/portal-library 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +36 -0
- package/dist/index.esm.js +286 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +291 -0
- package/dist/index.js.map +1 -0
- package/package.json +4 -2
- package/dist/components/index.d.ts +0 -5
- package/dist/components/index.js +0 -6
- package/dist/components/index.js.map +0 -1
- package/dist/components/themes/flipdishPublicTheme.d.ts +0 -19
- package/dist/components/themes/flipdishPublicTheme.js +0 -171
- package/dist/components/themes/flipdishPublicTheme.js.map +0 -1
- package/dist/components/ui/LazyComponent/LazyComponent.d.ts +0 -9
- package/dist/components/ui/LazyComponent/LazyComponent.js +0 -23
- package/dist/components/ui/LazyComponent/LazyComponent.js.map +0 -1
- package/dist/components/ui/NotFoundPage/NotFoundPage.d.ts +0 -5
- package/dist/components/ui/NotFoundPage/NotFoundPage.js +0 -26
- package/dist/components/ui/NotFoundPage/NotFoundPage.js.map +0 -1
- package/dist/components/ui/PortalMock/PortalMock.d.ts +0 -8
- package/dist/components/ui/PortalMock/PortalMock.js +0 -111
- package/dist/components/ui/PortalMock/PortalMock.js.map +0 -1
- package/dist/components/ui/Spacer/Spacer.d.ts +0 -12
- package/dist/components/ui/Spacer/Spacer.js +0 -43
- package/dist/components/ui/Spacer/Spacer.js.map +0 -1
- package/dist/localization/en.json.js +0 -52
- package/dist/localization/en.json.js.map +0 -1
- package/dist/providers/TranslationProvider.js +0 -26
- package/dist/providers/TranslationProvider.js.map +0 -1
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as _mui_material from '@mui/material';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
|
|
5
|
+
declare const _default: _mui_material.Theme;
|
|
6
|
+
|
|
7
|
+
declare module '@mui/material/styles' {
|
|
8
|
+
interface Palette {
|
|
9
|
+
black: Palette['primary'];
|
|
10
|
+
white: Palette['primary'];
|
|
11
|
+
flippyBlue: Palette['primary'];
|
|
12
|
+
freezerBurn: Palette['primary'];
|
|
13
|
+
spricyCarrot: Palette['primary'];
|
|
14
|
+
pebble: Palette['primary'];
|
|
15
|
+
donutPanic: Palette['primary'];
|
|
16
|
+
eletricLime: Palette['primary'];
|
|
17
|
+
pending: Palette['primary'];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
declare const NotFoundPage: () => react_jsx_runtime.JSX.Element;
|
|
22
|
+
|
|
23
|
+
type LazyComponentProps = {
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
};
|
|
26
|
+
declare const LazyComponent: ({ children }: LazyComponentProps) => react_jsx_runtime.JSX.Element;
|
|
27
|
+
|
|
28
|
+
interface ISpacerProps {
|
|
29
|
+
className?: string;
|
|
30
|
+
variant?: 'horizontal' | 'vertical';
|
|
31
|
+
size?: 8 | 16 | 24 | 32 | 40 | 56;
|
|
32
|
+
children?: ReactNode;
|
|
33
|
+
}
|
|
34
|
+
declare const Spacer: ({ className, variant, size, children }: ISpacerProps) => react_jsx_runtime.JSX.Element;
|
|
35
|
+
|
|
36
|
+
export { LazyComponent, NotFoundPage, Spacer, _default as flipdishPublicTheme };
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
import { createTheme } from '@mui/material';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { styled } from '@mui/material/styles';
|
|
4
|
+
import Typography from '@mui/material/Typography';
|
|
5
|
+
import { createContext, useContext, useCallback, Suspense } from 'react';
|
|
6
|
+
import CircularProgress from '@mui/material/CircularProgress';
|
|
7
|
+
|
|
8
|
+
// Colours and fonts as per our brand guidelines
|
|
9
|
+
const fontTheme = createTheme({
|
|
10
|
+
typography: {
|
|
11
|
+
body1: {
|
|
12
|
+
fontFamily: "'Roboto', sans-serif",
|
|
13
|
+
},
|
|
14
|
+
body2: {
|
|
15
|
+
fontFamily: "'Roboto', sans-serif",
|
|
16
|
+
},
|
|
17
|
+
h1: {
|
|
18
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
19
|
+
},
|
|
20
|
+
h2: {
|
|
21
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
22
|
+
},
|
|
23
|
+
h3: {
|
|
24
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
25
|
+
},
|
|
26
|
+
h4: {
|
|
27
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
28
|
+
},
|
|
29
|
+
h5: {
|
|
30
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
31
|
+
},
|
|
32
|
+
h6: {
|
|
33
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
palette: {
|
|
37
|
+
success: {
|
|
38
|
+
main: '#20C26E',
|
|
39
|
+
dark: '#137442',
|
|
40
|
+
light: '#D2F3E2',
|
|
41
|
+
},
|
|
42
|
+
error: {
|
|
43
|
+
main: '#CA0030',
|
|
44
|
+
dark: '#79001D',
|
|
45
|
+
light: '#FADBE2',
|
|
46
|
+
},
|
|
47
|
+
warning: {
|
|
48
|
+
main: '#FFBC2C',
|
|
49
|
+
dark: '#FF7A00',
|
|
50
|
+
light: '#FFF2D5',
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
const theme = createTheme(fontTheme, {
|
|
55
|
+
palette: {
|
|
56
|
+
// Primary
|
|
57
|
+
black: fontTheme.palette.augmentColor({
|
|
58
|
+
color: {
|
|
59
|
+
main: '#000000',
|
|
60
|
+
},
|
|
61
|
+
name: 'black',
|
|
62
|
+
}),
|
|
63
|
+
white: fontTheme.palette.augmentColor({
|
|
64
|
+
color: {
|
|
65
|
+
main: '#ffffff',
|
|
66
|
+
},
|
|
67
|
+
name: 'white',
|
|
68
|
+
}),
|
|
69
|
+
flippyBlue: fontTheme.palette.augmentColor({
|
|
70
|
+
color: {
|
|
71
|
+
main: '#0b75d7',
|
|
72
|
+
},
|
|
73
|
+
name: 'flippyBlue',
|
|
74
|
+
}),
|
|
75
|
+
// Core
|
|
76
|
+
freezerBurn: fontTheme.palette.augmentColor({
|
|
77
|
+
color: {
|
|
78
|
+
main: '#a5e2f6',
|
|
79
|
+
},
|
|
80
|
+
name: 'freezerBurn',
|
|
81
|
+
}),
|
|
82
|
+
spricyCarrot: fontTheme.palette.augmentColor({
|
|
83
|
+
color: {
|
|
84
|
+
main: '#f7742b',
|
|
85
|
+
},
|
|
86
|
+
name: 'spricyCarrot',
|
|
87
|
+
}),
|
|
88
|
+
pebble: fontTheme.palette.augmentColor({
|
|
89
|
+
color: {
|
|
90
|
+
main: '#eeebe3',
|
|
91
|
+
},
|
|
92
|
+
name: 'pebble',
|
|
93
|
+
}),
|
|
94
|
+
// Secondary
|
|
95
|
+
donutPanic: fontTheme.palette.augmentColor({
|
|
96
|
+
color: {
|
|
97
|
+
main: '#ffbae4',
|
|
98
|
+
},
|
|
99
|
+
name: 'donutPanic',
|
|
100
|
+
}),
|
|
101
|
+
eletricLime: fontTheme.palette.augmentColor({
|
|
102
|
+
color: {
|
|
103
|
+
main: '#cff27d',
|
|
104
|
+
},
|
|
105
|
+
name: 'eletricLime',
|
|
106
|
+
}),
|
|
107
|
+
pending: fontTheme.palette.augmentColor({
|
|
108
|
+
color: {
|
|
109
|
+
main: '#DEACFA',
|
|
110
|
+
dark: '#A56AC6',
|
|
111
|
+
light: '#FCF7FE',
|
|
112
|
+
},
|
|
113
|
+
name: 'pending',
|
|
114
|
+
}),
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
var flipdishPublicTheme = createTheme(theme, {
|
|
118
|
+
palette: {
|
|
119
|
+
primary: {
|
|
120
|
+
main: theme.palette.flippyBlue.main,
|
|
121
|
+
},
|
|
122
|
+
secondary: {
|
|
123
|
+
main: theme.palette.spricyCarrot.main,
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
components: {
|
|
127
|
+
MuiButton: {
|
|
128
|
+
styleOverrides: {
|
|
129
|
+
root: {
|
|
130
|
+
padding: '7px 14px',
|
|
131
|
+
textTransform: 'none',
|
|
132
|
+
boxShadow: 'none',
|
|
133
|
+
'&:hover': {
|
|
134
|
+
boxShadow: 'none',
|
|
135
|
+
},
|
|
136
|
+
borderRadius: '25px',
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
},
|
|
140
|
+
MuiCard: {
|
|
141
|
+
styleOverrides: {
|
|
142
|
+
root: {
|
|
143
|
+
borderRadius: 0,
|
|
144
|
+
boxShadow: 'none',
|
|
145
|
+
borderWidth: '1px',
|
|
146
|
+
borderStyle: 'solid',
|
|
147
|
+
borderColor: '#999999',
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
MuiChip: {
|
|
152
|
+
styleOverrides: {
|
|
153
|
+
root: {
|
|
154
|
+
borderRadius: '5px',
|
|
155
|
+
fontWeight: 'bold',
|
|
156
|
+
textTransform: 'uppercase',
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
},
|
|
160
|
+
MuiListItemButton: {
|
|
161
|
+
styleOverrides: {
|
|
162
|
+
root: {
|
|
163
|
+
'&:hover': {
|
|
164
|
+
backgroundColor: '#eaf2ff',
|
|
165
|
+
},
|
|
166
|
+
'&:not(:last-child)': {
|
|
167
|
+
borderBottom: `1px solid ${theme.palette.divider}`,
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
|
|
175
|
+
var Home = {
|
|
176
|
+
value: "Home"
|
|
177
|
+
};
|
|
178
|
+
var About = {
|
|
179
|
+
value: "About"
|
|
180
|
+
};
|
|
181
|
+
var Welcome_to_new_portal = {
|
|
182
|
+
value: "Welcome to the new Flipdish Portal"
|
|
183
|
+
};
|
|
184
|
+
var Page_Not_Found = {
|
|
185
|
+
value: "Page Not Found"
|
|
186
|
+
};
|
|
187
|
+
var Click_vite_react = {
|
|
188
|
+
value: "Click on the Vite and React logos to learn more"
|
|
189
|
+
};
|
|
190
|
+
var Go_to_about_page = {
|
|
191
|
+
value: "Go to About Page"
|
|
192
|
+
};
|
|
193
|
+
var Go_to_home_page = {
|
|
194
|
+
value: "Go to home Page"
|
|
195
|
+
};
|
|
196
|
+
var Welcome_about_page = {
|
|
197
|
+
value: "Welcome to the About Page"
|
|
198
|
+
};
|
|
199
|
+
var About_Page = {
|
|
200
|
+
value: "About Page"
|
|
201
|
+
};
|
|
202
|
+
var Something_went_wrong_please_refresh_the_page = {
|
|
203
|
+
value: "Something went wrong, please refresh the page"
|
|
204
|
+
};
|
|
205
|
+
var Count_is = {
|
|
206
|
+
value: "Count is {count}"
|
|
207
|
+
};
|
|
208
|
+
var en = {
|
|
209
|
+
Home: Home,
|
|
210
|
+
About: About,
|
|
211
|
+
Welcome_to_new_portal: Welcome_to_new_portal,
|
|
212
|
+
Page_Not_Found: Page_Not_Found,
|
|
213
|
+
"Micro-Frontend_Example": {
|
|
214
|
+
value: "Micro-Frontend Example"
|
|
215
|
+
},
|
|
216
|
+
Click_vite_react: Click_vite_react,
|
|
217
|
+
Go_to_about_page: Go_to_about_page,
|
|
218
|
+
Go_to_home_page: Go_to_home_page,
|
|
219
|
+
Welcome_about_page: Welcome_about_page,
|
|
220
|
+
About_Page: About_Page,
|
|
221
|
+
Something_went_wrong_please_refresh_the_page: Something_went_wrong_please_refresh_the_page,
|
|
222
|
+
Count_is: Count_is
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
const TranslationContext = createContext({});
|
|
226
|
+
const useTranslation = () => {
|
|
227
|
+
const { translations } = useContext(TranslationContext);
|
|
228
|
+
const translate = useCallback((key, data) => {
|
|
229
|
+
let translation = translations?.[key]?.value || en[key]?.value || key;
|
|
230
|
+
if (data && translation) {
|
|
231
|
+
Object.keys(data)?.forEach((key) => {
|
|
232
|
+
translation = translation.replace(new RegExp(`{${key}}`, 'g'), `${data[key]}`);
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
return translation;
|
|
236
|
+
}, [translations]);
|
|
237
|
+
return { translate, translations };
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
const StyledTextContainer = styled('div')(({ theme }) => ({
|
|
241
|
+
marginTop: theme.spacing(2),
|
|
242
|
+
display: 'flex',
|
|
243
|
+
justifyContent: 'center',
|
|
244
|
+
alignItems: 'center',
|
|
245
|
+
}));
|
|
246
|
+
const NotFoundPage = () => {
|
|
247
|
+
const { translate } = useTranslation();
|
|
248
|
+
return (jsx(StyledTextContainer, { children: jsx(Typography, { children: translate('Page_Not_Found') }) }));
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
const StyledLoadingContainer = styled('div')({
|
|
252
|
+
display: 'flex',
|
|
253
|
+
justifyContent: 'center',
|
|
254
|
+
alignItems: 'center',
|
|
255
|
+
});
|
|
256
|
+
const LazyComponent = ({ children }) => (jsx(Suspense, { fallback: jsx(StyledLoadingContainer, { children: jsx(CircularProgress, { size: 56 }) }), children: children }));
|
|
257
|
+
|
|
258
|
+
const SpacerDiv = styled('div')(({ size = 8, variant, children }) => {
|
|
259
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
260
|
+
const style = {
|
|
261
|
+
padding: children ? `${size}px` : undefined,
|
|
262
|
+
};
|
|
263
|
+
if (!children) {
|
|
264
|
+
if (variant === 'horizontal') {
|
|
265
|
+
style.height = `${size}px`;
|
|
266
|
+
}
|
|
267
|
+
else if (variant === 'vertical') {
|
|
268
|
+
style.width = `${size}px`;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
else {
|
|
272
|
+
if (variant === 'horizontal') {
|
|
273
|
+
style.margin = `${size}px 0`;
|
|
274
|
+
}
|
|
275
|
+
else if (variant === 'vertical') {
|
|
276
|
+
style.margin = `0 ${size}px`;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return style;
|
|
280
|
+
});
|
|
281
|
+
const Spacer = ({ className, variant, size = 8, children }) => {
|
|
282
|
+
return (jsx(SpacerDiv, { className: className, variant: variant, size: size, children: children }));
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
export { LazyComponent, NotFoundPage, Spacer, flipdishPublicTheme };
|
|
286
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../src/components/themes/flipdishPublicTheme.ts","../src/providers/TranslationProvider.tsx","../src/components/ui/NotFoundPage/NotFoundPage.tsx","../src/components/ui/LazyComponent/LazyComponent.tsx","../src/components/ui/Spacer/Spacer.tsx"],"sourcesContent":["import { createTheme } from '@mui/material';\n\n// Colours and fonts as per our brand guidelines\nconst fontTheme = createTheme({\n typography: {\n body1: {\n fontFamily: \"'Roboto', sans-serif\",\n },\n body2: {\n fontFamily: \"'Roboto', sans-serif\",\n },\n h1: {\n fontFamily: 'clarendon-text-pro,Domine,serif',\n },\n h2: {\n fontFamily: 'clarendon-text-pro,Domine,serif',\n },\n h3: {\n fontFamily: 'clarendon-text-pro,Domine,serif',\n },\n h4: {\n fontFamily: 'clarendon-text-pro,Domine,serif',\n },\n h5: {\n fontFamily: 'clarendon-text-pro,Domine,serif',\n },\n h6: {\n fontFamily: 'clarendon-text-pro,Domine,serif',\n },\n },\n palette: {\n success: {\n main: '#20C26E',\n dark: '#137442',\n light: '#D2F3E2',\n },\n error: {\n main: '#CA0030',\n dark: '#79001D',\n light: '#FADBE2',\n },\n warning: {\n main: '#FFBC2C',\n dark: '#FF7A00',\n light: '#FFF2D5',\n },\n },\n});\n\nconst theme = createTheme(fontTheme, {\n palette: {\n // Primary\n black: fontTheme.palette.augmentColor({\n color: {\n main: '#000000',\n },\n name: 'black',\n }),\n white: fontTheme.palette.augmentColor({\n color: {\n main: '#ffffff',\n },\n name: 'white',\n }),\n flippyBlue: fontTheme.palette.augmentColor({\n color: {\n main: '#0b75d7',\n },\n name: 'flippyBlue',\n }),\n // Core\n freezerBurn: fontTheme.palette.augmentColor({\n color: {\n main: '#a5e2f6',\n },\n name: 'freezerBurn',\n }),\n spricyCarrot: fontTheme.palette.augmentColor({\n color: {\n main: '#f7742b',\n },\n name: 'spricyCarrot',\n }),\n pebble: fontTheme.palette.augmentColor({\n color: {\n main: '#eeebe3',\n },\n name: 'pebble',\n }),\n // Secondary\n donutPanic: fontTheme.palette.augmentColor({\n color: {\n main: '#ffbae4',\n },\n name: 'donutPanic',\n }),\n eletricLime: fontTheme.palette.augmentColor({\n color: {\n main: '#cff27d',\n },\n name: 'eletricLime',\n }),\n pending: fontTheme.palette.augmentColor({\n color: {\n main: '#DEACFA',\n dark: '#A56AC6',\n light: '#FCF7FE',\n },\n name: 'pending',\n }),\n },\n});\n\nexport default createTheme(theme, {\n palette: {\n primary: {\n main: theme.palette.flippyBlue.main,\n },\n secondary: {\n main: theme.palette.spricyCarrot.main,\n },\n },\n components: {\n MuiButton: {\n styleOverrides: {\n root: {\n padding: '7px 14px',\n textTransform: 'none',\n boxShadow: 'none',\n '&:hover': {\n boxShadow: 'none',\n },\n borderRadius: '25px',\n },\n },\n },\n MuiCard: {\n styleOverrides: {\n root: {\n borderRadius: 0,\n boxShadow: 'none',\n borderWidth: '1px',\n borderStyle: 'solid',\n borderColor: '#999999',\n },\n },\n },\n MuiChip: {\n styleOverrides: {\n root: {\n borderRadius: '5px',\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n },\n },\n MuiListItemButton: {\n styleOverrides: {\n root: {\n '&:hover': {\n backgroundColor: '#eaf2ff',\n },\n '&:not(:last-child)': {\n borderBottom: `1px solid ${theme.palette.divider}`,\n },\n },\n },\n },\n },\n});\n\ndeclare module '@mui/material/styles' {\n interface Palette {\n black: Palette['primary'];\n white: Palette['primary'];\n flippyBlue: Palette['primary'];\n freezerBurn: Palette['primary'];\n spricyCarrot: Palette['primary'];\n pebble: Palette['primary'];\n donutPanic: Palette['primary'];\n eletricLime: Palette['primary'];\n pending: Palette['primary'];\n }\n}\n","import { createContext, useCallback, useContext, useEffect, useState } from 'react';\nimport en from '../../../../localization/en.json';\nimport { getMicroFrontendAttribute } from '../utilities/renderUtilities';\n\ndeclare global {\n type TranslationId = keyof typeof en;\n}\n\ntype Translation = { value: string };\n\ninterface TranslationBase {\n translations: Record<string, Translation>;\n}\n\nconst TranslationContext = createContext<TranslationBase>({} as unknown as TranslationBase);\n\ntype TranslationProp = {\n children: JSX.Element;\n} & TranslationBase;\n\nexport const TranslationProvider = ({ children, translations }: TranslationProp): JSX.Element => {\n const value = { translations };\n return <TranslationContext.Provider value={value}>{children}</TranslationContext.Provider>;\n};\n\nexport const useTranslation = (): {\n translate: (key: TranslationId, data?: Record<string, string | number>) => string;\n translations: Record<string, Translation>;\n} => {\n const { translations } = useContext(TranslationContext);\n\n const translate = useCallback(\n (key: TranslationId, data?: Record<string, string | number>): string => {\n let translation = translations?.[key]?.value || en[key]?.value || key;\n if (data && translation) {\n Object.keys(data)?.forEach((key) => {\n translation = translation.replace(new RegExp(`{${key}}`, 'g'), `${data[key]}`);\n });\n }\n return translation;\n },\n [translations],\n );\n return { translate, translations };\n};\n\nconst languagesToLoad = ['nl', 'en-US', 'de', 'fr', 'it', 'es', 'pt', 'es-MX', 'dev-lang'];\n\nexport const useLoadTranslations = () => {\n const [translations, setTranslations] = useState<{\n loading: boolean;\n translations?: Record<string, { value: string }>;\n }>({ loading: true, translations: {} });\n const languageFromParentDiv = getMicroFrontendAttribute('data-language') || '';\n\n useEffect(() => {\n const fetchJSONData = async () => {\n // en loaded as default fallback already\n const shouldLoadLanguage = languagesToLoad.includes(languageFromParentDiv);\n if (shouldLoadLanguage) {\n import(`../../../../localization/${languageFromParentDiv}.json`)\n .then((response) => response.default) // Access the default export of the module\n .then((text) => {\n setTranslations({ loading: false, translations: text });\n })\n .catch((error) => {\n setTranslations({ loading: false });\n window.fdlogger?.error(`Error while fetching ${languageFromParentDiv || 'en'} language JSON data: ${error.message}`);\n });\n } else {\n setTranslations({ loading: false });\n }\n };\n\n void fetchJSONData();\n }, [languageFromParentDiv]);\n\n return {\n translations: translations.translations || {},\n loading: translations.loading,\n };\n};\n","import { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport { useTranslation } from '../../../providers/TranslationProvider';\n\nconst StyledTextContainer = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n}));\n\nconst NotFoundPage = () => {\n const { translate } = useTranslation();\n return (\n <StyledTextContainer>\n <Typography>{translate('Page_Not_Found')}</Typography>\n </StyledTextContainer>\n );\n};\n\nexport default NotFoundPage;\n","import { Suspense, ReactNode } from 'react';\n\nimport CircularProgress from '@mui/material/CircularProgress';\nimport { styled } from '@mui/material/styles';\n\ntype LazyComponentProps = {\n children: ReactNode;\n};\n\nconst StyledLoadingContainer = styled('div')({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n});\n\nconst LazyComponent = ({ children }: LazyComponentProps) => (\n <Suspense\n fallback={\n <StyledLoadingContainer>\n <CircularProgress size={56} />\n </StyledLoadingContainer>\n }\n >\n {children}\n </Suspense>\n);\n\nexport default LazyComponent;\n","import { ReactNode } from 'react';\nimport { styled } from '@mui/material/styles';\n\nexport interface ISpacerProps {\n className?: string;\n variant?: 'horizontal' | 'vertical';\n size?: 8 | 16 | 24 | 32 | 40 | 56;\n children?: ReactNode;\n}\n\nconst SpacerDiv = styled('div')<ISpacerProps>(({ size = 8, variant, children }) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const style: any = {\n padding: children ? `${size}px` : undefined,\n };\n\n if (!children) {\n if (variant === 'horizontal') {\n style.height = `${size}px`;\n } else if (variant === 'vertical') {\n style.width = `${size}px`;\n }\n } else {\n if (variant === 'horizontal') {\n style.margin = `${size}px 0`;\n } else if (variant === 'vertical') {\n style.margin = `0 ${size}px`;\n }\n }\n\n return style;\n});\n\nconst Spacer = ({ className, variant, size = 8, children }: ISpacerProps) => {\n return (\n <SpacerDiv className={className} variant={variant} size={size}>\n {children}\n </SpacerDiv>\n );\n};\n\nexport default Spacer;\n"],"names":["_jsx"],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var material = require('@mui/material');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var styles = require('@mui/material/styles');
|
|
6
|
+
var Typography = require('@mui/material/Typography');
|
|
7
|
+
var react = require('react');
|
|
8
|
+
var CircularProgress = require('@mui/material/CircularProgress');
|
|
9
|
+
|
|
10
|
+
// Colours and fonts as per our brand guidelines
|
|
11
|
+
const fontTheme = material.createTheme({
|
|
12
|
+
typography: {
|
|
13
|
+
body1: {
|
|
14
|
+
fontFamily: "'Roboto', sans-serif",
|
|
15
|
+
},
|
|
16
|
+
body2: {
|
|
17
|
+
fontFamily: "'Roboto', sans-serif",
|
|
18
|
+
},
|
|
19
|
+
h1: {
|
|
20
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
21
|
+
},
|
|
22
|
+
h2: {
|
|
23
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
24
|
+
},
|
|
25
|
+
h3: {
|
|
26
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
27
|
+
},
|
|
28
|
+
h4: {
|
|
29
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
30
|
+
},
|
|
31
|
+
h5: {
|
|
32
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
33
|
+
},
|
|
34
|
+
h6: {
|
|
35
|
+
fontFamily: 'clarendon-text-pro,Domine,serif',
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
palette: {
|
|
39
|
+
success: {
|
|
40
|
+
main: '#20C26E',
|
|
41
|
+
dark: '#137442',
|
|
42
|
+
light: '#D2F3E2',
|
|
43
|
+
},
|
|
44
|
+
error: {
|
|
45
|
+
main: '#CA0030',
|
|
46
|
+
dark: '#79001D',
|
|
47
|
+
light: '#FADBE2',
|
|
48
|
+
},
|
|
49
|
+
warning: {
|
|
50
|
+
main: '#FFBC2C',
|
|
51
|
+
dark: '#FF7A00',
|
|
52
|
+
light: '#FFF2D5',
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
const theme = material.createTheme(fontTheme, {
|
|
57
|
+
palette: {
|
|
58
|
+
// Primary
|
|
59
|
+
black: fontTheme.palette.augmentColor({
|
|
60
|
+
color: {
|
|
61
|
+
main: '#000000',
|
|
62
|
+
},
|
|
63
|
+
name: 'black',
|
|
64
|
+
}),
|
|
65
|
+
white: fontTheme.palette.augmentColor({
|
|
66
|
+
color: {
|
|
67
|
+
main: '#ffffff',
|
|
68
|
+
},
|
|
69
|
+
name: 'white',
|
|
70
|
+
}),
|
|
71
|
+
flippyBlue: fontTheme.palette.augmentColor({
|
|
72
|
+
color: {
|
|
73
|
+
main: '#0b75d7',
|
|
74
|
+
},
|
|
75
|
+
name: 'flippyBlue',
|
|
76
|
+
}),
|
|
77
|
+
// Core
|
|
78
|
+
freezerBurn: fontTheme.palette.augmentColor({
|
|
79
|
+
color: {
|
|
80
|
+
main: '#a5e2f6',
|
|
81
|
+
},
|
|
82
|
+
name: 'freezerBurn',
|
|
83
|
+
}),
|
|
84
|
+
spricyCarrot: fontTheme.palette.augmentColor({
|
|
85
|
+
color: {
|
|
86
|
+
main: '#f7742b',
|
|
87
|
+
},
|
|
88
|
+
name: 'spricyCarrot',
|
|
89
|
+
}),
|
|
90
|
+
pebble: fontTheme.palette.augmentColor({
|
|
91
|
+
color: {
|
|
92
|
+
main: '#eeebe3',
|
|
93
|
+
},
|
|
94
|
+
name: 'pebble',
|
|
95
|
+
}),
|
|
96
|
+
// Secondary
|
|
97
|
+
donutPanic: fontTheme.palette.augmentColor({
|
|
98
|
+
color: {
|
|
99
|
+
main: '#ffbae4',
|
|
100
|
+
},
|
|
101
|
+
name: 'donutPanic',
|
|
102
|
+
}),
|
|
103
|
+
eletricLime: fontTheme.palette.augmentColor({
|
|
104
|
+
color: {
|
|
105
|
+
main: '#cff27d',
|
|
106
|
+
},
|
|
107
|
+
name: 'eletricLime',
|
|
108
|
+
}),
|
|
109
|
+
pending: fontTheme.palette.augmentColor({
|
|
110
|
+
color: {
|
|
111
|
+
main: '#DEACFA',
|
|
112
|
+
dark: '#A56AC6',
|
|
113
|
+
light: '#FCF7FE',
|
|
114
|
+
},
|
|
115
|
+
name: 'pending',
|
|
116
|
+
}),
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
var flipdishPublicTheme = material.createTheme(theme, {
|
|
120
|
+
palette: {
|
|
121
|
+
primary: {
|
|
122
|
+
main: theme.palette.flippyBlue.main,
|
|
123
|
+
},
|
|
124
|
+
secondary: {
|
|
125
|
+
main: theme.palette.spricyCarrot.main,
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
components: {
|
|
129
|
+
MuiButton: {
|
|
130
|
+
styleOverrides: {
|
|
131
|
+
root: {
|
|
132
|
+
padding: '7px 14px',
|
|
133
|
+
textTransform: 'none',
|
|
134
|
+
boxShadow: 'none',
|
|
135
|
+
'&:hover': {
|
|
136
|
+
boxShadow: 'none',
|
|
137
|
+
},
|
|
138
|
+
borderRadius: '25px',
|
|
139
|
+
},
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
MuiCard: {
|
|
143
|
+
styleOverrides: {
|
|
144
|
+
root: {
|
|
145
|
+
borderRadius: 0,
|
|
146
|
+
boxShadow: 'none',
|
|
147
|
+
borderWidth: '1px',
|
|
148
|
+
borderStyle: 'solid',
|
|
149
|
+
borderColor: '#999999',
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
},
|
|
153
|
+
MuiChip: {
|
|
154
|
+
styleOverrides: {
|
|
155
|
+
root: {
|
|
156
|
+
borderRadius: '5px',
|
|
157
|
+
fontWeight: 'bold',
|
|
158
|
+
textTransform: 'uppercase',
|
|
159
|
+
},
|
|
160
|
+
},
|
|
161
|
+
},
|
|
162
|
+
MuiListItemButton: {
|
|
163
|
+
styleOverrides: {
|
|
164
|
+
root: {
|
|
165
|
+
'&:hover': {
|
|
166
|
+
backgroundColor: '#eaf2ff',
|
|
167
|
+
},
|
|
168
|
+
'&:not(:last-child)': {
|
|
169
|
+
borderBottom: `1px solid ${theme.palette.divider}`,
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
var Home = {
|
|
178
|
+
value: "Home"
|
|
179
|
+
};
|
|
180
|
+
var About = {
|
|
181
|
+
value: "About"
|
|
182
|
+
};
|
|
183
|
+
var Welcome_to_new_portal = {
|
|
184
|
+
value: "Welcome to the new Flipdish Portal"
|
|
185
|
+
};
|
|
186
|
+
var Page_Not_Found = {
|
|
187
|
+
value: "Page Not Found"
|
|
188
|
+
};
|
|
189
|
+
var Click_vite_react = {
|
|
190
|
+
value: "Click on the Vite and React logos to learn more"
|
|
191
|
+
};
|
|
192
|
+
var Go_to_about_page = {
|
|
193
|
+
value: "Go to About Page"
|
|
194
|
+
};
|
|
195
|
+
var Go_to_home_page = {
|
|
196
|
+
value: "Go to home Page"
|
|
197
|
+
};
|
|
198
|
+
var Welcome_about_page = {
|
|
199
|
+
value: "Welcome to the About Page"
|
|
200
|
+
};
|
|
201
|
+
var About_Page = {
|
|
202
|
+
value: "About Page"
|
|
203
|
+
};
|
|
204
|
+
var Something_went_wrong_please_refresh_the_page = {
|
|
205
|
+
value: "Something went wrong, please refresh the page"
|
|
206
|
+
};
|
|
207
|
+
var Count_is = {
|
|
208
|
+
value: "Count is {count}"
|
|
209
|
+
};
|
|
210
|
+
var en = {
|
|
211
|
+
Home: Home,
|
|
212
|
+
About: About,
|
|
213
|
+
Welcome_to_new_portal: Welcome_to_new_portal,
|
|
214
|
+
Page_Not_Found: Page_Not_Found,
|
|
215
|
+
"Micro-Frontend_Example": {
|
|
216
|
+
value: "Micro-Frontend Example"
|
|
217
|
+
},
|
|
218
|
+
Click_vite_react: Click_vite_react,
|
|
219
|
+
Go_to_about_page: Go_to_about_page,
|
|
220
|
+
Go_to_home_page: Go_to_home_page,
|
|
221
|
+
Welcome_about_page: Welcome_about_page,
|
|
222
|
+
About_Page: About_Page,
|
|
223
|
+
Something_went_wrong_please_refresh_the_page: Something_went_wrong_please_refresh_the_page,
|
|
224
|
+
Count_is: Count_is
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
const TranslationContext = react.createContext({});
|
|
228
|
+
const useTranslation = () => {
|
|
229
|
+
const { translations } = react.useContext(TranslationContext);
|
|
230
|
+
const translate = react.useCallback((key, data) => {
|
|
231
|
+
let translation = translations?.[key]?.value || en[key]?.value || key;
|
|
232
|
+
if (data && translation) {
|
|
233
|
+
Object.keys(data)?.forEach((key) => {
|
|
234
|
+
translation = translation.replace(new RegExp(`{${key}}`, 'g'), `${data[key]}`);
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
return translation;
|
|
238
|
+
}, [translations]);
|
|
239
|
+
return { translate, translations };
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
const StyledTextContainer = styles.styled('div')(({ theme }) => ({
|
|
243
|
+
marginTop: theme.spacing(2),
|
|
244
|
+
display: 'flex',
|
|
245
|
+
justifyContent: 'center',
|
|
246
|
+
alignItems: 'center',
|
|
247
|
+
}));
|
|
248
|
+
const NotFoundPage = () => {
|
|
249
|
+
const { translate } = useTranslation();
|
|
250
|
+
return (jsxRuntime.jsx(StyledTextContainer, { children: jsxRuntime.jsx(Typography, { children: translate('Page_Not_Found') }) }));
|
|
251
|
+
};
|
|
252
|
+
|
|
253
|
+
const StyledLoadingContainer = styles.styled('div')({
|
|
254
|
+
display: 'flex',
|
|
255
|
+
justifyContent: 'center',
|
|
256
|
+
alignItems: 'center',
|
|
257
|
+
});
|
|
258
|
+
const LazyComponent = ({ children }) => (jsxRuntime.jsx(react.Suspense, { fallback: jsxRuntime.jsx(StyledLoadingContainer, { children: jsxRuntime.jsx(CircularProgress, { size: 56 }) }), children: children }));
|
|
259
|
+
|
|
260
|
+
const SpacerDiv = styles.styled('div')(({ size = 8, variant, children }) => {
|
|
261
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
262
|
+
const style = {
|
|
263
|
+
padding: children ? `${size}px` : undefined,
|
|
264
|
+
};
|
|
265
|
+
if (!children) {
|
|
266
|
+
if (variant === 'horizontal') {
|
|
267
|
+
style.height = `${size}px`;
|
|
268
|
+
}
|
|
269
|
+
else if (variant === 'vertical') {
|
|
270
|
+
style.width = `${size}px`;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
if (variant === 'horizontal') {
|
|
275
|
+
style.margin = `${size}px 0`;
|
|
276
|
+
}
|
|
277
|
+
else if (variant === 'vertical') {
|
|
278
|
+
style.margin = `0 ${size}px`;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return style;
|
|
282
|
+
});
|
|
283
|
+
const Spacer = ({ className, variant, size = 8, children }) => {
|
|
284
|
+
return (jsxRuntime.jsx(SpacerDiv, { className: className, variant: variant, size: size, children: children }));
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
exports.LazyComponent = LazyComponent;
|
|
288
|
+
exports.NotFoundPage = NotFoundPage;
|
|
289
|
+
exports.Spacer = Spacer;
|
|
290
|
+
exports.flipdishPublicTheme = flipdishPublicTheme;
|
|
291
|
+
//# sourceMappingURL=index.js.map
|