@sis-cc/dotstatsuite-visions 13.8.0 → 14.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Alert/Alert.js +5 -3
- package/dist/Alert/Alert.js.map +1 -1
- package/dist/ApiQueries/ApiQueries.js +2 -1
- package/dist/ApiQueries/ApiQueries.js.map +1 -1
- package/dist/AuthDialog/AuthDialog.js.map +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.js +2 -1
- package/dist/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/Button/Button.js +15 -17
- package/dist/Button/Button.js.map +1 -1
- package/dist/ChartsConfig/ChartsConfig.js +12 -7
- package/dist/ChartsConfig/ChartsConfig.js.map +1 -1
- package/dist/CollapseButtons/CollapseButtons.js +138 -100
- package/dist/CollapseButtons/CollapseButtons.js.map +1 -1
- package/dist/CollapsibleTree/CollapsibleTree.js +47 -29
- package/dist/CollapsibleTree/CollapsibleTree.js.map +1 -1
- package/dist/Contact/Contact.js +6 -5
- package/dist/Contact/Contact.js.map +1 -1
- package/dist/DataFooter/DataFooter.js +1 -1
- package/dist/DataFooter/DataFooter.js.map +1 -1
- package/dist/DataHeader/DataHeader.js +8 -6
- package/dist/DataHeader/DataHeader.js.map +1 -1
- package/dist/Dataflow/Dataflow.js +6 -3
- package/dist/Dataflow/Dataflow.js.map +1 -1
- package/dist/DeleteAllChip/DeleteAllChip.js +1 -1
- package/dist/DynamicDrawer/DynamicDrawer.js +8 -9
- package/dist/DynamicDrawer/DynamicDrawer.js.map +1 -1
- package/dist/ExpansionPanel/ExpansionPanel.js +3 -2
- package/dist/ExpansionPanel/ExpansionPanel.js.map +1 -1
- package/dist/GroupedChips/GroupedChips.js +5 -4
- package/dist/GroupedChips/GroupedChips.js.map +1 -1
- package/dist/HierarchicalFilter/HierarchicalFilter.js +1 -1
- package/dist/HierarchicalFilter/HierarchicalFilter.js.map +1 -1
- package/dist/Icons/AccessibilityFilled.js.map +1 -1
- package/dist/Icons/AccessibilityOutlined.js.map +1 -1
- package/dist/Icons/AccountFilled.js.map +1 -1
- package/dist/Icons/AccountOutlined.js.map +1 -1
- package/dist/Icons/Api.js.map +1 -1
- package/dist/Icons/Asterisk.js.map +1 -1
- package/dist/Icons/Bar.js.map +1 -1
- package/dist/Icons/CopyContent.js.map +1 -1
- package/dist/Icons/Cross.js.map +1 -1
- package/dist/Icons/HSymbol.js.map +1 -1
- package/dist/Icons/Row.js.map +1 -1
- package/dist/Icons/Scatter.js.map +1 -1
- package/dist/Icons/StackedBar.js.map +1 -1
- package/dist/Icons/StackedRow.js.map +1 -1
- package/dist/Icons/Timeline.js.map +1 -1
- package/dist/Icons/VSymbol.js.map +1 -1
- package/dist/Input/Input.js.map +1 -1
- package/dist/InputNumber/InputNumber.js.map +1 -1
- package/dist/LabelDivider/LabelDivider.js.map +1 -1
- package/dist/Loading/Loading.js.map +1 -1
- package/dist/Mode/Mode.js +5 -4
- package/dist/Mode/Mode.js.map +1 -1
- package/dist/Pagination/Pagination.js +0 -1
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/PeriodPicker/PeriodPicker.js +63 -70
- package/dist/PeriodPicker/PeriodPicker.js.map +1 -1
- package/dist/Select/Select.js +13 -11
- package/dist/Select/Select.js.map +1 -1
- package/dist/Share/Share.js +2 -1
- package/dist/Share/Share.js.map +1 -1
- package/dist/ShortUrls/ShortUrls.js.map +1 -1
- package/dist/SisccFooter/SisccFooter.js +30 -20
- package/dist/SisccFooter/SisccFooter.js.map +1 -1
- package/dist/Spotlight/Spotlight.js +8 -7
- package/dist/Spotlight/Spotlight.js.map +1 -1
- package/dist/TableFooter/TableFooter.js.map +1 -1
- package/dist/TableHeader/TableHeader.js.map +1 -1
- package/dist/TableHtml5/TableHtml5.js +25 -20
- package/dist/TableHtml5/TableHtml5.js.map +1 -1
- package/dist/TableLayout/TableLayout.js +9 -6
- package/dist/TableLayout/TableLayout.js.map +1 -1
- package/dist/TablePreview/TablePreview.js +17 -8
- package/dist/TablePreview/TablePreview.js.map +1 -1
- package/dist/Tag/Tag.js.map +1 -1
- package/dist/Tooltip/Tooltip.js.map +1 -1
- package/dist/UserRightForm/UserRightForm.js.map +1 -1
- package/dist/VerticalButton/VerticalButton.js.map +1 -1
- package/dist/chunks/{CustomChip-CMYCIorJ.js → CustomChip-VonwGtLq.js} +7 -7
- package/dist/chunks/CustomChip-VonwGtLq.js.map +1 -0
- package/dist/chunks/{useKeybordEscapeHandler-DRsOrnwc.js → useKeybordEscapeHandler-DZZOPw7k.js} +2 -2
- package/dist/chunks/useKeybordEscapeHandler-DZZOPw7k.js.map +1 -0
- package/dist/chunks/utils-kslX1mzh.js.map +1 -1
- package/dist/chunks/with-input-DRWNlMdA.js.map +1 -1
- package/dist/chunks/{withSpotlight-ooTVUwmd.js → withSpotlight-Bqdm585G.js} +37 -37
- package/dist/chunks/withSpotlight-Bqdm585G.js.map +1 -0
- package/dist/theme/theme.js +5 -5
- package/dist/theme/theme.js.map +1 -1
- package/package.json +27 -31
- package/dist/chunks/CustomChip-CMYCIorJ.js.map +0 -1
- package/dist/chunks/useKeybordEscapeHandler-DRsOrnwc.js.map +0 -1
- package/dist/chunks/withSpotlight-ooTVUwmd.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Contact.js","sources":["../../src/Contact/Mode.jsx","../../src/Contact/Input.jsx","../../src/Contact/Contact.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport Card from '@mui/material/Card';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport CardContent from '@mui/material/CardContent';\nimport Typography from '@mui/material/Typography';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Radio from '@mui/material/Radio';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { Warning as WarningIcon } from '../Icons/Warning';\n\nconst useStyles = makeStyles(theme => ({\n container: {\n backgroundColor: theme.palette.secondary.dark,\n boxShadow: 'none',\n padding: theme.spacing(2),\n width: '100%',\n height: '100%',\n },\n title: {\n padding: 0,\n ...R.pathOr({}, ['mixins', 'share', 'title'], theme),\n },\n content: {\n padding: theme.spacing(1, 0),\n '&:last-child': {\n padding: theme.spacing(1, 0),\n },\n },\n label: theme.typography.body2,\n warning: {\n marginLeft: theme.spacing(0.5),\n width: 'unset',\n fontSize: 'inherit',\n height: '1.3em',\n ...R.pathOr({}, ['mixins', 'share', 'warning'], theme),\n },\n}));\n\nconst Warning = ({ title }) => {\n const classes = useStyles();\n const theme = useTheme();\n const warningColor = R.path(['palette', 'highlight', 'hl1'], theme) || theme.palette.primary.dark;\n const warningTextColor = theme.palette.getContrastText(warningColor);\n\n return (\n <Tooltip\n className={classes.warning}\n title={title}\n tabIndex={0}\n variant=\"warning\"\n aria-hidden={false}\n placement=\"bottom\"\n PopperProps={{\n placement: {\n flip: {\n behavior: ['bottom', 'top', 'left', 'right'],\n },\n },\n }}\n >\n <WarningIcon pathBackgroundColor={warningColor} pathColor={warningTextColor} />\n </Tooltip>\n );\n};\n\nWarning.propTypes = {\n title: PropTypes.string,\n};\n\nconst Mode = ({ changeMode, mode, modes = [], title }) => {\n const classes = useStyles();\n return (\n <Card className={classes.container}>\n <CardContent className={classes.content}>\n <Typography className={classes.title} aria-label={title} tabIndex={0}>\n {title}\n </Typography>\n <RadioGroup onChange={e => changeMode(e.target.value)} value={mode}>\n {R.map(({ label, value, warningMessage }) => (\n <FormControlLabel\n classes={{ label: classes.label }}\n key={value}\n control={<Radio variant=\"outlined\" color=\"primary\" />}\n label={\n <span>\n {label}\n {warningMessage && <Warning title={warningMessage} />}\n </span>\n }\n aria-label={label}\n value={value}\n />\n ))(modes)}\n </RadioGroup>\n </CardContent>\n </Card>\n );\n};\n\nMode.propTypes = {\n changeMode: PropTypes.func,\n mode: PropTypes.string,\n modes: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n value: PropTypes.string,\n warningMessage: PropTypes.string,\n }),\n ),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n};\n\nexport default Mode;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TextField from '@mui/material/TextField';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport IconButton from '@mui/material/IconButton';\nimport { Done } from '@mui/icons-material';\nimport { withInput } from '../Input/with-input';\n\nconst useStyles = makeStyles(() => ({\n visibility: {\n visibility: 'hidden',\n },\n}));\n\nconst LefttIcon = ({ Icon }) => <Icon />;\n\nLefttIcon.propTypes = {\n Icon: PropTypes.object,\n};\n\nconst RightIcon = ({ onSubmit, Icon = Done }) => (\n <IconButton color=\"primary\" onClick={() => onSubmit()} size=\"small\">\n <Icon />\n </IconButton>\n);\n\nRightIcon.propTypes = {\n Icon: PropTypes.object,\n onSubmit: PropTypes.func,\n classes: PropTypes.object,\n};\n\nconst MyInput = ({\n id,\n label,\n name,\n placeholder,\n leftIcon,\n rightIcon,\n value,\n type,\n onChange,\n onSubmit,\n fullWidth,\n withValidationIcon,\n textFieldProps,\n inputProps,\n endAdornment,\n}) => {\n const classes = useStyles();\n const startAdornment = R.isNil(leftIcon) ? null : (\n <InputAdornment position=\"start\">\n <LefttIcon Icon={leftIcon} />\n </InputAdornment>\n );\n const endMyadornment = R.or(withValidationIcon, !R.isNil(rightIcon)) ? (\n <InputAdornment position=\"end\" className={cx({ [classes.visibility]: R.isEmpty(value) })}>\n <RightIcon onSubmit={onSubmit} Icon={rightIcon} />\n </InputAdornment>\n ) : null;\n\n const onEnterLabel = event => {\n if (event.key === 'Enter') {\n event.preventDefault();\n if (R.is(Function, onSubmit)) {\n onSubmit();\n }\n }\n };\n\n return (\n <TextField\n data-testid=\"input-test-id\"\n margin=\"dense\"\n fullWidth={fullWidth}\n id={id}\n name={name}\n type={type}\n label={label}\n value={value}\n variant=\"outlined\"\n placeholder={placeholder}\n onChange={onChange}\n onKeyPress={onEnterLabel}\n InputProps={{\n startAdornment,\n endAdornment: R.isNil(endAdornment) ? endMyadornment : endAdornment,\n }}\n inputProps={inputProps}\n {...textFieldProps}\n />\n );\n};\n\nMyInput.propTypes = {\n id: PropTypes.string,\n name: PropTypes.string,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n leftIcon: PropTypes.object,\n rightIcon: PropTypes.object,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n type: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n fullWidth: PropTypes.bool,\n withValidationIcon: PropTypes.bool,\n textFieldProps: PropTypes.object,\n inputProps: PropTypes.object,\n endAdornment: PropTypes.node,\n};\n\nexport default withInput(MyInput);\n","import React, { useEffect, useState } from 'react';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport Grid from '@mui/material/Grid';\nimport Paper from '@mui/material/Paper';\nimport TextareaAutosize from '@mui/material/TextareaAutosize';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { validate as getIsValidEmail } from 'isemail';\nimport Mode from './Mode';\nimport Input from './Input';\nimport { Button } from '../Button/Button';\n\nconst useStyles = makeStyles(theme => ({\n paper: {\n backgroundColor: theme.palette.background.paper,\n padding: theme.spacing(2),\n },\n box: {\n padding: theme.spacing(0.5),\n },\n emailReasonMessage: {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n backgroundColor: R.path(['palette', 'tertiary', 'dark'])(theme) || theme.palette.grey[100],\n padding: theme.spacing(2),\n },\n agreement: {\n fontSize: '1.0625rem',\n lineHeight: '1.6',\n },\n policy: {\n color: theme.palette.primary.main,\n fontSize: '1.0625rem',\n lineHeight: '1.6',\n },\n textarea: {\n width: '100%',\n padding: theme.spacing(1),\n },\n textareaError: {\n borderColor: theme.palette.error.main,\n borderWidth: theme.spacing(0.25),\n },\n}));\n\nexport const Contact = ({\n modes,\n defaultMode = 'question',\n defaultFullName,\n defaultEmail,\n labels,\n send,\n isSubmitDisable,\n children,\n isAllContact = false,\n}) => {\n const classes = useStyles();\n\n const [mode, setMode] = useState(defaultMode);\n const [title, setTitle] = useState('');\n const [name, setName] = useState(defaultFullName || '');\n const [organisation, setOrganisation] = useState('');\n const [email, setEmail] = useState(defaultEmail || '');\n const [subject, setSubject] = useState('');\n const [emailHasError, setEmailError] = useState(false);\n const [details, setDetails] = useState('');\n const [checked, setChecked] = useState(false);\n const [isSendDisable, setSendDisable] = useState(true);\n const [detailsHasError, setDetailsError] = useState(false);\n const checkEmail = email => {\n if (getIsValidEmail(email) && R.test(/^\\S+@\\S+\\.\\S+$/, email)) {\n return setEmailError(false);\n }\n return setEmailError(true);\n };\n\n const checkDetails = details => {\n if (R.isEmpty(details)) {\n return setDetailsError(true);\n }\n return setDetailsError(false);\n };\n\n const onSubmit = () => {\n if (R.is(Function)(send))\n return send({\n mode,\n title,\n name,\n organisation,\n email,\n details,\n checkbox: checked,\n subject,\n });\n };\n\n useEffect(() => {\n if (R.isEmpty(email)) return setSendDisable(true);\n if (R.isEmpty(details)) return setSendDisable(true);\n if (emailHasError) return setSendDisable(true);\n if (detailsHasError) return setSendDisable(true);\n return setSendDisable(isSubmitDisable || false);\n }, [emailHasError, detailsHasError, email, details, isSubmitDisable]);\n\n return (\n <Grid container className={classes.paper} data-testid=\"contact-test-id\">\n <Grid item container xs={12} md={12} justifyContent=\"space-between\">\n <Grid item xs={12} sm={12} md={6}>\n <Mode\n changeMode={setMode}\n modes={modes}\n mode={mode}\n title={R.prop('modeTitle')(labels)}\n />\n </Grid>\n <Grid item container xs={12} sm={12} md={6} flex-direction=\"column\">\n <Grid item xs={12}>\n <Paper elevation={0} className={classes.emailReasonMessage}>\n {R.prop('message')(R.find(R.propEq('value', mode))(modes))}\n </Paper>\n </Grid>\n </Grid>\n </Grid>\n {isAllContact && (\n <Grid item xs={12} sm={6} className={classes.box}>\n <Input\n variant=\"outlined\"\n label={labels.personalTitle}\n name=\"title\"\n type=\"text\"\n fullWidth\n value={title}\n onChange={e => setTitle(e.target.value)}\n isControlled\n />\n </Grid>\n )}\n {isAllContact && (\n <Grid item xs={12} sm={6} className={classes.box}>\n <Input\n variant=\"outlined\"\n isControlled\n label={labels.name}\n name=\"name\"\n type=\"text\"\n onChange={e => setName(e.target.value)}\n value={name}\n fullWidth\n />\n </Grid>\n )}\n <Grid item xs={12} sm={isAllContact ? 6 : 12} className={classes.box}>\n <Input\n inputProps={{\n 'aria-label': R.prop('email')(labels),\n autoComplete: 'email',\n onBlur: () => checkEmail(email),\n }}\n label={R.prop('email')(labels)}\n type=\"email\"\n value={email}\n onChange={e => setEmail(e.target.value)}\n variant=\"outlined\"\n fullWidth\n isControlled\n defaultValue={defaultEmail}\n textFieldProps={{ error: emailHasError }}\n />\n </Grid>\n {isAllContact && (\n <Grid item xs={12} sm={6} className={classes.box}>\n <Input\n variant=\"outlined\"\n isControlled\n label={labels.organisation}\n type=\"text\"\n name=\"organisation\"\n onChange={e => setOrganisation(e.target.value)}\n value={organisation}\n fullWidth\n />\n </Grid>\n )}\n <Grid item xs={12} md={12} className={classes.box}>\n <Input\n variant=\"outlined\"\n isControlled\n label={labels.subject}\n name=\"subject\"\n type=\"text\"\n onChange={e => setSubject(e.target.value)}\n value={subject}\n fullWidth\n />\n </Grid>\n <Grid item xs={12} md={12} className={classes.box}>\n <TextareaAutosize\n name=\"details\"\n onChange={e => setDetails(e.target.value)}\n className={cx(classes.textarea, { [classes.textareaError]: detailsHasError })}\n aria-label={R.prop('details')(labels)}\n minRows={6}\n placeholder={R.prop('details')(labels)}\n value={details}\n onBlur={() => checkDetails(details)}\n />\n </Grid>\n <Grid item container justifyContent=\"space-between\">\n <Grid item>\n <FormControlLabel\n control={\n <Checkbox\n name=\"checkedB\"\n color=\"primary\"\n tabIndex={0}\n inputProps={{\n onKeyDown: e => {\n if (e.key === 'Enter') {\n setChecked(!checked);\n }\n },\n onKeyUp: e => {\n if (e.key === ' ') {\n setChecked(!checked);\n }\n },\n }}\n />\n }\n label={<Typography className={classes.agreement}>{R.prop('checkbox')(labels)}</Typography>}\n checked={checked}\n aria-checked={checked}\n tabIndex={0}\n aria-label={R.prop('checkbox')(labels)}\n onChange={e => setChecked(e.target.checked)}\n />\n </Grid>\n <Grid item>\n <Typography className={classes.policy} style={{ paddingTop: 8 }}>\n {R.prop('organisationPrivacyPolicy')(labels)}\n </Typography>\n </Grid>\n </Grid>\n <Grid item container justifyContent=\"space-between\" alignItems=\"center\">\n <Grid item>{children}</Grid>\n <Grid item>\n <Button\n aria-label={R.prop('submit')(labels)}\n type=\"submit\"\n disabled={isSendDisable}\n variant=\"contained\"\n color=\"primary\"\n alternative=\"siscc\"\n onClick={onSubmit}\n size=\"large\"\n className={classes.submitButton}\n >\n {R.prop('submit')(labels)}\n </Button>\n </Grid>\n </Grid>\n </Grid>\n );\n};\n\nContact.propTypes = {\n defaultMode: PropTypes.string,\n defaultFullName: PropTypes.string,\n defaultEmail: PropTypes.string,\n lang: PropTypes.string,\n theme: PropTypes.string,\n modes: PropTypes.array,\n send: PropTypes.func,\n isSubmitDisable: PropTypes.bool,\n children: PropTypes.node,\n labels: PropTypes.shape({\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n organisation: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n personalTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n submit: PropTypes.string,\n email: PropTypes.string,\n details: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n contactForHelp: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n subject: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n};\n"],"names":["useStyles","WarningIcon","email","getIsValidEmail","details"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Contact.js","sources":["../../src/Contact/Mode.jsx","../../src/Contact/Input.jsx","../../src/Contact/Contact.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport Card from '@mui/material/Card';\nimport { useTheme } from '@mui/material/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport CardContent from '@mui/material/CardContent';\nimport Typography from '@mui/material/Typography';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Radio from '@mui/material/Radio';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { Warning as WarningIcon } from '../Icons/Warning';\n\nconst useStyles = makeStyles((theme) => ({\n container: {\n backgroundColor: theme.palette.secondary.dark,\n boxShadow: 'none',\n padding: theme.spacing(2),\n width: '100%',\n height: '100%',\n },\n title: {\n padding: 0,\n ...R.pathOr({}, ['mixins', 'share', 'title'], theme),\n },\n content: {\n padding: theme.spacing(1, 0),\n '&:last-child': {\n padding: theme.spacing(1, 0),\n },\n },\n label: theme.typography.body2,\n warning: {\n marginLeft: theme.spacing(0.5),\n width: 'unset',\n fontSize: 'inherit',\n height: '1.3em',\n ...R.pathOr({}, ['mixins', 'share', 'warning'], theme),\n },\n}));\n\nconst Warning = ({ title }) => {\n const classes = useStyles();\n const theme = useTheme();\n const warningColor = R.path(['palette', 'highlight', 'hl1'], theme) || theme.palette.primary.dark;\n const warningTextColor = theme.palette.getContrastText(warningColor);\n\n return (\n <Tooltip\n className={classes.warning}\n title={title}\n tabIndex={0}\n variant=\"warning\"\n aria-hidden={false}\n placement=\"bottom\"\n PopperProps={{\n placement: {\n flip: {\n behavior: ['bottom', 'top', 'left', 'right'],\n },\n },\n }}\n >\n <WarningIcon pathBackgroundColor={warningColor} pathColor={warningTextColor} />\n </Tooltip>\n );\n};\n\nWarning.propTypes = {\n title: PropTypes.string,\n};\n\nconst EMPTY_MODES = [];\n\nconst Mode = ({ changeMode, mode, modes = EMPTY_MODES, title }) => {\n const classes = useStyles();\n return (\n <Card className={classes.container}>\n <CardContent className={classes.content}>\n <Typography className={classes.title} aria-label={title} tabIndex={0}>\n {title}\n </Typography>\n <RadioGroup onChange={(e) => changeMode(e.target.value)} value={mode}>\n {R.map(({ label, value, warningMessage }) => (\n <FormControlLabel\n classes={{ label: classes.label }}\n key={value}\n control={<Radio variant=\"outlined\" color=\"primary\" />}\n label={\n <span>\n {label}\n {warningMessage && <Warning title={warningMessage} />}\n </span>\n }\n aria-label={label}\n value={value}\n />\n ))(modes)}\n </RadioGroup>\n </CardContent>\n </Card>\n );\n};\n\nMode.propTypes = {\n changeMode: PropTypes.func,\n mode: PropTypes.string,\n modes: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n value: PropTypes.string,\n warningMessage: PropTypes.string,\n })\n ),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n};\n\nexport default Mode;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport TextField from '@mui/material/TextField';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport IconButton from '@mui/material/IconButton';\nimport { Done } from '@mui/icons-material';\nimport { withInput } from '../Input/with-input';\n\nconst useStyles = makeStyles(() => ({\n visibility: {\n visibility: 'hidden',\n },\n}));\n\nconst LefttIcon = ({ Icon }) => <Icon />;\n\nLefttIcon.propTypes = {\n Icon: PropTypes.object,\n};\n\nconst RightIcon = ({ onSubmit, Icon = Done }) => (\n <IconButton color=\"primary\" onClick={() => onSubmit()} size=\"small\">\n <Icon />\n </IconButton>\n);\n\nRightIcon.propTypes = {\n Icon: PropTypes.object,\n onSubmit: PropTypes.func,\n classes: PropTypes.object,\n};\n\nconst MyInput = ({\n id,\n label,\n name,\n placeholder,\n leftIcon,\n rightIcon,\n value,\n type,\n onChange,\n onSubmit,\n fullWidth,\n withValidationIcon,\n textFieldProps,\n inputProps,\n endAdornment,\n}) => {\n const classes = useStyles();\n const startAdornment = R.isNil(leftIcon) ? null : (\n <InputAdornment position=\"start\">\n <LefttIcon Icon={leftIcon} />\n </InputAdornment>\n );\n const endMyadornment = R.or(withValidationIcon, !R.isNil(rightIcon)) ? (\n <InputAdornment position=\"end\" className={cx({ [classes.visibility]: R.isEmpty(value) })}>\n <RightIcon onSubmit={onSubmit} Icon={rightIcon} />\n </InputAdornment>\n ) : null;\n\n const onEnterLabel = (event) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n if (R.is(Function, onSubmit)) {\n onSubmit();\n }\n }\n };\n\n return (\n <TextField\n data-testid=\"input-test-id\"\n margin=\"dense\"\n fullWidth={fullWidth}\n id={id}\n name={name}\n type={type}\n label={label}\n value={value}\n variant=\"outlined\"\n placeholder={placeholder}\n onChange={onChange}\n onKeyPress={onEnterLabel}\n InputProps={{\n startAdornment,\n endAdornment: R.isNil(endAdornment) ? endMyadornment : endAdornment,\n }}\n inputProps={inputProps}\n {...textFieldProps}\n />\n );\n};\n\nMyInput.propTypes = {\n id: PropTypes.string,\n name: PropTypes.string,\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n leftIcon: PropTypes.object,\n rightIcon: PropTypes.object,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n type: PropTypes.string,\n onChange: PropTypes.func,\n onSubmit: PropTypes.func,\n fullWidth: PropTypes.bool,\n withValidationIcon: PropTypes.bool,\n textFieldProps: PropTypes.object,\n inputProps: PropTypes.object,\n endAdornment: PropTypes.node,\n};\n\nexport default withInput(MyInput);\n","import React, { useEffect, useState } from 'react';\nimport cx from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport Grid from '@mui/material/Grid';\nimport Paper from '@mui/material/Paper';\nimport TextareaAutosize from '@mui/material/TextareaAutosize';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Typography from '@mui/material/Typography';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { validate as getIsValidEmail } from 'isemail';\nimport Mode from './Mode';\nimport Input from './Input';\nimport { Button } from '../Button/Button';\n\nconst useStyles = makeStyles((theme) => ({\n paper: {\n backgroundColor: theme.palette.background.paper,\n padding: theme.spacing(2),\n },\n box: {\n padding: theme.spacing(0.5),\n },\n emailReasonMessage: {\n display: 'flex',\n alignItems: 'center',\n height: '100%',\n backgroundColor: R.path(['palette', 'tertiary', 'dark'])(theme) || theme.palette.grey[100],\n padding: theme.spacing(2),\n },\n agreement: {\n fontSize: '1.0625rem',\n lineHeight: '1.6',\n },\n policy: {\n color: theme.palette.primary.main,\n fontSize: '1.0625rem',\n lineHeight: '1.6',\n },\n textarea: {\n width: '100%',\n padding: theme.spacing(1),\n },\n textareaError: {\n borderColor: theme.palette.error.main,\n borderWidth: theme.spacing(0.25),\n },\n}));\n\nexport const Contact = ({\n modes,\n defaultMode = 'question',\n defaultFullName,\n defaultEmail,\n labels,\n send,\n isSubmitDisable,\n children,\n isAllContact = false,\n}) => {\n const classes = useStyles();\n\n const [mode, setMode] = useState(defaultMode);\n const [title, setTitle] = useState('');\n const [name, setName] = useState(defaultFullName || '');\n const [organisation, setOrganisation] = useState('');\n const [email, setEmail] = useState(defaultEmail || '');\n const [subject, setSubject] = useState('');\n const [emailHasError, setEmailError] = useState(false);\n const [details, setDetails] = useState('');\n const [checked, setChecked] = useState(false);\n const [isSendDisable, setSendDisable] = useState(true);\n const [detailsHasError, setDetailsError] = useState(false);\n const checkEmail = (value) => {\n if (getIsValidEmail(value) && R.test(/^\\S+@\\S+\\.\\S+$/, value)) {\n return setEmailError(false);\n }\n return setEmailError(true);\n };\n\n const checkDetails = (value) => {\n if (R.isEmpty(value)) {\n return setDetailsError(true);\n }\n return setDetailsError(false);\n };\n\n const onSubmit = () => {\n if (R.is(Function)(send))\n return send({\n mode,\n title,\n name,\n organisation,\n email,\n details,\n checkbox: checked,\n subject,\n });\n };\n\n useEffect(() => {\n if (R.isEmpty(email)) return setSendDisable(true);\n if (R.isEmpty(details)) return setSendDisable(true);\n if (emailHasError) return setSendDisable(true);\n if (detailsHasError) return setSendDisable(true);\n return setSendDisable(isSubmitDisable || false);\n }, [emailHasError, detailsHasError, email, details, isSubmitDisable]);\n\n return (\n <Grid container className={classes.paper} data-testid=\"contact-test-id\">\n <Grid item container xs={12} md={12} justifyContent=\"space-between\">\n <Grid item xs={12} sm={12} md={6}>\n <Mode\n changeMode={setMode}\n modes={modes}\n mode={mode}\n title={R.prop('modeTitle')(labels)}\n />\n </Grid>\n <Grid item container xs={12} sm={12} md={6} flex-direction=\"column\">\n <Grid item xs={12}>\n <Paper elevation={0} className={classes.emailReasonMessage}>\n {R.prop('message')(R.find(R.propEq('value', mode))(modes))}\n </Paper>\n </Grid>\n </Grid>\n </Grid>\n {isAllContact && (\n <Grid item xs={12} sm={6} className={classes.box}>\n <Input\n variant=\"outlined\"\n label={labels.personalTitle}\n name=\"title\"\n type=\"text\"\n fullWidth\n value={title}\n onChange={(e) => setTitle(e.target.value)}\n isControlled\n />\n </Grid>\n )}\n {isAllContact && (\n <Grid item xs={12} sm={6} className={classes.box}>\n <Input\n variant=\"outlined\"\n isControlled\n label={labels.name}\n name=\"name\"\n type=\"text\"\n onChange={(e) => setName(e.target.value)}\n value={name}\n fullWidth\n />\n </Grid>\n )}\n <Grid item xs={12} sm={isAllContact ? 6 : 12} className={classes.box}>\n <Input\n inputProps={{\n 'aria-label': R.prop('email')(labels),\n autoComplete: 'email',\n onBlur: () => checkEmail(email),\n }}\n label={R.prop('email')(labels)}\n type=\"email\"\n value={email}\n onChange={(e) => setEmail(e.target.value)}\n variant=\"outlined\"\n fullWidth\n isControlled\n defaultValue={defaultEmail}\n textFieldProps={{ error: emailHasError }}\n />\n </Grid>\n {isAllContact && (\n <Grid item xs={12} sm={6} className={classes.box}>\n <Input\n variant=\"outlined\"\n isControlled\n label={labels.organisation}\n type=\"text\"\n name=\"organisation\"\n onChange={(e) => setOrganisation(e.target.value)}\n value={organisation}\n fullWidth\n />\n </Grid>\n )}\n <Grid item xs={12} md={12} className={classes.box}>\n <Input\n variant=\"outlined\"\n isControlled\n label={labels.subject}\n name=\"subject\"\n type=\"text\"\n onChange={(e) => setSubject(e.target.value)}\n value={subject}\n fullWidth\n />\n </Grid>\n <Grid item xs={12} md={12} className={classes.box}>\n <TextareaAutosize\n name=\"details\"\n onChange={(e) => setDetails(e.target.value)}\n className={cx(classes.textarea, { [classes.textareaError]: detailsHasError })}\n aria-label={R.prop('details')(labels)}\n minRows={6}\n placeholder={R.prop('details')(labels)}\n value={details}\n onBlur={() => checkDetails(details)}\n />\n </Grid>\n <Grid item container justifyContent=\"space-between\">\n <Grid item>\n <FormControlLabel\n control={\n <Checkbox\n name=\"checkedB\"\n color=\"primary\"\n tabIndex={0}\n inputProps={{\n onKeyDown: (e) => {\n if (e.key === 'Enter') {\n setChecked(!checked);\n }\n },\n onKeyUp: (e) => {\n if (e.key === ' ') {\n setChecked(!checked);\n }\n },\n }}\n />\n }\n label={\n <Typography className={classes.agreement}>{R.prop('checkbox')(labels)}</Typography>\n }\n checked={checked}\n aria-checked={checked}\n tabIndex={0}\n aria-label={R.prop('checkbox')(labels)}\n onChange={(e) => setChecked(e.target.checked)}\n />\n </Grid>\n <Grid item>\n <Typography className={classes.policy} style={{ paddingTop: 8 }}>\n {R.prop('organisationPrivacyPolicy')(labels)}\n </Typography>\n </Grid>\n </Grid>\n <Grid item container justifyContent=\"space-between\" alignItems=\"center\">\n <Grid item>{children}</Grid>\n <Grid item>\n <Button\n aria-label={R.prop('submit')(labels)}\n type=\"submit\"\n disabled={isSendDisable}\n variant=\"contained\"\n color=\"primary\"\n alternative=\"siscc\"\n onClick={onSubmit}\n size=\"large\"\n className={classes.submitButton}\n >\n {R.prop('submit')(labels)}\n </Button>\n </Grid>\n </Grid>\n </Grid>\n );\n};\n\nContact.propTypes = {\n defaultMode: PropTypes.string,\n defaultFullName: PropTypes.string,\n defaultEmail: PropTypes.string,\n lang: PropTypes.string,\n theme: PropTypes.string,\n modes: PropTypes.array,\n send: PropTypes.func,\n isSubmitDisable: PropTypes.bool,\n children: PropTypes.node,\n labels: PropTypes.shape({\n name: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n organisation: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n personalTitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n submit: PropTypes.string,\n email: PropTypes.string,\n details: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n contactForHelp: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n subject: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n};\n"],"names":["useStyles","WarningIcon","getIsValidEmail"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import makeStyles from '@mui/styles/makeStyles';
|
|
|
10
10
|
import { visuallyHidden } from '@mui/utils';
|
|
11
11
|
import { Tooltip } from '../Tooltip/Tooltip.js';
|
|
12
12
|
import { T4_BREAKPOINTS } from '../theme/theme.js';
|
|
13
|
-
import { u as useKeyboardEscapeHandler } from '../chunks/useKeybordEscapeHandler-
|
|
13
|
+
import { u as useKeyboardEscapeHandler } from '../chunks/useKeybordEscapeHandler-DZZOPw7k.js';
|
|
14
14
|
|
|
15
15
|
const HEIGHT = 42;
|
|
16
16
|
const useStyles = makeStyles((theme) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataFooter.js","sources":["../../src/DataFooter/DataFooter.jsx"],"sourcesContent":["import React, { Fragment } from 'react';\nimport cx from 'classnames';\nimport * as R from 'ramda';\nimport useSize from '@react-hook/size';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport Link from '@mui/material/Link';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { visuallyHidden } from '@mui/utils';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { T4_BREAKPOINTS } from '../theme';\nimport useKeyboardEscapeHandler from '../hooks/useKeybordEscapeHandler';\n\nconst HEIGHT = 42;\n\nconst useStyles = makeStyles(theme => ({\n footer: {\n minHeight: HEIGHT,\n },\n legend: {\n flexGrow: 1,\n },\n copyright: {\n padding: 0,\n },\n source: {\n padding: theme.spacing(0, 1, 0, 1),\n },\n logo: {\n height: HEIGHT / 2,\n display: 'flex',\n },\n sticky: {\n position: 'sticky',\n right: 0,\n },\n}));\n\nexport const DataFooter = ({ logo, source, copyright, legend, isSticky = false }) => {\n const target = React.useRef(null);\n const [width] = useSize(target);\n const isWidthUp = R.gt(width);\n const isSourced = source && source.label && source.link;\n const isCopyrighted = copyright && copyright.label && copyright.content;\n const classes = useStyles();\n const { open, setOpen } = useKeyboardEscapeHandler();\n const typoSize = isWidthUp(T4_BREAKPOINTS.lg) ? 14 : 12;\n if (!isWidthUp(T4_BREAKPOINTS.xs)) return <Grid ref={target} />;\n\n return (\n <Grid\n ref={target}\n container\n className={classes.footer}\n direction=\"row\"\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n >\n <Grid item className={classes.legend}>\n {isWidthUp(T4_BREAKPOINTS.sm) && legend}\n </Grid>\n <Grid item style={{ alignSelf: 'flex-end' }} className={cx({ [classes.sticky]: isSticky })}>\n <Grid\n container\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n className={classes.footer}\n spacing={0}\n >\n <Grid\n item\n className={\n isWidthUp(T4_BREAKPOINTS.sm) && isSourced ? classes.copyright : classes.source\n }\n >\n {isCopyrighted && (\n <Fragment>\n <Tooltip\n title={<Typography variant=\"body2\">{copyright.content}</Typography>}\n aria-label={copyright.content}\n variant=\"light\"\n tabIndex={0}\n aria-hidden={false}\n placement=\"top\"\n enterNextDelay={100}\n arrow\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n >\n <Typography variant=\"body2\" style={{ cursor: 'pointer', fontSize: typoSize }}>\n {copyright.label}\n </Typography>\n </Tooltip>\n <Typography sx={visuallyHidden}>{copyright.content}</Typography>\n </Fragment>\n )}\n </Grid>\n {isWidthUp(T4_BREAKPOINTS.sm) && isSourced && (\n <Grid item className={classes.source}>\n <Typography variant=\"body2\" style={{ fontSize: typoSize }}>\n <Link href={source.link} rel=\"noopener noreferrer\" target=\"_blank\" variant=\"body2\">\n {source.label}\n </Link>\n </Typography>\n </Grid>\n )}\n {isWidthUp(T4_BREAKPOINTS.xs) && logo && (\n <Grid item>\n <img src={logo} alt=\"logo\" className={classes.logo} />\n </Grid>\n )}\n </Grid>\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAaA,MAAM,MAAA,GAAS,EAAA;AAEf,MAAM,SAAA,GAAY,
|
|
1
|
+
{"version":3,"file":"DataFooter.js","sources":["../../src/DataFooter/DataFooter.jsx"],"sourcesContent":["import React, { Fragment } from 'react';\nimport cx from 'classnames';\nimport * as R from 'ramda';\nimport useSize from '@react-hook/size';\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\nimport Link from '@mui/material/Link';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { visuallyHidden } from '@mui/utils';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { T4_BREAKPOINTS } from '../theme';\nimport useKeyboardEscapeHandler from '../hooks/useKeybordEscapeHandler';\n\nconst HEIGHT = 42;\n\nconst useStyles = makeStyles((theme) => ({\n footer: {\n minHeight: HEIGHT,\n },\n legend: {\n flexGrow: 1,\n },\n copyright: {\n padding: 0,\n },\n source: {\n padding: theme.spacing(0, 1, 0, 1),\n },\n logo: {\n height: HEIGHT / 2,\n display: 'flex',\n },\n sticky: {\n position: 'sticky',\n right: 0,\n },\n}));\n\nexport const DataFooter = ({ logo, source, copyright, legend, isSticky = false }) => {\n const target = React.useRef(null);\n const [width] = useSize(target);\n const isWidthUp = R.gt(width);\n const isSourced = source && source.label && source.link;\n const isCopyrighted = copyright && copyright.label && copyright.content;\n const classes = useStyles();\n const { open, setOpen } = useKeyboardEscapeHandler();\n const typoSize = isWidthUp(T4_BREAKPOINTS.lg) ? 14 : 12;\n if (!isWidthUp(T4_BREAKPOINTS.xs)) return <Grid ref={target} />;\n\n return (\n <Grid\n ref={target}\n container\n className={classes.footer}\n direction=\"row\"\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n >\n <Grid item className={classes.legend}>\n {isWidthUp(T4_BREAKPOINTS.sm) && legend}\n </Grid>\n <Grid item style={{ alignSelf: 'flex-end' }} className={cx({ [classes.sticky]: isSticky })}>\n <Grid\n container\n justifyContent=\"flex-end\"\n alignItems=\"center\"\n className={classes.footer}\n spacing={0}\n >\n <Grid\n item\n className={\n isWidthUp(T4_BREAKPOINTS.sm) && isSourced ? classes.copyright : classes.source\n }\n >\n {isCopyrighted && (\n <Fragment>\n <Tooltip\n title={<Typography variant=\"body2\">{copyright.content}</Typography>}\n aria-label={copyright.content}\n variant=\"light\"\n tabIndex={0}\n aria-hidden={false}\n placement=\"top\"\n enterNextDelay={100}\n arrow\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n >\n <Typography variant=\"body2\" style={{ cursor: 'pointer', fontSize: typoSize }}>\n {copyright.label}\n </Typography>\n </Tooltip>\n <Typography sx={visuallyHidden}>{copyright.content}</Typography>\n </Fragment>\n )}\n </Grid>\n {isWidthUp(T4_BREAKPOINTS.sm) && isSourced && (\n <Grid item className={classes.source}>\n <Typography variant=\"body2\" style={{ fontSize: typoSize }}>\n <Link href={source.link} rel=\"noopener noreferrer\" target=\"_blank\" variant=\"body2\">\n {source.label}\n </Link>\n </Typography>\n </Grid>\n )}\n {isWidthUp(T4_BREAKPOINTS.xs) && logo && (\n <Grid item>\n <img src={logo} alt=\"logo\" className={classes.logo} />\n </Grid>\n )}\n </Grid>\n </Grid>\n </Grid>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -26,14 +26,15 @@ Title.propTypes = {
|
|
|
26
26
|
header: PropTypes.string
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
-
const
|
|
29
|
+
const EMPTY_CONTENT = [];
|
|
30
|
+
const TooltipHeader = ({ children, classes, HTMLRenderer, content = EMPTY_CONTENT }) => {
|
|
30
31
|
if (R.isEmpty(content)) return null;
|
|
31
32
|
const listContent = /* @__PURE__ */ jsx("ul", { className: classes.content, children: R.addIndex(R.map)(
|
|
32
33
|
({ header, label, sub = [] }, index) => /* @__PURE__ */ jsxs("li", { children: [
|
|
33
34
|
/* @__PURE__ */ jsx(Title, { header }),
|
|
34
35
|
R.is(Function, HTMLRenderer) ? /* @__PURE__ */ jsx(HTMLRenderer, { html: label }) : label,
|
|
35
36
|
R.not(R.isEmpty(sub)) && /* @__PURE__ */ jsx("ul", { className: classes.subContent, children: R.addIndex(R.map)(
|
|
36
|
-
({ label:
|
|
37
|
+
({ label: subLabel }, subIndex) => /* @__PURE__ */ jsx("li", { children: R.is(Function, HTMLRenderer) ? /* @__PURE__ */ jsx(HTMLRenderer, { html: subLabel }) : subLabel }, `${subLabel}-${subIndex}`),
|
|
37
38
|
sub
|
|
38
39
|
) })
|
|
39
40
|
] }, `${label}-${index}`),
|
|
@@ -63,7 +64,7 @@ const Flags = ({ classes, content, HTMLRenderer }) => {
|
|
|
63
64
|
const codes = R.pipe(R.pluck("code"), R.filter(R.identity))(content);
|
|
64
65
|
const hasCodes = !R.isEmpty(codes);
|
|
65
66
|
const hasUncoded = R.length(codes) !== R.length(content);
|
|
66
|
-
const joinedCodes = R.pipe(R.join(","), (
|
|
67
|
+
const joinedCodes = R.pipe(R.join(","), (joined) => hasUncoded ? `${joined},` : joined)(codes);
|
|
67
68
|
return /* @__PURE__ */ jsx(TooltipHeader, { classes, content, HTMLRenderer, children: /* @__PURE__ */ jsxs("sup", { className: classes.svgWrapper, children: [
|
|
68
69
|
hasCodes && joinedCodes,
|
|
69
70
|
hasUncoded && /* @__PURE__ */ jsx(Asterisk, { className: classes.svg })
|
|
@@ -91,7 +92,7 @@ const getReducedContent = ({ isWidthLess, ...rest }) =>
|
|
|
91
92
|
title: R.of,
|
|
92
93
|
subtitle: R.identity,
|
|
93
94
|
uprs: R.of,
|
|
94
|
-
disclaimer: label => [{ label }],
|
|
95
|
+
disclaimer: (label) => [{ label }],
|
|
95
96
|
}),
|
|
96
97
|
R.props(['title', 'subtitle', 'uprs', 'disclaimer']),
|
|
97
98
|
R.cond([
|
|
@@ -100,7 +101,7 @@ const getReducedContent = ({ isWidthLess, ...rest }) =>
|
|
|
100
101
|
[R.T, R.always([])],
|
|
101
102
|
]),
|
|
102
103
|
R.unnest,
|
|
103
|
-
R.reject(R.isNil)
|
|
104
|
+
R.reject(R.isNil)
|
|
104
105
|
)(rest);
|
|
105
106
|
|
|
106
107
|
const useStyles = makeStyles((theme) => ({
|
|
@@ -188,10 +189,11 @@ const useStyles = makeStyles((theme) => ({
|
|
|
188
189
|
}
|
|
189
190
|
}));
|
|
190
191
|
const BasicHTMLRenderer = ({ html, ...rest }) => /* @__PURE__ */ jsx("span", { dangerouslySetInnerHTML: { __html: html }, ...rest });
|
|
192
|
+
const EMPTY_SUBTITLE = [];
|
|
191
193
|
const DataHeader = ({
|
|
192
194
|
children,
|
|
193
195
|
title,
|
|
194
|
-
subtitle =
|
|
196
|
+
subtitle = EMPTY_SUBTITLE,
|
|
195
197
|
combinations,
|
|
196
198
|
disclaimer,
|
|
197
199
|
sideProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataHeader.js","sources":["../../src/DataHeader/Title.jsx","../../src/DataHeader/TooltipHeader.jsx","../../src/DataHeader/Flags.jsx","../../src/DataHeader/utils.js","../../src/DataHeader/DataHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isNil } from 'ramda';\n\nconst Title = ({ header }) => {\n if (isNil(header)) {\n return '';\n }\n return (\n <b>\n <i>{header}</i> \n </b>\n );\n};\n\nTitle.propTypes = {\n header: PropTypes.string,\n};\n\nexport default Title;\n","import React from 'react';\nimport * as R from 'ramda';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport Title from './Title';\n\nexport const TooltipHeader = ({ children, classes, HTMLRenderer, content = [] }) => {\n if (R.isEmpty(content)) return null;\n\n const listContent = (\n <ul className={classes.content}>\n {R.addIndex(R.map)(\n ({ header, label, sub = [] }, index) => (\n <li key={`${label}-${index}`}>\n <Title header={header} />\n {R.is(Function, HTMLRenderer) ? <HTMLRenderer html={label} /> : label}\n {R.not(R.isEmpty(sub)) && (\n <ul className={classes.subContent}>\n {R.addIndex(R.map)(\n ({ label }, index) => (\n <li key={`${label}-${index}`}>\n {R.is(Function, HTMLRenderer) ? <HTMLRenderer html={label} /> : label}\n </li>\n ),\n sub,\n )}\n </ul>\n )}\n </li>\n ),\n content,\n )}\n </ul>\n );\n\n return (\n <Tooltip\n title={listContent}\n tabIndex={0}\n aria-label={R.pipe(R.pluck('label'), R.join(', '))(content)}\n aria-hidden={false}\n placement=\"top\"\n PopperProps={{\n modifiers: {\n flip: {\n behavior: ['top', 'bottom', 'left', 'right'],\n },\n },\n }}\n >\n {children}\n </Tooltip>\n );\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport { Asterisk } from '../Icons/Asterisk';\nimport { TooltipHeader } from './TooltipHeader';\n\nconst Flags = ({ classes, content, HTMLRenderer }) => {\n const codes = R.pipe(R.pluck('code'), R.filter(R.identity))(content);\n const hasCodes = !R.isEmpty(codes);\n const hasUncoded = R.length(codes) !== R.length(content);\n const joinedCodes = R.pipe(R.join(','), codes => (hasUncoded ? `${codes},` : codes))(codes);\n return (\n <TooltipHeader classes={classes} content={content} HTMLRenderer={HTMLRenderer}>\n <sup className={classes.svgWrapper}>\n {hasCodes && joinedCodes}\n {hasUncoded && <Asterisk className={classes.svg} />}\n </sup>\n </TooltipHeader>\n );\n};\n\nFlags.propTypes = {\n classes: PropTypes.object,\n HTMLRenderer: PropTypes.func,\n content: PropTypes.arrayOf(\n PropTypes.shape({\n header: PropTypes.string,\n label: PropTypes.string,\n sub: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n }),\n ),\n }),\n ),\n};\n\nexport default Flags;\n","import * as R from 'ramda';\nimport { T4_BREAKPOINTS } from '../theme';\n\nexport const getReducedContent = ({ isWidthLess, ...rest }) =>\n R.pipe(\n R.evolve({\n title: R.of,\n subtitle: R.identity,\n uprs: R.of,\n disclaimer: label => [{ label }],\n }),\n R.props(['title', 'subtitle', 'uprs', 'disclaimer']),\n R.cond([\n [R.always(isWidthLess(T4_BREAKPOINTS.xs2)), R.identity],\n [R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.tail],\n [R.T, R.always([])],\n ]),\n R.unnest,\n R.reject(R.isNil),\n )(rest);\n","import React from 'react';\nimport * as R from 'ramda';\nimport useSize from '@react-hook/size';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { useTheme } from '@mui/material/styles';\nimport { Info } from '@mui/icons-material';\nimport Typography from '@mui/material/Typography';\nimport { T4_BREAKPOINTS } from '../theme';\nimport Title from './Title';\nimport Flags from './Flags';\nimport { TooltipHeader } from './TooltipHeader';\nimport { getReducedContent } from './utils';\n\nconst useStyles = makeStyles(theme => ({\n header: {\n alignItems: 'center',\n display: 'flex',\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n marginBottom: 10,\n marginTop: 10,\n alignItems: 'baseline',\n ...R.pathOr({}, ['mixins', 'dataHeader', 'root'], theme),\n },\n title: {\n display: 'inline-block',\n width: '100%',\n lineHeight: 1.5,\n ...R.pathOr({}, ['mixins', 'dataHeader', 'title'], theme),\n },\n wrapperSubtitle: {\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n lineHeight: 1.3,\n },\n subtitle: {\n display: 'flex',\n alignItems: 'center',\n lineHeight: 1.6,\n color: theme.palette.grey[600],\n ...R.pathOr({}, ['mixins', 'dataHeader', 'subtitle'], theme),\n },\n disclaimer: {\n padding: theme.spacing(0.5),\n lineHeight: 1.5,\n ...R.pathOr({}, ['mixins', 'dataHeader', 'disclaimer'], theme),\n },\n pagination: {\n padding: theme.spacing(0.5),\n lineHeight: 1.5,\n ...R.pathOr({}, ['mixins', 'dataHeader', 'subtitle'], theme),\n },\n infoIcon: {\n height: '0.8em',\n color: theme.palette.grey[600],\n },\n svgWrapper: {\n marginLeft: 4,\n ...theme.typography.body1,\n },\n svg: {\n fontSize: 'inherit',\n borderBottom: '1px dotted',\n borderBottomColor: 'inherit',\n },\n content: {\n boxSizing: 'border-box',\n color: 'white',\n listStyleType: 'none',\n maxWidth: 270,\n padding: 0,\n margin: 0,\n fontSize: 12,\n fontWeight: 400,\n lineHeight: 1.43,\n ...theme.typography.body1,\n },\n subContent: {\n listStyle: 'none',\n padding: 0,\n marginLeft: 20,\n maxWidth: 270,\n ...theme.typography.body1,\n },\n sticky: {\n position: 'sticky',\n left: 0,\n },\n sideIconContainer: {\n marginLeft: '10px',\n },\n}));\n\nconst BasicHTMLRenderer = ({ html, ...rest }) => (\n <span dangerouslySetInnerHTML={{ __html: html }} {...rest} />\n);\n\nexport const DataHeader = ({\n children,\n title,\n subtitle = [],\n combinations,\n disclaimer,\n sideProps,\n SideIcon,\n isSticky = false,\n HTMLRenderer = BasicHTMLRenderer,\n pagination,\n}) => {\n const target = React.useRef(null);\n const [width] = useSize(target);\n const isWidthUp = R.gte(width);\n const isWidthLess = R.lt(width);\n const classes = useStyles();\n\n const reducedContent = getReducedContent({\n isWidthLess,\n title,\n subtitle,\n combinations,\n disclaimer,\n });\n\n const theme = useTheme();\n const iconColor = R.path(['mixins', 'dataHeader', 'icon', 'color'], theme);\n const fontSizeTitle = R.cond([\n [R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.always(12)],\n [R.always(isWidthLess(T4_BREAKPOINTS.sm)), R.always(14)],\n [R.always(isWidthLess(T4_BREAKPOINTS.md2)), R.always(16)],\n [R.T, R.identity],\n ])(18);\n const fontSizeSubtitle = R.cond([\n [R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.always(12)],\n [R.always(isWidthLess(T4_BREAKPOINTS.sm)), R.always(13)],\n ])(14);\n const subtitleLength = R.length(subtitle);\n const combinationsLength = R.length(combinations);\n\n return (\n <div\n className={classes.header}\n style={{\n justifyContent: isWidthLess(T4_BREAKPOINTS.xs2) ? 'flex-end' : 'space-between',\n }}\n ref={target}\n data-testid=\"data-header\"\n >\n <div className={cx(classes.container, { [classes.sticky]: isSticky })}>\n {isWidthUp(T4_BREAKPOINTS.xs2) && title && (\n <Typography\n variant=\"h1\"\n className={classes.title}\n style={{ fontSize: fontSizeTitle }}\n data-testid=\"data-header-title\"\n tabIndex=\"-1\"\n aria-label={title.label}\n >\n {title.label}\n {!R.isNil(SideIcon) && (\n <span className={classes.sideIconContainer}>\n <SideIcon sideProps={sideProps} />\n </span>\n )}\n <Flags\n classes={classes}\n HTMLRenderer={HTMLRenderer}\n content={R.propOr([], 'flags', title)}\n />\n </Typography>\n )}\n {isWidthUp(T4_BREAKPOINTS.xs3) && subtitle && R.not(R.isEmpty(subtitle)) && (\n <div className={classes.wrapperSubtitle}>\n {R.pipe(\n R.addIndex(R.map)((sub, index) => (\n <div\n key={`subtitle-${index}`}\n className={classes.subtitle}\n style={{ fontSize: fontSizeSubtitle }}\n data-testid=\"data-header-subtitle\"\n aria-label={sub.header}\n >\n <Title header={sub.header} />\n <Typography variant=\"inherit\">{sub.label}</Typography>\n {R.not(R.isEmpty(R.propOr([], 'flags', sub))) && (\n <Flags\n classes={classes}\n HTMLRenderer={HTMLRenderer}\n content={R.prop('flags', sub)}\n />\n )}\n {R.lt(index + 1, subtitleLength) && (\n <svg width=\"24\" height=\"8\">\n <circle cx=\"12\" cy=\"4\" r=\"3\" stroke={iconColor} fill={iconColor} />\n </svg>\n )}\n </div>\n )),\n )(subtitle)}\n </div>\n )}\n {isWidthUp(T4_BREAKPOINTS.xs3) && combinations && R.not(R.isEmpty(combinations)) && (\n <div className={classes.wrapperSubtitle}>\n {R.pipe(\n R.addIndex(R.map)((comb, index) => (\n <div\n key={`combination-${index}`}\n className={classes.subtitle}\n data-testid=\"data-header-combination\"\n aria-label={comb.header}\n >\n <Title header={comb.header} />\n <Typography variant=\"inherit\">{comb.label}</Typography>\n {R.not(R.isEmpty(R.propOr([], 'flags', comb))) && (\n <Flags\n classes={classes}\n HTMLRenderer={HTMLRenderer}\n content={R.prop('flags', comb)}\n />\n )}\n {R.lt(index + 1, combinationsLength) && (\n <svg width=\"24\" height=\"8\">\n <circle cx=\"12\" cy=\"4\" r=\"3\" stroke={iconColor} fill={iconColor} />\n </svg>\n )}\n </div>\n )),\n )(combinations)}\n </div>\n )}\n {isWidthUp(T4_BREAKPOINTS.xs3) && disclaimer && (\n <Typography\n data-testid=\"data-header-disclaimer\"\n className={classes.disclaimer}\n style={{ fontSize: fontSizeSubtitle }}\n >\n {disclaimer}\n </Typography>\n )}\n {pagination && (\n <div\n data-testid=\"data-header-pagination\"\n className={classes.pagination}\n style={{ fontSize: fontSizeSubtitle }}\n >\n {pagination}\n </div>\n )}\n </div>\n <div className={classes.children}>\n {R.not(R.isEmpty(reducedContent)) && (\n <TooltipHeader classes={classes} content={reducedContent} HTMLRenderer={HTMLRenderer}>\n <Info className={classes.infoIcon} />\n </TooltipHeader>\n )}\n {children}\n </div>\n </div>\n );\n};\n"],"names":["label","index","codes"],"mappings":";;;;;;;;;;;;;;;AAIA,MAAM,KAAA,GAAQ,CAAC,EAAE,MAAA,EAAO,KAAM;AAC5B,EAAA,IAAI,KAAA,CAAM,MAAM,CAAA,EAAG;AACjB,IAAA,OAAO,EAAA;AAAA,EACT;AACA,EAAA,4BACG,GAAA,EAAA,EACC,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,OAAG,QAAA,EAAA,MAAA,EAAO,CAAA;AAAA,IAAI;AAAA,GAAA,EACjB,CAAA;AAEJ,CAAA;AAEA,KAAA,CAAM,SAAA,GAAY;AAAA,EAChB,QAAQ,SAAA,CAAU;AACpB,CAAA;;ACZO,MAAM,aAAA,GAAgB,CAAC,EAAE,QAAA,EAAU,SAAS,YAAA,EAAc,OAAA,GAAU,EAAC,EAAE,KAAM;AAClF,EAAA,IAAI,CAAA,CAAE,OAAA,CAAQ,OAAO,CAAA,EAAG,OAAO,IAAA;AAE/B,EAAA,MAAM,WAAA,uBACH,IAAA,EAAA,EAAG,SAAA,EAAW,QAAQ,OAAA,EACpB,QAAA,EAAA,CAAA,CAAE,QAAA,CAAS,CAAA,CAAE,GAAG,CAAA;AAAA,IACf,CAAC,EAAE,MAAA,EAAQ,KAAA,EAAO,GAAA,GAAM,EAAC,EAAE,EAAG,KAAA,qBAC5B,IAAA,CAAC,IAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAM,MAAA,EAAgB,CAAA;AAAA,MACtB,CAAA,CAAE,GAAG,QAAA,EAAU,YAAY,oBAAI,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAM,KAAA,EAAO,CAAA,GAAK,KAAA;AAAA,MAC/D,CAAA,CAAE,GAAA,CAAI,CAAA,CAAE,OAAA,CAAQ,GAAG,CAAC,CAAA,oBACnB,GAAA,CAAC,IAAA,EAAA,EAAG,WAAW,OAAA,CAAQ,UAAA,EACpB,QAAA,EAAA,CAAA,CAAE,QAAA,CAAS,EAAE,GAAG,CAAA;AAAA,QACf,CAAC,EAAE,KAAA,EAAAA,MAAAA,IAASC,MAAAA,qBACV,GAAA,CAAC,IAAA,EAAA,EACE,QAAA,EAAA,CAAA,CAAE,EAAA,CAAG,QAAA,EAAU,YAAY,CAAA,mBAAI,GAAA,CAAC,YAAA,EAAA,EAAa,IAAA,EAAMD,MAAAA,EAAO,CAAA,GAAKA,UADzD,CAAA,EAAGA,MAAK,CAAA,CAAA,EAAIC,MAAK,CAAA,CAE1B,CAAA;AAAA,QAEF;AAAA,OACF,EACF;AAAA,KAAA,EAAA,EAbK,CAAA,EAAG,KAAK,CAAA,CAAA,EAAI,KAAK,CAAA,CAe1B,CAAA;AAAA,IAEF;AAAA,GACF,EACF,CAAA;AAGF,EAAA,uBACE,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,WAAA;AAAA,MACP,QAAA,EAAU,CAAA;AAAA,MACV,YAAA,EAAY,CAAA,CAAE,IAAA,CAAK,CAAA,CAAE,KAAA,CAAM,OAAO,CAAA,EAAG,CAAA,CAAE,IAAA,CAAK,IAAI,CAAC,CAAA,CAAE,OAAO,CAAA;AAAA,MAC1D,aAAA,EAAa,KAAA;AAAA,MACb,SAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa;AAAA,QACX,SAAA,EAAW;AAAA,UACT,IAAA,EAAM;AAAA,YACJ,QAAA,EAAU,CAAC,KAAA,EAAO,QAAA,EAAU,QAAQ,OAAO;AAAA;AAC7C;AACF,OACF;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAA;;AC9CA,MAAM,QAAQ,CAAC,EAAE,OAAA,EAAS,OAAA,EAAS,cAAa,KAAM;AACpD,EAAA,MAAM,KAAA,GAAQ,CAAA,CAAE,IAAA,CAAK,CAAA,CAAE,KAAA,CAAM,MAAM,CAAA,EAAG,CAAA,CAAE,MAAA,CAAO,CAAA,CAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;AACnE,EAAA,MAAM,QAAA,GAAW,CAAC,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AACjC,EAAA,MAAM,aAAa,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA,KAAM,CAAA,CAAE,OAAO,OAAO,CAAA;AACvD,EAAA,MAAM,WAAA,GAAc,CAAA,CAAE,IAAA,CAAK,CAAA,CAAE,KAAK,GAAG,CAAA,EAAG,CAAAC,MAAAA,KAAU,aAAa,CAAA,EAAGA,MAAK,CAAA,CAAA,CAAA,GAAMA,MAAM,EAAE,KAAK,CAAA;AAC1F,EAAA,uBACE,GAAA,CAAC,iBAAc,OAAA,EAAkB,OAAA,EAAkB,cACjD,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,UAAA,EACrB,QAAA,EAAA;AAAA,IAAA,QAAA,IAAY,WAAA;AAAA,IACZ,UAAA,oBAAc,GAAA,CAAC,QAAA,EAAA,EAAS,SAAA,EAAW,QAAQ,GAAA,EAAK;AAAA,GAAA,EACnD,CAAA,EACF,CAAA;AAEJ,CAAA;AAEA,KAAA,CAAM,SAAA,GAAY;AAAA,EAChB,SAAS,SAAA,CAAU,MAAA;AAAA,EACnB,cAAc,SAAA,CAAU,IAAA;AAAA,EACxB,SAAS,SAAA,CAAU,OAAA;AAAA,IACjB,UAAU,KAAA,CAAM;AAAA,MACd,QAAQ,SAAA,CAAU,MAAA;AAAA,MAClB,OAAO,SAAA,CAAU,MAAA;AAAA,MACjB,KAAK,SAAA,CAAU,OAAA;AAAA,QACb,UAAU,KAAA,CAAM;AAAA,UACd,OAAO,SAAA,CAAU;AAAA,SAClB;AAAA;AACH,KACD;AAAA;AAEL,CAAA;;AChCO,MAAM,iBAAiB,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE;AAC1D,EAAE,CAAC,CAAC,IAAI;AACR,IAAI,CAAC,CAAC,MAAM,CAAC;AACb,MAAM,KAAK,EAAE,CAAC,CAAC,EAAE;AACjB,MAAM,QAAQ,EAAE,CAAC,CAAC,QAAQ;AAC1B,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE;AAChB,MAAM,UAAU,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;AACtC,KAAK,CAAC;AACN,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AACxD,IAAI,CAAC,CAAC,IAAI,CAAC;AACX,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;AAC7D,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;AACzD,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACzB,KAAK,CAAC;AACN,IAAI,CAAC,CAAC,MAAM;AACZ,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AACrB,GAAG,CAAC,IAAI,CAAC;;ACLT,MAAM,SAAA,GAAY,WAAW,CAAA,KAAA,MAAU;AAAA,EACrC,MAAA,EAAQ;AAAA,IACN,UAAA,EAAY,QAAA;AAAA,IACZ,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,cAAA,EAAgB,YAAA;AAAA,IAChB,YAAA,EAAc,EAAA;AAAA,IACd,SAAA,EAAW,EAAA;AAAA,IACX,UAAA,EAAY,UAAA;AAAA,IACZ,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,YAAA,EAAc,MAAM,CAAA,EAAG,KAAK;AAAA,GACzD;AAAA,EACA,KAAA,EAAO;AAAA,IACL,OAAA,EAAS,cAAA;AAAA,IACT,KAAA,EAAO,MAAA;AAAA,IACP,UAAA,EAAY,GAAA;AAAA,IACZ,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,YAAA,EAAc,OAAO,CAAA,EAAG,KAAK;AAAA,GAC1D;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY,QAAA;AAAA,IACZ,OAAA,EAAS,MAAA;AAAA,IACT,QAAA,EAAU,MAAA;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,UAAA,EAAY;AAAA,GACd;AAAA,EACA,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,UAAA,EAAY,GAAA;AAAA,IACZ,KAAA,EAAO,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,GAAG,CAAA;AAAA,IAC7B,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,YAAA,EAAc,UAAU,CAAA,EAAG,KAAK;AAAA,GAC7D;AAAA,EACA,UAAA,EAAY;AAAA,IACV,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA;AAAA,IAC1B,UAAA,EAAY,GAAA;AAAA,IACZ,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,YAAA,EAAc,YAAY,CAAA,EAAG,KAAK;AAAA,GAC/D;AAAA,EACA,UAAA,EAAY;AAAA,IACV,OAAA,EAAS,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA;AAAA,IAC1B,UAAA,EAAY,GAAA;AAAA,IACZ,GAAG,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,CAAC,QAAA,EAAU,YAAA,EAAc,UAAU,CAAA,EAAG,KAAK;AAAA,GAC7D;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAA,EAAQ,OAAA;AAAA,IACR,KAAA,EAAO,KAAA,CAAM,OAAA,CAAQ,IAAA,CAAK,GAAG;AAAA,GAC/B;AAAA,EACA,UAAA,EAAY;AAAA,IACV,UAAA,EAAY,CAAA;AAAA,IACZ,GAAG,MAAM,UAAA,CAAW;AAAA,GACtB;AAAA,EACA,GAAA,EAAK;AAAA,IACH,QAAA,EAAU,SAAA;AAAA,IACV,YAAA,EAAc,YAAA;AAAA,IACd,iBAAA,EAAmB;AAAA,GACrB;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EAAW,YAAA;AAAA,IACX,KAAA,EAAO,OAAA;AAAA,IACP,aAAA,EAAe,MAAA;AAAA,IACf,QAAA,EAAU,GAAA;AAAA,IACV,OAAA,EAAS,CAAA;AAAA,IACT,MAAA,EAAQ,CAAA;AAAA,IACR,QAAA,EAAU,EAAA;AAAA,IACV,UAAA,EAAY,GAAA;AAAA,IACZ,UAAA,EAAY,IAAA;AAAA,IACZ,GAAG,MAAM,UAAA,CAAW;AAAA,GACtB;AAAA,EACA,UAAA,EAAY;AAAA,IACV,SAAA,EAAW,MAAA;AAAA,IACX,OAAA,EAAS,CAAA;AAAA,IACT,UAAA,EAAY,EAAA;AAAA,IACZ,QAAA,EAAU,GAAA;AAAA,IACV,GAAG,MAAM,UAAA,CAAW;AAAA,GACtB;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,QAAA,EAAU,QAAA;AAAA,IACV,IAAA,EAAM;AAAA,GACR;AAAA,EACA,iBAAA,EAAmB;AAAA,IACjB,UAAA,EAAY;AAAA;AAEhB,CAAA,CAAE,CAAA;AAEF,MAAM,iBAAA,GAAoB,CAAC,EAAE,IAAA,EAAM,GAAG,IAAA,EAAK,qBACzC,GAAA,CAAC,MAAA,EAAA,EAAK,yBAAyB,EAAE,MAAA,EAAQ,IAAA,EAAK,EAAI,GAAG,IAAA,EAAM,CAAA;AAGtD,MAAM,aAAa,CAAC;AAAA,EACzB,QAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAW,EAAC;AAAA,EACZ,YAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,YAAA,GAAe,iBAAA;AAAA,EACf;AACF,CAAA,KAAM;AACJ,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,MAAA,CAAO,IAAI,CAAA;AAChC,EAAA,MAAM,CAAC,KAAK,CAAA,GAAI,OAAA,CAAQ,MAAM,CAAA;AAC9B,EAAA,MAAM,SAAA,GAAY,CAAA,CAAE,GAAA,CAAI,KAAK,CAAA;AAC7B,EAAA,MAAM,WAAA,GAAc,CAAA,CAAE,EAAA,CAAG,KAAK,CAAA;AAC9B,EAAA,MAAM,UAAU,SAAA,EAAU;AAE1B,EAAA,MAAM,iBAAiB,iBAAA,CAAkB;AAAA,IACvC,WAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,QAAQ,QAAA,EAAS;AACvB,EAAA,MAAM,SAAA,GAAY,EAAE,IAAA,CAAK,CAAC,UAAU,YAAA,EAAc,MAAA,EAAQ,OAAO,CAAA,EAAG,KAAK,CAAA;AACzE,EAAA,MAAM,aAAA,GAAgB,EAAE,IAAA,CAAK;AAAA,IAC3B,CAAC,CAAA,CAAE,MAAA,CAAO,WAAA,CAAY,cAAA,CAAe,GAAG,CAAC,CAAA,EAAG,CAAA,CAAE,MAAA,CAAO,EAAE,CAAC,CAAA;AAAA,IACxD,CAAC,CAAA,CAAE,MAAA,CAAO,WAAA,CAAY,cAAA,CAAe,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,MAAA,CAAO,EAAE,CAAC,CAAA;AAAA,IACvD,CAAC,CAAA,CAAE,MAAA,CAAO,WAAA,CAAY,cAAA,CAAe,GAAG,CAAC,CAAA,EAAG,CAAA,CAAE,MAAA,CAAO,EAAE,CAAC,CAAA;AAAA,IACxD,CAAC,CAAA,CAAE,CAAA,EAAG,CAAA,CAAE,QAAQ;AAAA,GACjB,EAAE,EAAE,CAAA;AACL,EAAA,MAAM,gBAAA,GAAmB,EAAE,IAAA,CAAK;AAAA,IAC9B,CAAC,CAAA,CAAE,MAAA,CAAO,WAAA,CAAY,cAAA,CAAe,GAAG,CAAC,CAAA,EAAG,CAAA,CAAE,MAAA,CAAO,EAAE,CAAC,CAAA;AAAA,IACxD,CAAC,CAAA,CAAE,MAAA,CAAO,WAAA,CAAY,cAAA,CAAe,EAAE,CAAC,CAAA,EAAG,CAAA,CAAE,MAAA,CAAO,EAAE,CAAC;AAAA,GACxD,EAAE,EAAE,CAAA;AACL,EAAA,MAAM,cAAA,GAAiB,CAAA,CAAE,MAAA,CAAO,QAAQ,CAAA;AACxC,EAAA,MAAM,kBAAA,GAAqB,CAAA,CAAE,MAAA,CAAO,YAAY,CAAA;AAEhD,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAW,OAAA,CAAQ,MAAA;AAAA,MACnB,KAAA,EAAO;AAAA,QACL,cAAA,EAAgB,WAAA,CAAY,cAAA,CAAe,GAAG,IAAI,UAAA,GAAa;AAAA,OACjE;AAAA,MACA,GAAA,EAAK,MAAA;AAAA,MACL,aAAA,EAAY,aAAA;AAAA,MAEZ,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,EAAA,CAAG,OAAA,CAAQ,SAAA,EAAW,EAAE,CAAC,OAAA,CAAQ,MAAM,GAAG,QAAA,EAAU,CAAA,EACjE,QAAA,EAAA;AAAA,UAAA,SAAA,CAAU,cAAA,CAAe,GAAG,CAAA,IAAK,KAAA,oBAChC,IAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,OAAA,EAAQ,IAAA;AAAA,cACR,WAAW,OAAA,CAAQ,KAAA;AAAA,cACnB,KAAA,EAAO,EAAE,QAAA,EAAU,aAAA,EAAc;AAAA,cACjC,aAAA,EAAY,mBAAA;AAAA,cACZ,QAAA,EAAS,IAAA;AAAA,cACT,cAAY,KAAA,CAAM,KAAA;AAAA,cAEjB,QAAA,EAAA;AAAA,gBAAA,KAAA,CAAM,KAAA;AAAA,gBACN,CAAC,CAAA,CAAE,KAAA,CAAM,QAAQ,CAAA,oBAChB,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,iBAAA,EACvB,QAAA,kBAAA,GAAA,CAAC,QAAA,EAAA,EAAS,WAAsB,CAAA,EAClC,CAAA;AAAA,gCAEF,GAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,OAAA;AAAA,oBACA,YAAA;AAAA,oBACA,SAAS,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,SAAS,KAAK;AAAA;AAAA;AACtC;AAAA;AAAA,WACF;AAAA,UAED,UAAU,cAAA,CAAe,GAAG,CAAA,IAAK,QAAA,IAAY,EAAE,GAAA,CAAI,CAAA,CAAE,OAAA,CAAQ,QAAQ,CAAC,CAAA,oBACrE,GAAA,CAAC,SAAI,SAAA,EAAW,OAAA,CAAQ,iBACrB,QAAA,EAAA,CAAA,CAAE,IAAA;AAAA,YACD,EAAE,QAAA,CAAS,CAAA,CAAE,GAAG,CAAA,CAAE,CAAC,KAAK,KAAA,qBACtB,IAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBAEC,WAAW,OAAA,CAAQ,QAAA;AAAA,gBACnB,KAAA,EAAO,EAAE,QAAA,EAAU,gBAAA,EAAiB;AAAA,gBACpC,aAAA,EAAY,sBAAA;AAAA,gBACZ,cAAY,GAAA,CAAI,MAAA;AAAA,gBAEhB,QAAA,EAAA;AAAA,kCAAA,GAAA,CAAC,KAAA,EAAA,EAAM,MAAA,EAAQ,GAAA,CAAI,MAAA,EAAQ,CAAA;AAAA,kCAC3B,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,SAAA,EAAW,cAAI,KAAA,EAAM,CAAA;AAAA,kBACxC,CAAA,CAAE,GAAA,CAAI,CAAA,CAAE,OAAA,CAAQ,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,OAAA,EAAS,GAAG,CAAC,CAAC,CAAA,oBAC1C,GAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,OAAA;AAAA,sBACA,YAAA;AAAA,sBACA,OAAA,EAAS,CAAA,CAAE,IAAA,CAAK,OAAA,EAAS,GAAG;AAAA;AAAA,mBAC9B;AAAA,kBAED,CAAA,CAAE,EAAA,CAAG,KAAA,GAAQ,CAAA,EAAG,cAAc,qBAC7B,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,GAAA,EACrB,8BAAC,QAAA,EAAA,EAAO,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,GAAA,EAAI,CAAA,EAAE,KAAI,MAAA,EAAQ,SAAA,EAAW,IAAA,EAAM,SAAA,EAAW,CAAA,EACnE;AAAA;AAAA,eAAA;AAAA,cAlBG,YAAY,KAAK,CAAA;AAAA,aAqBzB;AAAA,WACH,CAAE,QAAQ,CAAA,EACZ,CAAA;AAAA,UAED,UAAU,cAAA,CAAe,GAAG,CAAA,IAAK,YAAA,IAAgB,EAAE,GAAA,CAAI,CAAA,CAAE,OAAA,CAAQ,YAAY,CAAC,CAAA,oBAC7E,GAAA,CAAC,SAAI,SAAA,EAAW,OAAA,CAAQ,iBACrB,QAAA,EAAA,CAAA,CAAE,IAAA;AAAA,YACD,EAAE,QAAA,CAAS,CAAA,CAAE,GAAG,CAAA,CAAE,CAAC,MAAM,KAAA,qBACvB,IAAA;AAAA,cAAC,KAAA;AAAA,cAAA;AAAA,gBAEC,WAAW,OAAA,CAAQ,QAAA;AAAA,gBACnB,aAAA,EAAY,yBAAA;AAAA,gBACZ,cAAY,IAAA,CAAK,MAAA;AAAA,gBAEjB,QAAA,EAAA;AAAA,kCAAA,GAAA,CAAC,KAAA,EAAA,EAAM,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,CAAA;AAAA,kCAC5B,GAAA,CAAC,UAAA,EAAA,EAAW,OAAA,EAAQ,SAAA,EAAW,eAAK,KAAA,EAAM,CAAA;AAAA,kBACzC,CAAA,CAAE,GAAA,CAAI,CAAA,CAAE,OAAA,CAAQ,CAAA,CAAE,MAAA,CAAO,EAAC,EAAG,OAAA,EAAS,IAAI,CAAC,CAAC,CAAA,oBAC3C,GAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,OAAA;AAAA,sBACA,YAAA;AAAA,sBACA,OAAA,EAAS,CAAA,CAAE,IAAA,CAAK,OAAA,EAAS,IAAI;AAAA;AAAA,mBAC/B;AAAA,kBAED,CAAA,CAAE,EAAA,CAAG,KAAA,GAAQ,CAAA,EAAG,kBAAkB,qBACjC,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,GAAA,EACrB,8BAAC,QAAA,EAAA,EAAO,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,GAAA,EAAI,CAAA,EAAE,KAAI,MAAA,EAAQ,SAAA,EAAW,IAAA,EAAM,SAAA,EAAW,CAAA,EACnE;AAAA;AAAA,eAAA;AAAA,cAjBG,eAAe,KAAK,CAAA;AAAA,aAoB5B;AAAA,WACH,CAAE,YAAY,CAAA,EAChB,CAAA;AAAA,UAED,SAAA,CAAU,cAAA,CAAe,GAAG,CAAA,IAAK,UAAA,oBAChC,GAAA;AAAA,YAAC,UAAA;AAAA,YAAA;AAAA,cACC,aAAA,EAAY,wBAAA;AAAA,cACZ,WAAW,OAAA,CAAQ,UAAA;AAAA,cACnB,KAAA,EAAO,EAAE,QAAA,EAAU,gBAAA,EAAiB;AAAA,cAEnC,QAAA,EAAA;AAAA;AAAA,WACH;AAAA,UAED,UAAA,oBACC,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,aAAA,EAAY,wBAAA;AAAA,cACZ,WAAW,OAAA,CAAQ,UAAA;AAAA,cACnB,KAAA,EAAO,EAAE,QAAA,EAAU,gBAAA,EAAiB;AAAA,cAEnC,QAAA,EAAA;AAAA;AAAA;AACH,SAAA,EAEJ,CAAA;AAAA,wBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,QAAA,EACrB,QAAA,EAAA;AAAA,UAAA,CAAA,CAAE,IAAI,CAAA,CAAE,OAAA,CAAQ,cAAc,CAAC,qBAC9B,GAAA,CAAC,aAAA,EAAA,EAAc,OAAA,EAAkB,OAAA,EAAS,gBAAgB,YAAA,EACxD,QAAA,kBAAA,GAAA,CAAC,QAAK,SAAA,EAAW,OAAA,CAAQ,UAAU,CAAA,EACrC,CAAA;AAAA,UAED;AAAA,SAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ;;;;"}
|
|
1
|
+
{"version":3,"file":"DataHeader.js","sources":["../../src/DataHeader/Title.jsx","../../src/DataHeader/TooltipHeader.jsx","../../src/DataHeader/Flags.jsx","../../src/DataHeader/utils.js","../../src/DataHeader/DataHeader.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { isNil } from 'ramda';\n\nconst Title = ({ header }) => {\n if (isNil(header)) {\n return '';\n }\n return (\n <b>\n <i>{header}</i> \n </b>\n );\n};\n\nTitle.propTypes = {\n header: PropTypes.string,\n};\n\nexport default Title;\n","import React from 'react';\nimport * as R from 'ramda';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport Title from './Title';\n\nconst EMPTY_CONTENT = [];\n\nexport const TooltipHeader = ({ children, classes, HTMLRenderer, content = EMPTY_CONTENT }) => {\n if (R.isEmpty(content)) return null;\n\n const listContent = (\n <ul className={classes.content}>\n {R.addIndex(R.map)(\n ({ header, label, sub = [] }, index) => (\n <li key={`${label}-${index}`}>\n <Title header={header} />\n {R.is(Function, HTMLRenderer) ? <HTMLRenderer html={label} /> : label}\n {R.not(R.isEmpty(sub)) && (\n <ul className={classes.subContent}>\n {R.addIndex(R.map)(\n ({ label: subLabel }, subIndex) => (\n <li key={`${subLabel}-${subIndex}`}>\n {R.is(Function, HTMLRenderer) ? <HTMLRenderer html={subLabel} /> : subLabel}\n </li>\n ),\n sub\n )}\n </ul>\n )}\n </li>\n ),\n content\n )}\n </ul>\n );\n\n return (\n <Tooltip\n title={listContent}\n tabIndex={0}\n aria-label={R.pipe(R.pluck('label'), R.join(', '))(content)}\n aria-hidden={false}\n placement=\"top\"\n PopperProps={{\n modifiers: {\n flip: {\n behavior: ['top', 'bottom', 'left', 'right'],\n },\n },\n }}\n >\n {children}\n </Tooltip>\n );\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as R from 'ramda';\nimport { Asterisk } from '../Icons/Asterisk';\nimport { TooltipHeader } from './TooltipHeader';\n\nconst Flags = ({ classes, content, HTMLRenderer }) => {\n const codes = R.pipe(R.pluck('code'), R.filter(R.identity))(content);\n const hasCodes = !R.isEmpty(codes);\n const hasUncoded = R.length(codes) !== R.length(content);\n const joinedCodes = R.pipe(R.join(','), (joined) => (hasUncoded ? `${joined},` : joined))(codes);\n return (\n <TooltipHeader classes={classes} content={content} HTMLRenderer={HTMLRenderer}>\n <sup className={classes.svgWrapper}>\n {hasCodes && joinedCodes}\n {hasUncoded && <Asterisk className={classes.svg} />}\n </sup>\n </TooltipHeader>\n );\n};\n\nFlags.propTypes = {\n classes: PropTypes.object,\n HTMLRenderer: PropTypes.func,\n content: PropTypes.arrayOf(\n PropTypes.shape({\n header: PropTypes.string,\n label: PropTypes.string,\n sub: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n })\n ),\n })\n ),\n};\n\nexport default Flags;\n","import * as R from 'ramda';\nimport { T4_BREAKPOINTS } from '../theme';\n\nexport const getReducedContent = ({ isWidthLess, ...rest }) =>\n R.pipe(\n R.evolve({\n title: R.of,\n subtitle: R.identity,\n uprs: R.of,\n disclaimer: (label) => [{ label }],\n }),\n R.props(['title', 'subtitle', 'uprs', 'disclaimer']),\n R.cond([\n [R.always(isWidthLess(T4_BREAKPOINTS.xs2)), R.identity],\n [R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.tail],\n [R.T, R.always([])],\n ]),\n R.unnest,\n R.reject(R.isNil)\n )(rest);\n","import React from 'react';\nimport * as R from 'ramda';\nimport useSize from '@react-hook/size';\nimport cx from 'classnames';\nimport makeStyles from '@mui/styles/makeStyles';\nimport { useTheme } from '@mui/material/styles';\nimport { Info } from '@mui/icons-material';\nimport Typography from '@mui/material/Typography';\nimport { T4_BREAKPOINTS } from '../theme';\nimport Title from './Title';\nimport Flags from './Flags';\nimport { TooltipHeader } from './TooltipHeader';\nimport { getReducedContent } from './utils';\n\nconst useStyles = makeStyles((theme) => ({\n header: {\n alignItems: 'center',\n display: 'flex',\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n marginBottom: 10,\n marginTop: 10,\n alignItems: 'baseline',\n ...R.pathOr({}, ['mixins', 'dataHeader', 'root'], theme),\n },\n title: {\n display: 'inline-block',\n width: '100%',\n lineHeight: 1.5,\n ...R.pathOr({}, ['mixins', 'dataHeader', 'title'], theme),\n },\n wrapperSubtitle: {\n alignItems: 'center',\n display: 'flex',\n flexWrap: 'wrap',\n width: '100%',\n lineHeight: 1.3,\n },\n subtitle: {\n display: 'flex',\n alignItems: 'center',\n lineHeight: 1.6,\n color: theme.palette.grey[600],\n ...R.pathOr({}, ['mixins', 'dataHeader', 'subtitle'], theme),\n },\n disclaimer: {\n padding: theme.spacing(0.5),\n lineHeight: 1.5,\n ...R.pathOr({}, ['mixins', 'dataHeader', 'disclaimer'], theme),\n },\n pagination: {\n padding: theme.spacing(0.5),\n lineHeight: 1.5,\n ...R.pathOr({}, ['mixins', 'dataHeader', 'subtitle'], theme),\n },\n infoIcon: {\n height: '0.8em',\n color: theme.palette.grey[600],\n },\n svgWrapper: {\n marginLeft: 4,\n ...theme.typography.body1,\n },\n svg: {\n fontSize: 'inherit',\n borderBottom: '1px dotted',\n borderBottomColor: 'inherit',\n },\n content: {\n boxSizing: 'border-box',\n color: 'white',\n listStyleType: 'none',\n maxWidth: 270,\n padding: 0,\n margin: 0,\n fontSize: 12,\n fontWeight: 400,\n lineHeight: 1.43,\n ...theme.typography.body1,\n },\n subContent: {\n listStyle: 'none',\n padding: 0,\n marginLeft: 20,\n maxWidth: 270,\n ...theme.typography.body1,\n },\n sticky: {\n position: 'sticky',\n left: 0,\n },\n sideIconContainer: {\n marginLeft: '10px',\n },\n}));\n\nconst BasicHTMLRenderer = ({ html, ...rest }) => (\n <span dangerouslySetInnerHTML={{ __html: html }} {...rest} />\n);\n\nconst EMPTY_SUBTITLE = [];\n\nexport const DataHeader = ({\n children,\n title,\n subtitle = EMPTY_SUBTITLE,\n combinations,\n disclaimer,\n sideProps,\n SideIcon,\n isSticky = false,\n HTMLRenderer = BasicHTMLRenderer,\n pagination,\n}) => {\n const target = React.useRef(null);\n const [width] = useSize(target);\n const isWidthUp = R.gte(width);\n const isWidthLess = R.lt(width);\n const classes = useStyles();\n\n const reducedContent = getReducedContent({\n isWidthLess,\n title,\n subtitle,\n combinations,\n disclaimer,\n });\n\n const theme = useTheme();\n const iconColor = R.path(['mixins', 'dataHeader', 'icon', 'color'], theme);\n const fontSizeTitle = R.cond([\n [R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.always(12)],\n [R.always(isWidthLess(T4_BREAKPOINTS.sm)), R.always(14)],\n [R.always(isWidthLess(T4_BREAKPOINTS.md2)), R.always(16)],\n [R.T, R.identity],\n ])(18);\n const fontSizeSubtitle = R.cond([\n [R.always(isWidthLess(T4_BREAKPOINTS.xs3)), R.always(12)],\n [R.always(isWidthLess(T4_BREAKPOINTS.sm)), R.always(13)],\n ])(14);\n const subtitleLength = R.length(subtitle);\n const combinationsLength = R.length(combinations);\n\n return (\n <div\n className={classes.header}\n style={{\n justifyContent: isWidthLess(T4_BREAKPOINTS.xs2) ? 'flex-end' : 'space-between',\n }}\n ref={target}\n data-testid=\"data-header\"\n >\n <div className={cx(classes.container, { [classes.sticky]: isSticky })}>\n {isWidthUp(T4_BREAKPOINTS.xs2) && title && (\n <Typography\n variant=\"h1\"\n className={classes.title}\n style={{ fontSize: fontSizeTitle }}\n data-testid=\"data-header-title\"\n tabIndex=\"-1\"\n aria-label={title.label}\n >\n {title.label}\n {!R.isNil(SideIcon) && (\n <span className={classes.sideIconContainer}>\n <SideIcon sideProps={sideProps} />\n </span>\n )}\n <Flags\n classes={classes}\n HTMLRenderer={HTMLRenderer}\n content={R.propOr([], 'flags', title)}\n />\n </Typography>\n )}\n {isWidthUp(T4_BREAKPOINTS.xs3) && subtitle && R.not(R.isEmpty(subtitle)) && (\n <div className={classes.wrapperSubtitle}>\n {R.pipe(\n R.addIndex(R.map)((sub, index) => (\n <div\n key={`subtitle-${index}`}\n className={classes.subtitle}\n style={{ fontSize: fontSizeSubtitle }}\n data-testid=\"data-header-subtitle\"\n aria-label={sub.header}\n >\n <Title header={sub.header} />\n <Typography variant=\"inherit\">{sub.label}</Typography>\n {R.not(R.isEmpty(R.propOr([], 'flags', sub))) && (\n <Flags\n classes={classes}\n HTMLRenderer={HTMLRenderer}\n content={R.prop('flags', sub)}\n />\n )}\n {R.lt(index + 1, subtitleLength) && (\n <svg width=\"24\" height=\"8\">\n <circle cx=\"12\" cy=\"4\" r=\"3\" stroke={iconColor} fill={iconColor} />\n </svg>\n )}\n </div>\n ))\n )(subtitle)}\n </div>\n )}\n {isWidthUp(T4_BREAKPOINTS.xs3) && combinations && R.not(R.isEmpty(combinations)) && (\n <div className={classes.wrapperSubtitle}>\n {R.pipe(\n R.addIndex(R.map)((comb, index) => (\n <div\n key={`combination-${index}`}\n className={classes.subtitle}\n data-testid=\"data-header-combination\"\n aria-label={comb.header}\n >\n <Title header={comb.header} />\n <Typography variant=\"inherit\">{comb.label}</Typography>\n {R.not(R.isEmpty(R.propOr([], 'flags', comb))) && (\n <Flags\n classes={classes}\n HTMLRenderer={HTMLRenderer}\n content={R.prop('flags', comb)}\n />\n )}\n {R.lt(index + 1, combinationsLength) && (\n <svg width=\"24\" height=\"8\">\n <circle cx=\"12\" cy=\"4\" r=\"3\" stroke={iconColor} fill={iconColor} />\n </svg>\n )}\n </div>\n ))\n )(combinations)}\n </div>\n )}\n {isWidthUp(T4_BREAKPOINTS.xs3) && disclaimer && (\n <Typography\n data-testid=\"data-header-disclaimer\"\n className={classes.disclaimer}\n style={{ fontSize: fontSizeSubtitle }}\n >\n {disclaimer}\n </Typography>\n )}\n {pagination && (\n <div\n data-testid=\"data-header-pagination\"\n className={classes.pagination}\n style={{ fontSize: fontSizeSubtitle }}\n >\n {pagination}\n </div>\n )}\n </div>\n <div className={classes.children}>\n {R.not(R.isEmpty(reducedContent)) && (\n <TooltipHeader classes={classes} content={reducedContent} HTMLRenderer={HTMLRenderer}>\n <Info className={classes.infoIcon} />\n </TooltipHeader>\n )}\n {children}\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -123,6 +123,9 @@ const useStyles = makeStyles((theme) => ({
|
|
|
123
123
|
}
|
|
124
124
|
}));
|
|
125
125
|
const BasicHTMLRenderer = ({ html, ...rest }) => /* @__PURE__ */ jsx("span", { dangerouslySetInnerHTML: { __html: html }, ...rest });
|
|
126
|
+
const EMPTY_DIMENSIONS = [];
|
|
127
|
+
const EMPTY_HIGHLIGHTS = [];
|
|
128
|
+
const EMPTY_CATEGORIES = [];
|
|
126
129
|
const CustomDataflow = ({
|
|
127
130
|
testId,
|
|
128
131
|
title,
|
|
@@ -131,9 +134,9 @@ const CustomDataflow = ({
|
|
|
131
134
|
handleUrl,
|
|
132
135
|
label,
|
|
133
136
|
labels,
|
|
134
|
-
dimensions =
|
|
135
|
-
highlights =
|
|
136
|
-
categories =
|
|
137
|
+
dimensions = EMPTY_DIMENSIONS,
|
|
138
|
+
highlights = EMPTY_HIGHLIGHTS,
|
|
139
|
+
categories = EMPTY_CATEGORIES,
|
|
137
140
|
children,
|
|
138
141
|
HTMLRenderer = BasicHTMLRenderer,
|
|
139
142
|
id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dataflow.js","sources":["../../src/Dataflow/Dataflow.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport useSize from '@react-hook/size';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Typography from '@mui/material/Typography';\nimport Collapse from '@mui/material/Collapse';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport CardContent from '@mui/material/CardContent';\nimport CardActions from '@mui/material/CardActions';\nimport IconButton from '@mui/material/IconButton';\nimport { ExpandLess, ExpandMore } from '@mui/icons-material';\nimport Link from '@mui/material/Link';\nimport Divider from '@mui/material/Divider';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { withBlank } from '../utils';\nimport { isLast } from '../Chips/utils';\n\nconst useStyles = makeStyles(theme => ({\n card: {\n borderBottom: `1px solid ${theme.palette.grey[700]}`,\n padding: theme.spacing(0, 0, 2, 0),\n '& mark': {\n color: 'inherit',\n borderBottom: `2px solid ${\n R.path(['palette', 'highlight', 'hl2'])(theme) || theme.palette.success.dark\n }`,\n },\n },\n cardHeader: {\n padding: theme.spacing(1, 0, 0, 0),\n },\n cardContent: {\n padding: theme.spacing(0.5, 0),\n '&:last-child': {\n padding: theme.spacing(0.5, 0),\n },\n },\n cardActions: {\n padding: theme.spacing(0.5, 0, 0, 0),\n justifyContent: 'space-between',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n },\n rightSide: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: '100%',\n padding: theme.spacing(0.5, 0),\n },\n dataset: {\n ...R.pathOr({}, ['mixins', 'dataflow', 'title'], theme),\n '&:hover': {\n color: theme.palette.primary.light,\n textDecoration: 'none', // remove this line when blueprint css import will no longer be in the DE\n },\n },\n noDisplay: {\n display: 'none',\n },\n hidden: {\n visibility: 'hidden',\n },\n descriptionHighlight: {\n padding: 0,\n },\n footer: {\n padding: theme.spacing(0.5, 0, 0, 0),\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n buttonLabel: {\n flexDirection: 'column',\n },\n divider: {\n width: 100,\n margin: theme.spacing(0.5, 0.5),\n },\n fadeContent: {\n color: theme.palette.grey['A200'],\n position: 'relative',\n overflow: 'hidden',\n },\n fading: {\n position: 'absolute',\n left: 0,\n right: 0,\n height: 15,\n margin: 0,\n padding: 0,\n backgroundImage: 'linear-gradient(to bottom, transparent, white)',\n },\n wrapper: {\n height: '100%',\n },\n container: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n mainContent: {\n minWidth: '200px',\n margin: theme.spacing(0, 0.5),\n },\n mutedText: {\n ...R.pathOr({}, ['mixins', 'dataflow', 'desc', 'mutedText'], theme),\n },\n unmutedText: {\n ...R.pathOr({}, ['mixins', 'dataflow', 'desc', 'unmutedText'], theme),\n },\n categories: {\n maxWidth: '100%',\n whiteSpace: 'noWrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n tooltipIndicator: {\n borderBottom: `1px dotted ${theme.palette.primary.main}`,\n },\n}));\n\nconst BasicHTMLRenderer = ({ html, ...rest }) => (\n <span dangerouslySetInnerHTML={{ __html: html }} {...rest} />\n);\n\nconst CustomDataflow = ({\n testId,\n title,\n body,\n url,\n handleUrl,\n label,\n labels,\n dimensions = [],\n highlights = [],\n categories = [],\n children,\n HTMLRenderer = BasicHTMLRenderer,\n id,\n}) => {\n const classes = useStyles();\n const [isExpanded, setExpand] = useState(false);\n const description = R.propOr('', 'description', body);\n\n const target = React.useRef();\n const [, height] = useSize(target);\n\n const handleExpand = () => {\n setExpand(prev => !prev);\n };\n\n const collapsedSize = R.min(height, 70);\n const needEllipse = collapsedSize >= 70;\n const mapIndexed = R.addIndex(R.map);\n\n return (\n <Card elevation={0} square className={classes.card} data-testid={`${testId}`}>\n <div className={classes.container}>\n <div className={classes.mainContent}>\n <CardHeader\n className={classes.cardHeader}\n title={\n <div className={classes.header} data-testid={`${testId}_title`}>\n <Typography variant=\"h6\" color=\"primary\" display=\"inline\">\n <Link\n className={classes.dataset}\n href={url}\n onClick={handleUrl}\n color=\"primary\"\n underline=\"none\"\n >\n <HTMLRenderer html={title} />\n </Link>\n </Typography>\n </div>\n }\n />\n {R.not(R.isEmpty(description)) && (\n <Collapse\n in={isExpanded}\n collapsedSize={collapsedSize}\n classes={isExpanded ? undefined : { wrapper: classes.wrapper }}\n >\n <CardContent\n ref={target}\n className={cx(classes.cardContent, { [classes.fadeContent]: !isExpanded })}\n >\n <Typography\n variant=\"body2\"\n align=\"justify\"\n className={cx(classes.container, classes.mutedText, {\n [classes.unmutedText]: isExpanded,\n })}\n >\n <HTMLRenderer html={description} />\n </Typography>\n {!isExpanded && needEllipse && (\n <div className={classes.fading} style={{ top: collapsedSize - 15 }} />\n )}\n </CardContent>\n </Collapse>\n )}\n {R.not(R.empty(R.propOr('', 'highlightDescription')(body))) && (\n <CardContent className={classes.descriptionHighlight}>\n <Typography variant=\"body2\" align=\"justify\" className={classes.container}>\n <HTMLRenderer\n html={R.propOr('', 'highlightDescription')(body)}\n className={cx({ [classes.noDisplay]: isExpanded })}\n />\n </Typography>\n </CardContent>\n )}\n <CardContent className={classes.cardContent}>\n {!R.isEmpty(dimensions) && (\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n data-testid={`${testId}_dimensions`}\n >\n <strong>{R.prop('dimensions')(labels)}: </strong>\n <HTMLRenderer html={R.join(', ', dimensions)} />\n </Typography>\n )}\n {R.map(([field, fieldHighlights]) => (\n <Typography\n variant=\"body2\"\n key={field}\n color=\"textSecondary\"\n data-testid={`${testId}_highlight_${field}`}\n >\n <strong>{field}: </strong>\n {R.map(\n fieldHighlight => (\n <HTMLRenderer key={`${id}-${field}`} html={fieldHighlight} />\n ),\n fieldHighlights,\n )}\n </Typography>\n ))(highlights)}\n <Collapse in={isExpanded}>\n <Divider className={classes.divider} />\n {R.map(([field, values]) => {\n return (\n <Typography\n variant=\"body2\"\n key={field}\n color=\"textSecondary\"\n className={classes.categories}\n >\n <strong>{field}: </strong>\n <span>\n {mapIndexed(\n (category, idx) =>\n R.is(Array)(category) ? (\n <Tooltip\n key={`category-tooltip-value-${idx}`}\n title={R.join(' > ', category)}\n >\n <span>\n <span className={classes.tooltipIndicator}>\n {' '}\n {`... > ${R.last(category)}`}\n </span>\n {isLast(idx, values) ? '' : ', '}\n </span>\n </Tooltip>\n ) : (\n `${R.identity(category)}${isLast(idx, values) ? '' : ', '}`\n ),\n values,\n )}\n </span>\n </Typography>\n );\n })(categories)}\n {label && (\n <div>\n <Typography variant=\"body2\" color=\"textSecondary\">\n <strong>{R.prop('source')(labels)}: </strong> {label}\n </Typography>\n <Divider className={classes.divider} />\n </div>\n )}\n <CardActions className={classes.footer} disableSpacing>\n <Typography variant=\"caption\" color=\"textSecondary\">\n <strong>{R.prop('lastUpdated')(labels)} </strong>{' '}\n <span>{R.prop('date')(labels)}</span>\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {R.prop('note')(labels)}\n </Typography>\n </CardActions>\n </Collapse>\n </CardContent>\n </div>\n <div>\n <CardActions className={classes.rightSide} disableSpacing>\n <IconButton\n data-testid=\"dataflow-expand-button-test-id\"\n aria-label={R.propOr('Show details above', 'expand')(labels)}\n aria-expanded={isExpanded}\n onClick={() => handleExpand()}\n color=\"primary\"\n size=\"small\"\n >\n {isExpanded ? (\n <ExpandLess data-testid=\"dataflow-not-expand-test-id\" />\n ) : (\n <ExpandMore data-testid=\"dataflow-expanded-test-id\" />\n )}\n </IconButton>\n {children && children}\n </CardActions>\n </div>\n </div>\n </Card>\n );\n};\n\nexport const Dataflow = withBlank(({ isBlank, title = '' }) => ({\n isBlank: R.or(isBlank, R.isEmpty(title)),\n}))(CustomDataflow);\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dataflow.js","sources":["../../src/Dataflow/Dataflow.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport * as R from 'ramda';\nimport cx from 'classnames';\nimport useSize from '@react-hook/size';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Typography from '@mui/material/Typography';\nimport Collapse from '@mui/material/Collapse';\nimport Card from '@mui/material/Card';\nimport CardHeader from '@mui/material/CardHeader';\nimport CardContent from '@mui/material/CardContent';\nimport CardActions from '@mui/material/CardActions';\nimport IconButton from '@mui/material/IconButton';\nimport { ExpandLess, ExpandMore } from '@mui/icons-material';\nimport Link from '@mui/material/Link';\nimport Divider from '@mui/material/Divider';\nimport { Tooltip } from '../Tooltip/Tooltip';\nimport { withBlank } from '../utils';\nimport { isLast } from '../Chips/utils';\n\nconst useStyles = makeStyles((theme) => ({\n card: {\n borderBottom: `1px solid ${theme.palette.grey[700]}`,\n padding: theme.spacing(0, 0, 2, 0),\n '& mark': {\n color: 'inherit',\n borderBottom: `2px solid ${\n R.path(['palette', 'highlight', 'hl2'])(theme) || theme.palette.success.dark\n }`,\n },\n },\n cardHeader: {\n padding: theme.spacing(1, 0, 0, 0),\n },\n cardContent: {\n padding: theme.spacing(0.5, 0),\n '&:last-child': {\n padding: theme.spacing(0.5, 0),\n },\n },\n cardActions: {\n padding: theme.spacing(0.5, 0, 0, 0),\n justifyContent: 'space-between',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n },\n rightSide: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n alignItems: 'center',\n height: '100%',\n padding: theme.spacing(0.5, 0),\n },\n dataset: {\n ...R.pathOr({}, ['mixins', 'dataflow', 'title'], theme),\n '&:hover': {\n color: theme.palette.primary.light,\n textDecoration: 'none', // remove this line when blueprint css import will no longer be in the DE\n },\n },\n noDisplay: {\n display: 'none',\n },\n hidden: {\n visibility: 'hidden',\n },\n descriptionHighlight: {\n padding: 0,\n },\n footer: {\n padding: theme.spacing(0.5, 0, 0, 0),\n flexDirection: 'column',\n alignItems: 'flex-start',\n },\n buttonLabel: {\n flexDirection: 'column',\n },\n divider: {\n width: 100,\n margin: theme.spacing(0.5, 0.5),\n },\n fadeContent: {\n color: theme.palette.grey['A200'],\n position: 'relative',\n overflow: 'hidden',\n },\n fading: {\n position: 'absolute',\n left: 0,\n right: 0,\n height: 15,\n margin: 0,\n padding: 0,\n backgroundImage: 'linear-gradient(to bottom, transparent, white)',\n },\n wrapper: {\n height: '100%',\n },\n container: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n mainContent: {\n minWidth: '200px',\n margin: theme.spacing(0, 0.5),\n },\n mutedText: {\n ...R.pathOr({}, ['mixins', 'dataflow', 'desc', 'mutedText'], theme),\n },\n unmutedText: {\n ...R.pathOr({}, ['mixins', 'dataflow', 'desc', 'unmutedText'], theme),\n },\n categories: {\n maxWidth: '100%',\n whiteSpace: 'noWrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n tooltipIndicator: {\n borderBottom: `1px dotted ${theme.palette.primary.main}`,\n },\n}));\n\nconst BasicHTMLRenderer = ({ html, ...rest }) => (\n <span dangerouslySetInnerHTML={{ __html: html }} {...rest} />\n);\n\nconst EMPTY_DIMENSIONS = [];\nconst EMPTY_HIGHLIGHTS = [];\nconst EMPTY_CATEGORIES = [];\n\nconst CustomDataflow = ({\n testId,\n title,\n body,\n url,\n handleUrl,\n label,\n labels,\n dimensions = EMPTY_DIMENSIONS,\n highlights = EMPTY_HIGHLIGHTS,\n categories = EMPTY_CATEGORIES,\n children,\n HTMLRenderer = BasicHTMLRenderer,\n id,\n}) => {\n const classes = useStyles();\n const [isExpanded, setExpand] = useState(false);\n const description = R.propOr('', 'description', body);\n\n const target = React.useRef();\n const [, height] = useSize(target);\n\n const handleExpand = () => {\n setExpand((prev) => !prev);\n };\n\n const collapsedSize = R.min(height, 70);\n const needEllipse = collapsedSize >= 70;\n const mapIndexed = R.addIndex(R.map);\n\n return (\n <Card elevation={0} square className={classes.card} data-testid={`${testId}`}>\n <div className={classes.container}>\n <div className={classes.mainContent}>\n <CardHeader\n className={classes.cardHeader}\n title={\n <div className={classes.header} data-testid={`${testId}_title`}>\n <Typography variant=\"h6\" color=\"primary\" display=\"inline\">\n <Link\n className={classes.dataset}\n href={url}\n onClick={handleUrl}\n color=\"primary\"\n underline=\"none\"\n >\n <HTMLRenderer html={title} />\n </Link>\n </Typography>\n </div>\n }\n />\n {R.not(R.isEmpty(description)) && (\n <Collapse\n in={isExpanded}\n collapsedSize={collapsedSize}\n classes={isExpanded ? undefined : { wrapper: classes.wrapper }}\n >\n <CardContent\n ref={target}\n className={cx(classes.cardContent, { [classes.fadeContent]: !isExpanded })}\n >\n <Typography\n variant=\"body2\"\n align=\"justify\"\n className={cx(classes.container, classes.mutedText, {\n [classes.unmutedText]: isExpanded,\n })}\n >\n <HTMLRenderer html={description} />\n </Typography>\n {!isExpanded && needEllipse && (\n <div className={classes.fading} style={{ top: collapsedSize - 15 }} />\n )}\n </CardContent>\n </Collapse>\n )}\n {R.not(R.empty(R.propOr('', 'highlightDescription')(body))) && (\n <CardContent className={classes.descriptionHighlight}>\n <Typography variant=\"body2\" align=\"justify\" className={classes.container}>\n <HTMLRenderer\n html={R.propOr('', 'highlightDescription')(body)}\n className={cx({ [classes.noDisplay]: isExpanded })}\n />\n </Typography>\n </CardContent>\n )}\n <CardContent className={classes.cardContent}>\n {!R.isEmpty(dimensions) && (\n <Typography\n variant=\"body2\"\n color=\"textSecondary\"\n data-testid={`${testId}_dimensions`}\n >\n <strong>{R.prop('dimensions')(labels)}: </strong>\n <HTMLRenderer html={R.join(', ', dimensions)} />\n </Typography>\n )}\n {R.map(([field, fieldHighlights]) => (\n <Typography\n variant=\"body2\"\n key={field}\n color=\"textSecondary\"\n data-testid={`${testId}_highlight_${field}`}\n >\n <strong>{field}: </strong>\n {R.map(\n (fieldHighlight) => (\n <HTMLRenderer key={`${id}-${field}`} html={fieldHighlight} />\n ),\n fieldHighlights\n )}\n </Typography>\n ))(highlights)}\n <Collapse in={isExpanded}>\n <Divider className={classes.divider} />\n {R.map(([field, values]) => {\n return (\n <Typography\n variant=\"body2\"\n key={field}\n color=\"textSecondary\"\n className={classes.categories}\n >\n <strong>{field}: </strong>\n <span>\n {mapIndexed(\n (category, idx) =>\n R.is(Array)(category) ? (\n <Tooltip\n key={`category-tooltip-value-${idx}`}\n title={R.join(' > ', category)}\n >\n <span>\n <span className={classes.tooltipIndicator}>\n {' '}\n {`... > ${R.last(category)}`}\n </span>\n {isLast(idx, values) ? '' : ', '}\n </span>\n </Tooltip>\n ) : (\n `${R.identity(category)}${isLast(idx, values) ? '' : ', '}`\n ),\n values\n )}\n </span>\n </Typography>\n );\n })(categories)}\n {label && (\n <div>\n <Typography variant=\"body2\" color=\"textSecondary\">\n <strong>{R.prop('source')(labels)}: </strong> {label}\n </Typography>\n <Divider className={classes.divider} />\n </div>\n )}\n <CardActions className={classes.footer} disableSpacing>\n <Typography variant=\"caption\" color=\"textSecondary\">\n <strong>{R.prop('lastUpdated')(labels)} </strong>{' '}\n <span>{R.prop('date')(labels)}</span>\n </Typography>\n <Typography variant=\"caption\" color=\"textSecondary\">\n {R.prop('note')(labels)}\n </Typography>\n </CardActions>\n </Collapse>\n </CardContent>\n </div>\n <div>\n <CardActions className={classes.rightSide} disableSpacing>\n <IconButton\n data-testid=\"dataflow-expand-button-test-id\"\n aria-label={R.propOr('Show details above', 'expand')(labels)}\n aria-expanded={isExpanded}\n onClick={() => handleExpand()}\n color=\"primary\"\n size=\"small\"\n >\n {isExpanded ? (\n <ExpandLess data-testid=\"dataflow-not-expand-test-id\" />\n ) : (\n <ExpandMore data-testid=\"dataflow-expanded-test-id\" />\n )}\n </IconButton>\n {children && children}\n </CardActions>\n </div>\n </div>\n </Card>\n );\n};\n\nexport const Dataflow = withBlank(({ isBlank, title = '' }) => ({\n isBlank: R.or(isBlank, R.isEmpty(title)),\n}))(CustomDataflow);\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import 'react';
|
|
3
3
|
import cx from 'classnames';
|
|
4
4
|
import makeStyles from '@mui/styles/makeStyles';
|
|
5
|
-
import { m as makeStylesFn, C as CustomChip } from '../chunks/CustomChip-
|
|
5
|
+
import { m as makeStylesFn, C as CustomChip } from '../chunks/CustomChip-VonwGtLq.js';
|
|
6
6
|
|
|
7
7
|
const useStyles = makeStyles(makeStylesFn);
|
|
8
8
|
const DeleteAllChip = ({ onDeleteAll, clearAllLabel, ariaLabel }) => {
|
|
@@ -4,7 +4,7 @@ import * as R from 'ramda';
|
|
|
4
4
|
import cx from 'classnames';
|
|
5
5
|
import Box from '@mui/material/Box';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
|
-
import { w as withSpotlight, a as withExpansionTree, g as getHierarchicalId, b as getEvolvedDisableAccessor, c as getScopeGetters, V as VirtualizedTree } from '../chunks/withSpotlight-
|
|
7
|
+
import { w as withSpotlight, a as withExpansionTree, g as getHierarchicalId, b as getEvolvedDisableAccessor, c as getScopeGetters, V as VirtualizedTree } from '../chunks/withSpotlight-Bqdm585G.js';
|
|
8
8
|
import Button$1 from '@mui/material/Button';
|
|
9
9
|
import Paper from '@mui/material/Paper';
|
|
10
10
|
import Grid from '@mui/material/Grid';
|
|
@@ -18,7 +18,6 @@ import Divider from '@mui/material/Divider';
|
|
|
18
18
|
import Tab from '@mui/material/Tab';
|
|
19
19
|
import Tabs from '@mui/material/Tabs';
|
|
20
20
|
import { Tag } from '../Tag/Tag.js';
|
|
21
|
-
import '@mui/icons-material/ArrowBack';
|
|
22
21
|
import Dialog from '@mui/material/Dialog';
|
|
23
22
|
import DialogActions from '@mui/material/DialogActions';
|
|
24
23
|
import DialogContent from '@mui/material/DialogContent';
|
|
@@ -259,8 +258,8 @@ const AdvancedSelection = (props) => {
|
|
|
259
258
|
} = props;
|
|
260
259
|
const [selectionMode, setSelectionMode] = useState("single");
|
|
261
260
|
const classes = useStyles$2();
|
|
262
|
-
const getTotal = (
|
|
263
|
-
const itemsIds = R.pluck("id",
|
|
261
|
+
const getTotal = (totalItems, spotlightAcc) => {
|
|
262
|
+
const itemsIds = R.pluck("id", totalItems);
|
|
264
263
|
const total = R.pipe(R.uniq, R.length)(itemsIds);
|
|
265
264
|
if (R.is(Function, spotlightAcc)) {
|
|
266
265
|
return spotlightAcc(total);
|
|
@@ -325,7 +324,7 @@ const AdvancedSelection = (props) => {
|
|
|
325
324
|
const scopeGetter = R.prop(selectionMode, getScopeGetters);
|
|
326
325
|
const onChangeSelection = (ids) => {
|
|
327
326
|
const nextSelection = R.reduce(
|
|
328
|
-
(acc,
|
|
327
|
+
(acc, itemId) => R.has(itemId, acc) ? R.dissoc(itemId, acc) : R.assoc(itemId, itemId, acc),
|
|
329
328
|
selection,
|
|
330
329
|
ids
|
|
331
330
|
);
|
|
@@ -342,7 +341,7 @@ const AdvancedSelection = (props) => {
|
|
|
342
341
|
const ids = R.pluck("id", R.reject(getSelectedItems, R.reject(rejectonlyDisabledItems, items)));
|
|
343
342
|
const allIds = R.concat(imposedIds, ids);
|
|
344
343
|
const nextSelection = R.reduce(
|
|
345
|
-
(acc,
|
|
344
|
+
(acc, itemId) => R.has(itemId, acc) ? acc : R.assoc(itemId, itemId, acc),
|
|
346
345
|
{},
|
|
347
346
|
allIds
|
|
348
347
|
);
|
|
@@ -353,7 +352,7 @@ const AdvancedSelection = (props) => {
|
|
|
353
352
|
const itemIds = R.pipe(R.filter(getSelectedItems), R.pluck("id"))(items);
|
|
354
353
|
const ids = R.difference(itemIds, selection);
|
|
355
354
|
const nextSelection = R.reduce(
|
|
356
|
-
(acc,
|
|
355
|
+
(acc, itemId) => R.has(itemId, acc) ? acc : R.assoc(itemId, itemId, acc),
|
|
357
356
|
{},
|
|
358
357
|
ids
|
|
359
358
|
);
|
|
@@ -416,7 +415,7 @@ const AdvancedSelection = (props) => {
|
|
|
416
415
|
labels,
|
|
417
416
|
labelRenderer,
|
|
418
417
|
items: selectionItems,
|
|
419
|
-
changeSelection: (
|
|
418
|
+
changeSelection: (newSelection, ids) => onChangeSelection(newSelection),
|
|
420
419
|
withExpandControl: true,
|
|
421
420
|
treeHeight: isNarrow ? 0 : 450,
|
|
422
421
|
scopeGetter,
|
|
@@ -745,7 +744,7 @@ const DynamicDrawer = (props) => {
|
|
|
745
744
|
} = props;
|
|
746
745
|
useLayoutEffect(() => {
|
|
747
746
|
if (!openTabId) return;
|
|
748
|
-
const item = R.find((
|
|
747
|
+
const item = R.find((listItem) => R.prop("id", listItem) === openTabId)(list);
|
|
749
748
|
if (item && (selectedId !== openTabId || !open)) {
|
|
750
749
|
const id = R.prop("id", item);
|
|
751
750
|
const filterSelection = R.pipe(R.propOr([], id), (arr) => R.zipObj(arr, arr))(allSelection);
|