@pie-element/graphing 10.1.0-next.25 → 10.1.1-next.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.
Files changed (233) hide show
  1. package/dist/author/configure.d.ts +26 -0
  2. package/dist/author/configure.js +208 -0
  3. package/dist/author/correct-response.d.ts +54 -0
  4. package/dist/author/correct-response.js +304 -0
  5. package/dist/author/defaults.d.ts +294 -0
  6. package/dist/author/defaults.js +415 -0
  7. package/dist/author/graphing-config.d.ts +34 -0
  8. package/dist/author/graphing-config.js +244 -0
  9. package/dist/author/index.d.ts +59 -0
  10. package/dist/author/index.js +96 -0
  11. package/dist/author/utils.d.ts +43 -0
  12. package/dist/author/utils.js +260 -0
  13. package/dist/controller/defaults.d.ts +59 -0
  14. package/dist/controller/defaults.js +61 -0
  15. package/dist/controller/index.d.ts +34 -0
  16. package/dist/controller/index.js +181 -0
  17. package/dist/controller/utils.d.ts +37 -0
  18. package/dist/controller/utils.js +114 -0
  19. package/dist/delivery/index.d.ts +21 -0
  20. package/dist/delivery/index.js +43 -0
  21. package/dist/delivery/main.d.ts +23 -0
  22. package/dist/delivery/main.js +107 -0
  23. package/dist/delivery/utils.d.ts +22 -0
  24. package/dist/graphing.css +2 -0
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.iife.d.ts +8 -0
  27. package/dist/index.iife.js +375 -0
  28. package/dist/index.js +2 -0
  29. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +6 -0
  30. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +16 -0
  31. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +16 -0
  32. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +6 -0
  33. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +16 -0
  34. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +6 -0
  35. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +6 -0
  36. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.js +11 -0
  37. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +14 -0
  38. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +5 -0
  39. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +5 -0
  40. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +6 -0
  41. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_apply.js +12 -0
  42. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +7 -0
  43. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +10 -0
  44. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludes.js +7 -0
  45. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludesWith.js +7 -0
  46. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
  47. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayMap.js +7 -0
  48. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +7 -0
  49. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.js +7 -0
  50. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +10 -0
  51. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +8 -0
  52. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +8 -0
  53. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +8 -0
  54. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +12 -0
  55. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +57 -0
  56. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +14 -0
  57. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseDifference.js +23 -0
  58. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFindIndex.js +7 -0
  59. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFlatten.js +13 -0
  60. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  61. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +10 -0
  62. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIndexOf.js +9 -0
  63. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIntersection.js +29 -0
  64. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +9 -0
  65. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.js +8 -0
  66. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.js +30 -0
  67. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +9 -0
  68. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNaN.js +6 -0
  69. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +11 -0
  70. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +9 -0
  71. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
  72. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +12 -0
  73. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +13 -0
  74. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseRest.js +9 -0
  75. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSet.js +22 -0
  76. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSetToString.js +14 -0
  77. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +7 -0
  78. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseToString.js +15 -0
  79. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +8 -0
  80. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUniq.js +27 -0
  81. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.js +6 -0
  82. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_castArrayLikeObject.js +7 -0
  83. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_castPath.js +10 -0
  84. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  85. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +10 -0
  86. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +8 -0
  87. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +8 -0
  88. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +8 -0
  89. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  90. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +8 -0
  91. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +14 -0
  92. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +8 -0
  93. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +8 -0
  94. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +5 -0
  95. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createSet.js +9 -0
  96. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +10 -0
  97. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.js +35 -0
  98. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.js +35 -0
  99. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.js +32 -0
  100. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +4 -0
  101. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +9 -0
  102. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +9 -0
  103. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +8 -0
  104. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +9 -0
  105. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +5 -0
  106. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +14 -0
  107. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +10 -0
  108. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +11 -0
  109. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +23 -0
  110. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +6 -0
  111. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +7 -0
  112. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +7 -0
  113. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +13 -0
  114. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +9 -0
  115. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +9 -0
  116. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +8 -0
  117. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +33 -0
  118. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +9 -0
  119. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isFlattenable.js +10 -0
  120. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +8 -0
  121. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKey.js +11 -0
  122. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +7 -0
  123. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +11 -0
  124. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +8 -0
  125. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +6 -0
  126. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +9 -0
  127. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +8 -0
  128. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +7 -0
  129. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +8 -0
  130. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +13 -0
  131. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  132. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +7 -0
  133. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +7 -0
  134. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +8 -0
  135. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.js +9 -0
  136. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_memoizeCapped.js +11 -0
  137. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +5 -0
  138. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +5 -0
  139. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +8 -0
  140. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +9 -0
  141. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +7 -0
  142. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +8 -0
  143. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overRest.js +13 -0
  144. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +5 -0
  145. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.js +7 -0
  146. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.js +6 -0
  147. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.js +9 -0
  148. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToString.js +6 -0
  149. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_shortOut.js +14 -0
  150. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +7 -0
  151. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +7 -0
  152. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +6 -0
  153. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +6 -0
  154. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +16 -0
  155. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_strictIndexOf.js +7 -0
  156. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stringToPath.js +10 -0
  157. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toKey.js +10 -0
  158. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +15 -0
  159. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +8 -0
  160. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/constant.js +8 -0
  161. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/differenceWith.js +12 -0
  162. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +6 -0
  163. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/identity.js +6 -0
  164. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/intersection.js +11 -0
  165. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +10 -0
  166. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +4 -0
  167. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +8 -0
  168. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLikeObject.js +8 -0
  169. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +6 -0
  170. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +21 -0
  171. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqual.js +7 -0
  172. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +11 -0
  173. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +7 -0
  174. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +7 -0
  175. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +7 -0
  176. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +6 -0
  177. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +7 -0
  178. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.js +9 -0
  179. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +7 -0
  180. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +9 -0
  181. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +9 -0
  182. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/last.js +7 -0
  183. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/memoize.js +16 -0
  184. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/noop.js +4 -0
  185. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/set.js +7 -0
  186. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +6 -0
  187. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +6 -0
  188. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toString.js +7 -0
  189. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniq.js +7 -0
  190. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniqWith.js +7 -0
  191. package/package.json +56 -17
  192. package/CHANGELOG.json +0 -652
  193. package/CHANGELOG.md +0 -2029
  194. package/LICENSE.md +0 -5
  195. package/README.md +0 -1
  196. package/configure/CHANGELOG.json +0 -382
  197. package/configure/CHANGELOG.md +0 -1822
  198. package/configure/lib/configure.js +0 -328
  199. package/configure/lib/configure.js.map +0 -1
  200. package/configure/lib/correct-response.js +0 -484
  201. package/configure/lib/correct-response.js.map +0 -1
  202. package/configure/lib/defaults.js +0 -448
  203. package/configure/lib/defaults.js.map +0 -1
  204. package/configure/lib/graphing-config.js +0 -388
  205. package/configure/lib/graphing-config.js.map +0 -1
  206. package/configure/lib/index.js +0 -173
  207. package/configure/lib/index.js.map +0 -1
  208. package/configure/lib/utils.js +0 -122
  209. package/configure/lib/utils.js.map +0 -1
  210. package/configure/package.json +0 -30
  211. package/controller/CHANGELOG.json +0 -412
  212. package/controller/CHANGELOG.md +0 -1254
  213. package/controller/lib/defaults.js +0 -64
  214. package/controller/lib/defaults.js.map +0 -1
  215. package/controller/lib/index.js +0 -459
  216. package/controller/lib/index.js.map +0 -1
  217. package/controller/lib/utils.js +0 -451
  218. package/controller/lib/utils.js.map +0 -1
  219. package/controller/package.json +0 -24
  220. package/docs/config-schema.json +0 -3164
  221. package/docs/config-schema.json.md +0 -2293
  222. package/docs/demo/config.js +0 -8
  223. package/docs/demo/generate.js +0 -200
  224. package/docs/demo/index.html +0 -1
  225. package/docs/demo/session.js +0 -20
  226. package/docs/pie-schema.json +0 -3495
  227. package/docs/pie-schema.json.md +0 -1345
  228. package/lib/index.js +0 -69
  229. package/lib/index.js.map +0 -1
  230. package/lib/main.js +0 -161
  231. package/lib/main.js.map +0 -1
  232. package/lib/utils.js +0 -24
  233. package/lib/utils.js.map +0 -1
