@pie-element/graphing 10.1.1-next.1 → 10.1.1-next.29

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/CHANGELOG.json +652 -0
  2. package/CHANGELOG.md +2039 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +1 -0
  5. package/configure/CHANGELOG.json +382 -0
  6. package/configure/CHANGELOG.md +1830 -0
  7. package/configure/lib/configure.js +328 -0
  8. package/configure/lib/configure.js.map +1 -0
  9. package/configure/lib/correct-response.js +484 -0
  10. package/configure/lib/correct-response.js.map +1 -0
  11. package/configure/lib/defaults.js +448 -0
  12. package/configure/lib/defaults.js.map +1 -0
  13. package/configure/lib/graphing-config.js +388 -0
  14. package/configure/lib/graphing-config.js.map +1 -0
  15. package/configure/lib/index.js +173 -0
  16. package/configure/lib/index.js.map +1 -0
  17. package/configure/lib/utils.js +122 -0
  18. package/configure/lib/utils.js.map +1 -0
  19. package/configure/package.json +30 -0
  20. package/controller/CHANGELOG.json +412 -0
  21. package/controller/CHANGELOG.md +1263 -0
  22. package/controller/lib/defaults.js +64 -0
  23. package/controller/lib/defaults.js.map +1 -0
  24. package/controller/lib/index.js +459 -0
  25. package/controller/lib/index.js.map +1 -0
  26. package/controller/lib/utils.js +451 -0
  27. package/controller/lib/utils.js.map +1 -0
  28. package/controller/package.json +24 -0
  29. package/docs/config-schema.json +3164 -0
  30. package/docs/config-schema.json.md +2293 -0
  31. package/docs/demo/config.js +8 -0
  32. package/docs/demo/generate.js +200 -0
  33. package/docs/demo/index.html +1 -0
  34. package/docs/demo/session.js +20 -0
  35. package/docs/pie-schema.json +3495 -0
  36. package/docs/pie-schema.json.md +1345 -0
  37. package/lib/index.js +69 -0
  38. package/lib/index.js.map +1 -0
  39. package/lib/main.js +161 -0
  40. package/lib/main.js.map +1 -0
  41. package/lib/utils.js +24 -0
  42. package/lib/utils.js.map +1 -0
  43. package/package.json +21 -60
  44. package/dist/author/configure.d.ts +0 -26
  45. package/dist/author/configure.js +0 -208
  46. package/dist/author/correct-response.d.ts +0 -54
  47. package/dist/author/correct-response.js +0 -304
  48. package/dist/author/defaults.d.ts +0 -294
  49. package/dist/author/defaults.js +0 -415
  50. package/dist/author/graphing-config.d.ts +0 -34
  51. package/dist/author/graphing-config.js +0 -244
  52. package/dist/author/index.d.ts +0 -59
  53. package/dist/author/index.js +0 -96
  54. package/dist/author/utils.d.ts +0 -43
  55. package/dist/author/utils.js +0 -260
  56. package/dist/controller/defaults.d.ts +0 -59
  57. package/dist/controller/defaults.js +0 -61
  58. package/dist/controller/index.d.ts +0 -34
  59. package/dist/controller/index.js +0 -181
  60. package/dist/controller/utils.d.ts +0 -37
  61. package/dist/controller/utils.js +0 -114
  62. package/dist/delivery/index.d.ts +0 -21
  63. package/dist/delivery/index.js +0 -43
  64. package/dist/delivery/main.d.ts +0 -23
  65. package/dist/delivery/main.js +0 -107
  66. package/dist/delivery/utils.d.ts +0 -22
  67. package/dist/graphing.css +0 -2
  68. package/dist/index.d.ts +0 -1
  69. package/dist/index.iife.d.ts +0 -8
  70. package/dist/index.iife.js +0 -375
  71. package/dist/index.js +0 -2
  72. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +0 -6
  73. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +0 -16
  74. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +0 -16
  75. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +0 -6
  76. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +0 -16
  77. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +0 -6
  78. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +0 -6
  79. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.js +0 -11
  80. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +0 -14
  81. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +0 -5
  82. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +0 -5
  83. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +0 -6
  84. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_apply.js +0 -12
  85. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +0 -7
  86. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +0 -10
  87. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludes.js +0 -7
  88. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludesWith.js +0 -7
  89. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +0 -15
  90. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayMap.js +0 -7
  91. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +0 -7
  92. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.js +0 -7
  93. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +0 -10
  94. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +0 -8
  95. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +0 -8
  96. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +0 -8
  97. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +0 -12
  98. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +0 -57
  99. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +0 -14
  100. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseDifference.js +0 -23
  101. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFindIndex.js +0 -7
  102. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFlatten.js +0 -13
  103. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  104. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +0 -10
  105. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIndexOf.js +0 -9
  106. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIntersection.js +0 -29
  107. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +0 -9
  108. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.js +0 -8
  109. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.js +0 -30
  110. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +0 -9
  111. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNaN.js +0 -6
  112. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +0 -11
  113. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +0 -9
  114. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +0 -11
  115. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +0 -12
  116. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +0 -13
  117. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseRest.js +0 -9
  118. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSet.js +0 -22
  119. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSetToString.js +0 -14
  120. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +0 -7
  121. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseToString.js +0 -15
  122. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +0 -8
  123. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUniq.js +0 -27
  124. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.js +0 -6
  125. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_castArrayLikeObject.js +0 -7
  126. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_castPath.js +0 -10
  127. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +0 -8
  128. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +0 -10
  129. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +0 -8
  130. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +0 -8
  131. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +0 -8
  132. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +0 -8
  133. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +0 -8
  134. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +0 -14
  135. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +0 -8
  136. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +0 -8
  137. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +0 -5
  138. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createSet.js +0 -9
  139. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +0 -10
  140. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.js +0 -35
  141. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.js +0 -35
  142. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.js +0 -32
  143. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +0 -4
  144. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +0 -9
  145. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +0 -9
  146. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +0 -8
  147. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +0 -9
  148. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +0 -5
  149. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +0 -14
  150. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +0 -10
  151. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +0 -11
  152. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +0 -23
  153. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +0 -6
  154. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +0 -7
  155. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +0 -7
  156. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +0 -13
  157. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +0 -9
  158. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +0 -9
  159. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +0 -8
  160. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +0 -33
  161. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +0 -9
  162. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isFlattenable.js +0 -10
  163. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +0 -8
  164. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKey.js +0 -11
  165. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +0 -7
  166. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +0 -11
  167. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +0 -8
  168. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +0 -6
  169. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +0 -9
  170. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +0 -8
  171. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +0 -7
  172. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +0 -8
  173. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +0 -13
  174. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +0 -8
  175. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +0 -7
  176. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +0 -7
  177. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +0 -8
  178. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.js +0 -9
  179. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_memoizeCapped.js +0 -11
  180. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +0 -5
  181. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +0 -5
  182. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +0 -8
  183. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +0 -9
  184. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +0 -7
  185. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +0 -8
  186. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overRest.js +0 -13
  187. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +0 -5
  188. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.js +0 -7
  189. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.js +0 -6
  190. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.js +0 -9
  191. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToString.js +0 -6
  192. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_shortOut.js +0 -14
  193. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +0 -7
  194. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +0 -7
  195. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +0 -6
  196. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +0 -6
  197. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +0 -16
  198. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_strictIndexOf.js +0 -7
  199. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stringToPath.js +0 -10
  200. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toKey.js +0 -10
  201. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +0 -15
  202. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +0 -8
  203. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/constant.js +0 -8
  204. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/differenceWith.js +0 -12
  205. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +0 -6
  206. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/identity.js +0 -6
  207. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/intersection.js +0 -11
  208. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +0 -10
  209. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +0 -4
  210. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +0 -8
  211. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLikeObject.js +0 -8
  212. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +0 -6
  213. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +0 -21
  214. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqual.js +0 -7
  215. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +0 -11
  216. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +0 -7
  217. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +0 -7
  218. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +0 -7
  219. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +0 -6
  220. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +0 -7
  221. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.js +0 -9
  222. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +0 -7
  223. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +0 -9
  224. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +0 -9
  225. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/last.js +0 -7
  226. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/memoize.js +0 -16
  227. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/noop.js +0 -4
  228. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/set.js +0 -7
  229. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +0 -6
  230. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +0 -6
  231. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toString.js +0 -7
  232. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniq.js +0 -7
  233. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniqWith.js +0 -7
