@pie-element/extended-text-entry 13.4.1-next.0 → 14.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/annotation/annotation-editor.jsx"],"names":["style","theme","textContainer","padding","backgroundColor","border","borderRadius","overflowY","lineHeight","whiteSpace","overflowWrap","margin","userSelect","labelsContainer","width","wrapper","position","overflowX","display","commentContainer","paddingTop","spacing","unit","marginBottom","marginTop","annotation","cursor","annotationLabel","top","left","fontSize","typography","fontStyle","fontWeight","color","labelHover","zIndex","highlight","hover","sideAnnotationHover","borderRightColor","sideAnnotation","marginLeft","wordBreak","palette","common","white","right","content","height","pointerEvents","borderWidth","AnnotationEditor","props","textRef","labelsRef","offsetLeft","offsetWidth","Array","from","children","forEach","label","spans","dataset","annId","spanOffset","offsetTop","offsetParent","scrollTop","event","annotations","classes","selectionDetails","state","target","id","annotationId","selectedElems","labelElem","annotationIndex","findIndex","isSideLabel","hasAttribute","classList","add","setState","anchorEl","openedMenu","openedEditor","elem","remove","length","selection","window","getSelection","detail","rangeCount","selectedRange","getRangeAt","selectedText","toString","isSelectionInside","contains","commonAncestorContainer","isCollapsed","onChange","parentRef","removeChild","splice","handleClose","elems","disabled","type","className","onclick","handleClick","onmouseover","handleHover","onmouseout","handleCancelHover","firstSpan","document","createElement","innerHTML","freeform","appendChild","start","end","Date","getTime","join","createDOMAnnotation","newAnnotation","text","updatedAnnotation","oldType","oldLabel","updateLabel","createNewAnnotation","push","newLabel","span","domStart","domEnd","range","createRange","setStart","node","offset","setEnd","adjustAnnotationsPosition","addEventListener","removeEventListener","comment","customKeys","disabledMath","keypadMode","maxHeight","onCommentChange","predefinedAnnotations","anchorOffset","topOffset","minHeight","r","clearSelection","handleSelection","__html","prompt","math","controlledKeypadMode","video","audio","textAlign","deleteAnnotation","editAnnotation","addAnnotation","handleMenuClick","updateAnnotation","changeAnnotationType","React","Component","PropTypes","string","array","func","isRequired","number","bool","object"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport {\n clearSelection,\n isSideLabel,\n getAnnotationElements,\n getDOMNodes,\n getLabelElement,\n getRangeDetails,\n removeElemsWrapping,\n wrapRange,\n} from './annotation-utils';\nimport FreeformEditor from './freeform-editor';\nimport AnnotationMenu from './annotation-menu';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/config-ui';\n\nconst style = (theme) => ({\n textContainer: {\n padding: '10px 120px 10px 16px',\n backgroundColor: 'rgba(0, 0, 0, 0.06)',\n border: '1px solid #ccc',\n borderRadius: '4px',\n overflowY: 'scroll',\n lineHeight: '36px',\n whiteSpace: 'pre-wrap',\n overflowWrap: 'break-word',\n '& p': {\n margin: 0,\n },\n '& span[data-latex]': {\n userSelect: 'none',\n '-webkit-user-select': 'none',\n '-moz-user-select': 'none',\n '-ms-user-select': 'none',\n },\n },\n labelsContainer: {\n width: '230px',\n },\n wrapper: {\n position: 'relative',\n overflowX: 'hidden',\n display: 'flex',\n },\n commentContainer: {\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n marginTop: theme.spacing.unit * 2,\n width: '100%',\n },\n annotation: {\n position: 'relative',\n cursor: 'pointer',\n\n '&.positive': {\n backgroundColor: 'rgb(51, 255, 51, 0.5)',\n },\n\n '&.negative': {\n backgroundColor: 'rgba(255, 102, 204, 0.4)',\n },\n },\n annotationLabel: {\n backgroundColor: 'rgb(242, 242, 242)',\n padding: '2px',\n position: 'absolute',\n userSelect: 'none',\n whiteSpace: 'nowrap',\n top: '-10px',\n left: '-2px',\n fontSize: theme.typography.fontSize - 2,\n fontStyle: 'normal',\n fontWeight: 'normal',\n lineHeight: '6px',\n '-webkit-user-select': 'none',\n '-moz-user-select': 'none',\n '-ms-user-select': 'none',\n\n '&.positive': {\n color: 'rgb(0, 128, 0)',\n },\n\n '&.negative': {\n color: 'rgb(204, 0, 136)',\n },\n },\n labelHover: {\n zIndex: 20,\n\n '&.positive': {\n color: 'rgb(0, 77, 0)',\n },\n\n '&.negative': {\n color: 'rgb(153, 0, 102)',\n },\n },\n highlight: {\n zIndex: 10,\n },\n hover: {\n zIndex: 20,\n\n '&.positive': {\n backgroundColor: 'rgb(51, 255, 51, 0.7)',\n },\n\n '&.negative': {\n backgroundColor: 'rgba(255, 102, 204, 0.55)',\n },\n },\n sideAnnotationHover: {\n zIndex: 20,\n\n '&.negative': {\n backgroundColor: 'rgb(255, 179, 230) !important',\n '&:before': {\n borderRightColor: 'rgb(255, 179, 230) !important',\n },\n },\n\n '&.positive': {\n backgroundColor: 'rgb(128, 255, 128) !important',\n '&:before': {\n borderRightColor: 'rgb(153, 255, 153) !important',\n },\n },\n },\n sideAnnotation: {\n position: 'absolute',\n padding: theme.spacing.unit / 2,\n borderRadius: '4px',\n marginLeft: theme.spacing.unit,\n width: '180px',\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n border: `2px solid ${theme.palette.common.white}`,\n fontSize: theme.typography.fontSize,\n fontStyle: 'normal',\n fontWeight: 'normal',\n\n '&:before': {\n position: 'absolute',\n right: '100%',\n top: '5px',\n border: 'solid transparent',\n content: '\"\"',\n height: 0,\n width: 0,\n pointerEvents: 'none',\n borderWidth: '7px',\n },\n\n '&.negative': {\n backgroundColor: 'rgb(255, 204, 238)',\n '&:before': {\n borderRightColor: 'rgb(255, 204, 238)',\n },\n },\n\n '&.positive': {\n backgroundColor: 'rgb(153, 255, 153)',\n '&:before': {\n borderRightColor: 'rgb(153, 255, 153)',\n },\n },\n },\n});\n\nclass AnnotationEditor extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n comment: PropTypes.string,\n annotations: PropTypes.array,\n predefinedAnnotations: PropTypes.array,\n onChange: PropTypes.func.isRequired,\n onCommentChange: PropTypes.func.isRequired,\n width: PropTypes.number,\n height: PropTypes.number,\n maxHeight: PropTypes.string,\n disabled: PropTypes.bool,\n disabledMath: PropTypes.bool,\n customKeys: PropTypes.array,\n keypadMode: PropTypes.string,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: null,\n openedMenu: false,\n openedEditor: false,\n selectedElems: [],\n labelElem: null,\n selectionDetails: null,\n annotation: null,\n annotationIndex: null,\n };\n }\n\n componentDidMount() {\n const { annotations, text } = this.props;\n\n if (text) {\n annotations.forEach((annotation) => {\n const [domStart, domEnd] = getDOMNodes(annotation.start, annotation.end, this.textRef);\n\n if (domStart && domEnd) {\n const range = document.createRange();\n\n range.setStart(domStart.node, domStart.offset);\n range.setEnd(domEnd.node, domEnd.offset);\n\n const spans = wrapRange(range);\n\n this.createDOMAnnotation(spans, annotation);\n }\n });\n }\n\n if (this.textRef) {\n this.adjustAnnotationsPosition();\n this.textRef.addEventListener('scroll', this.adjustAnnotationsPosition);\n }\n }\n\n adjustAnnotationsPosition = () => {\n if (this.textRef && this.labelsRef) {\n const left = this.textRef.offsetLeft + this.textRef.offsetWidth + 8;\n\n Array.from(this.labelsRef.children).forEach((label) => {\n const spans = getAnnotationElements(label.dataset.annId);\n const spanOffset = spans[0].offsetTop ? spans[0].offsetTop : spans[0].offsetParent.offsetTop;\n const top = spanOffset - this.textRef.scrollTop - 6;\n\n label.style.top = `${top}px`;\n label.style.left = `${left}px`;\n });\n }\n };\n\n handleClick = (event) => {\n const { annotations, classes } = this.props;\n const { selectionDetails } = this.state;\n\n if (selectionDetails) {\n // new selection was made inside another annotation and should not update that annotation\n return;\n }\n\n const { id, annId } = event.target.dataset;\n const annotationId = id || annId;\n const selectedElems = getAnnotationElements(annotationId);\n const labelElem = getLabelElement(annotationId);\n const annotationIndex = annotations.findIndex((annotation) => annotation.id === annotationId);\n const isSideLabel = labelElem.hasAttribute('data-freeform');\n\n if (isSideLabel) {\n labelElem.classList.add(classes.highlight);\n }\n\n this.setState({\n anchorEl: selectedElems[0],\n openedMenu: !!id || (!!annId && !isSideLabel), // true if the annotation or the label was clicked\n openedEditor: !!annId && isSideLabel, // true if the side label was clicked\n selectedElems,\n labelElem,\n annotationIndex,\n annotation: annotations[annotationIndex],\n selectionDetails: null,\n });\n };\n\n handleHover = (event) => {\n const { classes } = this.props;\n const { id, annId } = event.target.dataset;\n const annotationId = id || annId;\n const selectedElems = getAnnotationElements(annotationId);\n const labelElem = getLabelElement(annotationId);\n const isSideLabel = labelElem.hasAttribute('data-freeform');\n\n selectedElems.forEach((elem) => elem.classList.add(classes.hover));\n labelElem.classList.add(isSideLabel ? classes.sideAnnotationHover : classes.labelHover);\n };\n\n handleCancelHover = (event) => {\n const { classes } = this.props;\n const { id, annId } = event.target.dataset;\n const annotationId = id || annId;\n const selectedElems = getAnnotationElements(annotationId);\n const labelElem = getLabelElement(annotationId);\n const isSideLabel = labelElem.hasAttribute('data-freeform');\n\n selectedElems.forEach((elem) => elem.classList.remove(classes.hover));\n labelElem.classList.remove(isSideLabel ? classes.sideAnnotationHover : classes.labelHover);\n };\n\n handleClose = (event) => {\n const { classes } = this.props;\n const { selectedElems, labelElem } = this.state;\n\n if (selectedElems.length && !selectedElems[0].hasAttribute('data-id')) {\n removeElemsWrapping(selectedElems, this.textRef);\n }\n\n if (labelElem) {\n labelElem.classList.remove(classes.highlight);\n }\n\n this.setState({\n anchorEl: null,\n openedMenu: false,\n openedEditor: false,\n selectedElems: [],\n labelElem: null,\n selectionDetails: null,\n annotationIndex: null,\n annotation: null,\n });\n\n clearSelection();\n };\n\n handleSelection = (event) => {\n const selection = window.getSelection();\n\n // prevent unwanted selections\n if (event.detail > 2) {\n clearSelection();\n return;\n }\n\n if (selection && selection.rangeCount > 0) {\n const selectedRange = selection.getRangeAt(0);\n const selectedText = selectedRange.toString();\n const isSelectionInside = this.textRef.contains(selectedRange.commonAncestorContainer);\n\n if (!selection.isCollapsed && selectedText !== '' && isSelectionInside) {\n const selectionDetails = getRangeDetails(selectedRange, this.textRef);\n const selectedElems = wrapRange(selectedRange);\n\n this.setState({\n anchorEl: selectedElems[0],\n openedMenu: true,\n selectedElems,\n selectionDetails,\n });\n }\n }\n };\n\n deleteAnnotation = () => {\n const { annotations, onChange } = this.props;\n const { selectedElems, labelElem, annotationIndex, annotation } = this.state;\n const parentRef = isSideLabel(annotation.label) ? this.labelsRef : selectedElems[0];\n\n parentRef.removeChild(labelElem);\n removeElemsWrapping(selectedElems, this.textRef);\n annotations.splice(annotationIndex, 1);\n\n onChange(annotations);\n this.handleClose();\n };\n\n createDOMAnnotation = (elems, annotation) => {\n const { classes, disabled } = this.props;\n const { id, label, type } = annotation;\n\n (elems || []).forEach((elem) => {\n elem.dataset.id = id;\n elem.className = classNames(classes.annotation, type);\n elem.onclick = !disabled && this.handleClick;\n elem.onmouseover = this.handleHover;\n elem.onmouseout = this.handleCancelHover;\n });\n\n const firstSpan = (elems && elems[0]) || {};\n const labelElem = document.createElement('SPAN');\n\n labelElem.dataset.annId = id;\n labelElem.innerHTML = label;\n labelElem.onclick = !disabled && this.handleClick;\n labelElem.onmouseover = this.handleHover;\n labelElem.onmouseout = this.handleCancelHover;\n\n if (isSideLabel(label)) {\n const spanOffset = firstSpan.offsetTop ? firstSpan.offsetTop : firstSpan.offsetParent.offsetTop;\n const top = spanOffset - this.textRef.scrollTop;\n const left = this.textRef.offsetLeft + this.textRef.offsetWidth + 8;\n\n labelElem.dataset.freeform = true;\n labelElem.className = classNames(classes.sideAnnotation, type);\n labelElem.style.top = `${top}px`;\n labelElem.style.left = `${left}px`;\n\n this.labelsRef.appendChild(labelElem);\n } else {\n labelElem.className = classNames(classes.annotationLabel, type);\n firstSpan.appendChild(labelElem);\n }\n };\n\n createNewAnnotation = (label, type) => {\n const { selectedElems, selectionDetails } = this.state;\n const annotation = {\n id: [selectionDetails.start, selectionDetails.end, new Date().getTime()].join('-'),\n label,\n type,\n ...selectionDetails,\n };\n\n this.createDOMAnnotation(selectedElems, annotation);\n\n return annotation;\n };\n\n handleMenuClick = (newAnnotation) => {\n const { annotations, onChange } = this.props;\n const { annotation, annotationIndex } = this.state;\n const { type, text: label } = newAnnotation;\n\n if (annotation) {\n const updatedAnnotation = { ...annotation, label, type };\n const { type: oldType, label: oldLabel } = annotation;\n\n this.updateLabel(oldLabel, updatedAnnotation, type !== oldType && oldType);\n annotations.splice(annotationIndex, 1, updatedAnnotation);\n } else {\n const newAnnotation = this.createNewAnnotation(label, type);\n\n annotations.push(newAnnotation);\n }\n\n onChange(annotations);\n this.handleClose();\n };\n\n editAnnotation = () => {\n this.setState({\n openedMenu: false,\n openedEditor: true,\n });\n };\n\n addAnnotation = (type) => {\n const { annotations, onChange } = this.props;\n const annotation = this.createNewAnnotation('', type);\n const labelElem = getLabelElement(annotation.id);\n\n annotations.push(annotation);\n\n this.setState({\n openedMenu: false,\n openedEditor: true,\n annotationIndex: annotations.length - 1,\n annotation,\n labelElem,\n });\n\n onChange(annotations);\n };\n\n updateLabel = (oldLabel, annotation, oldType) => {\n const { selectedElems, labelElem } = this.state;\n const { label, type } = annotation;\n\n if ((isSideLabel(label) && isSideLabel(oldLabel)) || (!isSideLabel(label) && !isSideLabel(oldLabel))) {\n labelElem.innerHTML = label;\n\n if (oldType) {\n labelElem.classList.remove(oldType);\n labelElem.classList.add(type);\n\n selectedElems.forEach((elem) => {\n elem.classList.remove(oldType);\n elem.classList.add(type);\n });\n }\n } else if (isSideLabel(label) && !isSideLabel(oldLabel)) {\n selectedElems[0].removeChild(labelElem);\n this.createDOMAnnotation(selectedElems, annotation);\n } else if (!isSideLabel(label) && isSideLabel(oldLabel)) {\n this.labelsRef.removeChild(labelElem);\n this.createDOMAnnotation(selectedElems, annotation);\n }\n };\n\n changeAnnotationType = (newLabel) => {\n const { annotations, onChange } = this.props;\n const { annotationIndex, selectedElems } = this.state;\n const { type: oldType, label: oldLabel } = annotations[annotationIndex];\n const type = oldType === 'positive' ? 'negative' : 'positive';\n const updatedAnnotation = { ...annotations[annotationIndex], type, label: newLabel };\n\n selectedElems.forEach((span) => {\n span.classList.remove(oldType);\n span.classList.add(type);\n });\n\n this.updateLabel(oldLabel, updatedAnnotation, oldType);\n annotations.splice(annotationIndex, 1, updatedAnnotation);\n\n onChange(annotations);\n this.handleClose();\n };\n\n updateAnnotation = (oldLabel, newLabel) => {\n const { annotations, onChange } = this.props;\n const { annotationIndex } = this.state;\n const updatedAnnotation = { ...annotations[annotationIndex], label: newLabel };\n\n this.updateLabel(oldLabel, updatedAnnotation);\n annotations.splice(annotationIndex, 1, updatedAnnotation);\n\n onChange(annotations);\n };\n\n componentWillUnmount() {\n this.textRef.removeEventListener('scroll', this.adjustAnnotationsPosition);\n }\n\n render() {\n const {\n classes,\n comment,\n customKeys,\n disabled,\n disabledMath,\n keypadMode,\n height,\n width,\n maxHeight,\n onCommentChange,\n predefinedAnnotations,\n text,\n } = this.props;\n const { anchorEl, annotation, openedMenu, openedEditor, selectionDetails } = this.state;\n\n const anchorOffset = anchorEl && (anchorEl.offsetTop ? anchorEl.offsetTop : anchorEl.offsetParent.offsetTop);\n const topOffset = this.textRef && anchorOffset ? anchorOffset - this.textRef.scrollTop - 8 : 0;\n\n return (\n <div>\n <div className={classes.wrapper}>\n <div\n className={classes.textContainer}\n style={{ width: width - 34, minHeight: height, maxHeight: maxHeight }}\n ref={(r) => (this.textRef = r)}\n onMouseDown={!disabled ? clearSelection : () => {}}\n onMouseUp={!disabled ? this.handleSelection : () => {}}\n dangerouslySetInnerHTML={{ __html: text }}\n />\n <div className={classes.labelsContainer} ref={(r) => (this.labelsRef = r)} />\n </div>\n\n <InputContainer label={'Comment'} className={classes.commentContainer}>\n <EditableHtml\n className={classes.prompt}\n markup={comment || ''}\n onChange={onCommentChange}\n width={width && (width + 104).toString()}\n disabled={disabled}\n pluginProps={{\n math: {\n disabled: disabledMath,\n customKeys: customKeys,\n keypadMode: keypadMode,\n controlledKeypadMode: false,\n },\n video: {\n disabled: true,\n },\n audio: {\n disabled: true,\n },\n textAlign: {\n disabled: true,\n },\n }}\n />\n </InputContainer>\n\n <AnnotationMenu\n anchorEl={anchorEl}\n open={openedMenu && !disabled}\n annotations={predefinedAnnotations}\n isNewAnnotation={!!selectionDetails}\n onClose={this.handleClose}\n onDelete={this.deleteAnnotation}\n onEdit={this.editAnnotation}\n onWrite={this.addAnnotation}\n onAnnotate={this.handleMenuClick}\n />\n\n <FreeformEditor\n anchorEl={this.textRef}\n open={openedEditor && !disabled}\n offset={topOffset}\n value={(annotation && annotation.label) || ''}\n type={annotation && annotation.type}\n onClose={this.handleClose}\n onDelete={this.deleteAnnotation}\n onSave={this.updateAnnotation}\n onTypeChange={this.changeAnnotationType}\n />\n </div>\n );\n }\n}\n\nexport default withStyles(style)(AnnotationEditor);\n"],"file":"annotation-editor.js"}
1
+ {"version":3,"file":"annotation-editor.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_annotationUtils","_freeformEditor","_annotationMenu","_editableHtml","_configUi","TextContainer","styled","padding","backgroundColor","border","borderRadius","overflowY","lineHeight","whiteSpace","overflowWrap","margin","userSelect","LabelsContainer","width","Wrapper","position","overflowX","display","CommentContainer","InputContainer","theme","paddingTop","spacing","marginBottom","marginTop","globalStyles","document","getElementById","styleElement","createElement","id","textContent","head","appendChild","AnnotationEditor","React","Component","constructor","props","_defineProperty2","default","textRef","labelsRef","left","offsetLeft","offsetWidth","Array","from","children","forEach","label","spans","getAnnotationElements","dataset","annId","spanOffset","offsetTop","offsetParent","top","scrollTop","style","event","annotations","selectionDetails","state","target","annotationId","selectedElems","labelElem","getLabelElement","annotationIndex","findIndex","annotation","isSideLabel","hasAttribute","zIndex","setState","anchorEl","openedMenu","openedEditor","elem","classList","contains","setProperty","color","removeProperty","length","removeElemsWrapping","clearSelection","selection","window","getSelection","detail","rangeCount","selectedRange","getRangeAt","selectedText","toString","isSelectionInside","commonAncestorContainer","isCollapsed","getRangeDetails","wrapRange","onChange","parentRef","removeChild","splice","handleClose","elems","disabled","type","className","cursor","onclick","handleClick","onmouseover","handleHover","onmouseout","handleCancelHover","firstSpan","innerHTML","freeform","marginLeft","wordBreak","fontSize","fontStyle","fontWeight","webkitUserSelect","mozUserSelect","msUserSelect","start","end","Date","getTime","join","createDOMAnnotation","newAnnotation","text","updatedAnnotation","oldType","oldLabel","updateLabel","createNewAnnotation","push","remove","add","newLabel","span","componentDidMount","domStart","domEnd","getDOMNodes","range","createRange","setStart","node","offset","setEnd","adjustAnnotationsPosition","addEventListener","componentWillUnmount","removeEventListener","render","comment","customKeys","disabledMath","keypadMode","height","maxHeight","onCommentChange","predefinedAnnotations","anchorOffset","topOffset","minHeight","ref","r","onMouseDown","onMouseUp","handleSelection","dangerouslySetInnerHTML","__html","markup","pluginProps","math","controlledKeypadMode","video","audio","textAlign","open","isNewAnnotation","onClose","onDelete","deleteAnnotation","onEdit","editAnnotation","onWrite","addAnnotation","onAnnotate","handleMenuClick","value","onSave","updateAnnotation","onTypeChange","changeAnnotationType","PropTypes","string","array","func","isRequired","number","bool","_default","exports"],"sources":["../../src/annotation/annotation-editor.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\n\nimport {\n clearSelection,\n isSideLabel,\n getAnnotationElements,\n getDOMNodes,\n getLabelElement,\n getRangeDetails,\n removeElemsWrapping,\n wrapRange,\n} from './annotation-utils';\nimport FreeformEditor from './freeform-editor';\nimport AnnotationMenu from './annotation-menu';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/config-ui';\n\nconst TextContainer = styled('div')({\n padding: '10px 120px 10px 16px',\n backgroundColor: 'rgba(0, 0, 0, 0.06)',\n border: '1px solid #ccc',\n borderRadius: '4px',\n overflowY: 'scroll',\n lineHeight: '36px',\n whiteSpace: 'pre-wrap',\n overflowWrap: 'break-word',\n '& p': {\n margin: 0,\n },\n '& span[data-latex]': {\n userSelect: 'none',\n '-webkit-user-select': 'none',\n '-moz-user-select': 'none',\n '-ms-user-select': 'none',\n },\n});\n\nconst LabelsContainer = styled('div')({\n width: '230px',\n});\n\nconst Wrapper = styled('div')({\n position: 'relative',\n overflowX: 'hidden',\n display: 'flex',\n});\n\nconst CommentContainer = styled(InputContainer)(({ theme }) => ({\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n marginTop: theme.spacing(2),\n width: '100%',\n}));\n\n// Global styles for pseudo-elements that can't be applied inline\nconst globalStyles = `\n .sideAnnotation:before {\n position: absolute;\n right: var(--before-right, 100%);\n top: var(--before-top, 5px);\n border: solid transparent;\n content: \"\";\n height: 0;\n width: 0;\n pointer-events: none;\n border-width: var(--before-border-width, 7px);\n border-right-color: var(--before-border-color, rgb(153, 255, 153));\n }\n`;\n\n// Inject styles if not already injected\nif (!document.getElementById('annotation-editor-styles')) {\n const styleElement = document.createElement('style');\n styleElement.id = 'annotation-editor-styles';\n styleElement.textContent = globalStyles;\n document.head.appendChild(styleElement);\n}\n\nclass AnnotationEditor extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n comment: PropTypes.string,\n annotations: PropTypes.array,\n predefinedAnnotations: PropTypes.array,\n onChange: PropTypes.func.isRequired,\n onCommentChange: PropTypes.func.isRequired,\n width: PropTypes.number,\n height: PropTypes.number,\n maxHeight: PropTypes.string,\n disabled: PropTypes.bool,\n disabledMath: PropTypes.bool,\n customKeys: PropTypes.array,\n keypadMode: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: null,\n openedMenu: false,\n openedEditor: false,\n selectedElems: [],\n labelElem: null,\n selectionDetails: null,\n annotation: null,\n annotationIndex: null,\n };\n }\n\n componentDidMount() {\n const { annotations, text } = this.props;\n\n if (text) {\n annotations.forEach((annotation) => {\n const [domStart, domEnd] = getDOMNodes(annotation.start, annotation.end, this.textRef);\n\n if (domStart && domEnd) {\n const range = document.createRange();\n\n range.setStart(domStart.node, domStart.offset);\n range.setEnd(domEnd.node, domEnd.offset);\n\n const spans = wrapRange(range);\n\n this.createDOMAnnotation(spans, annotation);\n }\n });\n }\n\n if (this.textRef) {\n this.adjustAnnotationsPosition();\n this.textRef.addEventListener('scroll', this.adjustAnnotationsPosition);\n }\n }\n\n adjustAnnotationsPosition = () => {\n if (this.textRef && this.labelsRef) {\n const left = this.textRef.offsetLeft + this.textRef.offsetWidth + 8;\n\n Array.from(this.labelsRef.children).forEach((label) => {\n const spans = getAnnotationElements(label.dataset.annId);\n const spanOffset = spans[0].offsetTop ? spans[0].offsetTop : spans[0].offsetParent.offsetTop;\n const top = spanOffset - this.textRef.scrollTop - 6;\n\n label.style.top = `${top}px`;\n label.style.left = `${left}px`;\n });\n }\n };\n\n handleClick = (event) => {\n const { annotations } = this.props;\n const { selectionDetails } = this.state;\n\n if (selectionDetails) {\n // new selection was made inside another annotation and should not update that annotation\n return;\n }\n\n const { id, annId } = event.target.dataset;\n const annotationId = id || annId;\n const selectedElems = getAnnotationElements(annotationId);\n const labelElem = getLabelElement(annotationId);\n const annotationIndex = annotations.findIndex((annotation) => annotation.id === annotationId);\n const isSideLabel = labelElem.hasAttribute('data-freeform');\n\n if (isSideLabel) {\n labelElem.style.zIndex = '10';\n }\n\n this.setState({\n anchorEl: selectedElems[0],\n openedMenu: !!id || (!!annId && !isSideLabel), // true if the annotation or the label was clicked\n openedEditor: !!annId && isSideLabel, // true if the side label was clicked\n selectedElems,\n labelElem,\n annotationIndex,\n annotation: annotations[annotationIndex],\n selectionDetails: null,\n });\n };\n\n handleHover = (event) => {\n const { id, annId } = event.target.dataset;\n const annotationId = id || annId;\n const selectedElems = getAnnotationElements(annotationId);\n const labelElem = getLabelElement(annotationId);\n const isSideLabel = labelElem.hasAttribute('data-freeform');\n\n selectedElems.forEach((elem) => {\n elem.style.zIndex = '20';\n if (elem.classList.contains('positive')) {\n elem.style.backgroundColor = 'rgb(51, 255, 51, 0.7)';\n } else if (elem.classList.contains('negative')) {\n elem.style.backgroundColor = 'rgba(255, 102, 204, 0.55)';\n }\n });\n\n if (isSideLabel) {\n labelElem.style.zIndex = '20';\n if (labelElem.classList.contains('positive')) {\n labelElem.style.backgroundColor = 'rgb(128, 255, 128)';\n labelElem.style.setProperty('--before-border-color', 'rgb(153, 255, 153)');\n } else if (labelElem.classList.contains('negative')) {\n labelElem.style.backgroundColor = 'rgb(255, 179, 230)';\n labelElem.style.setProperty('--before-border-color', 'rgb(255, 179, 230)');\n }\n } else {\n labelElem.style.zIndex = '20';\n if (labelElem.classList.contains('positive')) {\n labelElem.style.color = 'rgb(0, 77, 0)';\n } else if (labelElem.classList.contains('negative')) {\n labelElem.style.color = 'rgb(153, 0, 102)';\n }\n }\n };\n\n handleCancelHover = (event) => {\n const { id, annId } = event.target.dataset;\n const annotationId = id || annId;\n const selectedElems = getAnnotationElements(annotationId);\n const labelElem = getLabelElement(annotationId);\n const isSideLabel = labelElem.hasAttribute('data-freeform');\n\n selectedElems.forEach((elem) => {\n elem.style.zIndex = '';\n if (elem.classList.contains('positive')) {\n elem.style.backgroundColor = 'rgb(51, 255, 51, 0.5)';\n } else if (elem.classList.contains('negative')) {\n elem.style.backgroundColor = 'rgba(255, 102, 204, 0.4)';\n }\n });\n\n if (isSideLabel) {\n labelElem.style.zIndex = '';\n if (labelElem.classList.contains('positive')) {\n labelElem.style.backgroundColor = 'rgb(153, 255, 153)';\n labelElem.style.removeProperty('--before-border-color');\n } else if (labelElem.classList.contains('negative')) {\n labelElem.style.backgroundColor = 'rgb(255, 204, 238)';\n labelElem.style.removeProperty('--before-border-color');\n }\n } else {\n labelElem.style.zIndex = '';\n if (labelElem.classList.contains('positive')) {\n labelElem.style.color = 'rgb(0, 128, 0)';\n } else if (labelElem.classList.contains('negative')) {\n labelElem.style.color = 'rgb(204, 0, 136)';\n }\n }\n };\n\n handleClose = (event) => {\n const { selectedElems, labelElem } = this.state;\n\n if (selectedElems.length && !selectedElems[0].hasAttribute('data-id')) {\n removeElemsWrapping(selectedElems, this.textRef);\n }\n\n if (labelElem) {\n labelElem.style.zIndex = '';\n }\n\n this.setState({\n anchorEl: null,\n openedMenu: false,\n openedEditor: false,\n selectedElems: [],\n labelElem: null,\n selectionDetails: null,\n annotationIndex: null,\n annotation: null,\n });\n\n clearSelection();\n };\n\n handleSelection = (event) => {\n const selection = window.getSelection();\n\n // prevent unwanted selections\n if (event.detail > 2) {\n clearSelection();\n return;\n }\n\n if (selection && selection.rangeCount > 0) {\n const selectedRange = selection.getRangeAt(0);\n const selectedText = selectedRange.toString();\n const isSelectionInside = this.textRef.contains(selectedRange.commonAncestorContainer);\n\n if (!selection.isCollapsed && selectedText !== '' && isSelectionInside) {\n const selectionDetails = getRangeDetails(selectedRange, this.textRef);\n const selectedElems = wrapRange(selectedRange);\n\n this.setState({\n anchorEl: selectedElems[0],\n openedMenu: true,\n selectedElems,\n selectionDetails,\n });\n }\n }\n };\n\n deleteAnnotation = () => {\n const { annotations, onChange } = this.props;\n const { selectedElems, labelElem, annotationIndex, annotation } = this.state;\n const parentRef = isSideLabel(annotation.label) ? this.labelsRef : selectedElems[0];\n\n parentRef.removeChild(labelElem);\n removeElemsWrapping(selectedElems, this.textRef);\n annotations.splice(annotationIndex, 1);\n\n onChange(annotations);\n this.handleClose();\n };\n\n createDOMAnnotation = (elems, annotation) => {\n const { disabled } = this.props;\n const { id, label, type } = annotation;\n\n (elems || []).forEach((elem) => {\n elem.dataset.id = id;\n elem.className = `annotation ${type}`;\n // Apply annotation styles directly\n elem.style.position = 'relative';\n elem.style.cursor = 'pointer';\n if (type === 'positive') {\n elem.style.backgroundColor = 'rgb(51, 255, 51, 0.5)';\n } else if (type === 'negative') {\n elem.style.backgroundColor = 'rgba(255, 102, 204, 0.4)';\n }\n elem.onclick = !disabled && this.handleClick;\n elem.onmouseover = this.handleHover;\n elem.onmouseout = this.handleCancelHover;\n });\n\n const firstSpan = (elems && elems[0]) || {};\n const labelElem = document.createElement('SPAN');\n\n labelElem.dataset.annId = id;\n labelElem.innerHTML = label;\n labelElem.onclick = !disabled && this.handleClick;\n labelElem.onmouseover = this.handleHover;\n labelElem.onmouseout = this.handleCancelHover;\n\n if (isSideLabel(label)) {\n const spanOffset = firstSpan.offsetTop ? firstSpan.offsetTop : firstSpan.offsetParent.offsetTop;\n const top = spanOffset - this.textRef.scrollTop;\n const left = this.textRef.offsetLeft + this.textRef.offsetWidth + 8;\n\n labelElem.dataset.freeform = true;\n labelElem.className = `sideAnnotation ${type}`;\n \n // Apply side annotation styles directly\n labelElem.style.position = 'absolute';\n labelElem.style.padding = '4px';\n labelElem.style.borderRadius = '4px';\n labelElem.style.marginLeft = '8px';\n labelElem.style.width = '180px';\n labelElem.style.whiteSpace = 'pre-wrap';\n labelElem.style.wordBreak = 'break-word';\n labelElem.style.border = '2px solid #ffffff';\n labelElem.style.fontSize = '14px';\n labelElem.style.fontStyle = 'normal';\n labelElem.style.fontWeight = 'normal';\n labelElem.style.top = `${top}px`;\n labelElem.style.left = `${left}px`;\n \n if (type === 'negative') {\n labelElem.style.backgroundColor = 'rgb(255, 204, 238)';\n } else if (type === 'positive') {\n labelElem.style.backgroundColor = 'rgb(153, 255, 153)';\n }\n \n // Add pseudo-element styles via CSS\n labelElem.style.setProperty('--before-border-width', '7px');\n labelElem.style.setProperty('--before-top', '5px');\n labelElem.style.setProperty('--before-right', '100%');\n if (type === 'negative') {\n labelElem.style.setProperty('--before-border-color', 'rgb(255, 204, 238)');\n } else if (type === 'positive') {\n labelElem.style.setProperty('--before-border-color', 'rgb(153, 255, 153)');\n }\n\n this.labelsRef.appendChild(labelElem);\n } else {\n labelElem.className = `annotationLabel ${type}`;\n \n // Apply annotation label styles directly\n labelElem.style.backgroundColor = 'rgb(242, 242, 242)';\n labelElem.style.padding = '2px';\n labelElem.style.position = 'absolute';\n labelElem.style.userSelect = 'none';\n labelElem.style.whiteSpace = 'nowrap';\n labelElem.style.top = '-10px';\n labelElem.style.left = '-2px';\n labelElem.style.fontSize = '12px';\n labelElem.style.fontStyle = 'normal';\n labelElem.style.fontWeight = 'normal';\n labelElem.style.lineHeight = '6px';\n labelElem.style.webkitUserSelect = 'none';\n labelElem.style.mozUserSelect = 'none';\n labelElem.style.msUserSelect = 'none';\n \n if (type === 'positive') {\n labelElem.style.color = 'rgb(0, 128, 0)';\n } else if (type === 'negative') {\n labelElem.style.color = 'rgb(204, 0, 136)';\n }\n \n firstSpan.appendChild(labelElem);\n }\n };\n\n createNewAnnotation = (label, type) => {\n const { selectedElems, selectionDetails } = this.state;\n const annotation = {\n id: [selectionDetails.start, selectionDetails.end, new Date().getTime()].join('-'),\n label,\n type,\n ...selectionDetails,\n };\n\n this.createDOMAnnotation(selectedElems, annotation);\n\n return annotation;\n };\n\n handleMenuClick = (newAnnotation) => {\n const { annotations, onChange } = this.props;\n const { annotation, annotationIndex } = this.state;\n const { type, text: label } = newAnnotation;\n\n if (annotation) {\n const updatedAnnotation = { ...annotation, label, type };\n const { type: oldType, label: oldLabel } = annotation;\n\n this.updateLabel(oldLabel, updatedAnnotation, type !== oldType && oldType);\n annotations.splice(annotationIndex, 1, updatedAnnotation);\n } else {\n const newAnnotation = this.createNewAnnotation(label, type);\n\n annotations.push(newAnnotation);\n }\n\n onChange(annotations);\n this.handleClose();\n };\n\n editAnnotation = () => {\n this.setState({\n openedMenu: false,\n openedEditor: true,\n });\n };\n\n addAnnotation = (type) => {\n const { annotations, onChange } = this.props;\n const annotation = this.createNewAnnotation('', type);\n const labelElem = getLabelElement(annotation.id);\n\n annotations.push(annotation);\n\n this.setState({\n openedMenu: false,\n openedEditor: true,\n annotationIndex: annotations.length - 1,\n annotation,\n labelElem,\n });\n\n onChange(annotations);\n };\n\n updateLabel = (oldLabel, annotation, oldType) => {\n const { selectedElems, labelElem } = this.state;\n const { label, type } = annotation;\n\n if ((isSideLabel(label) && isSideLabel(oldLabel)) || (!isSideLabel(label) && !isSideLabel(oldLabel))) {\n labelElem.innerHTML = label;\n\n if (oldType) {\n labelElem.classList.remove(oldType);\n labelElem.classList.add(type);\n\n selectedElems.forEach((elem) => {\n elem.classList.remove(oldType);\n elem.classList.add(type);\n });\n }\n } else if (isSideLabel(label) && !isSideLabel(oldLabel)) {\n selectedElems[0].removeChild(labelElem);\n this.createDOMAnnotation(selectedElems, annotation);\n } else if (!isSideLabel(label) && isSideLabel(oldLabel)) {\n this.labelsRef.removeChild(labelElem);\n this.createDOMAnnotation(selectedElems, annotation);\n }\n };\n\n changeAnnotationType = (newLabel) => {\n const { annotations, onChange } = this.props;\n const { annotationIndex, selectedElems } = this.state;\n const { type: oldType, label: oldLabel } = annotations[annotationIndex];\n const type = oldType === 'positive' ? 'negative' : 'positive';\n const updatedAnnotation = { ...annotations[annotationIndex], type, label: newLabel };\n\n selectedElems.forEach((span) => {\n span.classList.remove(oldType);\n span.classList.add(type);\n });\n\n this.updateLabel(oldLabel, updatedAnnotation, oldType);\n annotations.splice(annotationIndex, 1, updatedAnnotation);\n\n onChange(annotations);\n this.handleClose();\n };\n\n updateAnnotation = (oldLabel, newLabel) => {\n const { annotations, onChange } = this.props;\n const { annotationIndex } = this.state;\n const updatedAnnotation = { ...annotations[annotationIndex], label: newLabel };\n\n this.updateLabel(oldLabel, updatedAnnotation);\n annotations.splice(annotationIndex, 1, updatedAnnotation);\n\n onChange(annotations);\n };\n\n componentWillUnmount() {\n this.textRef.removeEventListener('scroll', this.adjustAnnotationsPosition);\n }\n\n render() {\n const {\n comment,\n customKeys,\n disabled,\n disabledMath,\n keypadMode,\n height,\n width,\n maxHeight,\n onCommentChange,\n predefinedAnnotations,\n text,\n } = this.props;\n const { anchorEl, annotation, openedMenu, openedEditor, selectionDetails } = this.state;\n\n const anchorOffset = anchorEl && (anchorEl.offsetTop ? anchorEl.offsetTop : anchorEl.offsetParent.offsetTop);\n const topOffset = this.textRef && anchorOffset ? anchorOffset - this.textRef.scrollTop - 8 : 0;\n\n return (\n <div>\n <Wrapper>\n <TextContainer\n style={{ width: width - 34, minHeight: height, maxHeight: maxHeight }}\n ref={(r) => (this.textRef = r)}\n onMouseDown={!disabled ? clearSelection : () => {}}\n onMouseUp={!disabled ? this.handleSelection : () => {}}\n dangerouslySetInnerHTML={{ __html: text }}\n />\n <LabelsContainer ref={(r) => (this.labelsRef = r)} />\n </Wrapper>\n\n <CommentContainer label={'Comment'}>\n <EditableHtml\n className=\"prompt\"\n markup={comment || ''}\n onChange={onCommentChange}\n width={width && (width + 104).toString()}\n disabled={disabled}\n pluginProps={{\n math: {\n disabled: disabledMath,\n customKeys: customKeys,\n keypadMode: keypadMode,\n controlledKeypadMode: false,\n },\n video: {\n disabled: true,\n },\n audio: {\n disabled: true,\n },\n textAlign: {\n disabled: true,\n },\n }}\n />\n </CommentContainer>\n\n <AnnotationMenu\n anchorEl={anchorEl}\n open={openedMenu && !disabled}\n annotations={predefinedAnnotations}\n isNewAnnotation={!!selectionDetails}\n onClose={this.handleClose}\n onDelete={this.deleteAnnotation}\n onEdit={this.editAnnotation}\n onWrite={this.addAnnotation}\n onAnnotate={this.handleMenuClick}\n />\n\n <FreeformEditor\n anchorEl={this.textRef}\n open={openedEditor && !disabled}\n offset={topOffset}\n value={(annotation && annotation.label) || ''}\n type={annotation && annotation.type}\n onClose={this.handleClose}\n onDelete={this.deleteAnnotation}\n onSave={this.updateAnnotation}\n onTypeChange={this.changeAnnotationType}\n />\n </div>\n );\n }\n}\n\nexport default AnnotationEditor;\n"],"mappings":"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","ignoreList":[]}
@@ -1,206 +1,147 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
7
+ exports.default = void 0;
20
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
9
  var _react = _interopRequireDefault(require("react"));
