@flipdish/portal-library 1.0.69 → 1.0.71

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.
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("./themes/flipdishPublicTheme.cjs.js"),i=require("./ui/NotFoundPage/NotFoundPage.cjs.js"),r=require("./ui/FlipdishStaffContainer/FlipdishStaffContainer.cjs.js"),t=require("./ui/PageLayout/PageLayout.cjs.js"),s=require("./ui/PortalMock/PortalMock.cjs.js"),o=require("./ui/LazyComponent/LazyComponent.cjs.js"),c=require("./ui/Spacer/Spacer.cjs.js"),u=require("./ui/Chip/Chip.cjs.js"),n=require("./ui/Switch/Switch.cjs.js"),a=require("./ui/Form/utilities/formValidation.cjs.js"),d=require("./ui/Form/GenericAutocompleteField.cjs.js"),l=require("./ui/Form/GenericFormContainer.cjs.js"),p=require("./ui/Form/GenericTextField.cjs.js"),j=require("./ui/Form/PaginatedAutocompleteField.cjs.js"),x=require("./ui/GenericDatePickerField/GenericDatePickerField.cjs.js"),m=require("./ui/GenericDateTimePickerField/GenericDateTimePickerField.cjs.js"),q=require("./ui/GenericRadioButtons/GenericRadioButtons.cjs.js"),F=require("./ui/DateTimeLocalizationProvider/DateTimeLocalizationProvider.cjs.js"),T=require("./ui/GenericTable/GenericTable.cjs.js"),G=require("./ui/GenericTableBody/GenericTableBody.cjs.js"),L=require("./ui/GenericTableBodyRow/GenericTableBodyRow.cjs.js"),h=require("./ui/GenericTableTitle/GenericTableTitle.cjs.js"),P=require("./ui/ListItemLink/ListItemLink.cjs.js"),g=require("./ui/ListItemLinkButton/ListItemLinkButton.cjs.js"),b=require("./ui/NoResults/NoResults.cjs.js"),k=require("@mui/icons-material/Search"),y=require("@mui/icons-material/CalendarToday"),I=require("./custom-hooks/useRenderValidText.cjs.js"),f=require("./custom-hooks/useMicroFrontendAttributes.cjs.js"),B=require("./renderUtilities/renderUtilities.cjs.js"),C=require("./genericUtilities/index.cjs.js");exports.flipdishPublicTheme=e,exports.NotFoundPage=i,exports.FlipdishStaffContainer=r,exports.PageLayout=t.default,exports.PortalMock=s,exports.LazyComponent=o,exports.Spacer=c,exports.Chip=u,exports.Switch=n,exports.formikValidate=a.formikValidate,exports.GenericAutocompleteField=d,exports.GenericFormContainer=l,exports.GenericTextField=p,exports.PaginatedAutocompleteField=j,exports.GenericDatePickerField=x,exports.GenericDateTimePickerField=m,exports.GenericRadioButtons=q,exports.DateTimeLocalizationProvider=F,exports.GenericTable=T,exports.GenericTableBody=G,exports.GenericTableBodyRow=L,exports.GenericTableTitle=h,exports.ListItemLink=P,exports.ListItemLinkButton=g.ListItemLinkButton,exports.NoResults=b,exports.SearchIcon=k,exports.CalendarTodayIcon=y,exports.useRenderValidText=I,exports.useMicroFrontendAttributes=f,exports.getAppId=B.getAppId,exports.getBrandId=B.getBrandId,exports.getIsFlipdishStaff=B.getIsFlipdishStaff,exports.getMicroFrontendAttribute=B.getMicroFrontendAttribute,exports.getOrgId=B.getOrgId,exports.lazyWithRetry=B.lazyWithRetry,exports.debounce=C.debounce;
1
+ "use strict";var e=require("./themes/flipdishPublicTheme.cjs.js"),i=require("./ui/NotFoundPage/NotFoundPage.cjs.js"),r=require("./ui/FlipdishStaffContainer/FlipdishStaffContainer.cjs.js"),t=require("./ui/PageLayout/PageLayout.cjs.js"),s=require("./ui/PortalMock/PortalMock.cjs.js"),o=require("./ui/LazyComponent/LazyComponent.cjs.js"),c=require("./ui/Spacer/Spacer.cjs.js"),u=require("./ui/Chip/Chip.cjs.js"),n=require("./ui/Switch/Switch.cjs.js"),a=require("./ui/Form/utilities/formValidation.cjs.js"),l=require("./ui/Form/GenericAutocompleteField.cjs.js"),d=require("./ui/Form/GenericFormContainer.cjs.js"),p=require("./ui/Form/GenericTextField.cjs.js"),j=require("./ui/Form/PaginatedAutocompleteField.cjs.js"),m=require("./ui/GenericDatePickerField/GenericDatePickerField.cjs.js"),x=require("./ui/GenericDateTimePickerField/GenericDateTimePickerField.cjs.js"),q=require("./ui/GenericRadioButtons/GenericRadioButtons.cjs.js"),F=require("./ui/DateTimeLocalizationProvider/DateTimeLocalizationProvider.cjs.js"),T=require("./ui/GenericTable/GenericTable.cjs.js"),G=require("./ui/GenericTableBody/GenericTableBody.cjs.js"),L=require("./ui/GenericTableBodyRow/GenericTableBodyRow.cjs.js"),h=require("./ui/GenericTableTitle/GenericTableTitle.cjs.js"),P=require("./ui/ListItemLink/ListItemLink.cjs.js"),g=require("./ui/ListItemLinkButton/ListItemLinkButton.cjs.js"),b=require("./ui/NoResults/NoResults.cjs.js"),k=require("@mui/icons-material/Search"),I=require("@mui/icons-material/CalendarToday"),y=require("@mui/icons-material/AccessTime"),f=require("@mui/icons-material/Done"),B=require("./custom-hooks/useRenderValidText.cjs.js"),C=require("./custom-hooks/useMicroFrontendAttributes.cjs.js"),R=require("./renderUtilities/renderUtilities.cjs.js"),S=require("./genericUtilities/index.cjs.js");exports.flipdishPublicTheme=e,exports.NotFoundPage=i,exports.FlipdishStaffContainer=r,exports.PageLayout=t.default,exports.PortalMock=s,exports.LazyComponent=o,exports.Spacer=c,exports.Chip=u.default,exports.Switch=n,exports.formikValidate=a.formikValidate,exports.GenericAutocompleteField=l,exports.GenericFormContainer=d,exports.GenericTextField=p,exports.PaginatedAutocompleteField=j,exports.GenericDatePickerField=m,exports.GenericDateTimePickerField=x,exports.GenericRadioButtons=q,exports.DateTimeLocalizationProvider=F,exports.GenericTable=T,exports.GenericTableBody=G,exports.GenericTableBodyRow=L,exports.GenericTableTitle=h,exports.ListItemLink=P,exports.ListItemLinkButton=g.ListItemLinkButton,exports.NoResults=b,exports.SearchIcon=k,exports.CalendarTodayIcon=I,exports.AccessTimeIcon=y,exports.DoneIcon=f,exports.useRenderValidText=B,exports.useMicroFrontendAttributes=C,exports.getAppId=R.getAppId,exports.getBrandId=R.getBrandId,exports.getIsFlipdishStaff=R.getIsFlipdishStaff,exports.getMicroFrontendAttribute=R.getMicroFrontendAttribute,exports.getOrgId=R.getOrgId,exports.lazyWithRetry=R.lazyWithRetry,exports.debounce=S.debounce;
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -26,6 +26,8 @@ export { default as ListItemLinkButton } from './ui/ListItemLinkButton/ListItemL
26
26
  export { default as NoResults } from './ui/NoResults/NoResults.js';
27
27
  export { default as SearchIcon } from '@mui/icons-material/Search';
28
28
  export { default as CalendarTodayIcon } from '@mui/icons-material/CalendarToday';
29
+ export { default as AccessTimeIcon } from '@mui/icons-material/AccessTime';
30
+ export { default as DoneIcon } from '@mui/icons-material/Done';
29
31
  export { default as useRenderValidText } from './custom-hooks/useRenderValidText.js';
30
32
  export { default as useMicroFrontendAttributes } from './custom-hooks/useMicroFrontendAttributes.js';
31
33
  export { getAppId, getBrandId, getIsFlipdishStaff, getMicroFrontendAttribute, getOrgId, lazyWithRetry } from './renderUtilities/renderUtilities.js';
