@sis-cc/dotstatsuite-visions 13.9.0 → 14.1.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.
Files changed (93) hide show
  1. package/README.md +7 -1
  2. package/dist/Alert/Alert.js +5 -3
  3. package/dist/Alert/Alert.js.map +1 -1
  4. package/dist/ApiQueries/ApiQueries.js +2 -1
  5. package/dist/ApiQueries/ApiQueries.js.map +1 -1
  6. package/dist/AuthDialog/AuthDialog.js.map +1 -1
  7. package/dist/Breadcrumbs/Breadcrumbs.js +2 -1
  8. package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
  9. package/dist/Button/Button.js.map +1 -1
  10. package/dist/ChartsConfig/ChartsConfig.js +12 -7
  11. package/dist/ChartsConfig/ChartsConfig.js.map +1 -1
  12. package/dist/CollapseButtons/CollapseButtons.js +14 -8
  13. package/dist/CollapseButtons/CollapseButtons.js.map +1 -1
  14. package/dist/CollapsibleTree/CollapsibleTree.js +47 -29
  15. package/dist/CollapsibleTree/CollapsibleTree.js.map +1 -1
  16. package/dist/Contact/Contact.js +6 -5
  17. package/dist/Contact/Contact.js.map +1 -1
  18. package/dist/DataFooter/DataFooter.js +1 -1
  19. package/dist/DataFooter/DataFooter.js.map +1 -1
  20. package/dist/DataHeader/DataHeader.js +8 -6
  21. package/dist/DataHeader/DataHeader.js.map +1 -1
  22. package/dist/Dataflow/Dataflow.js +6 -3
  23. package/dist/Dataflow/Dataflow.js.map +1 -1
  24. package/dist/DeleteAllChip/DeleteAllChip.js +1 -1
  25. package/dist/DynamicDrawer/DynamicDrawer.js +8 -9
  26. package/dist/DynamicDrawer/DynamicDrawer.js.map +1 -1
  27. package/dist/ExpansionPanel/ExpansionPanel.js +3 -2
  28. package/dist/ExpansionPanel/ExpansionPanel.js.map +1 -1
  29. package/dist/GroupedChips/GroupedChips.js +5 -4
  30. package/dist/GroupedChips/GroupedChips.js.map +1 -1
  31. package/dist/HierarchicalFilter/HierarchicalFilter.js +1 -1
  32. package/dist/HierarchicalFilter/HierarchicalFilter.js.map +1 -1
  33. package/dist/Icons/AccessibilityFilled.js.map +1 -1
  34. package/dist/Icons/AccessibilityOutlined.js.map +1 -1
  35. package/dist/Icons/AccountFilled.js.map +1 -1
  36. package/dist/Icons/AccountOutlined.js.map +1 -1
  37. package/dist/Icons/Api.js.map +1 -1
  38. package/dist/Icons/Asterisk.js.map +1 -1
  39. package/dist/Icons/Bar.js.map +1 -1
  40. package/dist/Icons/CopyContent.js.map +1 -1
  41. package/dist/Icons/Cross.js.map +1 -1
  42. package/dist/Icons/HSymbol.js.map +1 -1
  43. package/dist/Icons/Row.js.map +1 -1
  44. package/dist/Icons/Scatter.js.map +1 -1
  45. package/dist/Icons/StackedBar.js.map +1 -1
  46. package/dist/Icons/StackedRow.js.map +1 -1
  47. package/dist/Icons/Timeline.js.map +1 -1
  48. package/dist/Icons/VSymbol.js.map +1 -1
  49. package/dist/Input/Input.js.map +1 -1
  50. package/dist/InputNumber/InputNumber.js.map +1 -1
  51. package/dist/LabelDivider/LabelDivider.js.map +1 -1
  52. package/dist/Loading/Loading.js.map +1 -1
  53. package/dist/Logo/Logo.js +1 -1
  54. package/dist/Logo/Logo.js.map +1 -1
  55. package/dist/Mode/Mode.js +5 -4
  56. package/dist/Mode/Mode.js.map +1 -1
  57. package/dist/Pagination/Pagination.js +0 -1
  58. package/dist/Pagination/Pagination.js.map +1 -1
  59. package/dist/PeriodPicker/PeriodPicker.js +62 -61
  60. package/dist/PeriodPicker/PeriodPicker.js.map +1 -1
  61. package/dist/Select/Select.js +13 -11
  62. package/dist/Select/Select.js.map +1 -1
  63. package/dist/Share/Share.js +2 -1
  64. package/dist/Share/Share.js.map +1 -1
  65. package/dist/ShortUrls/ShortUrls.js.map +1 -1
  66. package/dist/SisccFooter/SisccFooter.js +30 -20
  67. package/dist/SisccFooter/SisccFooter.js.map +1 -1
  68. package/dist/Spotlight/Spotlight.js +8 -7
  69. package/dist/Spotlight/Spotlight.js.map +1 -1
  70. package/dist/TableFooter/TableFooter.js.map +1 -1
  71. package/dist/TableHeader/TableHeader.js.map +1 -1
  72. package/dist/TableHtml5/TableHtml5.js +25 -19
  73. package/dist/TableHtml5/TableHtml5.js.map +1 -1
  74. package/dist/TableLayout/TableLayout.js +293 -165
  75. package/dist/TableLayout/TableLayout.js.map +1 -1
  76. package/dist/TablePreview/TablePreview.js +17 -8
  77. package/dist/TablePreview/TablePreview.js.map +1 -1
  78. package/dist/Tag/Tag.js.map +1 -1
  79. package/dist/Tooltip/Tooltip.js.map +1 -1
  80. package/dist/UserRightForm/UserRightForm.js.map +1 -1
  81. package/dist/VerticalButton/VerticalButton.js.map +1 -1
  82. package/dist/chunks/{CustomChip-CMYCIorJ.js → CustomChip-VonwGtLq.js} +7 -7
  83. package/dist/chunks/CustomChip-VonwGtLq.js.map +1 -0
  84. package/dist/chunks/{useKeybordEscapeHandler-DRsOrnwc.js → useKeybordEscapeHandler-DZZOPw7k.js} +2 -2
  85. package/dist/chunks/useKeybordEscapeHandler-DZZOPw7k.js.map +1 -0
  86. package/dist/chunks/utils-kslX1mzh.js.map +1 -1
  87. package/dist/chunks/with-input-DRWNlMdA.js.map +1 -1
  88. package/dist/chunks/{withSpotlight-ooTVUwmd.js → withSpotlight-Bqdm585G.js} +37 -37
  89. package/dist/chunks/withSpotlight-Bqdm585G.js.map +1 -0
  90. package/package.json +32 -33
  91. package/dist/chunks/CustomChip-CMYCIorJ.js.map +0 -1
  92. package/dist/chunks/useKeybordEscapeHandler-DRsOrnwc.js.map +0 -1
  93. package/dist/chunks/withSpotlight-ooTVUwmd.js.map +0 -1