23
-
24
- var _classnames = _interopRequireDefault(require("classnames"));
25
-
26
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _styles = require("@material-ui/core/styles");
29
-
30
- var _core = require("@material-ui/core");
31
-
32
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
-
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
-
36
- var styles = function styles(theme) {
37
- return {
38
- mainWrapper: {
39
- width: '300px',
40
- overflow: 'hidden',
41
- borderRadius: '4px',
42
- backgroundColor: theme.palette.common.white,
43
- border: "2px solid ".concat(theme.palette.grey[100])
44
- },
45
- annotationsWrapper: {
46
- display: 'flex',
47
- flexWrap: 'wrap'
48
- },
49
- controlsWrapper: {
50
- display: 'flex',
51
- flexWrap: 'wrap',
52
- borderTop: "2px solid ".concat(theme.palette.grey[100])
53
- },
54
- button: {
55
- width: '22%',
56
- textAlign: 'center',
57
- padding: '4px',
58
- cursor: 'pointer',
59
- borderBottom: "1px solid ".concat(theme.palette.grey[100]),
60
- '&:not(:nth-child(4n))': {
61
- borderRight: "1px solid ".concat(theme.palette.grey[100])
11
+ var _styles = require("@mui/material/styles");
12
+ var _material = require("@mui/material");
13
+ const StyledPopover = (0, _styles.styled)(_material.Popover)({
14
+ '& .MuiPaper-root': {
15
+ overflowX: 'unset',
16
+ overflowY: 'unset',
17
+ marginTop: '-16px',
18
+ '&::after': {
19
+ position: 'absolute',
20
+ left: 'calc(50% - 7px)',
21
+ border: 'solid transparent',
22
+ content: '""',
23
+ height: 0,
24
+ width: 0,
25
+ pointerEvents: 'none',
26
+ borderWidth: '7px',
27
+ borderTopColor: 'black'
28
+ }
29
+ }
30
+ });
31
+ const MainWrapper = (0, _styles.styled)('div')(({
32
+ theme
33
+ }) => ({
34
+ width: '300px',
35
+ overflow: 'hidden',
36
+ borderRadius: '4px',
37
+ backgroundColor: theme.palette.common.white,
38
+ border: `2px solid ${theme.palette.grey[100]}`
39
+ }));
40
+ const AnnotationsWrapper = (0, _styles.styled)('div')({
41
+ display: 'flex',
42
+ flexWrap: 'wrap'
43
+ });
44
+ const ControlsWrapper = (0, _styles.styled)('div')(({
45
+ theme
46
+ }) => ({
47
+ display: 'flex',
48
+ flexWrap: 'wrap',
49
+ borderTop: `2px solid ${theme.palette.grey[100]}`
50
+ }));
51
+ const Button = (0, _styles.styled)('div')(({
52
+ theme,
53
+ variant
54
+ }) => ({
55
+ width: '22%',
56
+ textAlign: 'center',
57
+ padding: '4px',
58
+ cursor: 'pointer',
59
+ borderBottom: `1px solid ${theme.palette.grey[100]}`,
60
+ '&:not(:nth-child(4n))': {
61
+ borderRight: `1px solid ${theme.palette.grey[100]}`
62
+ },
63
+ '&:nth-child(4n)': {
64
+ flexGrow: 1
65
+ },
66
+ '&:hover': {
67
+ backgroundColor: theme.palette.grey[100]
68
+ },
69
+ ...(variant === 'positive' && {
70
+ backgroundColor: 'rgb(153, 255, 153) !important',
71
+ '&:hover': {
72
+ filter: 'brightness(85%)'
73
+ }
74
+ }),
75
+ ...(variant === 'negative' && {
76
+ backgroundColor: 'rgb(255, 204, 238) !important',
77
+ '&:hover': {
78
+ filter: 'brightness(85%)'
79
+ }
80
+ })
81
+ }));
82
+ class AnnotationMenu extends _react.default.Component {
83
+ render() {
84
+ const {
85
+ anchorEl,
86
+ annotations,
87
+ isNewAnnotation,
88
+ onAnnotate,
89
+ onClose,
90
+ onEdit,
91
+ onDelete,
92
+ onWrite,
93
+ open
94
+ } = this.props;
95
+ return /*#__PURE__*/_react.default.createElement(StyledPopover, {
96
+ anchorEl: anchorEl,
97
+ open: open,
98
+ onClose: onClose,
99
+ elevation: 5,
100
+ transitionDuration: {
101
+ enter: 225,
102
+ exit: 195
62
103
  },
63
- '&:nth-child(4n)': {
64
- flexGrow: 1
104
+ anchorOrigin: {
105
+ vertical: 'top',
106
+ horizontal: 'center'
65
107
  },
66
- '&:hover': {
67
- backgroundColor: theme.palette.grey[100]
68
- }
69
- },
70
- positive: {
71
- backgroundColor: 'rgb(153, 255, 153) !important',
72
- '&:hover': {
73
- filter: 'brightness(85%)'
108
+ transformOrigin: {
109
+ vertical: 'bottom',
110
+ horizontal: 'center'
74
111
  }
75
- },
76
- negative: {
77
- backgroundColor: 'rgb(255, 204, 238) !important',
78
- '&:hover': {
79
- filter: 'brightness(85%)'
112
+ }, /*#__PURE__*/_react.default.createElement(MainWrapper, null, /*#__PURE__*/_react.default.createElement(AnnotationsWrapper, null, annotations.map((annotation, index) => /*#__PURE__*/_react.default.createElement(Button, {
113
+ key: `annotation-${index}`,
114
+ variant: annotation.type,
115
+ onClick: () => onAnnotate(annotation)
116
+ }, annotation.label))), /*#__PURE__*/_react.default.createElement(ControlsWrapper, null, /*#__PURE__*/_react.default.createElement(Button, {
117
+ onClick: onClose
118
+ }, "Cancel"), /*#__PURE__*/_react.default.createElement(Button, {
119
+ style: {
120
+ pointerEvents: 'none'
80
121
  }
81
- },
82
- holder: {
83
- display: 'flex',
84
- flexWrap: 'wrap',
85
- borderTop: "2px solid ".concat(theme.palette.grey[100])
86
- },
87
- arrow: {
88
- overflowX: 'unset',
89
- overflowY: 'unset',
90
- marginTop: '-16px',
91
- '&::after': {
92
- position: 'absolute',
93
- left: 'calc(50% - 7px)',
94
- // bottom: 0,
95
- border: 'solid transparent',
96
- content: '""',
97
- height: 0,
98
- width: 0,
99
- pointerEvents: 'none',
100
- borderWidth: '7px',
101
- borderTopColor: 'black'
102
- }
103
- }
104
- };
105
- };
106
-
107
- var AnnotationMenu = /*#__PURE__*/function (_React$Component) {
108
- (0, _inherits2["default"])(AnnotationMenu, _React$Component);
109
-
110
- var _super = _createSuper(AnnotationMenu);
111
-
112
- function AnnotationMenu() {
113
- (0, _classCallCheck2["default"])(this, AnnotationMenu);
114
- return _super.apply(this, arguments);
122
+ }), isNewAnnotation ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Button, {
123
+ variant: "positive",
124
+ onClick: () => onWrite('positive')
125
+ }, "Write"), /*#__PURE__*/_react.default.createElement(Button, {
126
+ variant: "negative",
127
+ onClick: () => onWrite('negative')
128
+ }, "Write")) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Button, {
129
+ onClick: onDelete
130
+ }, "Delete"), /*#__PURE__*/_react.default.createElement(Button, {
131
+ onClick: onEdit
132
+ }, "Edit")))));
115
133
  }
116
-
117
- (0, _createClass2["default"])(AnnotationMenu, [{
118
- key: "render",
119
- value: function render() {
120
- var _this$props = this.props,
121
- anchorEl = _this$props.anchorEl,
122
- annotations = _this$props.annotations,
123
- classes = _this$props.classes,
124
- isNewAnnotation = _this$props.isNewAnnotation,
125
- onAnnotate = _this$props.onAnnotate,
126
- onClose = _this$props.onClose,
127
- onEdit = _this$props.onEdit,
128
- onDelete = _this$props.onDelete,
129
- onWrite = _this$props.onWrite,
130
- open = _this$props.open;
131
- return /*#__PURE__*/_react["default"].createElement(_core.Popover, {
132
- anchorEl: anchorEl,
133
- open: open,
134
- onClose: onClose,
135
- classes: {
136
- paper: classes.arrow
137
- },
138
- elevation: 5,
139
- anchorOrigin: {
140
- vertical: 'top',
141
- horizontal: 'center'
142
- },
143
- transformOrigin: {
144
- vertical: 'bottom',
145
- horizontal: 'center'
146
- }
147
- }, /*#__PURE__*/_react["default"].createElement("div", {
148
- className: classes.mainWrapper
149
- }, /*#__PURE__*/_react["default"].createElement("div", {
150
- className: classes.annotationsWrapper
151
- }, annotations.map(function (annotation, index) {
152
- return /*#__PURE__*/_react["default"].createElement("div", {
153
- key: "annotation-".concat(index),
154
- className: (0, _classnames["default"])(classes.button, annotation.type === 'positive' ? classes.positive : classes.negative),
155
- onClick: function onClick() {
156
- return onAnnotate(annotation);
157
- }
158
- }, annotation.label);
159
- })), /*#__PURE__*/_react["default"].createElement("div", {
160
- className: classes.controlsWrapper
161
- }, /*#__PURE__*/_react["default"].createElement("div", {
162
- className: classes.button,
163
- onClick: onClose
164
- }, "Cancel"), /*#__PURE__*/_react["default"].createElement("div", {
165
- style: {
166
- pointerEvents: 'none'
167
- },
168
- className: classes.button
169
- }), isNewAnnotation ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
170
- className: (0, _classnames["default"])(classes.button, classes.positive),
171
- onClick: function onClick() {
172
- return onWrite('positive');
173
- }
174
- }, "Write"), /*#__PURE__*/_react["default"].createElement("div", {
175
- className: (0, _classnames["default"])(classes.button, classes.negative),
176
- onClick: function onClick() {
177
- return onWrite('negative');
178
- }
179
- }, "Write")) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
180
- className: classes.button,
181
- onClick: onDelete
182
- }, "Delete"), /*#__PURE__*/_react["default"].createElement("div", {
183
- className: classes.button,
184
- onClick: onEdit
185
- }, "Edit")))));
186
- }
187
- }]);
188
- return AnnotationMenu;
189
- }(_react["default"].Component);
190
-
191
- (0, _defineProperty2["default"])(AnnotationMenu, "propTypes", {
192
- anchorEl: _propTypes["default"].object,
193
- open: _propTypes["default"].bool,
194
- annotations: _propTypes["default"].array,
195
- isNewAnnotation: _propTypes["default"].bool,
196
- onClose: _propTypes["default"].func,
197
- onDelete: _propTypes["default"].func,
198
- onEdit: _propTypes["default"].func,
199
- onWrite: _propTypes["default"].func,
200
- onAnnotate: _propTypes["default"].func
134
+ }
135
+ (0, _defineProperty2.default)(AnnotationMenu, "propTypes", {
136
+ anchorEl: _propTypes.default.object,
137
+ open: _propTypes.default.bool,
138
+ annotations: _propTypes.default.array,
139
+ isNewAnnotation: _propTypes.default.bool,
140
+ onClose: _propTypes.default.func,
141
+ onDelete: _propTypes.default.func,
142
+ onEdit: _propTypes.default.func,
143
+ onWrite: _propTypes.default.func,
144
+ onAnnotate: _propTypes.default.func
201
145
  });
202
-
203
- var _default = (0, _styles.withStyles)(styles)(AnnotationMenu);
204
-
205
- exports["default"] = _default;
146
+ var _default = exports.default = AnnotationMenu;
206
147
  //# sourceMappingURL=annotation-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/annotation/annotation-menu.jsx"],"names":["styles","theme","mainWrapper","width","overflow","borderRadius","backgroundColor","palette","common","white","border","grey","annotationsWrapper","display","flexWrap","controlsWrapper","borderTop","button","textAlign","padding","cursor","borderBottom","borderRight","flexGrow","positive","filter","negative","holder","arrow","overflowX","overflowY","marginTop","position","left","content","height","pointerEvents","borderWidth","borderTopColor","AnnotationMenu","props","anchorEl","annotations","classes","isNewAnnotation","onAnnotate","onClose","onEdit","onDelete","onWrite","open","paper","vertical","horizontal","map","annotation","index","type","label","React","Component","PropTypes","object","bool","array","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Popover } from '@material-ui/core';\n\nconst styles = (theme) => ({\n mainWrapper: {\n width: '300px',\n overflow: 'hidden',\n borderRadius: '4px',\n backgroundColor: theme.palette.common.white,\n border: `2px solid ${theme.palette.grey[100]}`,\n },\n annotationsWrapper: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n controlsWrapper: {\n display: 'flex',\n flexWrap: 'wrap',\n borderTop: `2px solid ${theme.palette.grey[100]}`,\n },\n button: {\n width: '22%',\n textAlign: 'center',\n padding: '4px',\n cursor: 'pointer',\n borderBottom: `1px solid ${theme.palette.grey[100]}`,\n '&:not(:nth-child(4n))': {\n borderRight: `1px solid ${theme.palette.grey[100]}`,\n },\n '&:nth-child(4n)': {\n flexGrow: 1,\n },\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n },\n positive: {\n backgroundColor: 'rgb(153, 255, 153) !important',\n '&:hover': {\n filter: 'brightness(85%)',\n },\n },\n negative: {\n backgroundColor: 'rgb(255, 204, 238) !important',\n '&:hover': {\n filter: 'brightness(85%)',\n },\n },\n holder: {\n display: 'flex',\n flexWrap: 'wrap',\n borderTop: `2px solid ${theme.palette.grey[100]}`,\n },\n arrow: {\n overflowX: 'unset',\n overflowY: 'unset',\n marginTop: '-16px',\n '&::after': {\n position: 'absolute',\n left: 'calc(50% - 7px)',\n // bottom: 0,\n border: 'solid transparent',\n content: '\"\"',\n height: 0,\n width: 0,\n pointerEvents: 'none',\n borderWidth: '7px',\n borderTopColor: 'black',\n },\n },\n});\n\nclass AnnotationMenu extends React.Component {\n static propTypes = {\n anchorEl: PropTypes.object,\n open: PropTypes.bool,\n annotations: PropTypes.array,\n isNewAnnotation: PropTypes.bool,\n onClose: PropTypes.func,\n onDelete: PropTypes.func,\n onEdit: PropTypes.func,\n onWrite: PropTypes.func,\n onAnnotate: PropTypes.func,\n };\n\n render() {\n const { anchorEl, annotations, classes, isNewAnnotation, onAnnotate, onClose, onEdit, onDelete, onWrite, open } =\n this.props;\n\n return (\n <Popover\n anchorEl={anchorEl}\n open={open}\n onClose={onClose}\n classes={{ paper: classes.arrow }}\n elevation={5}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'center',\n }}\n transformOrigin={{\n vertical: 'bottom',\n horizontal: 'center',\n }}\n >\n <div className={classes.mainWrapper}>\n <div className={classes.annotationsWrapper}>\n {annotations.map((annotation, index) => (\n <div\n key={`annotation-${index}`}\n className={classNames(\n classes.button,\n annotation.type === 'positive' ? classes.positive : classes.negative,\n )}\n onClick={() => onAnnotate(annotation)}\n >\n {annotation.label}\n </div>\n ))}\n </div>\n <div className={classes.controlsWrapper}>\n <div className={classes.button} onClick={onClose}>\n Cancel\n </div>\n <div style={{ pointerEvents: 'none' }} className={classes.button} />\n {isNewAnnotation ? (\n <React.Fragment>\n <div className={classNames(classes.button, classes.positive)} onClick={() => onWrite('positive')}>\n Write\n </div>\n <div className={classNames(classes.button, classes.negative)} onClick={() => onWrite('negative')}>\n Write\n </div>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <div className={classes.button} onClick={onDelete}>\n Delete\n </div>\n <div className={classes.button} onClick={onEdit}>\n Edit\n </div>\n </React.Fragment>\n )}\n </div>\n </div>\n </Popover>\n );\n }\n}\n\nexport default withStyles(styles)(AnnotationMenu);\n"],"file":"annotation-menu.js"}
1
+ {"version":3,"file":"annotation-menu.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_material","StyledPopover","styled","Popover","overflowX","overflowY","marginTop","position","left","border","content","height","width","pointerEvents","borderWidth","borderTopColor","MainWrapper","theme","overflow","borderRadius","backgroundColor","palette","common","white","grey","AnnotationsWrapper","display","flexWrap","ControlsWrapper","borderTop","Button","variant","textAlign","padding","cursor","borderBottom","borderRight","flexGrow","filter","AnnotationMenu","React","Component","render","anchorEl","annotations","isNewAnnotation","onAnnotate","onClose","onEdit","onDelete","onWrite","open","props","default","createElement","elevation","transitionDuration","enter","exit","anchorOrigin","vertical","horizontal","transformOrigin","map","annotation","index","key","type","onClick","label","style","Fragment","_defineProperty2","PropTypes","object","bool","array","func","_default","exports"],"sources":["../../src/annotation/annotation-menu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { Popover } from '@mui/material';\n\nconst StyledPopover = styled(Popover)({\n '& .MuiPaper-root': {\n overflowX: 'unset',\n overflowY: 'unset',\n marginTop: '-16px',\n '&::after': {\n position: 'absolute',\n left: 'calc(50% - 7px)',\n border: 'solid transparent',\n content: '\"\"',\n height: 0,\n width: 0,\n pointerEvents: 'none',\n borderWidth: '7px',\n borderTopColor: 'black',\n },\n },\n});\n\nconst MainWrapper = styled('div')(({ theme }) => ({\n width: '300px',\n overflow: 'hidden',\n borderRadius: '4px',\n backgroundColor: theme.palette.common.white,\n border: `2px solid ${theme.palette.grey[100]}`,\n}));\n\nconst AnnotationsWrapper = styled('div')({\n display: 'flex',\n flexWrap: 'wrap',\n});\n\nconst ControlsWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n borderTop: `2px solid ${theme.palette.grey[100]}`,\n}));\n\nconst Button = styled('div')(({ theme, variant }) => ({\n width: '22%',\n textAlign: 'center',\n padding: '4px',\n cursor: 'pointer',\n borderBottom: `1px solid ${theme.palette.grey[100]}`,\n '&:not(:nth-child(4n))': {\n borderRight: `1px solid ${theme.palette.grey[100]}`,\n },\n '&:nth-child(4n)': {\n flexGrow: 1,\n },\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n ...(variant === 'positive' && {\n backgroundColor: 'rgb(153, 255, 153) !important',\n '&:hover': {\n filter: 'brightness(85%)',\n },\n }),\n ...(variant === 'negative' && {\n backgroundColor: 'rgb(255, 204, 238) !important',\n '&:hover': {\n filter: 'brightness(85%)',\n },\n }),\n}));\n\nclass AnnotationMenu extends React.Component {\n static propTypes = {\n anchorEl: PropTypes.object,\n open: PropTypes.bool,\n annotations: PropTypes.array,\n isNewAnnotation: PropTypes.bool,\n onClose: PropTypes.func,\n onDelete: PropTypes.func,\n onEdit: PropTypes.func,\n onWrite: PropTypes.func,\n onAnnotate: PropTypes.func,\n };\n\n render() {\n const { anchorEl, annotations, isNewAnnotation, onAnnotate, onClose, onEdit, onDelete, onWrite, open } =\n this.props;\n\n return (\n <StyledPopover\n anchorEl={anchorEl}\n open={open}\n onClose={onClose}\n elevation={5}\n transitionDuration={{ enter: 225, exit: 195 }}\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'center',\n }}\n transformOrigin={{\n vertical: 'bottom',\n horizontal: 'center',\n }}\n >\n <MainWrapper>\n <AnnotationsWrapper>\n {annotations.map((annotation, index) => (\n <Button\n key={`annotation-${index}`}\n variant={annotation.type}\n onClick={() => onAnnotate(annotation)}\n >\n {annotation.label}\n </Button>\n ))}\n </AnnotationsWrapper>\n <ControlsWrapper>\n <Button onClick={onClose}>\n Cancel\n </Button>\n <Button style={{ pointerEvents: 'none' }} />\n {isNewAnnotation ? (\n <React.Fragment>\n <Button variant=\"positive\" onClick={() => onWrite('positive')}>\n Write\n </Button>\n <Button variant=\"negative\" onClick={() => onWrite('negative')}>\n Write\n </Button>\n </React.Fragment>\n ) : (\n <React.Fragment>\n <Button onClick={onDelete}>\n Delete\n </Button>\n <Button onClick={onEdit}>\n Edit\n </Button>\n </React.Fragment>\n )}\n </ControlsWrapper>\n </MainWrapper>\n </StyledPopover>\n );\n }\n}\n\nexport default AnnotationMenu;\n"],"mappings":"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","ignoreList":[]}