@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.
@@ -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