@@ -1,2 +1,2 @@
1
- export{default as flipdishPublicTheme}from"./themes/flipdishPublicTheme.js";export{default as NotFoundPage}from"./ui/NotFoundPage/NotFoundPage.js";export{default as FlipdishStaffContainer}from"./ui/FlipdishStaffContainer/FlipdishStaffContainer.js";export{default as PageLayout}from"./ui/PageLayout/PageLayout.js";export{default as PortalMock}from"./ui/PortalMock/PortalMock.js";export{default as LazyComponent}from"./ui/LazyComponent/LazyComponent.js";export{default as Spacer}from"./ui/Spacer/Spacer.js";export{default as Chip}from"./ui/Chip/Chip.js";export{default as Switch}from"./ui/Switch/Switch.js";export{formikValidate}from"./ui/Form/utilities/formValidation.js";export{default as GenericAutocompleteField}from"./ui/Form/GenericAutocompleteField.js";export{default as GenericFormContainer}from"./ui/Form/GenericFormContainer.js";export{default as GenericTextField}from"./ui/Form/GenericTextField.js";export{default as PaginatedAutocompleteField}from"./ui/Form/PaginatedAutocompleteField.js";export{default as GenericDatePickerField}from"./ui/GenericDatePickerField/GenericDatePickerField.js";export{default as GenericDateTimePickerField}from"./ui/GenericDateTimePickerField/GenericDateTimePickerField.js";export{default as GenericRadioButtons}from"./ui/GenericRadioButtons/GenericRadioButtons.js";export{default as DateTimeLocalizationProvider}from"./ui/DateTimeLocalizationProvider/DateTimeLocalizationProvider.js";export{default as GenericTable}from"./ui/GenericTable/GenericTable.js";export{default as GenericTableBody}from"./ui/GenericTableBody/GenericTableBody.js";export{default as GenericTableBodyRow}from"./ui/GenericTableBodyRow/GenericTableBodyRow.js";export{default as GenericTableTitle}from"./ui/GenericTableTitle/GenericTableTitle.js";export{default as ListItemLink}from"./ui/ListItemLink/ListItemLink.js";export{ListItemLinkButton}from"./ui/ListItemLinkButton/ListItemLinkButton.js";export{default as NoResults}from"./ui/NoResults/NoResults.js";export{default as SearchIcon}from"@mui/icons-material/Search";export{default as CalendarTodayIcon}from"@mui/icons-material/CalendarToday";export{default as useRenderValidText}from"./custom-hooks/useRenderValidText.js";export{default as useMicroFrontendAttributes}from"./custom-hooks/useMicroFrontendAttributes.js";export{getAppId,getBrandId,getIsFlipdishStaff,getMicroFrontendAttribute,getOrgId,lazyWithRetry}from"./renderUtilities/renderUtilities.js";export{debounce}from"./genericUtilities/index.js";
1
+ export{default as flipdishPublicTheme}from"./themes/flipdishPublicTheme.js";export{default as NotFoundPage}from"./ui/NotFoundPage/NotFoundPage.js";export{default as FlipdishStaffContainer}from"./ui/FlipdishStaffContainer/FlipdishStaffContainer.js";export{default as PageLayout}from"./ui/PageLayout/PageLayout.js";export{default as PortalMock}from"./ui/PortalMock/PortalMock.js";export{default as LazyComponent}from"./ui/LazyComponent/LazyComponent.js";export{default as Spacer}from"./ui/Spacer/Spacer.js";export{default as Chip}from"./ui/Chip/Chip.js";export{default as Switch}from"./ui/Switch/Switch.js";export{formikValidate}from"./ui/Form/utilities/formValidation.js";export{default as GenericAutocompleteField}from"./ui/Form/GenericAutocompleteField.js";export{default as GenericFormContainer}from"./ui/Form/GenericFormContainer.js";export{default as GenericTextField}from"./ui/Form/GenericTextField.js";export{default as PaginatedAutocompleteField}from"./ui/Form/PaginatedAutocompleteField.js";export{default as GenericDatePickerField}from"./ui/GenericDatePickerField/GenericDatePickerField.js";export{default as GenericDateTimePickerField}from"./ui/GenericDateTimePickerField/GenericDateTimePickerField.js";export{default as GenericRadioButtons}from"./ui/GenericRadioButtons/GenericRadioButtons.js";export{default as DateTimeLocalizationProvider}from"./ui/DateTimeLocalizationProvider/DateTimeLocalizationProvider.js";export{default as GenericTable}from"./ui/GenericTable/GenericTable.js";export{default as GenericTableBody}from"./ui/GenericTableBody/GenericTableBody.js";export{default as GenericTableBodyRow}from"./ui/GenericTableBodyRow/GenericTableBodyRow.js";export{default as GenericTableTitle}from"./ui/GenericTableTitle/GenericTableTitle.js";export{default as ListItemLink}from"./ui/ListItemLink/ListItemLink.js";export{ListItemLinkButton}from"./ui/ListItemLinkButton/ListItemLinkButton.js";export{default as NoResults}from"./ui/NoResults/NoResults.js";export{default as SearchIcon}from"@mui/icons-material/Search";export{default as CalendarTodayIcon}from"@mui/icons-material/CalendarToday";export{default as AccessTimeIcon}from"@mui/icons-material/AccessTime";export{default as DoneIcon}from"@mui/icons-material/Done";export{default as useRenderValidText}from"./custom-hooks/useRenderValidText.js";export{default as useMicroFrontendAttributes}from"./custom-hooks/useMicroFrontendAttributes.js";export{getAppId,getBrandId,getIsFlipdishStaff,getMicroFrontendAttribute,getOrgId,lazyWithRetry}from"./renderUtilities/renderUtilities.js";export{debounce}from"./genericUtilities/index.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("@mui/material/Chip"),o=require("@mui/material/styles");const l=o.styled(r,{shouldForwardProp:e=>"colour"!==e&&"rounded"!==e})((({theme:e,colour:r,rounded:o})=>({backgroundColor:"blue"===r?e.palette.flippyBlue.light:"default",borderRadius:o?"100px":"5px"}))),d=o.styled(r,{shouldForwardProp:e=>"colour"!==e&&"rounded"!==e})((({theme:e,colour:r,rounded:o})=>({borderColor:"blue"===r?e.palette.flippyBlue.dark:"default",borderRadius:o?"100px":"5px"})));module.exports=({label:r,color:o="default",size:u="medium",variant:i="filled",icon:a,rounded:t=!0})=>"outlined"===i?e.jsx(d,{icon:a,label:r,colour:o,size:u,variant:"outlined",rounded:t}):e.jsx(l,{icon:a,label:r,colour:o,size:u,variant:"filled",rounded:t});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@mui/material/Chip"),l=require("@mui/material/styles");const o=["filled","outlined"],t=(e,r,l)=>({blue:{filled:{backgroundColor:r.palette.flippyBlue.light,color:r.palette.flippyBlue.dark},outlined:{borderColor:r.palette.flippyBlue.dark,color:r.palette.flippyBlue.dark}},success:{filled:{backgroundColor:r.palette.success.light,color:r.palette.success.dark},outlined:{borderColor:r.palette.success.main,color:r.palette.success.main}},warning:{filled:{backgroundColor:r.palette.warning.light,color:r.palette.warning.dark},outlined:{borderColor:r.palette.warning.main,color:r.palette.warning.dark}},error:{filled:{backgroundColor:r.palette.error.light,color:r.palette.error.dark},outlined:{borderColor:r.palette.error.main,color:r.palette.error.main}},default:{filled:{},outlined:{}}}[e][l]),a=l.styled(r,{shouldForwardProp:e=>"colour"!==e&&"rounded"!==e})((({theme:e,colour:r,rounded:l,variant:a=o[0]})=>({borderRadius:l?"100px":"5px","& .MuiChip-icon":{color:"inherit"},...t(r,e,a)})));exports.CHIP_VARIANTS=o,exports.default=({label:r,color:l="default",size:o="medium",variant:t="filled",icon:i,rounded:d=!0})=>e.jsx(a,{icon:i,label:r,colour:l,size:o,variant:t,rounded:d});
2
2
  //# sourceMappingURL=Chip.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.cjs.js","sources":["../../../../src/components/ui/Chip/Chip.tsx"],"sourcesContent":["import MuiChip, { type ChipProps as MuiChipProps } from '@mui/material/Chip';\nimport { styled } from '@mui/material/styles';\n\nexport type ChipProps = {\n label: string;\n color?: 'default' | 'blue';\n size?: MuiChipProps['size'];\n variant?: MuiChipProps['variant'];\n icon?: MuiChipProps['icon'];\n rounded?: boolean;\n};\n\nconst StyledFilledChip = styled(MuiChip, {\n shouldForwardProp: (prop) => prop !== 'colour' && prop !== 'rounded',\n})<{ colour: string; rounded: boolean }>(({ theme, colour, rounded }) => ({\n backgroundColor: colour === 'blue' ? theme.palette.flippyBlue.light : 'default',\n borderRadius: rounded ? '100px' : '5px',\n}));\n\nconst StyledOutlinedChip = styled(MuiChip, {\n shouldForwardProp: (prop) => prop !== 'colour' && prop !== 'rounded',\n})<{ colour: string; rounded: boolean }>(({ theme, colour, rounded }) => ({\n borderColor: colour === 'blue' ? theme.palette.flippyBlue.dark : 'default',\n borderRadius: rounded ? '100px' : '5px',\n}));\n\nconst Chip = ({ label, color = 'default', size = 'medium', variant = 'filled', icon = undefined, rounded = true }: ChipProps) => {\n if (variant === 'outlined') {\n return <StyledOutlinedChip icon={icon} label={label} colour={color} size={size} variant=\"outlined\" rounded={rounded} />;\n }\n return <StyledFilledChip icon={icon} label={label} colour={color} size={size} variant=\"filled\" rounded={rounded} />;\n};\n\nexport default Chip;\n"],"names":["StyledFilledChip","styled","MuiChip","shouldForwardProp","prop","theme","colour","rounded","backgroundColor","palette","flippyBlue","light","borderRadius","StyledOutlinedChip","borderColor","dark","label","color","size","variant","icon","_jsx"],"mappings":"kHAYA,MAAMA,EAAmBC,EAAMA,OAACC,EAAS,CACrCC,kBAAoBC,GAAkB,WAATA,GAA8B,YAATA,GAD7BH,EAEgB,EAAGI,QAAOC,SAAQC,cAAe,CACtEC,gBAA4B,SAAXF,EAAoBD,EAAMI,QAAQC,WAAWC,MAAQ,UACtEC,aAAcL,EAAU,QAAU,UAGhCM,EAAqBZ,EAAMA,OAACC,EAAS,CACvCC,kBAAoBC,GAAkB,WAATA,GAA8B,YAATA,GAD3BH,EAEc,EAAGI,QAAOC,SAAQC,cAAe,CACtEO,YAAwB,SAAXR,EAAoBD,EAAMI,QAAQC,WAAWK,KAAO,UACjEH,aAAcL,EAAU,QAAU,yBAGzB,EAAGS,QAAOC,QAAQ,UAAWC,OAAO,SAAUC,UAAU,SAAUC,OAAkBb,WAAU,KACvF,aAAZY,EACOE,EAAAA,IAACR,EAAkB,CAACO,KAAMA,EAAMJ,MAAOA,EAAOV,OAAQW,EAAOC,KAAMA,EAAMC,QAAQ,WAAWZ,QAASA,IAEzGc,EAAAA,IAACrB,EAAgB,CAACoB,KAAMA,EAAMJ,MAAOA,EAAOV,OAAQW,EAAOC,KAAMA,EAAMC,QAAQ,SAASZ,QAASA"}
1
+ {"version":3,"file":"Chip.cjs.js","sources":["../../../../src/components/ui/Chip/Chip.tsx"],"sourcesContent":["import MuiChip, { type ChipProps as MuiChipProps } from '@mui/material/Chip';\nimport { styled, type Theme } from '@mui/material/styles';\n\nexport const CHIP_COLORS = ['default', 'blue', 'success', 'warning', 'error'] as const;\nexport type ChipColor = (typeof CHIP_COLORS)[number];\n\nexport const CHIP_VARIANTS = ['filled', 'outlined'] as const;\nexport type ChipVariant = (typeof CHIP_VARIANTS)[number];\n\nexport type ChipProps = {\n label: string;\n color?: ChipColor;\n size?: MuiChipProps['size'];\n variant?: ChipVariant;\n icon?: MuiChipProps['icon'];\n rounded?: boolean;\n};\n\ntype StyledChipProps = {\n colour: ChipColor;\n rounded: boolean;\n variant?: ChipVariant;\n};\n\nconst getColorStyles = (colour: ChipColor, theme: Theme, variant: ChipVariant) => {\n const colorMap = {\n blue: {\n filled: {\n backgroundColor: theme.palette.flippyBlue.light,\n color: theme.palette.flippyBlue.dark,\n },\n outlined: {\n borderColor: theme.palette.flippyBlue.dark,\n color: theme.palette.flippyBlue.dark,\n },\n },\n success: {\n filled: {\n backgroundColor: theme.palette.success.light,\n color: theme.palette.success.dark,\n },\n outlined: {\n borderColor: theme.palette.success.main,\n color: theme.palette.success.main,\n },\n },\n warning: {\n filled: {\n backgroundColor: theme.palette.warning.light,\n color: theme.palette.warning.dark,\n },\n outlined: {\n borderColor: theme.palette.warning.main,\n color: theme.palette.warning.dark,\n },\n },\n error: {\n filled: {\n backgroundColor: theme.palette.error.light,\n color: theme.palette.error.dark,\n },\n outlined: {\n borderColor: theme.palette.error.main,\n color: theme.palette.error.main,\n },\n },\n default: {\n filled: {},\n outlined: {},\n },\n } satisfies Record<ChipColor, Record<ChipVariant, object>>;\n\n return colorMap[colour][variant];\n};\n\nconst StyledChip = styled(MuiChip, {\n shouldForwardProp: (prop) => prop !== 'colour' && prop !== 'rounded',\n})<StyledChipProps>(({ theme, colour, rounded, variant = CHIP_VARIANTS[0] }) => ({\n borderRadius: rounded ? '100px' : '5px',\n '& .MuiChip-icon': {\n color: 'inherit',\n },\n ...getColorStyles(colour, theme, variant),\n}));\n\nconst Chip = ({ label, color = 'default', size = 'medium', variant = 'filled', icon, rounded = true }: ChipProps) => (\n <StyledChip icon={icon} label={label} colour={color} size={size} variant={variant} rounded={rounded} />\n);\n\nexport default Chip;\n"],"names":["CHIP_VARIANTS","getColorStyles","colour","theme","variant","blue","filled","backgroundColor","palette","flippyBlue","light","color","dark","outlined","borderColor","success","main","warning","error","default","StyledChip","styled","MuiChip","shouldForwardProp","prop","rounded","borderRadius","label","size","icon","_jsx"],"mappings":"+KAMaA,EAAgB,CAAC,SAAU,YAkBlCC,EAAiB,CAACC,EAAmBC,EAAcC,KACpC,CACbC,KAAM,CACFC,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQC,WAAWC,MAC1CC,MAAOR,EAAMK,QAAQC,WAAWG,MAEpCC,SAAU,CACNC,YAAaX,EAAMK,QAAQC,WAAWG,KACtCD,MAAOR,EAAMK,QAAQC,WAAWG,OAGxCG,QAAS,CACLT,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQO,QAAQL,MACvCC,MAAOR,EAAMK,QAAQO,QAAQH,MAEjCC,SAAU,CACNC,YAAaX,EAAMK,QAAQO,QAAQC,KACnCL,MAAOR,EAAMK,QAAQO,QAAQC,OAGrCC,QAAS,CACLX,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQS,QAAQP,MACvCC,MAAOR,EAAMK,QAAQS,QAAQL,MAEjCC,SAAU,CACNC,YAAaX,EAAMK,QAAQS,QAAQD,KACnCL,MAAOR,EAAMK,QAAQS,QAAQL,OAGrCM,MAAO,CACHZ,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQU,MAAMR,MACrCC,MAAOR,EAAMK,QAAQU,MAAMN,MAE/BC,SAAU,CACNC,YAAaX,EAAMK,QAAQU,MAAMF,KACjCL,MAAOR,EAAMK,QAAQU,MAAMF,OAGnCG,QAAS,CACLb,OAAQ,CAAE,EACVO,SAAU,CAAE,IAIJX,GAAQE,IAGtBgB,EAAaC,EAAMA,OAACC,EAAS,CAC/BC,kBAAoBC,GAAkB,WAATA,GAA8B,YAATA,GADnCH,EAEC,EAAGlB,QAAOD,SAAQuB,UAASrB,UAAUJ,EAAc,OAAU,CAC7E0B,aAAcD,EAAU,QAAU,MAClC,kBAAmB,CACfd,MAAO,cAERV,EAAeC,EAAQC,EAAOC,+CAGxB,EAAGuB,QAAOhB,QAAQ,UAAWiB,OAAO,SAAUxB,UAAU,SAAUyB,OAAMJ,WAAU,KAC3FK,MAACV,EAAU,CAACS,KAAMA,EAAMF,MAAOA,EAAOzB,OAAQS,EAAOiB,KAAMA,EAAMxB,QAASA,EAASqB,QAASA"}
@@ -1,14 +1,18 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ChipProps as ChipProps$1 } from '@mui/material/Chip';
3
3
 
4
+ declare const CHIP_COLORS: readonly ["default", "blue", "success", "warning", "error"];
5
+ type ChipColor = (typeof CHIP_COLORS)[number];
6
+ declare const CHIP_VARIANTS: readonly ["filled", "outlined"];
7
+ type ChipVariant = (typeof CHIP_VARIANTS)[number];
4
8
  type ChipProps = {
5
9
  label: string;
6
- color?: 'default' | 'blue';
10
+ color?: ChipColor;
7
11
  size?: ChipProps$1['size'];
8
- variant?: ChipProps$1['variant'];
12
+ variant?: ChipVariant;
9
13
  icon?: ChipProps$1['icon'];
10
14
  rounded?: boolean;
11
15
  };
12
16
  declare const Chip: ({ label, color, size, variant, icon, rounded }: ChipProps) => react_jsx_runtime.JSX.Element;
13
17
 