@@ -1,484 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.Tools = exports.CorrectResponse = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var React = _interopRequireWildcard(require("react"));
11
- var _reactDom = _interopRequireDefault(require("react-dom"));
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
- var _styles = require("@mui/material/styles");
14
- var _graphing = require("@pie-lib/graphing");
15
- var _configUi = require("@pie-lib/config-ui");
16
- var _mathRendering = require("@pie-lib/math-rendering");
17
- var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
18
- var _lodashEs = require("lodash-es");
19
- var _material = require("@mui/material");
20
- var _Info = _interopRequireDefault(require("@mui/icons-material/Info"));
21
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
22
- // custom grey values close to old v3 accents
23
- const GREY_A100 = '#D5D5D5';
24
- const GREY_A200 = '#AAAAAA';
25
- const GraphingTools = (0, _styles.styled)('div')({
26
- color: GREY_A200
27
- });
28
- const Button = (0, _styles.styled)('div')(({
29
- theme
30
- }) => ({
31
- margin: `${theme.spacing(2.5)} 0`,
32
- cursor: 'pointer',
33
- background: theme.palette.grey[200],
34
- padding: theme.spacing(1.5),
35
- width: 'fit-content',
36
- borderRadius: '4px',
37
- '&:hover': {
38
- background: GREY_A100
39
- }
40
- }));
41
- const AvailableTools = (0, _styles.styled)('div')(({
42
- theme
43
- }) => ({
44
- marginTop: theme.spacing(1),
45
- display: 'flex',
46
- flexWrap: 'wrap'
47
- }));
48
- const AvailableTool = (0, _styles.styled)('div')(({
49
- theme
50
- }) => ({
51
- cursor: 'pointer',
52
- margin: theme.spacing(1),
53
- padding: theme.spacing(1),
54
- border: `2px solid ${theme.palette.common.white}`,
55
- textTransform: 'capitalize',
56
- '&:hover': {
57
- color: theme.palette.grey[800]
58
- }
59
- }));
60
- const SelectedTool = (0, _styles.styled)(AvailableTool)({
61
- background: GREY_A100,
62
- border: `2px solid ${GREY_A200}`
63
- });
64
- const ResponseTitle = (0, _styles.styled)('div')(({
65
- theme
66
- }) => ({
67
- display: 'flex',
68
- alignItems: 'center',
69
- marginTop: theme.spacing(2.5)
70
- }));
71
- const IconButton = (0, _styles.styled)('div')(({
72
- theme
73
- }) => ({
74
- marginLeft: '6px',
75
- color: theme.palette.grey[600],
76
- '&:hover': {
77
- cursor: 'pointer',
78
- color: theme.palette.common.black
79
- }
80
- }));
81
- const Name = (0, _styles.styled)('div')(({
82
- theme
83
- }) => ({
84
- marginBottom: theme.spacing(0.5)
85
- }));
86
- const StyledTooltip = (0, _styles.styled)(({
87
- className,
88
- ...props
89
- }) => /*#__PURE__*/React.createElement(_material.Tooltip, (0, _extends2.default)({}, props, {
90
- classes: {
91
- tooltip: className
92
- }
93
- })))(({
94
- theme
95
- }) => ({
96
- '& .MuiTooltip-tooltip': {
97
- fontSize: theme.typography.fontSize - 2,
98
- whiteSpace: 'pre',
99
- maxWidth: '500px'
100
- }
101
- }));
102
- const SubtitleText = (0, _styles.styled)(_material.Typography)(({
103
- theme
104
- }) => ({
105
- marginTop: theme.spacing(1.5),
106
- marginBottom: theme.spacing(1)
107
- }));
108
- const ToolsHeader = (0, _styles.styled)('div')({
109
- display: 'flex',
110
- alignItems: 'center',
111
- justifyContent: 'space-between'
112
- });
113
- const DefaultTool = (0, _styles.styled)('div')({
114
- display: 'flex',
115
- alignItems: 'center',
116
- width: '300px'
117
- });
118
- const DefaultToolSelect = (0, _styles.styled)(_material.Select)(({
119
- theme
120
- }) => ({
121
- marginLeft: theme.spacing(1),
122
- textTransform: 'uppercase',
123
- color: theme.palette.grey[800]
124
- }));
125
- const StyledMenuItem = (0, _styles.styled)(_material.MenuItem)({
126
- textTransform: 'uppercase'
127
- });
128
- const ErrorMessage = (0, _styles.styled)('div')(({
129
- theme
130
- }) => ({
131
- fontSize: theme.typography.fontSize - 2,
132
- color: theme.palette.error.main,
133
- marginTop: theme.spacing(1)
134
- }));
135
- const Tools = ({
136
- availableTools,
137
- defaultTool,
138
- hasErrors,
139
- toolbarTools,
140
- toggleToolBarTool,
141
- onDefaultToolChange
142
- }) => {
143
- let allTools = availableTools || [];
144
- const isLabelAvailable = allTools.includes('label');
145
- const toolbarToolsNoLabel = (toolbarTools || []).filter(tool => tool !== 'label');
146
- if (isLabelAvailable) {
147
- // label has to be placed at the end of the list
148
- const allToolsNoLabel = allTools.filter(tool => tool !== 'label');
149
- allTools = [...allToolsNoLabel, 'label'];
150
- }
151
- return /*#__PURE__*/React.createElement(GraphingTools, null, /*#__PURE__*/React.createElement(ToolsHeader, null, /*#__PURE__*/React.createElement("span", null, "GRAPHING TOOLS"), toolbarToolsNoLabel.length > 0 && /*#__PURE__*/React.createElement(DefaultTool, null, /*#__PURE__*/React.createElement("span", null, "Default graphing tool:"), /*#__PURE__*/React.createElement(DefaultToolSelect, {
152
- variant: "standard",
153
- onChange: onDefaultToolChange,
154
- value: defaultTool,
155
- disableUnderline: true,
156
- MenuProps: {
157
- transitionDuration: {
158
- enter: 225,
159
- exit: 195
160
- }
161
- }
162
- }, toolbarToolsNoLabel.map((tool, index) => /*#__PURE__*/React.createElement(StyledMenuItem, {
163
- key: index,
164
- value: tool
165
- }, tool))))), /*#__PURE__*/React.createElement(AvailableTools, null, allTools.map(tool => {
166
- const selected = toolbarTools.find(t => t === tool);
167
- const ToolComponent = selected ? SelectedTool : AvailableTool;
168
- return /*#__PURE__*/React.createElement(ToolComponent, {
169
- key: tool,
170
- style: {
171
- ...(hasErrors && tool !== 'label' && {
172
- color: 'red'
173
- })
174
- },
175
- onClick: () => toggleToolBarTool(tool)
176
- }, tool.toUpperCase());
177
- })));
178
- };
179
- exports.Tools = Tools;
180
- Tools.propTypes = {
181
- toolbarTools: _propTypes.default.arrayOf(_propTypes.default.string),
182
- toggleToolBarTool: _propTypes.default.func,
183
- availableTools: _propTypes.default.array,
184
- defaultTool: _propTypes.default.string,
185
- hasErrors: _propTypes.default.number,
186
- onDefaultToolChange: _propTypes.default.func
187
- };
188
- class CorrectResponse extends React.Component {
189
- constructor(...args) {
190
- super(...args);
191
- (0, _defineProperty2.default)(this, "state", {
192
- dialog: {
193
- open: false
194
- }
195
- });
196
- (0, _defineProperty2.default)(this, "handleAlertDialog", (open, callback) => this.setState({
197
- dialog: {
198
- open
199
- }
200
- }, callback));
201
- (0, _defineProperty2.default)(this, "changeMarks", (key, marks) => {
202
- const {
203
- model,
204
- onChange
205
- } = this.props;
206
- (0, _lodashEs.set)(model, `answers.${key}.marks`, marks);
207
- onChange(model);
208
- });
209
- (0, _defineProperty2.default)(this, "filterMarks", tool => {
210
- const {
211
- model: {
212
- answers
213
- }
214
- } = this.props;
215
- return Object.entries(answers || {}).reduce((object, [key, answer]) => {
216
- object[key] = {
217
- ...answer,
218
- marks: (answer.marks || []).filter(mark => mark.type !== tool)
219
- };
220
- return object;
221
- }, {});
222
- });
223
- (0, _defineProperty2.default)(this, "changeToolbarTools", toolbarTools => {
224
- const {
225
- model,
226
- onChange
227
- } = this.props;
228
- model.toolbarTools = toolbarTools;
229
- onChange(model);
230
- });
231
- (0, _defineProperty2.default)(this, "updateModel", props => {
232
- const {
233
- model,
234
- onChange
235
- } = this.props;
236
- onChange({
237
- ...model,
238
- ...props
239
- });
240
- });
241
- (0, _defineProperty2.default)(this, "toggleToolBarTool", tool => {
242
- const {
243
- model: {
244
- defaultTool,
245
- toolbarTools,
246
- answers = {}
247
- }
248
- } = this.props;
249
- const updatedToolbarTools = [...toolbarTools];
250
- let newDefaultTool = defaultTool;
251
- const index = toolbarTools.findIndex(t => tool === t);
252
- if (index >= 0) {
253
- const updatedAnswers = this.filterMarks(tool);
254
- updatedToolbarTools.splice(index, 1);
255
- if (tool === defaultTool) {
256
- const toolbarToolsNoLabel = (updatedToolbarTools || []).filter(tool => tool !== 'label');
257
- newDefaultTool = toolbarToolsNoLabel.length && toolbarToolsNoLabel[0] || '';
258
- }
259
- if (!(0, _lodashEs.isEqual)(answers, updatedAnswers)) {
260
- this.setState({
261
- dialog: {
262
- open: true,
263
- title: 'Warning',
264
- text: `Correct answer includes one or more ${tool} objects and all of them will be deleted.`,
265
- onConfirm: () => this.handleAlertDialog(false, this.updateModel({
266
- toolbarTools: updatedToolbarTools,
267
- answers: updatedAnswers,
268
- defaultTool: newDefaultTool
269
- })),
270
- onClose: () => this.handleAlertDialog(false)
271
- }
272
- });
273
- return;
274
- }
275
- } else {
276
- updatedToolbarTools.push(tool);
277
- if (defaultTool === '' && tool !== 'label') {
278
- newDefaultTool = tool;
279
- }
280
- }
281
- this.updateModel({
282
- toolbarTools: updatedToolbarTools,
283
- defaultTool: newDefaultTool
284
- });
285
- });
286
- (0, _defineProperty2.default)(this, "onDefaultToolChange", event => {
287
- const {
288
- value
289
- } = event.target;
290
- this.updateModel({
291
- defaultTool: value
292
- });
293
- });
294
- (0, _defineProperty2.default)(this, "addAlternateResponse", () => {
295
- const {
296
- model,
297
- onChange
298
- } = this.props;
299
- const {
300
- answers
301
- } = model || {};
302
- const answersKeys = Object.keys(answers || {});
303
- (0, _lodashEs.set)(model, `answers.${`alternate${answersKeys.length}`}`, {
304
- name: `Alternate ${answersKeys.length}`,
305
- marks: []
306
- });
307
- onChange(model);
308
- });
309
- (0, _defineProperty2.default)(this, "deleteAlternateResponse", (answerKey, answer) => {
310
- const {
311
- model,
312
- onChange
313
- } = this.props;
314
- const {
315
- answers
316
- } = model || {};
317
- const {
318
- marks = [],
319
- name
320
- } = answer || {};
321
- const deleteAnswer = () => {
322
- delete answers[answerKey];
323
- // rebuild answers based on new alternate positions after deletion
324
- const newAnswers = Object.entries(answers).reduce((acc, currentValue, index) => {
325
- const [key, value] = currentValue;
326
- const newAnswer = key === 'correctAnswer' ? {
327
- ...acc,
328
- [key]: value
329
- } : {
330
- ...acc,
331
- ['alternate' + index]: {
332
- ...value,
333
- name: `Alternate ${index}`
334
- }
335
- };
336
- return newAnswer;
337
- }, {});
338
- onChange({
339
- ...model,
340
- answers: newAnswers
341
- });
342
- };
343
- if (marks.length) {
344
- this.setState({
345
- dialog: {
346
- open: true,
347
- title: 'Warning',
348
- text: `${name} includes one or more shapes and the entire response will be deleted.`,
349
- onConfirm: () => this.handleAlertDialog(false, deleteAnswer),
350
- onClose: () => this.handleAlertDialog(false)
351
- }
352
- });
353
- return;
354
- }
355
- deleteAnswer();
356
- });
357
- }
358
- componentDidMount() {
359
- try {
360
- // eslint-disable-next-line react/no-find-dom-node
361
- const domNode = _reactDom.default.findDOMNode(this);
362
- (0, _mathRendering.renderMath)(domNode);
363
- } catch (e) {
364
- // Added try-catch block to handle "Unable to find node on an unmounted component" error from tests, thrown because of the usage of shallow
365
- console.error('DOM not mounted');
366
- }
367
- }
368
- render() {
369
- const {
370
- availableTools,
371
- errors,
372
- model,
373
- mathMlOptions = {},
374
- removeIncompleteTool
375
- } = this.props;
376
- const {
377
- dialog
378
- } = this.state;
379
- const {
380
- answers = {},
381
- arrows,
382
- backgroundMarks,
383
- coordinatesOnHover,
384
- defaultTool,
385
- domain,
386
- graph = {},
387
- labels,
388
- labelsEnabled,
389
- range,
390
- title,
391
- titleEnabled,
392
- toolbarTools
393
- } = model || {};
394
- const {
395
- correctAnswerErrors = {},
396
- toolbarToolsError
397
- } = errors || {};
398
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_material.Typography, {
399
- component: "div",
400
- variant: "h6"
401
- }, "Define Tool Set and Correct Response"), /*#__PURE__*/React.createElement(SubtitleText, {
402
- component: "div",
403
- variant: "body1"
404
- }, "Use this interface to choose which graphing tools students will be able to use, and to define the correct answer"), /*#__PURE__*/React.createElement(Tools, {
405
- availableTools: availableTools,
406
- defaultTool: defaultTool,
407
- hasErrors: !!toolbarToolsError,
408
- onDefaultToolChange: this.onDefaultToolChange,
409
- toggleToolBarTool: this.toggleToolBarTool,
410
- toolbarTools: toolbarTools
411
- }), toolbarToolsError && /*#__PURE__*/React.createElement(ErrorMessage, null, toolbarToolsError), Object.entries(answers || {}).map(([key, answer]) => {
412
- const {
413
- marks = [],
414
- name
415
- } = answer || {};
416
- return /*#__PURE__*/React.createElement(React.Fragment, {
417
- key: `correct-response-graph-${name}`
418
- }, /*#__PURE__*/React.createElement(ResponseTitle, null, /*#__PURE__*/React.createElement(Name, null, name), key === 'correctAnswer' && /*#__PURE__*/React.createElement(StyledTooltip, {
419
- disableFocusListener: true,
420
- disableTouchListener: true,
421
- placement: 'right',
422
- title: 'At least 1 graph object should be defined.'
423
- }, /*#__PURE__*/React.createElement(_Info.default, {
424
- fontSize: 'small',
425
- color: 'primary',
426
- style: {
427
- marginLeft: '8px',
428
- marginBottom: 'auto'
429
- }
430
- })), key !== 'correctAnswer' && /*#__PURE__*/React.createElement(IconButton, {
431
- onClick: () => this.deleteAlternateResponse(key, answer)
432
- }, /*#__PURE__*/React.createElement(_Delete.default, null))), /*#__PURE__*/React.createElement(_graphing.GraphContainer, {
433
- style: correctAnswerErrors[key] && {
434
- border: '2px solid red'
435
- },
436
- axesSettings: {
437
- includeArrows: arrows
438
- },
439
- backgroundMarks: backgroundMarks.filter(mark => !mark.building),
440
- coordinatesOnHover: coordinatesOnHover,
441
- disabledLabels: true,
442
- disabledTitle: true,
443
- domain: domain,
444
- draggableTools: key === 'correctAnswer',
445
- labels: labels,
446
- marks: marks,
447
- onChangeMarks: newMarks => this.changeMarks(key, newMarks),
448
- range: range,
449
- showLabels: labelsEnabled,
450
- showTitle: titleEnabled,
451
- size: {
452
- width: graph.width,
453
- height: graph.height
454
- },
455
- title: title,
456
- toolbarTools: toolbarTools,
457
- onChangeTools: toolbarTools => this.updateModel({
458
- toolbarTools
459
- }),
460
- mathMlOptions: mathMlOptions,
461
- removeIncompleteTool: removeIncompleteTool,
462
- limitLabeling: true
463
- }), correctAnswerErrors[key] && /*#__PURE__*/React.createElement(ErrorMessage, null, correctAnswerErrors[key]));
464
- }), /*#__PURE__*/React.createElement(Button, {
465
- onClick: this.addAlternateResponse
466
- }, "ADD ALTERNATE"), /*#__PURE__*/React.createElement(_configUi.AlertDialog, {
467
- open: dialog.open,
468
- title: dialog.title,
469
- text: dialog.text,
470
- onClose: dialog.onClose,
471
- onConfirm: dialog.onConfirm
472
- }));
473
- }
474
- }
475
- exports.CorrectResponse = CorrectResponse;
476
- (0, _defineProperty2.default)(CorrectResponse, "propTypes", {
477
- availableTools: _propTypes.default.array,
478
- errors: _propTypes.default.object,
479
- model: _propTypes.default.object.isRequired,
480
- onChange: _propTypes.default.func.isRequired,
481
- toolbarTools: _propTypes.default.arrayOf(_propTypes.default.String)
482
- });
483
- var _default = exports.default = CorrectResponse;
484
- //# sourceMappingURL=correct-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"correct-response.js","names":["React","_interopRequireWildcard","require","_reactDom","_interopRequireDefault","_propTypes","_styles","_graphing","_configUi","_mathRendering","_Delete","_lodashEs","_material","_Info","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GREY_A100","GREY_A200","GraphingTools","styled","color","Button","theme","margin","spacing","cursor","background","palette","grey","padding","width","borderRadius","AvailableTools","marginTop","display","flexWrap","AvailableTool","border","common","white","textTransform","SelectedTool","ResponseTitle","alignItems","IconButton","marginLeft","black","Name","marginBottom","StyledTooltip","className","props","createElement","Tooltip","_extends2","classes","tooltip","fontSize","typography","whiteSpace","maxWidth","SubtitleText","Typography","ToolsHeader","justifyContent","DefaultTool","DefaultToolSelect","Select","StyledMenuItem","MenuItem","ErrorMessage","error","main","Tools","availableTools","defaultTool","hasErrors","toolbarTools","toggleToolBarTool","onDefaultToolChange","allTools","isLabelAvailable","includes","toolbarToolsNoLabel","filter","tool","allToolsNoLabel","length","variant","onChange","value","disableUnderline","MenuProps","transitionDuration","enter","exit","map","index","key","selected","find","ToolComponent","style","onClick","toUpperCase","exports","propTypes","PropTypes","arrayOf","string","func","array","number","CorrectResponse","Component","constructor","args","_defineProperty2","dialog","open","callback","setState","marks","model","answers","entries","reduce","object","answer","mark","type","updatedToolbarTools","newDefaultTool","findIndex","updatedAnswers","filterMarks","splice","isEqual","title","text","onConfirm","handleAlertDialog","updateModel","onClose","push","event","target","answersKeys","keys","name","answerKey","deleteAnswer","newAnswers","acc","currentValue","newAnswer","componentDidMount","domNode","ReactDOM","findDOMNode","renderMath","console","render","errors","mathMlOptions","removeIncompleteTool","state","arrows","backgroundMarks","coordinatesOnHover","domain","graph","labels","labelsEnabled","range","titleEnabled","correctAnswerErrors","toolbarToolsError","component","Fragment","disableFocusListener","disableTouchListener","placement","deleteAlternateResponse","GraphContainer","axesSettings","includeArrows","building","disabledLabels","disabledTitle","draggableTools","onChangeMarks","newMarks","changeMarks","showLabels","showTitle","size","height","onChangeTools","limitLabeling","addAlternateResponse","AlertDialog","isRequired","String","_default"],"sources":["../src/correct-response.jsx"],"sourcesContent":["import * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { GraphContainer as Graph } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport Delete from '@mui/icons-material/Delete';\nimport { set, isEqual } from 'lodash-es';\nimport { MenuItem, Select, Tooltip, Typography } from '@mui/material';\nimport Info from '@mui/icons-material/Info';\n\n// custom grey values close to old v3 accents\nconst GREY_A100 = '#D5D5D5';\nconst GREY_A200 = '#AAAAAA';\n\nconst GraphingTools = styled('div')({\n color: GREY_A200,\n});\n\nconst Button = styled('div')(({ theme }) => ({\n margin: `${theme.spacing(2.5)} 0`,\n cursor: 'pointer',\n background: theme.palette.grey[200],\n padding: theme.spacing(1.5),\n width: 'fit-content',\n borderRadius: '4px',\n '&:hover': {\n background: GREY_A100,\n },\n}));\n\nconst AvailableTools = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(1),\n display: 'flex',\n flexWrap: 'wrap',\n}));\n\nconst AvailableTool = styled('div')(({ theme }) => ({\n cursor: 'pointer',\n margin: theme.spacing(1),\n padding: theme.spacing(1),\n border: `2px solid ${theme.palette.common.white}`,\n textTransform: 'capitalize',\n '&:hover': {\n color: theme.palette.grey[800],\n },\n}));\n\nconst SelectedTool = styled(AvailableTool)({\n background: GREY_A100,\n border: `2px solid ${GREY_A200}`,\n});\n\nconst ResponseTitle = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n marginTop: theme.spacing(2.5),\n}));\n\nconst IconButton = styled('div')(({ theme }) => ({\n marginLeft: '6px',\n color: theme.palette.grey[600],\n '&:hover': {\n cursor: 'pointer',\n color: theme.palette.common.black,\n },\n}));\n\nconst Name = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(0.5),\n}));\n\nconst StyledTooltip = styled(({ className, ...props }) => (\n <Tooltip {...props} classes={{ tooltip: className }} />\n))(({ theme }) => ({\n '& .MuiTooltip-tooltip': {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n}));\n\nconst SubtitleText = styled(Typography)(({ theme }) => ({\n marginTop: theme.spacing(1.5),\n marginBottom: theme.spacing(1),\n}));\n\nconst ToolsHeader = styled('div')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n});\n\nconst DefaultTool = styled('div')({\n display: 'flex',\n alignItems: 'center',\n width: '300px',\n});\n\nconst DefaultToolSelect = styled(Select)(({ theme }) => ({\n marginLeft: theme.spacing(1),\n textTransform: 'uppercase',\n color: theme.palette.grey[800],\n}));\n\nconst StyledMenuItem = styled(MenuItem)({\n textTransform: 'uppercase',\n});\n\nconst ErrorMessage = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n marginTop: theme.spacing(1),\n}));\n\nexport const Tools = ({\n availableTools,\n defaultTool,\n hasErrors,\n toolbarTools,\n toggleToolBarTool,\n onDefaultToolChange,\n}) => {\n let allTools = availableTools || [];\n const isLabelAvailable = allTools.includes('label');\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n\n if (isLabelAvailable) {\n // label has to be placed at the end of the list\n const allToolsNoLabel = allTools.filter((tool) => tool !== 'label');\n allTools = [...allToolsNoLabel, 'label'];\n }\n\n return (\n <GraphingTools>\n <ToolsHeader>\n <span>GRAPHING TOOLS</span>\n {toolbarToolsNoLabel.length > 0 && (\n <DefaultTool>\n <span>Default graphing tool:</span>\n <DefaultToolSelect\n variant=\"standard\"\n onChange={onDefaultToolChange}\n value={defaultTool}\n disableUnderline\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n {toolbarToolsNoLabel.map((tool, index) => (\n <StyledMenuItem key={index} value={tool}>\n {tool}\n </StyledMenuItem>\n ))}\n </DefaultToolSelect>\n </DefaultTool>\n )}\n </ToolsHeader>\n <AvailableTools>\n {allTools.map((tool) => {\n const selected = toolbarTools.find((t) => t === tool);\n const ToolComponent = selected ? SelectedTool : AvailableTool;\n\n return (\n <ToolComponent\n key={tool}\n style={{\n ...(hasErrors && tool !== 'label' && { color: 'red' }),\n }}\n onClick={() => toggleToolBarTool(tool)}\n >\n {tool.toUpperCase()}\n </ToolComponent>\n );\n })}\n </AvailableTools>\n </GraphingTools>\n );\n};\n\nTools.propTypes = {\n toolbarTools: PropTypes.arrayOf(PropTypes.string),\n toggleToolBarTool: PropTypes.func,\n availableTools: PropTypes.array,\n defaultTool: PropTypes.string,\n hasErrors: PropTypes.number,\n onDefaultToolChange: PropTypes.func,\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n availableTools: PropTypes.array,\n errors: PropTypes.object,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarTools: PropTypes.arrayOf(PropTypes.String),\n };\n\n state = {\n dialog: {\n open: false,\n },\n };\n\n componentDidMount() {\n try {\n // eslint-disable-next-line react/no-find-dom-node\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n } catch (e) {\n // Added try-catch block to handle \"Unable to find node on an unmounted component\" error from tests, thrown because of the usage of shallow\n console.error('DOM not mounted');\n }\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n changeMarks = (key, marks) => {\n const { model, onChange } = this.props;\n\n set(model, `answers.${key}.marks`, marks);\n onChange(model);\n };\n\n filterMarks = (tool) => {\n const {\n model: { answers },\n } = this.props;\n\n return Object.entries(answers || {}).reduce((object, [key, answer]) => {\n object[key] = {\n ...answer,\n marks: (answer.marks || []).filter((mark) => mark.type !== tool),\n };\n\n return object;\n }, {});\n };\n\n changeToolbarTools = (toolbarTools) => {\n const { model, onChange } = this.props;\n model.toolbarTools = toolbarTools;\n\n onChange(model);\n };\n\n updateModel = (props) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n ...props,\n });\n };\n\n toggleToolBarTool = (tool) => {\n const {\n model: { defaultTool, toolbarTools, answers = {} },\n } = this.props;\n const updatedToolbarTools = [...toolbarTools];\n let newDefaultTool = defaultTool;\n\n const index = toolbarTools.findIndex((t) => tool === t);\n\n if (index >= 0) {\n const updatedAnswers = this.filterMarks(tool);\n updatedToolbarTools.splice(index, 1);\n if (tool === defaultTool) {\n const toolbarToolsNoLabel = (updatedToolbarTools || []).filter((tool) => tool !== 'label');\n newDefaultTool = (toolbarToolsNoLabel.length && toolbarToolsNoLabel[0]) || '';\n }\n\n if (!isEqual(answers, updatedAnswers)) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `Correct answer includes one or more ${tool} objects and all of them will be deleted.`,\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n this.updateModel({\n toolbarTools: updatedToolbarTools,\n answers: updatedAnswers,\n defaultTool: newDefaultTool,\n }),\n ),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n\n return;\n }\n } else {\n updatedToolbarTools.push(tool);\n\n if (defaultTool === '' && tool !== 'label') {\n newDefaultTool = tool;\n }\n }\n\n this.updateModel({\n toolbarTools: updatedToolbarTools,\n defaultTool: newDefaultTool,\n });\n };\n\n onDefaultToolChange = (event) => {\n const { value } = event.target;\n\n this.updateModel({ defaultTool: value });\n };\n\n addAlternateResponse = () => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const answersKeys = Object.keys(answers || {});\n\n set(model, `answers.${`alternate${answersKeys.length}`}`, {\n name: `Alternate ${answersKeys.length}`,\n marks: [],\n });\n onChange(model);\n };\n\n deleteAlternateResponse = (answerKey, answer) => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const { marks = [], name } = answer || {};\n\n const deleteAnswer = () => {\n delete answers[answerKey];\n // rebuild answers based on new alternate positions after deletion\n const newAnswers = Object.entries(answers).reduce((acc, currentValue, index) => {\n const [key, value] = currentValue;\n const newAnswer =\n key === 'correctAnswer'\n ? { ...acc, [key]: value }\n : { ...acc, ['alternate' + index]: { ...value, name: `Alternate ${index}` } };\n return newAnswer;\n }, {});\n\n onChange({ ...model, answers: newAnswers });\n };\n\n if (marks.length) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `${name} includes one or more shapes and the entire response will be deleted.`,\n onConfirm: () => this.handleAlertDialog(false, deleteAnswer),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n\n return;\n }\n\n deleteAnswer();\n };\n\n render() {\n const { availableTools, errors, model, mathMlOptions = {}, removeIncompleteTool } = this.props;\n const { dialog } = this.state;\n const {\n answers = {},\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n defaultTool,\n domain,\n graph = {},\n labels,\n labelsEnabled,\n range,\n title,\n titleEnabled,\n toolbarTools,\n } = model || {};\n const { correctAnswerErrors = {}, toolbarToolsError } = errors || {};\n\n return (\n <div>\n <Typography component=\"div\" variant=\"h6\">\n Define Tool Set and Correct Response\n </Typography>\n\n <SubtitleText component=\"div\" variant=\"body1\">\n Use this interface to choose which graphing tools students will be able to use, and to define the correct\n answer\n </SubtitleText>\n\n <Tools\n availableTools={availableTools}\n defaultTool={defaultTool}\n hasErrors={!!toolbarToolsError}\n onDefaultToolChange={this.onDefaultToolChange}\n toggleToolBarTool={this.toggleToolBarTool}\n toolbarTools={toolbarTools}\n />\n\n {toolbarToolsError && <ErrorMessage>{toolbarToolsError}</ErrorMessage>}\n\n {Object.entries(answers || {}).map(([key, answer]) => {\n const { marks = [], name } = answer || {};\n\n return (\n <React.Fragment key={`correct-response-graph-${name}`}>\n <ResponseTitle>\n <Name>{name}</Name>\n {key === 'correctAnswer' && (\n <StyledTooltip\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={'At least 1 graph object should be defined.'}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '8px', marginBottom: 'auto' }} />\n </StyledTooltip>\n )}\n {key !== 'correctAnswer' && (\n <IconButton onClick={() => this.deleteAlternateResponse(key, answer)}>\n <Delete />\n </IconButton>\n )}\n </ResponseTitle>\n\n <Graph\n style={correctAnswerErrors[key] && { border: '2px solid red' }}\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks.filter((mark) => !mark.building)}\n coordinatesOnHover={coordinatesOnHover}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n draggableTools={key === 'correctAnswer'}\n labels={labels}\n marks={marks}\n onChangeMarks={(newMarks) => this.changeMarks(key, newMarks)}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n toolbarTools={toolbarTools}\n onChangeTools={(toolbarTools) => this.updateModel({ toolbarTools })}\n mathMlOptions={mathMlOptions}\n removeIncompleteTool={removeIncompleteTool}\n limitLabeling={true}\n />\n\n {correctAnswerErrors[key] && <ErrorMessage>{correctAnswerErrors[key]}</ErrorMessage>}\n </React.Fragment>\n );\n })}\n\n <Button onClick={this.addAlternateResponse}>\n ADD ALTERNATE\n </Button>\n\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nexport default CorrectResponse;\n"],"mappings":"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","ignoreList":[]}