{"version":3,"sources":["images/rightclickmenu.png","components/Tasks.module.css","components/ClickSim.module.css","images sync /^/.//.*$","images/01a-hitbox.svg","images/01a.jpg","images/01b-x.jpg","images/01b.jpg","images/02a-hitbox.svg","images/02a.jpg","images/02b.jpg","images/03a.jpg","images/03b.jpg","images/04a-hitbox.svg","images/search-icon.png","images/task2hitbox.svg","images/task4hitbox.svg","scorm.js","components/UniformScale.js","components/Button1.js","components/Header.js","components/Modal.js","components/Feedback.js","components/Tasks.js","components/ClickSim.js","webpack:///./src/images/01a-hitbox.svg?a8b7","webpack:///./src/images/02a-hitbox.svg?a409","webpack:///./src/images/04a-hitbox.svg?99da","gameData.js","App.js","reportWebVitals.js","index.js","components/Button1.module.css","images/thumbs-up.png","images/refresh.png"],"names":["module","exports","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","_scorm","studentid","studentname","firstname","lastname","console","log","startTimeStamp","Date","scormProcessInitialize","scormProcessGetValue","scormProcessSetValue","initialized","sid","sname","nameparts","split","userdat","trim","reachedEnd","window","confirm","doUnload","pressedExit","processedUnload","totalMilliseconds","getTime","scormTime","convertMilliSecondsToSCORMTime","scormProcessFinish","onunload","onbeforeunload","recordTest","score","intTotalMilliseconds","blnIncludeFraction","intHours","intMinutes","intSeconds","intMilliseconds","intHundredths","strCMITimeSpan","undefined","Math","floor","zeroPad","intNum","intNumDigits","strTemp","intLen","i","length","substr","element","result","finishCalled","API","LMSGetValue","errorNumber","LMSGetLastError","SCORM_NO_ERROR","errorDescription","LMSGetErrorString","LMSGetDiagnostic","value","LMSSetValue","SCORM_FALSE","getAPI","LMSInitialize","LMSFinish","findAPI","win","parent","findAPITries","theAPI","opener","UniformScale","props","wrapper","useRef","scaled","useState","size","setSize","useLayoutEffect","updateSize","innerWidth","innerHeight","addEventListener","_","removeEventListener","useWindowSize","refresh","setRefresh","useEffect","setTimeout","level","wrapperStyle","width","maxWidth","minWidth","marginLeft","marginRight","display","overflow","scaledStyle","internalWidth","transformOrigin","current","scale","clientWidth","transform","scaledHeight","internalHeight","auto","clientHeight","matchHeight","height","className","ref","style","children","Button1","onClick","preventDefault","buttonHit","classes","main","setWidth","inner","leftArrow","arrow","left","rightArrow","right","Header","title","onBack","Modal","Congrats","show","Tasks","task","tasks","selectedTask","story","paragraph","actions","el","ClickSim","settings","completed","setCompleted","showMenu","setShowMenu","showHelp","setShowHelp","successTimer","clickTimer","helpTimer","clearTimeout","keyDownHandler","failFeedback","escapeKeyToComplete","keyCode","startSuccessTimer","prepareFail","fail","scrollTo","completeLevel","handleImageClick","leftClickBlankAreaToComplete","rightClickToComplete","openAndCloseToComplete","Hitbox","hitbox","rightClickStyle","showOverlay","dimBackgroundIfIncomplete","dimBackground","onContextMenu","target","nodeName","src","images","overlay","overlayInner","rightClickMenu","hintbox","highlight","x","top","y","_excluded","_extends","assign","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","Svg01AHitbox","_ref","svgRef","titleId","viewBox","xmlns","xmlnsXlink","xmlSpace","fillRule","clipRule","strokeLinejoin","strokeMiterlimit","fill","fillOpacity","ForwardRef","Svg02AHitbox","imageNames","allImages","push","require","default","gameData","success","failure","Task1hitbox","Task2hitbox","getGameData","App","selectedLevel","setSelectedLevel","successFeedback","setSuccessFeedback","setFailFeedback","completedFeedback","setCompletedFeedback","allImagesLoaded","imagesLoaded","setImagesLoaded","onImageLoad","img1","Image","onload","useLoadAllImages","gameWrapper","reload","setReload","exiting","initScorm","setInitScorm","scorm","setLessonStatusComplete","handleExitModule","exitButton","document","getElementById","click","disableNextLevel","onNextLevel","Feedback","thumbsUp","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","StrictMode"],"mappings":"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","file":"static/js/main.4b64e15f.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/rightclickmenu.2c1b3a2f.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"tasks\":\"Tasks_tasks__32ZHb\",\"task-title\":\"Tasks_task-title__3FOWY\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"ClickSim_main__38BWP\",\"dimBackground\":\"ClickSim_dimBackground__ztVZf\",\"hitbox\":\"ClickSim_hitbox__2inhY\",\"highlight\":\"ClickSim_highlight__1YqMT\",\"blinker\":\"ClickSim_blinker__3mIEi\",\"rightClickMenu\":\"ClickSim_rightClickMenu__PfBad\",\"hintbox\":\"ClickSim_hintbox__wFjG0\",\"hintboxAfterPulse\":\"ClickSim_hintboxAfterPulse__102lO\",\"overlay\":\"ClickSim_overlay__2Hm-8\",\"showOverlay\":\"ClickSim_showOverlay__3zXEg\",\"overlayInner\":\"ClickSim_overlayInner__1pwRy\",\"backgroundPulse\":\"ClickSim_backgroundPulse__3HnPN\"};","var map = {\n\t\"./01a-hitbox.svg\": 392,\n\t\"./01a.jpg\": 393,\n\t\"./01b-x.jpg\": 394,\n\t\"./01b.jpg\": 395,\n\t\"./02a-hitbox.svg\": 396,\n\t\"./02a.jpg\": 397,\n\t\"./02b.jpg\": 398,\n\t\"./03a.jpg\": 399,\n\t\"./03b.jpg\": 400,\n\t\"./04a-hitbox.svg\": 401,\n\t\"./refresh.png\": 87,\n\t\"./rightclickmenu.png\": 113,\n\t\"./search-icon.png\": 402,\n\t\"./task2hitbox.svg\": 403,\n\t\"./task4hitbox.svg\": 404,\n\t\"./thumbs-up.png\": 68\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 391;","export default __webpack_public_path__ + \"static/media/01a-hitbox.dd354094.svg\";","export default __webpack_public_path__ + \"static/media/01a.873fce06.jpg\";","export default __webpack_public_path__ + \"static/media/01b-x.edd69211.jpg\";","export default __webpack_public_path__ + \"static/media/01b.8c07aa63.jpg\";","export default __webpack_public_path__ + \"static/media/02a-hitbox.1ad984a1.svg\";","export default __webpack_public_path__ + \"static/media/02a.c9ba7490.jpg\";","export default __webpack_public_path__ + \"static/media/02b.17344e44.jpg\";","export default __webpack_public_path__ + \"static/media/03a.b31e0aef.jpg\";","export default __webpack_public_path__ + \"static/media/03b.9348a37a.jpg\";","export default __webpack_public_path__ + \"static/media/04a-hitbox.d7600f27.svg\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD4AAAA+CAMAAABEH1h2AAAAOVBMVEVHcEwzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM0rESPAAAAEnRSTlMAwPCQQGCAEKDQ4DCwIFBw86aogwBFAAAACXBIWXMAABYlAAAWJQFJUiTwAAAB+ElEQVRIia2X63KEIAyFQW6Krra8/8N2WkdIOAm6O/1+Sg6EkAQ0IquPJ/4lDY9IYZtKY5pDAhsVvxVk9qo9w1uQntgVbIEkrXzh7rawT6Ch5LEDDgQ9ATSNGayRCKoLUGdrbYYAgO6Eq5fj2qePfArZ/0BNZp5p/DClDFjJuMU09UsbnoTzI8NidBLZ2wajx93e2O5699N0q6b63I3EB2qaVZ1VXRy3RakBsrJbUlAJ7XhY8m+KU0ANP8u9ujjYd7wuy4V89+KcItVPklk17uNyNjRKO269P06BJKTmVRDjUztZ0HbCGVWupcjJCw6pRF0uFXLPQL6DMTKQP3HeoTy/IRdCJ3xSuU6JJGitY03TqEl/tG9SJirUpkZOqZbxLGsIi+RovQewQ3NqbbL8dk+Xr9cF6yutCY0Tr/Va3tTqrHnU7F6T4mWbdlC0qd1EfYzaiLr9NLCpIS1llv0n6gkPiLxLFqnleXLJHzBKJy8l9g7Q+7V8Se6t7B0ZqX/rzB9ci6TfC7dxwa9m9cHB80bWBzBTkfXjR+Ht+iv6qSHqh0/aUtz3zfpm1x1YPHv8yfoU5QnyWaO3emMCbmGrfeyB3qTg2kPSup3aPdH/zeF/gc+P9Rr/qIfSf1P/yfJE//AHTdO//Y/J9E+uVV2fP1z87ycnHsmYH0jDXDX8eoWBAAAAAElFTkSuQmCC\"","export default __webpack_public_path__ + \"static/media/task2hitbox.1b6f837b.svg\";","export default __webpack_public_path__ + \"static/media/task4hitbox.8e22f133.svg\";","// Set var to test system outside of SCORM compliant LMS\n// Only using for testing when. not in the LMS\nvar APIOFFLINE = false;\n\n// Put all vars and functions under _scorm object\n// to keep global clean.\nvar _scorm = {};\n\n_scorm.userdat = {\n studentid: null,\n studentname: null,\n firstname: null,\n lastname: null\n};\n_scorm.currentpage = null;\n_scorm.starttimestamp = null;\n_scorm.processedunload = false;\n_scorm.reachedend = false;\n\n//Constants\n_scorm.SCORM_TRUE = 'true';\n_scorm.SCORM_FALSE = 'false';\n_scorm.SCORM_NO_ERROR = '0';\n\n//Since the Unload handler will be called twice, from both the onunload\n//and onbeforeunload events, ensure that we only call LMSFinish once.\n_scorm.finishCalled = false;\n\n//Track whether or not we successfully initialized.\n_scorm.findAPITries = 0;\n_scorm.initialized = false;\n_scorm.API = null;\n\n/*\n$(function(){\n\t// Use JQuery onload function to call initialisation once all is loaded and ready\n\t// The game does not wait for this and loads according to it's own functions\n\t_scorm.initScorm();\n});*/\n\n_scorm.initScorm = function() {\n console.log('init scorm');\n //record the time that the learner started the SCO so that we can report the total time\n _scorm.startTimeStamp = new Date();\n\n if (!APIOFFLINE) {\n // If we are NOT testing\n //initialize communication with the LMS\n _scorm.scormProcessInitialize();\n //it's a best practice to set the lesson status to incomplete when\n //first launching the course (if the course is not already completed)\n var completionStatus = _scorm.scormProcessGetValue('cmi.core.lesson_status');\n if (completionStatus === 'not attempted') {\n _scorm.scormProcessSetValue('cmi.core.lesson_status', 'incomplete');\n }\n\n if (_scorm.initialized) {\n var sid = _scorm.scormProcessGetValue('cmi.core.student_id');\n var sname = _scorm.scormProcessGetValue('cmi.core.student_name');\n //_scorm.scormProcessGetValue(\"cmi.core.lesson_status\");\n //_scorm.scormProcessGetValue(\"cmi.core.entry\");\n //_scorm.scormProcessGetValue(\"cmi.core.total_time\");\n //_scorm.scormProcessGetValue(\"cmi.core.lesson_mode\");\n var nameparts = sname.split(', ');\n _scorm.userdat.studentid = sid;\n _scorm.userdat.studentname = sname;\n _scorm.userdat.firstname = nameparts[1].trim();\n _scorm.userdat.lastname = nameparts[0].trim();\n } else {\n _scorm.userdat.studentid = 'Unknown';\n _scorm.userdat.studentname = 'Unknown';\n _scorm.userdat.firstname = 'Unknown';\n _scorm.userdat.lastname = 'Unknown';\n }\n } else {\n // If APIOFFILNE set to true\n // Just set the main students vars so we can test\n _scorm.initialized = true;\n _scorm.userdat.studentid = 'gulbisander@gmail.com';\n _scorm.userdat.studentname = 'Gulbis, Andre';\n _scorm.userdat.firstname = 'Andre';\n _scorm.userdat.lastname = 'Gulbis';\n }\n\n // Tell rest of code (Leaderboard) that SCORM init has finished\n //$(\"body\").trigger(\"scorm-initcomplete\");\n};\n\n_scorm.setLessonStatusComplete = function() {\n _scorm.reachedEnd = true;\n _scorm.scormProcessSetValue('cmi.core.lesson_status', 'completed');\n};\n\n_scorm.doExit = function() {\n //note use of short-circuit AND. If the user reached the end, don't prompt.\n //just exit normally and submit the results.\n if (_scorm.reachedEnd === false && window.confirm('Would you like to save your progress to resume later?')) {\n //set exit to suspend\n _scorm.scormProcessSetValue('cmi.core.exit', 'suspend');\n } else {\n //set exit to normal\n _scorm.scormProcessSetValue('cmi.core.exit', '');\n }\n //process the unload handler to close out the session.\n //the presense of an adl.nav.request will cause the LMS to\n //take the content away from the user.\n _scorm.doUnload(true);\n};\n\n_scorm.doUnload = function(pressedExit) {\n //don't call this function twice\n if (_scorm.processedUnload === true) {\n return;\n }\n _scorm.processedUnload = true;\n //record the session time\n var endTimeStamp = new Date();\n var totalMilliseconds = endTimeStamp.getTime() - _scorm.startTimeStamp.getTime();\n var scormTime = _scorm.convertMilliSecondsToSCORMTime(totalMilliseconds, false);\n _scorm.scormProcessSetValue('cmi.core.session_time', scormTime);\n //if the user just closes the browser, we will default to saving\n //their progress data. If the user presses exit, he is prompted.\n //If the user reached the end, the exit normall to submit results.\n if (pressedExit === false && _scorm.reachedEnd === false) {\n _scorm.scormProcessSetValue('cmi.core.exit', 'suspend');\n }\n _scorm.scormProcessFinish();\n};\n\nwindow.onunload = _scorm.doUnload;\nwindow.onbeforeunload = _scorm.doUnload;\n\n//called from the assessmenttemplate.html page to record the results of a test\n//passes in score as a percentage\n_scorm.recordTest = function(score) {\n _scorm.scormProcessSetValue('cmi.core.score.raw', score);\n _scorm.scormProcessSetValue('cmi.core.score.min', '0');\n _scorm.scormProcessSetValue('cmi.core.score.max', '100');\n //if we get a test result, set the lesson status to passed/failed instead of completed\n //consider 70% to be passing\n if (score >= 70) {\n _scorm.scormProcessSetValue('cmi.core.lesson_status', 'passed');\n } else {\n _scorm.scormProcessSetValue('cmi.core.lesson_status', 'failed');\n }\n};\n\n//SCORM requires time to be formatted in a specific way\n_scorm.convertMilliSecondsToSCORMTime = function(intTotalMilliseconds, blnIncludeFraction) {\n var intHours;\n var intMinutes;\n var intSeconds;\n var intMilliseconds;\n var intHundredths;\n var strCMITimeSpan;\n if (blnIncludeFraction === null || blnIncludeFraction === undefined) {\n blnIncludeFraction = true;\n }\n //extract time parts\n intMilliseconds = intTotalMilliseconds % 1000;\n intSeconds = ((intTotalMilliseconds - intMilliseconds) / 1000) % 60;\n intMinutes = ((intTotalMilliseconds - intMilliseconds - intSeconds * 1000) / 60000) % 60;\n intHours = (intTotalMilliseconds - intMilliseconds - intSeconds * 1000 - intMinutes * 60000) / 3600000;\n /*\n\tdeal with exceptional case when content used a huge amount of time and interpreted CMITimstamp \n\tto allow a number of intMinutes and seconds greater than 60 i.e. 9999:99:99.99 instead of 9999:60:60:99\n\tnote - this case is permissable under SCORM, but will be exceptionally rare\n\t*/\n if (intHours === 10000) {\n intHours = 9999;\n intMinutes = (intTotalMilliseconds - intHours * 3600000) / 60000;\n if (intMinutes === 100) {\n intMinutes = 99;\n }\n intMinutes = Math.floor(intMinutes);\n intSeconds = (intTotalMilliseconds - intHours * 3600000 - intMinutes * 60000) / 1000;\n if (intSeconds === 100) {\n intSeconds = 99;\n }\n intSeconds = Math.floor(intSeconds);\n intMilliseconds = intTotalMilliseconds - intHours * 3600000 - intMinutes * 60000 - intSeconds * 1000;\n }\n //drop the extra precision from the milliseconds\n intHundredths = Math.floor(intMilliseconds / 10);\n //put in padding 0's and concatinate to get the proper format\n strCMITimeSpan = _scorm.zeroPad(intHours, 4) + ':' + _scorm.zeroPad(intMinutes, 2) + ':' + _scorm.zeroPad(intSeconds, 2);\n if (blnIncludeFraction) {\n strCMITimeSpan += '.' + intHundredths;\n }\n //check for case where total milliseconds is greater than max supported by strCMITimeSpan\n if (intHours > 9999) {\n strCMITimeSpan = '9999:99:99';\n if (blnIncludeFraction) {\n strCMITimeSpan += '.99';\n }\n }\n return strCMITimeSpan;\n};\n\n_scorm.zeroPad = function(intNum, intNumDigits) {\n var strTemp;\n var intLen;\n var i;\n //strTemp = new String(intNum);\n strTemp = intNum;\n intLen = strTemp.length;\n if (intLen > intNumDigits) {\n strTemp = strTemp.substr(0, intNumDigits);\n } else {\n for (i = intLen; i < intNumDigits; i++) {\n strTemp = '0' + strTemp;\n }\n }\n return strTemp;\n};\n\n_scorm.scormProcessGetValue = function(element) {\n var result;\n if (_scorm.initialized === false || _scorm.finishCalled === true) {\n return;\n }\n result = _scorm.API.LMSGetValue(element);\n console.log('SCORM, scormProcessGetValue() > result', result);\n if (result === '') {\n var errorNumber = _scorm.API.LMSGetLastError();\n if (errorNumber !== _scorm.SCORM_NO_ERROR) {\n var errorString = _scorm.API.LMSGetErrorString(errorNumber);\n var diagnostic = _scorm.API.LMSGetDiagnostic(errorNumber);\n var errorDescription = 'Number: ' + errorNumber + '\\nDescription: ' + errorString + '\\nDiagnostic: ' + diagnostic;\n console.log('Error - Could not retrieve a value from the LMS.\\n\\n' + errorDescription);\n return '';\n }\n }\n return result;\n};\n\n_scorm.scormProcessSetValue = function(element, value) {\n var result;\n if (_scorm.initialized === false || _scorm.finishCalled === true) {\n return;\n }\n result = _scorm.API.LMSSetValue(element, value);\n if (result === _scorm.SCORM_FALSE) {\n var errorNumber = _scorm.API.LMSGetLastError();\n var errorString = _scorm.API.LMSGetErrorString(errorNumber);\n var diagnostic = _scorm.API.LMSGetDiagnostic(errorNumber);\n var errorDescription = 'Number: ' + errorNumber + '\\nDescription: ' + errorString + '\\nDiagnostic: ' + diagnostic;\n console.log('Error - Could not store a value in the LMS.\\n\\nYour results may not be recorded.\\n\\n' + errorDescription);\n return;\n }\n};\n\n_scorm.scormProcessInitialize = function() {\n var result;\n _scorm.API = _scorm.getAPI();\n if (_scorm.API == null) {\n console.log('ERROR - Could not establish a connection with the LMS.\\n\\nYour results may not be recorded.');\n return;\n }\n result = _scorm.API.LMSInitialize('');\n if (result === _scorm.SCORM_FALSE) {\n var errorNumber = _scorm.API.LMSGetLastError();\n var errorString = _scorm.API.LMSGetErrorString(errorNumber);\n var diagnostic = _scorm.API.LMSGetDiagnostic(errorNumber);\n var errorDescription = 'Number: ' + errorNumber + '\\nDescription: ' + errorString + '\\nDiagnostic: ' + diagnostic;\n console.log('Error - Could not initialize communication with the LMS.\\n\\nYour results may not be recorded.\\n\\n' + errorDescription);\n return;\n }\n _scorm.initialized = true;\n};\n\n_scorm.scormProcessFinish = function() {\n var result;\n\n console.log('terminate');\n //Don't terminate if we haven't initialized or if we've already terminated\n if (_scorm.initialized === false || _scorm.finishCalled === true) {\n return;\n }\n\n result = _scorm.API.LMSFinish('');\n _scorm.finishCalled = true;\n //$(\"body\").trigger(\"scorm-finished\");\n if (result === _scorm.SCORM_FALSE) {\n var errorNumber = _scorm.API.LMSGetLastError();\n var errorString = _scorm.API.LMSGetErrorString(errorNumber);\n var diagnostic = _scorm.API.LMSGetDiagnostic(errorNumber);\n var errorDescription = 'Number: ' + errorNumber + '\\nDescription: ' + errorString + '\\nDiagnostic: ' + diagnostic;\n console.log('Error - Could not terminate communication with the LMS.\\n\\nYour results may not be recorded.\\n\\n' + errorDescription);\n return;\n }\n};\n\n_scorm.findAPI = function(win) {\n // Check to see if the window (win) contains the API\n // if the window (win) does not contain the API and\n // the window (win) has a parent window and the parent window\n // is not the same as the window (win)\n while (win.API == null && win.parent != null && win.parent !== win) {\n // increment the number of findAPITries\n _scorm.findAPITries++;\n // Note: 7 is an arbitrary number, but should be more than sufficient\n if (_scorm.findAPITries > 7) {\n console.log('Error finding API -- too deeply nested.');\n return null;\n }\n // set the variable that represents the window being\n // being searched to be the parent of the current window\n // then search for the API again\n win = win.parent;\n }\n return win.API;\n};\n\n_scorm.getAPI = function() {\n // start by looking for the API in the current window\n var theAPI = _scorm.findAPI(window);\n // if the API is null (could not be found in the current window)\n // and the current window has an opener window\n if (theAPI == null && window.opener != null && typeof window.opener != 'undefined') {\n // try to find the API in the current window’s opener\n theAPI = _scorm.findAPI(window.opener);\n }\n // if the API has not been found\n if (theAPI == null) {\n // Alert the user that the API Adapter could not be found\n console.log('Unable to find an API adapter');\n }\n return theAPI;\n};\n\nexport default _scorm;\n","import { React, useState, useEffect, useRef, useLayoutEffect } from \"react\";\n\n//posibly update with https://www.npmjs.com/package/@react-hook/resize-observer to auto get child (scaled) height\n\nfunction useWindowSize() {\n const [size, setSize] = useState([0, 0]);\n useLayoutEffect(() => {\n function updateSize() {\n setSize([window.innerWidth, window.innerHeight]);\n }\n window.addEventListener(\"resize\", updateSize);\n updateSize();\n return (_) => window.removeEventListener(\"resize\", updateSize);\n }, []);\n return size;\n}\n\nfunction UniformScale(props) {\n const wrapper = useRef(null);\n const scaled = useRef(null);\n const [width, height] = useWindowSize();\n const [refresh, setRefresh] = useState(false);\n\n useEffect(() => {\n setTimeout(() => {\n setRefresh(!refresh);\n }, 1);\n }, [props.level]);\n\n const wrapperStyle = {\n width: \"100%\",\n maxWidth: \"1200px\",\n minWidth: \"800px\",\n marginLeft: \"auto\",\n marginRight: \"auto\",\n display: \"block\",\n overflow: \"hidden\",\n // backgroundColor: \"red\",\n };\n\n const scaledStyle = {\n width: props.internalWidth,\n transformOrigin: \"0px 0px\",\n\n // verticalAlign: \"top\",\n };\n\n if (wrapper.current) {\n const wrapperWidth = wrapper.current.clientWidth;\n let scale = wrapperWidth / props.internalWidth;\n scaledStyle.transform = `scale(${scale})`;\n\n if (scaled.current) {\n //const scaledHeight = scaled.current.clientHeight; //calc real variable height. however problem if child height changes and parent doesnt re-render\n let scaledHeight = props.internalHeight;\n\n if (props.auto == true) {\n scaledHeight = scaled.current.clientHeight;\n }\n\n if (props.matchHeight) {\n scaledHeight = props.matchHeight.current.clientHeight;\n }\n\n wrapperStyle.height = scaledHeight * scale;\n }\n }\n\n return (\n
{paragraph}
;\n })}\n\n\n Actions:\n
\n{task.success[1]}
\n{task.success[2]}
\n{task.failure[1]}
\n{task.failure[2]}
\n{task.success[1]}
\n{task.success[2]}
\n