14
- export { type ChipProps, Chip as default };
18
+ export { CHIP_COLORS, CHIP_VARIANTS, type ChipColor, type ChipProps, type ChipVariant, Chip as default };
@@ -1,2 +1,2 @@
1
- import{jsx as o}from"react/jsx-runtime";import r from"@mui/material/Chip";import{styled as e}from"@mui/material/styles";const l=e(r,{shouldForwardProp:o=>"colour"!==o&&"rounded"!==o})((({theme:o,colour:r,rounded:e})=>({backgroundColor:"blue"===r?o.palette.flippyBlue.light:"default",borderRadius:e?"100px":"5px"}))),d=e(r,{shouldForwardProp:o=>"colour"!==o&&"rounded"!==o})((({theme:o,colour:r,rounded:e})=>({borderColor:"blue"===r?o.palette.flippyBlue.dark:"default",borderRadius:e?"100px":"5px"}))),u=({label:r,color:e="default",size:u="medium",variant:i="filled",icon:a,rounded:t=!0})=>"outlined"===i?o(d,{icon:a,label:r,colour:e,size:u,variant:"outlined",rounded:t}):o(l,{icon:a,label:r,colour:e,size:u,variant:"filled",rounded:t});export{u as default};
1
+ import{jsx as e}from"react/jsx-runtime";import r from"@mui/material/Chip";import{styled as l}from"@mui/material/styles";const o=["filled","outlined"],t=(e,r,l)=>({blue:{filled:{backgroundColor:r.palette.flippyBlue.light,color:r.palette.flippyBlue.dark},outlined:{borderColor:r.palette.flippyBlue.dark,color:r.palette.flippyBlue.dark}},success:{filled:{backgroundColor:r.palette.success.light,color:r.palette.success.dark},outlined:{borderColor:r.palette.success.main,color:r.palette.success.main}},warning:{filled:{backgroundColor:r.palette.warning.light,color:r.palette.warning.dark},outlined:{borderColor:r.palette.warning.main,color:r.palette.warning.dark}},error:{filled:{backgroundColor:r.palette.error.light,color:r.palette.error.dark},outlined:{borderColor:r.palette.error.main,color:r.palette.error.main}},default:{filled:{},outlined:{}}}[e][l]),a=l(r,{shouldForwardProp:e=>"colour"!==e&&"rounded"!==e})((({theme:e,colour:r,rounded:l,variant:a=o[0]})=>({borderRadius:l?"100px":"5px","& .MuiChip-icon":{color:"inherit"},...t(r,e,a)}))),i=({label:r,color:l="default",size:o="medium",variant:t="filled",icon:i,rounded:d=!0})=>e(a,{icon:i,label:r,colour:l,size:o,variant:t,rounded:d});export{o as CHIP_VARIANTS,i as default};
2
2
  //# sourceMappingURL=Chip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.js","sources":["../../../../src/components/ui/Chip/Chip.tsx"],"sourcesContent":["import MuiChip, { type ChipProps as MuiChipProps } from '@mui/material/Chip';\nimport { styled } from '@mui/material/styles';\n\nexport type ChipProps = {\n label: string;\n color?: 'default' | 'blue';\n size?: MuiChipProps['size'];\n variant?: MuiChipProps['variant'];\n icon?: MuiChipProps['icon'];\n rounded?: boolean;\n};\n\nconst StyledFilledChip = styled(MuiChip, {\n shouldForwardProp: (prop) => prop !== 'colour' && prop !== 'rounded',\n})<{ colour: string; rounded: boolean }>(({ theme, colour, rounded }) => ({\n backgroundColor: colour === 'blue' ? theme.palette.flippyBlue.light : 'default',\n borderRadius: rounded ? '100px' : '5px',\n}));\n\nconst StyledOutlinedChip = styled(MuiChip, {\n shouldForwardProp: (prop) => prop !== 'colour' && prop !== 'rounded',\n})<{ colour: string; rounded: boolean }>(({ theme, colour, rounded }) => ({\n borderColor: colour === 'blue' ? theme.palette.flippyBlue.dark : 'default',\n borderRadius: rounded ? '100px' : '5px',\n}));\n\nconst Chip = ({ label, color = 'default', size = 'medium', variant = 'filled', icon = undefined, rounded = true }: ChipProps) => {\n if (variant === 'outlined') {\n return <StyledOutlinedChip icon={icon} label={label} colour={color} size={size} variant=\"outlined\" rounded={rounded} />;\n }\n return <StyledFilledChip icon={icon} label={label} colour={color} size={size} variant=\"filled\" rounded={rounded} />;\n};\n\nexport default Chip;\n"],"names":["StyledFilledChip","styled","MuiChip","shouldForwardProp","prop","theme","colour","rounded","backgroundColor","palette","flippyBlue","light","borderRadius","StyledOutlinedChip","borderColor","dark","Chip","label","color","size","variant","icon","_jsx"],"mappings":"wHAYA,MAAMA,EAAmBC,EAAOC,EAAS,CACrCC,kBAAoBC,GAAkB,WAATA,GAA8B,YAATA,GAD7BH,EAEgB,EAAGI,QAAOC,SAAQC,cAAe,CACtEC,gBAA4B,SAAXF,EAAoBD,EAAMI,QAAQC,WAAWC,MAAQ,UACtEC,aAAcL,EAAU,QAAU,UAGhCM,EAAqBZ,EAAOC,EAAS,CACvCC,kBAAoBC,GAAkB,WAATA,GAA8B,YAATA,GAD3BH,EAEc,EAAGI,QAAOC,SAAQC,cAAe,CACtEO,YAAwB,SAAXR,EAAoBD,EAAMI,QAAQC,WAAWK,KAAO,UACjEH,aAAcL,EAAU,QAAU,UAGhCS,EAAO,EAAGC,QAAOC,QAAQ,UAAWC,OAAO,SAAUC,UAAU,SAAUC,OAAkBd,WAAU,KACvF,aAAZa,EACOE,EAACT,EAAkB,CAACQ,KAAMA,EAAMJ,MAAOA,EAAOX,OAAQY,EAAOC,KAAMA,EAAMC,QAAQ,WAAWb,QAASA,IAEzGe,EAACtB,EAAgB,CAACqB,KAAMA,EAAMJ,MAAOA,EAAOX,OAAQY,EAAOC,KAAMA,EAAMC,QAAQ,SAASb,QAASA"}
