@sis-cc/dotstatsuite-visions 13.7.0 → 13.8.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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import React, { useState, useMemo, useEffect } from 'react';
|
|
2
|
+
import React, { useState, useLayoutEffect, startTransition, useMemo, useEffect } from 'react';
|
|
3
3
|
import * as R from 'ramda';
|
|
4
4
|
import cx from 'classnames';
|
|
5
5
|
import Box from '@mui/material/Box';
|
|
@@ -643,7 +643,7 @@ const TabPanel = (props) => {
|
|
|
643
643
|
{
|
|
644
644
|
onClick: () => setOpen(false),
|
|
645
645
|
"data-testid": "back_button",
|
|
646
|
-
"aria-label": R.prop("
|
|
646
|
+
"aria-label": R.prop("back", labels),
|
|
647
647
|
sx: {
|
|
648
648
|
padding: 0,
|
|
649
649
|
float: "left",
|
|
@@ -729,6 +729,7 @@ const DynamicDrawer = (props) => {
|
|
|
729
729
|
labels,
|
|
730
730
|
disableAccessor = R.always(false),
|
|
731
731
|
isApplyHiddenNarrow = false,
|
|
732
|
+
openTabId,
|
|
732
733
|
expandAll,
|
|
733
734
|
collapseAll,
|
|
734
735
|
expandedIds,
|
|
@@ -742,6 +743,19 @@ const DynamicDrawer = (props) => {
|
|
|
742
743
|
styles = {},
|
|
743
744
|
...rest
|
|
744
745
|
} = props;
|
|
746
|
+
useLayoutEffect(() => {
|
|
747
|
+
if (!openTabId) return;
|
|
748
|
+
const item = R.find((item2) => R.prop("id", item2) === openTabId)(list);
|
|
749
|
+
if (item && (selectedId !== openTabId || !open)) {
|
|
750
|
+
const id = R.prop("id", item);
|
|
751
|
+
const filterSelection = R.pipe(R.propOr([], id), (arr) => R.zipObj(arr, arr))(allSelection);
|
|
752
|
+
startTransition(() => {
|
|
753
|
+
setSelection({ ...filterSelection });
|
|
754
|
+
setSelectedId(id);
|
|
755
|
+
setOpen(true);
|
|
756
|
+
});
|
|
757
|
+
}
|
|
758
|
+
}, [openTabId, list, allSelection, selectedId, open]);
|
|
745
759
|
const handleChange = (e, item) => {
|
|
746
760
|
const id = R.prop("id", item);
|
|
747
761
|
const filterSelection = R.pipe(R.propOr([], id), (arr) => R.zipObj(arr, arr))(allSelection);
|
|
@@ -809,7 +823,15 @@ const DynamicDrawer = (props) => {
|
|
|
809
823
|
}
|
|
810
824
|
}
|
|
811
825
|
),
|
|
812
|
-
/* @__PURE__ */ jsx(
|
|
826
|
+
/* @__PURE__ */ jsx(
|
|
827
|
+
WarningPopup,
|
|
828
|
+
{
|
|
829
|
+
open: openPopup,
|
|
830
|
+
handleClose: handleClosePopup,
|
|
831
|
+
handleSubmit: handleSubmitPopup,
|
|
832
|
+
labels
|
|
833
|
+
}
|
|
834
|
+
),
|
|
813
835
|
/* @__PURE__ */ jsxs(
|
|
814
836
|
Tabs,
|
|
815
837
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicDrawer.js","sources":["../../src/DynamicDrawer/images/single-selection.png","../../src/DynamicDrawer/images/children-selection.png","../../src/DynamicDrawer/images/branch-selection.png","../../src/DynamicDrawer/images/level-selection.png","../../src/DynamicDrawer/SelectionModesMobile.jsx","../../src/DynamicDrawer/AdvancedSelection.jsx","../../src/DynamicDrawer/WarningPopup.jsx","../../src/DynamicDrawer/DynamicDrawer.jsx"],"sourcesContent":["export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAEMUlEQVR4Ae3dPY+bMBgH8Fvybe5bZMoXytItn6AbU5lyE0gdMoWJqYluyGZ1yUaHm05yOxytepeqQrIgckj8+MFv+VsMQGxjfn7BcAn3MFsUWFgEHmaLYr6sV2uBhSwwX9azRfGfcrUWJwQLgdVagNLCr5cUlD0Mu1VQ2vn1UoOyh2G3Cko7v15qUPYw7FZBaefXSw3KHobdKijt/HqpQdnDsFsFpZ1fLzUoexh2q1aU7y/PSS4fr98JqnTKj18/3taPSS5/vn0CJU/VgpLH8W39CEpQhjfgolWiVaJVYjJ0NmHCvFIzLGCs1KDQ7iCcU/7++ff4Ncnl/eX5rPPesknv4LfkfldxQMlW3aAEJZsAW0auW6WUUgQfmqYhALumFEJ8Dj5UVQVKnlqKjDLP821goSzLrioio6QVl9Dvbk/SNA0ob+caiwnKMR2jz0BpxDUWOVbKLMvy8EKUYyXPtGWaXGiXREzRNbURB2XbtjL40Lbt2Jh64TPXrfJCMVLYDUq2WgQlKNkE2DIKulUej8fKRxCC8svZoCl3u51mqjL9rjgmQ0bdCZRGXGORFeVms3HwV4y6rrsWn3Kr3O12Y+RMn0X2OMPorFWrBKWRmyYyKDUotF2gpLlpUinK6ec/gyOkfNkZnOj0G6BkM06QUtPnA94V9I1jwG6aooFSg0LbBUqamyYVKDUotF1BUwohSh+Bdp8aNCWm6LT+oUkFSg0KbZei3G63zfThcDh0s/wEp+iKkjZ4mdYfnleail2MD8qLNKYf3AVlVVXTD5XNXYyVbM98bsso5cvObQJssRKkFEIUPsLhcDAdZ0+nU9B3O4Tz8ZgElGz4oAQlmwBbRmiV0VLiR8xsVQdKUF4XcD1WqlZJu6O4fkIWMSJ7nAFKi7oeJgXl0MNiC5QWeMOkirIsSwdfLzc6xH6/7x4u0cZxb5cdtidiE2QESjbUOCibpgnslTia4iT4a7LhMBv6luuxMnQPi/KB0gJvmBSUQw+LLSvK4F+CQSyg63dnSCnZZh+BZeR6MgTKs8GA3sEVZZZlX5IIWZZ13cNbqyyK4qx+It309rxStUpQdk2HoYODEpTn45D/Dp5lmY832PAfc7PZeL7sBDYpZCiOtys4Q9kDy8I1Zdu2Ro/7I4ocx9v6z4f6hLbpk6GEEHhOBZQ8jvgCNZujB0r8kxi22lNfKQhs/jMojuvJEE0XlDQ3TSpFiX8So9Ex2qUoaZ3I6Fimkb09zjAtaBcflDQ3TSpQalBou0BJc9OkUpR5nvt4783YMZ+enro5EW0cd33jqCgHE7nANkDJViFxUEopHby6wfIQUkrN2HRtl+sOfq08EX8OSrbKAyUo2QTYMkKrBCWbAFtGaJWgZBNgywitEpRsAmwZoVWCkk2ALSO0ygko58t6tRZYyALzZT1bFA+zRYGFReAfqhQA2zKS9CAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAEEElEQVR4Ae3dv2rbQBwH8Cx+m7yFJz9H3sFLN+8t3TTVELAnGTp4srKoSw0JGDIcXQwJqIPJ0HCtS9zQRKUYxCGO6PS7n+5O5++hQVLuTvLnfvdHjuOcDUYpNhaBs8EoHY7zyUxgIwsMx/lglP6nnMxEiWQhMJkJUFr4KUVBqWDY7YLSzk8pDUoFw24XlHZ+SmlQKhh2u6C081NKg1LBsNsFpZ2fUhqUCobdLijt/JTSoFQw7HatKF9211Furz++EVTplK+/vj/NzqPcnr++AyVP04KSx/Fpdg5KUIY34CIqEZWISiyGagsmrCs1wwLGSg0K7QnCOeWfn3+3n6PcXnbXtc5rckjv4Ca1n1QeULI1NyhBySbAVpHrqLzb7S+v7gLfvtw+EIBdU15mdywfY+y0kosPN6Dk+cAtKHkcB6MUlKAM72PwiEpEJaKSsFwoyxKLIZqbphQoNSi0U6CkuWlKPe6f73e/A98e98+aW2865frBsel+evxzULI1HihBySbAVlHQUbndbjMfSQjKX84GTblerz/6SFmWEWIVlJq2iplyuVyK7lOe50fXmCnX6zWhx7UtUhQFKNui6fODUu9COAtKApq+yElQambZLk/FPO106aapG5QaFNqpCCn1Q1qoZ4N+2gkVTX9foNS7EM6CkoCmLwJKvQvhbNCUQoiFj0R75A+aEu9XEjqHvggo9S6EsxXlarUquk+bzea4pI9wiV5R0gavto13Em9ngLJtWNTzIyrrIuTjijLLsu6HyuIkxkraGzzkUjFPO2QUWsEIKYUQqY+02WwIg1LQTzuE1+OxCCjZ8EEJSjYBtooQlb2lxF9IsDUdKEHZLOB6rERUNreJYQ5QGkI1ZwNls5FhDlAaQjVnA2WzkWEOUBpCNWcDZbORYY789uHi/U3g2+XVveHLUbO5Xleq145sH5RsDQpKULIJsFVkFZUy0nQ4HAjAdEopJe1Xo+GXcv3LW1DWIpchKpMk+RRFSpLk2GO8RWWaprX26emhtw8FVh0clMfQYejgoARlfRzy38GTJPHxDTb811wul56nnfDXiW3v0NsM3vZGw8/vmvJwOHT/fTV+rlAURX0cNTimz+AGlZ9WFlCytTcoQckmwFaR66iUUvqZStpctR/TjhACiyGejgBKHseyLCvK6XS6CiwtFotjj3G9RKfpVpS026Vd1LCUt7czDO+vlg2UNRD6ISjpdrWSoKyB0A8ryul06uN7b9665nw+7+W0E/LqkjYlun7aqaISlPSufSwppXTw1Q2Wl5BSEl6n66gk3GJfioCSraVACUo2AbaKEJWgZBNgqwhRCUo2AbaKEJWgZBNgqwhRCUo2AbaKEJUdUA7H+WQmsJEFhuN8MErPBuH96/ie3tI/t0x8FMP3CcUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAD4klEQVR4Ae3cMWvbQBQH8Cz+NvkW7uLP4e/gDt28N5Qummow2JMMKXiqvahLhnjKIAqlYINaMBkarnWJa5qoBIEtgvLi9+7pdFL+xw2q7t31/Ltn+SQcn7Q6IaqKwEmrE7Z7UX8Uo4oF2r2o1QkfKPujOEWxEOiPYlBa+OW6gjKHYXcISju/XG9Q5jDsDkFp55frDcocht0hKO38cr1BmcOwOwSlnV+uNyhzGHaHoLTzy/UGZQ7D7tCK8m592ch6//OLQFVOef/7++3otJF1d/EGlDpLC0odx9vRKShB6d8FF1mJrERWYjP0aMOEfWXBZQHXygIU2R2Ec8q/v/59O29kvVtfPnrzHvNP+Rv8mNFfVAwo1ZYblKBUE1AbyHVWLteb4Xzpef18dS0Adk05nC1VvsZY6iDdswUodb5wC0odx1YnBCUo/fsaPLISWYmsFGwX0jTFZkjmVtALlAUoslOglLkV9LrZ7FbrP57Xm82uYOrPnXJ94/jcfGrcDkq1xQMlKNUE1AbyOis/Xvzoni3c1+F8JQD2mjKbXKmPJgsHr8c9OGu1QcniooJBSemw2kDJ4qKCQUnpsNpAyeKigkFJ6bDaQMniooJBSemw2kDJ4mpOcLbw+MkmhRUFpQJiNgQoQakmoDaQ11k5nK9evY7cV9kv/XlNmU2u8JFiqSfxvPKFfWeIdWVCVrK4qGBQUjqsNlCyuKhgUFI6rDZQsrioYFBSOqw2ULK4qODhbNnuRe7r+/Ov1LSeaMsWHg/ZnuDhnAYlR4uMBSXJw2kEJUeLjAUlycNpdE2Jv5DgrA4ZC0qSh9MISo4WGQtKkofTCEqOFhkLSpKH0whKjhYZC0qSh9MISo4WGQtKkofTGF1dd98uPK8N/GsyzhpVH+v6Hrz6V1zaDECpRgtKPyhNQ8t2uxUAy7PSGPOuoWU2m4FSZ20rowyC4EMjShAE2VJURhmGoeDt4GGXJElAqbMuoNRxTNMUlA2iDIJg1ogynU4rvlbqbEB8GqWyT3CfEHTm4ppyu93GDS1JkgguwPIbR8F/1uwuoFRbX1CCUk1AbSDXWWmM8f+zqh4fO3Ec62xYyhzF9WZI9sYApcytoNeecjAYfPKsTCaTLNdrlpWy6RYsjt6pyp4MyV7CPitBKQM89ALlwcLyCJSWgIfue8rBYDDxrIzH41p+7JS5L7QdW3Ydd323s89K25dbZv96UBpjEu+LMeZwSTr6yHVWHj2x+gWCUm3NQAlKNQG1gZCVoFQTUBsIWQlKNQG1gZCVoFQTUBsIWQlKNQG1gZCVJVC2e1F/FKOKBdq9qNUJH34pEFVF4D/hsYhLBy7VNQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAD/klEQVR4Ae3dP2vbQBgG8Cz+NvkWnvw58h28dPPe0k1Th4AzqZDBU5RFXWpowJDhNoMLImC8ORjilDQqxSAu1qskeu716Xx5xA3ySe/58rtX/yzHOukNUhYVgZPeIO0P89HYsMAC/WHeG6T/KUdjU3JyEBiNDSkd/KxQUloYbrOkdPOzoklpYbjNktLNz4ompYXhNktKNz8rmpQWhtssKd38rGhSWhhus6R087OiSWlhuM06URaRTqvVClDFKdfr9ddIpyzLSKkztp1RJkmSRjFdXFzshqIzyjRNgc0hwJCiKEipMy6k1HEsy5KUEVEmSZJFMU0mk473lTonICG10tkRPCQEnb74ptxutybSqSgKYAeMXzgCbxZ3CCnVxpeUpFQTUGvId1Y+b+6e5peBl7/LXwCwb8qn+eXD+DTw8ufnJ1LqDBIpdRwfxqekJGV4u05mJbOSWQmcLpRlyZMhzE2IIqWAglWREnMTop4f7583d6GXx3uh629V+b5wfKs/R7yclGqDR0pSqgmoNRR0Vs7n805usBuD/Ods0JTT6VTnbmzLVnzfvFXbMJobImWzTcslFeVkMvFwyz3P8136xpyV0+m05Sggq3f2TTaksy1jqqwkZUu52uqkrJGgFaRE5WpxFWXLkxnX1WM+7LjatIwnZUuw5tUjpKxt8UFXBH3hGLRcrXOkrJGgFaRE5WpxpKyRoBVBUxpjvncxYdepQVPyFB3dQmpxpKyRoBUV5dXVlYfflpjNZrvT9ghP0StKbOfVdgT5eWVbscb1SdlI03bBh6DMsoz7yraZ8WL9al/Z/CHOQZbEfNg5CFhzoxFSGmM6+dWd2Wz2Yut434ugr3be9yeEshYp1UaClKRUE1BriFl5tJTn2ULlWSwHbeTsyw0A7DsrSQkMkhxCStkFqCUlgCaHkFJ2AWpJCaDJIaSUXYBaUgJocggpZReglpQAmhyS367OPt8EXs6vf8u9f7XW99XOq5057oWkVBs/UpJSTUCtIaesXEc6bbdbABin5ENi9rhJKdwO930fvMrKJEm+RTElSbJz7YySD4nZbekKGzgpSbl32OBDYvZB8Nedfb/SPux08hM26m/Kh8QIZzOOVZ0dwR37HWC4b0o+JGZvr4yfDO01xJekVMsBUpJSTUCtId9ZuVhuzq8XgZcft34fao2NJm/eYm5CFCkFFKyKlJibEEVKAQWrIiXmJkSRUkDBqkiJuQlRpBRQsCpSYm5CFCkFFKxqsdzkt6vAy2K5Af4639fgQBePJYSUaiNFSlKqCag1xKwkpZqAWkPMSlKqCag1xKwkpZqAWkPMSlKqCag1xKw8AGV/mI/GhgUW6A/z3iA9OegvIH2oxv8BrKHQ/zYsUVYAAAAASUVORK5CYII=\"","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Box from '@mui/material/Box';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { Button } from '../Button/Button';\n\nconst mapIndexed = R.addIndex(R.map);\nconst ButtonCarousel = ({ selectionModes, selectionMode, setSelectionMode, classes }) => {\n return (\n <Box\n sx={{\n overflowX: 'auto',\n overflowY: 'hidden',\n whiteSpace: 'nowrap',\n display: 'block', // allow horizontal scrolling\n width: '100%',\n maxWidth: '100%',\n '&::-webkit-scrollbar': { display: 'none' }, // optional: hide scrollbar\n scrollbarWidth: 'none',\n }}\n >\n {mapIndexed(\n ({ value, label, img }) => (\n <Tooltip\n key={value}\n classes={{ tooltip: classes.tooltip }}\n title={<img style={{ width: '72px', height: '90px' }} src={img} alt={value} />}\n tabIndex={-1}\n >\n <Button\n className={cx(classes.selectButton, classes.selectButtonNarrow)}\n selected={value === selectionMode}\n onClick={() => {\n setSelectionMode(value);\n }}\n aria-pressed={value === selectionMode}\n aria-label={label}\n tabIndex={0}\n sx={{\n flex: '0 0 auto', // Prevents buttons from shrinking\n scrollSnapAlign: 'center',\n minWidth: 40, // Minimum width for buttons\n whiteSpace: 'wrap',\n }}\n >\n <Paper elevation={0} className={classes.selectModeItem} key={value}>\n <Typography>{label}</Typography>\n {!R.isNil(img) && R.is(String, img) && <img src={img} alt={value} />}\n </Paper>\n </Button>\n </Tooltip>\n ),\n selectionModes,\n )}\n </Box>\n );\n};\n\nexport default ButtonCarousel;\n\nButtonCarousel.propTypes = {\n selectionModes: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n img: PropTypes.string,\n }),\n ).isRequired,\n selectionMode: PropTypes.string.isRequired,\n setSelectionMode: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport {\n getEvolvedDisableAccessor,\n getHierarchicalId,\n getScopeGetters,\n} from '../VirtualizedTree/utils';\nimport IconButton from '@mui/material/Button';\nimport Paper from '@mui/material/Paper';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { Button } from '../Button/Button';\nimport { Spotlight } from '../Spotlight/Spotlight';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { VirtualizedTree } from '../VirtualizedTree/VirtualizedTree';\nimport { withExpansionTree } from '../VirtualizedTree/withExpansionTree';\nimport { withSpotlight } from '../VirtualizedTree/withSpotlight';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { EmojiObjects } from '@mui/icons-material';\nimport singleImg from './images/single-selection.png';\nimport childrenImg from './images/children-selection.png';\nimport branchImg from './images/branch-selection.png';\nimport levelImg from './images/level-selection.png';\nimport Divider from '@mui/material/Divider';\nimport ButtonCarousel from './SelectionModesMobile';\n\nconst useStyles = makeStyles(theme => ({\n header: {\n color: 'black',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n },\n headerLabel: {\n fontSize: '16px',\n fontFamily: 'PT Sans Narrow',\n fontWeight: '700',\n color: theme.palette.grey[700],\n },\n selectionTitle: {\n fontSize: '12px',\n fontFamily: \"'Helvetica Neue', Helvetica, Arial, sans-serif\",\n fontWeight: '500',\n color: theme.palette.grey['A700'],\n },\n closeButton: {\n color: 'grey !important',\n padding: 0,\n },\n selectMode: {\n marginLeft: 10,\n '& .MuiInputBase-root': {\n height: 32,\n },\n },\n narrowTop: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n spotlight: { width: '45%' },\n selection: {\n display: 'flex',\n alignItems: 'center',\n },\n narrowSpotlight: { width: '100%' },\n selectionButton: {\n marginLeft: 24,\n marginRight: 15,\n height: 32,\n },\n narrowSelectionButton: {\n height: 32,\n marginTop: 15,\n marginRight: 10,\n },\n selectionMenu: {\n padding: 24,\n },\n narrowSelectionMenu: {\n width: '100%',\n },\n selectModeContainer: {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignItems: 'flex-start',\n },\n selectButtonNarrow: {\n width: 160,\n height: 50,\n border: `1px solid ${theme.palette.primary.light}`,\n margin: 5,\n },\n selectButton: {\n color: theme.palette.primary.main,\n '&:hover': {\n color: theme.palette.primary.main,\n backgroundColor: theme.palette.action.hover,\n },\n },\n selectModeItem: {\n boxShadow: 'none',\n display: 'flex',\n backgroundColor: 'transparent',\n flexDirection: 'row-reverse',\n alignItems: 'center',\n '& p': {\n paddingLeft: '5px',\n fontSize: '12px',\n fontFamily: \"'Helvetica Neue', Helvetica, Arial, sans-serif\",\n color: theme.palette.primary.main,\n fontWeight: '500',\n lineHeight: 1.43,\n textAlign: 'left',\n },\n '& img': {\n width: 21,\n height: 30,\n },\n },\n hint: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n marginRight: 7,\n color: theme.palette.primary.main,\n },\n divider: {\n backgroundColor: theme.palette.primary.light,\n },\n actions: {\n justifyContent: 'flex-end',\n },\n ellipsis: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n tooltip: {\n backgroundColor: theme.palette.action.hover,\n },\n subheader: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n },\n narrowHeader: {\n alignItems: 'flex-start',\n width: '100%',\n },\n topElements: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n}));\n\nconst AdvancedSelection = props => {\n const {\n id,\n items,\n labelRenderer,\n isNarrow,\n labels,\n disableAccessor = R.always(false),\n expandAll,\n collapseAll,\n selection,\n setSelection,\n allSelection,\n setAllSelection,\n spotlight,\n setSpotlight,\n expandedIds,\n allItems,\n filter,\n ...rest\n } = props;\n const [selectionMode, setSelectionMode] = useState('single');\n const classes = useStyles();\n const getTotal = (items, spotlightAcc) => {\n const itemsIds = R.pluck('id', items);\n const total = R.pipe(R.uniq, R.length)(itemsIds);\n if (R.is(Function, spotlightAcc)) {\n return spotlightAcc(total);\n }\n return total;\n };\n\n const selectionItems = R.map(item => {\n const selectedIds = R.propOr([], id, allSelection);\n return {\n ...item,\n isSelected: R.includes(item.id, selectedIds) ? !item.isSelected : !!item.isSelected,\n };\n }, items);\n const indexedFilteredItems = R.indexBy(getHierarchicalId, selectionItems);\n\n const selectionOptions = [\n {\n value: 'single',\n label: R.prop('singleSelection', labels),\n img: singleImg,\n },\n {\n value: 'children',\n label: R.prop('childrenSelection', labels),\n img: childrenImg,\n },\n\n {\n value: 'branch',\n label: R.prop('branchSelection', labels),\n img: branchImg,\n },\n {\n value: 'level',\n label: R.prop('levelSelection', labels),\n img: levelImg,\n },\n ];\n\n const _allGroupedItems = R.pipe(\n R.map(item => ({\n ...item,\n isSelected: R.has(item.id, selection) ? !item.isSelected : !!item.isSelected,\n })),\n R.groupBy(R.propOr('#ROOT', 'parentId')),\n )(allItems);\n\n const isChildInSelectionScope = (child, ancestor) => {\n if (!R.has(getHierarchicalId(child), indexedFilteredItems)) {\n return false;\n }\n if (selectionMode === 'single' || selectionMode === 'level') {\n return false;\n }\n if (selectionMode === 'children') {\n return child.parentId === getHierarchicalId(ancestor);\n }\n return true;\n };\n\n const _disableAccessor = getEvolvedDisableAccessor(\n _allGroupedItems,\n disableAccessor,\n isChildInSelectionScope,\n );\n\n const isDisabled = item => (R.is(Function, disableAccessor) ? disableAccessor(item) : false);\n const scopeGetter = R.prop(selectionMode, getScopeGetters);\n\n const onChangeSelection = ids => {\n const nextSelection = R.reduce(\n (acc, id) => (R.has(id, acc) ? R.dissoc(id, acc) : R.assoc(id, id, acc)),\n selection,\n ids,\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n\n const rejectonlyDisabledItems = item => _disableAccessor(item);\n const getSelectedItems = item => R.propOr(false, 'isSelected')(item);\n\n const selectAll = () => {\n const imposedIds = R.reduce(\n (acc, item) => R.uniq(R.concat(R.propOr([], 'imposedIds', item), acc)),\n [],\n )(items);\n const ids = R.pluck('id', R.reject(getSelectedItems, R.reject(rejectonlyDisabledItems, items)));\n const allIds = R.concat(imposedIds, ids);\n const nextSelection = R.reduce(\n (acc, id) => (R.has(id, acc) ? acc : R.assoc(id, id, acc)),\n {},\n allIds,\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n\n const deselectAll = () => {\n const itemIds = R.pipe(R.filter(getSelectedItems), R.pluck('id'))(items);\n const ids = R.difference(itemIds, selection);\n const nextSelection = R.reduce(\n (acc, id) => (R.has(id, acc) ? acc : R.assoc(id, id, acc)),\n {},\n ids,\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n const mapIndexed = R.addIndex(R.map);\n return (\n <Grid container>\n <Grid\n item\n container\n xs={12}\n className={cx(classes.topElements, { [classes.narrowTop]: isNarrow })}\n >\n {isNarrow && (\n <Grid item container xs={12}>\n <div className={cx(classes.selectModeContainer, { [classes.narrowHeader]: isNarrow })}>\n <ButtonCarousel\n selectionModes={selectionOptions}\n selectionMode={selectionMode}\n setSelectionMode={setSelectionMode}\n classes={classes}\n isNarrow={isNarrow}\n />\n </div>\n </Grid>\n )}\n <div className={classes.spotlight}>\n <Spotlight\n hasClearAll={true}\n placeholder={getTotal(items, R.prop('placeholder', labels))}\n term={spotlight.term}\n hasCommit={false}\n spotlight={{ fields: {} }}\n action={setSpotlight}\n labels={labels}\n />\n </div>\n </Grid>\n\n <Grid item xs={isNarrow ? 12 : 8}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n <div>\n <Button onClick={collapseAll} color=\"primary\">\n {R.prop('colapseAll', labels)}\n </Button>\n <Button style={{ marginLeft: 10 }} onClick={expandAll} color=\"primary\">\n {R.prop('expandAll', labels)}\n </Button>\n </div>\n <div>\n <Button onClick={selectAll} color=\"primary\">\n {R.prop('selectAll', labels)}\n </Button>\n <Button style={{ marginLeft: 10 }} onClick={deselectAll} color=\"primary\">\n {R.prop('deselectAll', labels)}\n </Button>\n </div>\n </div>\n <Divider className={classes.divider} />\n\n <VirtualizedTree\n {...rest}\n disableAccessor={_disableAccessor}\n isGreyed={isDisabled}\n labels={labels}\n labelRenderer={labelRenderer}\n items={selectionItems}\n changeSelection={(selection, ids) => onChangeSelection(selection, ids, filter)}\n withExpandControl={true}\n treeHeight={isNarrow ? 0 : 450}\n scopeGetter={scopeGetter}\n expandedIds={expandedIds}\n />\n </Grid>\n {!isNarrow && (\n <Grid item container xs={4}>\n <div className={cx(classes.selectModeContainer)}>\n <div className={classes.hint}>\n <Tooltip\n role=\"tooltip\"\n variant=\"light\"\n title={<Typography variant=\"body2\">{R.prop('hint', labels)}</Typography>}\n aria-label={R.prop('hint', labels)}\n tabIndex={0}\n >\n <IconButton>\n <EmojiObjects />\n </IconButton>\n </Tooltip>\n <Typography\n className={classes.selectionTitle}\n aria-label={R.prop('selectionMode', labels)}\n tabIndex={0}\n >\n {R.prop('selectionMode', labels)}\n </Typography>\n </div>\n <div className={cx(classes.selectModeContainer, classes.selectionMenu)}>\n {mapIndexed(\n ({ value, label, img }) => (\n <Tooltip\n key={value}\n classes={{ tooltip: classes.tooltip }}\n title={<img style={{ width: '72px', height: '90px' }} src={img} alt={value} />}\n tabIndex={-1}\n >\n <Button\n className={classes.selectButton}\n selected={value === selectionMode}\n onClick={() => {\n setSelectionMode(value);\n }}\n aria-pressed={value === selectionMode}\n aria-label={label}\n tabIndex={0}\n >\n <Paper elevation={0} className={classes.selectModeItem} key={value}>\n <Typography>{label}</Typography>\n {!R.isNil(img) && R.is(String, img) && <img src={img} alt={value} />}\n </Paper>\n </Button>\n </Tooltip>\n ),\n selectionOptions,\n )}\n </div>\n </div>\n </Grid>\n )}\n </Grid>\n );\n};\n\nAdvancedSelection.propTypes = {\n id: PropTypes.string,\n accessibility: PropTypes.bool,\n disableAccessor: PropTypes.func,\n HTMLRenderer: PropTypes.func,\n filter: PropTypes.object,\n selection: PropTypes.object,\n allSelection: PropTypes.object,\n setAllSelection: PropTypes.func,\n setSelection: PropTypes.func,\n isRtl: PropTypes.bool,\n isNarrow: PropTypes.bool,\n items: PropTypes.array,\n labels: PropTypes.shape({\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n disableItemLabel: PropTypes.string,\n singleSelection: PropTypes.string,\n childrenSelection: PropTypes.string,\n branchSelection: PropTypes.string,\n levelSelection: PropTypes.string,\n selectAll: PropTypes.string,\n deselectAll: PropTypes.string,\n apply: PropTypes.string,\n cancel: PropTypes.string,\n }),\n labelRenderer: PropTypes.func,\n expandAll: PropTypes.func,\n collapseAll: PropTypes.func,\n spotlight: PropTypes.object,\n setSpotlight: PropTypes.func,\n expandedIds: PropTypes.object,\n allItems: PropTypes.array,\n};\n\nexport default withSpotlight(withExpansionTree(AdvancedSelection));\n","import * as React from 'react';\nimport * as R from 'ramda';\nimport { Button } from '../Button/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport makeStyles from '@mui/styles/makeStyles';\n\n\nconst useStyles = makeStyles(theme => ({\n title: {\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'warningPopup', 'title'], theme),\n textAlign: 'center',\n \n },\n content: {\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'warningPopup', 'content'], theme), \n },\n\n}));\n\n\nexport const WarningPopup = ({ open, handleClose, handleSubmit, labels }) => {\n const classes = useStyles();\n return (\n <Dialog\n fullWidth={false}\n maxWidth={'sm'}\n open={open}\n onClose={handleClose}\n onSubmit={handleSubmit}\n aria-labelledby={R.prop('popupTitle', labels)}\n aria-describedby={R.prop('popupContent', labels)}\n >\n <DialogTitle id={R.prop('popupTitle', labels)} className={classes.title}>\n {R.prop('popupTitle', labels)}\n </DialogTitle>\n <DialogContent id={R.prop('popupContent', labels)} className={classes.content}>\n <DialogContentText>{R.prop('popupContent', labels)}</DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={handleClose} aria-label={R.prop('discard', labels)} color=\"primary\">\n {R.prop('discard', labels)}\n </Button>\n <Button\n onClick={handleSubmit}\n aria-label={R.prop('apply', labels)}\n color=\"primary\"\n alternative=\"siscc\"\n variant=\"contained\"\n >\n {R.prop('apply', labels)}\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n","import React, { useState, useEffect, useMemo } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Box from '@mui/material/Box';\nimport AdvancedSelection from './AdvancedSelection';\nimport Paper from '@mui/material/Paper';\nimport Tab from '@mui/material/Tab';\nimport Tabs from '@mui/material/Tabs';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { ArrowBack, Close } from '@mui/icons-material';\nimport IconButton from '@mui/material/Button';\nimport { Button } from '../Button/Button';\nimport { Tag as InternalTag } from '../Tag/Tag';\nimport BackIcon from '@mui/icons-material/ArrowBack';\nimport { WarningPopup } from './WarningPopup';\nimport FocusTrap from '@mui/material/Unstable_TrapFocus';\n\nconst useStyles = makeStyles(theme => ({\n label: {\n color: theme.palette.grey[700],\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'tab', 'title'], theme),\n },\n labelSelected: {\n color: theme.palette.primary.main,\n },\n tabSelected: {\n backgroundColor: `${theme.palette.action.hover} !important`,\n '&:hover': {\n backgroundColor: `${theme.palette.action.selected} !important`,\n },\n },\n tab: {\n '&:hover': {\n backgroundColor: `${theme.palette.action.selected}`,\n },\n },\n tabPanel: {\n backgroundColor: theme.palette.background.default,\n position: 'absolute',\n top: '176px',\n zIndex: 1000,\n width: '80vw',\n height: '100vh',\n left: '200px',\n },\n}));\n\nconst getCounter = (items, tagAccessor) => {\n const selectedItemsIds = R.reduce(\n (acc, item) => {\n if (R.prop('isSelected', item)) {\n return R.append(R.prop('id', item), acc);\n }\n return acc;\n },\n [],\n items,\n );\n const itemsIds = R.pluck('id', items);\n const count = R.pipe(R.uniq, R.length)(selectedItemsIds);\n const total = R.pipe(R.uniq, R.length)(itemsIds);\n if (R.is(Function, tagAccessor)) {\n return tagAccessor(count, total);\n }\n return `${count}/${total}`;\n};\n\nconst TabPanel = props => {\n const {\n children,\n open,\n item,\n classes,\n labels,\n onClose,\n isNarrow,\n setOpen,\n labelRenderer,\n styles = {},\n ...other\n } = props;\n return (\n <div\n role=\"tabpanel\"\n hidden={!open}\n id={`vertical-tabpanel-${R.prop('index', item)}`}\n aria-labelledby={`vertical-tab-${R.prop('index', item)}`}\n className={isNarrow ? classes.tabPanelNarrow : classes.tabPanel}\n style={{ width: R.prop('width', styles) }}\n {...other}\n >\n {open && (\n <Box sx={{ p: 3 }}>\n <Box\n display=\"flex\"\n justifyContent={isNarrow ? 'space-between' : 'flex-end'}\n alignItems=\"center\"\n >\n {isNarrow && (\n <Box display=\"flex\" justifyContent={'flex-start'} alignItems=\"center\">\n <IconButton\n onClick={() => setOpen(false)}\n data-testid=\"back_button\"\n aria-label={R.prop('cancel', labels)}\n sx={{\n padding: 0,\n float: 'left',\n justifyContent: 'flex-start',\n minWidth: '24px',\n }}\n size=\"large\"\n edge=\"start\"\n >\n <ArrowBack />\n </IconButton>\n <Typography\n variant=\"h6\"\n aria-label={R.prop('title', labels)(labelRenderer(item))}\n tabIndex={0}\n sx={{\n margin: 0,\n padding: 0,\n }}\n >\n {R.prop('title', labels)(labelRenderer(item))}\n </Typography>\n </Box>\n )}\n <IconButton\n onClick={onClose}\n aria-label={R.prop('cancel', labels)}\n sx={{\n color: 'grey !important',\n minWidth: '24px',\n padding: 0,\n float: 'right',\n }}\n size=\"large\"\n >\n <Close />\n </IconButton>\n </Box>\n {children}\n </Box>\n )}\n </div>\n );\n};\n\nconst PaperComponent = React.forwardRef(\n ({ label, selected, item, tagAccessor, tagValueLabel, ...rest }, ref) => {\n const tag = R.prop('tag', item);\n const Chip = R.isNil(tag) ? InternalTag : tag;\n const classes = useStyles();\n return (\n <Paper {...rest} ref={ref}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', width: '100%' }}>\n <Typography\n noWrap\n variant=\"body2\"\n title={label}\n className={cx(classes.label, { [classes.labelSelected]: selected })}\n >\n {label}\n </Typography>\n {R.isNil(tag) ? (\n <Chip items={R.prop('values', item)} tagValueLabel={tagValueLabel}>\n {getCounter(R.prop('values', item), tagAccessor)}\n </Chip>\n ) : (\n tag\n )}\n </Box>\n </Paper>\n );\n },\n);\n\nexport const DynamicDrawer = props => {\n const classNames = useStyles();\n const [open, setOpen] = useState(false);\n const [openPopup, setOpenPopup] = useState(false);\n const [selectedId, setSelectedId] = useState(null);\n const [selection, setSelection] = useState({});\n const [allSelection, setAllSelection] = useState({});\n\n const {\n list,\n labelRenderer,\n onClick,\n handleChangePanel,\n onClosePanel,\n isNarrow,\n labels,\n disableAccessor = R.always(false),\n isApplyHiddenNarrow = false,\n expandAll,\n collapseAll,\n expandedIds,\n allItems,\n periodPanel,\n classes,\n testId = 'tabs',\n tagAccessor,\n tagAriaLabel,\n children,\n styles = {},\n ...rest\n } = props;\n\n const handleChange = (e, item) => {\n const id = R.prop('id', item);\n const filterSelection = R.pipe(R.propOr([], id), arr => R.zipObj(arr, arr))(allSelection);\n setSelection({ ...filterSelection });\n handleChangePanel(id, selection, allSelection);\n setSelectedId(id);\n setOpen(true);\n };\n const handleSubmit = () => {\n onClick(allSelection);\n setAllSelection({});\n setSelection({});\n setOpen(false);\n setSelectedId(null);\n onClosePanel();\n };\n const handleSubmitPopup = () => {\n handleSubmit();\n setOpenPopup(false);\n }\n const handleClosePopup = () => {\n setOpen(false);\n setOpenPopup(false);\n setAllSelection({});\n setSelection({});\n setSelectedId(null);\n onClosePanel();\n };\n const handleClose = () => {\n if (!R.isEmpty(selection) || !R.isEmpty(allSelection) || !isApplyHiddenNarrow) {\n setOpenPopup(true);\n } else {\n handleClosePopup();\n }\n };\n\n const filter = useMemo(() => {\n if (!selectedId) return {};\n return R.find(item => R.prop('id', item) === selectedId)(list);\n }, [selectedId, list]);\n\n const isHidden = open && isNarrow;\n const isNotHiddenButton = (!R.isEmpty(allSelection) || !isApplyHiddenNarrow) && isNarrow;\n const isApplyButtonShown = open && !isNarrow;\n useEffect(() => {\n if (isApplyButtonShown) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n return () => {\n document.body.style.overflow = '';\n };\n }, [open, isNarrow]);\n\n return (\n <FocusTrap open={open}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n {isApplyButtonShown && (\n <Box\n onClick={() => handleClose()}\n sx={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100vw',\n height: '100vh',\n zIndex: 990,\n }}\n />\n )}\n <WarningPopup open={openPopup} handleClose={handleClosePopup} handleSubmit={handleSubmitPopup} labels={labels} />\n <Tabs\n orientation=\"vertical\"\n variant=\"scrollable\"\n TabIndicatorProps={{ style: { transition: 'none' } }}\n scrollButtons={isApplyButtonShown && 'auto'}\n value={false}\n onChange={handleChange}\n aria-label=\"filters\"\n data-testid={testId}\n sx={{\n display: isHidden ? 'none' : 'flex',\n width: '100%',\n height: isApplyButtonShown ? R.prop('height', styles) : '100%',\n borderRight: 1,\n borderColor: 'divider',\n zIndex: 1000,\n }}\n >\n {R.map(item => {\n const tagValueLabel =\n R.isNil(R.prop('tag', item)) && getCounter(R.prop('values', item), tagAriaLabel);\n\n return (\n <Tab\n key={R.prop('id', item)}\n id={R.prop('id', filter)}\n data-testid={`${R.prop('id', item)}-tab`}\n component={React.forwardRef(function TabPaper(tabProps, ref) {\n return (\n <PaperComponent\n ref={ref}\n {...tabProps}\n label={labelRenderer(item)}\n selected={selectedId === R.prop('id', item)}\n item={item}\n tagAccessor={tagAccessor}\n tagValueLabel={tagValueLabel}\n />\n );\n })}\n label={labelRenderer(item)}\n aria-label={labelRenderer(item)}\n value={item}\n aria-selected={R.prop('id', filter) === R.prop('id', item)}\n className={cx(classNames.tab, {\n [classNames.tabSelected]: R.prop('id', filter) === R.prop('id', item),\n })}\n sx={{\n alignItems: 'start',\n maxWidth: '100%',\n }}\n wrapped\n disableRipple\n disableFocusRipple\n />\n );\n })(list)}\n {isApplyButtonShown && (\n <Button\n style={{ float: 'bottom', margin: '10px' }}\n aria-label={R.prop('apply', labels)}\n id=\"apply_button\"\n variant=\"contained\"\n onClick={handleSubmit}\n >\n {R.prop('apply', labels)}\n </Button>\n )}\n {isNotHiddenButton && (\n <Button\n style={{ float: 'bottom', margin: '10px' }}\n aria-label={R.prop('apply', labels)}\n id=\"apply_button\"\n variant=\"contained\"\n onClick={handleSubmit}\n >\n {R.prop('apply', labels)}\n </Button>\n )}\n </Tabs>\n <TabPanel\n item={filter}\n data-testid={`${testId}_panel`}\n open={open}\n labels={labels}\n classes={classes}\n onClose={handleClose}\n isNarrow={isNarrow}\n setOpen={setOpen}\n labelRenderer={labelRenderer}\n styles={styles}\n >\n {R.equals(R.prop('id', filter), periodPanel) ? (\n children\n ) : (\n <AdvancedSelection\n id={selectedId}\n items={R.prop('values', filter) || []}\n isOpen={open}\n labelRenderer={labelRenderer}\n disableAccessor={disableAccessor ? R.pipe(R.prop('isEnabled'), R.not) : undefined}\n labels={labels}\n isNarrow={isNarrow}\n expandAll={expandAll}\n collapseAll={collapseAll}\n expandedIds={expandedIds}\n allItems={allItems}\n selection={selection}\n setSelection={setSelection}\n setAllSelection={setAllSelection}\n allSelection={allSelection}\n {...rest}\n filter={filter}\n />\n )}\n </TabPanel>\n </div>\n </FocusTrap>\n );\n};\n"],"names":["useStyles","items","id","selection","IconButton","InternalTag","AdvancedSelection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DynamicDrawer.js","sources":["../../src/DynamicDrawer/images/single-selection.png","../../src/DynamicDrawer/images/children-selection.png","../../src/DynamicDrawer/images/branch-selection.png","../../src/DynamicDrawer/images/level-selection.png","../../src/DynamicDrawer/SelectionModesMobile.jsx","../../src/DynamicDrawer/AdvancedSelection.jsx","../../src/DynamicDrawer/WarningPopup.jsx","../../src/DynamicDrawer/DynamicDrawer.jsx"],"sourcesContent":["export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAEMUlEQVR4Ae3dPY+bMBgH8Fvybe5bZMoXytItn6AbU5lyE0gdMoWJqYluyGZ1yUaHm05yOxytepeqQrIgckj8+MFv+VsMQGxjfn7BcAn3MFsUWFgEHmaLYr6sV2uBhSwwX9azRfGfcrUWJwQLgdVagNLCr5cUlD0Mu1VQ2vn1UoOyh2G3Cko7v15qUPYw7FZBaefXSw3KHobdKijt/HqpQdnDsFsFpZ1fLzUoexh2q1aU7y/PSS4fr98JqnTKj18/3taPSS5/vn0CJU/VgpLH8W39CEpQhjfgolWiVaJVYjJ0NmHCvFIzLGCs1KDQ7iCcU/7++ff4Ncnl/eX5rPPesknv4LfkfldxQMlW3aAEJZsAW0auW6WUUgQfmqYhALumFEJ8Dj5UVQVKnlqKjDLP821goSzLrioio6QVl9Dvbk/SNA0ob+caiwnKMR2jz0BpxDUWOVbKLMvy8EKUYyXPtGWaXGiXREzRNbURB2XbtjL40Lbt2Jh64TPXrfJCMVLYDUq2WgQlKNkE2DIKulUej8fKRxCC8svZoCl3u51mqjL9rjgmQ0bdCZRGXGORFeVms3HwV4y6rrsWn3Kr3O12Y+RMn0X2OMPorFWrBKWRmyYyKDUotF2gpLlpUinK6ec/gyOkfNkZnOj0G6BkM06QUtPnA94V9I1jwG6aooFSg0LbBUqamyYVKDUotF1BUwohSh+Bdp8aNCWm6LT+oUkFSg0KbZei3G63zfThcDh0s/wEp+iKkjZ4mdYfnleail2MD8qLNKYf3AVlVVXTD5XNXYyVbM98bsso5cvObQJssRKkFEIUPsLhcDAdZ0+nU9B3O4Tz8ZgElGz4oAQlmwBbRmiV0VLiR8xsVQdKUF4XcD1WqlZJu6O4fkIWMSJ7nAFKi7oeJgXl0MNiC5QWeMOkirIsSwdfLzc6xH6/7x4u0cZxb5cdtidiE2QESjbUOCibpgnslTia4iT4a7LhMBv6luuxMnQPi/KB0gJvmBSUQw+LLSvK4F+CQSyg63dnSCnZZh+BZeR6MgTKs8GA3sEVZZZlX5IIWZZ13cNbqyyK4qx+It309rxStUpQdk2HoYODEpTn45D/Dp5lmY832PAfc7PZeL7sBDYpZCiOtys4Q9kDy8I1Zdu2Ro/7I4ocx9v6z4f6hLbpk6GEEHhOBZQ8jvgCNZujB0r8kxi22lNfKQhs/jMojuvJEE0XlDQ3TSpFiX8So9Ex2qUoaZ3I6Fimkb09zjAtaBcflDQ3TSpQalBou0BJc9OkUpR5nvt4783YMZ+enro5EW0cd33jqCgHE7nANkDJViFxUEopHby6wfIQUkrN2HRtl+sOfq08EX8OSrbKAyUo2QTYMkKrBCWbAFtGaJWgZBNgywitEpRsAmwZoVWCkk2ALSO0ygko58t6tRZYyALzZT1bFA+zRYGFReAfqhQA2zKS9CAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAEEElEQVR4Ae3dv2rbQBwH8Cx+m7yFJz9H3sFLN+8t3TTVELAnGTp4srKoSw0JGDIcXQwJqIPJ0HCtS9zQRKUYxCGO6PS7n+5O5++hQVLuTvLnfvdHjuOcDUYpNhaBs8EoHY7zyUxgIwsMx/lglP6nnMxEiWQhMJkJUFr4KUVBqWDY7YLSzk8pDUoFw24XlHZ+SmlQKhh2u6C081NKg1LBsNsFpZ2fUhqUCobdLijt/JTSoFQw7HatKF9211Furz++EVTplK+/vj/NzqPcnr++AyVP04KSx/Fpdg5KUIY34CIqEZWISiyGagsmrCs1wwLGSg0K7QnCOeWfn3+3n6PcXnbXtc5rckjv4Ca1n1QeULI1NyhBySbAVpHrqLzb7S+v7gLfvtw+EIBdU15mdywfY+y0kosPN6Dk+cAtKHkcB6MUlKAM72PwiEpEJaKSsFwoyxKLIZqbphQoNSi0U6CkuWlKPe6f73e/A98e98+aW2865frBsel+evxzULI1HihBySbAVlHQUbndbjMfSQjKX84GTblerz/6SFmWEWIVlJq2iplyuVyK7lOe50fXmCnX6zWhx7UtUhQFKNui6fODUu9COAtKApq+yElQambZLk/FPO106aapG5QaFNqpCCn1Q1qoZ4N+2gkVTX9foNS7EM6CkoCmLwJKvQvhbNCUQoiFj0R75A+aEu9XEjqHvggo9S6EsxXlarUquk+bzea4pI9wiV5R0gavto13Em9ngLJtWNTzIyrrIuTjijLLsu6HyuIkxkraGzzkUjFPO2QUWsEIKYUQqY+02WwIg1LQTzuE1+OxCCjZ8EEJSjYBtooQlb2lxF9IsDUdKEHZLOB6rERUNreJYQ5QGkI1ZwNls5FhDlAaQjVnA2WzkWEOUBpCNWcDZbORYY789uHi/U3g2+XVveHLUbO5Xleq145sH5RsDQpKULIJsFVkFZUy0nQ4HAjAdEopJe1Xo+GXcv3LW1DWIpchKpMk+RRFSpLk2GO8RWWaprX26emhtw8FVh0clMfQYejgoARlfRzy38GTJPHxDTb811wul56nnfDXiW3v0NsM3vZGw8/vmvJwOHT/fTV+rlAURX0cNTimz+AGlZ9WFlCytTcoQckmwFaR66iUUvqZStpctR/TjhACiyGejgBKHseyLCvK6XS6CiwtFotjj3G9RKfpVpS026Vd1LCUt7czDO+vlg2UNRD6ISjpdrWSoKyB0A8ryul06uN7b9665nw+7+W0E/LqkjYlun7aqaISlPSufSwppXTw1Q2Wl5BSEl6n66gk3GJfioCSraVACUo2AbaKEJWgZBNgqwhRCUo2AbaKEJWgZBNgqwhRCUo2AbaKEJUdUA7H+WQmsJEFhuN8MErPBuH96/ie3tI/t0x8FMP3CcUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAD4klEQVR4Ae3cMWvbQBQH8Cz+NvkW7uLP4e/gDt28N5Qummow2JMMKXiqvahLhnjKIAqlYINaMBkarnWJa5qoBIEtgvLi9+7pdFL+xw2q7t31/Ltn+SQcn7Q6IaqKwEmrE7Z7UX8Uo4oF2r2o1QkfKPujOEWxEOiPYlBa+OW6gjKHYXcISju/XG9Q5jDsDkFp55frDcocht0hKO38cr1BmcOwOwSlnV+uNyhzGHaHoLTzy/UGZQ7D7tCK8m592ch6//OLQFVOef/7++3otJF1d/EGlDpLC0odx9vRKShB6d8FF1mJrERWYjP0aMOEfWXBZQHXygIU2R2Ec8q/v/59O29kvVtfPnrzHvNP+Rv8mNFfVAwo1ZYblKBUE1AbyHVWLteb4Xzpef18dS0Adk05nC1VvsZY6iDdswUodb5wC0odx1YnBCUo/fsaPLISWYmsFGwX0jTFZkjmVtALlAUoslOglLkV9LrZ7FbrP57Xm82uYOrPnXJ94/jcfGrcDkq1xQMlKNUE1AbyOis/Xvzoni3c1+F8JQD2mjKbXKmPJgsHr8c9OGu1QcniooJBSemw2kDJ4qKCQUnpsNpAyeKigkFJ6bDaQMniooJBSemw2kDJ4mpOcLbw+MkmhRUFpQJiNgQoQakmoDaQ11k5nK9evY7cV9kv/XlNmU2u8JFiqSfxvPKFfWeIdWVCVrK4qGBQUjqsNlCyuKhgUFI6rDZQsrioYFBSOqw2ULK4qODhbNnuRe7r+/Ov1LSeaMsWHg/ZnuDhnAYlR4uMBSXJw2kEJUeLjAUlycNpdE2Jv5DgrA4ZC0qSh9MISo4WGQtKkofTCEqOFhkLSpKH0whKjhYZC0qSh9MISo4WGQtKkofTGF1dd98uPK8N/GsyzhpVH+v6Hrz6V1zaDECpRgtKPyhNQ8t2uxUAy7PSGPOuoWU2m4FSZ20rowyC4EMjShAE2VJURhmGoeDt4GGXJElAqbMuoNRxTNMUlA2iDIJg1ogynU4rvlbqbEB8GqWyT3CfEHTm4ppyu93GDS1JkgguwPIbR8F/1uwuoFRbX1CCUk1AbSDXWWmM8f+zqh4fO3Ec62xYyhzF9WZI9sYApcytoNeecjAYfPKsTCaTLNdrlpWy6RYsjt6pyp4MyV7CPitBKQM89ALlwcLyCJSWgIfue8rBYDDxrIzH41p+7JS5L7QdW3Ydd323s89K25dbZv96UBpjEu+LMeZwSTr6yHVWHj2x+gWCUm3NQAlKNQG1gZCVoFQTUBsIWQlKNQG1gZCVoFQTUBsIWQlKNQG1gZCVJVC2e1F/FKOKBdq9qNUJH34pEFVF4D/hsYhLBy7VNQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAG4AAACJCAIAAABCeJqWAAAD/klEQVR4Ae3dP2vbQBgG8Cz+NvkWnvw58h28dPPe0k1Th4AzqZDBU5RFXWpowJDhNoMLImC8ORjilDQqxSAu1qskeu716Xx5xA3ySe/58rtX/yzHOukNUhYVgZPeIO0P89HYsMAC/WHeG6T/KUdjU3JyEBiNDSkd/KxQUloYbrOkdPOzoklpYbjNktLNz4ompYXhNktKNz8rmpQWhtssKd38rGhSWhhus6R087OiSWlhuM06URaRTqvVClDFKdfr9ddIpyzLSKkztp1RJkmSRjFdXFzshqIzyjRNgc0hwJCiKEipMy6k1HEsy5KUEVEmSZJFMU0mk473lTonICG10tkRPCQEnb74ptxutybSqSgKYAeMXzgCbxZ3CCnVxpeUpFQTUGvId1Y+b+6e5peBl7/LXwCwb8qn+eXD+DTw8ufnJ1LqDBIpdRwfxqekJGV4u05mJbOSWQmcLpRlyZMhzE2IIqWAglWREnMTop4f7583d6GXx3uh629V+b5wfKs/R7yclGqDR0pSqgmoNRR0Vs7n805usBuD/Ods0JTT6VTnbmzLVnzfvFXbMJobImWzTcslFeVkMvFwyz3P8136xpyV0+m05Sggq3f2TTaksy1jqqwkZUu52uqkrJGgFaRE5WpxFWXLkxnX1WM+7LjatIwnZUuw5tUjpKxt8UFXBH3hGLRcrXOkrJGgFaRE5WpxpKyRoBVBUxpjvncxYdepQVPyFB3dQmpxpKyRoBUV5dXVlYfflpjNZrvT9ghP0StKbOfVdgT5eWVbscb1SdlI03bBh6DMsoz7yraZ8WL9al/Z/CHOQZbEfNg5CFhzoxFSGmM6+dWd2Wz2Yut434ugr3be9yeEshYp1UaClKRUE1BriFl5tJTn2ULlWSwHbeTsyw0A7DsrSQkMkhxCStkFqCUlgCaHkFJ2AWpJCaDJIaSUXYBaUgJocggpZReglpQAmhyS367OPt8EXs6vf8u9f7XW99XOq5057oWkVBs/UpJSTUCtIaesXEc6bbdbABin5ENi9rhJKdwO930fvMrKJEm+RTElSbJz7YySD4nZbekKGzgpSbl32OBDYvZB8Nedfb/SPux08hM26m/Kh8QIZzOOVZ0dwR37HWC4b0o+JGZvr4yfDO01xJekVMsBUpJSTUCtId9ZuVhuzq8XgZcft34fao2NJm/eYm5CFCkFFKyKlJibEEVKAQWrIiXmJkSRUkDBqkiJuQlRpBRQsCpSYm5CFCkFFKxqsdzkt6vAy2K5Af4639fgQBePJYSUaiNFSlKqCag1xKwkpZqAWkPMSlKqCag1xKwkpZqAWkPMSlKqCag1xKw8AGV/mI/GhgUW6A/z3iA9OegvIH2oxv8BrKHQ/zYsUVYAAAAASUVORK5CYII=\"","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Box from '@mui/material/Box';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { Button } from '../Button/Button';\n\nconst mapIndexed = R.addIndex(R.map);\nconst ButtonCarousel = ({ selectionModes, selectionMode, setSelectionMode, classes }) => {\n return (\n <Box\n sx={{\n overflowX: 'auto',\n overflowY: 'hidden',\n whiteSpace: 'nowrap',\n display: 'block', // allow horizontal scrolling\n width: '100%',\n maxWidth: '100%',\n '&::-webkit-scrollbar': { display: 'none' }, // optional: hide scrollbar\n scrollbarWidth: 'none',\n }}\n >\n {mapIndexed(\n ({ value, label, img }) => (\n <Tooltip\n key={value}\n classes={{ tooltip: classes.tooltip }}\n title={<img style={{ width: '72px', height: '90px' }} src={img} alt={value} />}\n tabIndex={-1}\n >\n <Button\n className={cx(classes.selectButton, classes.selectButtonNarrow)}\n selected={value === selectionMode}\n onClick={() => {\n setSelectionMode(value);\n }}\n aria-pressed={value === selectionMode}\n aria-label={label}\n tabIndex={0}\n sx={{\n flex: '0 0 auto', // Prevents buttons from shrinking\n scrollSnapAlign: 'center',\n minWidth: 40, // Minimum width for buttons\n whiteSpace: 'wrap',\n }}\n >\n <Paper elevation={0} className={classes.selectModeItem} key={value}>\n <Typography>{label}</Typography>\n {!R.isNil(img) && R.is(String, img) && <img src={img} alt={value} />}\n </Paper>\n </Button>\n </Tooltip>\n ),\n selectionModes,\n )}\n </Box>\n );\n};\n\nexport default ButtonCarousel;\n\nButtonCarousel.propTypes = {\n selectionModes: PropTypes.arrayOf(\n PropTypes.shape({\n value: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n img: PropTypes.string,\n }),\n ).isRequired,\n selectionMode: PropTypes.string.isRequired,\n setSelectionMode: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n};\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport {\n getEvolvedDisableAccessor,\n getHierarchicalId,\n getScopeGetters,\n} from '../VirtualizedTree/utils';\nimport IconButton from '@mui/material/Button';\nimport Paper from '@mui/material/Paper';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { Button } from '../Button/Button';\nimport { Spotlight } from '../Spotlight/Spotlight';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { VirtualizedTree } from '../VirtualizedTree/VirtualizedTree';\nimport { withExpansionTree } from '../VirtualizedTree/withExpansionTree';\nimport { withSpotlight } from '../VirtualizedTree/withSpotlight';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { EmojiObjects } from '@mui/icons-material';\nimport singleImg from './images/single-selection.png';\nimport childrenImg from './images/children-selection.png';\nimport branchImg from './images/branch-selection.png';\nimport levelImg from './images/level-selection.png';\nimport Divider from '@mui/material/Divider';\nimport ButtonCarousel from './SelectionModesMobile';\n\nconst useStyles = makeStyles(theme => ({\n header: {\n color: 'black',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: '100%',\n },\n headerLabel: {\n fontSize: '16px',\n fontFamily: 'PT Sans Narrow',\n fontWeight: '700',\n color: theme.palette.grey[700],\n },\n selectionTitle: {\n fontSize: '12px',\n fontFamily: \"'Helvetica Neue', Helvetica, Arial, sans-serif\",\n fontWeight: '500',\n color: theme.palette.grey['A700'],\n },\n closeButton: {\n color: 'grey !important',\n padding: 0,\n },\n selectMode: {\n marginLeft: 10,\n '& .MuiInputBase-root': {\n height: 32,\n },\n },\n narrowTop: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n spotlight: { width: '45%' },\n selection: {\n display: 'flex',\n alignItems: 'center',\n },\n narrowSpotlight: { width: '100%' },\n selectionButton: {\n marginLeft: 24,\n marginRight: 15,\n height: 32,\n },\n narrowSelectionButton: {\n height: 32,\n marginTop: 15,\n marginRight: 10,\n },\n selectionMenu: {\n padding: 24,\n },\n narrowSelectionMenu: {\n width: '100%',\n },\n selectModeContainer: {\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n alignItems: 'flex-start',\n },\n selectButtonNarrow: {\n width: 160,\n height: 50,\n border: `1px solid ${theme.palette.primary.light}`,\n margin: 5,\n },\n selectButton: {\n color: theme.palette.primary.main,\n '&:hover': {\n color: theme.palette.primary.main,\n backgroundColor: theme.palette.action.hover,\n },\n },\n selectModeItem: {\n boxShadow: 'none',\n display: 'flex',\n backgroundColor: 'transparent',\n flexDirection: 'row-reverse',\n alignItems: 'center',\n '& p': {\n paddingLeft: '5px',\n fontSize: '12px',\n fontFamily: \"'Helvetica Neue', Helvetica, Arial, sans-serif\",\n color: theme.palette.primary.main,\n fontWeight: '500',\n lineHeight: 1.43,\n textAlign: 'left',\n },\n '& img': {\n width: 21,\n height: 30,\n },\n },\n hint: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n marginRight: 7,\n color: theme.palette.primary.main,\n },\n divider: {\n backgroundColor: theme.palette.primary.light,\n },\n actions: {\n justifyContent: 'flex-end',\n },\n ellipsis: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n tooltip: {\n backgroundColor: theme.palette.action.hover,\n },\n subheader: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n },\n narrowHeader: {\n alignItems: 'flex-start',\n width: '100%',\n },\n topElements: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n}));\n\nconst AdvancedSelection = props => {\n const {\n id,\n items,\n labelRenderer,\n isNarrow,\n labels,\n disableAccessor = R.always(false),\n expandAll,\n collapseAll,\n selection,\n setSelection,\n allSelection,\n setAllSelection,\n spotlight,\n setSpotlight,\n expandedIds,\n allItems,\n filter,\n ...rest\n } = props;\n const [selectionMode, setSelectionMode] = useState('single');\n const classes = useStyles();\n const getTotal = (items, spotlightAcc) => {\n const itemsIds = R.pluck('id', items);\n const total = R.pipe(R.uniq, R.length)(itemsIds);\n if (R.is(Function, spotlightAcc)) {\n return spotlightAcc(total);\n }\n return total;\n };\n\n const selectionItems = R.map(item => {\n const selectedIds = R.propOr([], id, allSelection);\n return {\n ...item,\n isSelected: R.includes(item.id, selectedIds) ? !item.isSelected : !!item.isSelected,\n };\n }, items);\n const indexedFilteredItems = R.indexBy(getHierarchicalId, selectionItems);\n\n const selectionOptions = [\n {\n value: 'single',\n label: R.prop('singleSelection', labels),\n img: singleImg,\n },\n {\n value: 'children',\n label: R.prop('childrenSelection', labels),\n img: childrenImg,\n },\n\n {\n value: 'branch',\n label: R.prop('branchSelection', labels),\n img: branchImg,\n },\n {\n value: 'level',\n label: R.prop('levelSelection', labels),\n img: levelImg,\n },\n ];\n\n const _allGroupedItems = R.pipe(\n R.map(item => ({\n ...item,\n isSelected: R.has(item.id, selection) ? !item.isSelected : !!item.isSelected,\n })),\n R.groupBy(R.propOr('#ROOT', 'parentId')),\n )(allItems);\n\n const isChildInSelectionScope = (child, ancestor) => {\n if (!R.has(getHierarchicalId(child), indexedFilteredItems)) {\n return false;\n }\n if (selectionMode === 'single' || selectionMode === 'level') {\n return false;\n }\n if (selectionMode === 'children') {\n return child.parentId === getHierarchicalId(ancestor);\n }\n return true;\n };\n\n const _disableAccessor = getEvolvedDisableAccessor(\n _allGroupedItems,\n disableAccessor,\n isChildInSelectionScope,\n );\n\n const isDisabled = item => (R.is(Function, disableAccessor) ? disableAccessor(item) : false);\n const scopeGetter = R.prop(selectionMode, getScopeGetters);\n\n const onChangeSelection = ids => {\n const nextSelection = R.reduce(\n (acc, id) => (R.has(id, acc) ? R.dissoc(id, acc) : R.assoc(id, id, acc)),\n selection,\n ids,\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n\n const rejectonlyDisabledItems = item => _disableAccessor(item);\n const getSelectedItems = item => R.propOr(false, 'isSelected')(item);\n\n const selectAll = () => {\n const imposedIds = R.reduce(\n (acc, item) => R.uniq(R.concat(R.propOr([], 'imposedIds', item), acc)),\n [],\n )(items);\n const ids = R.pluck('id', R.reject(getSelectedItems, R.reject(rejectonlyDisabledItems, items)));\n const allIds = R.concat(imposedIds, ids);\n const nextSelection = R.reduce(\n (acc, id) => (R.has(id, acc) ? acc : R.assoc(id, id, acc)),\n {},\n allIds,\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n\n const deselectAll = () => {\n const itemIds = R.pipe(R.filter(getSelectedItems), R.pluck('id'))(items);\n const ids = R.difference(itemIds, selection);\n const nextSelection = R.reduce(\n (acc, id) => (R.has(id, acc) ? acc : R.assoc(id, id, acc)),\n {},\n ids,\n );\n setSelection(nextSelection);\n setAllSelection({ ...allSelection, [id]: R.values(nextSelection) });\n };\n const mapIndexed = R.addIndex(R.map);\n return (\n <Grid container>\n <Grid\n item\n container\n xs={12}\n className={cx(classes.topElements, { [classes.narrowTop]: isNarrow })}\n >\n {isNarrow && (\n <Grid item container xs={12}>\n <div className={cx(classes.selectModeContainer, { [classes.narrowHeader]: isNarrow })}>\n <ButtonCarousel\n selectionModes={selectionOptions}\n selectionMode={selectionMode}\n setSelectionMode={setSelectionMode}\n classes={classes}\n isNarrow={isNarrow}\n />\n </div>\n </Grid>\n )}\n <div className={classes.spotlight}>\n <Spotlight\n hasClearAll={true}\n placeholder={getTotal(items, R.prop('placeholder', labels))}\n term={spotlight.term}\n hasCommit={false}\n spotlight={{ fields: {} }}\n action={setSpotlight}\n labels={labels}\n />\n </div>\n </Grid>\n\n <Grid item xs={isNarrow ? 12 : 8}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n <div>\n <Button onClick={collapseAll} color=\"primary\">\n {R.prop('colapseAll', labels)}\n </Button>\n <Button style={{ marginLeft: 10 }} onClick={expandAll} color=\"primary\">\n {R.prop('expandAll', labels)}\n </Button>\n </div>\n <div>\n <Button onClick={selectAll} color=\"primary\">\n {R.prop('selectAll', labels)}\n </Button>\n <Button style={{ marginLeft: 10 }} onClick={deselectAll} color=\"primary\">\n {R.prop('deselectAll', labels)}\n </Button>\n </div>\n </div>\n <Divider className={classes.divider} />\n\n <VirtualizedTree\n {...rest}\n disableAccessor={_disableAccessor}\n isGreyed={isDisabled}\n labels={labels}\n labelRenderer={labelRenderer}\n items={selectionItems}\n changeSelection={(selection, ids) => onChangeSelection(selection, ids, filter)}\n withExpandControl={true}\n treeHeight={isNarrow ? 0 : 450}\n scopeGetter={scopeGetter}\n expandedIds={expandedIds}\n />\n </Grid>\n {!isNarrow && (\n <Grid item container xs={4}>\n <div className={cx(classes.selectModeContainer)}>\n <div className={classes.hint}>\n <Tooltip\n role=\"tooltip\"\n variant=\"light\"\n title={<Typography variant=\"body2\">{R.prop('hint', labels)}</Typography>}\n aria-label={R.prop('hint', labels)}\n tabIndex={0}\n >\n <IconButton>\n <EmojiObjects />\n </IconButton>\n </Tooltip>\n <Typography\n className={classes.selectionTitle}\n aria-label={R.prop('selectionMode', labels)}\n tabIndex={0}\n >\n {R.prop('selectionMode', labels)}\n </Typography>\n </div>\n <div className={cx(classes.selectModeContainer, classes.selectionMenu)}>\n {mapIndexed(\n ({ value, label, img }) => (\n <Tooltip\n key={value}\n classes={{ tooltip: classes.tooltip }}\n title={<img style={{ width: '72px', height: '90px' }} src={img} alt={value} />}\n tabIndex={-1}\n >\n <Button\n className={classes.selectButton}\n selected={value === selectionMode}\n onClick={() => {\n setSelectionMode(value);\n }}\n aria-pressed={value === selectionMode}\n aria-label={label}\n tabIndex={0}\n >\n <Paper elevation={0} className={classes.selectModeItem} key={value}>\n <Typography>{label}</Typography>\n {!R.isNil(img) && R.is(String, img) && <img src={img} alt={value} />}\n </Paper>\n </Button>\n </Tooltip>\n ),\n selectionOptions,\n )}\n </div>\n </div>\n </Grid>\n )}\n </Grid>\n );\n};\n\nAdvancedSelection.propTypes = {\n id: PropTypes.string,\n accessibility: PropTypes.bool,\n disableAccessor: PropTypes.func,\n HTMLRenderer: PropTypes.func,\n filter: PropTypes.object,\n selection: PropTypes.object,\n allSelection: PropTypes.object,\n setAllSelection: PropTypes.func,\n setSelection: PropTypes.func,\n isRtl: PropTypes.bool,\n isNarrow: PropTypes.bool,\n items: PropTypes.array,\n labels: PropTypes.shape({\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n disableItemLabel: PropTypes.string,\n singleSelection: PropTypes.string,\n childrenSelection: PropTypes.string,\n branchSelection: PropTypes.string,\n levelSelection: PropTypes.string,\n selectAll: PropTypes.string,\n deselectAll: PropTypes.string,\n apply: PropTypes.string,\n cancel: PropTypes.string,\n }),\n labelRenderer: PropTypes.func,\n expandAll: PropTypes.func,\n collapseAll: PropTypes.func,\n spotlight: PropTypes.object,\n setSpotlight: PropTypes.func,\n expandedIds: PropTypes.object,\n allItems: PropTypes.array,\n};\n\nexport default withSpotlight(withExpansionTree(AdvancedSelection));\n","import * as React from 'react';\nimport * as R from 'ramda';\nimport { Button } from '../Button/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogContentText from '@mui/material/DialogContentText';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport makeStyles from '@mui/styles/makeStyles';\n\n\nconst useStyles = makeStyles(theme => ({\n title: {\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'warningPopup', 'title'], theme),\n textAlign: 'center',\n \n },\n content: {\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'warningPopup', 'content'], theme), \n },\n\n}));\n\n\nexport const WarningPopup = ({ open, handleClose, handleSubmit, labels }) => {\n const classes = useStyles();\n return (\n <Dialog\n fullWidth={false}\n maxWidth={'sm'}\n open={open}\n onClose={handleClose}\n onSubmit={handleSubmit}\n aria-labelledby={R.prop('popupTitle', labels)}\n aria-describedby={R.prop('popupContent', labels)}\n >\n <DialogTitle id={R.prop('popupTitle', labels)} className={classes.title}>\n {R.prop('popupTitle', labels)}\n </DialogTitle>\n <DialogContent id={R.prop('popupContent', labels)} className={classes.content}>\n <DialogContentText>{R.prop('popupContent', labels)}</DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={handleClose} aria-label={R.prop('discard', labels)} color=\"primary\">\n {R.prop('discard', labels)}\n </Button>\n <Button\n onClick={handleSubmit}\n aria-label={R.prop('apply', labels)}\n color=\"primary\"\n alternative=\"siscc\"\n variant=\"contained\"\n >\n {R.prop('apply', labels)}\n </Button>\n </DialogActions>\n </Dialog>\n );\n};\n","import React, { useState, useEffect, useLayoutEffect, useMemo, startTransition } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport Box from '@mui/material/Box';\nimport AdvancedSelection from './AdvancedSelection';\nimport Paper from '@mui/material/Paper';\nimport Tab from '@mui/material/Tab';\nimport Tabs from '@mui/material/Tabs';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { ArrowBack, Close } from '@mui/icons-material';\nimport IconButton from '@mui/material/Button';\nimport { Button } from '../Button/Button';\nimport { Tag as InternalTag } from '../Tag/Tag';\nimport BackIcon from '@mui/icons-material/ArrowBack';\nimport { WarningPopup } from './WarningPopup';\nimport FocusTrap from '@mui/material/Unstable_TrapFocus';\n\nconst useStyles = makeStyles(theme => ({\n label: {\n color: theme.palette.grey[700],\n ...R.pathOr({}, ['mixins', 'dynamicDrawer', 'tab', 'title'], theme),\n },\n labelSelected: {\n color: theme.palette.primary.main,\n },\n tabSelected: {\n backgroundColor: `${theme.palette.action.hover} !important`,\n '&:hover': {\n backgroundColor: `${theme.palette.action.selected} !important`,\n },\n },\n tab: {\n '&:hover': {\n backgroundColor: `${theme.palette.action.selected}`,\n },\n },\n tabPanel: {\n backgroundColor: theme.palette.background.default,\n position: 'absolute',\n top: '176px',\n zIndex: 1000,\n width: '80vw',\n height: '100vh',\n left: '200px',\n },\n}));\n\nconst getCounter = (items, tagAccessor) => {\n const selectedItemsIds = R.reduce(\n (acc, item) => {\n if (R.prop('isSelected', item)) {\n return R.append(R.prop('id', item), acc);\n }\n return acc;\n },\n [],\n items,\n );\n const itemsIds = R.pluck('id', items);\n const count = R.pipe(R.uniq, R.length)(selectedItemsIds);\n const total = R.pipe(R.uniq, R.length)(itemsIds);\n if (R.is(Function, tagAccessor)) {\n return tagAccessor(count, total);\n }\n return `${count}/${total}`;\n};\n\nconst TabPanel = props => {\n const {\n children,\n open,\n item,\n classes,\n labels,\n onClose,\n isNarrow,\n setOpen,\n labelRenderer,\n styles = {},\n ...other\n } = props;\n return (\n <div\n role=\"tabpanel\"\n hidden={!open}\n id={`vertical-tabpanel-${R.prop('index', item)}`}\n aria-labelledby={`vertical-tab-${R.prop('index', item)}`}\n className={isNarrow ? classes.tabPanelNarrow : classes.tabPanel}\n style={{ width: R.prop('width', styles) }}\n {...other}\n >\n {open && (\n <Box sx={{ p: 3 }}>\n <Box\n display=\"flex\"\n justifyContent={isNarrow ? 'space-between' : 'flex-end'}\n alignItems=\"center\"\n >\n {isNarrow && (\n <Box display=\"flex\" justifyContent={'flex-start'} alignItems=\"center\">\n <IconButton\n onClick={() => setOpen(false)}\n data-testid=\"back_button\"\n aria-label={R.prop('back', labels)}\n sx={{\n padding: 0,\n float: 'left',\n justifyContent: 'flex-start',\n minWidth: '24px',\n }}\n size=\"large\"\n edge=\"start\"\n >\n <ArrowBack />\n </IconButton>\n <Typography\n variant=\"h6\"\n aria-label={R.prop('title', labels)(labelRenderer(item))}\n tabIndex={0}\n sx={{\n margin: 0,\n padding: 0,\n }}\n >\n {R.prop('title', labels)(labelRenderer(item))}\n </Typography>\n </Box>\n )}\n <IconButton\n onClick={onClose}\n aria-label={R.prop('cancel', labels)}\n sx={{\n color: 'grey !important',\n minWidth: '24px',\n padding: 0,\n float: 'right',\n }}\n size=\"large\"\n >\n <Close />\n </IconButton>\n </Box>\n {children}\n </Box>\n )}\n </div>\n );\n};\n\nconst PaperComponent = React.forwardRef(\n ({ label, selected, item, tagAccessor, tagValueLabel, ...rest }, ref) => {\n const tag = R.prop('tag', item);\n const Chip = R.isNil(tag) ? InternalTag : tag;\n const classes = useStyles();\n return (\n <Paper {...rest} ref={ref}>\n <Box sx={{ display: 'flex', justifyContent: 'space-between', width: '100%' }}>\n <Typography\n noWrap\n variant=\"body2\"\n title={label}\n className={cx(classes.label, { [classes.labelSelected]: selected })}\n >\n {label}\n </Typography>\n {R.isNil(tag) ? (\n <Chip items={R.prop('values', item)} tagValueLabel={tagValueLabel}>\n {getCounter(R.prop('values', item), tagAccessor)}\n </Chip>\n ) : (\n tag\n )}\n </Box>\n </Paper>\n );\n },\n);\n\nexport const DynamicDrawer = props => {\n const classNames = useStyles();\n const [open, setOpen] = useState(false);\n const [openPopup, setOpenPopup] = useState(false);\n const [selectedId, setSelectedId] = useState(null);\n const [selection, setSelection] = useState({});\n const [allSelection, setAllSelection] = useState({});\n\n const {\n list,\n labelRenderer,\n onClick,\n handleChangePanel,\n onClosePanel,\n isNarrow,\n labels,\n disableAccessor = R.always(false),\n isApplyHiddenNarrow = false,\n openTabId,\n expandAll,\n collapseAll,\n expandedIds,\n allItems,\n periodPanel,\n classes,\n testId = 'tabs',\n tagAccessor,\n tagAriaLabel,\n children,\n styles = {},\n ...rest\n } = props;\n\n useLayoutEffect(() => {\n if (!openTabId) return;\n const item = R.find(item => R.prop('id', item) === openTabId)(list);\n if (item && (selectedId !== openTabId || !open)) {\n const id = R.prop('id', item);\n const filterSelection = R.pipe(R.propOr([], id), arr => R.zipObj(arr, arr))(allSelection);\n startTransition(() => {\n setSelection({ ...filterSelection });\n setSelectedId(id);\n setOpen(true);\n });\n }\n }, [openTabId, list, allSelection, selectedId, open]);\n\n const handleChange = (e, item) => {\n const id = R.prop('id', item);\n const filterSelection = R.pipe(R.propOr([], id), arr => R.zipObj(arr, arr))(allSelection);\n setSelection({ ...filterSelection });\n handleChangePanel(id, selection, allSelection);\n setSelectedId(id);\n setOpen(true);\n };\n const handleSubmit = () => {\n onClick(allSelection);\n setAllSelection({});\n setSelection({});\n setOpen(false);\n setSelectedId(null);\n onClosePanel();\n };\n const handleSubmitPopup = () => {\n handleSubmit();\n setOpenPopup(false);\n };\n const handleClosePopup = () => {\n setOpen(false);\n setOpenPopup(false);\n setAllSelection({});\n setSelection({});\n setSelectedId(null);\n onClosePanel();\n };\n const handleClose = () => {\n if (!R.isEmpty(selection) || !R.isEmpty(allSelection) || !isApplyHiddenNarrow) {\n setOpenPopup(true);\n } else {\n handleClosePopup();\n }\n };\n\n const filter = useMemo(() => {\n if (!selectedId) return {};\n return R.find(item => R.prop('id', item) === selectedId)(list);\n }, [selectedId, list]);\n\n const isHidden = open && isNarrow;\n const isNotHiddenButton = (!R.isEmpty(allSelection) || !isApplyHiddenNarrow) && isNarrow;\n const isApplyButtonShown = open && !isNarrow;\n useEffect(() => {\n if (isApplyButtonShown) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = '';\n }\n return () => {\n document.body.style.overflow = '';\n };\n }, [open, isNarrow]);\n\n return (\n <FocusTrap open={open}>\n <div style={{ display: 'flex', flexDirection: 'row' }}>\n {isApplyButtonShown && (\n <Box\n onClick={() => handleClose()}\n sx={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100vw',\n height: '100vh',\n zIndex: 990,\n }}\n />\n )}\n <WarningPopup\n open={openPopup}\n handleClose={handleClosePopup}\n handleSubmit={handleSubmitPopup}\n labels={labels}\n />\n <Tabs\n orientation=\"vertical\"\n variant=\"scrollable\"\n TabIndicatorProps={{ style: { transition: 'none' } }}\n scrollButtons={isApplyButtonShown && 'auto'}\n value={false}\n onChange={handleChange}\n aria-label=\"filters\"\n data-testid={testId}\n sx={{\n display: isHidden ? 'none' : 'flex',\n width: '100%',\n height: isApplyButtonShown ? R.prop('height', styles) : '100%',\n borderRight: 1,\n borderColor: 'divider',\n zIndex: 1000,\n }}\n >\n {R.map(item => {\n const tagValueLabel =\n R.isNil(R.prop('tag', item)) && getCounter(R.prop('values', item), tagAriaLabel);\n\n return (\n <Tab\n key={R.prop('id', item)}\n id={R.prop('id', filter)}\n data-testid={`${R.prop('id', item)}-tab`}\n component={React.forwardRef(function TabPaper(tabProps, ref) {\n return (\n <PaperComponent\n ref={ref}\n {...tabProps}\n label={labelRenderer(item)}\n selected={selectedId === R.prop('id', item)}\n item={item}\n tagAccessor={tagAccessor}\n tagValueLabel={tagValueLabel}\n />\n );\n })}\n label={labelRenderer(item)}\n aria-label={labelRenderer(item)}\n value={item}\n aria-selected={R.prop('id', filter) === R.prop('id', item)}\n className={cx(classNames.tab, {\n [classNames.tabSelected]: R.prop('id', filter) === R.prop('id', item),\n })}\n sx={{\n alignItems: 'start',\n maxWidth: '100%',\n }}\n wrapped\n disableRipple\n disableFocusRipple\n />\n );\n })(list)}\n {isApplyButtonShown && (\n <Button\n style={{ float: 'bottom', margin: '10px' }}\n aria-label={R.prop('apply', labels)}\n id=\"apply_button\"\n variant=\"contained\"\n onClick={handleSubmit}\n >\n {R.prop('apply', labels)}\n </Button>\n )}\n {isNotHiddenButton && (\n <Button\n style={{ float: 'bottom', margin: '10px' }}\n aria-label={R.prop('apply', labels)}\n id=\"apply_button\"\n variant=\"contained\"\n onClick={handleSubmit}\n >\n {R.prop('apply', labels)}\n </Button>\n )}\n </Tabs>\n <TabPanel\n item={filter}\n data-testid={`${testId}_panel`}\n open={open}\n labels={labels}\n classes={classes}\n onClose={handleClose}\n isNarrow={isNarrow}\n setOpen={setOpen}\n labelRenderer={labelRenderer}\n styles={styles}\n >\n {R.equals(R.prop('id', filter), periodPanel) ? (\n children\n ) : (\n <AdvancedSelection\n id={selectedId}\n items={R.prop('values', filter) || []}\n isOpen={open}\n labelRenderer={labelRenderer}\n disableAccessor={disableAccessor ? R.pipe(R.prop('isEnabled'), R.not) : undefined}\n labels={labels}\n isNarrow={isNarrow}\n expandAll={expandAll}\n collapseAll={collapseAll}\n expandedIds={expandedIds}\n allItems={allItems}\n selection={selection}\n setSelection={setSelection}\n setAllSelection={setAllSelection}\n allSelection={allSelection}\n {...rest}\n filter={filter}\n />\n )}\n </TabPanel>\n </div>\n </FocusTrap>\n );\n};\n"],"names":["useStyles","items","id","selection","IconButton","InternalTag","item","AdvancedSelection"],"mappings":"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"}
|
|
@@ -490,6 +490,7 @@ const CustomTableLayout = ({
|
|
|
490
490
|
className: classes.activationButton,
|
|
491
491
|
"aria-label": R.prop("activationLabel", optionalItem),
|
|
492
492
|
color: "primary",
|
|
493
|
+
checked: isOptionalActivated,
|
|
493
494
|
onClick: isOptionalActivated ? deactivateOptionalItem : activateOptionalItem,
|
|
494
495
|
startIcon: isOptionalActivated ? /* @__PURE__ */ jsx(Done, {}) : /* @__PURE__ */ jsx(CheckBoxOutlineBlankOutlined, {}),
|
|
495
496
|
children: /* @__PURE__ */ jsx(Typography, { variant: "body2", children: R.prop("activationLabel", optionalItem) })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableLayout.js","sources":["../../src/TableLayout/constants.js","../../src/TableLayout/DnDItem.jsx","../../src/TableLayout/Box.jsx","../../src/TableLayout/lib.js","../../src/TableLayout/TableLayout.jsx"],"sourcesContent":["export const BOX = {\n header: 'header',\n sections: 'sections',\n rows: 'rows',\n};\n\nexport const wcagId = 'dnd-how-drag-item';\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Typography from '@mui/material/Typography';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport { Draggable } from '@hello-pangea/dnd';\nimport { getLight, getDark } from '../utils';\nimport { BOX, wcagId } from './constants';\n\nconst useStyles = makeStyles(theme => ({\n containerButton: {\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing(1),\n borderRadius: theme.spacing(0.5),\n userSelect: 'none',\n },\n styledItemContainer: {\n cursor: 'grab',\n minHeight: 32,\n borderRadius: theme.spacing(0.5),\n alignItems: 'center',\n paddingTop: theme.spacing(0.25),\n paddingBottom: theme.spacing(0.25),\n margin: theme.spacing(0.25),\n opacity: 1,\n flexFlow: 'wrap',\n },\n [`${BOX.sections}Item`]: {\n color: theme.palette.getContrastText(getDark(theme) || theme.palette.secondary.dark),\n backgroundColor: getDark(theme) || theme.palette.secondary.dark,\n },\n [`${BOX.rows}Item`]: {\n color: theme.palette.getContrastText(getLight(theme) || theme.palette.secondary.light),\n backgroundColor: getLight(theme) || theme.palette.secondary.light,\n },\n [`${BOX.header}Item`]: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n backgroundColor: theme.palette.primary.main,\n },\n cantMove: {\n cursor: 'no-drop',\n },\n text: {\n fontStyle: 'italic',\n fontSize: theme.typography.fontSize - 2,\n fontWeight: theme.typography.fontWeightBold,\n },\n itemButton: {\n // paddingTop: theme.spacing(0.25),\n // paddingBottom: theme.spacing(0.25),\n // paddingRight: 0,\n },\n select: {\n backgroundColor: theme.palette.common.white,\n '&:focus': {\n backgroundColor: theme.palette.common.white,\n },\n },\n spaceButton: {\n margin: theme.spacing(0, 1, 0, 0),\n },\n}));\n\nconst DnDItem = ({ item, index, itemRenderer, dropZoneLabel, itemButtonProps, canDrag }) => {\n const classes = useStyles();\n const selectItem = R.prop(item.id)(itemButtonProps);\n return (\n <Draggable key={item.id} draggableId={item.id} index={index} isDragDisabled={R.not(canDrag)}>\n {provided => (\n <div\n data-testid={`draggable-${item.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n className={cx(\n classes.styledItemContainer,\n classes.containerButton,\n [R.prop(`${dropZoneLabel}Item`)(classes)],\n {\n [classes.cantMove]: R.not(canDrag),\n },\n )}\n aria-label={itemRenderer(item)}\n aria-describedby={wcagId}\n >\n <Fragment>\n <Typography\n variant={'body2'}\n className={cx(classes.text, { [classes.spaceButton]: selectItem })}\n >\n {itemRenderer(item)}\n </Typography>\n {selectItem && (\n <Select\n id={item.id}\n value={selectItem.value}\n onChange={e => selectItem.onChange(e.target.value)}\n classes={{ root: classes.select }}\n variant=\"outlined\"\n size=\"small\"\n autoWidth\n >\n {R.map(v => (\n <MenuItem key={v} value={v}>\n {v}\n </MenuItem>\n ))(selectItem.options)}\n </Select>\n )}\n </Fragment>\n </div>\n )}\n </Draggable>\n );\n};\n\nDnDItem.propTypes = {\n item: PropTypes.object,\n index: PropTypes.number,\n itemRenderer: PropTypes.func,\n dropZoneLabel: PropTypes.string,\n onChangeLayout: PropTypes.func,\n itemButtonProps: PropTypes.object,\n handleChangeBox: PropTypes.func,\n canDrag: PropTypes.bool,\n dropZoneIndex: PropTypes.number,\n};\n\nexport default DnDItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport { Droppable } from '@hello-pangea/dnd';\nimport Typography from '@mui/material/Typography';\nimport Grid from '@mui/material/Grid';\nimport makeStyles from '@mui/styles/makeStyles';\nimport DnDItem from './DnDItem';\nimport { visuallyHidden } from '@mui/utils';\nimport { getLight, getDark } from '../utils';\nimport { BOX } from './constants';\n\nconst useStyles = makeStyles(theme => ({\n blockDnd: {\n width: '100%',\n paddingBottom: theme.spacing(1),\n marginTop: theme.spacing(0.5),\n marginRight: theme.spacing(1),\n minHeight: 30,\n marginBottom: theme.spacing(1),\n borderRadius: theme.spacing(0.5),\n borderWidth: 2,\n borderStyle: 'solid',\n },\n canDrop: {\n borderStyle: 'dashed',\n },\n [`${BOX.sections}Container`]: {\n borderColor: getDark(theme) || theme.palette.secondary.dark,\n },\n [`${BOX.rows}Container`]: {\n borderColor: getLight(theme) || theme.palette.secondary.light,\n },\n [`${BOX.header}Container`]: {\n borderColor: theme.palette.primary.main,\n },\n iconTitle: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n flexFlow: 'nowrap',\n },\n title: theme.typography.subtitle1,\n}));\n\nconst Box = ({\n items,\n itemRenderer,\n dropZoneLabel,\n title,\n Icon,\n onChangeLayout,\n itemButtonProps,\n accessibility,\n md,\n}) => {\n const classes = useStyles();\n const canDrag = R.equals(dropZoneLabel, BOX.rows) ? R.pipe(R.length, R.lt(1))(items) : R.T();\n\n return (\n <Grid item xs={accessibility ? 4 : 12} md={md}>\n <div className={classes.iconTitle}>\n <Icon />\n <span className={classes.title}>{title}</span>\n <Typography style={visuallyHidden}>{title}</Typography>\n </div>\n <Droppable droppableId={dropZoneLabel}>\n {(provided, snapshot) => (\n <div\n data-testid={`droppable-${dropZoneLabel}`}\n ref={provided.innerRef}\n className={cx(classes.blockDnd, R.prop(`${dropZoneLabel}Container`)(classes), {\n [classes.canDrop]: snapshot.isDraggingOver,\n })}\n >\n {R.addIndex(R.map)((item, index) => (\n <DnDItem\n key={item.id}\n index={index}\n item={item}\n itemRenderer={itemRenderer}\n dropZoneLabel={dropZoneLabel}\n onChangeLayout={onChangeLayout}\n itemButtonProps={itemButtonProps}\n canDrag={canDrag}\n />\n ))(R.values(items))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </Grid>\n );\n};\n\nBox.propTypes = {\n items: PropTypes.array,\n itemRenderer: PropTypes.func,\n dropZoneLabel: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n Icon: PropTypes.object,\n onChangeLayout: PropTypes.func,\n putItem: PropTypes.func,\n itemButtonProps: PropTypes.object,\n accessibility: PropTypes.bool,\n md: PropTypes.number,\n};\n\nexport default Box;\n","import * as R from 'ramda';\n\nexport const changeLayout = ({ dragIndex, hoverIndex, dragZone, dropZone, currentLayout }) => {\n if (R.equals(dragZone, dropZone)) {\n return R.over(R.lensProp(dropZone), R.move(dragIndex, hoverIndex), currentLayout);\n }\n const item = R.pipe(R.prop(dragZone), R.nth(dragIndex))(currentLayout);\n return R.pipe(\n R.over(R.lensProp(dragZone), R.without([item])),\n R.over(R.lensProp(dropZone), R.insert(hoverIndex, item)),\n )(currentLayout);\n};\n\nexport const getIsOptionalActivated = (layout, optionalId) => {\n const founded = R.pipe(R.values, R.unnest, R.find(R.equals(optionalId)))(layout);\n return !R.isNil(founded);\n};\n","import React, { Fragment, useState, useMemo, useEffect } from 'react';\nimport cx from 'classnames';\nimport * as R from 'ramda';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { CheckBoxOutlineBlankOutlined, Done, Reorder, Undo, ViewColumnOutlined, ViewListOutlined, ViewQuiltOutlined } from '@mui/icons-material';\nimport { visuallyHidden } from '@mui/utils';\nimport { makeStyles } from '@mui/styles';\nimport { DragDropContext } from '@hello-pangea/dnd';\nimport { withBlank } from '../utils';\nimport { TablePreview } from '../TablePreview/TablePreview';\nimport Box from './Box';\nimport { changeLayout, getIsOptionalActivated } from './lib';\nimport { BOX, wcagId } from './constants';\nimport { Button } from '../Button/Button';\n\nexport const useStyles = makeStyles(theme => ({\n dnd: {\n userSelect: 'none',\n },\n buttonContainer: {\n margin: theme.spacing(2, 0),\n },\n iconTitle: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n flexFlow: 'nowrap',\n },\n activationButton: {\n backgroundColor: theme.palette.action.hover,\n '&:hover': {\n backgroundColor: theme.palette.action.selected,\n },\n },\n}));\n\nconst transform = {\n index: R.add(1),\n};\n\nconst CustomTableLayout = ({\n layout = {},\n items = [],\n optionalItem = {},\n itemRenderer = R.prop('name'),\n itemButtonProps,\n labels,\n commit,\n noPreview,\n accessibility,\n}) => {\n const classes = useStyles();\n const [currentLayout, setCurrentLayout] = useState(layout);\n const boxLabel = {\n [BOX.header]: labels.column || BOX.header,\n [BOX.sections]: labels.section || BOX.sections,\n [BOX.rows]: labels.row || BOX.rows,\n };\n useEffect(() => {\n setCurrentLayout(layout);\n }, [layout]);\n const indexedItems = useMemo(() => {\n const indexed = R.indexBy(R.prop('id'), items);\n if (!R.isEmpty(optionalItem) && !R.isNil(optionalItem)) {\n return R.assoc(optionalItem.id, optionalItem, indexed);\n }\n return indexed;\n }, [items, optionalItem]);\n\n const onChangeLayout = props => setCurrentLayout(changeLayout({ ...props }));\n\n const activateOptionalItem = () => {\n const nextLayout = R.over(R.lensProp('header'), R.append(optionalItem.id), currentLayout);\n setCurrentLayout(nextLayout);\n };\n\n const deactivateOptionalItem = () => {\n setCurrentLayout(R.map(R.reject(R.equals(optionalItem.id)), currentLayout));\n };\n\n const onCommit = () => {\n if (R.is(Function)(commit)) {\n commit(currentLayout);\n }\n };\n\n const onCancel = () => {\n if (R.is(Function)(setCurrentLayout)) {\n setCurrentLayout(layout);\n }\n };\n\n const onDragStart = ({ draggableId, source }, provided) => {\n if (R.is(Function)(labels.wcagDragStart)) {\n // start.source = droppableId & index\n const dragZoneId = source.droppableId;\n const dragLabel = R.pipe(\n R.prop(dragZoneId),\n R.find(R.propEq('id', draggableId)),\n itemRenderer,\n )(currentLayout);\n R.pipe(\n R.evolve(transform),\n R.prop('wcagDragStart', labels),\n provided.announce,\n )({\n dragZone: R.prop(dragZoneId)(boxLabel),\n ...source,\n dragLabel,\n });\n }\n };\n\n const onDragUpdate = ({ destination, source }, provided) => {\n if (R.isNil(destination)) {\n return;\n }\n\n if (R.is(Function)(labels.wcagDragUpdate)) {\n const { droppableId, index } = destination;\n const length = R.ifElse(\n R.always(R.equals(droppableId, source.droppableId)),\n R.pipe(R.prop(droppableId), R.length),\n R.pipe(R.prop(droppableId), R.length, R.add(1)),\n )(currentLayout);\n\n R.pipe(\n R.evolve(transform),\n R.prop('wcagDragUpdate', labels),\n provided.announce,\n )({\n dropZone: R.prop(droppableId)(boxLabel),\n dragZone: R.prop(source.droppableId)(boxLabel),\n index,\n length,\n });\n }\n };\n\n const onDragEnd =\n layout =>\n ({ reason, destination, source }, provided) => {\n if (R.is(String)(labels.wcagDragCancel)) {\n if (R.equals(reason, 'CANCEL')) {\n provided.announce(labels.wcagDragCancel);\n }\n }\n\n if (R.isNil(destination)) {\n return;\n }\n if (R.is(Function)(labels.wcagDragEnd)) {\n if (R.equals(reason, 'DROP')) {\n const { droppableId, index } = destination;\n R.pipe(\n R.evolve(transform),\n R.prop('wcagDragEnd', labels),\n provided.announce,\n )({\n dropZone: R.prop(droppableId)(boxLabel),\n dragZone: R.prop(source.droppableId)(boxLabel),\n index,\n });\n }\n }\n\n onChangeLayout({\n dragIndex: source.index,\n hoverIndex: destination.index,\n dragZone: source.droppableId,\n dropZone: destination.droppableId,\n currentLayout: layout,\n });\n };\n\n const getItems = level =>\n R.pipe(R.prop(level), ids => R.props(ids, indexedItems), R.filter(R.identity))(currentLayout);\n\n const header = (\n <Box\n title={labels.column}\n Icon={ViewColumnOutlined}\n items={getItems('header')}\n labels={labels}\n dropZoneLabel={BOX.header}\n itemRenderer={itemRenderer}\n itemButtonProps={itemButtonProps}\n accessibility={accessibility}\n md={accessibility ? 4 : 6}\n />\n );\n\n const sectionsAndRows = (\n <Fragment>\n <Box\n title={labels.section}\n Icon={Reorder}\n items={getItems('sections')}\n labels={labels}\n dropZoneLabel={BOX.sections}\n itemRenderer={itemRenderer}\n itemButtonProps={itemButtonProps}\n accessibility={accessibility}\n md={accessibility ? 4 : 12}\n />\n <Box\n title={labels.row}\n Icon={ViewListOutlined}\n items={getItems('rows')}\n labels={labels}\n dropZoneLabel={BOX.rows}\n itemRenderer={itemRenderer}\n itemButtonProps={itemButtonProps}\n accessibility={accessibility}\n md={accessibility ? 4 : 12}\n />\n </Fragment>\n );\n\n const isOptionalActivated = getIsOptionalActivated(currentLayout, R.prop('id', optionalItem));\n\n return (\n <Grid data-testid=\"table-layout-test-id\" container>\n <div id={wcagId} aria-live=\"assertive\" style={{ display: 'none' }}>\n {labels.wcagDragExplanation}\n </div>\n <DragDropContext\n onDragEnd={onDragEnd(currentLayout)}\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n >\n <Grid container direction=\"row\" spacing={1} className={classes.dnd}>\n <Grid item xs={12}>\n <Grid container spacing={1}>\n <Grid tabIndex={0} item xs={12} md={accessibility ? 12 : 6}>\n <span>{labels.help}</span>\n <Typography style={visuallyHidden}>{labels.wcagDragExplanation}</Typography>\n </Grid>\n {R.not(accessibility) && header}\n </Grid>\n </Grid>\n <Grid container spacing={1}>\n {accessibility && header}\n {accessibility && sectionsAndRows}\n {R.not(accessibility) && (\n <Grid item xs={12} md={6}>\n {sectionsAndRows}\n </Grid>\n )}\n {!noPreview && (\n <Grid item xs={12} md={accessibility ? 12 : 6} className={cx(classes.wrapper)}>\n <div className={classes.iconTitle}>\n <ViewQuiltOutlined />\n <Typography tabIndex={0} variant=\"subtitle1\">\n {labels.table}\n </Typography>\n </div>\n <TablePreview\n header={R.props(R.prop('header', currentLayout), indexedItems)}\n sections={R.props(R.prop('sections', currentLayout), indexedItems)}\n rows={R.props(R.prop('rows', currentLayout), indexedItems)}\n itemRenderer={itemRenderer}\n />\n </Grid>\n )}\n </Grid>\n </Grid>\n </DragDropContext>\n <Grid\n container\n justifyContent=\"space-between\"\n className={classes.buttonContainer}\n spacing={1}\n >\n <Grid\n item\n data-testid={\n isOptionalActivated\n ? 'table-layout-deactivate-optional'\n : 'table-layout-activate-optional'\n }\n >\n {!R.isNil(optionalItem) && !R.isEmpty(optionalItem) && (\n <Button\n className={classes.activationButton}\n aria-label={R.prop('activationLabel', optionalItem)}\n color=\"primary\"\n onClick={isOptionalActivated ? deactivateOptionalItem : activateOptionalItem}\n startIcon={isOptionalActivated ? <Done /> : <CheckBoxOutlineBlankOutlined />}\n >\n <Typography variant=\"body2\">{R.prop('activationLabel', optionalItem)}</Typography>\n </Button>\n )}\n </Grid>\n <Grid item>\n <Grid container justifyContent=\"flex-end\" display=\"flex\" spacing={1}>\n {R.map(button => (\n <Grid item key={button.id} data-testid={button['data-testid']}>\n <Button aria-label={button.label} color=\"primary\" {...button}>\n <Typography variant=\"body2\">{button.label}</Typography>\n </Button>\n </Grid>\n ))([\n {\n id: 2,\n label: labels.cancel,\n onClick: onCancel,\n startIcon: <Undo />,\n 'datatest-id': 'table-layout-cancel',\n },\n {\n id: 1,\n label: labels.commit,\n onClick: onCommit,\n startIcon: <Done />,\n variant: 'contained',\n alternative: 'siscc',\n className: classes.applyButton,\n 'data-testid': 'table-layout-apply',\n },\n ])}\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n );\n};\n\nexport const TableLayout = withBlank(({ layout = [], isBlank }) => ({\n isBlank: R.or(isBlank, R.pipe(R.values, R.all(R.isEmpty))(layout)),\n}))(CustomTableLayout);\n"],"names":["useStyles","makeStyles","layout"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TableLayout.js","sources":["../../src/TableLayout/constants.js","../../src/TableLayout/DnDItem.jsx","../../src/TableLayout/Box.jsx","../../src/TableLayout/lib.js","../../src/TableLayout/TableLayout.jsx"],"sourcesContent":["export const BOX = {\n header: 'header',\n sections: 'sections',\n rows: 'rows',\n};\n\nexport const wcagId = 'dnd-how-drag-item';\n","import React, { Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Typography from '@mui/material/Typography';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport { Draggable } from '@hello-pangea/dnd';\nimport { getLight, getDark } from '../utils';\nimport { BOX, wcagId } from './constants';\n\nconst useStyles = makeStyles(theme => ({\n containerButton: {\n display: 'flex',\n justifyContent: 'space-between',\n padding: theme.spacing(1),\n borderRadius: theme.spacing(0.5),\n userSelect: 'none',\n },\n styledItemContainer: {\n cursor: 'grab',\n minHeight: 32,\n borderRadius: theme.spacing(0.5),\n alignItems: 'center',\n paddingTop: theme.spacing(0.25),\n paddingBottom: theme.spacing(0.25),\n margin: theme.spacing(0.25),\n opacity: 1,\n flexFlow: 'wrap',\n },\n [`${BOX.sections}Item`]: {\n color: theme.palette.getContrastText(getDark(theme) || theme.palette.secondary.dark),\n backgroundColor: getDark(theme) || theme.palette.secondary.dark,\n },\n [`${BOX.rows}Item`]: {\n color: theme.palette.getContrastText(getLight(theme) || theme.palette.secondary.light),\n backgroundColor: getLight(theme) || theme.palette.secondary.light,\n },\n [`${BOX.header}Item`]: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n backgroundColor: theme.palette.primary.main,\n },\n cantMove: {\n cursor: 'no-drop',\n },\n text: {\n fontStyle: 'italic',\n fontSize: theme.typography.fontSize - 2,\n fontWeight: theme.typography.fontWeightBold,\n },\n itemButton: {\n // paddingTop: theme.spacing(0.25),\n // paddingBottom: theme.spacing(0.25),\n // paddingRight: 0,\n },\n select: {\n backgroundColor: theme.palette.common.white,\n '&:focus': {\n backgroundColor: theme.palette.common.white,\n },\n },\n spaceButton: {\n margin: theme.spacing(0, 1, 0, 0),\n },\n}));\n\nconst DnDItem = ({ item, index, itemRenderer, dropZoneLabel, itemButtonProps, canDrag }) => {\n const classes = useStyles();\n const selectItem = R.prop(item.id)(itemButtonProps);\n return (\n <Draggable key={item.id} draggableId={item.id} index={index} isDragDisabled={R.not(canDrag)}>\n {provided => (\n <div\n data-testid={`draggable-${item.id}`}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n className={cx(\n classes.styledItemContainer,\n classes.containerButton,\n [R.prop(`${dropZoneLabel}Item`)(classes)],\n {\n [classes.cantMove]: R.not(canDrag),\n },\n )}\n aria-label={itemRenderer(item)}\n aria-describedby={wcagId}\n >\n <Fragment>\n <Typography\n variant={'body2'}\n className={cx(classes.text, { [classes.spaceButton]: selectItem })}\n >\n {itemRenderer(item)}\n </Typography>\n {selectItem && (\n <Select\n id={item.id}\n value={selectItem.value}\n onChange={e => selectItem.onChange(e.target.value)}\n classes={{ root: classes.select }}\n variant=\"outlined\"\n size=\"small\"\n autoWidth\n >\n {R.map(v => (\n <MenuItem key={v} value={v}>\n {v}\n </MenuItem>\n ))(selectItem.options)}\n </Select>\n )}\n </Fragment>\n </div>\n )}\n </Draggable>\n );\n};\n\nDnDItem.propTypes = {\n item: PropTypes.object,\n index: PropTypes.number,\n itemRenderer: PropTypes.func,\n dropZoneLabel: PropTypes.string,\n onChangeLayout: PropTypes.func,\n itemButtonProps: PropTypes.object,\n handleChangeBox: PropTypes.func,\n canDrag: PropTypes.bool,\n dropZoneIndex: PropTypes.number,\n};\n\nexport default DnDItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport { Droppable } from '@hello-pangea/dnd';\nimport Typography from '@mui/material/Typography';\nimport Grid from '@mui/material/Grid';\nimport makeStyles from '@mui/styles/makeStyles';\nimport DnDItem from './DnDItem';\nimport { visuallyHidden } from '@mui/utils';\nimport { getLight, getDark } from '../utils';\nimport { BOX } from './constants';\n\nconst useStyles = makeStyles(theme => ({\n blockDnd: {\n width: '100%',\n paddingBottom: theme.spacing(1),\n marginTop: theme.spacing(0.5),\n marginRight: theme.spacing(1),\n minHeight: 30,\n marginBottom: theme.spacing(1),\n borderRadius: theme.spacing(0.5),\n borderWidth: 2,\n borderStyle: 'solid',\n },\n canDrop: {\n borderStyle: 'dashed',\n },\n [`${BOX.sections}Container`]: {\n borderColor: getDark(theme) || theme.palette.secondary.dark,\n },\n [`${BOX.rows}Container`]: {\n borderColor: getLight(theme) || theme.palette.secondary.light,\n },\n [`${BOX.header}Container`]: {\n borderColor: theme.palette.primary.main,\n },\n iconTitle: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n flexFlow: 'nowrap',\n },\n title: theme.typography.subtitle1,\n}));\n\nconst Box = ({\n items,\n itemRenderer,\n dropZoneLabel,\n title,\n Icon,\n onChangeLayout,\n itemButtonProps,\n accessibility,\n md,\n}) => {\n const classes = useStyles();\n const canDrag = R.equals(dropZoneLabel, BOX.rows) ? R.pipe(R.length, R.lt(1))(items) : R.T();\n\n return (\n <Grid item xs={accessibility ? 4 : 12} md={md}>\n <div className={classes.iconTitle}>\n <Icon />\n <span className={classes.title}>{title}</span>\n <Typography style={visuallyHidden}>{title}</Typography>\n </div>\n <Droppable droppableId={dropZoneLabel}>\n {(provided, snapshot) => (\n <div\n data-testid={`droppable-${dropZoneLabel}`}\n ref={provided.innerRef}\n className={cx(classes.blockDnd, R.prop(`${dropZoneLabel}Container`)(classes), {\n [classes.canDrop]: snapshot.isDraggingOver,\n })}\n >\n {R.addIndex(R.map)((item, index) => (\n <DnDItem\n key={item.id}\n index={index}\n item={item}\n itemRenderer={itemRenderer}\n dropZoneLabel={dropZoneLabel}\n onChangeLayout={onChangeLayout}\n itemButtonProps={itemButtonProps}\n canDrag={canDrag}\n />\n ))(R.values(items))}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </Grid>\n );\n};\n\nBox.propTypes = {\n items: PropTypes.array,\n itemRenderer: PropTypes.func,\n dropZoneLabel: PropTypes.string,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n Icon: PropTypes.object,\n onChangeLayout: PropTypes.func,\n putItem: PropTypes.func,\n itemButtonProps: PropTypes.object,\n accessibility: PropTypes.bool,\n md: PropTypes.number,\n};\n\nexport default Box;\n","import * as R from 'ramda';\n\nexport const changeLayout = ({ dragIndex, hoverIndex, dragZone, dropZone, currentLayout }) => {\n if (R.equals(dragZone, dropZone)) {\n return R.over(R.lensProp(dropZone), R.move(dragIndex, hoverIndex), currentLayout);\n }\n const item = R.pipe(R.prop(dragZone), R.nth(dragIndex))(currentLayout);\n return R.pipe(\n R.over(R.lensProp(dragZone), R.without([item])),\n R.over(R.lensProp(dropZone), R.insert(hoverIndex, item)),\n )(currentLayout);\n};\n\nexport const getIsOptionalActivated = (layout, optionalId) => {\n const founded = R.pipe(R.values, R.unnest, R.find(R.equals(optionalId)))(layout);\n return !R.isNil(founded);\n};\n","import React, { Fragment, useState, useMemo, useEffect } from 'react';\nimport cx from 'classnames';\nimport * as R from 'ramda';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport { CheckBoxOutlineBlankOutlined, Done, Reorder, Undo, ViewColumnOutlined, ViewListOutlined, ViewQuiltOutlined } from '@mui/icons-material';\nimport { visuallyHidden } from '@mui/utils';\nimport { makeStyles } from '@mui/styles';\nimport { DragDropContext } from '@hello-pangea/dnd';\nimport { withBlank } from '../utils';\nimport { TablePreview } from '../TablePreview/TablePreview';\nimport Box from './Box';\nimport { changeLayout, getIsOptionalActivated } from './lib';\nimport { BOX, wcagId } from './constants';\nimport { Button } from '../Button/Button';\n\nexport const useStyles = makeStyles(theme => ({\n dnd: {\n userSelect: 'none',\n },\n buttonContainer: {\n margin: theme.spacing(2, 0),\n },\n iconTitle: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n flexFlow: 'nowrap',\n },\n activationButton: {\n backgroundColor: theme.palette.action.hover,\n '&:hover': {\n backgroundColor: theme.palette.action.selected,\n },\n },\n}));\n\nconst transform = {\n index: R.add(1),\n};\n\nconst CustomTableLayout = ({\n layout = {},\n items = [],\n optionalItem = {},\n itemRenderer = R.prop('name'),\n itemButtonProps,\n labels,\n commit,\n noPreview,\n accessibility,\n}) => {\n const classes = useStyles();\n const [currentLayout, setCurrentLayout] = useState(layout);\n const boxLabel = {\n [BOX.header]: labels.column || BOX.header,\n [BOX.sections]: labels.section || BOX.sections,\n [BOX.rows]: labels.row || BOX.rows,\n };\n useEffect(() => {\n setCurrentLayout(layout);\n }, [layout]);\n const indexedItems = useMemo(() => {\n const indexed = R.indexBy(R.prop('id'), items);\n if (!R.isEmpty(optionalItem) && !R.isNil(optionalItem)) {\n return R.assoc(optionalItem.id, optionalItem, indexed);\n }\n return indexed;\n }, [items, optionalItem]);\n\n const onChangeLayout = props => setCurrentLayout(changeLayout({ ...props }));\n\n const activateOptionalItem = () => {\n const nextLayout = R.over(R.lensProp('header'), R.append(optionalItem.id), currentLayout);\n setCurrentLayout(nextLayout);\n };\n\n const deactivateOptionalItem = () => {\n setCurrentLayout(R.map(R.reject(R.equals(optionalItem.id)), currentLayout));\n };\n\n const onCommit = () => {\n if (R.is(Function)(commit)) {\n commit(currentLayout);\n }\n };\n\n const onCancel = () => {\n if (R.is(Function)(setCurrentLayout)) {\n setCurrentLayout(layout);\n }\n };\n\n const onDragStart = ({ draggableId, source }, provided) => {\n if (R.is(Function)(labels.wcagDragStart)) {\n // start.source = droppableId & index\n const dragZoneId = source.droppableId;\n const dragLabel = R.pipe(\n R.prop(dragZoneId),\n R.find(R.propEq('id', draggableId)),\n itemRenderer,\n )(currentLayout);\n R.pipe(\n R.evolve(transform),\n R.prop('wcagDragStart', labels),\n provided.announce,\n )({\n dragZone: R.prop(dragZoneId)(boxLabel),\n ...source,\n dragLabel,\n });\n }\n };\n\n const onDragUpdate = ({ destination, source }, provided) => {\n if (R.isNil(destination)) {\n return;\n }\n\n if (R.is(Function)(labels.wcagDragUpdate)) {\n const { droppableId, index } = destination;\n const length = R.ifElse(\n R.always(R.equals(droppableId, source.droppableId)),\n R.pipe(R.prop(droppableId), R.length),\n R.pipe(R.prop(droppableId), R.length, R.add(1)),\n )(currentLayout);\n\n R.pipe(\n R.evolve(transform),\n R.prop('wcagDragUpdate', labels),\n provided.announce,\n )({\n dropZone: R.prop(droppableId)(boxLabel),\n dragZone: R.prop(source.droppableId)(boxLabel),\n index,\n length,\n });\n }\n };\n\n const onDragEnd =\n layout =>\n ({ reason, destination, source }, provided) => {\n if (R.is(String)(labels.wcagDragCancel)) {\n if (R.equals(reason, 'CANCEL')) {\n provided.announce(labels.wcagDragCancel);\n }\n }\n\n if (R.isNil(destination)) {\n return;\n }\n if (R.is(Function)(labels.wcagDragEnd)) {\n if (R.equals(reason, 'DROP')) {\n const { droppableId, index } = destination;\n R.pipe(\n R.evolve(transform),\n R.prop('wcagDragEnd', labels),\n provided.announce,\n )({\n dropZone: R.prop(droppableId)(boxLabel),\n dragZone: R.prop(source.droppableId)(boxLabel),\n index,\n });\n }\n }\n\n onChangeLayout({\n dragIndex: source.index,\n hoverIndex: destination.index,\n dragZone: source.droppableId,\n dropZone: destination.droppableId,\n currentLayout: layout,\n });\n };\n\n const getItems = level =>\n R.pipe(R.prop(level), ids => R.props(ids, indexedItems), R.filter(R.identity))(currentLayout);\n\n const header = (\n <Box\n title={labels.column}\n Icon={ViewColumnOutlined}\n items={getItems('header')}\n labels={labels}\n dropZoneLabel={BOX.header}\n itemRenderer={itemRenderer}\n itemButtonProps={itemButtonProps}\n accessibility={accessibility}\n md={accessibility ? 4 : 6}\n />\n );\n\n const sectionsAndRows = (\n <Fragment>\n <Box\n title={labels.section}\n Icon={Reorder}\n items={getItems('sections')}\n labels={labels}\n dropZoneLabel={BOX.sections}\n itemRenderer={itemRenderer}\n itemButtonProps={itemButtonProps}\n accessibility={accessibility}\n md={accessibility ? 4 : 12}\n />\n <Box\n title={labels.row}\n Icon={ViewListOutlined}\n items={getItems('rows')}\n labels={labels}\n dropZoneLabel={BOX.rows}\n itemRenderer={itemRenderer}\n itemButtonProps={itemButtonProps}\n accessibility={accessibility}\n md={accessibility ? 4 : 12}\n />\n </Fragment>\n );\n\n const isOptionalActivated = getIsOptionalActivated(currentLayout, R.prop('id', optionalItem));\n\n return (\n <Grid data-testid=\"table-layout-test-id\" container>\n <div id={wcagId} aria-live=\"assertive\" style={{ display: 'none' }}>\n {labels.wcagDragExplanation}\n </div>\n <DragDropContext\n onDragEnd={onDragEnd(currentLayout)}\n onDragStart={onDragStart}\n onDragUpdate={onDragUpdate}\n >\n <Grid container direction=\"row\" spacing={1} className={classes.dnd}>\n <Grid item xs={12}>\n <Grid container spacing={1}>\n <Grid tabIndex={0} item xs={12} md={accessibility ? 12 : 6}>\n <span>{labels.help}</span>\n <Typography style={visuallyHidden}>{labels.wcagDragExplanation}</Typography>\n </Grid>\n {R.not(accessibility) && header}\n </Grid>\n </Grid>\n <Grid container spacing={1}>\n {accessibility && header}\n {accessibility && sectionsAndRows}\n {R.not(accessibility) && (\n <Grid item xs={12} md={6}>\n {sectionsAndRows}\n </Grid>\n )}\n {!noPreview && (\n <Grid item xs={12} md={accessibility ? 12 : 6} className={cx(classes.wrapper)}>\n <div className={classes.iconTitle}>\n <ViewQuiltOutlined />\n <Typography tabIndex={0} variant=\"subtitle1\">\n {labels.table}\n </Typography>\n </div>\n <TablePreview\n header={R.props(R.prop('header', currentLayout), indexedItems)}\n sections={R.props(R.prop('sections', currentLayout), indexedItems)}\n rows={R.props(R.prop('rows', currentLayout), indexedItems)}\n itemRenderer={itemRenderer}\n />\n </Grid>\n )}\n </Grid>\n </Grid>\n </DragDropContext>\n <Grid\n container\n justifyContent=\"space-between\"\n className={classes.buttonContainer}\n spacing={1}\n >\n <Grid\n item\n data-testid={\n isOptionalActivated\n ? 'table-layout-deactivate-optional'\n : 'table-layout-activate-optional'\n }\n >\n {!R.isNil(optionalItem) && !R.isEmpty(optionalItem) && (\n <Button\n className={classes.activationButton}\n aria-label={R.prop('activationLabel', optionalItem)}\n color=\"primary\"\n checked={isOptionalActivated}\n onClick={isOptionalActivated ? deactivateOptionalItem : activateOptionalItem}\n startIcon={isOptionalActivated ? <Done /> : <CheckBoxOutlineBlankOutlined />}\n >\n <Typography variant=\"body2\">{R.prop('activationLabel', optionalItem)}</Typography>\n </Button>\n )}\n </Grid>\n <Grid item>\n <Grid container justifyContent=\"flex-end\" display=\"flex\" spacing={1}>\n {R.map(button => (\n <Grid item key={button.id} data-testid={button['data-testid']}>\n <Button aria-label={button.label} color=\"primary\" {...button}>\n <Typography variant=\"body2\">{button.label}</Typography>\n </Button>\n </Grid>\n ))([\n {\n id: 2,\n label: labels.cancel,\n onClick: onCancel,\n startIcon: <Undo />,\n 'datatest-id': 'table-layout-cancel',\n },\n {\n id: 1,\n label: labels.commit,\n onClick: onCommit,\n startIcon: <Done />,\n variant: 'contained',\n alternative: 'siscc',\n className: classes.applyButton,\n 'data-testid': 'table-layout-apply',\n },\n ])}\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n );\n};\n\nexport const TableLayout = withBlank(({ layout = [], isBlank }) => ({\n isBlank: R.or(isBlank, R.pipe(R.values, R.all(R.isEmpty))(layout)),\n}))(CustomTableLayout);\n"],"names":["useStyles","makeStyles","layout"],"mappings":"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"}
|