@@ -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 {\n CheckBoxOutlineBlankOutlined,\n Done,\n Reorder,\n Undo,\n ViewColumnOutlined,\n ViewListOutlined,\n ViewQuiltOutlined,\n} 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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"}
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 { useSortable } from '@dnd-kit/sortable';\nimport { CSS } from '@dnd-kit/utilities';\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\n/**\n * Presentational item used both by the in-list sortable item and by the\n * DragOverlay floating copy. Carries the visual styling only; drag wiring\n * (refs / listeners) is injected by the caller via `dragHandleProps` / `ref`.\n */\nexport const ItemBody = React.forwardRef(\n (\n {\n item,\n itemRenderer,\n dropZoneLabel,\n itemButtonProps,\n canDrag,\n style,\n dragHandleProps,\n describedBy,\n },\n ref\n ) => {\n const classes = useStyles();\n const selectItem = R.prop(item.id)(itemButtonProps);\n return (\n <div\n ref={ref}\n style={style}\n data-testid={`draggable-${item.id}`}\n {...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={describedBy}\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 onPointerDown={(e) => e.stopPropagation()}\n onKeyDown={(e) => e.stopPropagation()}\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 }\n);\n\nItemBody.displayName = 'ItemBody';\n\nconst DnDItem = ({ item, index, itemRenderer, dropZoneLabel, itemButtonProps, canDrag }) => {\n const { attributes, listeners, setNodeRef, transform, transition, isDragging } = useSortable({\n id: item.id,\n data: { containerId: dropZoneLabel, index },\n disabled: R.not(canDrag),\n });\n const style = {\n transform: CSS.Translate.toString(transform),\n transition,\n // The floating copy is rendered by the DragOverlay, so hide the in-list\n // node while keeping its slot to act as the drop placeholder.\n opacity: isDragging ? 0 : undefined,\n };\n // Keep dnd-kit's own description (drag instructions) and add the localized\n // per-item explanation (aria-describedby accepts space-separated ids).\n const describedBy = R.trim(`${R.propOr('', 'aria-describedby', attributes)} ${wcagId}`);\n return (\n <ItemBody\n ref={setNodeRef}\n item={item}\n itemRenderer={itemRenderer}\n dropZoneLabel={dropZoneLabel}\n itemButtonProps={itemButtonProps}\n canDrag={canDrag}\n style={style}\n dragHandleProps={{ ...attributes, ...listeners }}\n describedBy={describedBy}\n />\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 { useDroppable } from '@dnd-kit/core';\nimport { SortableContext, verticalListSortingStrategy } from '@dnd-kit/sortable';\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 itemValues = R.values(items);\n const ids = R.map(R.prop('id'), itemValues);\n const canDrag = R.equals(dropZoneLabel, BOX.rows) ? R.pipe(R.length, R.lt(1))(items) : R.T();\n const { setNodeRef, active, over } = useDroppable({\n id: dropZoneLabel,\n data: { containerId: dropZoneLabel },\n });\n // Highlight the whole zone while a drag hovers any of its items or its empty\n // area (mirrors @hello-pangea/dnd's snapshot.isDraggingOver).\n const overContainerId = R.path(['data', 'current', 'containerId'], over);\n const isDraggingOver = !R.isNil(active) && R.equals(overContainerId, dropZoneLabel);\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 <SortableContext id={dropZoneLabel} items={ids} strategy={verticalListSortingStrategy}>\n <div\n data-testid={`droppable-${dropZoneLabel}`}\n ref={setNodeRef}\n className={cx(classes.blockDnd, R.prop(`${dropZoneLabel}Container`)(classes), {\n [classes.canDrop]: 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 ))(itemValues)}\n </div>\n </SortableContext>\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\n/**\n * Resolve which zone (header/sections/rows) a dnd-kit id belongs to.\n * The id is either a zone key itself (when hovering an empty zone) or an item id.\n * @param {Object} layout - { header: string[], sections: string[], rows: string[] }\n * @param {string} id - a zone key or an item id\n * @returns {string|undefined} the owning zone key, or undefined if not found\n */\nexport const findContainer = (layout, id) => {\n if (R.has(id, layout)) {\n return id;\n }\n return R.pipe(\n R.toPairs,\n R.find(([, ids]) => R.includes(id, ids)),\n R.nth(0)\n )(layout);\n};\n","import React, { Fragment, useState, useMemo, useEffect, useRef } from 'react';\nimport cx from 'classnames';\nimport * as R from 'ramda';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport {\n CheckBoxOutlineBlankOutlined,\n Done,\n Reorder,\n Undo,\n ViewColumnOutlined,\n ViewListOutlined,\n ViewQuiltOutlined,\n} from '@mui/icons-material';\nimport { visuallyHidden } from '@mui/utils';\nimport { makeStyles } from '@mui/styles';\nimport {\n closestCorners,\n DndContext,\n DragOverlay,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors,\n} from '@dnd-kit/core';\nimport { sortableKeyboardCoordinates } from '@dnd-kit/sortable';\nimport { withBlank } from '../utils';\nimport { TablePreview } from '../TablePreview/TablePreview';\nimport Box from './Box';\nimport { ItemBody } from './DnDItem';\nimport { changeLayout, findContainer, 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 EMPTY_LAYOUT = {};\nconst EMPTY_ITEMS = [];\nconst EMPTY_OPTIONAL_ITEM = {};\n\nconst CustomTableLayout = ({\n layout = EMPTY_LAYOUT,\n items = EMPTY_ITEMS,\n optionalItem = EMPTY_OPTIONAL_ITEM,\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 sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 8 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates })\n );\n const [activeId, setActiveId] = useState(null);\n const clonedLayoutRef = useRef(null);\n // Always-current snapshot of the layout for dnd-kit announcement callbacks,\n // which run outside React's render cycle.\n const layoutRef = useRef(currentLayout);\n layoutRef.current = currentLayout;\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 handleDragStart = ({ active }) => {\n clonedLayoutRef.current = currentLayout;\n setActiveId(active.id);\n };\n\n // Cross-zone moves are applied live (so the other items shift to make room,\n // matching @hello-pangea/dnd's placeholder behavior). Same-zone reordering is\n // handled visually by the sortable strategy and committed on drag end.\n const handleDragOver = ({ active, over }) => {\n if (R.isNil(over)) {\n return;\n }\n setCurrentLayout((prev) => {\n const dragZone = findContainer(prev, active.id);\n const dropZone = findContainer(prev, over.id);\n if (R.isNil(dragZone) || R.isNil(dropZone) || R.equals(dragZone, dropZone)) {\n return prev;\n }\n const dragIndex = R.indexOf(active.id, prev[dragZone]);\n const hoverIndex = R.has(over.id, prev)\n ? R.length(prev[dropZone])\n : R.indexOf(over.id, prev[dropZone]);\n return changeLayout({ dragIndex, hoverIndex, dragZone, dropZone, currentLayout: prev });\n });\n };\n\n const handleDragEnd = ({ active, over }) => {\n const cloned = clonedLayoutRef.current;\n setActiveId(null);\n clonedLayoutRef.current = null;\n if (R.isNil(over)) {\n // Dropped outside any zone: undo the live cross-zone moves.\n if (!R.isNil(cloned)) {\n setCurrentLayout(cloned);\n }\n return;\n }\n setCurrentLayout((prev) => {\n const dragZone = findContainer(prev, active.id);\n const dropZone = findContainer(prev, over.id);\n if (R.isNil(dragZone) || R.isNil(dropZone) || R.not(R.equals(dragZone, dropZone))) {\n return prev;\n }\n const dragIndex = R.indexOf(active.id, prev[dropZone]);\n const hoverIndex = R.has(over.id, prev)\n ? R.length(prev[dropZone]) - 1\n : R.indexOf(over.id, prev[dropZone]);\n if (hoverIndex < 0 || R.equals(dragIndex, hoverIndex)) {\n return prev;\n }\n return changeLayout({ dragIndex, hoverIndex, dragZone, dropZone, currentLayout: prev });\n });\n };\n\n const handleDragCancel = () => {\n const cloned = clonedLayoutRef.current;\n clonedLayoutRef.current = null;\n setActiveId(null);\n if (!R.isNil(cloned)) {\n setCurrentLayout(cloned);\n }\n };\n\n // Localized screen-reader announcements, ported from the previous\n // provided.announce calls. dnd-kit owns the live region.\n const announcements = {\n onDragStart: ({ active }) => {\n if (R.not(R.is(Function, labels.wcagDragStart))) {\n return undefined;\n }\n const dragZone = findContainer(layoutRef.current, active.id);\n const index = R.indexOf(active.id, R.propOr([], dragZone, layoutRef.current));\n return labels.wcagDragStart({\n dragZone: R.prop(dragZone, boxLabel),\n droppableId: dragZone,\n index: index + 1,\n dragLabel: itemRenderer(R.prop(active.id, indexedItems)),\n });\n },\n onDragOver: ({ active, over }) => {\n if (R.isNil(over) || R.not(R.is(Function, labels.wcagDragUpdate))) {\n return undefined;\n }\n const dragZone = findContainer(clonedLayoutRef.current || layoutRef.current, active.id);\n const dropZone = findContainer(layoutRef.current, over.id);\n if (R.isNil(dropZone)) {\n return undefined;\n }\n const dropItems = R.propOr([], dropZone, layoutRef.current);\n const index = R.has(over.id, layoutRef.current)\n ? R.length(dropItems)\n : R.indexOf(over.id, dropItems);\n const length = R.equals(dropZone, dragZone) ? R.length(dropItems) : R.length(dropItems) + 1;\n return labels.wcagDragUpdate({\n dropZone: R.prop(dropZone, boxLabel),\n dragZone: R.prop(dragZone, boxLabel),\n index: index + 1,\n length,\n });\n },\n onDragEnd: ({ active, over }) => {\n if (R.isNil(over) || R.not(R.is(Function, labels.wcagDragEnd))) {\n return undefined;\n }\n const dragZone = findContainer(clonedLayoutRef.current || layoutRef.current, active.id);\n const dropZone = findContainer(layoutRef.current, over.id);\n if (R.isNil(dropZone)) {\n return undefined;\n }\n const dropItems = R.propOr([], dropZone, layoutRef.current);\n const index = R.has(over.id, layoutRef.current)\n ? R.length(dropItems) - 1\n : R.indexOf(over.id, dropItems);\n return labels.wcagDragEnd({\n dropZone: R.prop(dropZone, boxLabel),\n dragZone: R.prop(dragZone, boxLabel),\n index: index + 1,\n });\n },\n onDragCancel: () => (R.is(String, labels.wcagDragCancel) ? labels.wcagDragCancel : undefined),\n };\n\n const screenReaderInstructions = R.is(String, labels.wcagDragExplanation)\n ? { draggable: labels.wcagDragExplanation }\n : undefined;\n\n const overlayItem = R.isNil(activeId) ? null : R.prop(activeId, indexedItems);\n const overlayZone = R.isNil(activeId)\n ? null\n : findContainer(clonedLayoutRef.current || currentLayout, activeId);\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 <DndContext\n sensors={sensors}\n collisionDetection={closestCorners}\n onDragStart={handleDragStart}\n onDragOver={handleDragOver}\n onDragEnd={handleDragEnd}\n onDragCancel={handleDragCancel}\n accessibility={{\n announcements,\n ...(screenReaderInstructions ? { screenReaderInstructions } : {}),\n }}\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 <DragOverlay>\n {overlayItem ? (\n <ItemBody\n item={overlayItem}\n itemRenderer={itemRenderer}\n dropZoneLabel={overlayZone}\n itemButtonProps={itemButtonProps}\n canDrag\n describedBy={wcagId}\n />\n ) : null}\n </DragOverlay>\n </DndContext>\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"],"mappings":"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"}
@@ -9,7 +9,7 @@ import { Lens } from '@mui/icons-material';
9
9
  import { b as getDark, a as getLight, w as withBlank } from '../chunks/utils-kslX1mzh.js';
10
10
  import makeStyles from '@mui/styles/makeStyles';
11
11
 
12
- const useStyles = makeStyles(theme => ({
12
+ const useStyles = makeStyles((theme) => ({
13
13
  header: {
14
14
  backgroundColor: theme.palette.primary.main,
15
15
  },
@@ -79,10 +79,11 @@ const useStyles = makeStyles(theme => ({
79
79
  const valueLabel = 'Xxxx';
80
80
  const maxCount = 3;
81
81
 
82
- const getMaxValuesLength = items =>
82
+ const getMaxValuesLength = (items) =>
83
83
  Math.min(Math.max(...R.map(R.propOr(0, 'count'), items)), maxCount);
84
84
  const getEmptyValues = R.ifElse(R.flip(R.lte)(0), R.always(['']), R.times(R.always('')));
85
- const getLabel = itemRenderer => R.map(item => R.assoc('label', itemRenderer(item), item));
85
+ const getLabel = (itemRenderer) =>
86
+ R.map((item) => R.assoc('label', itemRenderer(item), item));
86
87
 
87
88
  const Header = ({ header, colSpan, valuesSpan }) => {
88
89
  const classes = useStyles();
@@ -115,7 +116,7 @@ const Header = ({ header, colSpan, valuesSpan }) => {
115
116
  const RowHeader = ({ id = "rowHeader", rows, emptyValues }) => {
116
117
  const classes = useStyles();
117
118
  return /* @__PURE__ */ jsxs(TableRow, { children: [
118
- R.map(({ id: id2, label }) => /* @__PURE__ */ jsx(
119
+ R.map(({ id: rowId, label }) => /* @__PURE__ */ jsx(
119
120
  TableCell,
120
121
  {
121
122
  tabIndex: 0,
@@ -123,7 +124,7 @@ const RowHeader = ({ id = "rowHeader", rows, emptyValues }) => {
123
124
  title: label,
124
125
  children: label
125
126
  },
126
- id2
127
+ rowId
127
128
  ))(rows),
128
129
  /* @__PURE__ */ jsx(TableCell, { className: cx(classes.separatorValues, classes.border, classes.separatorSize) }),
129
130
  R.addIndex(R.map)((value, index) => /* @__PURE__ */ jsx(
@@ -150,13 +151,13 @@ const RowValues = ({ id = "rowValues", rows, emptyValues }) => {
150
151
  const totalMaxCount = R.min(maxCount, R.reduce(R.max, 0, R.pluck("count", rows)));
151
152
  return R.times(
152
153
  (rowIndex) => /* @__PURE__ */ jsxs(TableRow, { children: [
153
- R.map(({ id: id2, count }) => /* @__PURE__ */ jsx(
154
+ R.map(({ id: rowId, count }) => /* @__PURE__ */ jsx(
154
155
  TableCell,
155
156
  {
156
157
  className: cx(classes.rows, classes.border, classes.cell),
157
158
  children: rowIndex < count ? valueLabel : ""
158
159
  },
159
- `${id2}-${rowIndex}`
160
+ `${rowId}-${rowIndex}`
160
161
  ))(rows),
161
162
  /* @__PURE__ */ jsx(TableCell, { className: cx(classes.separatorValues, classes.separatorSize, classes.border) }),
162
163
  R.times((columnIndex) => /* @__PURE__ */ jsx(
@@ -170,7 +171,15 @@ const RowValues = ({ id = "rowValues", rows, emptyValues }) => {
170
171
  totalMaxCount
171
172
  );
172
173
  };
173
- const MyTable = ({ header = [], sections = [], rows = [], labelRenderer = R.prop("name") }) => {
174
+ const EMPTY_HEADER = [];
175
+ const EMPTY_SECTIONS = [];
176
+ const EMPTY_ROWS = [];
177
+ const MyTable = ({
178
+ header = EMPTY_HEADER,
179
+ sections = EMPTY_SECTIONS,
180
+ rows = EMPTY_ROWS,
181
+ labelRenderer = R.prop("name")
182
+ }) => {
174
183
  const classes = useStyles();
175
184
  const nbShowedValuesHeader = getMaxValuesLength(header);
176
185
  const emptyValues = getEmptyValues(nbShowedValuesHeader);
@@ -1 +1 @@
1
- {"version":3,"file":"TablePreview.js","sources":["../../src/TablePreview/styles.js","../../src/TablePreview/lib.js","../../src/TablePreview/TablePreview.jsx"],"sourcesContent":["import makeStyles from '@mui/styles/makeStyles';\nimport { getLight, getDark } from '../utils';\n\nexport const useStyles = makeStyles(theme => ({\n header: {\n backgroundColor: theme.palette.primary.main,\n },\n headerTitleCell: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n textAlign: 'right',\n fontStyle: 'italic',\n fontWeight: theme.typography.fontWeightBold,\n },\n headerCell: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n textAlign: 'center',\n },\n rows: {\n backgroundColor: getLight(theme) || theme.palette.secondary.light,\n },\n rowheaderCell: {\n color: theme.palette.getContrastText(getLight(theme) || theme.palette.secondary.light),\n padding: theme.spacing(0.5, 1),\n fontStyle: 'italic',\n fontWeight: theme.typography.fontWeightBold,\n },\n sections: {\n backgroundColor: getDark(theme) || theme.palette.secondary.dark,\n padding: theme.spacing(0.5, 1),\n },\n sectionsTitleCell: {\n color: theme.palette.getContrastText(getDark(theme) || theme.palette.secondary.dark),\n fontStyle: 'italic',\n fontSize: theme.typography.fontSize - 2,\n fontWeight: theme.typography.fontWeightBold,\n },\n sectionsCell: {\n color: theme.palette.getContrastText(getDark(theme) || theme.palette.secondary.dark),\n },\n cell: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n maxWidth: 10,\n padding: theme.spacing(0.5, 1),\n textOverflow: 'ellipsis',\n fontSize: theme.typography.fontSize - 2,\n },\n border: {\n border: `solid 1px ${theme.palette.grey[500]}`,\n borderCollapse: 'collapse',\n },\n separatorValues: {\n backgroundColor: theme.palette.grey[200],\n },\n separatorSize: {\n width: 25,\n },\n emptyValues: {\n maxWidth: 0,\n },\n table: {\n width: '100%',\n },\n icon: {\n fontSize: 8,\n marginLeft: 7,\n marginRight: 7,\n },\n}));\n","import * as R from 'ramda';\n\nexport const valueLabel = 'Xxxx';\nexport const maxCount = 3;\n\nexport const getMaxValuesLength = items =>\n Math.min(Math.max(...R.map(R.propOr(0, 'count'), items)), maxCount);\nexport const getEmptyValues = R.ifElse(R.flip(R.lte)(0), R.always(['']), R.times(R.always('')));\nexport const getLabel = itemRenderer => R.map(item => R.assoc('label', itemRenderer(item), item));\n","import React, { Fragment } from 'react';\nimport cx from 'classnames';\nimport * as R from 'ramda';\nimport Table from '@mui/material/Table';\nimport TableRow from '@mui/material/TableRow';\nimport TableCell from '@mui/material/TableCell';\nimport { Lens } from '@mui/icons-material';\nimport { withBlank } from '../utils';\nimport { useStyles } from './styles';\nimport { getMaxValuesLength, getEmptyValues, getLabel, valueLabel, maxCount } from './lib';\n\nconst Header = ({ header, colSpan, valuesSpan }) => {\n const classes = useStyles();\n\n return R.map(({ id, label, count }) => (\n <TableRow key={id} className={cx(classes.header, classes.border)}>\n <TableCell\n tabIndex={0}\n className={cx(classes.cell, classes.headerTitleCell)}\n colSpan={colSpan}\n scope=\"row\"\n title={label}\n >\n {label}\n </TableCell>\n {R.times(\n index => (\n <TableCell\n key={`${id}-${index}`}\n className={cx(classes.border, classes.cell, classes.headerCell)}\n scope=\"col\"\n >\n {index < count ? valueLabel : ''}\n </TableCell>\n ),\n valuesSpan,\n )}\n </TableRow>\n ))(header);\n};\n\nconst RowHeader = ({ id = 'rowHeader', rows, emptyValues }) => {\n const classes = useStyles();\n\n return (\n <TableRow>\n {R.map(({ id, label }) => (\n <TableCell\n tabIndex={0}\n key={id}\n className={cx(classes.rows, classes.border, classes.cell, classes.rowheaderCell)}\n title={label}\n >\n {label}\n </TableCell>\n ))(rows)}\n <TableCell className={cx(classes.separatorValues, classes.border, classes.separatorSize)} />\n {R.addIndex(R.map)((value, index) => (\n <TableCell\n key={`${id}-${index}`}\n className={cx(classes.separatorValues, classes.border, classes.cell)}\n />\n ))(emptyValues)}\n </TableRow>\n );\n};\n\nconst Sections = ({ sections, colSpan }) => {\n const classes = useStyles();\n\n return (\n <TableRow className={cx(classes.border)}>\n <TableCell tabIndex={0} className={cx(classes.border, classes.sections)} colSpan={colSpan}>\n {R.addIndex(R.map)(({ id, label }, index) => (\n <Fragment key={id}>\n <span className={classes.sectionsTitleCell}>{`${label}: `}</span>\n <span className={classes.sectionsCell}>\n {valueLabel}\n {index === sections.length - 1 ? null : <Lens className={classes.icon} />}\n </span>\n </Fragment>\n ))(sections)}\n </TableCell>\n </TableRow>\n );\n};\n\nconst RowValues = ({ id = 'rowValues', rows, emptyValues }) => {\n const classes = useStyles();\n\n const totalMaxCount = R.min(maxCount, R.reduce(R.max, 0, R.pluck('count', rows)));\n\n return R.times(\n rowIndex => (\n <TableRow key={`${id}-${rowIndex}`}>\n {R.map(({ id, count }) => (\n <TableCell\n key={`${id}-${rowIndex}`}\n className={cx(classes.rows, classes.border, classes.cell)}\n >\n {rowIndex < count ? valueLabel : ''}\n </TableCell>\n ))(rows)}\n <TableCell className={cx(classes.separatorValues, classes.separatorSize, classes.border)} />\n {R.times(columnIndex => (\n <TableCell\n key={`${rowIndex}-header-${columnIndex}`}\n className={cx(classes.border, classes.cell)}\n />\n ))(emptyValues.length)}\n </TableRow>\n ),\n totalMaxCount,\n );\n};\n\nconst MyTable = ({ header = [], sections = [], rows = [], labelRenderer = R.prop('name') }) => {\n const classes = useStyles();\n const nbShowedValuesHeader = getMaxValuesLength(header);\n const emptyValues = getEmptyValues(nbShowedValuesHeader);\n const nbColumns = R.length(rows) + R.max(nbShowedValuesHeader, 1) + 1;\n const nbColumnRows = R.length(rows) + 1;\n const enhancedHeader = R.pipe(getLabel(labelRenderer))(header);\n const enhancedRows = R.pipe(getLabel(labelRenderer))(rows);\n const enhancedSections = R.pipe(getLabel(labelRenderer))(sections);\n\n return (\n <Table\n tabIndex={0}\n data-testid=\"table-preview-test-id\"\n className={cx(classes.table, classes.border)}\n >\n <tbody>\n {R.isEmpty(enhancedHeader) ? null : (\n <Header\n colSpan={nbColumnRows}\n header={enhancedHeader}\n valuesSpan={nbShowedValuesHeader}\n />\n )}\n <RowHeader rows={enhancedRows} emptyValues={emptyValues} />\n {R.isEmpty(enhancedSections) ? null : (\n <Sections colSpan={nbColumns} sections={enhancedSections} />\n )}\n <RowValues rows={enhancedRows} emptyValues={emptyValues} />\n </tbody>\n </Table>\n );\n};\n\nexport const TablePreview = withBlank(({ rows = [], isBlank }) => ({\n isBlank: R.or(isBlank, R.isEmpty(rows)),\n}))(MyTable);\n"],"names":["id"],"mappings":"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"}
1
+ {"version":3,"file":"TablePreview.js","sources":["../../src/TablePreview/styles.js","../../src/TablePreview/lib.js","../../src/TablePreview/TablePreview.jsx"],"sourcesContent":["import makeStyles from '@mui/styles/makeStyles';\nimport { getLight, getDark } from '../utils';\n\nexport const useStyles = makeStyles((theme) => ({\n header: {\n backgroundColor: theme.palette.primary.main,\n },\n headerTitleCell: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n textAlign: 'right',\n fontStyle: 'italic',\n fontWeight: theme.typography.fontWeightBold,\n },\n headerCell: {\n color: theme.palette.getContrastText(theme.palette.primary.main),\n textAlign: 'center',\n },\n rows: {\n backgroundColor: getLight(theme) || theme.palette.secondary.light,\n },\n rowheaderCell: {\n color: theme.palette.getContrastText(getLight(theme) || theme.palette.secondary.light),\n padding: theme.spacing(0.5, 1),\n fontStyle: 'italic',\n fontWeight: theme.typography.fontWeightBold,\n },\n sections: {\n backgroundColor: getDark(theme) || theme.palette.secondary.dark,\n padding: theme.spacing(0.5, 1),\n },\n sectionsTitleCell: {\n color: theme.palette.getContrastText(getDark(theme) || theme.palette.secondary.dark),\n fontStyle: 'italic',\n fontSize: theme.typography.fontSize - 2,\n fontWeight: theme.typography.fontWeightBold,\n },\n sectionsCell: {\n color: theme.palette.getContrastText(getDark(theme) || theme.palette.secondary.dark),\n },\n cell: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n maxWidth: 10,\n padding: theme.spacing(0.5, 1),\n textOverflow: 'ellipsis',\n fontSize: theme.typography.fontSize - 2,\n },\n border: {\n border: `solid 1px ${theme.palette.grey[500]}`,\n borderCollapse: 'collapse',\n },\n separatorValues: {\n backgroundColor: theme.palette.grey[200],\n },\n separatorSize: {\n width: 25,\n },\n emptyValues: {\n maxWidth: 0,\n },\n table: {\n width: '100%',\n },\n icon: {\n fontSize: 8,\n marginLeft: 7,\n marginRight: 7,\n },\n}));\n","import * as R from 'ramda';\n\nexport const valueLabel = 'Xxxx';\nexport const maxCount = 3;\n\nexport const getMaxValuesLength = (items) =>\n Math.min(Math.max(...R.map(R.propOr(0, 'count'), items)), maxCount);\nexport const getEmptyValues = R.ifElse(R.flip(R.lte)(0), R.always(['']), R.times(R.always('')));\nexport const getLabel = (itemRenderer) =>\n R.map((item) => R.assoc('label', itemRenderer(item), item));\n","import React, { Fragment } from 'react';\nimport cx from 'classnames';\nimport * as R from 'ramda';\nimport Table from '@mui/material/Table';\nimport TableRow from '@mui/material/TableRow';\nimport TableCell from '@mui/material/TableCell';\nimport { Lens } from '@mui/icons-material';\nimport { withBlank } from '../utils';\nimport { useStyles } from './styles';\nimport { getMaxValuesLength, getEmptyValues, getLabel, valueLabel, maxCount } from './lib';\n\nconst Header = ({ header, colSpan, valuesSpan }) => {\n const classes = useStyles();\n\n return R.map(({ id, label, count }) => (\n <TableRow key={id} className={cx(classes.header, classes.border)}>\n <TableCell\n tabIndex={0}\n className={cx(classes.cell, classes.headerTitleCell)}\n colSpan={colSpan}\n scope=\"row\"\n title={label}\n >\n {label}\n </TableCell>\n {R.times(\n (index) => (\n <TableCell\n key={`${id}-${index}`}\n className={cx(classes.border, classes.cell, classes.headerCell)}\n scope=\"col\"\n >\n {index < count ? valueLabel : ''}\n </TableCell>\n ),\n valuesSpan\n )}\n </TableRow>\n ))(header);\n};\n\nconst RowHeader = ({ id = 'rowHeader', rows, emptyValues }) => {\n const classes = useStyles();\n\n return (\n <TableRow>\n {R.map(({ id: rowId, label }) => (\n <TableCell\n tabIndex={0}\n key={rowId}\n className={cx(classes.rows, classes.border, classes.cell, classes.rowheaderCell)}\n title={label}\n >\n {label}\n </TableCell>\n ))(rows)}\n <TableCell className={cx(classes.separatorValues, classes.border, classes.separatorSize)} />\n {R.addIndex(R.map)((value, index) => (\n <TableCell\n key={`${id}-${index}`}\n className={cx(classes.separatorValues, classes.border, classes.cell)}\n />\n ))(emptyValues)}\n </TableRow>\n );\n};\n\nconst Sections = ({ sections, colSpan }) => {\n const classes = useStyles();\n\n return (\n <TableRow className={cx(classes.border)}>\n <TableCell tabIndex={0} className={cx(classes.border, classes.sections)} colSpan={colSpan}>\n {R.addIndex(R.map)(({ id, label }, index) => (\n <Fragment key={id}>\n <span className={classes.sectionsTitleCell}>{`${label}: `}</span>\n <span className={classes.sectionsCell}>\n {valueLabel}\n {index === sections.length - 1 ? null : <Lens className={classes.icon} />}\n </span>\n </Fragment>\n ))(sections)}\n </TableCell>\n </TableRow>\n );\n};\n\nconst RowValues = ({ id = 'rowValues', rows, emptyValues }) => {\n const classes = useStyles();\n\n const totalMaxCount = R.min(maxCount, R.reduce(R.max, 0, R.pluck('count', rows)));\n\n return R.times(\n (rowIndex) => (\n <TableRow key={`${id}-${rowIndex}`}>\n {R.map(({ id: rowId, count }) => (\n <TableCell\n key={`${rowId}-${rowIndex}`}\n className={cx(classes.rows, classes.border, classes.cell)}\n >\n {rowIndex < count ? valueLabel : ''}\n </TableCell>\n ))(rows)}\n <TableCell className={cx(classes.separatorValues, classes.separatorSize, classes.border)} />\n {R.times((columnIndex) => (\n <TableCell\n key={`${rowIndex}-header-${columnIndex}`}\n className={cx(classes.border, classes.cell)}\n />\n ))(emptyValues.length)}\n </TableRow>\n ),\n totalMaxCount\n );\n};\n\nconst EMPTY_HEADER = [];\nconst EMPTY_SECTIONS = [];\nconst EMPTY_ROWS = [];\n\nconst MyTable = ({\n header = EMPTY_HEADER,\n sections = EMPTY_SECTIONS,\n rows = EMPTY_ROWS,\n labelRenderer = R.prop('name'),\n}) => {\n const classes = useStyles();\n const nbShowedValuesHeader = getMaxValuesLength(header);\n const emptyValues = getEmptyValues(nbShowedValuesHeader);\n const nbColumns = R.length(rows) + R.max(nbShowedValuesHeader, 1) + 1;\n const nbColumnRows = R.length(rows) + 1;\n const enhancedHeader = R.pipe(getLabel(labelRenderer))(header);\n const enhancedRows = R.pipe(getLabel(labelRenderer))(rows);\n const enhancedSections = R.pipe(getLabel(labelRenderer))(sections);\n\n return (\n <Table\n tabIndex={0}\n data-testid=\"table-preview-test-id\"\n className={cx(classes.table, classes.border)}\n >\n <tbody>\n {R.isEmpty(enhancedHeader) ? null : (\n <Header\n colSpan={nbColumnRows}\n header={enhancedHeader}\n valuesSpan={nbShowedValuesHeader}\n />\n )}\n <RowHeader rows={enhancedRows} emptyValues={emptyValues} />\n {R.isEmpty(enhancedSections) ? null : (\n <Sections colSpan={nbColumns} sections={enhancedSections} />\n )}\n <RowValues rows={enhancedRows} emptyValues={emptyValues} />\n </tbody>\n </Table>\n );\n};\n\nexport const TablePreview = withBlank(({ rows = [], isBlank }) => ({\n isBlank: R.or(isBlank, R.isEmpty(rows)),\n}))(MyTable);\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tag.js","sources":["../../src/Tag/Tag.jsx"],"sourcesContent":["import React from 'react';\nimport * as R from 'ramda';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\n\nconst useStyles = makeStyles(theme => ({\n tag: {\n border: `2px solid ${\n R.path(['palette', 'highlight', 'hl2'], theme) || theme.palette.primary.dark\n }`,\n borderRadius: 4,\n fontWeight: 700,\n padding: theme.spacing(0, 0.5),\n ...R.pathOr({}, ['mixins', 'tag', 'root'], theme),\n },\n}));\n\nexport const Tag = ({ children, tagValueLabel }) => {\n const classes = useStyles();\n\n if (R.isNil(children)) return null;\n\n return (\n <div>\n <Typography tabIndex={0} className={classes.tag} aria-label={tagValueLabel}>\n {children}\n </Typography>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,SAAA,GAAY,WAAW,CAAA,KAAA,MAAU;AAAA,EACrC,GAAA,EAAK;AAAA,IACH,MAAA,EAAQ,CAAA,UAAA,EACN,CAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,WAAA,EAAa,KAAK,CAAA,EAAG,KAAK,CAAA,IAAK,KAAA,CAAM,OAAA,CAAQ,QAAQ,IAC1E,CAAA,CAAA;AAAA,IACA,YAAA,EAAc,CAAA;AAAA,IACd,UAAA,EAAY,GAAA;AAAA,IACZ,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,GAAG,CAAA;AAAA,IAC7B,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,KAAA,EAAO,MAAM,CAAA,EAAG,KAAK;AAAA;AAEpD,CAAA,CAAE,CAAA;AAEK,MAAM,GAAA,GAAM,CAAC,EAAE,QAAA,EAAU,eAAc,KAAM;AAClD,EAAA,MAAM,UAAU,SAAA,EAAU;AAE1B,EAAA,IAAI,CAAA,CAAE,KAAA,CAAM,QAAQ,CAAA,EAAG,OAAO,IAAA;AAE9B,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,QAAA,EAAU,CAAA,EAAG,SAAA,EAAW,OAAA,CAAQ,GAAA,EAAK,YAAA,EAAY,aAAA,EAC1D,QAAA,EACH,CAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Tag.js","sources":["../../src/Tag/Tag.jsx"],"sourcesContent":["import React from 'react';\nimport * as R from 'ramda';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\n\nconst useStyles = makeStyles((theme) => ({\n tag: {\n border: `2px solid ${\n R.path(['palette', 'highlight', 'hl2'], theme) || theme.palette.primary.dark\n }`,\n borderRadius: 4,\n fontWeight: 700,\n padding: theme.spacing(0, 0.5),\n ...R.pathOr({}, ['mixins', 'tag', 'root'], theme),\n },\n}));\n\nexport const Tag = ({ children, tagValueLabel }) => {\n const classes = useStyles();\n\n if (R.isNil(children)) return null;\n\n return (\n <div>\n <Typography tabIndex={0} className={classes.tag} aria-label={tagValueLabel}>\n {children}\n </Typography>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,SAAA,GAAY,UAAA,CAAW,CAAC,KAAA,MAAW;AAAA,EACvC,GAAA,EAAK;AAAA,IACH,MAAA,EAAQ,CAAA,UAAA,EACN,CAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,WAAA,EAAa,KAAK,CAAA,EAAG,KAAK,CAAA,IAAK,KAAA,CAAM,OAAA,CAAQ,QAAQ,IAC1E,CAAA,CAAA;AAAA,IACA,YAAA,EAAc,CAAA;AAAA,IACd,UAAA,EAAY,GAAA;AAAA,IACZ,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,CAAA,EAAG,GAAG,CAAA;AAAA,IAC7B,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,KAAA,EAAO,MAAM,CAAA,EAAG,KAAK;AAAA;AAEpD,CAAA,CAAE,CAAA;AAEK,MAAM,GAAA,GAAM,CAAC,EAAE,QAAA,EAAU,eAAc,KAAM;AAClD,EAAA,MAAM,UAAU,SAAA,EAAU;AAE1B,EAAA,IAAI,CAAA,CAAE,KAAA,CAAM,QAAQ,CAAA,EAAG,OAAO,IAAA;AAE9B,EAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,QAAA,EAAU,CAAA,EAAG,SAAA,EAAW,OAAA,CAAQ,GAAA,EAAK,YAAA,EAAY,aAAA,EAC1D,QAAA,EACH,CAAA,EACF,CAAA;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sources":["../../src/Tooltip/Tooltip.jsx"],"sourcesContent":["import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport MuiTooltip from '@mui/material/Tooltip';\n\nconst useStyles = makeStyles(theme => ({\n tooltip: {\n fontSize: 12,\n boxShadow: theme.shadows[2],\n },\n warningTooltip: {\n ...R.pathOr({}, ['mixins', 'tooltip', 'variant', 'warning'])(theme),\n color: theme.palette.getContrastText(theme.palette.warning.main),\n },\n lightTooltip: {\n ...R.pathOr({}, ['mixins', 'tooltip', 'variant', 'light'])(theme),\n color: theme.palette.getContrastText(theme.palette.common.white),\n },\n darkTooltip: {\n ...R.pathOr({}, ['mixins', 'tooltip', 'variant', 'dark'])(theme),\n color: theme.palette.getContrastText(theme.palette.common.black),\n },\n popper: {\n opacity: 1,\n },\n}));\n\nexport const Tooltip = ({ children, variant = 'dark', ...props }) => {\n const classes = useStyles();\n return (\n <MuiTooltip\n enterNextDelay={100}\n classes={{\n popper: classes.popper,\n tooltip: cx(R.prop(`${variant}Tooltip`)(classes), classes.tooltip),\n }}\n {...props}\n >\n {children}\n </MuiTooltip>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAMA,MAAM,SAAA,GAAY,WAAW,CAAA,KAAA,MAAU;AAAA,EACrC,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,EAAA;AAAA,IACV,SAAA,EAAW,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,GAC5B;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,SAAS,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IAClE,OAAO,KAAA,CAAM,OAAA,CAAQ,gBAAgB,KAAA,CAAM,OAAA,CAAQ,QAAQ,IAAI;AAAA,GACjE;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,OAAO,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IAChE,OAAO,KAAA,CAAM,OAAA,CAAQ,gBAAgB,KAAA,CAAM,OAAA,CAAQ,OAAO,KAAK;AAAA,GACjE;AAAA,EACA,WAAA,EAAa;AAAA,IACX,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,MAAM,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IAC/D,OAAO,KAAA,CAAM,OAAA,CAAQ,gBAAgB,KAAA,CAAM,OAAA,CAAQ,OAAO,KAAK;AAAA,GACjE;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA,CAAE,CAAA;AAEK,MAAM,OAAA,GAAU,CAAC,EAAE,QAAA,EAAU,UAAU,MAAA,EAAQ,GAAG,OAAM,KAAM;AACnE,EAAA,MAAM,UAAU,SAAA,EAAU;AAC1B,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,cAAA,EAAgB,GAAA;AAAA,MAChB,OAAA,EAAS;AAAA,QACP,QAAQ,OAAA,CAAQ,MAAA;AAAA,QAChB,OAAA,EAAS,EAAA,CAAG,CAAA,CAAE,IAAA,CAAK,CAAA,EAAG,OAAO,CAAA,OAAA,CAAS,CAAA,CAAE,OAAO,CAAA,EAAG,OAAA,CAAQ,OAAO;AAAA,OACnE;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;;;;"}
1
+ {"version":3,"file":"Tooltip.js","sources":["../../src/Tooltip/Tooltip.jsx"],"sourcesContent":["import React from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport MuiTooltip from '@mui/material/Tooltip';\n\nconst useStyles = makeStyles((theme) => ({\n tooltip: {\n fontSize: 12,\n boxShadow: theme.shadows[2],\n },\n warningTooltip: {\n ...R.pathOr({}, ['mixins', 'tooltip', 'variant', 'warning'])(theme),\n color: theme.palette.getContrastText(theme.palette.warning.main),\n },\n lightTooltip: {\n ...R.pathOr({}, ['mixins', 'tooltip', 'variant', 'light'])(theme),\n color: theme.palette.getContrastText(theme.palette.common.white),\n },\n darkTooltip: {\n ...R.pathOr({}, ['mixins', 'tooltip', 'variant', 'dark'])(theme),\n color: theme.palette.getContrastText(theme.palette.common.black),\n },\n popper: {\n opacity: 1,\n },\n}));\n\nexport const Tooltip = ({ children, variant = 'dark', ...props }) => {\n const classes = useStyles();\n return (\n <MuiTooltip\n enterNextDelay={100}\n classes={{\n popper: classes.popper,\n tooltip: cx(R.prop(`${variant}Tooltip`)(classes), classes.tooltip),\n }}\n {...props}\n >\n {children}\n </MuiTooltip>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAMA,MAAM,SAAA,GAAY,UAAA,CAAW,CAAC,KAAA,MAAW;AAAA,EACvC,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,EAAA;AAAA,IACV,SAAA,EAAW,KAAA,CAAM,OAAA,CAAQ,CAAC;AAAA,GAC5B;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,SAAS,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IAClE,OAAO,KAAA,CAAM,OAAA,CAAQ,gBAAgB,KAAA,CAAM,OAAA,CAAQ,QAAQ,IAAI;AAAA,GACjE;AAAA,EACA,YAAA,EAAc;AAAA,IACZ,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,OAAO,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IAChE,OAAO,KAAA,CAAM,OAAA,CAAQ,gBAAgB,KAAA,CAAM,OAAA,CAAQ,OAAO,KAAK;AAAA,GACjE;AAAA,EACA,WAAA,EAAa;AAAA,IACX,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,MAAM,CAAC,CAAA,CAAE,KAAK,CAAA;AAAA,IAC/D,OAAO,KAAA,CAAM,OAAA,CAAQ,gBAAgB,KAAA,CAAM,OAAA,CAAQ,OAAO,KAAK;AAAA,GACjE;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAA,CAAE,CAAA;AAEK,MAAM,OAAA,GAAU,CAAC,EAAE,QAAA,EAAU,UAAU,MAAA,EAAQ,GAAG,OAAM,KAAM;AACnE,EAAA,MAAM,UAAU,SAAA,EAAU;AAC1B,EAAA,uBACE,GAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,cAAA,EAAgB,GAAA;AAAA,MAChB,OAAA,EAAS;AAAA,QACP,QAAQ,OAAA,CAAQ,MAAA;AAAA,QAChB,OAAA,EAAS,EAAA,CAAG,CAAA,CAAE,IAAA,CAAK,CAAA,EAAG,OAAO,CAAA,OAAA,CAAS,CAAA,CAAE,OAAO,CAAA,EAAG,OAAA,CAAQ,OAAO;AAAA,OACnE;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;;;;"}