1
+ {"version":3,"file":"Chip.js","sources":["../../../../src/components/ui/Chip/Chip.tsx"],"sourcesContent":["import MuiChip, { type ChipProps as MuiChipProps } from '@mui/material/Chip';\nimport { styled, type Theme } from '@mui/material/styles';\n\nexport const CHIP_COLORS = ['default', 'blue', 'success', 'warning', 'error'] as const;\nexport type ChipColor = (typeof CHIP_COLORS)[number];\n\nexport const CHIP_VARIANTS = ['filled', 'outlined'] as const;\nexport type ChipVariant = (typeof CHIP_VARIANTS)[number];\n\nexport type ChipProps = {\n label: string;\n color?: ChipColor;\n size?: MuiChipProps['size'];\n variant?: ChipVariant;\n icon?: MuiChipProps['icon'];\n rounded?: boolean;\n};\n\ntype StyledChipProps = {\n colour: ChipColor;\n rounded: boolean;\n variant?: ChipVariant;\n};\n\nconst getColorStyles = (colour: ChipColor, theme: Theme, variant: ChipVariant) => {\n const colorMap = {\n blue: {\n filled: {\n backgroundColor: theme.palette.flippyBlue.light,\n color: theme.palette.flippyBlue.dark,\n },\n outlined: {\n borderColor: theme.palette.flippyBlue.dark,\n color: theme.palette.flippyBlue.dark,\n },\n },\n success: {\n filled: {\n backgroundColor: theme.palette.success.light,\n color: theme.palette.success.dark,\n },\n outlined: {\n borderColor: theme.palette.success.main,\n color: theme.palette.success.main,\n },\n },\n warning: {\n filled: {\n backgroundColor: theme.palette.warning.light,\n color: theme.palette.warning.dark,\n },\n outlined: {\n borderColor: theme.palette.warning.main,\n color: theme.palette.warning.dark,\n },\n },\n error: {\n filled: {\n backgroundColor: theme.palette.error.light,\n color: theme.palette.error.dark,\n },\n outlined: {\n borderColor: theme.palette.error.main,\n color: theme.palette.error.main,\n },\n },\n default: {\n filled: {},\n outlined: {},\n },\n } satisfies Record<ChipColor, Record<ChipVariant, object>>;\n\n return colorMap[colour][variant];\n};\n\nconst StyledChip = styled(MuiChip, {\n shouldForwardProp: (prop) => prop !== 'colour' && prop !== 'rounded',\n})<StyledChipProps>(({ theme, colour, rounded, variant = CHIP_VARIANTS[0] }) => ({\n borderRadius: rounded ? '100px' : '5px',\n '& .MuiChip-icon': {\n color: 'inherit',\n },\n ...getColorStyles(colour, theme, variant),\n}));\n\nconst Chip = ({ label, color = 'default', size = 'medium', variant = 'filled', icon, rounded = true }: ChipProps) => (\n <StyledChip icon={icon} label={label} colour={color} size={size} variant={variant} rounded={rounded} />\n);\n\nexport default Chip;\n"],"names":["CHIP_VARIANTS","getColorStyles","colour","theme","variant","blue","filled","backgroundColor","palette","flippyBlue","light","color","dark","outlined","borderColor","success","main","warning","error","default","StyledChip","styled","MuiChip","shouldForwardProp","prop","rounded","borderRadius","Chip","label","size","icon","_jsx"],"mappings":"8HAMaA,EAAgB,CAAC,SAAU,YAkBlCC,EAAiB,CAACC,EAAmBC,EAAcC,KACpC,CACbC,KAAM,CACFC,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQC,WAAWC,MAC1CC,MAAOR,EAAMK,QAAQC,WAAWG,MAEpCC,SAAU,CACNC,YAAaX,EAAMK,QAAQC,WAAWG,KACtCD,MAAOR,EAAMK,QAAQC,WAAWG,OAGxCG,QAAS,CACLT,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQO,QAAQL,MACvCC,MAAOR,EAAMK,QAAQO,QAAQH,MAEjCC,SAAU,CACNC,YAAaX,EAAMK,QAAQO,QAAQC,KACnCL,MAAOR,EAAMK,QAAQO,QAAQC,OAGrCC,QAAS,CACLX,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQS,QAAQP,MACvCC,MAAOR,EAAMK,QAAQS,QAAQL,MAEjCC,SAAU,CACNC,YAAaX,EAAMK,QAAQS,QAAQD,KACnCL,MAAOR,EAAMK,QAAQS,QAAQL,OAGrCM,MAAO,CACHZ,OAAQ,CACJC,gBAAiBJ,EAAMK,QAAQU,MAAMR,MACrCC,MAAOR,EAAMK,QAAQU,MAAMN,MAE/BC,SAAU,CACNC,YAAaX,EAAMK,QAAQU,MAAMF,KACjCL,MAAOR,EAAMK,QAAQU,MAAMF,OAGnCG,QAAS,CACLb,OAAQ,CAAE,EACVO,SAAU,CAAE,IAIJX,GAAQE,IAGtBgB,EAAaC,EAAOC,EAAS,CAC/BC,kBAAoBC,GAAkB,WAATA,GAA8B,YAATA,GADnCH,EAEC,EAAGlB,QAAOD,SAAQuB,UAASrB,UAAUJ,EAAc,OAAU,CAC7E0B,aAAcD,EAAU,QAAU,MAClC,kBAAmB,CACfd,MAAO,cAERV,EAAeC,EAAQC,EAAOC,OAG/BuB,EAAO,EAAGC,QAAOjB,QAAQ,UAAWkB,OAAO,SAAUzB,UAAU,SAAU0B,OAAML,WAAU,KAC3FM,EAACX,EAAU,CAACU,KAAMA,EAAMF,MAAOA,EAAO1B,OAAQS,EAAOkB,KAAMA,EAAMzB,QAASA,EAASqB,QAASA"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),t=require("@mui/icons-material/Add"),n=require("@mui/icons-material/ArrowBack"),r=require("@mui/material/Grid"),a=require("@mui/material/IconButton"),s=require("@mui/material/styles"),o=require("@mui/material/Typography"),d=require("@mui/material/useMediaQuery"),l=require("./DocumentTitle.cjs.js"),c=require("./FullWidthContainer.cjs.js"),m=require("../FDErrorBoundary/FDErrorBoundary.cjs.js"),p=require("@mui/material/Button"),u=require("../../renderUtilities/renderUtilities.cjs.js"),h=require("../../../utilities/validation.cjs.js"),g=require("../Spacer/Spacer.cjs.js"),x=require("@mui/material/Box"),j=require("@mui/material/Divider");const y=1112,f=s.styled("div")((({theme:e,fluid:i})=>({maxWidth:i?"none":y,[e.breakpoints.down("md")]:{maxWidth:"none"},margin:e.spacing(2,4),position:"relative",minHeight:"100vh"}))),v=s.styled(r)((({theme:e})=>({[e.breakpoints.down("sm")]:{width:"100%",paddingTop:e.spacing(2)}}))),b=s.styled(r)((({theme:e})=>({flexWrap:"nowrap",alignItems:"flex-start",paddingTop:e.spacing(3),paddingBottom:e.spacing(3),[e.breakpoints.down("md")]:{paddingTop:e.spacing(2),paddingBottom:e.spacing(3)}}))),k=s.styled(r)((({theme:e})=>({paddingTop:e.spacing(2)}))),B=s.styled(r)((()=>({flexGrow:1}))),q=s.styled("div")((({theme:e})=>({maxWidth:y,paddingBottom:e.spacing(3),[e.breakpoints.down("md")]:{paddingBottom:e.spacing(2),paddingLeft:e.spacing(2),paddingRight:e.spacing(2)}}))),w=s.styled(a,{shouldForwardProp:e=>"hasTitleComponent"!==e})((({theme:e,hasTitleComponent:i})=>({margin:i?e.spacing(-.75,2,-1.5,-1.5):e.spacing(-1.5,2,-1.5,-1.5),[e.breakpoints.only("sm")]:{marginLeft:e.spacing(-2)},[e.breakpoints.only("xs")]:{marginLeft:e.spacing(-2)}}))),T=s.styled("div")((({theme:e})=>({maxWidth:y,marginLeft:e.spacing(6),marginRight:e.spacing(4),paddingBottom:e.spacing(2),[e.breakpoints.only("md")]:{marginLeft:12,marginRight:e.spacing(3)},[e.breakpoints.only("sm")]:{marginLeft:e.spacing(3),marginRight:e.spacing(3),maxWidth:"none"},[e.breakpoints.only("xs")]:{marginLeft:e.spacing(2),marginRight:e.spacing(2),maxWidth:"none"}}))),W=s.styled(r)((()=>({display:"flex",flexGrow:1,justifyContent:"flex-end"}))),C=s.styled(o)((()=>({lineHeight:"26px"}))),L=s.styled(o)((()=>({fontWeight:"bold"}))),A=s.styled(j)((({theme:e})=>({marginBottom:e.spacing(4)}))),F=({title:i})=>e.jsx(L,{variant:"h5",component:"h2",children:i});exports.PageTitle=F,exports.default=a=>{const{actionBtnTitle:o,caption:j,children:y,contextButtons:L,documentTitle:P,fluid:D=!1,fullWidth:I,header:R,hideHeader:z,actionButtonLink:H,openLinkInNewTab:_=!1,pageHeader:E,showActionButton:G,showAddIcon:M,title:U,titleComponent:S,toPrevious:N,toParent:O,strictToParent:Q,navigate:$,hideDivider:J=!1,customActionButtons:K,useAlternateBackground:V=!1}=a,X=s.useTheme(),Y=d(X.breakpoints.down("md"));i.useEffect((()=>(V&&(document.body.style.backgroundColor=X.palette.alternateBackground.main),()=>{V&&(document.body.style.backgroundColor=X.palette.white.main)})),[V]);const Z=u.getMicroFrontendAttribute("data-portal-base-url")||"/",ee=H?.startsWith("https://"),ie=ee?H:void 0!==H?h.joinUrlPaths(Z,H):"";return e.jsxs(f,{fluid:D,children:[P&&e.jsx(l,{children:P}),E||null,e.jsxs(T,{children:[E&&e.jsx(g,{size:16,variant:"vertical"}),!z&&e.jsxs(e.Fragment,{children:[e.jsxs(b,{container:!0,alignItems:"center",direction:"column",children:[e.jsx(r,{item:!0,container:!0,direction:"row",alignContent:"space-between",children:e.jsx(W,{item:!0,children:L&&L.map(((i,t)=>e.jsx("div",{children:i},t)))})}),e.jsxs(k,{item:!0,container:!0,children:[(O||N)&&e.jsx(x,{children:e.jsx(w,{"aria-label":"Back","data-testid":"back_button",hasTitleComponent:!!S,component:"button",onClick:()=>{N?$(-1):O&&Q||O&&history.length<3?$(O):$(-1)},children:e.jsx(n,{})})}),e.jsxs(B,{item:!0,children:[S?e.jsx(S,{}):e.jsx(F,{title:U}),j&&e.jsx(C,{variant:"caption",component:"h3",children:j})]}),G&&e.jsxs(e.Fragment,{children:[Y&&e.jsx(g,{size:56,variant:"vertical"}),e.jsx(v,{item:!0,children:e.jsxs(p,{variant:"contained",fullWidth:!0,"data-testid":`Action-button-${o}`,href:_||ee?ie:"",target:_?"_blank":void 0,rel:_?"noopener noreferrer":void 0,onClick:_||ee?()=>{}:()=>$(H),children:[M&&e.jsx(t,{}),o]})})]}),K&&K.map(((i,t)=>e.jsxs("div",{children:[Y&&e.jsx(g,{size:56,variant:"vertical"}),!Y&&e.jsx(g,{size:16,variant:"vertical"}),e.jsx(v,{item:!0,children:i})]},t)))]})]}),!J&&e.jsx(A,{})]}),e.jsxs(c,{fullWidth:I,children:[R?e.jsx(q,{children:R}):null,e.jsx(m,{identifier:P,children:e.jsx(e.Fragment,{children:y})})]})]})]})},exports.maxWidth=y;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),t=require("@mui/icons-material/Add"),n=require("@mui/icons-material/ArrowBack"),r=require("@mui/material/Grid"),a=require("@mui/material/IconButton"),s=require("@mui/material/styles"),o=require("@mui/material/Typography"),d=require("@mui/material/useMediaQuery"),l=require("./DocumentTitle.cjs.js"),c=require("./FullWidthContainer.cjs.js"),m=require("../FDErrorBoundary/FDErrorBoundary.cjs.js"),p=require("@mui/material/Button"),g=require("../../renderUtilities/renderUtilities.cjs.js"),h=require("../../../utilities/validation.cjs.js"),u=require("../Spacer/Spacer.cjs.js"),x=require("@mui/material/Box"),j=require("@mui/material/Divider");const y=1112,f=s.styled("div")((({theme:e,fluid:i})=>({maxWidth:i?"none":y,[e.breakpoints.down("md")]:{maxWidth:"none"},margin:e.spacing(2,4),position:"relative",minHeight:"100vh"}))),v=s.styled(r)((({theme:e})=>({[e.breakpoints.down("sm")]:{width:"100%",paddingTop:e.spacing(2)}}))),b=s.styled(r)((({theme:e})=>({flexWrap:"nowrap",alignItems:"flex-start",paddingTop:e.spacing(3),paddingBottom:e.spacing(3),[e.breakpoints.down("md")]:{paddingTop:e.spacing(2),paddingBottom:e.spacing(3)}}))),k=s.styled(r)((({theme:e})=>({paddingTop:e.spacing(2)}))),B=s.styled(r)((()=>({flexGrow:1}))),q=s.styled("div")((({theme:e})=>({maxWidth:y,paddingBottom:e.spacing(3),[e.breakpoints.down("md")]:{paddingBottom:e.spacing(2),paddingLeft:e.spacing(2),paddingRight:e.spacing(2)}}))),w=s.styled(a,{shouldForwardProp:e=>"hasTitleComponent"!==e})((({theme:e,hasTitleComponent:i})=>({margin:i?e.spacing(-.75,2,-1.5,-1.5):e.spacing(-1.5,2,-1.5,-1.5),[e.breakpoints.only("sm")]:{marginLeft:e.spacing(-2)},[e.breakpoints.only("xs")]:{marginLeft:e.spacing(-2)}}))),T=s.styled("div")((({theme:e})=>({maxWidth:y,marginLeft:e.spacing(6),marginRight:e.spacing(4),paddingBottom:e.spacing(2),[e.breakpoints.only("md")]:{marginLeft:12,marginRight:e.spacing(3)},[e.breakpoints.only("sm")]:{marginLeft:e.spacing(3),marginRight:e.spacing(3),maxWidth:"none"},[e.breakpoints.only("xs")]:{marginLeft:e.spacing(2),marginRight:e.spacing(2),maxWidth:"none"}}))),W=s.styled(r)((()=>({display:"flex",flexGrow:1,justifyContent:"flex-end"}))),C=s.styled(o)((()=>({lineHeight:"26px"}))),A=s.styled(o)((()=>({fontWeight:"bold"}))),F=s.styled(j)((({theme:e})=>({marginBottom:e.spacing(4)}))),L=({title:i})=>e.jsx(A,{variant:"h5",component:"h2",children:i});exports.PageTitle=L,exports.default=a=>{const{actionBtnTitle:o,caption:j,children:y,contextButtons:A,documentTitle:P,fluid:I=!1,fullWidth:D,header:R,hideHeader:z,actionButtonLink:H,openLinkInNewTab:_=!1,pageHeader:E,showActionButton:G,showAddIcon:M,title:U,titleComponent:S,toPrevious:N,toParent:O,strictToParent:Q,navigate:$,hideDivider:J=!1,customActionButtons:K,useAlternateBackground:V=!1,titleComponentAfter:X}=a,Y=s.useTheme(),Z=d(Y.breakpoints.down("md"));i.useEffect((()=>(V&&(document.body.style.backgroundColor=Y.palette.alternateBackground.main),()=>{V&&(document.body.style.backgroundColor=Y.palette.white.main)})),[V]);const ee=g.getMicroFrontendAttribute("data-portal-base-url")||"/",ie=H?.startsWith("https://"),te=ie?H:void 0!==H?h.joinUrlPaths(ee,H):"";return e.jsxs(f,{fluid:I,children:[P&&e.jsx(l,{children:P}),E||null,e.jsxs(T,{children:[E&&e.jsx(u,{size:16,variant:"vertical"}),!z&&e.jsxs(e.Fragment,{children:[e.jsxs(b,{container:!0,alignItems:"center",direction:"column",children:[e.jsx(r,{item:!0,container:!0,direction:"row",alignContent:"space-between",children:e.jsx(W,{item:!0,children:A&&A.map(((i,t)=>e.jsx("div",{children:i},t)))})}),e.jsxs(k,{item:!0,container:!0,children:[(O||N)&&e.jsx(x,{children:e.jsx(w,{"aria-label":"Back","data-testid":"back_button",hasTitleComponent:!!S,component:"button",onClick:()=>{N?$(-1):O&&Q||O&&history.length<3?$(O):$(-1)},children:e.jsx(n,{})})}),e.jsxs(B,{item:!0,children:[S?e.jsx(S,{}):e.jsx(e.Fragment,{children:e.jsxs(x,{display:"flex",alignItems:"center",gap:2,children:[e.jsx(L,{title:U}),X]})}),j&&e.jsx(C,{variant:"caption",component:"h3",children:j})]}),G&&e.jsxs(e.Fragment,{children:[Z&&e.jsx(u,{size:56,variant:"vertical"}),e.jsx(v,{item:!0,children:e.jsxs(p,{variant:"contained",fullWidth:!0,"data-testid":`Action-button-${o}`,href:_||ie?te:"",target:_?"_blank":void 0,rel:_?"noopener noreferrer":void 0,onClick:_||ie?()=>{}:()=>$(H),children:[M&&e.jsx(t,{}),o]})})]}),K&&K.map(((i,t)=>e.jsxs("div",{children:[Z&&e.jsx(u,{size:56,variant:"vertical"}),!Z&&e.jsx(u,{size:16,variant:"vertical"}),e.jsx(v,{item:!0,children:i})]},t)))]})]}),!J&&e.jsx(F,{})]}),e.jsxs(c,{fullWidth:D,children:[R?e.jsx(q,{children:R}):null,e.jsx(m,{identifier:P,children:e.jsx(e.Fragment,{children:y})})]})]})]})},exports.maxWidth=y;
2
2
  //# sourceMappingURL=PageLayout.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageLayout.cjs.js","sources":["../../../../src/components/ui/PageLayout/PageLayout.tsx"],"sourcesContent":["import React, { type ComponentType, type ReactNode, useEffect } from 'react';\n\nimport Add from '@mui/icons-material/Add';\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack';\nimport Grid from '@mui/material/Grid';\nimport IconButton from '@mui/material/IconButton';\nimport { styled, useTheme } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport DocumentTitle from './DocumentTitle';\nimport FullWidthContainer from './FullWidthContainer';\nimport FDErrorBoundary from '../FDErrorBoundary/FDErrorBoundary';\nimport Button from '@mui/material/Button';\nimport { getMicroFrontendAttribute } from '../../renderUtilities';\nimport { joinUrlPaths } from '../../../utilities/validation';\nimport Spacer from '../Spacer/Spacer';\nimport Box from '@mui/material/Box';\nimport Divider from '@mui/material/Divider';\n\nexport const HORIZONTAL_SPACE_CLASSNAME = 'horizontal-content-space';\nexport const LEFT_HORIZONTAL_SPACE_CLASSNAME = 'left-horizontal-content-space';\nexport const RIGHT_HORIZONTAL_SPACE_CLASSNAME = 'right-horizontal-content-space';\nexport const VERTICAL_SPACE_CLASSNAME = 'vertical-content-space';\nexport const maxWidth = 1112;\nconst historyMinLength = 3;\n\nconst StyledWrapper = styled('div')<{ fluid: boolean }>(({ theme, fluid }) => ({\n maxWidth: fluid ? 'none' : maxWidth,\n [theme.breakpoints.down('md')]: {\n maxWidth: 'none',\n },\n margin: theme.spacing(2, 4),\n position: 'relative',\n minHeight: '100vh',\n}));\n\nconst StyledActionButtonGrid = styled(Grid)(({ theme }) => ({\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n paddingTop: theme.spacing(2),\n },\n}));\n\nconst StyledHeader = styled(Grid)(({ theme }) => ({\n flexWrap: 'nowrap',\n alignItems: 'flex-start',\n paddingTop: theme.spacing(3),\n paddingBottom: theme.spacing(3),\n\n [theme.breakpoints.down('md')]: {\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(3),\n },\n}));\n\nconst StyledTitleContainer = styled(Grid)(({ theme }) => ({\n paddingTop: theme.spacing(2),\n}));\n\nconst StyledTitleSection = styled(Grid)(() => ({\n flexGrow: 1,\n}));\n\nconst StyledTopSection = styled('div')(({ theme }) => ({\n maxWidth,\n paddingBottom: theme.spacing(3),\n\n [theme.breakpoints.down('md')]: {\n paddingBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst StyledBackButton = styled(IconButton, {\n shouldForwardProp: (prop) => prop !== 'hasTitleComponent',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n})<{ hasTitleComponent: boolean; component: any }>(({ theme, hasTitleComponent }) => ({\n margin: hasTitleComponent ? theme.spacing(-0.75, 2, -1.5, -1.5) : theme.spacing(-1.5, 2, -1.5, -1.5),\n\n [theme.breakpoints.only('sm')]: {\n marginLeft: theme.spacing(-2),\n },\n\n [theme.breakpoints.only('xs')]: {\n marginLeft: theme.spacing(-2),\n },\n}));\n\nconst StyledInnerWrapper = styled('div')(({ theme }) => ({\n maxWidth,\n marginLeft: theme.spacing(6),\n marginRight: theme.spacing(4),\n paddingBottom: theme.spacing(2),\n\n [theme.breakpoints.only('md')]: {\n marginLeft: 12,\n marginRight: theme.spacing(3),\n },\n\n [theme.breakpoints.only('sm')]: {\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n maxWidth: 'none',\n },\n\n [theme.breakpoints.only('xs')]: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n maxWidth: 'none',\n },\n}));\n\nconst StyledHeaderContainer = styled(Grid)(() => ({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-end',\n}));\nconst StyledCaption = styled(Typography)<{ component: string }>(() => ({\n lineHeight: '26px',\n}));\n\nconst StyledPageTitle = styled(Typography)<{ component: string }>(() => ({\n fontWeight: 'bold',\n}));\n\nconst StyledPageDivider = styled(Divider)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n}));\n\nexport const PageTitle = ({ title }: { title: string | ReactNode }) => (\n <StyledPageTitle variant=\"h5\" component=\"h2\">\n {title}\n </StyledPageTitle>\n);\n\nexport type Props = {\n actionBtnTitle?: string;\n caption?: ReactNode;\n children: ReactNode;\n contextButtons?: ReactNode[];\n documentTitle: string;\n fluid?: boolean;\n fullWidth?: boolean;\n header?: ReactNode;\n hideHeader?: boolean;\n actionButtonLink?: string;\n pageHeader?: ReactNode;\n showActionButton?: boolean;\n showAddIcon?: boolean;\n title: ReactNode;\n titleComponent?: ComponentType<React.PropsWithChildren<unknown>>;\n toPrevious?: boolean;\n toParent?: string;\n strictToParent?: boolean;\n openLinkInNewTab?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n navigate: (to: any) => void;\n hideDivider?: boolean;\n customActionButtons?: ReactNode[];\n useAlternateBackground?: boolean;\n};\n\nconst PageLayout = (props: Props) => {\n const {\n actionBtnTitle,\n caption,\n children,\n contextButtons,\n documentTitle,\n fluid = false,\n fullWidth,\n header,\n hideHeader,\n actionButtonLink,\n openLinkInNewTab = false,\n pageHeader,\n showActionButton,\n showAddIcon,\n title,\n titleComponent: TitleComponent,\n toPrevious,\n toParent,\n strictToParent,\n navigate,\n hideDivider = false,\n customActionButtons,\n useAlternateBackground = false,\n } = props;\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('md'));\n\n useEffect(() => {\n if (useAlternateBackground) {\n document.body.style.backgroundColor = theme.palette.alternateBackground.main;\n }\n\n return () => {\n if (useAlternateBackground) {\n document.body.style.backgroundColor = theme.palette.white.main;\n }\n };\n }, [useAlternateBackground]);\n\n const baseUrl = getMicroFrontendAttribute('data-portal-base-url') || '/';\n const actionButtonWithHttps = actionButtonLink?.startsWith('https://');\n const actionButtonLinkFinal = actionButtonWithHttps\n ? actionButtonLink\n : actionButtonLink !== undefined\n ? joinUrlPaths(baseUrl, actionButtonLink)\n : '';\n\n return (\n <StyledWrapper fluid={fluid}>\n {documentTitle && <DocumentTitle>{documentTitle}</DocumentTitle>}\n\n {pageHeader ? pageHeader : null}\n <StyledInnerWrapper>\n {pageHeader && <Spacer size={16} variant=\"vertical\" />}\n {!hideHeader && (\n <>\n <StyledHeader container alignItems=\"center\" direction=\"column\">\n <Grid item container direction=\"row\" alignContent=\"space-between\">\n <StyledHeaderContainer item>\n {contextButtons && contextButtons.map((button, index) => <div key={index}>{button}</div>)}\n </StyledHeaderContainer>\n </Grid>\n <StyledTitleContainer item container>\n {(toParent || toPrevious) && (\n <Box>\n <StyledBackButton\n aria-label=\"Back\"\n data-testid=\"back_button\"\n hasTitleComponent={!!TitleComponent}\n component={'button'}\n onClick={() => {\n if (toPrevious) {\n navigate(-1);\n } else if (toParent && strictToParent) {\n navigate(toParent);\n } else if (toParent && history.length < historyMinLength) {\n navigate(toParent);\n } else {\n navigate(-1);\n }\n }}\n >\n <ArrowBackIcon />\n </StyledBackButton>\n </Box>\n )}\n\n <StyledTitleSection item>\n {TitleComponent ? <TitleComponent /> : <PageTitle title={title} />}\n {caption && (\n <StyledCaption variant=\"caption\" component=\"h3\">\n {caption}\n </StyledCaption>\n )}\n </StyledTitleSection>\n\n {showActionButton && (\n <>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n <StyledActionButtonGrid item>\n <Button\n variant=\"contained\"\n fullWidth={true}\n data-testid={`Action-button-${actionBtnTitle}`}\n href={openLinkInNewTab || actionButtonWithHttps ? actionButtonLinkFinal : ''}\n target={openLinkInNewTab ? '_blank' : undefined}\n rel={openLinkInNewTab ? 'noopener noreferrer' : undefined}\n onClick={!openLinkInNewTab && !actionButtonWithHttps ? () => navigate(actionButtonLink) : () => {}}\n >\n {showAddIcon && <Add />}\n {actionBtnTitle}\n </Button>\n </StyledActionButtonGrid>\n </>\n )}\n {customActionButtons &&\n customActionButtons.map((button, index) => (\n <div key={index}>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n {!isMobile && <Spacer size={16} variant=\"vertical\" />}\n <StyledActionButtonGrid item>{button}</StyledActionButtonGrid>\n </div>\n ))}\n </StyledTitleContainer>\n </StyledHeader>\n {!hideDivider && <StyledPageDivider />}\n </>\n )}\n <FullWidthContainer fullWidth={fullWidth}>\n {header ? <StyledTopSection>{header}</StyledTopSection> : null}\n <FDErrorBoundary identifier={documentTitle}>\n <>{children}</>\n </FDErrorBoundary>\n </FullWidthContainer>\n </StyledInnerWrapper>\n </StyledWrapper>\n );\n};\n\nexport default PageLayout;\n"],"names":["maxWidth","StyledWrapper","styled","theme","fluid","breakpoints","down","margin","spacing","position","minHeight","StyledActionButtonGrid","Grid","width","paddingTop","StyledHeader","flexWrap","alignItems","paddingBottom","StyledTitleContainer","StyledTitleSection","flexGrow","StyledTopSection","paddingLeft","paddingRight","StyledBackButton","IconButton","shouldForwardProp","prop","hasTitleComponent","only","marginLeft","StyledInnerWrapper","marginRight","StyledHeaderContainer","display","justifyContent","StyledCaption","Typography","lineHeight","StyledPageTitle","fontWeight","StyledPageDivider","Divider","marginBottom","PageTitle","title","_jsx","variant","component","children","props","actionBtnTitle","caption","contextButtons","documentTitle","fullWidth","header","hideHeader","actionButtonLink","openLinkInNewTab","pageHeader","showActionButton","showAddIcon","titleComponent","TitleComponent","toPrevious","toParent","strictToParent","navigate","hideDivider","customActionButtons","useAlternateBackground","useTheme","isMobile","useMediaQuery","useEffect","document","body","style","backgroundColor","palette","alternateBackground","main","white","baseUrl","getMicroFrontendAttribute","actionButtonWithHttps","startsWith","actionButtonLinkFinal","undefined","joinUrlPaths","_jsxs","jsx","DocumentTitle","Spacer","size","_Fragment","container","direction","item","alignContent","map","button","index","Box","onClick","history","length","ArrowBackIcon","jsxs","Button","href","target","rel","Add","FullWidthContainer","FDErrorBoundary","identifier"],"mappings":"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"}
