@flipdish/portal-library 3.7.2 → 4.0.0
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/components/FDErrorBoundary/index.cjs.js.map +1 -1
- package/dist/components/FDErrorBoundary/index.js.map +1 -1
- package/dist/components/Form/FormItemLayout/index.cjs.js.map +1 -1
- package/dist/components/Form/FormItemLayout/index.js.map +1 -1
- package/dist/components/Form/GenericAutocompleteField/index.cjs.js +1 -1
- package/dist/components/Form/GenericAutocompleteField/index.cjs.js.map +1 -1
- package/dist/components/Form/GenericAutocompleteField/index.d.ts +4 -4
- package/dist/components/Form/GenericAutocompleteField/index.js +1 -1
- package/dist/components/Form/GenericAutocompleteField/index.js.map +1 -1
- package/dist/components/Form/GenericFormContainer/index.cjs.js +1 -1
- package/dist/components/Form/GenericFormContainer/index.cjs.js.map +1 -1
- package/dist/components/Form/GenericFormContainer/index.d.ts +3 -3
- package/dist/components/Form/GenericFormContainer/index.js +1 -1
- package/dist/components/Form/GenericFormContainer/index.js.map +1 -1
- package/dist/components/Form/GenericTextField/index.cjs.js.map +1 -1
- package/dist/components/Form/GenericTextField/index.js.map +1 -1
- package/dist/components/Form/PaginatedAutocompleteField/index.cjs.js +1 -1
- package/dist/components/Form/PaginatedAutocompleteField/index.cjs.js.map +1 -1
- package/dist/components/Form/PaginatedAutocompleteField/index.js +1 -1
- package/dist/components/Form/PaginatedAutocompleteField/index.js.map +1 -1
- package/dist/components/GenericDatePickerField/GenericDateFieldBase.cjs.js.map +1 -1
- package/dist/components/GenericDatePickerField/GenericDateFieldBase.js.map +1 -1
- package/dist/components/GenericRadioButtons/index.cjs.js +1 -1
- package/dist/components/GenericRadioButtons/index.cjs.js.map +1 -1
- package/dist/components/GenericRadioButtons/index.d.ts +3 -3
- package/dist/components/GenericRadioButtons/index.js +1 -1
- package/dist/components/GenericRadioButtons/index.js.map +1 -1
- package/dist/components/GenericTable/HighlightScrollbar.cjs.js.map +1 -1
- package/dist/components/GenericTable/HighlightScrollbar.js.map +1 -1
- package/dist/components/GenericTable/index.cjs.js +1 -1
- package/dist/components/GenericTable/index.cjs.js.map +1 -1
- package/dist/components/GenericTable/index.js +1 -1
- package/dist/components/GenericTable/index.js.map +1 -1
- package/dist/components/GenericTableBody/index.cjs.js +1 -1
- package/dist/components/GenericTableBody/index.cjs.js.map +1 -1
- package/dist/components/GenericTableBody/index.d.ts +9 -9
- package/dist/components/GenericTableBody/index.js +1 -1
- package/dist/components/GenericTableBody/index.js.map +1 -1
- package/dist/components/GenericTableBodyRow/index.cjs.js +1 -1
- package/dist/components/GenericTableBodyRow/index.cjs.js.map +1 -1
- package/dist/components/GenericTableBodyRow/index.d.ts +2 -2
- package/dist/components/GenericTableBodyRow/index.js +1 -1
- package/dist/components/GenericTableBodyRow/index.js.map +1 -1
- package/dist/components/ListItemLinkButton/index.cjs.js +1 -1
- package/dist/components/ListItemLinkButton/index.cjs.js.map +1 -1
- package/dist/components/ListItemLinkButton/index.js +1 -1
- package/dist/components/ListItemLinkButton/index.js.map +1 -1
- package/dist/components/NoResults/index.cjs.js.map +1 -1
- package/dist/components/NoResults/index.js.map +1 -1
- package/dist/components/PageLayout/DocumentTitle.cjs.js.map +1 -1
- package/dist/components/PageLayout/DocumentTitle.d.ts +1 -1
- package/dist/components/PageLayout/DocumentTitle.js.map +1 -1
- package/dist/components/PageLayout/FullWidthContainer.cjs.js.map +1 -1
- package/dist/components/PageLayout/FullWidthContainer.js.map +1 -1
- package/dist/components/PageLayout/GlobalSpacingStyles.cjs.js.map +1 -1
- package/dist/components/PageLayout/GlobalSpacingStyles.js.map +1 -1
- package/dist/components/PageLayout/index.cjs.js.map +1 -1
- package/dist/components/PageLayout/index.js.map +1 -1
- package/dist/components/PortalMock/index.cjs.js.map +1 -1
- package/dist/components/PortalMock/index.js.map +1 -1
- package/dist/components/Spacer/index.cjs.js.map +1 -1
- package/dist/components/Spacer/index.js.map +1 -1
- package/dist/components/atoms/Badge/index.cjs.js +1 -1
- package/dist/components/atoms/Badge/index.cjs.js.map +1 -1
- package/dist/components/atoms/Badge/index.js +1 -1
- package/dist/components/atoms/Badge/index.js.map +1 -1
- package/dist/components/atoms/Button/buttonThemeOverrides.cjs.js +2 -0
- package/dist/components/atoms/Button/buttonThemeOverrides.cjs.js.map +1 -0
- package/dist/components/atoms/Button/buttonThemeOverrides.d.ts +21 -0
- package/dist/components/atoms/Button/buttonThemeOverrides.js +2 -0
- package/dist/components/atoms/Button/buttonThemeOverrides.js.map +1 -0
- package/dist/components/atoms/Button/getButtonStyles.cjs.js +2 -0
- package/dist/components/atoms/Button/getButtonStyles.cjs.js.map +1 -0
- package/dist/components/atoms/Button/getButtonStyles.d.ts +15 -0
- package/dist/components/atoms/Button/getButtonStyles.js +2 -0
- package/dist/components/atoms/Button/getButtonStyles.js.map +1 -0
- package/dist/components/atoms/Button/index.cjs.js +2 -0
- package/dist/components/atoms/Button/index.cjs.js.map +1 -0
- package/dist/components/atoms/Button/index.d.ts +26 -0
- package/dist/components/atoms/Button/index.js +2 -0
- package/dist/components/atoms/Button/index.js.map +1 -0
- package/dist/components/atoms/IconContainer/index.cjs.js.map +1 -1
- package/dist/components/molecules/Alert/index.cjs.js +1 -1
- package/dist/components/molecules/Alert/index.cjs.js.map +1 -1
- package/dist/components/molecules/Alert/index.d.ts +1 -1
- package/dist/components/molecules/Alert/index.js +1 -1
- package/dist/components/molecules/Alert/index.js.map +1 -1
- package/dist/components/molecules/Modal/index.cjs.js.map +1 -1
- package/dist/components/molecules/Modal/index.js.map +1 -1
- package/dist/custom-hooks/useMicroFrontendAttributes.cjs.js +1 -1
- package/dist/custom-hooks/useMicroFrontendAttributes.cjs.js.map +1 -1
- package/dist/custom-hooks/useMicroFrontendAttributes.d.ts +4 -4
- package/dist/custom-hooks/useMicroFrontendAttributes.js +1 -1
- package/dist/custom-hooks/useMicroFrontendAttributes.js.map +1 -1
- package/dist/custom-hooks/useRenderValidText.cjs.js.map +1 -1
- package/dist/custom-hooks/useRenderValidText.d.ts +3 -3
- package/dist/custom-hooks/useRenderValidText.js.map +1 -1
- package/dist/custom-hooks/useToasts.cjs.js.map +1 -1
- package/dist/custom-hooks/useToasts.js.map +1 -1
- package/dist/icons/helpers/withSvgIcon.cjs.js.map +1 -1
- package/dist/icons/helpers/withSvgIcon.js.map +1 -1
- package/dist/themes/ThemeProvider.cjs.js.map +1 -1
- package/dist/themes/flipdishPublicTheme.cjs.js +1 -1
- package/dist/themes/flipdishPublicTheme.cjs.js.map +1 -1
- package/dist/themes/flipdishPublicTheme.js +1 -1
- package/dist/themes/flipdishPublicTheme.js.map +1 -1
- package/dist/themes/theme.d.ts +2 -2
- package/dist/themes/tokens/colours/colours-stories-utils.cjs.js +1 -1
- package/dist/themes/tokens/colours/colours-stories-utils.cjs.js.map +1 -1
- package/dist/themes/tokens/colours/colours-stories-utils.js +1 -1
- package/dist/themes/tokens/colours/colours-stories-utils.js.map +1 -1
- package/dist/themes/tokens/colours/primitives.cjs.js +1 -1
- package/dist/themes/tokens/colours/primitives.cjs.js.map +1 -1
- package/dist/themes/tokens/colours/primitives.js +1 -1
- package/dist/themes/tokens/colours/primitives.js.map +1 -1
- package/dist/themes/tokens/colours/semantic.cjs.js +1 -1
- package/dist/themes/tokens/colours/semantic.cjs.js.map +1 -1
- package/dist/themes/tokens/colours/semantic.d.ts +223 -4
- package/dist/themes/tokens/colours/semantic.js +1 -1
- package/dist/themes/tokens/colours/semantic.js.map +1 -1
- package/dist/themes/tokens/colours/types.d.ts +14 -14
- package/dist/themes/typography.cjs.js.map +1 -1
- package/dist/themes/typography.d.ts +31 -2
- package/dist/themes/typography.js.map +1 -1
- package/dist/utilities/formValidation.cjs.js +1 -1
- package/dist/utilities/formValidation.cjs.js.map +1 -1
- package/dist/utilities/formValidation.d.ts +1 -1
- package/dist/utilities/formValidation.js.map +1 -1
- package/dist/utilities/genericUtilities.cjs.js.map +1 -1
- package/dist/utilities/genericUtilities.js.map +1 -1
- package/dist/utilities/renderUtilities.cjs.js.map +1 -1
- package/dist/utilities/renderUtilities.js.map +1 -1
- package/package.json +4 -3
- package/dist/components/Button/index.cjs.js +0 -2
- package/dist/components/Button/index.cjs.js.map +0 -1
- package/dist/components/Button/index.d.ts +0 -6
- package/dist/components/Button/index.js +0 -2
- package/dist/components/Button/index.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import i from"react";import
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import i from"react";import e from"@mui/material/Skeleton";import{styled as r}from"@mui/material/styles";import l from"@mui/material/TableBody";import o from"@mui/material/TableCell";import a from"@mui/material/TableRow";import n from"../GenericTableBodyRow/index.js";const m=r(o,{shouldForwardProp:t=>"align"!==t&&"titleCell"!==t&&"warning"!==t&&"sticky"!==t&&"isTitleRow"!==t})((({align:t,titleCell:i,warning:e,sticky:r,isTitleRow:l})=>({textAlign:t,fontWeight:i||l?"bold":"normal",backgroundColor:e?"#ffcccb":"inherit",position:r?"sticky":"static"}))),c=({colIdx:e,colName:r,hasWarning:l,hasTitle:o,meta:a,row:n,type:c})=>{const s=n[r],d=a[r]?.align??"left",w=a[r]?.hideWhenEmpty??!1?"":"-",p={align:d,warning:l??!1,titleCell:o??!1,sticky:"sticky"===c&&0===e,"data-testid":`col-${r}`,isTitleRow:n.isTitleRow??!1};if(i.isValidElement(s))return t(m,{...p,children:s});switch(a[r]?.columnType){case"String":default:return t(m,{...p,children:s??w});case"Custom":return t(m,{...p,children:s?a[r]?.customComponent?.(s,n):w})}},s=({columns:i,data:r,loading:o,type:s,onRowClick:d,meta:w})=>t(l,{children:o?Array.from(Array(5)).map(((r,l)=>t(a,{"data-testid":"row-loader",children:Array.from(i).map(((i,r)=>t(m,{align:"left","data-testid":`col-${i}`,isTitleRow:!1,sticky:!1,titleCell:!1,warning:!1,children:t(e,{height:22,width:"90%"})},`col-${i}-loader-${r}`)))},`row-loader-${l}`))):r?.map(((e,r)=>t(n,{row:e,tableRowTestKey:r.toString(),onRowClick:d,children:Array.from(i).map(((i,r)=>t(c,{colIdx:r,colName:i,meta:w??{},row:e,type:s},`cell-${i}-${r}`)))},`row-${r}`)))});export{s as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBody/index.tsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport MuiTableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\n\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBody/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport Skeleton from '@mui/material/Skeleton';\nimport { styled } from '@mui/material/styles';\nimport MuiTableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableRow from '@mui/material/TableRow';\n\nimport GenericTableBodyRow from '../GenericTableBodyRow';\n\nexport interface GenericTableColumns {\n columnName: string;\n columnTitle: string;\n columnType: 'Custom' | 'String';\n align?: 'left' | 'right';\n isVisible: boolean;\n ordinal: number;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n customComponent?: (data: any, row: any) => JSX.Element;\n tooltip?: string;\n hideWhenEmpty?: boolean;\n}\n\nconst StyledTableCell = styled(TableCell, {\n shouldForwardProp: (prop) =>\n prop !== 'align' &&\n prop !== 'titleCell' &&\n prop !== 'warning' &&\n prop !== 'sticky' &&\n prop !== 'isTitleRow',\n})<{ align: string; titleCell: boolean; warning: boolean; sticky: boolean; isTitleRow: boolean }>(\n ({ align, titleCell, warning, sticky, isTitleRow }) => ({\n textAlign: align,\n fontWeight: titleCell || isTitleRow ? 'bold' : 'normal',\n backgroundColor: warning ? '#ffcccb' : 'inherit',\n position: sticky ? 'sticky' : 'static',\n }),\n);\n\nexport interface TableCellProps {\n colIdx: number;\n colName: string;\n hasWarning?: boolean;\n hasTitle?: boolean;\n meta: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: Record<string, any>;\n type: 'normal' | 'sticky';\n}\n\nconst RenderTableCell: React.FC<TableCellProps> = ({\n colIdx,\n colName,\n hasWarning,\n hasTitle,\n meta,\n row,\n type,\n}) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const prop = row[colName];\n const align = meta[colName]?.align ?? 'left';\n const hideWhenEmpty = meta[colName]?.hideWhenEmpty ?? false;\n const fallbackValue = hideWhenEmpty ? '' : '-';\n const tableCellProps = {\n align,\n warning: hasWarning ?? false,\n titleCell: hasTitle ?? false,\n sticky: type === 'sticky' && colIdx === 0,\n 'data-testid': `col-${colName}`,\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n isTitleRow: row['isTitleRow'] ?? false,\n };\n\n // When prop is a React element render it as is\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n if (React.isValidElement(prop)) {\n return <StyledTableCell {...tableCellProps}>{prop}</StyledTableCell>;\n }\n\n switch (meta[colName]?.columnType) {\n case 'String':\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n case 'Custom':\n return (\n <StyledTableCell {...tableCellProps}>\n {prop ? meta[colName]?.customComponent?.(prop, row) : fallbackValue}\n </StyledTableCell>\n );\n default:\n return <StyledTableCell {...tableCellProps}>{prop ?? fallbackValue}</StyledTableCell>;\n }\n};\n\ninterface TableBodyProps {\n columns: Set<string>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data?: any[];\n loading?: boolean;\n meta?: { [key: string]: GenericTableColumns };\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n type: 'normal' | 'sticky';\n}\n\nconst GenericTableBody: React.FC<TableBodyProps> = ({ columns, data, loading, type, onRowClick, meta }) => {\n const rowsPerPage = 5;\n return (\n <MuiTableBody>\n {loading\n ? Array.from(Array(rowsPerPage)).map((_, idx) => (\n // eslint-disable-next-line react/no-array-index-key\n <TableRow key={`row-loader-${idx}`} data-testid=\"row-loader\">\n {Array.from(columns).map((columnName, colIdx) => (\n <StyledTableCell\n // eslint-disable-next-line react/no-array-index-key\n key={`col-${columnName}-loader-${colIdx}`}\n align={'left'}\n data-testid={`col-${columnName}`}\n isTitleRow={false}\n sticky={false}\n titleCell={false}\n warning={false}\n >\n <Skeleton height={22} width=\"90%\" />\n </StyledTableCell>\n ))}\n </TableRow>\n ))\n : data?.map((row, rowIdx) => (\n <GenericTableBodyRow\n // eslint-disable-next-line react/no-array-index-key\n key={`row-${rowIdx}`}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n row={row}\n tableRowTestKey={rowIdx.toString()}\n onRowClick={onRowClick}\n >\n {Array.from(columns).map((colName, colIdx) => (\n <RenderTableCell\n // eslint-disable-next-line react/no-array-index-key\n key={`cell-${colName}-${colIdx}`}\n colIdx={colIdx}\n colName={colName}\n meta={meta ?? {}}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n row={row}\n type={type}\n />\n ))}\n </GenericTableBodyRow>\n ))}\n </MuiTableBody>\n );\n};\n\nexport default GenericTableBody;\n"],"names":["StyledTableCell","styled","TableCell","shouldForwardProp","prop","align","titleCell","warning","sticky","isTitleRow","textAlign","fontWeight","backgroundColor","position","RenderTableCell","colIdx","colName","hasWarning","hasTitle","meta","row","type","fallbackValue","hideWhenEmpty","tableCellProps","React","isValidElement","_jsx","children","columnType","customComponent","GenericTableBody","columns","data","loading","onRowClick","MuiTableBody","Array","from","map","_","idx","TableRow","columnName","Skeleton","height","width","rowIdx","GenericTableBodyRow","tableRowTestKey","toString"],"mappings":"oTAuBA,MAAMA,EAAkBC,EAAOC,EAAW,CACxCC,kBAAoBC,GACT,UAATA,GACS,cAATA,GACS,YAATA,GACS,WAATA,GACS,eAATA,GANoBH,EAQtB,EAAGI,QAAOC,YAAWC,UAASC,SAAQC,iBAAkB,CACtDC,UAAWL,EACXM,WAAYL,GAAaG,EAAa,OAAS,SAC/CG,gBAAiBL,EAAU,UAAY,UACvCM,SAAUL,EAAS,SAAW,aAe5BM,EAA4C,EAChDC,SACAC,UACAC,aACAC,WACAC,OACAC,MACAC,WAGA,MAAMjB,EAAOgB,EAAIJ,GACXX,EAAQc,EAAKH,IAAUX,OAAS,OAEhCiB,EADgBH,EAAKH,IAAUO,gBAAiB,EAChB,GAAK,IACrCC,EAAiB,CACrBnB,QACAE,QAASU,IAAc,EACvBX,UAAWY,IAAY,EACvBV,OAAiB,WAATa,GAAgC,IAAXN,EAC7B,cAAe,OAAOC,IAEtBP,WAAYW,EAAgB,aAAK,GAKnC,GAAIK,EAAMC,eAAetB,GACvB,OAAOuB,EAAC3B,EAAe,IAAKwB,EAAiBI,SAAAxB,IAG/C,OAAQe,EAAKH,IAAUa,YACrB,IAAK,SAQL,QACE,OAAOF,EAAC3B,EAAoB,IAAAwB,WAAiBpB,GAAQkB,IAPvD,IAAK,SACH,OACEK,EAAC3B,EAAe,IAAKwB,EAAcI,SAChCxB,EAAOe,EAAKH,IAAUc,kBAAkB1B,EAAMgB,GAAOE,MAmB1DS,EAA6C,EAAGC,UAASC,OAAMC,UAASb,OAAMc,aAAYhB,UAG5FQ,EAACS,EAAY,CAAAR,SACVM,EACGG,MAAMC,KAAKD,MAJC,IAImBE,KAAI,CAACC,EAAGC,IAErCd,EAACe,iBAA+C,aAAYd,SACzDS,MAAMC,KAAKN,GAASO,KAAI,CAACI,EAAY5B,IACpCY,EAAC3B,GAGCK,MAAO,OACM,cAAA,OAAOsC,IACpBlC,YAAY,EACZD,QAAQ,EACRF,WAAW,EACXC,SAAS,EAETqB,SAAAD,EAACiB,EAAS,CAAAC,OAAQ,GAAIC,MAAM,SARvB,OAAOH,YAAqB5B,QAJxB,cAAc0B,OAiB/BR,GAAMM,KAAI,CAACnB,EAAK2B,IACdpB,EAACqB,GAIC5B,IAAKA,EACL6B,gBAAiBF,EAAOG,WACxBf,WAAYA,WAEXE,MAAMC,KAAKN,GAASO,KAAI,CAACvB,EAASD,IACjCY,EAACb,GAGCC,OAAQA,EACRC,QAASA,EACTG,KAAMA,GAAQ,CAAE,EAEhBC,IAAKA,EACLC,KAAMA,GAND,QAAQL,KAAWD,QATvB,OAAOgC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime");require("react");var r=require("@mui/material/
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime");require("react");var r=require("@mui/material/styles"),t=require("@mui/material/TableRow");const i=r.styled(t,{shouldForwardProp:e=>"isTitleRow"!==e})((({theme:e,isTitleRow:r})=>r?{backgroundColor:e.palette.semantic.background["background-sunken"]}:{}));module.exports=r=>{const{onRowClick:o,row:a,children:l,tableRowTestKey:s}=r,c=e=>{e.preventDefault(),o?.(a)};return o?e.jsx(i,{"data-testid":`row-clickable-${s}`,hover:void 0!==c,isTitleRow:a.isTitleRow??!1,onClick:c,children:l}):e.jsx(t,{"data-testid":`row-${s}`,children:l})};
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTableBodyRow/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/GenericTableBodyRow/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { styled } from '@mui/material/styles';\nimport TableRow from '@mui/material/TableRow';\n\nexport interface TableBodyRowProps {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: any;\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n tableRowTestKey: string;\n}\n\nconst StyledTableRow = styled(TableRow, {\n shouldForwardProp: (prop) => prop !== 'isTitleRow',\n})<{ isTitleRow: boolean }>(({ theme, isTitleRow }) => {\n if (!isTitleRow) {\n return {};\n }\n\n return {\n backgroundColor: theme.palette.semantic.background['background-sunken'],\n };\n});\n\ntype TableBodyRowProp = TableBodyRowProps & { children: React.ReactNode };\n\nconst GenericTableBodyRow: React.FC<React.PropsWithChildren<TableBodyRowProp>> = (props) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { onRowClick, row, children, tableRowTestKey } = props;\n\n const onClick = (event: React.MouseEvent<HTMLTableRowElement>): void => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n event.preventDefault();\n onRowClick?.(row);\n };\n\n if (onRowClick) {\n return (\n <StyledTableRow\n data-testid={`row-clickable-${tableRowTestKey}`}\n hover={onClick !== undefined}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n isTitleRow={row['isTitleRow'] ?? false}\n onClick={onClick}\n >\n {children}\n </StyledTableRow>\n );\n }\n\n return <TableRow data-testid={`row-${tableRowTestKey}`}>{children}</TableRow>;\n};\n\nexport default GenericTableBodyRow;\n"],"names":["StyledTableRow","styled","TableRow","shouldForwardProp","prop","theme","isTitleRow","backgroundColor","palette","semantic","background","props","onRowClick","row","children","tableRowTestKey","onClick","event","preventDefault","_jsx","jsx","hover","undefined"],"mappings":"2IAaA,MAAMA,EAAiBC,EAAMA,OAACC,EAAU,CACtCC,kBAAoBC,GAAkB,eAATA,GADRH,EAEK,EAAGI,QAAOC,gBAC/BA,EAIE,CACLC,gBAAiBF,EAAMG,QAAQC,SAASC,WAAW,sBAJ5C,CAAE,mBAUqEC,IAEhF,MAAMC,WAAEA,EAAUC,IAAEA,EAAGC,SAAEA,EAAQC,gBAAEA,GAAoBJ,EAEjDK,EAAWC,IAEfA,EAAMC,iBACNN,IAAaC,IAGf,OAAID,EAEAO,EAAAC,IAACpB,EAAc,CAAA,cACA,iBAAiBe,IAC9BM,WAAmBC,IAAZN,EAEPV,WAAYO,EAAgB,aAAK,EACjCG,QAASA,EAAOF,SAEfA,IAKAK,EAAAC,IAAClB,EAAsB,CAAA,cAAA,OAAOa,IAAiBD,SAAGA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import react__default from 'react';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
interface TableBodyRowProps {
|
|
4
4
|
row: any;
|
|
5
5
|
onRowClick?: Function;
|
|
6
6
|
tableRowTestKey: string;
|
|
7
|
-
}
|
|
7
|
+
}
|
|
8
8
|
type TableBodyRowProp = TableBodyRowProps & {
|
|
9
9
|
children: react__default.ReactNode;
|
|
10
10
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import"react";import t
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import"react";import{styled as t}from"@mui/material/styles";import o from"@mui/material/TableRow";const r=t(o,{shouldForwardProp:e=>"isTitleRow"!==e})((({theme:e,isTitleRow:t})=>t?{backgroundColor:e.palette.semantic.background["background-sunken"]}:{})),i=t=>{const{onRowClick:i,row:a,children:l,tableRowTestKey:n}=t,s=e=>{e.preventDefault(),i?.(a)};return i?e(r,{"data-testid":`row-clickable-${n}`,hover:void 0!==s,isTitleRow:a.isTitleRow??!1,onClick:s,children:l}):e(o,{"data-testid":`row-${n}`,children:l})};export{i as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBodyRow/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/GenericTableBodyRow/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { styled } from '@mui/material/styles';\nimport TableRow from '@mui/material/TableRow';\n\nexport interface TableBodyRowProps {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n row: any;\n // eslint-disable-next-line @typescript-eslint/ban-types\n onRowClick?: Function;\n tableRowTestKey: string;\n}\n\nconst StyledTableRow = styled(TableRow, {\n shouldForwardProp: (prop) => prop !== 'isTitleRow',\n})<{ isTitleRow: boolean }>(({ theme, isTitleRow }) => {\n if (!isTitleRow) {\n return {};\n }\n\n return {\n backgroundColor: theme.palette.semantic.background['background-sunken'],\n };\n});\n\ntype TableBodyRowProp = TableBodyRowProps & { children: React.ReactNode };\n\nconst GenericTableBodyRow: React.FC<React.PropsWithChildren<TableBodyRowProp>> = (props) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { onRowClick, row, children, tableRowTestKey } = props;\n\n const onClick = (event: React.MouseEvent<HTMLTableRowElement>): void => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n event.preventDefault();\n onRowClick?.(row);\n };\n\n if (onRowClick) {\n return (\n <StyledTableRow\n data-testid={`row-clickable-${tableRowTestKey}`}\n hover={onClick !== undefined}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n isTitleRow={row['isTitleRow'] ?? false}\n onClick={onClick}\n >\n {children}\n </StyledTableRow>\n );\n }\n\n return <TableRow data-testid={`row-${tableRowTestKey}`}>{children}</TableRow>;\n};\n\nexport default GenericTableBodyRow;\n"],"names":["StyledTableRow","styled","TableRow","shouldForwardProp","prop","theme","isTitleRow","backgroundColor","palette","semantic","background","GenericTableBodyRow","props","onRowClick","row","children","tableRowTestKey","onClick","event","preventDefault","_jsx","hover","undefined"],"mappings":"0IAaA,MAAMA,EAAiBC,EAAOC,EAAU,CACtCC,kBAAoBC,GAAkB,eAATA,GADRH,EAEK,EAAGI,QAAOC,gBAC/BA,EAIE,CACLC,gBAAiBF,EAAMG,QAAQC,SAASC,WAAW,sBAJ5C,CAAE,IAUPC,EAA4EC,IAEhF,MAAMC,WAAEA,EAAUC,IAAEA,EAAGC,SAAEA,EAAQC,gBAAEA,GAAoBJ,EAEjDK,EAAWC,IAEfA,EAAMC,iBACNN,IAAaC,IAGf,OAAID,EAEAO,EAACpB,EAAc,CAAA,cACA,iBAAiBgB,IAC9BK,WAAmBC,IAAZL,EAEPX,WAAYQ,EAAgB,aAAK,EACjCG,QAASA,EAAOF,SAEfA,IAKAK,EAAClB,EAAsB,CAAA,cAAA,OAAOc,IAAiBD,SAAGA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react");var t=require("@mui/material/IconButton"),i=require("@mui/material/ListItemIcon"),r=require("@mui/material/ListItemText"),o=require("@mui/material/styles/styled"),n=require("@mui/material/styles/useTheme"),s=require("@mui/material/useMediaQuery"),a=require("../../icons/ArrowRight01/index.cjs.js");const d=o(require("../ListItemLink/index.cjs.js"),{shouldForwardProp:e=>!["borderBottom"].includes(e)&&!["disabled"].includes(e)&&!["selected"].includes(e)})((({theme:e,borderBottom:t,selected:i})=>({borderBottom:t??"1px solid #cecece",paddingLeft:e.spacing(4),paddingRight:e.spacing(4),"&:hover":{backgroundColor:"#eaf2ff"},"&:focus":{backgroundColor:"#eaf2ff"},color:e.palette.text.primary,textDecoration:"none",backgroundColor:i?"#eaf2ff":"inherit"}))),c=o(i,{shouldForwardProp:e=>!["iconMargin"].includes(e)})((({iconMargin:e})=>({margin:e||"16px",marginLeft:"0",padding:"0px",minWidth:"0"}))),l=o(r)((({theme:e})=>({"& .MuiListItemText-primary":{color:e.palette.text.primary},"& .MuiListItemText-secondary":{color:e.palette.text.secondary}}))),u=({borderBottom:i,customTitle:r,customSubtitle:o,disabled:u=!1,onClick:m,title:p,subtitle:x,icon:b,iconMargin:g,hideIcon:f=!1,link:h,isLast:j,customButton:y,iconComponent:k,dataFd:L="",isSelected:q=!1})=>{const I=n(),M=s(I.breakpoints.down("tablet")),B=!j||M,C=r||p,v=o||x;return e.jsxs(d,{button:!0,borderBottom:B?i:"none",disabled:u,divider:B,fdKey:L||`link-button-${p}`,selected:q,to:h,onClick:m,children:[b&&e.jsx(c,{iconMargin:g,children:e.jsx("img",{alt:"",src:b})}),k&&e.jsx(c,{iconMargin:g,children:k}),e.jsx(l,{primary:C,secondary:v,sx:{pr:"60px"}}),!f&&(y||e.jsx(t,{"aria-label":`link-button-${p}`,children:e.jsx(a,{})}))]})};exports.ListItemLinkButton=u,exports.default=u;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react");var t=require("@mui/material/IconButton"),i=require("@mui/material/ListItemIcon"),r=require("@mui/material/ListItemText"),o=require("@mui/material/styles/styled"),n=require("@mui/material/styles/useTheme"),s=require("@mui/material/useMediaQuery"),a=require("../../icons/ArrowRight01/index.cjs.js");const d=o(require("../ListItemLink/index.cjs.js"),{shouldForwardProp:e=>!["borderBottom"].includes(e)&&!["disabled"].includes(e)&&!["selected"].includes(e)})((({theme:e,borderBottom:t,selected:i})=>({borderBottom:t??"1px solid #cecece",paddingLeft:e.spacing(4),paddingRight:e.spacing(4),"&:hover":{backgroundColor:"#eaf2ff"},"&:focus":{backgroundColor:"#eaf2ff"},color:e.palette.text.primary,textDecoration:"none",backgroundColor:i?"#eaf2ff":"inherit"}))),c=o(i,{shouldForwardProp:e=>!["iconMargin"].includes(e)})((({iconMargin:e})=>({margin:e||"16px",marginLeft:"0",padding:"0px",minWidth:"0"}))),l=o(r)((({theme:e})=>({"& .MuiListItemText-primary":{color:e.palette.text.primary},"& .MuiListItemText-secondary":{color:e.palette.text.secondary}}))),u=({borderBottom:i,customTitle:r,customSubtitle:o,disabled:u=!1,onClick:m,title:p,subtitle:x,icon:b,iconMargin:g,hideIcon:f=!1,link:h="",isLast:j,customButton:y,iconComponent:k,dataFd:L="",isSelected:q=!1})=>{const I=n(),M=s(I.breakpoints.down("tablet")),B=!j||M,C=r||p,v=o||x;return e.jsxs(d,{button:!0,borderBottom:B?i:"none",disabled:u,divider:B,fdKey:L||`link-button-${p}`,selected:q,to:h,onClick:m,children:[b&&e.jsx(c,{iconMargin:g,children:e.jsx("img",{alt:"",src:b})}),k&&e.jsx(c,{iconMargin:g,children:k}),e.jsx(l,{primary:C,secondary:v,sx:{pr:"60px"}}),!f&&(y||e.jsx(t,{"aria-label":`link-button-${p}`,children:e.jsx(a,{})}))]})};exports.ListItemLinkButton=u,exports.default=u;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/ListItemLinkButton/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport IconButton from '@mui/material/IconButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport styled from '@mui/material/styles/styled';\nimport useTheme from '@mui/material/styles/useTheme';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport KeyboardArrowRight from '../../icons/ArrowRight01';\nimport ListItemLink from '../ListItemLink';\n\ntype MarginType = number | string;\n\n// Styled components\nconst StyledListItemLink = styled(ListItemLink, {\n shouldForwardProp: (prop) =>\n !['borderBottom'].includes(prop as string) &&\n !['disabled'].includes(prop as string) &&\n !['selected'].includes(prop as string),\n})<{ borderBottom?: string; disabled?: boolean; selected: boolean }>(({ theme, borderBottom, selected }) => ({\n borderBottom: borderBottom ?? '1px solid #cecece',\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(4),\n '&:hover': {\n backgroundColor: '#eaf2ff',\n },\n '&:focus': {\n backgroundColor: '#eaf2ff',\n },\n // Override link color inheritance\n color: theme.palette.text.primary,\n textDecoration: 'none',\n backgroundColor: selected ? '#eaf2ff' : 'inherit',\n}));\n\nconst StyledListItemIcon = styled(ListItemIcon, {\n shouldForwardProp: (prop) => !['iconMargin'].includes(prop as string),\n})<{ iconMargin?: MarginType }>(({ iconMargin }) => ({\n margin: iconMargin || '16px',\n marginLeft: '0',\n padding: '0px',\n minWidth: '0',\n}));\n\nconst StyledListItemText = styled(ListItemText)(({ theme }) => ({\n '& .MuiListItemText-primary': {\n color: theme.palette.text.primary,\n },\n '& .MuiListItemText-secondary': {\n color: theme.palette.text.secondary,\n },\n}));\n\ninterface ListItemLinkButtonProps {\n customTitle?: string;\n customSubtitle?: React.ReactNode;\n disabled?: boolean;\n title?: string;\n subtitle?: string;\n icon?: string;\n hideIcon?: boolean;\n link?: string;\n isLast?: boolean;\n onClick?: () => void;\n borderBottom?: string;\n customButton?: JSX.Element;\n iconComponent?: JSX.Element;\n iconMargin?: MarginType;\n dataFd?: string;\n isSelected?: boolean;\n}\n\nexport const ListItemLinkButton = ({\n borderBottom,\n customTitle,\n customSubtitle,\n disabled = false,\n onClick,\n title,\n subtitle,\n icon,\n iconMargin,\n hideIcon = false,\n link,\n isLast,\n customButton,\n iconComponent,\n dataFd = '',\n isSelected = false,\n}: ListItemLinkButtonProps) => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('tablet'));\n const hasDivider = !isLast || isMobile;\n\n const titleText = customTitle || title;\n const subtitleText = customSubtitle || subtitle;\n\n return (\n <StyledListItemLink\n button\n borderBottom={hasDivider ? borderBottom : 'none'}\n disabled={disabled}\n divider={hasDivider}\n fdKey={dataFd || `link-button-${title}`}\n selected={isSelected}\n to={link}\n onClick={onClick}\n >\n {icon && (\n <StyledListItemIcon iconMargin={iconMargin}>\n <img alt=\"\" src={icon} />\n </StyledListItemIcon>\n )}\n\n {iconComponent && <StyledListItemIcon iconMargin={iconMargin}>{iconComponent}</StyledListItemIcon>}\n\n <StyledListItemText primary={titleText} secondary={subtitleText} sx={{ pr: '60px' }} />\n\n {!hideIcon &&\n (customButton || (\n <IconButton aria-label={`link-button-${title}`}>\n <KeyboardArrowRight />\n </IconButton>\n ))}\n </StyledListItemLink>\n );\n};\n\nexport default ListItemLinkButton;\n"],"names":["StyledListItemLink","styled","shouldForwardProp","prop","includes","theme","borderBottom","selected","paddingLeft","spacing","paddingRight","backgroundColor","color","palette","text","primary","textDecoration","StyledListItemIcon","ListItemIcon","iconMargin","margin","marginLeft","padding","minWidth","StyledListItemText","ListItemText","secondary","ListItemLinkButton","customTitle","customSubtitle","disabled","onClick","title","subtitle","icon","hideIcon","link","isLast","customButton","iconComponent","dataFd","isSelected","useTheme","isMobile","useMediaQuery","breakpoints","down","hasDivider","titleText","subtitleText","_jsxs","button","divider","fdKey","to","children","_jsx","jsx","alt","src","sx","pr","IconButton","KeyboardArrowRight"],"mappings":"kaAeA,MAAMA,EAAqBC,0CAAqB,CAC9CC,kBAAoBC,IACjB,CAAC,gBAAgBC,SAASD,KAC1B,CAAC,YAAYC,SAASD,KACtB,CAAC,YAAYC,SAASD,IAJAF,EAK0C,EAAGI,QAAOC,eAAcC,eAAgB,CAC3GD,aAAcA,GAAgB,oBAC9BE,YAAaH,EAAMI,QAAQ,GAC3BC,aAAcL,EAAMI,QAAQ,GAC5B,UAAW,CACTE,gBAAiB,WAEnB,UAAW,CACTA,gBAAiB,WAGnBC,MAAOP,EAAMQ,QAAQC,KAAKC,QAC1BC,eAAgB,OAChBL,gBAAiBJ,EAAW,UAAY,cAGpCU,EAAqBhB,EAAOiB,EAAc,CAC9ChB,kBAAoBC,IAAU,CAAC,cAAcC,SAASD,IAD7BF,EAEK,EAAGkB,iBAAkB,CACnDC,OAAQD,GAAc,OACtBE,WAAY,IACZC,QAAS,MACTC,SAAU,QAGNC,EAAqBvB,EAAOwB,EAAPxB,EAAqB,EAAGI,YAAa,CAC9D,6BAA8B,CAC5BO,MAAOP,EAAMQ,QAAQC,KAAKC,SAE5B,+BAAgC,CAC9BH,MAAOP,EAAMQ,QAAQC,KAAKY,eAuBjBC,EAAqB,EAChCrB,eACAsB,cACAC,iBACAC,YAAW,EACXC,UACAC,QACAC,WACAC,OACAf,aACAgB,YAAW,EACXC,
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/ListItemLinkButton/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport IconButton from '@mui/material/IconButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport styled from '@mui/material/styles/styled';\nimport useTheme from '@mui/material/styles/useTheme';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport KeyboardArrowRight from '../../icons/ArrowRight01';\nimport ListItemLink from '../ListItemLink';\n\ntype MarginType = number | string;\n\n// Styled components\nconst StyledListItemLink = styled(ListItemLink, {\n shouldForwardProp: (prop) =>\n !['borderBottom'].includes(prop as string) &&\n !['disabled'].includes(prop as string) &&\n !['selected'].includes(prop as string),\n})<{ borderBottom?: string; disabled?: boolean; selected: boolean }>(({ theme, borderBottom, selected }) => ({\n borderBottom: borderBottom ?? '1px solid #cecece',\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(4),\n '&:hover': {\n backgroundColor: '#eaf2ff',\n },\n '&:focus': {\n backgroundColor: '#eaf2ff',\n },\n // Override link color inheritance\n color: theme.palette.text.primary,\n textDecoration: 'none',\n backgroundColor: selected ? '#eaf2ff' : 'inherit',\n}));\n\nconst StyledListItemIcon = styled(ListItemIcon, {\n shouldForwardProp: (prop) => !['iconMargin'].includes(prop as string),\n})<{ iconMargin?: MarginType }>(({ iconMargin }) => ({\n margin: iconMargin || '16px',\n marginLeft: '0',\n padding: '0px',\n minWidth: '0',\n}));\n\nconst StyledListItemText = styled(ListItemText)(({ theme }) => ({\n '& .MuiListItemText-primary': {\n color: theme.palette.text.primary,\n },\n '& .MuiListItemText-secondary': {\n color: theme.palette.text.secondary,\n },\n}));\n\ninterface ListItemLinkButtonProps {\n customTitle?: string;\n customSubtitle?: React.ReactNode;\n disabled?: boolean;\n title?: string;\n subtitle?: string;\n icon?: string;\n hideIcon?: boolean;\n link?: string;\n isLast?: boolean;\n onClick?: () => void;\n borderBottom?: string;\n customButton?: JSX.Element;\n iconComponent?: JSX.Element;\n iconMargin?: MarginType;\n dataFd?: string;\n isSelected?: boolean;\n}\n\nexport const ListItemLinkButton = ({\n borderBottom,\n customTitle,\n customSubtitle,\n disabled = false,\n onClick,\n title,\n subtitle,\n icon,\n iconMargin,\n hideIcon = false,\n link = '',\n isLast,\n customButton,\n iconComponent,\n dataFd = '',\n isSelected = false,\n}: ListItemLinkButtonProps) => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('tablet'));\n const hasDivider = !isLast || isMobile;\n\n const titleText = customTitle || title;\n const subtitleText = customSubtitle || subtitle;\n\n return (\n <StyledListItemLink\n button\n borderBottom={hasDivider ? borderBottom : 'none'}\n disabled={disabled}\n divider={hasDivider}\n fdKey={dataFd || `link-button-${title}`}\n selected={isSelected}\n to={link}\n onClick={onClick}\n >\n {icon && (\n <StyledListItemIcon iconMargin={iconMargin}>\n <img alt=\"\" src={icon} />\n </StyledListItemIcon>\n )}\n\n {iconComponent && <StyledListItemIcon iconMargin={iconMargin}>{iconComponent}</StyledListItemIcon>}\n\n <StyledListItemText primary={titleText} secondary={subtitleText} sx={{ pr: '60px' }} />\n\n {!hideIcon &&\n (customButton || (\n <IconButton aria-label={`link-button-${title}`}>\n <KeyboardArrowRight />\n </IconButton>\n ))}\n </StyledListItemLink>\n );\n};\n\nexport default ListItemLinkButton;\n"],"names":["StyledListItemLink","styled","shouldForwardProp","prop","includes","theme","borderBottom","selected","paddingLeft","spacing","paddingRight","backgroundColor","color","palette","text","primary","textDecoration","StyledListItemIcon","ListItemIcon","iconMargin","margin","marginLeft","padding","minWidth","StyledListItemText","ListItemText","secondary","ListItemLinkButton","customTitle","customSubtitle","disabled","onClick","title","subtitle","icon","hideIcon","link","isLast","customButton","iconComponent","dataFd","isSelected","useTheme","isMobile","useMediaQuery","breakpoints","down","hasDivider","titleText","subtitleText","_jsxs","button","divider","fdKey","to","children","_jsx","jsx","alt","src","sx","pr","IconButton","KeyboardArrowRight"],"mappings":"kaAeA,MAAMA,EAAqBC,0CAAqB,CAC9CC,kBAAoBC,IACjB,CAAC,gBAAgBC,SAASD,KAC1B,CAAC,YAAYC,SAASD,KACtB,CAAC,YAAYC,SAASD,IAJAF,EAK0C,EAAGI,QAAOC,eAAcC,eAAgB,CAC3GD,aAAcA,GAAgB,oBAC9BE,YAAaH,EAAMI,QAAQ,GAC3BC,aAAcL,EAAMI,QAAQ,GAC5B,UAAW,CACTE,gBAAiB,WAEnB,UAAW,CACTA,gBAAiB,WAGnBC,MAAOP,EAAMQ,QAAQC,KAAKC,QAC1BC,eAAgB,OAChBL,gBAAiBJ,EAAW,UAAY,cAGpCU,EAAqBhB,EAAOiB,EAAc,CAC9ChB,kBAAoBC,IAAU,CAAC,cAAcC,SAASD,IAD7BF,EAEK,EAAGkB,iBAAkB,CACnDC,OAAQD,GAAc,OACtBE,WAAY,IACZC,QAAS,MACTC,SAAU,QAGNC,EAAqBvB,EAAOwB,EAAPxB,EAAqB,EAAGI,YAAa,CAC9D,6BAA8B,CAC5BO,MAAOP,EAAMQ,QAAQC,KAAKC,SAE5B,+BAAgC,CAC9BH,MAAOP,EAAMQ,QAAQC,KAAKY,eAuBjBC,EAAqB,EAChCrB,eACAsB,cACAC,iBACAC,YAAW,EACXC,UACAC,QACAC,WACAC,OACAf,aACAgB,YAAW,EACXC,OAAO,GACPC,SACAC,eACAC,gBACAC,SAAS,GACTC,cAAa,MAEb,MAAMpC,EAAQqC,IACRC,EAAWC,EAAcvC,EAAMwC,YAAYC,KAAK,WAChDC,GAAcV,GAAUM,EAExBK,EAAYpB,GAAeI,EAC3BiB,EAAepB,GAAkBI,EAEvC,OACEiB,EAAAA,KAAClD,EAAkB,CACjBmD,QACA,EAAA7C,aAAcyC,EAAazC,EAAe,OAC1CwB,SAAUA,EACVsB,QAASL,EACTM,MAAOb,GAAU,eAAeR,IAChCzB,SAAUkC,EACVa,GAAIlB,EACJL,QAASA,EAAOwB,SAAA,CAEfrB,GACCsB,EAAAC,IAACxC,EAAmB,CAAAE,WAAYA,EAAUoC,SACxCC,EAAAA,WAAKE,IAAI,GAAGC,IAAKzB,MAIpBK,GAAiBiB,EAAAA,IAACvC,EAAmB,CAAAE,WAAYA,WAAaoB,IAE/DiB,EAACC,IAAAjC,GAAmBT,QAASiC,EAAWtB,UAAWuB,EAAcW,GAAI,CAAEC,GAAI,WAEzE1B,IACCG,GACCkB,MAACM,EAAU,CAAA,aAAa,eAAe9B,IACrCuB,SAAAC,EAAAA,IAACO,EAAqB,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as t,jsx as e}from"react/jsx-runtime";import"react";import o from"@mui/material/IconButton";import i from"@mui/material/ListItemIcon";import r from"@mui/material/ListItemText";import n from"@mui/material/styles/styled";import a from"@mui/material/styles/useTheme";import m from"@mui/material/useMediaQuery";import d from"../../icons/ArrowRight01/index.js";import l from"../ListItemLink/index.js";const c=n(l,{shouldForwardProp:t=>!["borderBottom"].includes(t)&&!["disabled"].includes(t)&&!["selected"].includes(t)})((({theme:t,borderBottom:e,selected:o})=>({borderBottom:e??"1px solid #cecece",paddingLeft:t.spacing(4),paddingRight:t.spacing(4),"&:hover":{backgroundColor:"#eaf2ff"},"&:focus":{backgroundColor:"#eaf2ff"},color:t.palette.text.primary,textDecoration:"none",backgroundColor:o?"#eaf2ff":"inherit"}))),s=n(i,{shouldForwardProp:t=>!["iconMargin"].includes(t)})((({iconMargin:t})=>({margin:t||"16px",marginLeft:"0",padding:"0px",minWidth:"0"}))),u=n(r)((({theme:t})=>({"& .MuiListItemText-primary":{color:t.palette.text.primary},"& .MuiListItemText-secondary":{color:t.palette.text.secondary}}))),p=({borderBottom:i,customTitle:r,customSubtitle:n,disabled:l=!1,onClick:p,title:f,subtitle:b,icon:g,iconMargin:x,hideIcon:h=!1,link:y,isLast:k,customButton:L,iconComponent:I,dataFd:M="",isSelected:B=!1})=>{const C=a(),T=m(C.breakpoints.down("tablet")),w=!k||T,j=r||f,F=n||b;return t(c,{button:!0,borderBottom:w?i:"none",disabled:l,divider:w,fdKey:M||`link-button-${f}`,selected:B,to:y,onClick:p,children:[g&&e(s,{iconMargin:x,children:e("img",{alt:"",src:g})}),I&&e(s,{iconMargin:x,children:I}),e(u,{primary:j,secondary:F,sx:{pr:"60px"}}),!h&&(L||e(o,{"aria-label":`link-button-${f}`,children:e(d,{})}))]})};export{p as ListItemLinkButton,p as default};
|
|
1
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import"react";import o from"@mui/material/IconButton";import i from"@mui/material/ListItemIcon";import r from"@mui/material/ListItemText";import n from"@mui/material/styles/styled";import a from"@mui/material/styles/useTheme";import m from"@mui/material/useMediaQuery";import d from"../../icons/ArrowRight01/index.js";import l from"../ListItemLink/index.js";const c=n(l,{shouldForwardProp:t=>!["borderBottom"].includes(t)&&!["disabled"].includes(t)&&!["selected"].includes(t)})((({theme:t,borderBottom:e,selected:o})=>({borderBottom:e??"1px solid #cecece",paddingLeft:t.spacing(4),paddingRight:t.spacing(4),"&:hover":{backgroundColor:"#eaf2ff"},"&:focus":{backgroundColor:"#eaf2ff"},color:t.palette.text.primary,textDecoration:"none",backgroundColor:o?"#eaf2ff":"inherit"}))),s=n(i,{shouldForwardProp:t=>!["iconMargin"].includes(t)})((({iconMargin:t})=>({margin:t||"16px",marginLeft:"0",padding:"0px",minWidth:"0"}))),u=n(r)((({theme:t})=>({"& .MuiListItemText-primary":{color:t.palette.text.primary},"& .MuiListItemText-secondary":{color:t.palette.text.secondary}}))),p=({borderBottom:i,customTitle:r,customSubtitle:n,disabled:l=!1,onClick:p,title:f,subtitle:b,icon:g,iconMargin:x,hideIcon:h=!1,link:y="",isLast:k,customButton:L,iconComponent:I,dataFd:M="",isSelected:B=!1})=>{const C=a(),T=m(C.breakpoints.down("tablet")),w=!k||T,j=r||f,F=n||b;return t(c,{button:!0,borderBottom:w?i:"none",disabled:l,divider:w,fdKey:M||`link-button-${f}`,selected:B,to:y,onClick:p,children:[g&&e(s,{iconMargin:x,children:e("img",{alt:"",src:g})}),I&&e(s,{iconMargin:x,children:I}),e(u,{primary:j,secondary:F,sx:{pr:"60px"}}),!h&&(L||e(o,{"aria-label":`link-button-${f}`,children:e(d,{})}))]})};export{p as ListItemLinkButton,p as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/ListItemLinkButton/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport IconButton from '@mui/material/IconButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport styled from '@mui/material/styles/styled';\nimport useTheme from '@mui/material/styles/useTheme';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport KeyboardArrowRight from '../../icons/ArrowRight01';\nimport ListItemLink from '../ListItemLink';\n\ntype MarginType = number | string;\n\n// Styled components\nconst StyledListItemLink = styled(ListItemLink, {\n shouldForwardProp: (prop) =>\n !['borderBottom'].includes(prop as string) &&\n !['disabled'].includes(prop as string) &&\n !['selected'].includes(prop as string),\n})<{ borderBottom?: string; disabled?: boolean; selected: boolean }>(({ theme, borderBottom, selected }) => ({\n borderBottom: borderBottom ?? '1px solid #cecece',\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(4),\n '&:hover': {\n backgroundColor: '#eaf2ff',\n },\n '&:focus': {\n backgroundColor: '#eaf2ff',\n },\n // Override link color inheritance\n color: theme.palette.text.primary,\n textDecoration: 'none',\n backgroundColor: selected ? '#eaf2ff' : 'inherit',\n}));\n\nconst StyledListItemIcon = styled(ListItemIcon, {\n shouldForwardProp: (prop) => !['iconMargin'].includes(prop as string),\n})<{ iconMargin?: MarginType }>(({ iconMargin }) => ({\n margin: iconMargin || '16px',\n marginLeft: '0',\n padding: '0px',\n minWidth: '0',\n}));\n\nconst StyledListItemText = styled(ListItemText)(({ theme }) => ({\n '& .MuiListItemText-primary': {\n color: theme.palette.text.primary,\n },\n '& .MuiListItemText-secondary': {\n color: theme.palette.text.secondary,\n },\n}));\n\ninterface ListItemLinkButtonProps {\n customTitle?: string;\n customSubtitle?: React.ReactNode;\n disabled?: boolean;\n title?: string;\n subtitle?: string;\n icon?: string;\n hideIcon?: boolean;\n link?: string;\n isLast?: boolean;\n onClick?: () => void;\n borderBottom?: string;\n customButton?: JSX.Element;\n iconComponent?: JSX.Element;\n iconMargin?: MarginType;\n dataFd?: string;\n isSelected?: boolean;\n}\n\nexport const ListItemLinkButton = ({\n borderBottom,\n customTitle,\n customSubtitle,\n disabled = false,\n onClick,\n title,\n subtitle,\n icon,\n iconMargin,\n hideIcon = false,\n link,\n isLast,\n customButton,\n iconComponent,\n dataFd = '',\n isSelected = false,\n}: ListItemLinkButtonProps) => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('tablet'));\n const hasDivider = !isLast || isMobile;\n\n const titleText = customTitle || title;\n const subtitleText = customSubtitle || subtitle;\n\n return (\n <StyledListItemLink\n button\n borderBottom={hasDivider ? borderBottom : 'none'}\n disabled={disabled}\n divider={hasDivider}\n fdKey={dataFd || `link-button-${title}`}\n selected={isSelected}\n to={link}\n onClick={onClick}\n >\n {icon && (\n <StyledListItemIcon iconMargin={iconMargin}>\n <img alt=\"\" src={icon} />\n </StyledListItemIcon>\n )}\n\n {iconComponent && <StyledListItemIcon iconMargin={iconMargin}>{iconComponent}</StyledListItemIcon>}\n\n <StyledListItemText primary={titleText} secondary={subtitleText} sx={{ pr: '60px' }} />\n\n {!hideIcon &&\n (customButton || (\n <IconButton aria-label={`link-button-${title}`}>\n <KeyboardArrowRight />\n </IconButton>\n ))}\n </StyledListItemLink>\n );\n};\n\nexport default ListItemLinkButton;\n"],"names":["StyledListItemLink","styled","ListItemLink","shouldForwardProp","prop","includes","theme","borderBottom","selected","paddingLeft","spacing","paddingRight","backgroundColor","color","palette","text","primary","textDecoration","StyledListItemIcon","ListItemIcon","iconMargin","margin","marginLeft","padding","minWidth","StyledListItemText","ListItemText","secondary","ListItemLinkButton","customTitle","customSubtitle","disabled","onClick","title","subtitle","icon","hideIcon","link","isLast","customButton","iconComponent","dataFd","isSelected","useTheme","isMobile","useMediaQuery","breakpoints","down","hasDivider","titleText","subtitleText","_jsxs","button","divider","fdKey","to","children","_jsx","alt","src","sx","pr","IconButton","KeyboardArrowRight"],"mappings":"wZAeA,MAAMA,EAAqBC,EAAOC,EAAc,CAC9CC,kBAAoBC,IACjB,CAAC,gBAAgBC,SAASD,KAC1B,CAAC,YAAYC,SAASD,KACtB,CAAC,YAAYC,SAASD,IAJAH,EAK0C,EAAGK,QAAOC,eAAcC,eAAgB,CAC3GD,aAAcA,GAAgB,oBAC9BE,YAAaH,EAAMI,QAAQ,GAC3BC,aAAcL,EAAMI,QAAQ,GAC5B,UAAW,CACTE,gBAAiB,WAEnB,UAAW,CACTA,gBAAiB,WAGnBC,MAAOP,EAAMQ,QAAQC,KAAKC,QAC1BC,eAAgB,OAChBL,gBAAiBJ,EAAW,UAAY,cAGpCU,EAAqBjB,EAAOkB,EAAc,CAC9ChB,kBAAoBC,IAAU,CAAC,cAAcC,SAASD,IAD7BH,EAEK,EAAGmB,iBAAkB,CACnDC,OAAQD,GAAc,OACtBE,WAAY,IACZC,QAAS,MACTC,SAAU,QAGNC,EAAqBxB,EAAOyB,EAAPzB,EAAqB,EAAGK,YAAa,CAC9D,6BAA8B,CAC5BO,MAAOP,EAAMQ,QAAQC,KAAKC,SAE5B,+BAAgC,CAC9BH,MAAOP,EAAMQ,QAAQC,KAAKY,eAuBjBC,EAAqB,EAChCrB,eACAsB,cACAC,iBACAC,YAAW,EACXC,UACAC,QACAC,WACAC,OACAf,aACAgB,YAAW,EACXC,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/ListItemLinkButton/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport IconButton from '@mui/material/IconButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport styled from '@mui/material/styles/styled';\nimport useTheme from '@mui/material/styles/useTheme';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport KeyboardArrowRight from '../../icons/ArrowRight01';\nimport ListItemLink from '../ListItemLink';\n\ntype MarginType = number | string;\n\n// Styled components\nconst StyledListItemLink = styled(ListItemLink, {\n shouldForwardProp: (prop) =>\n !['borderBottom'].includes(prop as string) &&\n !['disabled'].includes(prop as string) &&\n !['selected'].includes(prop as string),\n})<{ borderBottom?: string; disabled?: boolean; selected: boolean }>(({ theme, borderBottom, selected }) => ({\n borderBottom: borderBottom ?? '1px solid #cecece',\n paddingLeft: theme.spacing(4),\n paddingRight: theme.spacing(4),\n '&:hover': {\n backgroundColor: '#eaf2ff',\n },\n '&:focus': {\n backgroundColor: '#eaf2ff',\n },\n // Override link color inheritance\n color: theme.palette.text.primary,\n textDecoration: 'none',\n backgroundColor: selected ? '#eaf2ff' : 'inherit',\n}));\n\nconst StyledListItemIcon = styled(ListItemIcon, {\n shouldForwardProp: (prop) => !['iconMargin'].includes(prop as string),\n})<{ iconMargin?: MarginType }>(({ iconMargin }) => ({\n margin: iconMargin || '16px',\n marginLeft: '0',\n padding: '0px',\n minWidth: '0',\n}));\n\nconst StyledListItemText = styled(ListItemText)(({ theme }) => ({\n '& .MuiListItemText-primary': {\n color: theme.palette.text.primary,\n },\n '& .MuiListItemText-secondary': {\n color: theme.palette.text.secondary,\n },\n}));\n\ninterface ListItemLinkButtonProps {\n customTitle?: string;\n customSubtitle?: React.ReactNode;\n disabled?: boolean;\n title?: string;\n subtitle?: string;\n icon?: string;\n hideIcon?: boolean;\n link?: string;\n isLast?: boolean;\n onClick?: () => void;\n borderBottom?: string;\n customButton?: JSX.Element;\n iconComponent?: JSX.Element;\n iconMargin?: MarginType;\n dataFd?: string;\n isSelected?: boolean;\n}\n\nexport const ListItemLinkButton = ({\n borderBottom,\n customTitle,\n customSubtitle,\n disabled = false,\n onClick,\n title,\n subtitle,\n icon,\n iconMargin,\n hideIcon = false,\n link = '',\n isLast,\n customButton,\n iconComponent,\n dataFd = '',\n isSelected = false,\n}: ListItemLinkButtonProps) => {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('tablet'));\n const hasDivider = !isLast || isMobile;\n\n const titleText = customTitle || title;\n const subtitleText = customSubtitle || subtitle;\n\n return (\n <StyledListItemLink\n button\n borderBottom={hasDivider ? borderBottom : 'none'}\n disabled={disabled}\n divider={hasDivider}\n fdKey={dataFd || `link-button-${title}`}\n selected={isSelected}\n to={link}\n onClick={onClick}\n >\n {icon && (\n <StyledListItemIcon iconMargin={iconMargin}>\n <img alt=\"\" src={icon} />\n </StyledListItemIcon>\n )}\n\n {iconComponent && <StyledListItemIcon iconMargin={iconMargin}>{iconComponent}</StyledListItemIcon>}\n\n <StyledListItemText primary={titleText} secondary={subtitleText} sx={{ pr: '60px' }} />\n\n {!hideIcon &&\n (customButton || (\n <IconButton aria-label={`link-button-${title}`}>\n <KeyboardArrowRight />\n </IconButton>\n ))}\n </StyledListItemLink>\n );\n};\n\nexport default ListItemLinkButton;\n"],"names":["StyledListItemLink","styled","ListItemLink","shouldForwardProp","prop","includes","theme","borderBottom","selected","paddingLeft","spacing","paddingRight","backgroundColor","color","palette","text","primary","textDecoration","StyledListItemIcon","ListItemIcon","iconMargin","margin","marginLeft","padding","minWidth","StyledListItemText","ListItemText","secondary","ListItemLinkButton","customTitle","customSubtitle","disabled","onClick","title","subtitle","icon","hideIcon","link","isLast","customButton","iconComponent","dataFd","isSelected","useTheme","isMobile","useMediaQuery","breakpoints","down","hasDivider","titleText","subtitleText","_jsxs","button","divider","fdKey","to","children","_jsx","alt","src","sx","pr","IconButton","KeyboardArrowRight"],"mappings":"wZAeA,MAAMA,EAAqBC,EAAOC,EAAc,CAC9CC,kBAAoBC,IACjB,CAAC,gBAAgBC,SAASD,KAC1B,CAAC,YAAYC,SAASD,KACtB,CAAC,YAAYC,SAASD,IAJAH,EAK0C,EAAGK,QAAOC,eAAcC,eAAgB,CAC3GD,aAAcA,GAAgB,oBAC9BE,YAAaH,EAAMI,QAAQ,GAC3BC,aAAcL,EAAMI,QAAQ,GAC5B,UAAW,CACTE,gBAAiB,WAEnB,UAAW,CACTA,gBAAiB,WAGnBC,MAAOP,EAAMQ,QAAQC,KAAKC,QAC1BC,eAAgB,OAChBL,gBAAiBJ,EAAW,UAAY,cAGpCU,EAAqBjB,EAAOkB,EAAc,CAC9ChB,kBAAoBC,IAAU,CAAC,cAAcC,SAASD,IAD7BH,EAEK,EAAGmB,iBAAkB,CACnDC,OAAQD,GAAc,OACtBE,WAAY,IACZC,QAAS,MACTC,SAAU,QAGNC,EAAqBxB,EAAOyB,EAAPzB,EAAqB,EAAGK,YAAa,CAC9D,6BAA8B,CAC5BO,MAAOP,EAAMQ,QAAQC,KAAKC,SAE5B,+BAAgC,CAC9BH,MAAOP,EAAMQ,QAAQC,KAAKY,eAuBjBC,EAAqB,EAChCrB,eACAsB,cACAC,iBACAC,YAAW,EACXC,UACAC,QACAC,WACAC,OACAf,aACAgB,YAAW,EACXC,OAAO,GACPC,SACAC,eACAC,gBACAC,SAAS,GACTC,cAAa,MAEb,MAAMpC,EAAQqC,IACRC,EAAWC,EAAcvC,EAAMwC,YAAYC,KAAK,WAChDC,GAAcV,GAAUM,EAExBK,EAAYpB,GAAeI,EAC3BiB,EAAepB,GAAkBI,EAEvC,OACEiB,EAACnD,EAAkB,CACjBoD,QACA,EAAA7C,aAAcyC,EAAazC,EAAe,OAC1CwB,SAAUA,EACVsB,QAASL,EACTM,MAAOb,GAAU,eAAeR,IAChCzB,SAAUkC,EACVa,GAAIlB,EACJL,QAASA,EAAOwB,SAAA,CAEfrB,GACCsB,EAACvC,EAAmB,CAAAE,WAAYA,EAAUoC,SACxCC,SAAKC,IAAI,GAAGC,IAAKxB,MAIpBK,GAAiBiB,EAACvC,EAAmB,CAAAE,WAAYA,WAAaoB,IAE/DiB,EAAChC,GAAmBT,QAASiC,EAAWtB,UAAWuB,EAAcU,GAAI,CAAEC,GAAI,WAEzEzB,IACCG,GACCkB,EAACK,EAAU,CAAA,aAAa,eAAe7B,IACrCuB,SAAAC,EAACM,EAAqB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/NoResults/index.tsx"],"sourcesContent":["import Card from '@mui/material/Card';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nconst StyledTextContainer = styled('div')(({ theme }) => ({\n margin: theme.spacing(8, 'auto'),\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n textAlign: 'center',\n}));\n\nconst StyledCard = styled(Card)(({ theme }) => ({\n padding: theme.spacing(2, 8),\n}));\n\ntype Props = {\n title: string;\n caption?: string;\n hasCardBackground?: boolean;\n};\n\nconst NoResults = ({ title, caption, hasCardBackground = false }: Props) => {\n const renderContent = () => {\n return (\n <StyledTextContainer>\n <Typography variant=\"h6\" gutterBottom>\n {title}\n </Typography>\n {caption && <Typography variant=\"body2\">{caption}</Typography>}\n </StyledTextContainer>\n );\n };\n\n if (!hasCardBackground) {\n return renderContent();\n }\n\n return <StyledCard>{renderContent()}</StyledCard>;\n};\n\nexport default NoResults;\n"],"names":["StyledTextContainer","styled","theme","margin","spacing","display","flexDirection","justifyContent","alignItems","textAlign","StyledCard","Card","padding","title","caption","hasCardBackground","renderContent","_jsxs","children","_jsx","Typography","variant","gutterBottom","jsx"],"mappings":"wJAIA,MAAMA,EAAsBC,EAAAA,OAAO,MAAPA,EAAc,EAAGC,YAAa,CACtDC,OAAQD,EAAME,QAAQ,EAAG,QACzBC,QAAS,OACTC,cAAe,SACfC,eAAgB,SAChBC,WAAY,SACZC,UAAW,aAGTC,EAAaT,EAAAA,OAAOU,EAAPV,EAAa,EAAGC,YAAa,CAC5CU,QAASV,EAAME,QAAQ,EAAG,sBASZ,EAAGS,QAAOC,UAASC,qBAAoB,MACrD,MAAMC,EAAgB,IAEdC,OAACjB,EAAmB,CAAAkB,SAAA,CAChBC,EAAAA,IAACC,EAAW,CAAAC,QAAQ,KAAKC,cACpB,EAAAJ,SAAAL,IAEJC,GAAWK,EAACI,IAAAH,EAAW,CAAAC,QAAQ,QAASH,SAAAJ,OAKrD,OAAKC,EAIEI,MAACT,EAAU,CAAAQ,SAAEF,MAHTA
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/NoResults/index.tsx"],"sourcesContent":["import Card from '@mui/material/Card';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nconst StyledTextContainer = styled('div')(({ theme }) => ({\n margin: theme.spacing(8, 'auto'),\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n textAlign: 'center',\n}));\n\nconst StyledCard = styled(Card)(({ theme }) => ({\n padding: theme.spacing(2, 8),\n}));\n\ntype Props = {\n title: string;\n caption?: string;\n hasCardBackground?: boolean;\n};\n\nconst NoResults = ({ title, caption, hasCardBackground = false }: Props) => {\n const renderContent = () => {\n return (\n <StyledTextContainer>\n <Typography variant=\"h6\" gutterBottom>\n {title}\n </Typography>\n {caption && <Typography variant=\"body2\">{caption}</Typography>}\n </StyledTextContainer>\n );\n };\n\n if (!hasCardBackground) {\n return renderContent();\n }\n\n return <StyledCard>{renderContent()}</StyledCard>;\n};\n\nexport default NoResults;\n"],"names":["StyledTextContainer","styled","theme","margin","spacing","display","flexDirection","justifyContent","alignItems","textAlign","StyledCard","Card","padding","title","caption","hasCardBackground","renderContent","_jsxs","children","_jsx","Typography","variant","gutterBottom","jsx"],"mappings":"wJAIA,MAAMA,EAAsBC,EAAAA,OAAO,MAAPA,EAAc,EAAGC,YAAa,CACtDC,OAAQD,EAAME,QAAQ,EAAG,QACzBC,QAAS,OACTC,cAAe,SACfC,eAAgB,SAChBC,WAAY,SACZC,UAAW,aAGTC,EAAaT,EAAAA,OAAOU,EAAPV,EAAa,EAAGC,YAAa,CAC5CU,QAASV,EAAME,QAAQ,EAAG,sBASZ,EAAGS,QAAOC,UAASC,qBAAoB,MACrD,MAAMC,EAAgB,IAEdC,OAACjB,EAAmB,CAAAkB,SAAA,CAChBC,EAAAA,IAACC,EAAW,CAAAC,QAAQ,KAAKC,cACpB,EAAAJ,SAAAL,IAEJC,GAAWK,EAACI,IAAAH,EAAW,CAAAC,QAAQ,QAASH,SAAAJ,OAKrD,OAAKC,EAIEI,MAACT,EAAU,CAAAQ,SAAEF,MAHTA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/NoResults/index.tsx"],"sourcesContent":["import Card from '@mui/material/Card';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nconst StyledTextContainer = styled('div')(({ theme }) => ({\n margin: theme.spacing(8, 'auto'),\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n textAlign: 'center',\n}));\n\nconst StyledCard = styled(Card)(({ theme }) => ({\n padding: theme.spacing(2, 8),\n}));\n\ntype Props = {\n title: string;\n caption?: string;\n hasCardBackground?: boolean;\n};\n\nconst NoResults = ({ title, caption, hasCardBackground = false }: Props) => {\n const renderContent = () => {\n return (\n <StyledTextContainer>\n <Typography variant=\"h6\" gutterBottom>\n {title}\n </Typography>\n {caption && <Typography variant=\"body2\">{caption}</Typography>}\n </StyledTextContainer>\n );\n };\n\n if (!hasCardBackground) {\n return renderContent();\n }\n\n return <StyledCard>{renderContent()}</StyledCard>;\n};\n\nexport default NoResults;\n"],"names":["StyledTextContainer","styled","theme","margin","spacing","display","flexDirection","justifyContent","alignItems","textAlign","StyledCard","Card","padding","NoResults","title","caption","hasCardBackground","renderContent","_jsxs","children","_jsx","Typography","variant","gutterBottom"],"mappings":"0KAIA,MAAMA,EAAsBC,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACtDC,OAAQD,EAAME,QAAQ,EAAG,QACzBC,QAAS,OACTC,cAAe,SACfC,eAAgB,SAChBC,WAAY,SACZC,UAAW,aAGTC,EAAaT,EAAOU,EAAPV,EAAa,EAAGC,YAAa,CAC5CU,QAASV,EAAME,QAAQ,EAAG,OASxBS,EAAY,EAAGC,QAAOC,UAASC,qBAAoB,MACrD,MAAMC,EAAgB,IAEdC,EAAClB,EAAmB,CAAAmB,SAAA,CAChBC,EAACC,EAAW,CAAAC,QAAQ,KAAKC,cACpB,EAAAJ,SAAAL,IAEJC,GAAWK,EAACC,EAAW,CAAAC,QAAQ,QAASH,SAAAJ,OAKrD,OAAKC,EAIEI,EAACV,EAAU,CAAAS,SAAEF,MAHTA
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/NoResults/index.tsx"],"sourcesContent":["import Card from '@mui/material/Card';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nconst StyledTextContainer = styled('div')(({ theme }) => ({\n margin: theme.spacing(8, 'auto'),\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n textAlign: 'center',\n}));\n\nconst StyledCard = styled(Card)(({ theme }) => ({\n padding: theme.spacing(2, 8),\n}));\n\ntype Props = {\n title: string;\n caption?: string;\n hasCardBackground?: boolean;\n};\n\nconst NoResults = ({ title, caption, hasCardBackground = false }: Props) => {\n const renderContent = () => {\n return (\n <StyledTextContainer>\n <Typography variant=\"h6\" gutterBottom>\n {title}\n </Typography>\n {caption && <Typography variant=\"body2\">{caption}</Typography>}\n </StyledTextContainer>\n );\n };\n\n if (!hasCardBackground) {\n return renderContent();\n }\n\n return <StyledCard>{renderContent()}</StyledCard>;\n};\n\nexport default NoResults;\n"],"names":["StyledTextContainer","styled","theme","margin","spacing","display","flexDirection","justifyContent","alignItems","textAlign","StyledCard","Card","padding","NoResults","title","caption","hasCardBackground","renderContent","_jsxs","children","_jsx","Typography","variant","gutterBottom"],"mappings":"0KAIA,MAAMA,EAAsBC,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACtDC,OAAQD,EAAME,QAAQ,EAAG,QACzBC,QAAS,OACTC,cAAe,SACfC,eAAgB,SAChBC,WAAY,SACZC,UAAW,aAGTC,EAAaT,EAAOU,EAAPV,EAAa,EAAGC,YAAa,CAC5CU,QAASV,EAAME,QAAQ,EAAG,OASxBS,EAAY,EAAGC,QAAOC,UAASC,qBAAoB,MACrD,MAAMC,EAAgB,IAEdC,EAAClB,EAAmB,CAAAmB,SAAA,CAChBC,EAACC,EAAW,CAAAC,QAAQ,KAAKC,cACpB,EAAAJ,SAAAL,IAEJC,GAAWK,EAACC,EAAW,CAAAC,QAAQ,QAASH,SAAAJ,OAKrD,OAAKC,EAIEI,EAACV,EAAU,CAAAS,SAAEF,MAHTA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentTitle.cjs.js","sources":["../../../src/components/PageLayout/DocumentTitle.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\ntype Props = {\n children: string;\n};\n\nconst DEFAULT_TITLE = 'Flipdish Portal';\n\nconst DocumentTitle = ({ children }: Props) => {\n useEffect(() => {\n document.title = `${children} | Flipdish`;\n return () => {\n document.title = DEFAULT_TITLE;\n };\n }, [children]);\n\n return null;\n};\n\nexport default DocumentTitle;\n"],"names":["children","useEffect","document","title"],"mappings":"mDAQsB,EAAGA,eACrBC,EAAAA,WAAU,KACNC,SAASC,MAAQ,GAAGH,eACb,KACHE,SAASC,MANC,
|
|
1
|
+
{"version":3,"file":"DocumentTitle.cjs.js","sources":["../../../src/components/PageLayout/DocumentTitle.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\ntype Props = {\n children: string;\n};\n\nconst DEFAULT_TITLE = 'Flipdish Portal';\n\nconst DocumentTitle = ({ children }: Props) => {\n useEffect(() => {\n document.title = `${children} | Flipdish`;\n return () => {\n document.title = DEFAULT_TITLE;\n };\n }, [children]);\n\n return null;\n};\n\nexport default DocumentTitle;\n"],"names":["children","useEffect","document","title"],"mappings":"mDAQsB,EAAGA,eACrBC,EAAAA,WAAU,KACNC,SAASC,MAAQ,GAAGH,eACb,KACHE,SAASC,MANC,qBAQf,CAACH,IAEG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentTitle.js","sources":["../../../src/components/PageLayout/DocumentTitle.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\ntype Props = {\n children: string;\n};\n\nconst DEFAULT_TITLE = 'Flipdish Portal';\n\nconst DocumentTitle = ({ children }: Props) => {\n useEffect(() => {\n document.title = `${children} | Flipdish`;\n return () => {\n document.title = DEFAULT_TITLE;\n };\n }, [children]);\n\n return null;\n};\n\nexport default DocumentTitle;\n"],"names":["DocumentTitle","children","useEffect","document","title"],"mappings":"kCAMA,MAEMA,EAAgB,EAAGC,eACrBC,GAAU,KACNC,SAASC,MAAQ,GAAGH,eACb,KACHE,SAASC,MANC,
|
|
1
|
+
{"version":3,"file":"DocumentTitle.js","sources":["../../../src/components/PageLayout/DocumentTitle.tsx"],"sourcesContent":["import { useEffect } from 'react';\n\ntype Props = {\n children: string;\n};\n\nconst DEFAULT_TITLE = 'Flipdish Portal';\n\nconst DocumentTitle = ({ children }: Props) => {\n useEffect(() => {\n document.title = `${children} | Flipdish`;\n return () => {\n document.title = DEFAULT_TITLE;\n };\n }, [children]);\n\n return null;\n};\n\nexport default DocumentTitle;\n"],"names":["DocumentTitle","children","useEffect","document","title"],"mappings":"kCAMA,MAEMA,EAAgB,EAAGC,eACrBC,GAAU,KACNC,SAASC,MAAQ,GAAGH,eACb,KACHE,SAASC,MANC,qBAQf,CAACH,IAEG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullWidthContainer.cjs.js","sources":["../../../src/components/PageLayout/FullWidthContainer.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\n\nimport { styled, type Theme, useTheme } from '@mui/material/styles';\n\ninterface Props {\n className?: string;\n children: ReactNode;\n fullWidth?: boolean;\n fullSize?: boolean;\n noTopSpace?: boolean;\n}\n\nconst FullWidthContainer = ({ children, className = '', fullWidth, fullSize, noTopSpace }: Props) => {\n const theme = useTheme<Theme>();\n\n const FullWidthDiv = styled('div')(() => ({\n // Base styles\n ...(fullWidth && {\n marginLeft: -20,\n marginRight: -20,\n }),\n ...(fullSize && {\n [theme.breakpoints.up('mobile')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n },\n }),\n ...(noTopSpace && {\n marginTop: `${theme.spacing(-3)} !important`,\n [theme.breakpoints.only('base')]: {\n marginTop: `${theme.spacing(-2)} !important`,\n },\n }),\n [theme.breakpoints.only('mobile')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n },\n [theme.breakpoints.only('base')]: {\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n }));\n\n return <FullWidthDiv className={className}>{children}</FullWidthDiv>;\n};\n\nexport default FullWidthContainer;\n"],"names":["children","className","fullWidth","fullSize","noTopSpace","theme","useTheme","FullWidthDiv","styled","marginLeft","marginRight","breakpoints","up","spacing","marginTop","only","_jsx"],"mappings":"sHAY2B,EAAGA,WAAUC,YAAY,GAAIC,YAAWC,WAAUC,iBAC3E,MAAMC,EAAQC,EAAAA,WAERC,EAAeC,EAAAA,OAAO,MAAPA,EAAc,KAAO,IAEpCN,GAAa,CACfO,YAAe,GACfC,aAAgB,OAEdP,GAAY,CACd,CAACE,EAAMM,YAAYC,GAAG,WAAY,CAChCH,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,iBAGnBT,GAAc,CAChBU,UAAW,GAAGT,EAAMQ,SAAU,gBAC9B,CAACR,EAAMM,YAAYI,KAAK,SAAU,CAChCD,UAAW,GAAGT,EAAMQ,SAAU,kBAGlC,CAACR,EAAMM,YAAYI,KAAK,WAAY,CAClCN,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,aAErB,CAACR,EAAMM,YAAYI,KAAK,SAAU,CAChCN,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,iBAIvB,OAAOG,EAAAA,IAACT,EAAa,CAAAN,UAAWA,EAASD,SAAGA
|
|
1
|
+
{"version":3,"file":"FullWidthContainer.cjs.js","sources":["../../../src/components/PageLayout/FullWidthContainer.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\n\nimport { styled, type Theme, useTheme } from '@mui/material/styles';\n\ninterface Props {\n className?: string;\n children: ReactNode;\n fullWidth?: boolean;\n fullSize?: boolean;\n noTopSpace?: boolean;\n}\n\nconst FullWidthContainer = ({ children, className = '', fullWidth, fullSize, noTopSpace }: Props) => {\n const theme = useTheme<Theme>();\n\n const FullWidthDiv = styled('div')(() => ({\n // Base styles\n ...(fullWidth && {\n marginLeft: -20,\n marginRight: -20,\n }),\n ...(fullSize && {\n [theme.breakpoints.up('mobile')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n },\n }),\n ...(noTopSpace && {\n marginTop: `${theme.spacing(-3)} !important`,\n [theme.breakpoints.only('base')]: {\n marginTop: `${theme.spacing(-2)} !important`,\n },\n }),\n [theme.breakpoints.only('mobile')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n },\n [theme.breakpoints.only('base')]: {\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n }));\n\n return <FullWidthDiv className={className}>{children}</FullWidthDiv>;\n};\n\nexport default FullWidthContainer;\n"],"names":["children","className","fullWidth","fullSize","noTopSpace","theme","useTheme","FullWidthDiv","styled","marginLeft","marginRight","breakpoints","up","spacing","marginTop","only","_jsx"],"mappings":"sHAY2B,EAAGA,WAAUC,YAAY,GAAIC,YAAWC,WAAUC,iBAC3E,MAAMC,EAAQC,EAAAA,WAERC,EAAeC,EAAAA,OAAO,MAAPA,EAAc,KAAO,IAEpCN,GAAa,CACfO,YAAe,GACfC,aAAgB,OAEdP,GAAY,CACd,CAACE,EAAMM,YAAYC,GAAG,WAAY,CAChCH,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,iBAGnBT,GAAc,CAChBU,UAAW,GAAGT,EAAMQ,SAAU,gBAC9B,CAACR,EAAMM,YAAYI,KAAK,SAAU,CAChCD,UAAW,GAAGT,EAAMQ,SAAU,kBAGlC,CAACR,EAAMM,YAAYI,KAAK,WAAY,CAClCN,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,aAErB,CAACR,EAAMM,YAAYI,KAAK,SAAU,CAChCN,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,iBAIvB,OAAOG,EAAAA,IAACT,EAAa,CAAAN,UAAWA,EAASD,SAAGA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FullWidthContainer.js","sources":["../../../src/components/PageLayout/FullWidthContainer.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\n\nimport { styled, type Theme, useTheme } from '@mui/material/styles';\n\ninterface Props {\n className?: string;\n children: ReactNode;\n fullWidth?: boolean;\n fullSize?: boolean;\n noTopSpace?: boolean;\n}\n\nconst FullWidthContainer = ({ children, className = '', fullWidth, fullSize, noTopSpace }: Props) => {\n const theme = useTheme<Theme>();\n\n const FullWidthDiv = styled('div')(() => ({\n // Base styles\n ...(fullWidth && {\n marginLeft: -20,\n marginRight: -20,\n }),\n ...(fullSize && {\n [theme.breakpoints.up('mobile')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n },\n }),\n ...(noTopSpace && {\n marginTop: `${theme.spacing(-3)} !important`,\n [theme.breakpoints.only('base')]: {\n marginTop: `${theme.spacing(-2)} !important`,\n },\n }),\n [theme.breakpoints.only('mobile')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n },\n [theme.breakpoints.only('base')]: {\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n }));\n\n return <FullWidthDiv className={className}>{children}</FullWidthDiv>;\n};\n\nexport default FullWidthContainer;\n"],"names":["FullWidthContainer","children","className","fullWidth","fullSize","noTopSpace","theme","useTheme","FullWidthDiv","styled","marginLeft","marginRight","breakpoints","up","spacing","marginTop","only","_jsx"],"mappings":"kHAYA,MAAMA,EAAqB,EAAGC,WAAUC,YAAY,GAAIC,YAAWC,WAAUC,iBAC3E,MAAMC,EAAQC,IAERC,EAAeC,EAAO,MAAPA,EAAc,KAAO,IAEpCN,GAAa,CACfO,YAAe,GACfC,aAAgB,OAEdP,GAAY,CACd,CAACE,EAAMM,YAAYC,GAAG,WAAY,CAChCH,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,iBAGnBT,GAAc,CAChBU,UAAW,GAAGT,EAAMQ,SAAU,gBAC9B,CAACR,EAAMM,YAAYI,KAAK,SAAU,CAChCD,UAAW,GAAGT,EAAMQ,SAAU,kBAGlC,CAACR,EAAMM,YAAYI,KAAK,WAAY,CAClCN,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,aAErB,CAACR,EAAMM,YAAYI,KAAK,SAAU,CAChCN,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,iBAIvB,OAAOG,EAACT,EAAa,CAAAN,UAAWA,EAASD,SAAGA
|
|
1
|
+
{"version":3,"file":"FullWidthContainer.js","sources":["../../../src/components/PageLayout/FullWidthContainer.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\n\nimport { styled, type Theme, useTheme } from '@mui/material/styles';\n\ninterface Props {\n className?: string;\n children: ReactNode;\n fullWidth?: boolean;\n fullSize?: boolean;\n noTopSpace?: boolean;\n}\n\nconst FullWidthContainer = ({ children, className = '', fullWidth, fullSize, noTopSpace }: Props) => {\n const theme = useTheme<Theme>();\n\n const FullWidthDiv = styled('div')(() => ({\n // Base styles\n ...(fullWidth && {\n marginLeft: -20,\n marginRight: -20,\n }),\n ...(fullSize && {\n [theme.breakpoints.up('mobile')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n },\n }),\n ...(noTopSpace && {\n marginTop: `${theme.spacing(-3)} !important`,\n [theme.breakpoints.only('base')]: {\n marginTop: `${theme.spacing(-2)} !important`,\n },\n }),\n [theme.breakpoints.only('mobile')]: {\n marginLeft: theme.spacing(-3),\n marginRight: theme.spacing(-3),\n },\n [theme.breakpoints.only('base')]: {\n marginLeft: theme.spacing(-2),\n marginRight: theme.spacing(-2),\n },\n }));\n\n return <FullWidthDiv className={className}>{children}</FullWidthDiv>;\n};\n\nexport default FullWidthContainer;\n"],"names":["FullWidthContainer","children","className","fullWidth","fullSize","noTopSpace","theme","useTheme","FullWidthDiv","styled","marginLeft","marginRight","breakpoints","up","spacing","marginTop","only","_jsx"],"mappings":"kHAYA,MAAMA,EAAqB,EAAGC,WAAUC,YAAY,GAAIC,YAAWC,WAAUC,iBAC3E,MAAMC,EAAQC,IAERC,EAAeC,EAAO,MAAPA,EAAc,KAAO,IAEpCN,GAAa,CACfO,YAAe,GACfC,aAAgB,OAEdP,GAAY,CACd,CAACE,EAAMM,YAAYC,GAAG,WAAY,CAChCH,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,iBAGnBT,GAAc,CAChBU,UAAW,GAAGT,EAAMQ,SAAU,gBAC9B,CAACR,EAAMM,YAAYI,KAAK,SAAU,CAChCD,UAAW,GAAGT,EAAMQ,SAAU,kBAGlC,CAACR,EAAMM,YAAYI,KAAK,WAAY,CAClCN,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,aAErB,CAACR,EAAMM,YAAYI,KAAK,SAAU,CAChCN,WAAYJ,EAAMQ,YAClBH,YAAaL,EAAMQ,iBAIvB,OAAOG,EAACT,EAAa,CAAAN,UAAWA,EAASD,SAAGA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalSpacingStyles.cjs.js","sources":["../../../src/components/PageLayout/GlobalSpacingStyles.tsx"],"sourcesContent":["import GlobalStyles from '@mui/material/GlobalStyles';\nimport useTheme from '@mui/material/styles/useTheme';\n\nimport {\n HORIZONTAL_SPACE_CLASSNAME,\n LEFT_HORIZONTAL_SPACE_CLASSNAME,\n RIGHT_HORIZONTAL_SPACE_CLASSNAME,\n VERTICAL_SPACE_CLASSNAME,\n} from '.';\n\nconst GlobalSpacingStyles = () => {\n const theme = useTheme();\n\n return (\n <GlobalStyles\n styles={{\n [`.${HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingLeft: `${theme.spacing(3)} !important`,\n paddingRight: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingLeft: `${theme.spacing(2)} !important`,\n paddingRight: `${theme.spacing(2)} !important`,\n },\n },\n [`.${LEFT_HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingLeft: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingLeft: `${theme.spacing(2)} !important`,\n },\n },\n [`.${RIGHT_HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingRight: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingRight: `${theme.spacing(2)} !important`,\n },\n },\n [`.${VERTICAL_SPACE_CLASSNAME}`]: {\n paddingTop: `${theme.spacing(3)} !important`,\n paddingBottom: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingTop: `${theme.spacing(2)} !important`,\n paddingBottom: `${theme.spacing(2)} !important`,\n },\n },\n }}\n />\n );\n};\n\nexport default GlobalSpacingStyles;\n"],"names":["theme","useTheme","_jsx","jsx","GlobalStyles","styles","HORIZONTAL_SPACE_CLASSNAME","paddingLeft","spacing","paddingRight","breakpoints","only","LEFT_HORIZONTAL_SPACE_CLASSNAME","RIGHT_HORIZONTAL_SPACE_CLASSNAME","VERTICAL_SPACE_CLASSNAME","paddingTop","paddingBottom"],"mappings":"8KAU4B,KAC1B,MAAMA,EAAQC,IAEd,OACEC,EAAAC,IAACC,EAAY,CACXC,OAAQ,CACN,CAAC,IAAIC,EAA0BA,8BAAK,CAClCC,YAAa,GAAGP,EAAMQ,QAAQ,gBAC9BC,aAAc,GAAGT,EAAMQ,QAAQ,gBAC/B,CAACR,EAAMU,YAAYC,KAAK,SAAU,CAChCJ,YAAa,GAAGP,EAAMQ,QAAQ,gBAC9BC,aAAc,GAAGT,EAAMQ,QAAQ,kBAGnC,CAAC,IAAII,EAA+BA,mCAAK,CACvCL,YAAa,GAAGP,EAAMQ,QAAQ,gBAC9B,CAACR,EAAMU,YAAYC,KAAK,SAAU,CAChCJ,YAAa,GAAGP,EAAMQ,QAAQ,kBAGlC,CAAC,IAAIK,EAAgCA,oCAAK,CACxCJ,aAAc,GAAGT,EAAMQ,QAAQ,gBAC/B,CAACR,EAAMU,YAAYC,KAAK,SAAU,CAChCF,aAAc,GAAGT,EAAMQ,QAAQ,kBAGnC,CAAC,IAAIM,EAAwBA,4BAAK,CAChCC,WAAY,GAAGf,EAAMQ,QAAQ,gBAC7BQ,cAAe,GAAGhB,EAAMQ,QAAQ,gBAChC,CAACR,EAAMU,YAAYC,KAAK,SAAU,CAChCI,WAAY,GAAGf,EAAMQ,QAAQ,gBAC7BQ,cAAe,GAAGhB,EAAMQ,QAAQ
|
|
1
|
+
{"version":3,"file":"GlobalSpacingStyles.cjs.js","sources":["../../../src/components/PageLayout/GlobalSpacingStyles.tsx"],"sourcesContent":["import GlobalStyles from '@mui/material/GlobalStyles';\nimport useTheme from '@mui/material/styles/useTheme';\n\nimport {\n HORIZONTAL_SPACE_CLASSNAME,\n LEFT_HORIZONTAL_SPACE_CLASSNAME,\n RIGHT_HORIZONTAL_SPACE_CLASSNAME,\n VERTICAL_SPACE_CLASSNAME,\n} from '.';\n\nconst GlobalSpacingStyles = () => {\n const theme = useTheme();\n\n return (\n <GlobalStyles\n styles={{\n [`.${HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingLeft: `${theme.spacing(3)} !important`,\n paddingRight: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingLeft: `${theme.spacing(2)} !important`,\n paddingRight: `${theme.spacing(2)} !important`,\n },\n },\n [`.${LEFT_HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingLeft: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingLeft: `${theme.spacing(2)} !important`,\n },\n },\n [`.${RIGHT_HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingRight: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingRight: `${theme.spacing(2)} !important`,\n },\n },\n [`.${VERTICAL_SPACE_CLASSNAME}`]: {\n paddingTop: `${theme.spacing(3)} !important`,\n paddingBottom: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingTop: `${theme.spacing(2)} !important`,\n paddingBottom: `${theme.spacing(2)} !important`,\n },\n },\n }}\n />\n );\n};\n\nexport default GlobalSpacingStyles;\n"],"names":["theme","useTheme","_jsx","jsx","GlobalStyles","styles","HORIZONTAL_SPACE_CLASSNAME","paddingLeft","spacing","paddingRight","breakpoints","only","LEFT_HORIZONTAL_SPACE_CLASSNAME","RIGHT_HORIZONTAL_SPACE_CLASSNAME","VERTICAL_SPACE_CLASSNAME","paddingTop","paddingBottom"],"mappings":"8KAU4B,KAC1B,MAAMA,EAAQC,IAEd,OACEC,EAAAC,IAACC,EAAY,CACXC,OAAQ,CACN,CAAC,IAAIC,EAA0BA,8BAAK,CAClCC,YAAa,GAAGP,EAAMQ,QAAQ,gBAC9BC,aAAc,GAAGT,EAAMQ,QAAQ,gBAC/B,CAACR,EAAMU,YAAYC,KAAK,SAAU,CAChCJ,YAAa,GAAGP,EAAMQ,QAAQ,gBAC9BC,aAAc,GAAGT,EAAMQ,QAAQ,kBAGnC,CAAC,IAAII,EAA+BA,mCAAK,CACvCL,YAAa,GAAGP,EAAMQ,QAAQ,gBAC9B,CAACR,EAAMU,YAAYC,KAAK,SAAU,CAChCJ,YAAa,GAAGP,EAAMQ,QAAQ,kBAGlC,CAAC,IAAIK,EAAgCA,oCAAK,CACxCJ,aAAc,GAAGT,EAAMQ,QAAQ,gBAC/B,CAACR,EAAMU,YAAYC,KAAK,SAAU,CAChCF,aAAc,GAAGT,EAAMQ,QAAQ,kBAGnC,CAAC,IAAIM,EAAwBA,4BAAK,CAChCC,WAAY,GAAGf,EAAMQ,QAAQ,gBAC7BQ,cAAe,GAAGhB,EAAMQ,QAAQ,gBAChC,CAACR,EAAMU,YAAYC,KAAK,SAAU,CAChCI,WAAY,GAAGf,EAAMQ,QAAQ,gBAC7BQ,cAAe,GAAGhB,EAAMQ,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobalSpacingStyles.js","sources":["../../../src/components/PageLayout/GlobalSpacingStyles.tsx"],"sourcesContent":["import GlobalStyles from '@mui/material/GlobalStyles';\nimport useTheme from '@mui/material/styles/useTheme';\n\nimport {\n HORIZONTAL_SPACE_CLASSNAME,\n LEFT_HORIZONTAL_SPACE_CLASSNAME,\n RIGHT_HORIZONTAL_SPACE_CLASSNAME,\n VERTICAL_SPACE_CLASSNAME,\n} from '.';\n\nconst GlobalSpacingStyles = () => {\n const theme = useTheme();\n\n return (\n <GlobalStyles\n styles={{\n [`.${HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingLeft: `${theme.spacing(3)} !important`,\n paddingRight: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingLeft: `${theme.spacing(2)} !important`,\n paddingRight: `${theme.spacing(2)} !important`,\n },\n },\n [`.${LEFT_HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingLeft: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingLeft: `${theme.spacing(2)} !important`,\n },\n },\n [`.${RIGHT_HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingRight: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingRight: `${theme.spacing(2)} !important`,\n },\n },\n [`.${VERTICAL_SPACE_CLASSNAME}`]: {\n paddingTop: `${theme.spacing(3)} !important`,\n paddingBottom: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingTop: `${theme.spacing(2)} !important`,\n paddingBottom: `${theme.spacing(2)} !important`,\n },\n },\n }}\n />\n );\n};\n\nexport default GlobalSpacingStyles;\n"],"names":["GlobalSpacingStyles","theme","useTheme","_jsx","GlobalStyles","styles","HORIZONTAL_SPACE_CLASSNAME","paddingLeft","spacing","paddingRight","breakpoints","only","LEFT_HORIZONTAL_SPACE_CLASSNAME","RIGHT_HORIZONTAL_SPACE_CLASSNAME","VERTICAL_SPACE_CLASSNAME","paddingTop","paddingBottom"],"mappings":"gSAUM,MAAAA,EAAsB,KAC1B,MAAMC,EAAQC,IAEd,OACEC,EAACC,EAAY,CACXC,OAAQ,CACN,CAAC,IAAIC,KAA+B,CAClCC,YAAa,GAAGN,EAAMO,QAAQ,gBAC9BC,aAAc,GAAGR,EAAMO,QAAQ,gBAC/B,CAACP,EAAMS,YAAYC,KAAK,SAAU,CAChCJ,YAAa,GAAGN,EAAMO,QAAQ,gBAC9BC,aAAc,GAAGR,EAAMO,QAAQ,kBAGnC,CAAC,IAAII,KAAoC,CACvCL,YAAa,GAAGN,EAAMO,QAAQ,gBAC9B,CAACP,EAAMS,YAAYC,KAAK,SAAU,CAChCJ,YAAa,GAAGN,EAAMO,QAAQ,kBAGlC,CAAC,IAAIK,KAAqC,CACxCJ,aAAc,GAAGR,EAAMO,QAAQ,gBAC/B,CAACP,EAAMS,YAAYC,KAAK,SAAU,CAChCF,aAAc,GAAGR,EAAMO,QAAQ,kBAGnC,CAAC,IAAIM,KAA6B,CAChCC,WAAY,GAAGd,EAAMO,QAAQ,gBAC7BQ,cAAe,GAAGf,EAAMO,QAAQ,gBAChC,CAACP,EAAMS,YAAYC,KAAK,SAAU,CAChCI,WAAY,GAAGd,EAAMO,QAAQ,gBAC7BQ,cAAe,GAAGf,EAAMO,QAAQ
|
|
1
|
+
{"version":3,"file":"GlobalSpacingStyles.js","sources":["../../../src/components/PageLayout/GlobalSpacingStyles.tsx"],"sourcesContent":["import GlobalStyles from '@mui/material/GlobalStyles';\nimport useTheme from '@mui/material/styles/useTheme';\n\nimport {\n HORIZONTAL_SPACE_CLASSNAME,\n LEFT_HORIZONTAL_SPACE_CLASSNAME,\n RIGHT_HORIZONTAL_SPACE_CLASSNAME,\n VERTICAL_SPACE_CLASSNAME,\n} from '.';\n\nconst GlobalSpacingStyles = () => {\n const theme = useTheme();\n\n return (\n <GlobalStyles\n styles={{\n [`.${HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingLeft: `${theme.spacing(3)} !important`,\n paddingRight: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingLeft: `${theme.spacing(2)} !important`,\n paddingRight: `${theme.spacing(2)} !important`,\n },\n },\n [`.${LEFT_HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingLeft: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingLeft: `${theme.spacing(2)} !important`,\n },\n },\n [`.${RIGHT_HORIZONTAL_SPACE_CLASSNAME}`]: {\n paddingRight: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingRight: `${theme.spacing(2)} !important`,\n },\n },\n [`.${VERTICAL_SPACE_CLASSNAME}`]: {\n paddingTop: `${theme.spacing(3)} !important`,\n paddingBottom: `${theme.spacing(3)} !important`,\n [theme.breakpoints.only('base')]: {\n paddingTop: `${theme.spacing(2)} !important`,\n paddingBottom: `${theme.spacing(2)} !important`,\n },\n },\n }}\n />\n );\n};\n\nexport default GlobalSpacingStyles;\n"],"names":["GlobalSpacingStyles","theme","useTheme","_jsx","GlobalStyles","styles","HORIZONTAL_SPACE_CLASSNAME","paddingLeft","spacing","paddingRight","breakpoints","only","LEFT_HORIZONTAL_SPACE_CLASSNAME","RIGHT_HORIZONTAL_SPACE_CLASSNAME","VERTICAL_SPACE_CLASSNAME","paddingTop","paddingBottom"],"mappings":"gSAUM,MAAAA,EAAsB,KAC1B,MAAMC,EAAQC,IAEd,OACEC,EAACC,EAAY,CACXC,OAAQ,CACN,CAAC,IAAIC,KAA+B,CAClCC,YAAa,GAAGN,EAAMO,QAAQ,gBAC9BC,aAAc,GAAGR,EAAMO,QAAQ,gBAC/B,CAACP,EAAMS,YAAYC,KAAK,SAAU,CAChCJ,YAAa,GAAGN,EAAMO,QAAQ,gBAC9BC,aAAc,GAAGR,EAAMO,QAAQ,kBAGnC,CAAC,IAAII,KAAoC,CACvCL,YAAa,GAAGN,EAAMO,QAAQ,gBAC9B,CAACP,EAAMS,YAAYC,KAAK,SAAU,CAChCJ,YAAa,GAAGN,EAAMO,QAAQ,kBAGlC,CAAC,IAAIK,KAAqC,CACxCJ,aAAc,GAAGR,EAAMO,QAAQ,gBAC/B,CAACP,EAAMS,YAAYC,KAAK,SAAU,CAChCF,aAAc,GAAGR,EAAMO,QAAQ,kBAGnC,CAAC,IAAIM,KAA6B,CAChCC,WAAY,GAAGd,EAAMO,QAAQ,gBAC7BQ,cAAe,GAAGf,EAAMO,QAAQ,gBAChC,CAACP,EAAMS,YAAYC,KAAK,SAAU,CAChCI,WAAY,GAAGd,EAAMO,QAAQ,gBAC7BQ,cAAe,GAAGf,EAAMO,QAAQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/PageLayout/index.tsx"],"sourcesContent":["import React, { type ComponentType, type ReactNode } from 'react';\n\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Divider from '@mui/material/Divider';\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 Add from '../../icons/Add';\nimport ArrowLeft02 from '../../icons/ArrowLeft02';\nimport { getMicroFrontendAttribute } from '../../utilities/renderUtilities';\nimport { joinUrlPaths } from '../../utilities/validation';\nimport FDErrorBoundary from '../FDErrorBoundary';\nimport Spacer from '../Spacer';\nimport DocumentTitle from './DocumentTitle';\nimport FullWidthContainer from './FullWidthContainer';\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('laptop')]: {\n maxWidth: 'none',\n },\n padding: theme.spacing(2, 4),\n position: 'relative',\n minHeight: '100vh',\n}));\n\nconst StyledActionButtonGrid = styled(Grid)(({ theme }) => ({\n [theme.breakpoints.down('laptop')]: {\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('laptop')]: {\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('laptop')]: {\n paddingBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst StyledAdd = styled(Add)(({ theme }) => ({\n marginRight: theme.spacing(1),\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('tablet')]: {\n marginLeft: theme.spacing(-2),\n },\n\n [theme.breakpoints.only('base')]: {\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('tablet')]: {\n marginLeft: 12,\n marginRight: theme.spacing(3),\n },\n\n [theme.breakpoints.only('mobile')]: {\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n maxWidth: 'none',\n },\n\n [theme.breakpoints.only('base')]: {\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: ReactNode | string }) => (\n <StyledPageTitle component=\"h2\" variant=\"h5\">\n {title}\n </StyledPageTitle>\n);\n\nconst StyledPageContainer = styled('div')<{ useAlternateBackground: boolean }>(\n ({ useAlternateBackground, theme }) => ({\n backgroundColor: useAlternateBackground\n ? theme.palette.semantic.background['background-alternate']\n : theme.palette.semantic.background['background-base'],\n width: '100%',\n height: '100%',\n }),\n);\n\nexport interface 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 errorBoundarySomethingWentWrongText: string;\n}\n\nconst PageLayout = (props: Props): JSX.Element => {\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 errorBoundarySomethingWentWrongText,\n } = props;\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('tablet'));\n\n const baseUrl = getMicroFrontendAttribute('data-portal-base-url') || '/';\n const actionButtonWithHttps = actionButtonLink?.startsWith('https://');\n const getActionButtonLink = () => {\n if (actionButtonWithHttps) {\n return actionButtonLink;\n }\n if (actionButtonLink !== undefined) {\n return joinUrlPaths(baseUrl, actionButtonLink);\n }\n return '';\n };\n const actionButtonLinkFinal = getActionButtonLink();\n\n return (\n <StyledPageContainer useAlternateBackground={useAlternateBackground}>\n <StyledWrapper fluid={fluid}>\n {documentTitle && <DocumentTitle>{documentTitle}</DocumentTitle>}\n\n {pageHeader || null}\n <StyledInnerWrapper>\n {pageHeader && <Spacer size={16} variant=\"vertical\" />}\n {!hideHeader && (\n <>\n <StyledHeader container alignItems=\"center\" direction=\"column\">\n <Grid container item alignContent=\"space-between\" direction=\"row\">\n <StyledHeaderContainer item>\n {contextButtons?.map((button) => (\n <div\n key={`context-button-${React.isValidElement(button) ? button.props?.['data-testid'] || button.props?.children : 'fallback'}`}\n >\n {button}\n </div>\n ))}\n </StyledHeaderContainer>\n </Grid>\n <StyledTitleContainer container item>\n {(toParent || toPrevious) && (\n <Box>\n <StyledBackButton\n aria-label=\"Back\"\n component={'button'}\n data-testid=\"back_button\"\n hasTitleComponent={!!TitleComponent}\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 <ArrowLeft02 />\n </StyledBackButton>\n </Box>\n )}\n\n <StyledTitleSection item>\n {TitleComponent ? (\n <TitleComponent />\n ) : (\n <Box alignItems=\"center\" display=\"flex\" gap={2}>\n <PageTitle title={title} />\n {titleComponentAfter}\n </Box>\n )}\n {caption && (\n <StyledCaption component=\"h3\" variant=\"caption\">\n {caption}\n </StyledCaption>\n )}\n </StyledTitleSection>\n\n {showActionButton && (\n <>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n <StyledActionButtonGrid item>\n <Button\n data-testid={`Action-button-${actionBtnTitle}`}\n fullWidth={true}\n href={openLinkInNewTab || actionButtonWithHttps ? actionButtonLinkFinal : ''}\n rel={openLinkInNewTab ? 'noopener noreferrer' : undefined}\n target={openLinkInNewTab ? '_blank' : undefined}\n variant=\"contained\"\n onClick={\n !openLinkInNewTab && !actionButtonWithHttps\n ? () => navigate(actionButtonLink)\n : () => {}\n }\n >\n {showAddIcon && <StyledAdd size=\"sm\" />}\n {actionBtnTitle}\n </Button>\n </StyledActionButtonGrid>\n </>\n )}\n {customActionButtons?.map((button) => (\n <div\n key={`custom-action-button-${React.isValidElement(button) ? button.props?.['data-testid'] || button.props?.children : 'fallback'}`}\n >\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\n identifier={documentTitle}\n somethingWentWrongText={errorBoundarySomethingWentWrongText}\n >\n {/* eslint-disable-next-line react/jsx-no-useless-fragment */}\n <>{children}</>\n </FDErrorBoundary>\n </FullWidthContainer>\n </StyledInnerWrapper>\n </StyledWrapper>\n </StyledPageContainer>\n );\n};\n\nexport default PageLayout;\n"],"names":["maxWidth","StyledWrapper","styled","theme","fluid","breakpoints","down","padding","spacing","position","minHeight","StyledActionButtonGrid","Grid","width","paddingTop","StyledHeader","flexWrap","alignItems","paddingBottom","StyledTitleContainer","StyledTitleSection","flexGrow","StyledTopSection","paddingLeft","paddingRight","StyledAdd","Add","marginRight","StyledBackButton","IconButton","shouldForwardProp","prop","hasTitleComponent","margin","only","marginLeft","StyledInnerWrapper","StyledHeaderContainer","display","justifyContent","StyledCaption","Typography","lineHeight","StyledPageTitle","fontWeight","StyledPageDivider","Divider","marginBottom","PageTitle","title","_jsx","component","variant","children","StyledPageContainer","useAlternateBackground","backgroundColor","palette","semantic","background","height","props","actionBtnTitle","caption","contextButtons","documentTitle","fullWidth","header","hideHeader","actionButtonLink","openLinkInNewTab","pageHeader","showActionButton","showAddIcon","titleComponent","TitleComponent","toPrevious","toParent","strictToParent","navigate","hideDivider","customActionButtons","titleComponentAfter","errorBoundarySomethingWentWrongText","useTheme","isMobile","useMediaQuery","baseUrl","getMicroFrontendAttribute","actionButtonWithHttps","startsWith","actionButtonLinkFinal","undefined","joinUrlPaths","jsx","_jsxs","DocumentTitle","Spacer","size","_Fragment","jsxs","container","direction","item","alignContent","map","button","React","isValidElement","Box","onClick","history","length","ArrowLeft02","gap","Button","href","rel","target","FullWidthContainer","FDErrorBoundary","identifier","somethingWentWrongText"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../src/components/PageLayout/index.tsx"],"sourcesContent":["import React, { type ComponentType, type ReactNode } from 'react';\n\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Divider from '@mui/material/Divider';\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 Add from '../../icons/Add';\nimport ArrowLeft02 from '../../icons/ArrowLeft02';\nimport { getMicroFrontendAttribute } from '../../utilities/renderUtilities';\nimport { joinUrlPaths } from '../../utilities/validation';\nimport FDErrorBoundary from '../FDErrorBoundary';\nimport Spacer from '../Spacer';\nimport DocumentTitle from './DocumentTitle';\nimport FullWidthContainer from './FullWidthContainer';\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('laptop')]: {\n maxWidth: 'none',\n },\n padding: theme.spacing(2, 4),\n position: 'relative',\n minHeight: '100vh',\n}));\n\nconst StyledActionButtonGrid = styled(Grid)(({ theme }) => ({\n [theme.breakpoints.down('laptop')]: {\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('laptop')]: {\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('laptop')]: {\n paddingBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst StyledAdd = styled(Add)(({ theme }) => ({\n marginRight: theme.spacing(1),\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('tablet')]: {\n marginLeft: theme.spacing(-2),\n },\n\n [theme.breakpoints.only('base')]: {\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('tablet')]: {\n marginLeft: 12,\n marginRight: theme.spacing(3),\n },\n\n [theme.breakpoints.only('mobile')]: {\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n maxWidth: 'none',\n },\n\n [theme.breakpoints.only('base')]: {\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: ReactNode | string }) => (\n <StyledPageTitle component=\"h2\" variant=\"h5\">\n {title}\n </StyledPageTitle>\n);\n\nconst StyledPageContainer = styled('div')<{ useAlternateBackground: boolean }>(\n ({ useAlternateBackground, theme }) => ({\n backgroundColor: useAlternateBackground\n ? theme.palette.semantic.background['background-alternate']\n : theme.palette.semantic.background['background-base'],\n width: '100%',\n height: '100%',\n }),\n);\n\nexport interface 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 errorBoundarySomethingWentWrongText: string;\n}\n\nconst PageLayout = (props: Props): JSX.Element => {\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 errorBoundarySomethingWentWrongText,\n } = props;\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('tablet'));\n\n const baseUrl = getMicroFrontendAttribute('data-portal-base-url') || '/';\n const actionButtonWithHttps = actionButtonLink?.startsWith('https://');\n const getActionButtonLink = () => {\n if (actionButtonWithHttps) {\n return actionButtonLink;\n }\n if (actionButtonLink !== undefined) {\n return joinUrlPaths(baseUrl, actionButtonLink);\n }\n return '';\n };\n const actionButtonLinkFinal = getActionButtonLink();\n\n return (\n <StyledPageContainer useAlternateBackground={useAlternateBackground}>\n <StyledWrapper fluid={fluid}>\n {documentTitle && <DocumentTitle>{documentTitle}</DocumentTitle>}\n\n {pageHeader || null}\n <StyledInnerWrapper>\n {pageHeader && <Spacer size={16} variant=\"vertical\" />}\n {!hideHeader && (\n <>\n <StyledHeader container alignItems=\"center\" direction=\"column\">\n <Grid container item alignContent=\"space-between\" direction=\"row\">\n <StyledHeaderContainer item>\n {contextButtons?.map((button) => (\n <div\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n key={`context-button-${React.isValidElement(button) ? button.props?.['data-testid'] || button.props?.children : 'fallback'}`}\n >\n {button}\n </div>\n ))}\n </StyledHeaderContainer>\n </Grid>\n <StyledTitleContainer container item>\n {(toParent || toPrevious) && (\n <Box>\n <StyledBackButton\n aria-label=\"Back\"\n component={'button'}\n data-testid=\"back_button\"\n hasTitleComponent={!!TitleComponent}\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 <ArrowLeft02 />\n </StyledBackButton>\n </Box>\n )}\n\n <StyledTitleSection item>\n {TitleComponent ? (\n <TitleComponent />\n ) : (\n <Box alignItems=\"center\" display=\"flex\" gap={2}>\n <PageTitle title={title} />\n {titleComponentAfter}\n </Box>\n )}\n {caption && (\n <StyledCaption component=\"h3\" variant=\"caption\">\n {caption}\n </StyledCaption>\n )}\n </StyledTitleSection>\n\n {showActionButton && (\n <>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n <StyledActionButtonGrid item>\n {/* @ts-expect-error - Button props type mismatch with href/target */}\n <Button\n data-testid={`Action-button-${actionBtnTitle}`}\n fullWidth={true}\n href={openLinkInNewTab || actionButtonWithHttps ? actionButtonLinkFinal : ''}\n rel={openLinkInNewTab ? 'noopener noreferrer' : undefined}\n target={openLinkInNewTab ? '_blank' : undefined}\n variant=\"contained\"\n onClick={\n !openLinkInNewTab && !actionButtonWithHttps\n ? () => navigate(actionButtonLink)\n : () => {}\n }\n >\n {showAddIcon && <StyledAdd size=\"sm\" />}\n {actionBtnTitle}\n </Button>\n </StyledActionButtonGrid>\n </>\n )}\n {customActionButtons?.map((button) => (\n <div\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n key={`custom-action-button-${React.isValidElement(button) ? button.props?.['data-testid'] || button.props?.children : 'fallback'}`}\n >\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\n identifier={documentTitle}\n somethingWentWrongText={errorBoundarySomethingWentWrongText}\n >\n {/* eslint-disable-next-line react/jsx-no-useless-fragment */}\n <>{children}</>\n </FDErrorBoundary>\n </FullWidthContainer>\n </StyledInnerWrapper>\n </StyledWrapper>\n </StyledPageContainer>\n );\n};\n\nexport default PageLayout;\n"],"names":["maxWidth","StyledWrapper","styled","theme","fluid","breakpoints","down","padding","spacing","position","minHeight","StyledActionButtonGrid","Grid","width","paddingTop","StyledHeader","flexWrap","alignItems","paddingBottom","StyledTitleContainer","StyledTitleSection","flexGrow","StyledTopSection","paddingLeft","paddingRight","StyledAdd","Add","marginRight","StyledBackButton","IconButton","shouldForwardProp","prop","hasTitleComponent","margin","only","marginLeft","StyledInnerWrapper","StyledHeaderContainer","display","justifyContent","StyledCaption","Typography","lineHeight","StyledPageTitle","fontWeight","StyledPageDivider","Divider","marginBottom","PageTitle","title","_jsx","component","variant","children","StyledPageContainer","useAlternateBackground","backgroundColor","palette","semantic","background","height","props","actionBtnTitle","caption","contextButtons","documentTitle","fullWidth","header","hideHeader","actionButtonLink","openLinkInNewTab","pageHeader","showActionButton","showAddIcon","titleComponent","TitleComponent","toPrevious","toParent","strictToParent","navigate","hideDivider","customActionButtons","titleComponentAfter","errorBoundarySomethingWentWrongText","useTheme","isMobile","useMediaQuery","baseUrl","getMicroFrontendAttribute","actionButtonWithHttps","startsWith","actionButtonLinkFinal","undefined","joinUrlPaths","jsx","_jsxs","DocumentTitle","Spacer","size","_Fragment","jsxs","container","direction","item","alignContent","map","button","React","isValidElement","Box","onClick","history","length","ArrowLeft02","gap","Button","href","rel","target","FullWidthContainer","FDErrorBoundary","identifier","somethingWentWrongText"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/PageLayout/index.tsx"],"sourcesContent":["import React, { type ComponentType, type ReactNode } from 'react';\n\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Divider from '@mui/material/Divider';\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 Add from '../../icons/Add';\nimport ArrowLeft02 from '../../icons/ArrowLeft02';\nimport { getMicroFrontendAttribute } from '../../utilities/renderUtilities';\nimport { joinUrlPaths } from '../../utilities/validation';\nimport FDErrorBoundary from '../FDErrorBoundary';\nimport Spacer from '../Spacer';\nimport DocumentTitle from './DocumentTitle';\nimport FullWidthContainer from './FullWidthContainer';\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('laptop')]: {\n maxWidth: 'none',\n },\n padding: theme.spacing(2, 4),\n position: 'relative',\n minHeight: '100vh',\n}));\n\nconst StyledActionButtonGrid = styled(Grid)(({ theme }) => ({\n [theme.breakpoints.down('laptop')]: {\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('laptop')]: {\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('laptop')]: {\n paddingBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst StyledAdd = styled(Add)(({ theme }) => ({\n marginRight: theme.spacing(1),\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('tablet')]: {\n marginLeft: theme.spacing(-2),\n },\n\n [theme.breakpoints.only('base')]: {\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('tablet')]: {\n marginLeft: 12,\n marginRight: theme.spacing(3),\n },\n\n [theme.breakpoints.only('mobile')]: {\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n maxWidth: 'none',\n },\n\n [theme.breakpoints.only('base')]: {\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: ReactNode | string }) => (\n <StyledPageTitle component=\"h2\" variant=\"h5\">\n {title}\n </StyledPageTitle>\n);\n\nconst StyledPageContainer = styled('div')<{ useAlternateBackground: boolean }>(\n ({ useAlternateBackground, theme }) => ({\n backgroundColor: useAlternateBackground\n ? theme.palette.semantic.background['background-alternate']\n : theme.palette.semantic.background['background-base'],\n width: '100%',\n height: '100%',\n }),\n);\n\nexport interface 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 errorBoundarySomethingWentWrongText: string;\n}\n\nconst PageLayout = (props: Props): JSX.Element => {\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 errorBoundarySomethingWentWrongText,\n } = props;\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('tablet'));\n\n const baseUrl = getMicroFrontendAttribute('data-portal-base-url') || '/';\n const actionButtonWithHttps = actionButtonLink?.startsWith('https://');\n const getActionButtonLink = () => {\n if (actionButtonWithHttps) {\n return actionButtonLink;\n }\n if (actionButtonLink !== undefined) {\n return joinUrlPaths(baseUrl, actionButtonLink);\n }\n return '';\n };\n const actionButtonLinkFinal = getActionButtonLink();\n\n return (\n <StyledPageContainer useAlternateBackground={useAlternateBackground}>\n <StyledWrapper fluid={fluid}>\n {documentTitle && <DocumentTitle>{documentTitle}</DocumentTitle>}\n\n {pageHeader || null}\n <StyledInnerWrapper>\n {pageHeader && <Spacer size={16} variant=\"vertical\" />}\n {!hideHeader && (\n <>\n <StyledHeader container alignItems=\"center\" direction=\"column\">\n <Grid container item alignContent=\"space-between\" direction=\"row\">\n <StyledHeaderContainer item>\n {contextButtons?.map((button) => (\n <div\n key={`context-button-${React.isValidElement(button) ? button.props?.['data-testid'] || button.props?.children : 'fallback'}`}\n >\n {button}\n </div>\n ))}\n </StyledHeaderContainer>\n </Grid>\n <StyledTitleContainer container item>\n {(toParent || toPrevious) && (\n <Box>\n <StyledBackButton\n aria-label=\"Back\"\n component={'button'}\n data-testid=\"back_button\"\n hasTitleComponent={!!TitleComponent}\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 <ArrowLeft02 />\n </StyledBackButton>\n </Box>\n )}\n\n <StyledTitleSection item>\n {TitleComponent ? (\n <TitleComponent />\n ) : (\n <Box alignItems=\"center\" display=\"flex\" gap={2}>\n <PageTitle title={title} />\n {titleComponentAfter}\n </Box>\n )}\n {caption && (\n <StyledCaption component=\"h3\" variant=\"caption\">\n {caption}\n </StyledCaption>\n )}\n </StyledTitleSection>\n\n {showActionButton && (\n <>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n <StyledActionButtonGrid item>\n <Button\n data-testid={`Action-button-${actionBtnTitle}`}\n fullWidth={true}\n href={openLinkInNewTab || actionButtonWithHttps ? actionButtonLinkFinal : ''}\n rel={openLinkInNewTab ? 'noopener noreferrer' : undefined}\n target={openLinkInNewTab ? '_blank' : undefined}\n variant=\"contained\"\n onClick={\n !openLinkInNewTab && !actionButtonWithHttps\n ? () => navigate(actionButtonLink)\n : () => {}\n }\n >\n {showAddIcon && <StyledAdd size=\"sm\" />}\n {actionBtnTitle}\n </Button>\n </StyledActionButtonGrid>\n </>\n )}\n {customActionButtons?.map((button) => (\n <div\n key={`custom-action-button-${React.isValidElement(button) ? button.props?.['data-testid'] || button.props?.children : 'fallback'}`}\n >\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\n identifier={documentTitle}\n somethingWentWrongText={errorBoundarySomethingWentWrongText}\n >\n {/* eslint-disable-next-line react/jsx-no-useless-fragment */}\n <>{children}</>\n </FDErrorBoundary>\n </FullWidthContainer>\n </StyledInnerWrapper>\n </StyledWrapper>\n </StyledPageContainer>\n );\n};\n\nexport default PageLayout;\n"],"names":["HORIZONTAL_SPACE_CLASSNAME","LEFT_HORIZONTAL_SPACE_CLASSNAME","RIGHT_HORIZONTAL_SPACE_CLASSNAME","VERTICAL_SPACE_CLASSNAME","maxWidth","StyledWrapper","styled","theme","fluid","breakpoints","down","padding","spacing","position","minHeight","StyledActionButtonGrid","Grid","width","paddingTop","StyledHeader","flexWrap","alignItems","paddingBottom","StyledTitleContainer","StyledTitleSection","flexGrow","StyledTopSection","paddingLeft","paddingRight","StyledAdd","Add","marginRight","StyledBackButton","IconButton","shouldForwardProp","prop","hasTitleComponent","margin","only","marginLeft","StyledInnerWrapper","StyledHeaderContainer","display","justifyContent","StyledCaption","Typography","lineHeight","StyledPageTitle","fontWeight","StyledPageDivider","Divider","marginBottom","PageTitle","title","_jsx","component","variant","children","StyledPageContainer","useAlternateBackground","backgroundColor","palette","semantic","background","height","PageLayout","props","actionBtnTitle","caption","contextButtons","documentTitle","fullWidth","header","hideHeader","actionButtonLink","openLinkInNewTab","pageHeader","showActionButton","showAddIcon","titleComponent","TitleComponent","toPrevious","toParent","strictToParent","navigate","hideDivider","customActionButtons","titleComponentAfter","errorBoundarySomethingWentWrongText","useTheme","isMobile","useMediaQuery","baseUrl","getMicroFrontendAttribute","actionButtonWithHttps","startsWith","actionButtonLinkFinal","undefined","joinUrlPaths","_jsxs","DocumentTitle","Spacer","size","_Fragment","container","direction","item","alignContent","map","button","React","isValidElement","Box","onClick","history","length","ArrowLeft02","gap","Button","href","rel","target","FullWidthContainer","FDErrorBoundary","identifier","somethingWentWrongText"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/PageLayout/index.tsx"],"sourcesContent":["import React, { type ComponentType, type ReactNode } from 'react';\n\nimport Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport Divider from '@mui/material/Divider';\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 Add from '../../icons/Add';\nimport ArrowLeft02 from '../../icons/ArrowLeft02';\nimport { getMicroFrontendAttribute } from '../../utilities/renderUtilities';\nimport { joinUrlPaths } from '../../utilities/validation';\nimport FDErrorBoundary from '../FDErrorBoundary';\nimport Spacer from '../Spacer';\nimport DocumentTitle from './DocumentTitle';\nimport FullWidthContainer from './FullWidthContainer';\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('laptop')]: {\n maxWidth: 'none',\n },\n padding: theme.spacing(2, 4),\n position: 'relative',\n minHeight: '100vh',\n}));\n\nconst StyledActionButtonGrid = styled(Grid)(({ theme }) => ({\n [theme.breakpoints.down('laptop')]: {\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('laptop')]: {\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('laptop')]: {\n paddingBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n}));\n\nconst StyledAdd = styled(Add)(({ theme }) => ({\n marginRight: theme.spacing(1),\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('tablet')]: {\n marginLeft: theme.spacing(-2),\n },\n\n [theme.breakpoints.only('base')]: {\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('tablet')]: {\n marginLeft: 12,\n marginRight: theme.spacing(3),\n },\n\n [theme.breakpoints.only('mobile')]: {\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n maxWidth: 'none',\n },\n\n [theme.breakpoints.only('base')]: {\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: ReactNode | string }) => (\n <StyledPageTitle component=\"h2\" variant=\"h5\">\n {title}\n </StyledPageTitle>\n);\n\nconst StyledPageContainer = styled('div')<{ useAlternateBackground: boolean }>(\n ({ useAlternateBackground, theme }) => ({\n backgroundColor: useAlternateBackground\n ? theme.palette.semantic.background['background-alternate']\n : theme.palette.semantic.background['background-base'],\n width: '100%',\n height: '100%',\n }),\n);\n\nexport interface 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 errorBoundarySomethingWentWrongText: string;\n}\n\nconst PageLayout = (props: Props): JSX.Element => {\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 errorBoundarySomethingWentWrongText,\n } = props;\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('tablet'));\n\n const baseUrl = getMicroFrontendAttribute('data-portal-base-url') || '/';\n const actionButtonWithHttps = actionButtonLink?.startsWith('https://');\n const getActionButtonLink = () => {\n if (actionButtonWithHttps) {\n return actionButtonLink;\n }\n if (actionButtonLink !== undefined) {\n return joinUrlPaths(baseUrl, actionButtonLink);\n }\n return '';\n };\n const actionButtonLinkFinal = getActionButtonLink();\n\n return (\n <StyledPageContainer useAlternateBackground={useAlternateBackground}>\n <StyledWrapper fluid={fluid}>\n {documentTitle && <DocumentTitle>{documentTitle}</DocumentTitle>}\n\n {pageHeader || null}\n <StyledInnerWrapper>\n {pageHeader && <Spacer size={16} variant=\"vertical\" />}\n {!hideHeader && (\n <>\n <StyledHeader container alignItems=\"center\" direction=\"column\">\n <Grid container item alignContent=\"space-between\" direction=\"row\">\n <StyledHeaderContainer item>\n {contextButtons?.map((button) => (\n <div\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n key={`context-button-${React.isValidElement(button) ? button.props?.['data-testid'] || button.props?.children : 'fallback'}`}\n >\n {button}\n </div>\n ))}\n </StyledHeaderContainer>\n </Grid>\n <StyledTitleContainer container item>\n {(toParent || toPrevious) && (\n <Box>\n <StyledBackButton\n aria-label=\"Back\"\n component={'button'}\n data-testid=\"back_button\"\n hasTitleComponent={!!TitleComponent}\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 <ArrowLeft02 />\n </StyledBackButton>\n </Box>\n )}\n\n <StyledTitleSection item>\n {TitleComponent ? (\n <TitleComponent />\n ) : (\n <Box alignItems=\"center\" display=\"flex\" gap={2}>\n <PageTitle title={title} />\n {titleComponentAfter}\n </Box>\n )}\n {caption && (\n <StyledCaption component=\"h3\" variant=\"caption\">\n {caption}\n </StyledCaption>\n )}\n </StyledTitleSection>\n\n {showActionButton && (\n <>\n {isMobile && <Spacer size={56} variant=\"vertical\" />}\n <StyledActionButtonGrid item>\n {/* @ts-expect-error - Button props type mismatch with href/target */}\n <Button\n data-testid={`Action-button-${actionBtnTitle}`}\n fullWidth={true}\n href={openLinkInNewTab || actionButtonWithHttps ? actionButtonLinkFinal : ''}\n rel={openLinkInNewTab ? 'noopener noreferrer' : undefined}\n target={openLinkInNewTab ? '_blank' : undefined}\n variant=\"contained\"\n onClick={\n !openLinkInNewTab && !actionButtonWithHttps\n ? () => navigate(actionButtonLink)\n : () => {}\n }\n >\n {showAddIcon && <StyledAdd size=\"sm\" />}\n {actionBtnTitle}\n </Button>\n </StyledActionButtonGrid>\n </>\n )}\n {customActionButtons?.map((button) => (\n <div\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n key={`custom-action-button-${React.isValidElement(button) ? button.props?.['data-testid'] || button.props?.children : 'fallback'}`}\n >\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\n identifier={documentTitle}\n somethingWentWrongText={errorBoundarySomethingWentWrongText}\n >\n {/* eslint-disable-next-line react/jsx-no-useless-fragment */}\n <>{children}</>\n </FDErrorBoundary>\n </FullWidthContainer>\n </StyledInnerWrapper>\n </StyledWrapper>\n </StyledPageContainer>\n );\n};\n\nexport default PageLayout;\n"],"names":["HORIZONTAL_SPACE_CLASSNAME","LEFT_HORIZONTAL_SPACE_CLASSNAME","RIGHT_HORIZONTAL_SPACE_CLASSNAME","VERTICAL_SPACE_CLASSNAME","maxWidth","StyledWrapper","styled","theme","fluid","breakpoints","down","padding","spacing","position","minHeight","StyledActionButtonGrid","Grid","width","paddingTop","StyledHeader","flexWrap","alignItems","paddingBottom","StyledTitleContainer","StyledTitleSection","flexGrow","StyledTopSection","paddingLeft","paddingRight","StyledAdd","Add","marginRight","StyledBackButton","IconButton","shouldForwardProp","prop","hasTitleComponent","margin","only","marginLeft","StyledInnerWrapper","StyledHeaderContainer","display","justifyContent","StyledCaption","Typography","lineHeight","StyledPageTitle","fontWeight","StyledPageDivider","Divider","marginBottom","PageTitle","title","_jsx","component","variant","children","StyledPageContainer","useAlternateBackground","backgroundColor","palette","semantic","background","height","PageLayout","props","actionBtnTitle","caption","contextButtons","documentTitle","fullWidth","header","hideHeader","actionButtonLink","openLinkInNewTab","pageHeader","showActionButton","showAddIcon","titleComponent","TitleComponent","toPrevious","toParent","strictToParent","navigate","hideDivider","customActionButtons","titleComponentAfter","errorBoundarySomethingWentWrongText","useTheme","isMobile","useMediaQuery","baseUrl","getMicroFrontendAttribute","actionButtonWithHttps","startsWith","actionButtonLinkFinal","undefined","joinUrlPaths","_jsxs","DocumentTitle","Spacer","size","_Fragment","container","direction","item","alignContent","map","button","React","isValidElement","Box","onClick","history","length","ArrowLeft02","gap","Button","href","rel","target","FullWidthContainer","FDErrorBoundary","identifier","somethingWentWrongText"],"mappings":"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"}
|