@pie-lib/render-ui 4.31.1-next.0 → 4.32.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/esm/index.js +1159 -0
- package/esm/index.js.map +1 -0
- package/package.json +12 -5
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/color.js","../src/feedback.jsx","../src/response-indicators.jsx","../src/collapsible/index.jsx","../src/withUndoReset.jsx","../src/append-css-rules.js","../src/ui-layout.jsx","../src/preview-layout.jsx","../src/html-and-math.js","../src/input-container.jsx","../src/preview-prompt.jsx","../src/readable.jsx","../src/purpose.jsx","../src/has-text.js","../src/has-media.js","../src/assets/enableAudioAutoplayImage.js"],"sourcesContent":["import green from '@material-ui/core/colors/green';\nimport orange from '@material-ui/core/colors/orange';\nimport pink from '@material-ui/core/colors/pink';\nimport indigo from '@material-ui/core/colors/indigo';\nimport red from '@material-ui/core/colors/red';\n\nexport const defaults = {\n TEXT: 'black',\n DISABLED: 'grey',\n DISABLED_SECONDARY: '#ABABAB',\n CORRECT: green[500],\n CORRECT_SECONDARY: green[50],\n CORRECT_TERTIARY: '#0EA449',\n CORRECT_WITH_ICON: '#087D38',\n INCORRECT: orange[500],\n INCORRECT_SECONDARY: red[50],\n INCORRECT_WITH_ICON: '#BF0D00',\n MISSING: red[700],\n MISSING_WITH_ICON: '#6A78A1',\n PRIMARY: indigo[500],\n PRIMARY_LIGHT: indigo[200],\n PRIMARY_DARK: indigo[800],\n SECONDARY: pink.A400,\n SECONDARY_LIGHT: pink[200],\n SECONDARY_DARK: pink[900],\n TERTIARY: '#146EB3',\n TERTIARY_LIGHT: '#D0E2F0',\n BACKGROUND: 'rgba(255,255,255,0)',\n BACKGROUND_DARK: '#ECEDF1',\n DROPDOWN_BACKGROUND: '#E0E1E6', // this is used for inline-dropdown\n // this is only used for multi-trait-rubric, we might want to use BACKGROUND_DARK instead\n SECONDARY_BACKGROUND: 'rgba(241,241,241,1)',\n BORDER: '#9A9A9A',\n BORDER_LIGHT: '#D1D1D1',\n BORDER_DARK: '#646464',\n BORDER_GRAY: '#7E8494',\n BLACK: '#000000',\n WHITE: '#ffffff',\n TRANSPARENT: 'transparent',\n // this is used for multiple-choice accessibility\n FOCUS_CHECKED: '#BBDEFB',\n FOCUS_CHECKED_BORDER: '#1565C0',\n FOCUS_UNCHECKED: '#E0E0E0',\n FOCUS_UNCHECKED_BORDER: '#757575',\n // this is used for select text tokens\n BLUE_GREY100: '#F3F5F7',\n BLUE_GREY300: '#C0C3CF',\n BLUE_GREY600: '#7E8494',\n BLUE_GREY900: '#152452',\n // this is used for charting\n FADED_PRIMARY: '#DCDAFB',\n};\n\nObject.freeze(defaults);\n\nexport const v = (prefix) => (...args) => {\n const fallback = args.pop();\n return args.reduceRight((acc, v) => {\n return `var(--${prefix}-${v}, ${acc})`;\n }, fallback);\n};\n\nconst pv = v('pie');\n\nexport const text = () => pv('text', defaults.TEXT);\nexport const disabled = () => pv('disabled', defaults.DISABLED);\nexport const disabledSecondary = () => pv('disabled-secondary', defaults.DISABLED_SECONDARY);\nexport const correct = () => pv('correct', defaults.CORRECT);\nexport const correctSecondary = () => pv('correct-secondary', defaults.CORRECT_SECONDARY);\nexport const correctTertiary = () => pv('correct-tertiary', defaults.CORRECT_TERTIARY);\nexport const correctWithIcon = () => pv('correct-icon', defaults.CORRECT_WITH_ICON);\nexport const incorrect = () => pv('incorrect', defaults.INCORRECT);\nexport const incorrectWithIcon = () => pv('incorrect-icon', defaults.INCORRECT_WITH_ICON);\nexport const incorrectSecondary = () => pv('incorrect-secondary', defaults.INCORRECT_SECONDARY);\nexport const missing = () => pv('missing', defaults.MISSING);\nexport const missingWithIcon = () => pv('missing-icon', defaults.MISSING_WITH_ICON);\n\nexport const primary = () => pv('primary', defaults.PRIMARY);\nexport const primaryLight = () => pv('primary-light', defaults.PRIMARY_LIGHT);\nexport const primaryDark = () => pv('primary-dark', defaults.PRIMARY_DARK);\nexport const primaryText = () => pv('primary-text', 'text', defaults.TEXT);\nexport const fadedPrimary = () => pv('faded-primary', defaults.FADED_PRIMARY);\n\nexport const secondary = () => pv('secondary', defaults.SECONDARY);\nexport const secondaryLight = () => pv('secondary-light', defaults.SECONDARY_LIGHT);\nexport const secondaryDark = () => pv('secondary-dark', defaults.SECONDARY_DARK);\n\nexport const secondaryText = () => pv('secondary-text', 'text', defaults.TEXT);\nexport const background = () => pv('background', defaults.BACKGROUND);\nexport const backgroundDark = () => pv('background-dark', defaults.BACKGROUND_DARK);\nexport const secondaryBackground = () => pv('secondary-background', defaults.SECONDARY_BACKGROUND);\nexport const dropdownBackground = () => pv('dropdown-background', defaults.DROPDOWN_BACKGROUND);\n\nexport const tertiary = () => pv('tertiary', defaults.TERTIARY);\nexport const tertiaryLight = () => pv('tertiary-light', defaults.TERTIARY_LIGHT);\n\nexport const border = () => pv('border', defaults.BORDER);\nexport const borderLight = () => pv('border-light', defaults.BORDER_LIGHT);\nexport const borderDark = () => pv('border-dark', defaults.BORDER_DARK);\nexport const borderGray = () => pv('border-gray', defaults.BORDER_GRAY);\n\nexport const black = () => pv('black', defaults.BLACK);\nexport const white = () => pv('white', defaults.WHITE);\nexport const transparent = () => defaults.TRANSPARENT;\n\nexport const focusChecked = () => pv('focus-checked', defaults.FOCUS_CHECKED);\nexport const focusCheckedBorder = () => pv('focus-checked-border', defaults.FOCUS_CHECKED_BORDER);\nexport const focusUnchecked = () => pv('focus-unchecked', defaults.FOCUS_UNCHECKED);\nexport const focusUncheckedBorder = () => pv('focus-unchecked-border', defaults.FOCUS_UNCHECKED_BORDER);\n\nexport const blueGrey100 = () => pv('blue-grey-100', defaults.BLUE_GREY100);\nexport const blueGrey300 = () => pv('blue-grey-300', defaults.BLUE_GREY300);\nexport const blueGrey600 = () => pv('blue-grey-600', defaults.BLUE_GREY600);\nexport const blueGrey900 = () => pv('blue-grey-900', defaults.BLUE_GREY900);\n\nexport const visualElementsColors = {\n AXIS_LINE_COLOR: '#5A53C9',\n ROLLOVER_FILL_BAR_COLOR: '#050F2D',\n GRIDLINES_COLOR: '#8E88EA',\n PLOT_FILL_COLOR: '#1463B3',\n};\n","/**\n * Lifted from multiple-choice - TODO: create a shared package for it.\n */\nimport { withStyles } from '@material-ui/core/styles';\n\nimport React from 'react';\nimport { TransitionGroup, CSSTransition } from 'react-transition-group';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport * as color from './color';\n\nconst styleSheet = {\n corespringFeedback: {\n transformOrigin: '0% 0px 0px',\n width: '100%',\n display: 'block',\n overflow: 'hidden',\n '&:.incorrect': {\n color: '#946202',\n },\n },\n content: {\n '-webkit-font-smoothing': 'antialiased',\n backgroundColor: `var(--feedback-bg-color, ${color.disabled()})`,\n borderRadius: '4px',\n fontFamily: '\"Roboto\", \"Noto\", sans-serif',\n lineHeight: '25px',\n margin: '0px',\n padding: '10px',\n verticalAlign: 'middle',\n color: 'var(--feedback-color, white)',\n },\n correct: {\n backgroundColor: `var(--feedback-correct-bg-color, ${color.correct()})`,\n },\n incorrect: {\n backgroundColor: `var(--feedback-incorrect-bg-color, ${color.incorrect()})`,\n },\n feedbackEnter: {\n height: '1px',\n },\n feedbackEnterActive: {\n height: '45px',\n transition: 'height 500ms',\n },\n feedbackLeave: {\n height: '45px',\n },\n feedbackLeaveActive: {\n height: '1px',\n transition: 'height 200ms',\n },\n};\n\nexport class Feedback extends React.Component {\n static propTypes = {\n correctness: PropTypes.string,\n feedback: PropTypes.string,\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { correctness, feedback, classes } = this.props;\n\n function chooseFeedback(correctness) {\n if (correctness && feedback) {\n return (\n <CSSTransition\n classNames={{\n enter: classes.feedbackEnter,\n enterActive: classes.feedbackEnterActive,\n leave: classes.feedbackLeave,\n leaveActive: classes.feedbackLeaveActive,\n }}\n key=\"hasFeedback\"\n timeout={{ enter: 500, exit: 300 }}\n >\n <div className={classes.corespringFeedback}>\n <div\n className={classNames(classes.content, classes[correctness])}\n dangerouslySetInnerHTML={{ __html: feedback }}\n />\n </div>\n </CSSTransition>\n );\n } else {\n return null;\n }\n }\n\n return (\n <div>\n <TransitionGroup>{chooseFeedback(correctness)}</TransitionGroup>\n </div>\n );\n }\n}\n\nexport default withStyles(styleSheet, { name: 'Feedback' })(Feedback);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as icons from '@pie-lib/icons';\nimport Popover from '@material-ui/core/Popover';\nimport { withStyles } from '@material-ui/core/styles';\nimport Feedback from './feedback';\nimport debug from 'debug';\n\nconst log = debug('pie-libs:render-ui:response-indicators');\n\nconst styles = () => ({\n responseIndicator: {\n cursor: 'pointer',\n },\n paper: {\n padding: '0',\n borderRadius: '4px',\n },\n popover: {\n cursor: 'pointer',\n },\n popperClose: {\n cursor: 'pointer',\n },\n});\n\nconst BuildIndicator = (Icon, correctness) => {\n class RawIndicator extends React.Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n handlePopoverOpen = (event) => {\n log('[handlePopoverOpen]', event.target);\n this.setState({ anchorEl: event.target });\n };\n\n handlePopoverClose = () => {\n this.setState({ anchorEl: null });\n };\n\n render() {\n const { feedback, classes } = this.props;\n const { anchorEl } = this.state;\n return (\n <div className={feedback && classes.responseIndicator}>\n <span ref={(r) => (this.icon = r)} onClick={this.handlePopoverOpen}>\n <Icon />\n </span>\n\n {feedback && (\n <Popover\n className={classes.popover}\n classes={{\n paper: classes.paper,\n }}\n open={!!anchorEl}\n anchorEl={anchorEl}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n onClose={this.handlePopoverClose}\n >\n <Feedback feedback={feedback} correctness={correctness} />\n </Popover>\n )}\n </div>\n );\n }\n }\n\n RawIndicator.propTypes = {\n feedback: PropTypes.string,\n classes: PropTypes.object.isRequired,\n };\n\n return withStyles(styles)(RawIndicator);\n};\n\nexport const Correct = BuildIndicator(icons.Correct, 'correct');\nexport const Incorrect = BuildIndicator(icons.Incorrect, 'incorrect');\nexport const PartiallyCorrect = BuildIndicator(icons.PartiallyCorrect, 'partially-correct');\nexport const NothingSubmitted = BuildIndicator(icons.NothingSubmitted, 'nothing-submitted');\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles/index';\nimport Collapse from '@material-ui/core/Collapse/index';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport PropTypes from 'prop-types';\n\nexport class Collapsible extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n children: PropTypes.object,\n labels: PropTypes.shape({\n visible: PropTypes.string,\n hidden: PropTypes.string,\n }),\n };\n\n static defaultProps = {\n labels: {},\n };\n\n state = {\n expanded: false,\n };\n\n toggleExpanded = () => {\n this.setState((state) => ({ expanded: !state.expanded }));\n };\n\n componentDidMount() {\n renderMath(this.root);\n }\n\n componentDidUpdate() {\n renderMath(this.root);\n }\n\n render() {\n const { classes, labels, children, className } = this.props;\n const title = this.state.expanded ? labels.visible || 'Hide' : labels.hidden || 'Show';\n\n return (\n <div className={className} ref={(r) => (this.root = r)}>\n <div onClick={this.toggleExpanded}>\n <span className={classes.title}>{title}</span>\n </div>\n <Collapse in={this.state.expanded} timeout=\"auto\" unmountOnExit className={classes.collapsible}>\n {children}\n </Collapse>\n </div>\n );\n }\n}\n\nexport default withStyles((theme) => ({\n title: {\n color: theme.palette.primary.light,\n borderBottom: `1px dotted ${theme.palette.primary.light}`,\n cursor: 'pointer',\n },\n collapsible: {\n paddingTop: theme.spacing.unit * 2,\n },\n}))(Collapsible);\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core/styles';\nimport Restore from '@material-ui/icons/Restore';\nimport Undo from '@material-ui/icons/Undo';\n\nconst styles = (theme) => ({\n wrapper: {\n display: 'flex',\n flexDirection: 'column',\n },\n resetUndoContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n width: '24px',\n height: '24px',\n color: 'gray',\n marginRight: theme.spacing.unit,\n },\n buttonContainer: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: theme.spacing.unit * 3,\n marginRight: theme.spacing.unit * 3,\n },\n});\n\n/**\n * HOC that adds undo and reset functionality for session values\n */\nconst withUndoReset = (WrappedComponent) => {\n class WithUndoReset extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n sessionInitialValues: JSON.parse(JSON.stringify(props.session)),\n session: props.session,\n changes: [],\n };\n }\n\n onSessionChange = (session) => {\n this.setState(\n (state) => ({ session, changes: [...state.changes, session] }),\n () => this.props.onSessionChange(session),\n );\n };\n\n onUndo = () => {\n this.setState(\n (state) => {\n const newChanges = [...state.changes];\n\n newChanges.pop();\n\n return {\n changes: newChanges,\n session: newChanges.length ? newChanges[newChanges.length - 1] : state.sessionInitialValues,\n };\n },\n () => this.props.onSessionChange(this.state.session),\n );\n };\n\n onReset = () => {\n this.setState(\n (state) => ({ session: state.sessionInitialValues, changes: [] }),\n () => this.props.onSessionChange(this.state.sessionInitialValues),\n );\n };\n\n render() {\n const { classes, ...rest } = this.props;\n const { changes, session } = this.state;\n\n return (\n <div className={classes.wrapper}>\n <div className={classes.resetUndoContainer}>\n <Button\n className={classes.buttonContainer}\n color=\"primary\"\n disabled={changes.length === 0}\n onClick={this.onUndo}\n >\n <Undo className={classes.icon} /> Undo\n </Button>\n <Button\n className={classes.buttonContainer}\n color=\"primary\"\n disabled={changes.length === 0}\n onClick={this.onReset}\n >\n <Restore className={classes.icon} /> Start Over\n </Button>\n </div>\n <WrappedComponent {...rest} session={session} onSessionChange={this.onSessionChange} />\n </div>\n );\n }\n }\n\n return withStyles(styles)(WithUndoReset);\n};\n\nexport default withUndoReset;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\n\nclass ExtraCSSRulesMixin extends React.Component {\n static propTypes = {\n extraCSSRules: PropTypes.shape({\n names: PropTypes.arrayOf(PropTypes.string),\n rules: PropTypes.string,\n }),\n };\n\n static defaultProps = {\n extraCSSRules: {},\n };\n\n constructor(props) {\n super(props);\n this.classesSheet = document.createElement('style');\n }\n\n componentDidMount() {\n this.appendExtraStyles();\n }\n\n appendExtraStyles = () => {\n if (isEmpty(this.props.extraCSSRules) || !this.classesSheet) {\n return;\n }\n\n const headElement = document.head || document.getElementsByTagName('head')[0];\n\n if (!headElement) {\n return;\n }\n\n if (!this.classesSheet.parentElement) {\n headElement.appendChild(this.classesSheet);\n }\n\n const { extraCSSRules, classes } = this.props;\n\n this.classesSheet.innerHTML = `\n .${classes.extraCSSRules} {\n ${extraCSSRules.rules}\n }\n `;\n };\n}\n\nexport default ExtraCSSRulesMixin;\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport AppendCSSRules from './append-css-rules';\n\nclass UiLayout extends AppendCSSRules {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n children: PropTypes.array,\n extraCSSRules: PropTypes.shape({\n names: PropTypes.arrayOf(PropTypes.string),\n rules: PropTypes.string,\n }),\n fontSizeFactor: PropTypes.number,\n };\n\n static defaultProps = {\n extraCSSRules: {},\n fontSizeFactor: 1,\n };\n\n constructor(props) {\n super(props);\n this.classesSheet = document.createElement('style');\n }\n\n computeStyle(fontSizeFactor) {\n const getFontSize = (element) => parseFloat(getComputedStyle(element).fontSize);\n\n const rootFontSize = getFontSize(document.documentElement);\n const bodyFontSize = getFontSize(document.body);\n const effectiveFontSize = Math.max(rootFontSize, bodyFontSize);\n\n return fontSizeFactor !== 1 ? { fontSize: `${effectiveFontSize * fontSizeFactor}px` } : null;\n }\n\n render() {\n const { children, className, classes, fontSizeFactor, ...rest } = this.props;\n\n const finalClass = classNames(className, classes.extraCSSRules, classes.uiLayoutContainer);\n const { extraCSSRules, ...restProps } = rest;\n const style = this.computeStyle(fontSizeFactor);\n\n return (\n <div className={finalClass} {...restProps} {...(style && { style })}>\n {children}\n </div>\n );\n }\n}\n\nconst styles = {\n extraCSSRules: {},\n // need this because some browsers set their own style on table\n uiLayoutContainer: {\n '& table, th, td': {\n fontSize: 'inherit' /* Ensure table elements inherit font size */,\n },\n },\n};\n\nconst Styled = withStyles(styles)(UiLayout);\n\nexport default Styled;\n","import React from 'react';\nimport { withStyles, createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport UiLayout from './ui-layout';\n\nclass PreviewLayout extends React.Component {\n static propTypes = {\n ariaLabel: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n classes: PropTypes.object,\n role: PropTypes.string,\n extraCSSRules: PropTypes.shape({\n names: PropTypes.arrayOf(PropTypes.string),\n rules: PropTypes.string,\n }),\n fontSizeFactor: PropTypes.number,\n };\n\n render() {\n const { children, classes, ariaLabel, role, extraCSSRules, fontSizeFactor } = this.props;\n const accessibility = ariaLabel ? { 'aria-label': ariaLabel, role } : {};\n\n return (\n <UiLayout\n className={classes.container}\n {...accessibility}\n extraCSSRules={extraCSSRules}\n fontSizeFactor={fontSizeFactor}\n >\n {children}\n </UiLayout>\n );\n }\n}\n\nconst styles = () => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n});\n\nconst theme = createMuiTheme({\n typography: {\n useNextVariants: true,\n },\n palette: {\n action: {\n disabled: 'rgba(0, 0, 0, 0.54);',\n },\n },\n overrides: {\n MuiRadio: {\n root: {\n '&$checked': {\n color: '#3f51b5 !important',\n },\n },\n },\n MuiCheckbox: {\n root: {\n '&$checked': {\n color: '#3f51b5 !important',\n },\n },\n },\n MuiTabs: {\n root: {\n borderBottom: '1px solid #eee',\n },\n },\n MuiSwitch: {\n root: {\n '&$checked': {\n color: '#3f51b5 !important',\n '& + $bar': {\n backgroundColor: '#3f51b5 !important',\n opacity: 0.5,\n },\n },\n },\n },\n },\n});\n\nconst Styled = withStyles(styles)(PreviewLayout);\n\nconst RootElem = (props) => (\n <MuiThemeProvider theme={theme}>\n <Styled {...props} />\n </MuiThemeProvider>\n);\n\nexport default RootElem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class HtmlAndMath extends React.Component {\n static propTypes = {\n tag: PropTypes.string,\n className: PropTypes.string,\n html: PropTypes.string,\n };\n\n static defaultProps = {\n tag: 'div',\n html: '',\n };\n\n render() {\n const { tag, className, html } = this.props;\n const Tag = tag || 'div';\n return <Tag ref={(r) => (this.node = r)} className={className} dangerouslySetInnerHTML={{ __html: html }} />;\n }\n}\n","import InputLabel from '@material-ui/core/InputLabel';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport FormControl from '@material-ui/core/FormControl';\n\nconst RawInputContainer = (props) => {\n const { label, className, children, classes } = props;\n const names = classNames(classes.formControl, className);\n\n return (\n <FormControl className={names}>\n <InputLabel className={classes.label} shrink={true}>\n {label}\n </InputLabel>\n {children}\n </FormControl>\n );\n};\n\nRawInputContainer.propTypes = {\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n classes: PropTypes.object.isRequired,\n};\n\nexport default withStyles((theme) => ({\n formControl: {\n marginLeft: 0,\n marginRight: 0,\n paddingBottom: theme.spacing.unit,\n flex: '1 0 auto',\n minWidth: theme.spacing.unit * 4,\n },\n label: {\n fontSize: 'inherit',\n whiteSpace: 'nowrap',\n },\n}))(RawInputContainer);\n","import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport * as color from './color';\n\n//Used these below to replace \\\\embed{newLine} with \\\\newline from prompt which will get parsed in MathJax\nconst NEWLINE_BLOCK_REGEX = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = '\\\\newline ';\n\nexport class PreviewPrompt extends Component {\n static propTypes = {\n classes: PropTypes.object,\n prompt: PropTypes.string,\n tagName: PropTypes.string,\n className: PropTypes.string,\n onClick: PropTypes.func,\n defaultClassName: PropTypes.string,\n autoplayAudioEnabled: PropTypes.bool,\n customAudioButton: {\n playImage: PropTypes.string,\n pauseImage: PropTypes.string,\n },\n };\n\n static defaultProps = {\n onClick: () => {},\n };\n\n parsedText = (text) => {\n const { customAudioButton } = this.props;\n const div = document.createElement('div');\n div.innerHTML = text;\n\n const audio = div.querySelector('audio');\n if (audio) {\n const source = document.createElement('source');\n\n source.setAttribute('type', 'audio/mp3');\n source.setAttribute('src', audio.getAttribute('src'));\n\n audio.removeAttribute('src');\n audio.setAttribute('id', 'pie-prompt-audio-player');\n\n audio.appendChild(source);\n\n if (customAudioButton) {\n audio.style.display = 'none';\n\n const playButton = document.createElement('div');\n playButton.id = 'play-audio-button';\n\n Object.assign(playButton.style, {\n cursor: 'pointer',\n display: 'block',\n width: '128px',\n height: '128px',\n backgroundImage: `url(${customAudioButton.pauseImage})`,\n backgroundSize: 'cover',\n borderRadius: '50%',\n border: '1px solid #326295',\n });\n\n audio.parentNode.insertBefore(playButton, audio);\n }\n }\n\n return div.innerHTML;\n };\n\n addCustomAudioButtonControls() {\n const { autoplayAudioEnabled, customAudioButton } = this.props;\n const playButton = document.getElementById('play-audio-button');\n const audio = document.getElementById('pie-prompt-audio-player');\n\n if (autoplayAudioEnabled && audio) {\n audio\n .play()\n .then(() => {\n if (playButton && customAudioButton) {\n audio.addEventListener('ended', handleAudioEnded);\n }\n })\n .catch((error) => {\n console.error('Error playing audio', error);\n });\n }\n\n if (!playButton || !audio || !customAudioButton) return;\n\n const handlePlayClick = () => {\n // if already playing, don't play again\n if (!audio.paused) return;\n if (playButton.style.backgroundImage.includes(customAudioButton.pauseImage)) return;\n\n audio.play();\n };\n\n const handleAudioEnded = () => {\n playButton.style.backgroundImage = `url(${customAudioButton.playImage})`;\n };\n\n const handleAudioPlay = () => {\n Object.assign(playButton.style, {\n backgroundImage: `url(${customAudioButton.pauseImage})`,\n border: '1px solid #ccc',\n });\n };\n\n const handleAudioPause = () => {\n Object.assign(playButton.style, {\n backgroundImage: `url(${customAudioButton.playImage})`,\n border: '1px solid #326295',\n });\n };\n\n playButton.addEventListener('click', handlePlayClick);\n audio.addEventListener('play', handleAudioPlay);\n audio.addEventListener('pause', handleAudioPause);\n audio.addEventListener('ended', handleAudioEnded);\n\n // store event handler references so they can be removed later\n this._handlePlayClick = handlePlayClick;\n this._handleAudioPlay = handleAudioPlay;\n this._handleAudioPause = handleAudioPause;\n this._handleAudioEnded = handleAudioEnded;\n }\n\n removeCustomAudioButtonListeners() {\n const playButton = document.getElementById('play-audio-button');\n const audio = document.querySelector('audio');\n\n if (!playButton || !audio) return;\n\n // remove event listeners using stored references\n playButton.removeEventListener('click', this._handlePlayClick);\n audio.removeEventListener('play', this._handleAudioPlay);\n audio.removeEventListener('pause', this._handleAudioPause);\n audio.removeEventListener('ended', this._handleAudioEnded);\n }\n\n componentDidMount() {\n this.alignImages();\n this.addCustomAudioButtonControls();\n }\n\n componentDidUpdate() {\n this.alignImages();\n }\n\n componentWillUnmount() {\n this.removeCustomAudioButtonListeners();\n }\n\n alignImages() {\n const previewPrompts = document.querySelectorAll('#preview-prompt');\n\n previewPrompts.forEach((previewPrompt) => {\n const images = previewPrompt.getElementsByTagName('img');\n\n if (images && images.length) {\n for (let image of images) {\n // check if alignment property was set\n if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {\n const parentNode = image.parentElement;\n\n // check if div is not already added to dom and replace current image with wrapped image\n if (\n !(\n parentNode.tagName === 'DIV' &&\n parentNode.style.display === 'flex' &&\n parentNode.style.width === '100%'\n )\n ) {\n const div = document.createElement('div');\n div.style.display = 'flex';\n div.style.width = '100%';\n\n const copyImage = image.cloneNode(true);\n div.appendChild(copyImage);\n parentNode.replaceChild(div, image);\n }\n }\n }\n }\n });\n }\n\n render() {\n const { prompt, classes, tagName, className, onClick, defaultClassName } = this.props;\n const CustomTag = tagName || 'div';\n // legend tag was added once with accessibility tasks, wee need extra style to make it work with images alignment\n const legendClass = tagName === 'legend' ? 'legend' : '';\n const customClasses = `${classes.promptTable} ${classes[className] || ''} ${defaultClassName || ''} ${classes[\n legendClass\n ] || ''}`;\n\n return (\n <CustomTag\n id={'preview-prompt'}\n onClick={onClick}\n className={customClasses}\n dangerouslySetInnerHTML={{\n __html: this.parsedText(prompt || '').replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX),\n }}\n />\n );\n }\n}\n\nconst styles = (theme) => ({\n prompt: {\n verticalAlign: 'middle',\n color: color.text(),\n },\n legend: {\n width: '100%',\n fontSize: 'inherit !important',\n },\n rationale: {\n paddingLeft: theme.spacing.unit * 4,\n paddingBottom: theme.spacing.unit,\n },\n label: {\n color: `${color.text()} !important`, //'var(--choice-input-color, black)',\n display: 'flex',\n flexDirection: 'column',\n verticalAlign: 'middle',\n cursor: 'pointer',\n '& > p': {\n margin: '0 0 0 0 !important',\n },\n },\n promptTable: {\n '&:not(.MathJax) > table': {\n borderCollapse: 'collapse',\n },\n '&:not(.MathJax) > table tr': {\n '&:nth-child(2n)': {\n backgroundColor: '#f6f8fa',\n color: theme.palette.common.black,\n },\n },\n // align table content to left as per STAR requirement PD-3687\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '.6em 1em',\n textAlign: 'left',\n },\n // added this to fix alignment of text in prompt imported from studio (PD-3423)\n '&:not(.MathJax) > table td > p.kds-indent': {\n textAlign: 'initial',\n },\n },\n});\nexport default withStyles(styles)(PreviewPrompt);\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst Readable = (props) => {\n return (\n <>\n {React.Children.map(props.children, (child) =>\n React.cloneElement(child, { 'data-pie-readable': props.false === undefined }),\n )}\n </>\n );\n};\n\nReadable.propTypes = {\n children: PropTypes.node,\n false: PropTypes.bool,\n};\n\nexport default Readable;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst Purpose = (props) => {\n return (\n <>\n {React.Children.map(props.children, (child) => React.cloneElement(child, { 'data-pie-purpose': props.purpose }))}\n </>\n );\n};\n\nPurpose.propTypes = {\n children: PropTypes.node,\n purpose: PropTypes.string,\n};\n\nexport default Purpose;\n","let parser;\n\nif (typeof window !== 'undefined') {\n parser = new DOMParser();\n}\n\nconst markupToText = (s) => {\n const root = parser.parseFromString(s, 'text/html');\n return root.body.textContent;\n};\n\nexport const hasText = (s) => {\n if (!s) {\n return false;\n }\n const tc = markupToText(s);\n return !!(tc && tc.trim());\n};\n","let parser;\n\nif (typeof window !== 'undefined') {\n parser = new DOMParser();\n}\n\n/*\n * Check if the string contains at least one media element.\n */\nexport const hasMedia = (s) => {\n if (!s) {\n return false;\n }\n const root = parser.parseFromString(s, 'text/html');\n return !!root.body.querySelector('img') || !!root.body.querySelector('video') || !!root.body.querySelector('audio');\n};\n","export default 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBD/wAARCAJYAyADAREAAhEBAxEB/8QAHgABAQABBQEBAQAAAAAAAAAAAAEIAgMGBwkEBQr/xABiEAACAQIDBAMKCAYMCgYLAQAAAQIDEQQFIQYSMUEHCFETFRYiUmFxkdHhCRRjgaGisfAXMjRTcsEjJDY4QmJ1dpKztMQYMzdEVIKyw9PxQ1hmc3SWJzVFRlZXhJOUldJk/8QAGwEBAQADAQEBAAAAAAAAAAAAAAcEBQYCAQP/xABBEQEAAQIDAgkJBgUFAQEBAAAAAQIDBAYRBSESMUFEYXGCscITNDVRcoGRocEUIjJS0eEVI2KSsjNCU6LwFtLx/9oADAMBAAIRAxEAPwD1TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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';\n"],"names":["defaults","TEXT","DISABLED","DISABLED_SECONDARY","CORRECT","green","CORRECT_SECONDARY","CORRECT_TERTIARY","CORRECT_WITH_ICON","INCORRECT","orange","INCORRECT_SECONDARY","red","INCORRECT_WITH_ICON","MISSING","MISSING_WITH_ICON","PRIMARY","indigo","PRIMARY_LIGHT","PRIMARY_DARK","SECONDARY","pink","A400","SECONDARY_LIGHT","SECONDARY_DARK","TERTIARY","TERTIARY_LIGHT","BACKGROUND","BACKGROUND_DARK","DROPDOWN_BACKGROUND","SECONDARY_BACKGROUND","BORDER","BORDER_LIGHT","BORDER_DARK","BORDER_GRAY","BLACK","WHITE","TRANSPARENT","FOCUS_CHECKED","FOCUS_CHECKED_BORDER","FOCUS_UNCHECKED","FOCUS_UNCHECKED_BORDER","BLUE_GREY100","BLUE_GREY300","BLUE_GREY600","BLUE_GREY900","FADED_PRIMARY","Object","freeze","v","prefix","args","fallback","pop","reduceRight","acc","pv","text","disabled","disabledSecondary","correct","correctSecondary","correctTertiary","correctWithIcon","incorrect","incorrectWithIcon","incorrectSecondary","missing","missingWithIcon","primary","primaryLight","primaryDark","primaryText","fadedPrimary","secondary","secondaryLight","secondaryDark","secondaryText","background","backgroundDark","secondaryBackground","dropdownBackground","tertiary","tertiaryLight","border","borderLight","borderDark","borderGray","black","white","transparent","focusChecked","focusCheckedBorder","focusUnchecked","focusUncheckedBorder","blueGrey100","blueGrey300","blueGrey600","blueGrey900","visualElementsColors","AXIS_LINE_COLOR","ROLLOVER_FILL_BAR_COLOR","GRIDLINES_COLOR","PLOT_FILL_COLOR","styleSheet","corespringFeedback","transformOrigin","width","display","overflow","color","content","backgroundColor","borderRadius","fontFamily","lineHeight","margin","padding","verticalAlign","feedbackEnter","height","feedbackEnterActive","transition","feedbackLeave","feedbackLeaveActive","Feedback","React","Component","render","correctness","feedback","classes","props","chooseFeedback","enter","enterActive","leave","leaveActive","exit","classNames","__html","propTypes","PropTypes","string","object","isRequired","withStyles","name","log","debug","styles","responseIndicator","cursor","paper","popover","popperClose","BuildIndicator","Icon","RawIndicator","constructor","handlePopoverOpen","event","target","setState","anchorEl","handlePopoverClose","state","r","icon","vertical","horizontal","Correct","icons","Incorrect","PartiallyCorrect","NothingSubmitted","Collapsible","expanded","toggleExpanded","componentDidMount","renderMath","root","componentDidUpdate","labels","children","className","title","visible","hidden","collapsible","shape","defaultProps","theme","palette","light","borderBottom","paddingTop","spacing","unit","wrapper","flexDirection","resetUndoContainer","alignItems","justifyContent","marginRight","buttonContainer","marginLeft","withUndoReset","WrappedComponent","WithUndoReset","onSessionChange","session","changes","onUndo","newChanges","length","sessionInitialValues","onReset","JSON","parse","stringify","rest","_excluded","func","ExtraCSSRulesMixin","appendExtraStyles","isEmpty","extraCSSRules","classesSheet","headElement","document","head","getElementsByTagName","parentElement","appendChild","innerHTML","rules","createElement","names","arrayOf","UiLayout","AppendCSSRules","computeStyle","fontSizeFactor","getFontSize","element","parseFloat","getComputedStyle","fontSize","rootFontSize","documentElement","bodyFontSize","body","effectiveFontSize","Math","max","finalClass","uiLayoutContainer","restProps","style","array","number","Styled","PreviewLayout","ariaLabel","role","accessibility","container","oneOfType","node","position","createMuiTheme","typography","useNextVariants","action","overrides","MuiRadio","MuiCheckbox","MuiTabs","MuiSwitch","opacity","RootElem","HtmlAndMath","tag","html","Tag","RawInputContainer","label","formControl","paddingBottom","flex","minWidth","whiteSpace","NEWLINE_BLOCK_REGEX","NEWLINE_LATEX","PreviewPrompt","parsedText","customAudioButton","div","audio","querySelector","source","setAttribute","getAttribute","removeAttribute","playButton","id","assign","backgroundImage","pauseImage","backgroundSize","parentNode","insertBefore","addCustomAudioButtonControls","autoplayAudioEnabled","getElementById","play","then","addEventListener","handleAudioEnded","catch","error","console","handlePlayClick","paused","includes","playImage","handleAudioPlay","handleAudioPause","_handlePlayClick","_handleAudioPlay","_handleAudioPause","_handleAudioEnded","removeCustomAudioButtonListeners","removeEventListener","alignImages","componentWillUnmount","previewPrompts","querySelectorAll","forEach","previewPrompt","images","image","attributes","alignment","value","tagName","copyImage","cloneNode","replaceChild","prompt","onClick","defaultClassName","CustomTag","legendClass","customClasses","promptTable","replace","bool","legend","rationale","paddingLeft","borderCollapse","common","textAlign","Readable","Children","map","child","cloneElement","false","undefined","Purpose","purpose","parser","window","DOMParser","markupToText","s","parseFromString","textContent","hasText","tc","trim","hasMedia"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-lib/render-ui",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.32.1",
|
|
4
4
|
"description": "Some shared ui elements when rendering - but not worthy of their own package yet.",
|
|
5
5
|
"module": "src/index.js",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./esm/index.js",
|
|
10
|
+
"require": "./lib/index.js",
|
|
11
|
+
"default": "./esm/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
7
14
|
"publishConfig": {
|
|
8
15
|
"access": "public"
|
|
9
16
|
},
|
|
@@ -11,9 +18,9 @@
|
|
|
11
18
|
"dependencies": {
|
|
12
19
|
"@material-ui/core": "^3.8.3",
|
|
13
20
|
"@material-ui/icons": "^3.0.2",
|
|
14
|
-
"@pie-lib/icons": "^2.
|
|
15
|
-
"@pie-lib/math-rendering": "^3.
|
|
16
|
-
"@pie-lib/test-utils": "^0.
|
|
21
|
+
"@pie-lib/icons": "^2.21.0",
|
|
22
|
+
"@pie-lib/math-rendering": "^3.19.0",
|
|
23
|
+
"@pie-lib/test-utils": "^0.19.1",
|
|
17
24
|
"classnames": "^2.2.6",
|
|
18
25
|
"debug": "^4.1.1",
|
|
19
26
|
"lodash": "^4.17.11",
|
|
@@ -29,5 +36,5 @@
|
|
|
29
36
|
"react": "^16.8.1",
|
|
30
37
|
"react-dom": "^16.8.1"
|
|
31
38
|
},
|
|
32
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "be0b7951407a81d53b8b8b4861b8407b31728809"
|
|
33
40
|
}
|