@flipdish/portal-library 1.0.11 → 1.0.13

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 CHANGED
@@ -20,6 +20,12 @@ declare module '@mui/material/styles' {
20
20
 
21
21
  declare const NotFoundPage: () => react_jsx_runtime.JSX.Element;
22
22
 
23
+ type Props = {
24
+ loadedFromPortal: boolean;
25
+ children: React.ReactNode;
26
+ };
27
+ declare const PortalMock: ({ children, loadedFromPortal }: Props) => react_jsx_runtime.JSX.Element;
28
+
23
29
  type LazyComponentProps = {
24
30
  children: ReactNode;
25
31
  };
@@ -33,4 +39,4 @@ interface ISpacerProps {
33
39
  }
34
40
  declare const Spacer: ({ className, variant, size, children }: ISpacerProps) => react_jsx_runtime.JSX.Element;
35
41
 
36
- export { LazyComponent, NotFoundPage, Spacer, _default as flipdishPublicTheme };
42
+ export { LazyComponent, NotFoundPage, PortalMock, Spacer, _default as flipdishPublicTheme };
package/dist/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
- import { createTheme } from '@mui/material';
2
- import { jsx } from 'react/jsx-runtime';
3
- import { styled } from '@mui/material/styles';
1
+ import { createTheme, Typography as Typography$1, Box, CssBaseline, AppBar, Drawer } from '@mui/material';
2
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
3
+ import { styled, useTheme } from '@mui/material/styles';
4
4
  import Typography from '@mui/material/Typography';
5
5
  import { createContext, useContext, useCallback, Suspense } from 'react';
6
6
  import CircularProgress from '@mui/material/CircularProgress';
@@ -248,6 +248,45 @@ const NotFoundPage = () => {
248
248
  return (jsx(StyledTextContainer, { children: jsx(Typography, { children: translate('Page_Not_Found') }) }));
249
249
  };
250
250
 
251
+ const StyledHeader = styled('div')(({ theme }) => ({
252
+ display: 'flex',
253
+ justifyContent: 'center',
254
+ alignItems: 'center',
255
+ backgroundColor: theme.palette.grey[300],
256
+ height: '65px',
257
+ color: theme.palette.text.primary,
258
+ borderBottom: `2px solid ${theme.palette.grey[400]}`,
259
+ }));
260
+ const StyledSidebar = styled('div')(({ theme }) => ({
261
+ display: 'flex',
262
+ justifyContent: 'center',
263
+ alignItems: 'center',
264
+ backgroundColor: theme.palette.grey[300],
265
+ height: '100%',
266
+ color: theme.palette.text.primary,
267
+ }));
268
+ const drawerWidth = 198;
269
+ const PortalMock = ({ children, loadedFromPortal }) => {
270
+ const theme = useTheme();
271
+ if (loadedFromPortal) {
272
+ return jsx(Fragment, { children: children });
273
+ }
274
+ const drawer = (jsx(StyledSidebar, { children: jsx(Typography$1, { sx: { fontWeight: 'bold' }, children: "Sidebar" }) }));
275
+ return (jsxs(Box, { sx: { display: 'flex' }, children: [jsx(CssBaseline, {}), jsx(AppBar, { position: "fixed", sx: {
276
+ width: { sm: `calc(100% - ${drawerWidth}px)` },
277
+ ml: { sm: `${drawerWidth}px` },
278
+ boxShadow: 'none',
279
+ }, children: jsx(StyledHeader, { children: jsx(Typography$1, { sx: { fontWeight: 'bold' }, children: "Header" }) }) }), jsx(Box, { component: "nav", sx: { width: { sm: drawerWidth }, flexShrink: { sm: 0 } }, "aria-label": "mailbox folders", children: jsx(Drawer, { variant: "permanent", sx: {
280
+ display: { xs: 'none', sm: 'block' },
281
+ '& .MuiDrawer-paper': {
282
+ boxSizing: 'border-box',
283
+ width: drawerWidth,
284
+ borderColor: theme.palette.grey[400],
285
+ borderWidth: '2px',
286
+ },
287
+ }, open: true, children: drawer }) }), jsx(Box, { component: "main", sx: { flexGrow: 1, width: { sm: `calc(100% - ${drawerWidth}px)`, marginTop: '65px' } }, children: children })] }));
288
+ };
289
+
251
290
  const StyledLoadingContainer = styled('div')({
252
291
  display: 'flex',
253
292
  justifyContent: 'center',
@@ -282,5 +321,5 @@ const Spacer = ({ className, variant, size = 8, children }) => {
282
321
  return (jsx(SpacerDiv, { className: className, variant: variant, size: size, children: children }));
283
322
  };
284
323
 
285
- export { LazyComponent, NotFoundPage, Spacer, flipdishPublicTheme };
324
+ export { LazyComponent, NotFoundPage, PortalMock, Spacer, flipdishPublicTheme };
286
325
  //# sourceMappingURL=index.esm.js.map
@@ -1 +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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"}
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/PortalMock/PortalMock.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 { styled, useTheme } from '@mui/material/styles';\nimport { AppBar, Box, CssBaseline, Drawer, Typography } from '@mui/material';\n\nconst StyledHeader = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: theme.palette.grey[300],\n height: '65px',\n color: theme.palette.text.primary,\n borderBottom: `2px solid ${theme.palette.grey[400]}`,\n}));\n\nconst StyledSidebar = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: theme.palette.grey[300],\n height: '100%',\n color: theme.palette.text.primary,\n}));\n\ntype Props = {\n loadedFromPortal: boolean;\n children: React.ReactNode;\n};\nconst drawerWidth = 198;\n\nconst PortalMock = ({ children, loadedFromPortal }: Props) => {\n const theme = useTheme();\n\n if (loadedFromPortal) {\n return <>{children}</>;\n }\n\n const drawer = (\n <StyledSidebar>\n <Typography sx={{ fontWeight: 'bold' }}>Sidebar</Typography>\n </StyledSidebar>\n );\n\n return (\n <Box sx={{ display: 'flex' }}>\n <CssBaseline />\n <AppBar\n position=\"fixed\"\n sx={{\n width: { sm: `calc(100% - ${drawerWidth}px)` },\n ml: { sm: `${drawerWidth}px` },\n boxShadow: 'none',\n }}\n >\n <StyledHeader>\n <Typography sx={{ fontWeight: 'bold' }}>Header</Typography>\n </StyledHeader>\n </AppBar>\n <Box component=\"nav\" sx={{ width: { sm: drawerWidth }, flexShrink: { sm: 0 } }} aria-label=\"mailbox folders\">\n <Drawer\n variant=\"permanent\"\n sx={{\n display: { xs: 'none', sm: 'block' },\n '& .MuiDrawer-paper': {\n boxSizing: 'border-box',\n width: drawerWidth,\n borderColor: theme.palette.grey[400],\n borderWidth: '2px',\n },\n }}\n open\n >\n {drawer}\n </Drawer>\n </Box>\n <Box component=\"main\" sx={{ flexGrow: 1, width: { sm: `calc(100% - ${drawerWidth}px)`, marginTop: '65px' } }}>\n {children}\n </Box>\n </Box>\n );\n};\n\nexport default PortalMock;\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","_Fragment","Typography","_jsxs"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -250,6 +250,45 @@ const NotFoundPage = () => {
250
250
  return (jsxRuntime.jsx(StyledTextContainer, { children: jsxRuntime.jsx(Typography, { children: translate('Page_Not_Found') }) }));
251
251
  };
252
252
 
253
+ const StyledHeader = styles.styled('div')(({ theme }) => ({
254
+ display: 'flex',
255
+ justifyContent: 'center',
256
+ alignItems: 'center',
257
+ backgroundColor: theme.palette.grey[300],
258
+ height: '65px',
259
+ color: theme.palette.text.primary,
260
+ borderBottom: `2px solid ${theme.palette.grey[400]}`,
261
+ }));
262
+ const StyledSidebar = styles.styled('div')(({ theme }) => ({
263
+ display: 'flex',
264
+ justifyContent: 'center',
265
+ alignItems: 'center',
266
+ backgroundColor: theme.palette.grey[300],
267
+ height: '100%',
268
+ color: theme.palette.text.primary,
269
+ }));
270
+ const drawerWidth = 198;
271
+ const PortalMock = ({ children, loadedFromPortal }) => {
272
+ const theme = styles.useTheme();
273
+ if (loadedFromPortal) {
274
+ return jsxRuntime.jsx(jsxRuntime.Fragment, { children: children });
275
+ }
276
+ const drawer = (jsxRuntime.jsx(StyledSidebar, { children: jsxRuntime.jsx(material.Typography, { sx: { fontWeight: 'bold' }, children: "Sidebar" }) }));
277
+ return (jsxRuntime.jsxs(material.Box, { sx: { display: 'flex' }, children: [jsxRuntime.jsx(material.CssBaseline, {}), jsxRuntime.jsx(material.AppBar, { position: "fixed", sx: {
278
+ width: { sm: `calc(100% - ${drawerWidth}px)` },
279
+ ml: { sm: `${drawerWidth}px` },
280
+ boxShadow: 'none',
281
+ }, children: jsxRuntime.jsx(StyledHeader, { children: jsxRuntime.jsx(material.Typography, { sx: { fontWeight: 'bold' }, children: "Header" }) }) }), jsxRuntime.jsx(material.Box, { component: "nav", sx: { width: { sm: drawerWidth }, flexShrink: { sm: 0 } }, "aria-label": "mailbox folders", children: jsxRuntime.jsx(material.Drawer, { variant: "permanent", sx: {
282
+ display: { xs: 'none', sm: 'block' },
283
+ '& .MuiDrawer-paper': {
284
+ boxSizing: 'border-box',
285
+ width: drawerWidth,
286
+ borderColor: theme.palette.grey[400],
287
+ borderWidth: '2px',
288
+ },
289
+ }, open: true, children: drawer }) }), jsxRuntime.jsx(material.Box, { component: "main", sx: { flexGrow: 1, width: { sm: `calc(100% - ${drawerWidth}px)`, marginTop: '65px' } }, children: children })] }));
290
+ };
291
+
253
292
  const StyledLoadingContainer = styles.styled('div')({
254
293
  display: 'flex',
255
294
  justifyContent: 'center',
@@ -286,6 +325,7 @@ const Spacer = ({ className, variant, size = 8, children }) => {
286
325
 
287
326
  exports.LazyComponent = LazyComponent;
288
327
  exports.NotFoundPage = NotFoundPage;
328
+ exports.PortalMock = PortalMock;
289
329
  exports.Spacer = Spacer;
290
330
  exports.flipdishPublicTheme = flipdishPublicTheme;
291
331
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.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":["createTheme","createContext","useContext","useCallback","styled","_jsx","Suspense"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/themes/flipdishPublicTheme.ts","../src/providers/TranslationProvider.tsx","../src/components/ui/NotFoundPage/NotFoundPage.tsx","../src/components/ui/PortalMock/PortalMock.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 { styled, useTheme } from '@mui/material/styles';\nimport { AppBar, Box, CssBaseline, Drawer, Typography } from '@mui/material';\n\nconst StyledHeader = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: theme.palette.grey[300],\n height: '65px',\n color: theme.palette.text.primary,\n borderBottom: `2px solid ${theme.palette.grey[400]}`,\n}));\n\nconst StyledSidebar = styled('div')(({ theme }) => ({\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: theme.palette.grey[300],\n height: '100%',\n color: theme.palette.text.primary,\n}));\n\ntype Props = {\n loadedFromPortal: boolean;\n children: React.ReactNode;\n};\nconst drawerWidth = 198;\n\nconst PortalMock = ({ children, loadedFromPortal }: Props) => {\n const theme = useTheme();\n\n if (loadedFromPortal) {\n return <>{children}</>;\n }\n\n const drawer = (\n <StyledSidebar>\n <Typography sx={{ fontWeight: 'bold' }}>Sidebar</Typography>\n </StyledSidebar>\n );\n\n return (\n <Box sx={{ display: 'flex' }}>\n <CssBaseline />\n <AppBar\n position=\"fixed\"\n sx={{\n width: { sm: `calc(100% - ${drawerWidth}px)` },\n ml: { sm: `${drawerWidth}px` },\n boxShadow: 'none',\n }}\n >\n <StyledHeader>\n <Typography sx={{ fontWeight: 'bold' }}>Header</Typography>\n </StyledHeader>\n </AppBar>\n <Box component=\"nav\" sx={{ width: { sm: drawerWidth }, flexShrink: { sm: 0 } }} aria-label=\"mailbox folders\">\n <Drawer\n variant=\"permanent\"\n sx={{\n display: { xs: 'none', sm: 'block' },\n '& .MuiDrawer-paper': {\n boxSizing: 'border-box',\n width: drawerWidth,\n borderColor: theme.palette.grey[400],\n borderWidth: '2px',\n },\n }}\n open\n >\n {drawer}\n </Drawer>\n </Box>\n <Box component=\"main\" sx={{ flexGrow: 1, width: { sm: `calc(100% - ${drawerWidth}px)`, marginTop: '65px' } }}>\n {children}\n </Box>\n </Box>\n );\n};\n\nexport default PortalMock;\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":["createTheme","createContext","useContext","useCallback","styled","_jsx","useTheme","_Fragment","Typography","_jsxs","Box","CssBaseline","AppBar","Drawer","Suspense"],"mappings":";;;;;;;;;AAEA;AACA,MAAM,SAAS,GAAGA,oBAAW,CAAC;AAC1B,IAAA,UAAU,EAAE;AACR,QAAA,KAAK,EAAE;AACH,YAAA,UAAU,EAAE,sBAAsB;AACrC,SAAA;AACD,QAAA,KAAK,EAAE;AACH,YAAA,UAAU,EAAE,sBAAsB;AACrC,SAAA;AACD,QAAA,EAAE,EAAE;AACA,YAAA,UAAU,EAAE,iCAAiC;AAChD,SAAA;AACD,QAAA,EAAE,EAAE;AACA,YAAA,UAAU,EAAE,iCAAiC;AAChD,SAAA;AACD,QAAA,EAAE,EAAE;AACA,YAAA,UAAU,EAAE,iCAAiC;AAChD,SAAA;AACD,QAAA,EAAE,EAAE;AACA,YAAA,UAAU,EAAE,iCAAiC;AAChD,SAAA;AACD,QAAA,EAAE,EAAE;AACA,YAAA,UAAU,EAAE,iCAAiC;AAChD,SAAA;AACD,QAAA,EAAE,EAAE;AACA,YAAA,UAAU,EAAE,iCAAiC;AAChD,SAAA;AACJ,KAAA;AACD,IAAA,OAAO,EAAE;AACL,QAAA,OAAO,EAAE;AACL,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AACnB,SAAA;AACD,QAAA,KAAK,EAAE;AACH,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AACnB,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AACnB,SAAA;AACJ,KAAA;AACJ,CAAA,CAAC,CAAC;AAEH,MAAM,KAAK,GAAGA,oBAAW,CAAC,SAAS,EAAE;AACjC,IAAA,OAAO,EAAE;;AAEL,QAAA,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;AAClC,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,SAAS;AAClB,aAAA;AACD,YAAA,IAAI,EAAE,OAAO;SAChB,CAAC;AACF,QAAA,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;AAClC,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,SAAS;AAClB,aAAA;AACD,YAAA,IAAI,EAAE,OAAO;SAChB,CAAC;AACF,QAAA,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;AACvC,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,SAAS;AAClB,aAAA;AACD,YAAA,IAAI,EAAE,YAAY;SACrB,CAAC;;AAEF,QAAA,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;AACxC,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,SAAS;AAClB,aAAA;AACD,YAAA,IAAI,EAAE,aAAa;SACtB,CAAC;AACF,QAAA,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;AACzC,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,SAAS;AAClB,aAAA;AACD,YAAA,IAAI,EAAE,cAAc;SACvB,CAAC;AACF,QAAA,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;AACnC,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,SAAS;AAClB,aAAA;AACD,YAAA,IAAI,EAAE,QAAQ;SACjB,CAAC;;AAEF,QAAA,UAAU,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;AACvC,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,SAAS;AAClB,aAAA;AACD,YAAA,IAAI,EAAE,YAAY;SACrB,CAAC;AACF,QAAA,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;AACxC,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,SAAS;AAClB,aAAA;AACD,YAAA,IAAI,EAAE,aAAa;SACtB,CAAC;AACF,QAAA,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;AACpC,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,KAAK,EAAE,SAAS;AACnB,aAAA;AACD,YAAA,IAAI,EAAE,SAAS;SAClB,CAAC;AACL,KAAA;AACJ,CAAA,CAAC,CAAC;AAEH,0BAAeA,oBAAW,CAAC,KAAK,EAAE;AAC9B,IAAA,OAAO,EAAE;AACL,QAAA,OAAO,EAAE;AACL,YAAA,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;AACtC,SAAA;AACD,QAAA,SAAS,EAAE;AACP,YAAA,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI;AACxC,SAAA;AACJ,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,SAAS,EAAE;AACP,YAAA,cAAc,EAAE;AACZ,gBAAA,IAAI,EAAE;AACF,oBAAA,OAAO,EAAE,UAAU;AACnB,oBAAA,aAAa,EAAE,MAAM;AACrB,oBAAA,SAAS,EAAE,MAAM;AACjB,oBAAA,SAAS,EAAE;AACP,wBAAA,SAAS,EAAE,MAAM;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE,MAAM;AACvB,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,cAAc,EAAE;AACZ,gBAAA,IAAI,EAAE;AACF,oBAAA,YAAY,EAAE,CAAC;AACf,oBAAA,SAAS,EAAE,MAAM;AACjB,oBAAA,WAAW,EAAE,KAAK;AAClB,oBAAA,WAAW,EAAE,OAAO;AACpB,oBAAA,WAAW,EAAE,SAAS;AACzB,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,EAAE;AACL,YAAA,cAAc,EAAE;AACZ,gBAAA,IAAI,EAAE;AACF,oBAAA,YAAY,EAAE,KAAK;AACnB,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,aAAa,EAAE,WAAW;AAC7B,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,iBAAiB,EAAE;AACf,YAAA,cAAc,EAAE;AACZ,gBAAA,IAAI,EAAE;AACF,oBAAA,SAAS,EAAE;AACP,wBAAA,eAAe,EAAE,SAAS;AAC7B,qBAAA;AACD,oBAAA,oBAAoB,EAAE;AAClB,wBAAA,YAAY,EAAE,CAAa,UAAA,EAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAE,CAAA;AACrD,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AACJ,KAAA;AACJ,CAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3JF,MAAM,kBAAkB,GAAGC,mBAAa,CAAkB,EAAgC,CAAC,CAAC;AAWrF,MAAM,cAAc,GAAG,MAG1B;IACA,MAAM,EAAE,YAAY,EAAE,GAAGC,gBAAU,CAAC,kBAAkB,CAAC,CAAC;IAExD,MAAM,SAAS,GAAGC,iBAAW,CACzB,CAAC,GAAkB,EAAE,IAAsC,KAAY;AACnE,QAAA,IAAI,WAAW,GAAG,YAAY,GAAG,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC;AACtE,QAAA,IAAI,IAAI,IAAI,WAAW,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,KAAI;gBAC/B,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,CAAA,CAAA,EAAI,GAAG,CAAA,CAAA,CAAG,EAAE,GAAG,CAAC,EAAE,CAAG,EAAA,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA,CAAC,CAAC;AACnF,aAAC,CAAC,CAAC;SACN;AACD,QAAA,OAAO,WAAW,CAAC;AACvB,KAAC,EACD,CAAC,YAAY,CAAC,CACjB,CAAC;AACF,IAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;AACvC,CAAC;;ACxCD,MAAM,mBAAmB,GAAGC,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AACtD,IAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3B,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,UAAU,EAAE,QAAQ;AACvB,CAAA,CAAC,CAAC,CAAC;AAEE,MAAA,YAAY,GAAG,MAAK;AACtB,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;AACvC,IAAA,QACIC,cAAA,CAAC,mBAAmB,EAAA,EAAA,QAAA,EAChBA,eAAC,UAAU,EAAA,EAAA,QAAA,EAAE,SAAS,CAAC,gBAAgB,CAAC,EAAc,CAAA,EAAA,CACpC,EACxB;AACN;;ACfA,MAAM,YAAY,GAAGD,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AAC/C,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,UAAU,EAAE,QAAQ;IACpB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;IACjC,YAAY,EAAE,CAAa,UAAA,EAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAA;AACvD,CAAA,CAAC,CAAC,CAAC;AAEJ,MAAM,aAAa,GAAGA,aAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;AAChD,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,UAAU,EAAE,QAAQ;IACpB,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACxC,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO;AACpC,CAAA,CAAC,CAAC,CAAC;AAMJ,MAAM,WAAW,GAAG,GAAG,CAAC;AAElB,MAAA,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAS,KAAI;AACzD,IAAA,MAAM,KAAK,GAAGE,eAAQ,EAAE,CAAC;IAEzB,IAAI,gBAAgB,EAAE;QAClB,OAAOD,cAAA,CAAAE,mBAAA,EAAA,EAAA,QAAA,EAAG,QAAQ,EAAA,CAAI,CAAC;KAC1B;AAED,IAAA,MAAM,MAAM,IACRF,eAAC,aAAa,EAAA,EAAA,QAAA,EACVA,eAACG,mBAAU,EAAA,EAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAsB,QAAA,EAAA,SAAA,EAAA,CAAA,EAAA,CAChD,CACnB,CAAC;IAEF,QACIC,eAAC,CAAAC,YAAG,EAAC,EAAA,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAA,QAAA,EAAA,CACxBL,eAACM,oBAAW,EAAA,EAAA,CAAG,EACfN,cAAA,CAACO,eAAM,EAAA,EACH,QAAQ,EAAC,OAAO,EAChB,EAAE,EAAE;AACA,oBAAA,KAAK,EAAE,EAAE,EAAE,EAAE,CAAe,YAAA,EAAA,WAAW,KAAK,EAAE;AAC9C,oBAAA,EAAE,EAAE,EAAE,EAAE,EAAE,CAAG,EAAA,WAAW,IAAI,EAAE;AAC9B,oBAAA,SAAS,EAAE,MAAM;iBACpB,EAED,QAAA,EAAAP,cAAA,CAAC,YAAY,EAAA,EAAA,QAAA,EACTA,cAAC,CAAAG,mBAAU,IAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAqB,QAAA,EAAA,QAAA,EAAA,CAAA,EAAA,CAChD,EACV,CAAA,EACTH,cAAC,CAAAK,YAAG,EAAC,EAAA,SAAS,EAAC,KAAK,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAA,YAAA,EAAa,iBAAiB,EAAA,QAAA,EACxGL,cAAC,CAAAQ,eAAM,EACH,EAAA,OAAO,EAAC,WAAW,EACnB,EAAE,EAAE;wBACA,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE;AACpC,wBAAA,oBAAoB,EAAE;AAClB,4BAAA,SAAS,EAAE,YAAY;AACvB,4BAAA,KAAK,EAAE,WAAW;4BAClB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;AACpC,4BAAA,WAAW,EAAE,KAAK;AACrB,yBAAA;AACJ,qBAAA,EACD,IAAI,EAEH,IAAA,EAAA,QAAA,EAAA,MAAM,EACF,CAAA,EAAA,CACP,EACNR,cAAC,CAAAK,YAAG,EAAC,EAAA,SAAS,EAAC,MAAM,EAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAe,YAAA,EAAA,WAAW,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAA,QAAA,EACvG,QAAQ,EACP,CAAA,CAAA,EAAA,CACJ,EACR;AACN;;ACrEA,MAAM,sBAAsB,GAAGN,aAAM,CAAC,KAAK,CAAC,CAAC;AACzC,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,UAAU,EAAE,QAAQ;AACvB,CAAA,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAsB,MACnDC,cAAC,CAAAS,cAAQ,IACL,QAAQ,EACJT,cAAC,CAAA,sBAAsB,EACnB,EAAA,QAAA,EAAAA,cAAA,CAAC,gBAAgB,EAAA,EAAC,IAAI,EAAE,EAAE,EAAA,CAAI,EACT,CAAA,EAAA,QAAA,EAG5B,QAAQ,EAAA,CACF;;ACdf,MAAM,SAAS,GAAGD,aAAM,CAAC,KAAK,CAAC,CAAe,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAI;;AAE9E,IAAA,MAAM,KAAK,GAAQ;QACf,OAAO,EAAE,QAAQ,GAAG,CAAG,EAAA,IAAI,CAAI,EAAA,CAAA,GAAG,SAAS;KAC9C,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE;AACX,QAAA,IAAI,OAAO,KAAK,YAAY,EAAE;AAC1B,YAAA,KAAK,CAAC,MAAM,GAAG,CAAG,EAAA,IAAI,IAAI,CAAC;SAC9B;AAAM,aAAA,IAAI,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,KAAK,CAAC,KAAK,GAAG,CAAG,EAAA,IAAI,IAAI,CAAC;SAC7B;KACJ;SAAM;AACH,QAAA,IAAI,OAAO,KAAK,YAAY,EAAE;AAC1B,YAAA,KAAK,CAAC,MAAM,GAAG,CAAG,EAAA,IAAI,MAAM,CAAC;SAChC;AAAM,aAAA,IAAI,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,KAAK,CAAC,MAAM,GAAG,CAAK,EAAA,EAAA,IAAI,IAAI,CAAC;SAChC;KACJ;AAED,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAgB,KAAI;AACxE,IAAA,QACIC,cAAC,CAAA,SAAS,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,YACxD,QAAQ,EAAA,CACD,EACd;AACN;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flipdish/portal-library",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "files": [
5
5
  "dist"
6
6
  ],