@@ -0,0 +1,388 @@
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.GraphingConfig = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _graphing = require("@pie-lib/graphing");
12
+ var _configUi = require("@pie-lib/config-ui");
13
+ var _material = require("@mui/material");
14
+ var _styles = require("@mui/material/styles");
15
+ var _utils = require("./utils");
16
+ var _lodashEs = require("lodash-es");
17
+ 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); }
18
+ const Container = (0, _styles.styled)('div')(({
19
+ theme
20
+ }) => ({
21
+ display: 'flex',
22
+ flexWrap: 'wrap',
23
+ marginBottom: theme.spacing(2.5)
24
+ }));
25
+ const GridConfigWrapper = (0, _styles.styled)('div')(({
26
+ theme
27
+ }) => ({
28
+ display: 'flex',
29
+ flexDirection: 'column',
30
+ marginRight: theme.spacing(3),
31
+ marginBottom: theme.spacing(2.5)
32
+ }));
33
+ const GraphConfig = (0, _styles.styled)('div')({
34
+ display: 'flex',
35
+ flexDirection: 'column'
36
+ });
37
+ const SubtitleText = (0, _styles.styled)(_material.Typography)(({
38
+ theme
39
+ }) => ({
40
+ marginTop: theme.spacing(1.5),
41
+ marginBottom: theme.spacing(1)
42
+ }));
43
+ const GridConfig = (0, _styles.styled)('div')(({
44
+ theme
45
+ }) => ({
46
+ display: 'flex',
47
+ flexWrap: 'wrap',
48
+ alignItems: 'center',
49
+ width: '100%',
50
+ marginBottom: theme.spacing(2.5)
51
+ }));
52
+ const GridConfigLabel = (0, _styles.styled)(_material.Typography)(({
53
+ theme
54
+ }) => ({
55
+ padding: `0 ${theme.spacing(1)}`
56
+ }));
57
+ const GridConfigSelect = (0, _styles.styled)(_material.Select)({
58
+ flex: '1'
59
+ });
60
+ class GraphingConfig extends React.Component {
61
+ constructor(props) {
62
+ super(props);
63
+ (0, _defineProperty2.default)(this, "changeBackgroundMarks", backgroundMarks => {
64
+ const model = {
65
+ ...this.props.model,
66
+ backgroundMarks
67
+ };
68
+ this.props.onChange(model);
69
+ });
70
+ (0, _defineProperty2.default)(this, "changeLabels", labels => {
71
+ const {
72
+ model,
73
+ onChange
74
+ } = this.props;
75
+ onChange({
76
+ ...model,
77
+ labels
78
+ });
79
+ });
80
+ (0, _defineProperty2.default)(this, "changeTitle", title => {
81
+ const {
82
+ model,
83
+ onChange
84
+ } = this.props;
85
+ onChange({
86
+ ...model,
87
+ title
88
+ });
89
+ });
90
+ (0, _defineProperty2.default)(this, "onConfigChange", (config, newSelectedGrid) => {
91
+ const {
92
+ model,
93
+ onChange
94
+ } = this.props;
95
+ const {
96
+ defaultGridConfiguration: oldSelectedGrid = 0
97
+ } = model;
98
+ const {
99
+ gridValues: oldGridValues,
100
+ labelValues: oldLabelValues,
101
+ domain: oldDomain,
102
+ range: oldRange
103
+ } = this.state;
104
+ const updatedModel = {
105
+ ...model,
106
+ ...config
107
+ };
108
+ const {
109
+ answers,
110
+ domain,
111
+ includeAxes,
112
+ graph,
113
+ range,
114
+ standardGrid
115
+ } = updatedModel;
116
+ const gridValues = {
117
+ domain: [],
118
+ range: []
119
+ };
120
+ const labelValues = {
121
+ domain: [],
122
+ range: []
123
+ };
124
+ const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;
125
+ if (includeAxes) {
126
+ const domainConstraints = (0, _utils.applyConstraints)(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);
127
+ gridValues.domain = domainConstraints.gridValues || [];
128
+ labelValues.domain = domainConstraints.labelValues || [];
129
+ }
130
+ if (standardGrid) {
131
+ gridValues.range = gridValues.domain;
132
+ labelValues.range = labelValues.domain;
133
+ range.step = domain.step;
134
+ range.labelStep = domain.labelStep;
135
+ } else {
136
+ if (includeAxes) {
137
+ const rangeConstraints = (0, _utils.applyConstraints)(range, graph.height, oldGridValues.range, oldLabelValues.range);
138
+ gridValues.range = rangeConstraints.gridValues || [];
139
+ labelValues.range = rangeConstraints.labelValues || [];
140
+ }
141
+ }
142
+ const plotableAnswers = (0, _utils.filterPlotableMarks)(domain, range, answers);
143
+ if (!(0, _lodashEs.isEqual)(answers, plotableAnswers)) {
144
+ this.setState({
145
+ dialog: {
146
+ isOpened: true,
147
+ onClose: () => this.setState({
148
+ dialog: {
149
+ isOpened: false
150
+ }
151
+ }, onChange({
152
+ ...model,
153
+ domain: oldDomain,
154
+ range: oldRange
155
+ })),
156
+ onConfirm: () => {
157
+ this.setState({
158
+ gridValues,
159
+ labelValues,
160
+ dialog: {
161
+ isOpened: false
162
+ },
163
+ domain: {
164
+ ...domain
165
+ },
166
+ range: {
167
+ ...range
168
+ }
169
+ }, onChange({
170
+ ...updatedModel,
171
+ answers: plotableAnswers,
172
+ defaultGridConfiguration: selectedGrid
173
+ }));
174
+ }
175
+ }
176
+ });
177
+ return;
178
+ }
179
+ this.setState({
180
+ gridValues,
181
+ labelValues,
182
+ domain: {
183
+ ...domain
184
+ },
185
+ range: {
186
+ ...range
187
+ }
188
+ });
189
+ onChange({
190
+ ...updatedModel,
191
+ defaultGridConfiguration: selectedGrid
192
+ });
193
+ });
194
+ (0, _defineProperty2.default)(this, "onChangeView", (event, expanded) => {
195
+ const {
196
+ graphDimensions: {
197
+ enabled
198
+ } = {}
199
+ } = this.props;
200
+ if (enabled) {
201
+ this.setState({
202
+ showPixelGuides: expanded
203
+ });
204
+ }
205
+ });
206
+ (0, _defineProperty2.default)(this, "changeGridConfiguration", event => {
207
+ const {
208
+ gridConfigurations
209
+ } = this.props;
210
+ const {
211
+ value
212
+ } = event.target;
213
+ this.onConfigChange(gridConfigurations?.[value] || {}, value);
214
+ });
215
+ const {
216
+ domain: _domain,
217
+ range: _range,
218
+ graph: _graph
219
+ } = props.model || {};
220
+ const _gridValues = {
221
+ domain: (0, _utils.getGridValues)(_domain, _graph.width, true),
222
+ range: (0, _utils.getGridValues)(_range, _graph.height, true)
223
+ };
224
+ const _labelValues = {
225
+ domain: (0, _utils.getLabelValues)(_domain.step),
226
+ range: (0, _utils.getLabelValues)(_range.step)
227
+ };
228
+ this.state = {
229
+ gridValues: _gridValues,
230
+ labelValues: _labelValues,
231
+ showPixelGuides: false,
232
+ dialog: {
233
+ isOpened: false
234
+ },
235
+ domain: {
236
+ ..._domain
237
+ },
238
+ range: {
239
+ ..._range
240
+ }
241
+ };
242
+ }
243
+ render() {
244
+ const {
245
+ authoring = {},
246
+ availableTools = [],
247
+ gridConfigurations = [],
248
+ graphDimensions = {},
249
+ labelsPlaceholders,
250
+ model,
251
+ showLabels,
252
+ dimensionsEnabled,
253
+ showTitle,
254
+ titlePlaceholder,
255
+ mathMlOptions = {},
256
+ removeIncompleteTool
257
+ } = this.props;
258
+ const {
259
+ arrows,
260
+ backgroundMarks,
261
+ coordinatesOnHover,
262
+ defaultGridConfiguration,
263
+ domain,
264
+ includeAxes,
265
+ labels,
266
+ range,
267
+ standardGrid,
268
+ title
269
+ } = model || {};
270
+ const graph = (model || {}).graph || {};
271
+ const {
272
+ min,
273
+ max,
274
+ step
275
+ } = graphDimensions || {};
276
+ const {
277
+ dialog = {},
278
+ gridValues,
279
+ labelValues,
280
+ showPixelGuides
281
+ } = this.state;
282
+ const sizeConstraints = {
283
+ min: Math.max(150, min),
284
+ max: Math.min(800, max),
285
+ step: step >= 1 ? Math.min(200, step) : 20
286
+ };
287
+ const displayedFields = {
288
+ axisLabel: authoring.axisLabel,
289
+ dimensionsEnabled,
290
+ includeAxesEnabled: authoring.includeAxesEnabled,
291
+ labelStep: authoring.labelStep,
292
+ min: authoring.min,
293
+ max: authoring.max,
294
+ standardGridEnabled: authoring.standardGridEnabled,
295
+ step: authoring.step
296
+ };
297
+ const displayGridSetup = authoring.enabled && Object.values(displayedFields).some(field => typeof field === 'object' ? field.enabled : field);
298
+ return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(GridConfigWrapper, null, gridConfigurations && gridConfigurations.length ? /*#__PURE__*/React.createElement(GridConfig, null, /*#__PURE__*/React.createElement(GridConfigLabel, {
299
+ component: "div",
300
+ variant: "h6"
301
+ }, "Grid Configuration"), /*#__PURE__*/React.createElement(GridConfigSelect, {
302
+ input: /*#__PURE__*/React.createElement(_material.OutlinedInput, null),
303
+ displayEmpty: true,
304
+ onChange: this.changeGridConfiguration,
305
+ value: defaultGridConfiguration,
306
+ MenuProps: {
307
+ transitionDuration: {
308
+ enter: 225,
309
+ exit: 195
310
+ }
311
+ }
312
+ }, (gridConfigurations || []).map((config, index) => /*#__PURE__*/React.createElement(_material.MenuItem, {
313
+ key: index,
314
+ value: index
315
+ }, config.label)))) : null, displayGridSetup && /*#__PURE__*/React.createElement(_graphing.GridSetup, {
316
+ displayedFields: displayedFields,
317
+ domain: domain,
318
+ gridValues: gridValues,
319
+ includeAxes: includeAxes,
320
+ labelValues: labelValues,
321
+ range: range,
322
+ size: graph,
323
+ sizeConstraints: sizeConstraints,
324
+ standardGrid: standardGrid,
325
+ onChange: this.onConfigChange,
326
+ onChangeView: this.onChangeView
327
+ })), /*#__PURE__*/React.createElement(GraphConfig, {
328
+ key: "graph"
329
+ }, /*#__PURE__*/React.createElement(_material.Typography, {
330
+ component: "div",
331
+ variant: "h6"
332
+ }, "Define Graph Attributes"), /*#__PURE__*/React.createElement(SubtitleText, {
333
+ component: "div",
334
+ variant: "body1"
335
+ }, "Use this interface to add/edit a title and/or labels, and to set background shapes"), /*#__PURE__*/React.createElement(_graphing.GraphContainer, {
336
+ axesSettings: {
337
+ includeArrows: arrows
338
+ },
339
+ backgroundMarks: [],
340
+ coordinatesOnHover: coordinatesOnHover,
341
+ collapsibleToolbar: true,
342
+ collapsibleToolbarTitle: 'Add Background Shapes to Graph',
343
+ domain: domain,
344
+ key: "graphing-config",
345
+ labels: labels,
346
+ labelsPlaceholders: labelsPlaceholders,
347
+ marks: backgroundMarks,
348
+ onChangeLabels: this.changeLabels,
349
+ onChangeMarks: this.changeBackgroundMarks,
350
+ onChangeTitle: this.changeTitle,
351
+ range: range,
352
+ showLabels: showLabels,
353
+ showPixelGuides: showPixelGuides,
354
+ showTitle: showTitle,
355
+ size: {
356
+ width: graph.width,
357
+ height: graph.height
358
+ },
359
+ title: title,
360
+ titlePlaceholder: titlePlaceholder,
361
+ toolbarTools: availableTools,
362
+ mathMlOptions: mathMlOptions,
363
+ removeIncompleteTool: removeIncompleteTool
364
+ })), /*#__PURE__*/React.createElement(_configUi.AlertDialog, {
365
+ open: dialog.isOpened,
366
+ title: "Warning",
367
+ text: "This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.",
368
+ onClose: dialog.onClose,
369
+ onConfirm: dialog.onConfirm
370
+ }));
371
+ }
372
+ }
373
+ exports.GraphingConfig = GraphingConfig;
374
+ (0, _defineProperty2.default)(GraphingConfig, "propTypes", {
375
+ availableTools: _propTypes.default.array,
376
+ authoring: _propTypes.default.object,
377
+ dimensionsEnabled: _propTypes.default.bool,
378
+ graphDimensions: _propTypes.default.object,
379
+ gridConfigurations: _propTypes.default.array,
380
+ labelsPlaceholders: _propTypes.default.object,
381
+ model: _propTypes.default.object.isRequired,
382
+ onChange: _propTypes.default.func.isRequired,
383
+ showLabels: _propTypes.default.bool,
384
+ showTitle: _propTypes.default.bool,
385
+ titlePlaceholder: _propTypes.default.string
386
+ });
387
+ var _default = exports.default = GraphingConfig;
388
+ //# sourceMappingURL=graphing-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphing-config.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_graphing","_configUi","_material","_styles","_utils","_lodashEs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Container","styled","theme","display","flexWrap","marginBottom","spacing","GridConfigWrapper","flexDirection","marginRight","GraphConfig","SubtitleText","Typography","marginTop","GridConfig","alignItems","width","GridConfigLabel","padding","GridConfigSelect","Select","flex","GraphingConfig","Component","constructor","props","_defineProperty2","backgroundMarks","model","onChange","labels","title","config","newSelectedGrid","defaultGridConfiguration","oldSelectedGrid","gridValues","oldGridValues","labelValues","oldLabelValues","domain","oldDomain","range","oldRange","state","updatedModel","answers","includeAxes","graph","standardGrid","selectedGrid","domainConstraints","applyConstraints","step","labelStep","rangeConstraints","height","plotableAnswers","filterPlotableMarks","isEqual","setState","dialog","isOpened","onClose","onConfirm","event","expanded","graphDimensions","enabled","showPixelGuides","gridConfigurations","value","target","onConfigChange","getGridValues","getLabelValues","render","authoring","availableTools","labelsPlaceholders","showLabels","dimensionsEnabled","showTitle","titlePlaceholder","mathMlOptions","removeIncompleteTool","arrows","coordinatesOnHover","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","values","some","field","createElement","length","component","variant","input","OutlinedInput","displayEmpty","changeGridConfiguration","MenuProps","transitionDuration","enter","exit","map","index","MenuItem","key","label","GridSetup","size","onChangeView","GraphContainer","axesSettings","includeArrows","collapsibleToolbar","collapsibleToolbarTitle","marks","onChangeLabels","changeLabels","onChangeMarks","changeBackgroundMarks","onChangeTitle","changeTitle","toolbarTools","AlertDialog","open","text","exports","PropTypes","array","object","bool","isRequired","func","string","_default"],"sources":["../src/graphing-config.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { MenuItem, Select, Typography, OutlinedInput } from '@mui/material';\nimport { styled } from '@mui/material/styles';\nimport { applyConstraints, filterPlotableMarks, getGridValues, getLabelValues } from './utils';\nimport { isEqual } from 'lodash-es';\n\nconst Container = styled('div')(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing(2.5),\n}));\n\nconst GridConfigWrapper = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing(3),\n marginBottom: theme.spacing(2.5),\n}));\n\nconst GraphConfig = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst SubtitleText = styled(Typography)(({ theme }) => ({\n marginTop: theme.spacing(1.5),\n marginBottom: theme.spacing(1),\n}));\n\nconst GridConfig = styled('div')(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing(2.5),\n}));\n\nconst GridConfigLabel = styled(Typography)(({ theme }) => ({\n padding: `0 ${theme.spacing(1)}`,\n}));\n\nconst GridConfigSelect = styled(Select)({\n flex: '1',\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n availableTools: PropTypes.array,\n authoring: PropTypes.object,\n dimensionsEnabled: PropTypes.bool,\n graphDimensions: PropTypes.object,\n gridConfigurations: PropTypes.array,\n labelsPlaceholders: PropTypes.object,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n titlePlaceholder: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n const { domain, range, graph } = props.model || {};\n\n const gridValues = {\n domain: getGridValues(domain, graph.width, true),\n range: getGridValues(range, graph.height, true),\n };\n const labelValues = {\n domain: getLabelValues(domain.step),\n range: getLabelValues(range.step),\n };\n\n this.state = {\n gridValues,\n labelValues,\n showPixelGuides: false,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n };\n }\n\n changeBackgroundMarks = (backgroundMarks) => {\n const model = { ...this.props.model, backgroundMarks };\n\n this.props.onChange(model);\n };\n\n changeLabels = (labels) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, labels });\n };\n\n changeTitle = (title) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, title });\n };\n\n onConfigChange = (config, newSelectedGrid) => {\n const { model, onChange } = this.props;\n const { defaultGridConfiguration: oldSelectedGrid = 0 } = model;\n const { gridValues: oldGridValues, labelValues: oldLabelValues, domain: oldDomain, range: oldRange } = this.state;\n const updatedModel = { ...model, ...config };\n const { answers, domain, includeAxes, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;\n\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\n }\n\n if (standardGrid) {\n gridValues.range = gridValues.domain;\n labelValues.range = labelValues.domain;\n range.step = domain.step;\n range.labelStep = domain.labelStep;\n } else {\n if (includeAxes) {\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues || [];\n labelValues.range = rangeConstraints.labelValues || [];\n }\n }\n\n const plotableAnswers = filterPlotableMarks(domain, range, answers);\n\n if (!isEqual(answers, plotableAnswers)) {\n this.setState({\n dialog: {\n isOpened: true,\n onClose: () =>\n this.setState({ dialog: { isOpened: false } }, onChange({ ...model, domain: oldDomain, range: oldRange })),\n onConfirm: () => {\n this.setState(\n {\n gridValues,\n labelValues,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n },\n onChange({ ...updatedModel, answers: plotableAnswers, defaultGridConfiguration: selectedGrid }),\n );\n },\n },\n });\n\n return;\n }\n\n this.setState({ gridValues, labelValues, domain: { ...domain }, range: { ...range } });\n onChange({ ...updatedModel, defaultGridConfiguration: selectedGrid });\n };\n\n onChangeView = (event, expanded) => {\n const { graphDimensions: { enabled } = {} } = this.props;\n\n if (enabled) {\n this.setState({ showPixelGuides: expanded });\n }\n };\n\n changeGridConfiguration = (event) => {\n const { gridConfigurations } = this.props;\n const { value } = event.target;\n\n this.onConfigChange(gridConfigurations?.[value] || {}, value);\n };\n\n render() {\n const {\n authoring = {},\n availableTools = [],\n gridConfigurations = [],\n graphDimensions = {},\n labelsPlaceholders,\n model,\n showLabels,\n dimensionsEnabled,\n showTitle,\n titlePlaceholder,\n mathMlOptions = {},\n removeIncompleteTool,\n } = this.props;\n const {\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n defaultGridConfiguration,\n domain,\n includeAxes,\n labels,\n range,\n standardGrid,\n title,\n } = model || {};\n const graph = (model || {}).graph || {};\n const { min, max, step } = graphDimensions || {};\n const { dialog = {}, gridValues, labelValues, showPixelGuides } = this.state;\n\n const sizeConstraints = {\n min: Math.max(150, min),\n max: Math.min(800, max),\n step: step >= 1 ? Math.min(200, step) : 20,\n };\n\n const displayedFields = {\n axisLabel: authoring.axisLabel,\n dimensionsEnabled,\n includeAxesEnabled: authoring.includeAxesEnabled,\n labelStep: authoring.labelStep,\n min: authoring.min,\n max: authoring.max,\n standardGridEnabled: authoring.standardGridEnabled,\n step: authoring.step,\n };\n\n const displayGridSetup =\n authoring.enabled &&\n Object.values(displayedFields).some((field) => (typeof field === 'object' ? field.enabled : field));\n\n return (\n <Container>\n <GridConfigWrapper>\n {gridConfigurations && gridConfigurations.length ? (\n <GridConfig>\n <GridConfigLabel component=\"div\" variant=\"h6\">\n Grid Configuration\n </GridConfigLabel>\n\n <GridConfigSelect\n input={<OutlinedInput />}\n displayEmpty\n onChange={this.changeGridConfiguration}\n value={defaultGridConfiguration}\n MenuProps={{ transitionDuration: { enter: 225, exit: 195 } }}\n >\n {(gridConfigurations || []).map((config, index) => (\n <MenuItem key={index} value={index}>\n {config.label}\n </MenuItem>\n ))}\n </GridConfigSelect>\n </GridConfig>\n ) : null}\n\n {displayGridSetup && (\n <GridSetup\n displayedFields={displayedFields}\n domain={domain}\n gridValues={gridValues}\n includeAxes={includeAxes}\n labelValues={labelValues}\n range={range}\n size={graph}\n sizeConstraints={sizeConstraints}\n standardGrid={standardGrid}\n onChange={this.onConfigChange}\n onChangeView={this.onChangeView}\n />\n )}\n </GridConfigWrapper>\n\n <GraphConfig key=\"graph\">\n <Typography component=\"div\" variant=\"h6\">\n Define Graph Attributes\n </Typography>\n\n <SubtitleText component=\"div\" variant=\"body1\">\n Use this interface to add/edit a title and/or labels, and to set background shapes\n </SubtitleText>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n collapsibleToolbar={true}\n collapsibleToolbarTitle={'Add Background Shapes to Graph'}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n labelsPlaceholders={labelsPlaceholders}\n marks={backgroundMarks}\n onChangeLabels={this.changeLabels}\n onChangeMarks={this.changeBackgroundMarks}\n onChangeTitle={this.changeTitle}\n range={range}\n showLabels={showLabels}\n showPixelGuides={showPixelGuides}\n showTitle={showTitle}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n titlePlaceholder={titlePlaceholder}\n toolbarTools={availableTools}\n mathMlOptions={mathMlOptions}\n removeIncompleteTool={removeIncompleteTool}\n />\n </GraphConfig>\n\n <AlertDialog\n open={dialog.isOpened}\n title=\"Warning\"\n text=\"This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.\"\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </Container>\n );\n }\n}\n\nexport default GraphingConfig;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _client = require("react-dom/client");
11
+ var _configure = _interopRequireDefault(require("./configure"));
12
+ var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
13
+ var _debug = _interopRequireDefault(require("debug"));
14
+ var _defaults = _interopRequireDefault(require("./defaults"));
15
+ var _mathRendering = require("@pie-lib/math-rendering");
16
+ var _lodashEs = require("lodash-es");
17
+ const log = (0, _debug.default)('pie-elements:graphing:configure');
18
+
19
+ // this function is implemented in controller as well
20
+ const sortedAnswers = answers => Object.keys(answers || {}).sort().reduce((result, key) => {
21
+ if (key !== 'correctAnswer') {
22
+ result[key] = answers[key];
23
+ }
24
+ return result;
25
+ }, {});
26
+ class GraphLinesConfigure extends HTMLElement {
27
+ constructor() {
28
+ super();
29
+ (0, _defineProperty2.default)(this, "resetModelAfterConfigurationIsSet", () => {
30
+ // In environments that use pie-player-components, model is set before configuration.
31
+ // This is the reason why sometimes the model gets altered non-reversible
32
+ // (altered using default configuration instead of client configuration, because at that point client configuration was not set yet)
33
+ // Therefore, in such environments, we will make sure to keep a modelCopy (initialised in set model) and use it to reset
34
+ // the model in set configuration (resetModelAfterConfigurationIsSet) if set configuration is ever called
35
+ const pieAuthors = document.querySelectorAll('pie-author');
36
+ this.hasPlayerAsParent = Array.from(pieAuthors).some(author => author.contains(this));
37
+ if (this.hasPlayerAsParent) {
38
+ if (this._modelCopy) {
39
+ this._model = this._modelCopy;
40
+ } else {
41
+ delete this._modelCopy;
42
+ }
43
+ }
44
+ });
45
+ (0, _defineProperty2.default)(this, "onModelChanged", model => {
46
+ this._model = model;
47
+ this._render();
48
+ log('[onModelChanged]: ', this._model);
49
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
50
+ });
51
+ (0, _defineProperty2.default)(this, "onConfigurationChanged", config => {
52
+ this._configuration = config;
53
+ this._render();
54
+ });
55
+ (0, _defineProperty2.default)(this, "insertImage", handler => {
56
+ this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
57
+ });
58
+ (0, _defineProperty2.default)(this, "onDeleteImage", (src, done) => {
59
+ this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
60
+ });
61
+ this._root = null;
62
+ this._model = GraphLinesConfigure.createDefaultModel();
63
+ this._configuration = _defaults.default.configuration;
64
+ }
65
+ set model(m) {
66
+ this._model = GraphLinesConfigure.createDefaultModel(m);
67
+ this._modelCopy = (0, _lodashEs.cloneDeep)(this._model);
68
+ this._render();
69
+ }
70
+ set configuration(c) {
71
+ this._configuration = {
72
+ ..._defaults.default.configuration,
73
+ ...c
74
+ };
75
+ this.resetModelAfterConfigurationIsSet();
76
+
77
+ // if language:enabled is true, then the corresponding default item model should include a language value;
78
+ // if it is false, then the language field should be omitted from the item model.
79
+ // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
80
+ // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
81
+ //TODO: add logic in controller and add tests
82
+ if (c.language?.enabled) {
83
+ if (c.languageChoices?.options?.length) {
84
+ this._model.language = c.languageChoices.options[0].value;
85
+ }
86
+ } else {
87
+ if (c.language.settings) {
88
+ if (this._model.language) {
89
+ this._configuration.language.enabled = true;
90
+ }
91
+ } else {
92
+ delete this._model.language;
93
+ }
94
+ }
95
+ this._render();
96
+ }
97
+ insertSound(handler) {
98
+ this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
99
+ }
100
+ onDeleteSound(src, done) {
101
+ this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
102
+ }
103
+ _render() {
104
+ if (this._model) {
105
+ const el = /*#__PURE__*/_react.default.createElement(_configure.default, {
106
+ onModelChanged: this.onModelChanged,
107
+ onConfigurationChanged: this.onConfigurationChanged,
108
+ model: this._model,
109
+ configuration: this._configuration,
110
+ imageSupport: {
111
+ add: this.insertImage,
112
+ delete: this.onDeleteImage
113
+ },
114
+ uploadSoundSupport: {
115
+ add: this.insertSound.bind(this),
116
+ delete: this.onDeleteSound.bind(this)
117
+ }
118
+ });
119
+ if (!this._root) {
120
+ this._root = (0, _client.createRoot)(this);
121
+ }
122
+ this._root.render(el);
123
+ queueMicrotask(() => {
124
+ (0, _mathRendering.renderMath)(this);
125
+ });
126
+ }
127
+ }
128
+ disconnectedCallback() {
129
+ if (this._root) {
130
+ this._root.unmount();
131
+ }
132
+ }
133
+ }
134
+ exports.default = GraphLinesConfigure;
135
+ (0, _defineProperty2.default)(GraphLinesConfigure, "createDefaultModel", (model = {}) => {
136
+ const normalizedModel = {
137
+ ..._defaults.default.model,
138
+ ...model
139
+ };
140
+ const {
141
+ answers = {},
142
+ domain = {},
143
+ defaultTool,
144
+ graph = {},
145
+ range = {},
146
+ standardGrid,
147
+ toolbarTools
148
+ } = normalizedModel;
149
+
150
+ // added support for models without defaultTool defined; also used in packages/graphing/controller/src/index.js
151
+ const toolbarToolsNoLabel = (toolbarTools || []).filter(tool => tool !== 'label');
152
+ const normalizedDefaultTool = defaultTool || toolbarToolsNoLabel.length && toolbarToolsNoLabel[0] || '';
153
+ return {
154
+ ...normalizedModel,
155
+ answers: answers && answers.correctAnswer && {
156
+ correctAnswer: answers.correctAnswer,
157
+ ...sortedAnswers(answers)
158
+ } || answers,
159
+ defaultTool: normalizedDefaultTool,
160
+ range: standardGrid && {
161
+ ...range,
162
+ min: domain.min,
163
+ max: domain.max,
164
+ step: domain.step,
165
+ labelStep: domain.labelStep
166
+ } || range,
167
+ graph: standardGrid && {
168
+ ...graph,
169
+ height: graph.width
170
+ } || graph
171
+ };
172
+ });
173
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_configure","_pieConfigureEvents","_debug","_defaults","_mathRendering","_lodashEs","log","debug","sortedAnswers","answers","Object","keys","sort","reduce","result","key","GraphLinesConfigure","HTMLElement","constructor","_defineProperty2","default","pieAuthors","document","querySelectorAll","hasPlayerAsParent","Array","from","some","author","contains","_modelCopy","_model","model","_render","dispatchEvent","ModelUpdatedEvent","config","_configuration","handler","InsertImageEvent","src","done","DeleteImageEvent","_root","createDefaultModel","defaultValues","configuration","m","cloneDeep","c","resetModelAfterConfigurationIsSet","language","enabled","languageChoices","options","length","value","settings","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","onConfigurationChanged","imageSupport","add","insertImage","delete","onDeleteImage","uploadSoundSupport","bind","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","normalizedModel","domain","defaultTool","graph","range","standardGrid","toolbarTools","toolbarToolsNoLabel","filter","tool","normalizedDefaultTool","correctAnswer","min","max","step","labelStep","height","width"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Configure from './configure';\nimport {\n DeleteImageEvent,\n DeleteSoundEvent,\n InsertImageEvent,\n InsertSoundEvent,\n ModelUpdatedEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { cloneDeep } from 'lodash-es';\n\nconst log = debug('pie-elements:graphing:configure');\n\n// this function is implemented in controller as well\nconst sortedAnswers = (answers) =>\n Object.keys(answers || {})\n .sort()\n .reduce((result, key) => {\n if (key !== 'correctAnswer') {\n result[key] = answers[key];\n }\n\n return result;\n }, {});\n\nexport default class GraphLinesConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const normalizedModel = { ...defaultValues.model, ...model };\n const {\n answers = {},\n domain = {},\n defaultTool,\n graph = {},\n range = {},\n standardGrid,\n toolbarTools,\n } = normalizedModel;\n\n // added support for models without defaultTool defined; also used in packages/graphing/controller/src/index.js\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n const normalizedDefaultTool = defaultTool || (toolbarToolsNoLabel.length && toolbarToolsNoLabel[0]) || '';\n\n return {\n ...normalizedModel,\n answers:\n (answers &&\n answers.correctAnswer && {\n correctAnswer: answers.correctAnswer,\n ...sortedAnswers(answers),\n }) ||\n answers,\n defaultTool: normalizedDefaultTool,\n range:\n (standardGrid && {\n ...range,\n min: domain.min,\n max: domain.max,\n step: domain.step,\n labelStep: domain.labelStep,\n }) ||\n range,\n graph: (standardGrid && { ...graph, height: graph.width }) || graph,\n };\n };\n\n constructor() {\n super();\n this._root = null;\n this._model = GraphLinesConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = GraphLinesConfigure.createDefaultModel(m);\n this._modelCopy = cloneDeep(this._model);\n\n this._render();\n }\n\n resetModelAfterConfigurationIsSet = () => {\n // In environments that use pie-player-components, model is set before configuration.\n // This is the reason why sometimes the model gets altered non-reversible\n // (altered using default configuration instead of client configuration, because at that point client configuration was not set yet)\n // Therefore, in such environments, we will make sure to keep a modelCopy (initialised in set model) and use it to reset\n // the model in set configuration (resetModelAfterConfigurationIsSet) if set configuration is ever called\n const pieAuthors = document.querySelectorAll('pie-author');\n this.hasPlayerAsParent = Array.from(pieAuthors).some((author) => author.contains(this));\n\n if (this.hasPlayerAsParent) {\n if (this._modelCopy) {\n this._model = this._modelCopy;\n } else {\n delete this._modelCopy;\n }\n }\n };\n\n set configuration(c) {\n this._configuration = {\n ...defaultValues.configuration,\n ...c,\n };\n\n this.resetModelAfterConfigurationIsSet();\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n //TODO: add logic in controller and add tests\n if (c.language?.enabled) {\n if (c.languageChoices?.options?.length) {\n this._model.language = c.languageChoices.options[0].value;\n }\n } else {\n if (c.language.settings) {\n if (this._model.language) {\n this._configuration.language.enabled = true;\n }\n } else {\n delete this._model.language;\n }\n }\n\n this._render();\n }\n\n onModelChanged = (model) => {\n this._model = model;\n this._render();\n\n log('[onModelChanged]: ', this._model);\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n };\n\n onConfigurationChanged = (config) => {\n this._configuration = config;\n this._render();\n };\n\n insertImage = (handler) => {\n this.dispatchEvent(new InsertImageEvent(handler));\n };\n\n onDeleteImage = (src, done) => {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n };\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage,\n delete: this.onDeleteImage,\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}