1
+ {"version":3,"file":"PageLayout.cjs.js","sources":["../../../../src/components/ui/PageLayout/PageLayout.tsx"],"sourcesContent":["import React, { type ComponentType, type ReactNode, useEffect } from 'react';\n\nimport Add from '@mui/icons-material/Add';\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack';\nimport Grid from '@mui/material/Grid';\nimport IconButton from '@mui/material/IconButton';\nimport { styled, useTheme } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport DocumentTitle from './DocumentTitle';\nimport FullWidthContainer from './FullWidthContainer';\nimport FDErrorBoundary from '../FDErrorBoundary/FDErrorBoundary';\nimport Button from '@mui/material/Button';\nimport { getMicroFrontendAttribute } from '../../renderUtilities';\nimport { joinUrlPaths } from '../../../utilities/validation';\nimport Spacer from '../Spacer/Spacer';\nimport Box from '@mui/material/Box';\nimport Divider from '@mui/material/Divider';\n\nexport const HORIZONTAL_SPACE_CLASSNAME = 'horizontal-content-space';\nexport const LEFT_HORIZONTAL_SPACE_CLASSNAME = 'left-horizontal-content-space';\nexport const RIGHT_HORIZONTAL_SPACE_CLASSNAME = 'right-horizontal-content-space';\nexport const VERTICAL_SPACE_CLASSNAME = 'vertical-content-space';\nexport const maxWidth = 1112;\nconst historyMinLength = 3;\n\nconst StyledWrapper = styled('div')<{ fluid: boolean }>(({ theme, fluid }) => ({\n maxWidth: fluid ? 'none' : maxWidth,\n [theme.breakpoints.down('md')]: {\n maxWidth: 'none',\n },\n margin: theme.spacing(2, 4),\n position: 'relative',\n minHeight: '100vh',\n}));\n\nconst StyledActionButtonGrid = styled(Grid)(({ theme }) => ({\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n paddingTop: theme.spacing(2),\n },\n}));\n\nconst StyledHeader = styled(Grid)(({ theme }) => ({\n flexWrap: 'nowrap',\n alignItems: 'flex-start',\n paddingTop: theme.spacing(3),\n paddingBottom: theme.spacing(3),\n\n [theme.breakpoints.down('md')]: {\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(3),\n },\n}));\n\nconst StyledTitleContainer = styled(Grid)(({ theme }) => ({\n paddingTop: theme.spacing(2),\n}));\n\nconst StyledTitleSection = styled(Grid)(() => ({\n flexGrow: 1,\n}));\n\nconst StyledTopSection = styled('div')(({ theme }) => ({\n maxWidth,\n paddingBottom: theme.spacing(3),\n\n [theme.breakpoints.down('md')]: {\n paddingBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst StyledBackButton = styled(IconButton, {\n shouldForwardProp: (prop) => prop !== 'hasTitleComponent',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n})<{ hasTitleComponent: boolean; component: any }>(({ theme, hasTitleComponent }) => ({\n margin: hasTitleComponent ? theme.spacing(-0.75, 2, -1.5, -1.5) : theme.spacing(-1.5, 2, -1.5, -1.5),\n\n [theme.breakpoints.only('sm')]: {\n marginLeft: theme.spacing(-2),\n },\n\n [theme.breakpoints.only('xs')]: {\n marginLeft: theme.spacing(-2),\n },\n}));\n\nconst StyledInnerWrapper = styled('div')(({ theme }) => ({\n maxWidth,\n marginLeft: theme.spacing(6),\n marginRight: theme.spacing(4),\n paddingBottom: theme.spacing(2),\n\n [theme.breakpoints.only('md')]: {\n marginLeft: 12,\n marginRight: theme.spacing(3),\n },\n\n [theme.breakpoints.only('sm')]: {\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n maxWidth: 'none',\n },\n\n [theme.breakpoints.only('xs')]: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n maxWidth: 'none',\n },\n}));\n\nconst StyledHeaderContainer = styled(Grid)(() => ({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-end',\n}));\nconst StyledCaption = styled(Typography)<{ component: string }>(() => ({\n lineHeight: '26px',\n}));\n\nconst StyledPageTitle = styled(Typography)<{ component: string }>(() => ({\n fontWeight: 'bold',\n}));\n\nconst StyledPageDivider = styled(Divider)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n}));\n\nexport const PageTitle = ({ title }: { title: string | ReactNode }) => (\n <StyledPageTitle variant=\"h5\" component=\"h2\">\n {title}\n </StyledPageTitle>\n);\n\nexport type Props = {\n actionBtnTitle?: string;\n caption?: ReactNode;\n children: ReactNode;\n contextButtons?: ReactNode[];\n documentTitle: string;\n fluid?: boolean;\n fullWidth?: boolean;\n header?: ReactNode;\n hideHeader?: boolean;\n actionButtonLink?: string;\n pageHeader?: ReactNode;\n showActionButton?: boolean;\n showAddIcon?: boolean;\n title: ReactNode;\n titleComponent?: ComponentType<React.PropsWithChildren<unknown>>;\n titleComponentAfter?: ReactNode;\n toPrevious?: boolean;\n toParent?: string;\n strictToParent?: boolean;\n openLinkInNewTab?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n navigate: (to: any) => void;\n hideDivider?: boolean;\n customActionButtons?: ReactNode[];\n useAlternateBackground?: boolean;\n};\n\nconst PageLayout = (props: Props) => {\n const {\n actionBtnTitle,\n caption,\n children,\n contextButtons,\n documentTitle,\n fluid = false,\n fullWidth,\n header,\n hideHeader,\n actionButtonLink,\n openLinkInNewTab = false,\n pageHeader,\n showActionButton,\n showAddIcon,\n title,\n titleComponent: TitleComponent,\n toPrevious,\n toParent,\n strictToParent,\n navigate,\n hideDivider = false,\n customActionButtons,\n useAlternateBackground = false,\n titleComponentAfter,\n } = props;\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('md'));\n\n useEffect(() => {\n if (useAlternateBackground) {\n document.body.style.backgroundColor = theme.palette.alternateBackground.main;\n }\n\n return () => {\n if (useAlternateBackground) {\n document.body.style.backgroundColor = theme.palette.white.main;\n }\n };\n }, [useAlternateBackground]);\n\n const baseUrl = getMicroFrontendAttribute('data-portal-base-url') || '/';\n const actionButtonWithHttps = actionButtonLink?.startsWith('https://');\n const actionButtonLinkFinal = actionButtonWithHttps\n ? actionButtonLink\n : actionButtonLink !== undefined\n ? joinUrlPaths(baseUrl, actionButtonLink)\n : '';\n\n return (\n <StyledWrapper fluid={fluid}>\n {documentTitle && <DocumentTitle>{documentTitle}</DocumentTitle>}\n\n {pageHeader ? pageHeader : null}\n <StyledInnerWrapper>\n {pageHeader && <Spacer size={16} variant=\"vertical\" />}\n {!hideHeader && (\n <>\n <StyledHeader container alignItems=\"center\" direction=\"column\">\n <Grid item container direction=\"row\" alignContent=\"space-between\">\n <StyledHeaderContainer item>\n {contextButtons && contextButtons.map((button, index) => <div key={index}>{button}</div>)}\n </StyledHeaderContainer>\n </Grid>\n <StyledTitleContainer item container>\n {(toParent || toPrevious) && (\n <Box>\n <StyledBackButton\n aria-label=\"Back\"\n data-testid=\"back_button\"\n hasTitleComponent={!!TitleComponent}\n component={'button'}\n onClick={() => {\n if (toPrevious) {\n navigate(-1);\n } else if (toParent && strictToParent) {\n navigate(toParent);\n } else if (toParent && history.length < historyMinLength) {\n navigate(toParent);\n } else {\n navigate(-1);\n }\n }}\n >\n <ArrowBackIcon />\n </StyledBackButton>\n </Box>\n )}\n\n <StyledTitleSection item>\n {TitleComponent ? (\n <TitleComponent />\n ) : (\n <>\n <Box display=\"flex\" alignItems=\"center\" gap={2}>\n <PageTitle title={title} />\n {titleComponentAfter}\n </Box>\n </>\n )}\n {caption && (\n <StyledCaption variant=\"caption\" component=\"h3\">\n {caption}\n </StyledCaption>\n )}\n </StyledTitleSection>\n\n {showActionButton && (\n <>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n <StyledActionButtonGrid item>\n <Button\n variant=\"contained\"\n fullWidth={true}\n data-testid={`Action-button-${actionBtnTitle}`}\n href={openLinkInNewTab || actionButtonWithHttps ? actionButtonLinkFinal : ''}\n target={openLinkInNewTab ? '_blank' : undefined}\n rel={openLinkInNewTab ? 'noopener noreferrer' : undefined}\n onClick={!openLinkInNewTab && !actionButtonWithHttps ? () => navigate(actionButtonLink) : () => {}}\n >\n {showAddIcon && <Add />}\n {actionBtnTitle}\n </Button>\n </StyledActionButtonGrid>\n </>\n )}\n {customActionButtons &&\n customActionButtons.map((button, index) => (\n <div key={index}>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n {!isMobile && <Spacer size={16} variant=\"vertical\" />}\n <StyledActionButtonGrid item>{button}</StyledActionButtonGrid>\n </div>\n ))}\n </StyledTitleContainer>\n </StyledHeader>\n {!hideDivider && <StyledPageDivider />}\n </>\n )}\n <FullWidthContainer fullWidth={fullWidth}>\n {header ? <StyledTopSection>{header}</StyledTopSection> : null}\n <FDErrorBoundary identifier={documentTitle}>\n <>{children}</>\n </FDErrorBoundary>\n </FullWidthContainer>\n </StyledInnerWrapper>\n </StyledWrapper>\n );\n};\n\nexport default PageLayout;\n"],"names":["maxWidth","StyledWrapper","styled","theme","fluid","breakpoints","down","margin","spacing","position","minHeight","StyledActionButtonGrid","Grid","width","paddingTop","StyledHeader","flexWrap","alignItems","paddingBottom","StyledTitleContainer","StyledTitleSection","flexGrow","StyledTopSection","paddingLeft","paddingRight","StyledBackButton","IconButton","shouldForwardProp","prop","hasTitleComponent","only","marginLeft","StyledInnerWrapper","marginRight","StyledHeaderContainer","display","justifyContent","StyledCaption","Typography","lineHeight","StyledPageTitle","fontWeight","StyledPageDivider","Divider","marginBottom","PageTitle","title","_jsx","variant","component","children","props","actionBtnTitle","caption","contextButtons","documentTitle","fullWidth","header","hideHeader","actionButtonLink","openLinkInNewTab","pageHeader","showActionButton","showAddIcon","titleComponent","TitleComponent","toPrevious","toParent","strictToParent","navigate","hideDivider","customActionButtons","useAlternateBackground","titleComponentAfter","useTheme","isMobile","useMediaQuery","useEffect","document","body","style","backgroundColor","palette","alternateBackground","main","white","baseUrl","getMicroFrontendAttribute","actionButtonWithHttps","startsWith","actionButtonLinkFinal","undefined","joinUrlPaths","_jsxs","jsx","DocumentTitle","Spacer","size","_Fragment","container","direction","item","alignContent","map","button","index","Box","onClick","history","length","ArrowBackIcon","jsxs","Fragment","gap","Button","href","target","rel","Add","FullWidthContainer","FDErrorBoundary","identifier"],"mappings":"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"}
@@ -17,6 +17,7 @@ type Props = {
17
17
  showAddIcon?: boolean;
18
18
  title: ReactNode;
19
19
  titleComponent?: ComponentType<React__default.PropsWithChildren<unknown>>;
20
+ titleComponentAfter?: ReactNode;
20
21
  toPrevious?: boolean;
21
22
  toParent?: string;
22
23
  strictToParent?: boolean;
@@ -1,2 +1,2 @@
1
- import{jsxs as i,jsx as t,Fragment as n}from"react/jsx-runtime";import{useEffect as e}from"react";import r from"@mui/icons-material/Add";import o from"@mui/icons-material/ArrowBack";import a from"@mui/material/Grid";import m from"@mui/material/IconButton";import{styled as d,useTheme as l}from"@mui/material/styles";import c from"@mui/material/Typography";import p from"@mui/material/useMediaQuery";import s from"./DocumentTitle.js";import h from"./FullWidthContainer.js";import g from"../FDErrorBoundary/FDErrorBoundary.js";import u from"@mui/material/Button";import{getMicroFrontendAttribute as f}from"../../renderUtilities/renderUtilities.js";import{joinUrlPaths as v}from"../../../utilities/validation.js";import b from"../Spacer/Spacer.js";import k from"@mui/material/Box";import B from"@mui/material/Divider";const x=1112,y=d("div")((({theme:i,fluid:t})=>({maxWidth:t?"none":x,[i.breakpoints.down("md")]:{maxWidth:"none"},margin:i.spacing(2,4),position:"relative",minHeight:"100vh"}))),w=d(a)((({theme:i})=>({[i.breakpoints.down("sm")]:{width:"100%",paddingTop:i.spacing(2)}}))),T=d(a)((({theme:i})=>({flexWrap:"nowrap",alignItems:"flex-start",paddingTop:i.spacing(3),paddingBottom:i.spacing(3),[i.breakpoints.down("md")]:{paddingTop:i.spacing(2),paddingBottom:i.spacing(3)}}))),W=d(a)((({theme:i})=>({paddingTop:i.spacing(2)}))),C=d(a)((()=>({flexGrow:1}))),L=d("div")((({theme:i})=>({maxWidth:x,paddingBottom:i.spacing(3),[i.breakpoints.down("md")]:{paddingBottom:i.spacing(2),paddingLeft:i.spacing(2),paddingRight:i.spacing(2)}}))),j=d(m,{shouldForwardProp:i=>"hasTitleComponent"!==i})((({theme:i,hasTitleComponent:t})=>({margin:t?i.spacing(-.75,2,-1.5,-1.5):i.spacing(-1.5,2,-1.5,-1.5),[i.breakpoints.only("sm")]:{marginLeft:i.spacing(-2)},[i.breakpoints.only("xs")]:{marginLeft:i.spacing(-2)}}))),A=d("div")((({theme:i})=>({maxWidth:x,marginLeft:i.spacing(6),marginRight:i.spacing(4),paddingBottom:i.spacing(2),[i.breakpoints.only("md")]:{marginLeft:12,marginRight:i.spacing(3)},[i.breakpoints.only("sm")]:{marginLeft:i.spacing(3),marginRight:i.spacing(3),maxWidth:"none"},[i.breakpoints.only("xs")]:{marginLeft:i.spacing(2),marginRight:i.spacing(2),maxWidth:"none"}}))),D=d(a)((()=>({display:"flex",flexGrow:1,justifyContent:"flex-end"}))),I=d(c)((()=>({lineHeight:"26px"}))),R=d(c)((()=>({fontWeight:"bold"}))),z=d(B)((({theme:i})=>({marginBottom:i.spacing(4)}))),F=({title:i})=>t(R,{variant:"h5",component:"h2",children:i}),H=m=>{const{actionBtnTitle:d,caption:c,children:B,contextButtons:x,documentTitle:R,fluid:H=!1,fullWidth:P,header:G,hideHeader:E,actionButtonLink:S,openLinkInNewTab:U=!1,pageHeader:_,showActionButton:M,showAddIcon:N,title:Q,titleComponent:$,toPrevious:q,toParent:J,strictToParent:K,navigate:O,hideDivider:V=!1,customActionButtons:X,useAlternateBackground:Y=!1}=m,Z=l(),ii=p(Z.breakpoints.down("md"));e((()=>(Y&&(document.body.style.backgroundColor=Z.palette.alternateBackground.main),()=>{Y&&(document.body.style.backgroundColor=Z.palette.white.main)})),[Y]);const ti=f("data-portal-base-url")||"/",ni=S?.startsWith("https://"),ei=ni?S:void 0!==S?v(ti,S):"";return i(y,{fluid:H,children:[R&&t(s,{children:R}),_||null,i(A,{children:[_&&t(b,{size:16,variant:"vertical"}),!E&&i(n,{children:[i(T,{container:!0,alignItems:"center",direction:"column",children:[t(a,{item:!0,container:!0,direction:"row",alignContent:"space-between",children:t(D,{item:!0,children:x&&x.map(((i,n)=>t("div",{children:i},n)))})}),i(W,{item:!0,container:!0,children:[(J||q)&&t(k,{children:t(j,{"aria-label":"Back","data-testid":"back_button",hasTitleComponent:!!$,component:"button",onClick:()=>{q?O(-1):J&&K||J&&history.length<3?O(J):O(-1)},children:t(o,{})})}),i(C,{item:!0,children:[$?t($,{}):t(F,{title:Q}),c&&t(I,{variant:"caption",component:"h3",children:c})]}),M&&i(n,{children:[ii&&t(b,{size:56,variant:"vertical"}),t(w,{item:!0,children:i(u,{variant:"contained",fullWidth:!0,"data-testid":`Action-button-${d}`,href:U||ni?ei:"",target:U?"_blank":void 0,rel:U?"noopener noreferrer":void 0,onClick:U||ni?()=>{}:()=>O(S),children:[N&&t(r,{}),d]})})]}),X&&X.map(((n,e)=>i("div",{children:[ii&&t(b,{size:56,variant:"vertical"}),!ii&&t(b,{size:16,variant:"vertical"}),t(w,{item:!0,children:n})]},e)))]})]}),!V&&t(z,{})]}),i(h,{fullWidth:P,children:[G?t(L,{children:G}):null,t(g,{identifier:R,children:t(n,{children:B})})]})]})]})};export{F as PageTitle,H as default,x as maxWidth};
1
+ import{jsxs as i,jsx as t,Fragment as n}from"react/jsx-runtime";import{useEffect as e}from"react";import r from"@mui/icons-material/Add";import a from"@mui/icons-material/ArrowBack";import o from"@mui/material/Grid";import m from"@mui/material/IconButton";import{styled as d,useTheme as l}from"@mui/material/styles";import c from"@mui/material/Typography";import p from"@mui/material/useMediaQuery";import s from"./DocumentTitle.js";import h from"./FullWidthContainer.js";import g from"../FDErrorBoundary/FDErrorBoundary.js";import u from"@mui/material/Button";import{getMicroFrontendAttribute as f}from"../../renderUtilities/renderUtilities.js";import{joinUrlPaths as v}from"../../../utilities/validation.js";import b from"../Spacer/Spacer.js";import k from"@mui/material/Box";import x from"@mui/material/Divider";const B=1112,y=d("div")((({theme:i,fluid:t})=>({maxWidth:t?"none":B,[i.breakpoints.down("md")]:{maxWidth:"none"},margin:i.spacing(2,4),position:"relative",minHeight:"100vh"}))),w=d(o)((({theme:i})=>({[i.breakpoints.down("sm")]:{width:"100%",paddingTop:i.spacing(2)}}))),T=d(o)((({theme:i})=>({flexWrap:"nowrap",alignItems:"flex-start",paddingTop:i.spacing(3),paddingBottom:i.spacing(3),[i.breakpoints.down("md")]:{paddingTop:i.spacing(2),paddingBottom:i.spacing(3)}}))),W=d(o)((({theme:i})=>({paddingTop:i.spacing(2)}))),C=d(o)((()=>({flexGrow:1}))),L=d("div")((({theme:i})=>({maxWidth:B,paddingBottom:i.spacing(3),[i.breakpoints.down("md")]:{paddingBottom:i.spacing(2),paddingLeft:i.spacing(2),paddingRight:i.spacing(2)}}))),j=d(m,{shouldForwardProp:i=>"hasTitleComponent"!==i})((({theme:i,hasTitleComponent:t})=>({margin:t?i.spacing(-.75,2,-1.5,-1.5):i.spacing(-1.5,2,-1.5,-1.5),[i.breakpoints.only("sm")]:{marginLeft:i.spacing(-2)},[i.breakpoints.only("xs")]:{marginLeft:i.spacing(-2)}}))),A=d("div")((({theme:i})=>({maxWidth:B,marginLeft:i.spacing(6),marginRight:i.spacing(4),paddingBottom:i.spacing(2),[i.breakpoints.only("md")]:{marginLeft:12,marginRight:i.spacing(3)},[i.breakpoints.only("sm")]:{marginLeft:i.spacing(3),marginRight:i.spacing(3),maxWidth:"none"},[i.breakpoints.only("xs")]:{marginLeft:i.spacing(2),marginRight:i.spacing(2),maxWidth:"none"}}))),I=d(o)((()=>({display:"flex",flexGrow:1,justifyContent:"flex-end"}))),D=d(c)((()=>({lineHeight:"26px"}))),R=d(c)((()=>({fontWeight:"bold"}))),z=d(x)((({theme:i})=>({marginBottom:i.spacing(4)}))),F=({title:i})=>t(R,{variant:"h5",component:"h2",children:i}),H=m=>{const{actionBtnTitle:d,caption:c,children:x,contextButtons:B,documentTitle:R,fluid:H=!1,fullWidth:P,header:G,hideHeader:E,actionButtonLink:S,openLinkInNewTab:U=!1,pageHeader:_,showActionButton:M,showAddIcon:N,title:Q,titleComponent:$,toPrevious:q,toParent:J,strictToParent:K,navigate:O,hideDivider:V=!1,customActionButtons:X,useAlternateBackground:Y=!1,titleComponentAfter:Z}=m,ii=l(),ti=p(ii.breakpoints.down("md"));e((()=>(Y&&(document.body.style.backgroundColor=ii.palette.alternateBackground.main),()=>{Y&&(document.body.style.backgroundColor=ii.palette.white.main)})),[Y]);const ni=f("data-portal-base-url")||"/",ei=S?.startsWith("https://"),ri=ei?S:void 0!==S?v(ni,S):"";return i(y,{fluid:H,children:[R&&t(s,{children:R}),_||null,i(A,{children:[_&&t(b,{size:16,variant:"vertical"}),!E&&i(n,{children:[i(T,{container:!0,alignItems:"center",direction:"column",children:[t(o,{item:!0,container:!0,direction:"row",alignContent:"space-between",children:t(I,{item:!0,children:B&&B.map(((i,n)=>t("div",{children:i},n)))})}),i(W,{item:!0,container:!0,children:[(J||q)&&t(k,{children:t(j,{"aria-label":"Back","data-testid":"back_button",hasTitleComponent:!!$,component:"button",onClick:()=>{q?O(-1):J&&K||J&&history.length<3?O(J):O(-1)},children:t(a,{})})}),i(C,{item:!0,children:[$?t($,{}):t(n,{children:i(k,{display:"flex",alignItems:"center",gap:2,children:[t(F,{title:Q}),Z]})}),c&&t(D,{variant:"caption",component:"h3",children:c})]}),M&&i(n,{children:[ti&&t(b,{size:56,variant:"vertical"}),t(w,{item:!0,children:i(u,{variant:"contained",fullWidth:!0,"data-testid":`Action-button-${d}`,href:U||ei?ri:"",target:U?"_blank":void 0,rel:U?"noopener noreferrer":void 0,onClick:U||ei?()=>{}:()=>O(S),children:[N&&t(r,{}),d]})})]}),X&&X.map(((n,e)=>i("div",{children:[ti&&t(b,{size:56,variant:"vertical"}),!ti&&t(b,{size:16,variant:"vertical"}),t(w,{item:!0,children:n})]},e)))]})]}),!V&&t(z,{})]}),i(h,{fullWidth:P,children:[G?t(L,{children:G}):null,t(g,{identifier:R,children:t(n,{children:x})})]})]})]})};export{F as PageTitle,H as default,B as maxWidth};
2
2
  //# sourceMappingURL=PageLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageLayout.js","sources":["../../../../src/components/ui/PageLayout/PageLayout.tsx"],"sourcesContent":["import React, { type ComponentType, type ReactNode, useEffect } from 'react';\n\nimport Add from '@mui/icons-material/Add';\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack';\nimport Grid from '@mui/material/Grid';\nimport IconButton from '@mui/material/IconButton';\nimport { styled, useTheme } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport DocumentTitle from './DocumentTitle';\nimport FullWidthContainer from './FullWidthContainer';\nimport FDErrorBoundary from '../FDErrorBoundary/FDErrorBoundary';\nimport Button from '@mui/material/Button';\nimport { getMicroFrontendAttribute } from '../../renderUtilities';\nimport { joinUrlPaths } from '../../../utilities/validation';\nimport Spacer from '../Spacer/Spacer';\nimport Box from '@mui/material/Box';\nimport Divider from '@mui/material/Divider';\n\nexport const HORIZONTAL_SPACE_CLASSNAME = 'horizontal-content-space';\nexport const LEFT_HORIZONTAL_SPACE_CLASSNAME = 'left-horizontal-content-space';\nexport const RIGHT_HORIZONTAL_SPACE_CLASSNAME = 'right-horizontal-content-space';\nexport const VERTICAL_SPACE_CLASSNAME = 'vertical-content-space';\nexport const maxWidth = 1112;\nconst historyMinLength = 3;\n\nconst StyledWrapper = styled('div')<{ fluid: boolean }>(({ theme, fluid }) => ({\n maxWidth: fluid ? 'none' : maxWidth,\n [theme.breakpoints.down('md')]: {\n maxWidth: 'none',\n },\n margin: theme.spacing(2, 4),\n position: 'relative',\n minHeight: '100vh',\n}));\n\nconst StyledActionButtonGrid = styled(Grid)(({ theme }) => ({\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n paddingTop: theme.spacing(2),\n },\n}));\n\nconst StyledHeader = styled(Grid)(({ theme }) => ({\n flexWrap: 'nowrap',\n alignItems: 'flex-start',\n paddingTop: theme.spacing(3),\n paddingBottom: theme.spacing(3),\n\n [theme.breakpoints.down('md')]: {\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(3),\n },\n}));\n\nconst StyledTitleContainer = styled(Grid)(({ theme }) => ({\n paddingTop: theme.spacing(2),\n}));\n\nconst StyledTitleSection = styled(Grid)(() => ({\n flexGrow: 1,\n}));\n\nconst StyledTopSection = styled('div')(({ theme }) => ({\n maxWidth,\n paddingBottom: theme.spacing(3),\n\n [theme.breakpoints.down('md')]: {\n paddingBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst StyledBackButton = styled(IconButton, {\n shouldForwardProp: (prop) => prop !== 'hasTitleComponent',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n})<{ hasTitleComponent: boolean; component: any }>(({ theme, hasTitleComponent }) => ({\n margin: hasTitleComponent ? theme.spacing(-0.75, 2, -1.5, -1.5) : theme.spacing(-1.5, 2, -1.5, -1.5),\n\n [theme.breakpoints.only('sm')]: {\n marginLeft: theme.spacing(-2),\n },\n\n [theme.breakpoints.only('xs')]: {\n marginLeft: theme.spacing(-2),\n },\n}));\n\nconst StyledInnerWrapper = styled('div')(({ theme }) => ({\n maxWidth,\n marginLeft: theme.spacing(6),\n marginRight: theme.spacing(4),\n paddingBottom: theme.spacing(2),\n\n [theme.breakpoints.only('md')]: {\n marginLeft: 12,\n marginRight: theme.spacing(3),\n },\n\n [theme.breakpoints.only('sm')]: {\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n maxWidth: 'none',\n },\n\n [theme.breakpoints.only('xs')]: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n maxWidth: 'none',\n },\n}));\n\nconst StyledHeaderContainer = styled(Grid)(() => ({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-end',\n}));\nconst StyledCaption = styled(Typography)<{ component: string }>(() => ({\n lineHeight: '26px',\n}));\n\nconst StyledPageTitle = styled(Typography)<{ component: string }>(() => ({\n fontWeight: 'bold',\n}));\n\nconst StyledPageDivider = styled(Divider)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n}));\n\nexport const PageTitle = ({ title }: { title: string | ReactNode }) => (\n <StyledPageTitle variant=\"h5\" component=\"h2\">\n {title}\n </StyledPageTitle>\n);\n\nexport type Props = {\n actionBtnTitle?: string;\n caption?: ReactNode;\n children: ReactNode;\n contextButtons?: ReactNode[];\n documentTitle: string;\n fluid?: boolean;\n fullWidth?: boolean;\n header?: ReactNode;\n hideHeader?: boolean;\n actionButtonLink?: string;\n pageHeader?: ReactNode;\n showActionButton?: boolean;\n showAddIcon?: boolean;\n title: ReactNode;\n titleComponent?: ComponentType<React.PropsWithChildren<unknown>>;\n toPrevious?: boolean;\n toParent?: string;\n strictToParent?: boolean;\n openLinkInNewTab?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n navigate: (to: any) => void;\n hideDivider?: boolean;\n customActionButtons?: ReactNode[];\n useAlternateBackground?: boolean;\n};\n\nconst PageLayout = (props: Props) => {\n const {\n actionBtnTitle,\n caption,\n children,\n contextButtons,\n documentTitle,\n fluid = false,\n fullWidth,\n header,\n hideHeader,\n actionButtonLink,\n openLinkInNewTab = false,\n pageHeader,\n showActionButton,\n showAddIcon,\n title,\n titleComponent: TitleComponent,\n toPrevious,\n toParent,\n strictToParent,\n navigate,\n hideDivider = false,\n customActionButtons,\n useAlternateBackground = false,\n } = props;\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('md'));\n\n useEffect(() => {\n if (useAlternateBackground) {\n document.body.style.backgroundColor = theme.palette.alternateBackground.main;\n }\n\n return () => {\n if (useAlternateBackground) {\n document.body.style.backgroundColor = theme.palette.white.main;\n }\n };\n }, [useAlternateBackground]);\n\n const baseUrl = getMicroFrontendAttribute('data-portal-base-url') || '/';\n const actionButtonWithHttps = actionButtonLink?.startsWith('https://');\n const actionButtonLinkFinal = actionButtonWithHttps\n ? actionButtonLink\n : actionButtonLink !== undefined\n ? joinUrlPaths(baseUrl, actionButtonLink)\n : '';\n\n return (\n <StyledWrapper fluid={fluid}>\n {documentTitle && <DocumentTitle>{documentTitle}</DocumentTitle>}\n\n {pageHeader ? pageHeader : null}\n <StyledInnerWrapper>\n {pageHeader && <Spacer size={16} variant=\"vertical\" />}\n {!hideHeader && (\n <>\n <StyledHeader container alignItems=\"center\" direction=\"column\">\n <Grid item container direction=\"row\" alignContent=\"space-between\">\n <StyledHeaderContainer item>\n {contextButtons && contextButtons.map((button, index) => <div key={index}>{button}</div>)}\n </StyledHeaderContainer>\n </Grid>\n <StyledTitleContainer item container>\n {(toParent || toPrevious) && (\n <Box>\n <StyledBackButton\n aria-label=\"Back\"\n data-testid=\"back_button\"\n hasTitleComponent={!!TitleComponent}\n component={'button'}\n onClick={() => {\n if (toPrevious) {\n navigate(-1);\n } else if (toParent && strictToParent) {\n navigate(toParent);\n } else if (toParent && history.length < historyMinLength) {\n navigate(toParent);\n } else {\n navigate(-1);\n }\n }}\n >\n <ArrowBackIcon />\n </StyledBackButton>\n </Box>\n )}\n\n <StyledTitleSection item>\n {TitleComponent ? <TitleComponent /> : <PageTitle title={title} />}\n {caption && (\n <StyledCaption variant=\"caption\" component=\"h3\">\n {caption}\n </StyledCaption>\n )}\n </StyledTitleSection>\n\n {showActionButton && (\n <>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n <StyledActionButtonGrid item>\n <Button\n variant=\"contained\"\n fullWidth={true}\n data-testid={`Action-button-${actionBtnTitle}`}\n href={openLinkInNewTab || actionButtonWithHttps ? actionButtonLinkFinal : ''}\n target={openLinkInNewTab ? '_blank' : undefined}\n rel={openLinkInNewTab ? 'noopener noreferrer' : undefined}\n onClick={!openLinkInNewTab && !actionButtonWithHttps ? () => navigate(actionButtonLink) : () => {}}\n >\n {showAddIcon && <Add />}\n {actionBtnTitle}\n </Button>\n </StyledActionButtonGrid>\n </>\n )}\n {customActionButtons &&\n customActionButtons.map((button, index) => (\n <div key={index}>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n {!isMobile && <Spacer size={16} variant=\"vertical\" />}\n <StyledActionButtonGrid item>{button}</StyledActionButtonGrid>\n </div>\n ))}\n </StyledTitleContainer>\n </StyledHeader>\n {!hideDivider && <StyledPageDivider />}\n </>\n )}\n <FullWidthContainer fullWidth={fullWidth}>\n {header ? <StyledTopSection>{header}</StyledTopSection> : null}\n <FDErrorBoundary identifier={documentTitle}>\n <>{children}</>\n </FDErrorBoundary>\n </FullWidthContainer>\n </StyledInnerWrapper>\n </StyledWrapper>\n );\n};\n\nexport default PageLayout;\n"],"names":["maxWidth","StyledWrapper","styled","theme","fluid","breakpoints","down","margin","spacing","position","minHeight","StyledActionButtonGrid","Grid","width","paddingTop","StyledHeader","flexWrap","alignItems","paddingBottom","StyledTitleContainer","StyledTitleSection","flexGrow","StyledTopSection","paddingLeft","paddingRight","StyledBackButton","IconButton","shouldForwardProp","prop","hasTitleComponent","only","marginLeft","StyledInnerWrapper","marginRight","StyledHeaderContainer","display","justifyContent","StyledCaption","Typography","lineHeight","StyledPageTitle","fontWeight","StyledPageDivider","Divider","marginBottom","PageTitle","title","_jsx","variant","component","children","PageLayout","props","actionBtnTitle","caption","contextButtons","documentTitle","fullWidth","header","hideHeader","actionButtonLink","openLinkInNewTab","pageHeader","showActionButton","showAddIcon","titleComponent","TitleComponent","toPrevious","toParent","strictToParent","navigate","hideDivider","customActionButtons","useAlternateBackground","useTheme","isMobile","useMediaQuery","useEffect","document","body","style","backgroundColor","palette","alternateBackground","main","white","baseUrl","getMicroFrontendAttribute","actionButtonWithHttps","startsWith","actionButtonLinkFinal","undefined","joinUrlPaths","_jsxs","DocumentTitle","Spacer","size","_Fragment","container","direction","item","alignContent","map","button","index","Box","onClick","history","length","ArrowBackIcon","Button","href","target","rel","Add","FullWidthContainer","FDErrorBoundary","identifier"],"mappings":"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"}
1
+ {"version":3,"file":"PageLayout.js","sources":["../../../../src/components/ui/PageLayout/PageLayout.tsx"],"sourcesContent":["import React, { type ComponentType, type ReactNode, useEffect } from 'react';\n\nimport Add from '@mui/icons-material/Add';\nimport ArrowBackIcon from '@mui/icons-material/ArrowBack';\nimport Grid from '@mui/material/Grid';\nimport IconButton from '@mui/material/IconButton';\nimport { styled, useTheme } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport DocumentTitle from './DocumentTitle';\nimport FullWidthContainer from './FullWidthContainer';\nimport FDErrorBoundary from '../FDErrorBoundary/FDErrorBoundary';\nimport Button from '@mui/material/Button';\nimport { getMicroFrontendAttribute } from '../../renderUtilities';\nimport { joinUrlPaths } from '../../../utilities/validation';\nimport Spacer from '../Spacer/Spacer';\nimport Box from '@mui/material/Box';\nimport Divider from '@mui/material/Divider';\n\nexport const HORIZONTAL_SPACE_CLASSNAME = 'horizontal-content-space';\nexport const LEFT_HORIZONTAL_SPACE_CLASSNAME = 'left-horizontal-content-space';\nexport const RIGHT_HORIZONTAL_SPACE_CLASSNAME = 'right-horizontal-content-space';\nexport const VERTICAL_SPACE_CLASSNAME = 'vertical-content-space';\nexport const maxWidth = 1112;\nconst historyMinLength = 3;\n\nconst StyledWrapper = styled('div')<{ fluid: boolean }>(({ theme, fluid }) => ({\n maxWidth: fluid ? 'none' : maxWidth,\n [theme.breakpoints.down('md')]: {\n maxWidth: 'none',\n },\n margin: theme.spacing(2, 4),\n position: 'relative',\n minHeight: '100vh',\n}));\n\nconst StyledActionButtonGrid = styled(Grid)(({ theme }) => ({\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n paddingTop: theme.spacing(2),\n },\n}));\n\nconst StyledHeader = styled(Grid)(({ theme }) => ({\n flexWrap: 'nowrap',\n alignItems: 'flex-start',\n paddingTop: theme.spacing(3),\n paddingBottom: theme.spacing(3),\n\n [theme.breakpoints.down('md')]: {\n paddingTop: theme.spacing(2),\n paddingBottom: theme.spacing(3),\n },\n}));\n\nconst StyledTitleContainer = styled(Grid)(({ theme }) => ({\n paddingTop: theme.spacing(2),\n}));\n\nconst StyledTitleSection = styled(Grid)(() => ({\n flexGrow: 1,\n}));\n\nconst StyledTopSection = styled('div')(({ theme }) => ({\n maxWidth,\n paddingBottom: theme.spacing(3),\n\n [theme.breakpoints.down('md')]: {\n paddingBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst StyledBackButton = styled(IconButton, {\n shouldForwardProp: (prop) => prop !== 'hasTitleComponent',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n})<{ hasTitleComponent: boolean; component: any }>(({ theme, hasTitleComponent }) => ({\n margin: hasTitleComponent ? theme.spacing(-0.75, 2, -1.5, -1.5) : theme.spacing(-1.5, 2, -1.5, -1.5),\n\n [theme.breakpoints.only('sm')]: {\n marginLeft: theme.spacing(-2),\n },\n\n [theme.breakpoints.only('xs')]: {\n marginLeft: theme.spacing(-2),\n },\n}));\n\nconst StyledInnerWrapper = styled('div')(({ theme }) => ({\n maxWidth,\n marginLeft: theme.spacing(6),\n marginRight: theme.spacing(4),\n paddingBottom: theme.spacing(2),\n\n [theme.breakpoints.only('md')]: {\n marginLeft: 12,\n marginRight: theme.spacing(3),\n },\n\n [theme.breakpoints.only('sm')]: {\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n maxWidth: 'none',\n },\n\n [theme.breakpoints.only('xs')]: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n maxWidth: 'none',\n },\n}));\n\nconst StyledHeaderContainer = styled(Grid)(() => ({\n display: 'flex',\n flexGrow: 1,\n justifyContent: 'flex-end',\n}));\nconst StyledCaption = styled(Typography)<{ component: string }>(() => ({\n lineHeight: '26px',\n}));\n\nconst StyledPageTitle = styled(Typography)<{ component: string }>(() => ({\n fontWeight: 'bold',\n}));\n\nconst StyledPageDivider = styled(Divider)(({ theme }) => ({\n marginBottom: theme.spacing(4),\n}));\n\nexport const PageTitle = ({ title }: { title: string | ReactNode }) => (\n <StyledPageTitle variant=\"h5\" component=\"h2\">\n {title}\n </StyledPageTitle>\n);\n\nexport type Props = {\n actionBtnTitle?: string;\n caption?: ReactNode;\n children: ReactNode;\n contextButtons?: ReactNode[];\n documentTitle: string;\n fluid?: boolean;\n fullWidth?: boolean;\n header?: ReactNode;\n hideHeader?: boolean;\n actionButtonLink?: string;\n pageHeader?: ReactNode;\n showActionButton?: boolean;\n showAddIcon?: boolean;\n title: ReactNode;\n titleComponent?: ComponentType<React.PropsWithChildren<unknown>>;\n titleComponentAfter?: ReactNode;\n toPrevious?: boolean;\n toParent?: string;\n strictToParent?: boolean;\n openLinkInNewTab?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n navigate: (to: any) => void;\n hideDivider?: boolean;\n customActionButtons?: ReactNode[];\n useAlternateBackground?: boolean;\n};\n\nconst PageLayout = (props: Props) => {\n const {\n actionBtnTitle,\n caption,\n children,\n contextButtons,\n documentTitle,\n fluid = false,\n fullWidth,\n header,\n hideHeader,\n actionButtonLink,\n openLinkInNewTab = false,\n pageHeader,\n showActionButton,\n showAddIcon,\n title,\n titleComponent: TitleComponent,\n toPrevious,\n toParent,\n strictToParent,\n navigate,\n hideDivider = false,\n customActionButtons,\n useAlternateBackground = false,\n titleComponentAfter,\n } = props;\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('md'));\n\n useEffect(() => {\n if (useAlternateBackground) {\n document.body.style.backgroundColor = theme.palette.alternateBackground.main;\n }\n\n return () => {\n if (useAlternateBackground) {\n document.body.style.backgroundColor = theme.palette.white.main;\n }\n };\n }, [useAlternateBackground]);\n\n const baseUrl = getMicroFrontendAttribute('data-portal-base-url') || '/';\n const actionButtonWithHttps = actionButtonLink?.startsWith('https://');\n const actionButtonLinkFinal = actionButtonWithHttps\n ? actionButtonLink\n : actionButtonLink !== undefined\n ? joinUrlPaths(baseUrl, actionButtonLink)\n : '';\n\n return (\n <StyledWrapper fluid={fluid}>\n {documentTitle && <DocumentTitle>{documentTitle}</DocumentTitle>}\n\n {pageHeader ? pageHeader : null}\n <StyledInnerWrapper>\n {pageHeader && <Spacer size={16} variant=\"vertical\" />}\n {!hideHeader && (\n <>\n <StyledHeader container alignItems=\"center\" direction=\"column\">\n <Grid item container direction=\"row\" alignContent=\"space-between\">\n <StyledHeaderContainer item>\n {contextButtons && contextButtons.map((button, index) => <div key={index}>{button}</div>)}\n </StyledHeaderContainer>\n </Grid>\n <StyledTitleContainer item container>\n {(toParent || toPrevious) && (\n <Box>\n <StyledBackButton\n aria-label=\"Back\"\n data-testid=\"back_button\"\n hasTitleComponent={!!TitleComponent}\n component={'button'}\n onClick={() => {\n if (toPrevious) {\n navigate(-1);\n } else if (toParent && strictToParent) {\n navigate(toParent);\n } else if (toParent && history.length < historyMinLength) {\n navigate(toParent);\n } else {\n navigate(-1);\n }\n }}\n >\n <ArrowBackIcon />\n </StyledBackButton>\n </Box>\n )}\n\n <StyledTitleSection item>\n {TitleComponent ? (\n <TitleComponent />\n ) : (\n <>\n <Box display=\"flex\" alignItems=\"center\" gap={2}>\n <PageTitle title={title} />\n {titleComponentAfter}\n </Box>\n </>\n )}\n {caption && (\n <StyledCaption variant=\"caption\" component=\"h3\">\n {caption}\n </StyledCaption>\n )}\n </StyledTitleSection>\n\n {showActionButton && (\n <>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n <StyledActionButtonGrid item>\n <Button\n variant=\"contained\"\n fullWidth={true}\n data-testid={`Action-button-${actionBtnTitle}`}\n href={openLinkInNewTab || actionButtonWithHttps ? actionButtonLinkFinal : ''}\n target={openLinkInNewTab ? '_blank' : undefined}\n rel={openLinkInNewTab ? 'noopener noreferrer' : undefined}\n onClick={!openLinkInNewTab && !actionButtonWithHttps ? () => navigate(actionButtonLink) : () => {}}\n >\n {showAddIcon && <Add />}\n {actionBtnTitle}\n </Button>\n </StyledActionButtonGrid>\n </>\n )}\n {customActionButtons &&\n customActionButtons.map((button, index) => (\n <div key={index}>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n {!isMobile && <Spacer size={16} variant=\"vertical\" />}\n <StyledActionButtonGrid item>{button}</StyledActionButtonGrid>\n </div>\n ))}\n </StyledTitleContainer>\n </StyledHeader>\n {!hideDivider && <StyledPageDivider />}\n </>\n )}\n <FullWidthContainer fullWidth={fullWidth}>\n {header ? <StyledTopSection>{header}</StyledTopSection> : null}\n <FDErrorBoundary identifier={documentTitle}>\n <>{children}</>\n </FDErrorBoundary>\n </FullWidthContainer>\n </StyledInnerWrapper>\n </StyledWrapper>\n );\n};\n\nexport default PageLayout;\n"],"names":["maxWidth","StyledWrapper","styled","theme","fluid","breakpoints","down","margin","spacing","position","minHeight","StyledActionButtonGrid","Grid","width","paddingTop","StyledHeader","flexWrap","alignItems","paddingBottom","StyledTitleContainer","StyledTitleSection","flexGrow","StyledTopSection","paddingLeft","paddingRight","StyledBackButton","IconButton","shouldForwardProp","prop","hasTitleComponent","only","marginLeft","StyledInnerWrapper","marginRight","StyledHeaderContainer","display","justifyContent","StyledCaption","Typography","lineHeight","StyledPageTitle","fontWeight","StyledPageDivider","Divider","marginBottom","PageTitle","title","_jsx","variant","component","children","PageLayout","props","actionBtnTitle","caption","contextButtons","documentTitle","fullWidth","header","hideHeader","actionButtonLink","openLinkInNewTab","pageHeader","showActionButton","showAddIcon","titleComponent","TitleComponent","toPrevious","toParent","strictToParent","navigate","hideDivider","customActionButtons","useAlternateBackground","titleComponentAfter","useTheme","isMobile","useMediaQuery","useEffect","document","body","style","backgroundColor","palette","alternateBackground","main","white","baseUrl","getMicroFrontendAttribute","actionButtonWithHttps","startsWith","actionButtonLinkFinal","undefined","joinUrlPaths","_jsxs","DocumentTitle","Spacer","size","_Fragment","container","direction","item","alignContent","map","button","index","Box","onClick","history","length","ArrowBackIcon","gap","Button","href","target","rel","Add","FullWidthContainer","FDErrorBoundary","identifier"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flipdish/portal-library",
3
- "version": "1.0.69",
3
+ "version": "1.0.71",
4
4
  "files": [
5
5
  "dist"
6
6
  ],