@pie-element/multiple-choice 13.0.1 → 13.1.1-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/dist/author/defaults.d.ts +206 -0
  2. package/dist/author/defaults.d.ts.map +1 -0
  3. package/dist/author/defaults.js +151 -0
  4. package/dist/author/index.d.ts +27 -0
  5. package/dist/author/index.d.ts.map +1 -0
  6. package/dist/author/index.js +116 -0
  7. package/dist/author/main.d.ts +35 -0
  8. package/dist/author/main.d.ts.map +1 -0
  9. package/dist/author/main.js +290 -0
  10. package/dist/author/utils.d.ts +10 -0
  11. package/dist/author/utils.d.ts.map +1 -0
  12. package/dist/author/utils.js +7 -0
  13. package/dist/controller/defaults.d.ts +36 -0
  14. package/dist/controller/defaults.d.ts.map +1 -0
  15. package/dist/controller/defaults.js +29 -0
  16. package/dist/controller/index.d.ts +66 -0
  17. package/dist/controller/index.d.ts.map +1 -0
  18. package/dist/controller/index.js +124 -0
  19. package/dist/controller/utils.d.ts +11 -0
  20. package/dist/controller/utils.d.ts.map +1 -0
  21. package/dist/controller/utils.js +8 -0
  22. package/dist/delivery/choice-input.d.ts +45 -0
  23. package/dist/delivery/choice-input.d.ts.map +1 -0
  24. package/dist/delivery/choice-input.js +274 -0
  25. package/dist/delivery/choice.d.ts +21 -0
  26. package/dist/delivery/choice.d.ts.map +1 -0
  27. package/dist/delivery/choice.js +109 -0
  28. package/dist/delivery/feedback-tick.d.ts +21 -0
  29. package/dist/delivery/feedback-tick.d.ts.map +1 -0
  30. package/dist/delivery/feedback-tick.js +104 -0
  31. package/dist/delivery/index.d.ts +38 -0
  32. package/dist/delivery/index.d.ts.map +1 -0
  33. package/dist/delivery/index.js +217 -0
  34. package/dist/delivery/main.d.ts +32 -0
  35. package/dist/delivery/main.d.ts.map +1 -0
  36. package/dist/delivery/main.js +51 -0
  37. package/dist/delivery/multiple-choice.d.ts +63 -0
  38. package/dist/delivery/multiple-choice.d.ts.map +1 -0
  39. package/dist/delivery/multiple-choice.js +252 -0
  40. package/dist/delivery/session-updater.d.ts +11 -0
  41. package/dist/delivery/session-updater.d.ts.map +1 -0
  42. package/dist/delivery/session-updater.js +9 -0
  43. package/dist/index.d.ts +2 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.iife.d.ts +9 -0
  46. package/dist/index.iife.d.ts.map +1 -0
  47. package/dist/index.iife.js +148 -0
  48. package/dist/index.js +2 -0
  49. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_DataView.js +6 -0
  50. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Hash.js +16 -0
  51. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_ListCache.js +16 -0
  52. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Map.js +6 -0
  53. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_MapCache.js +16 -0
  54. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Promise.js +6 -0
  55. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Set.js +6 -0
  56. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_SetCache.js +11 -0
  57. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Stack.js +13 -0
  58. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Symbol.js +5 -0
  59. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Uint8Array.js +5 -0
  60. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_WeakMap.js +6 -0
  61. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_apply.js +12 -0
  62. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayEach.js +7 -0
  63. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayFilter.js +10 -0
  64. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
  65. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayPush.js +7 -0
  66. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arraySome.js +7 -0
  67. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_assignMergeValue.js +8 -0
  68. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_assignValue.js +10 -0
  69. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_assocIndexOf.js +8 -0
  70. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseAssign.js +8 -0
  71. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseAssignIn.js +8 -0
  72. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseAssignValue.js +12 -0
  73. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseClone.js +57 -0
  74. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseCreate.js +14 -0
  75. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseFor.js +5 -0
  76. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  77. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseGetTag.js +10 -0
  78. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsArguments.js +9 -0
  79. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsEqual.js +8 -0
  80. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsEqualDeep.js +30 -0
  81. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsMap.js +9 -0
  82. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsNative.js +11 -0
  83. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsSet.js +9 -0
  84. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
  85. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseKeys.js +12 -0
  86. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseKeysIn.js +13 -0
  87. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseMerge.js +19 -0
  88. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseMergeDeep.js +31 -0
  89. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseRest.js +9 -0
  90. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseSetToString.js +14 -0
  91. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseTimes.js +7 -0
  92. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseTrim.js +8 -0
  93. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseUnary.js +8 -0
  94. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cacheHas.js +6 -0
  95. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  96. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneBuffer.js +10 -0
  97. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneDataView.js +8 -0
  98. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneRegExp.js +8 -0
  99. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneSymbol.js +8 -0
  100. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  101. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_copyArray.js +8 -0
  102. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_copyObject.js +14 -0
  103. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_copySymbols.js +8 -0
  104. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_copySymbolsIn.js +8 -0
  105. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_coreJsData.js +5 -0
  106. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_createAssigner.js +15 -0
  107. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_createBaseFor.js +12 -0
  108. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_defineProperty.js +10 -0
  109. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_equalArrays.js +35 -0
  110. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_equalByTag.js +35 -0
  111. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_equalObjects.js +32 -0
  112. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_freeGlobal.js +4 -0
  113. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getAllKeys.js +9 -0
  114. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getAllKeysIn.js +9 -0
  115. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getMapData.js +8 -0
  116. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getNative.js +9 -0
  117. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getPrototype.js +5 -0
  118. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getRawTag.js +14 -0
  119. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getSymbols.js +10 -0
  120. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getSymbolsIn.js +11 -0
  121. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getTag.js +23 -0
  122. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getValue.js +6 -0
  123. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashClear.js +7 -0
  124. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashDelete.js +7 -0
  125. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashGet.js +13 -0
  126. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashHas.js +9 -0
  127. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashSet.js +9 -0
  128. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_initCloneArray.js +8 -0
  129. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_initCloneByTag.js +33 -0
  130. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_initCloneObject.js +9 -0
  131. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isIndex.js +8 -0
  132. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isIterateeCall.js +12 -0
  133. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isKeyable.js +7 -0
  134. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isMasked.js +11 -0
  135. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isPrototype.js +8 -0
  136. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheClear.js +6 -0
  137. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheDelete.js +9 -0
  138. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheGet.js +8 -0
  139. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheHas.js +7 -0
  140. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheSet.js +8 -0
  141. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheClear.js +13 -0
  142. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  143. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheGet.js +7 -0
  144. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheHas.js +7 -0
  145. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheSet.js +8 -0
  146. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapToArray.js +9 -0
  147. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_nativeCreate.js +5 -0
  148. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_nativeKeys.js +5 -0
  149. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_nativeKeysIn.js +8 -0
  150. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_nodeUtil.js +9 -0
  151. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_objectToString.js +7 -0
  152. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_overArg.js +8 -0
  153. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_overRest.js +13 -0
  154. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_root.js +5 -0
  155. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_safeGet.js +6 -0
  156. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_setCacheAdd.js +7 -0
  157. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_setCacheHas.js +6 -0
  158. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_setToArray.js +9 -0
  159. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_setToString.js +6 -0
  160. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_shortOut.js +14 -0
  161. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackClear.js +7 -0
  162. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackDelete.js +7 -0
  163. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackGet.js +6 -0
  164. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackHas.js +6 -0
  165. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackSet.js +16 -0
  166. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_toSource.js +15 -0
  167. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_trimmedEndIndex.js +8 -0
  168. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/cloneDeep.js +8 -0
  169. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/constant.js +8 -0
  170. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/debounce.js +50 -0
  171. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/defaults.js +16 -0
  172. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/eq.js +6 -0
  173. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/identity.js +6 -0
  174. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isArguments.js +10 -0
  175. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isArray.js +4 -0
  176. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isArrayLike.js +8 -0
  177. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isArrayLikeObject.js +8 -0
  178. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isBuffer.js +6 -0
  179. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isEmpty.js +21 -0
  180. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isEqual.js +7 -0
  181. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isFunction.js +11 -0
  182. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isLength.js +7 -0
  183. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isMap.js +7 -0
  184. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isObject.js +7 -0
  185. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isObjectLike.js +6 -0
  186. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isPlainObject.js +14 -0
  187. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isSet.js +7 -0
  188. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isSymbol.js +9 -0
  189. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isTypedArray.js +7 -0
  190. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/keys.js +9 -0
  191. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/keysIn.js +9 -0
  192. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/merge.js +8 -0
  193. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/now.js +7 -0
  194. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/stubArray.js +6 -0
  195. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/stubFalse.js +6 -0
  196. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/toNumber.js +19 -0
  197. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/toPlainObject.js +8 -0
  198. package/dist/print/index.d.ts +16 -0
  199. package/dist/print/index.d.ts.map +1 -0
  200. package/dist/print/index.js +44 -0
  201. package/package.json +58 -26
  202. package/{configure/lib/defaults.js → src/author/defaults.ts} +55 -90
  203. package/{configure/lib/index.js → src/author/index.ts} +98 -51
  204. package/src/author/main.tsx +509 -0
  205. package/src/author/utils.ts +25 -0
  206. package/{controller/lib/defaults.js → src/controller/defaults.ts} +11 -8
  207. package/{controller/lib/index.js → src/controller/index.ts} +123 -109
  208. package/src/controller/utils.ts +22 -0
  209. package/src/delivery/choice-input.tsx +413 -0
  210. package/src/delivery/choice.tsx +203 -0
  211. package/src/delivery/feedback-tick.tsx +156 -0
  212. package/src/delivery/index.ts +489 -0
  213. package/src/delivery/main.tsx +85 -0
  214. package/src/delivery/multiple-choice.tsx +485 -0
  215. package/{lib/session-updater.js → src/delivery/session-updater.ts} +17 -13
  216. package/src/index.iife.ts +16 -0
  217. package/src/index.ts +1 -0
  218. package/src/print/index.tsx +112 -0
  219. package/CHANGELOG.json +0 -1972
  220. package/CHANGELOG.md +0 -2690
  221. package/LICENSE.md +0 -5
  222. package/PRINT.md +0 -35
  223. package/README.md +0 -56
  224. package/choice.png +0 -0
  225. package/configure/CHANGELOG.json +0 -1387
  226. package/configure/CHANGELOG.md +0 -2046
  227. package/configure/lib/defaults.js.map +0 -1
  228. package/configure/lib/index.js.map +0 -1
  229. package/configure/lib/main.js +0 -477
  230. package/configure/lib/main.js.map +0 -1
  231. package/configure/lib/utils.js +0 -18
  232. package/configure/lib/utils.js.map +0 -1
  233. package/configure/package.json +0 -22
  234. package/controller/CHANGELOG.json +0 -527
  235. package/controller/CHANGELOG.md +0 -1388
  236. package/controller/lib/defaults.js.map +0 -1
  237. package/controller/lib/index.js.map +0 -1
  238. package/controller/lib/utils.js +0 -15
  239. package/controller/lib/utils.js.map +0 -1
  240. package/controller/package.json +0 -15
  241. package/docs/config-schema.json +0 -2993
  242. package/docs/config-schema.json.md +0 -2217
  243. package/docs/demo/config.js +0 -8
  244. package/docs/demo/generate.js +0 -61
  245. package/docs/demo/index.html +0 -1
  246. package/docs/demo/session.js +0 -7
  247. package/docs/pie-schema.json +0 -1332
  248. package/docs/pie-schema.json.md +0 -1015
  249. package/lib/choice-input.js +0 -380
  250. package/lib/choice-input.js.map +0 -1
  251. package/lib/choice.js +0 -197
  252. package/lib/choice.js.map +0 -1
  253. package/lib/feedback-tick.js +0 -134
  254. package/lib/feedback-tick.js.map +0 -1
  255. package/lib/index.js +0 -337
  256. package/lib/index.js.map +0 -1
  257. package/lib/main.js +0 -57
  258. package/lib/main.js.map +0 -1
  259. package/lib/multiple-choice.js +0 -385
  260. package/lib/multiple-choice.js.map +0 -1
  261. package/lib/print.js +0 -94
  262. package/lib/print.js.map +0 -1
  263. package/lib/session-updater.js.map +0 -1
  264. package/module/configure.js +0 -1
  265. package/module/controller.js +0 -3045
  266. package/module/demo.js +0 -86
  267. package/module/element.js +0 -1
  268. package/module/index.html +0 -21
  269. package/module/manifest.json +0 -14
  270. package/module/print-demo.js +0 -124
  271. package/module/print.html +0 -18
  272. package/module/print.js +0 -1
@@ -0,0 +1,509 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @synced-from pie-elements/packages/multiple-choice/configure/src/main.jsx
4
+ * @auto-generated
5
+ *
6
+ * This file is automatically synced from pie-elements and converted to TypeScript.
7
+ * Manual edits will be overwritten on next sync.
8
+ * To make changes, edit the upstream JavaScript file and run sync again.
9
+ */
10
+
11
+ import React from 'react';
12
+ import PropTypes from 'prop-types';
13
+ import { styled } from '@mui/material/styles';
14
+ import EditableHtml from '@pie-lib/editable-html-tip-tap';
15
+ import {
16
+ AlertDialog,
17
+ InputContainer,
18
+ ChoiceConfiguration,
19
+ settings,
20
+ layout,
21
+ choiceUtils as utils,
22
+ } from '@pie-lib/config-ui';
23
+ import { color } from '@pie-lib/render-ui';
24
+ import Button from '@mui/material/Button';
25
+ import Tooltip from '@mui/material/Tooltip';
26
+ import Typography from '@mui/material/Typography';
27
+ import Box from '@mui/material/Box';
28
+ import Info from '@mui/icons-material/Info';
29
+ import { merge } from 'lodash-es';
30
+ import { generateValidationMessage } from './utils.js';
31
+
32
+ const { Panel, toggle, radio, dropdown } = settings;
33
+
34
+ const MAX_CHOICES = 9;
35
+
36
+ const PromptHolder: any = styled(InputContainer)(({ theme }) => ({
37
+ width: '100%',
38
+ paddingTop: theme.spacing(2),
39
+ marginBottom: theme.spacing(2),
40
+ }));
41
+
42
+ const RationaleHolder: any = styled(InputContainer)(({ theme }) => ({
43
+ flex: 1,
44
+ marginTop: theme.spacing(1.5),
45
+ paddingTop: theme.spacing(2),
46
+ marginLeft: theme.spacing(3.5),
47
+ }));
48
+
49
+ const ChoiceConfigurationHolder: any = styled(InputContainer)(({ theme }) => ({
50
+ display: 'flex',
51
+ flexDirection: 'column',
52
+ marginBottom: theme.spacing(1),
53
+ width: '100%',
54
+ }));
55
+
56
+
57
+ const AddButton: any = styled(Button)(({ theme }) => ({
58
+ marginTop: theme.spacing(1),
59
+ float: 'right',
60
+ }));
61
+
62
+ const DisableButton: any = styled(AddButton)({
63
+ cursor: 'not-allowed',
64
+ pointerEvents: 'all',
65
+ backgroundColor: color.disabled(),
66
+ '&:hover': {
67
+ backgroundColor: color.disabled(),
68
+ },
69
+ '&:focus': {
70
+ backgroundColor: color.disabled(),
71
+ },
72
+ });
73
+
74
+ const FlexContainer: any = styled(Box)({
75
+ display: 'flex',
76
+ alignItems: 'center',
77
+ });
78
+
79
+ const TitleText: any = styled(Typography)(({ theme }) => ({
80
+ fontSize: theme.typography.fontSize + 2,
81
+ marginRight: theme.spacing(1),
82
+ }));
83
+
84
+ const StyledTooltip: any = styled(Tooltip)(({ theme }) => ({
85
+ '& .MuiTooltip-tooltip': {
86
+ fontSize: theme.typography.fontSize - 2,
87
+ whiteSpace: 'pre',
88
+ maxWidth: '500px',
89
+ },
90
+ }));
91
+
92
+ const ErrorText: any = styled('div')(({ theme }) => ({
93
+ fontSize: theme.typography.fontSize - 2,
94
+ color: theme.palette.error.main,
95
+ paddingTop: theme.spacing(1),
96
+ }));
97
+
98
+ const Design = (props) => {
99
+ const {
100
+ model,
101
+ configuration,
102
+ onPromptChanged,
103
+ onChoiceChanged,
104
+ onRemoveChoice,
105
+ onAddChoice,
106
+ imageSupport,
107
+ uploadSoundSupport,
108
+ onChangeModel,
109
+ onConfigurationChanged,
110
+ onTeacherInstructionsChanged,
111
+ } = props;
112
+
113
+ const {
114
+ addChoiceButton = {},
115
+ contentDimensions = {},
116
+ feedback = {},
117
+ deleteChoice = {},
118
+ choiceMode = {},
119
+ choicePrefix = {},
120
+ partialScoring = {},
121
+ lockChoiceOrder = {},
122
+ teacherInstructions = {},
123
+ studentInstructions = {},
124
+ rationale = {},
125
+ scoringType = {},
126
+ sequentialChoiceLabels = {},
127
+ settingsPanelDisabled,
128
+ choicesLayout,
129
+ spellCheck = {},
130
+ gridColumns,
131
+ maxImageWidth = {},
132
+ maxImageHeight = {},
133
+ prompt = {},
134
+ withRubric = {},
135
+ mathMlOptions = {},
136
+ language = {},
137
+ languageChoices = {},
138
+ } = configuration || {};
139
+ let { maxAnswerChoices } = configuration || {};
140
+ const {
141
+ limitChoicesNumber,
142
+ teacherInstructionsEnabled,
143
+ rationaleEnabled,
144
+ feedbackEnabled,
145
+ promptEnabled,
146
+ spellCheckEnabled,
147
+ choices,
148
+ errors,
149
+ toolbarEditorPosition,
150
+ extraCSSRules,
151
+ } = model || {};
152
+
153
+ const {
154
+ answerChoices: answerChoicesError,
155
+ choices: choicesErrors,
156
+ correctResponse: correctResponseError,
157
+ prompt: promptError,
158
+ rationale: rationaleErrors,
159
+ teacherInstructions: teacherInstructionsError,
160
+ } = errors || {};
161
+ const nrOfColumnsAvailable = choices?.length ? Array.from({ length: choices.length }, (_, i) => `${i + 1}`) : [];
162
+
163
+ const { baseInputConfiguration = {} } = configuration;
164
+ const toolbarOpts = {
165
+ position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',
166
+ };
167
+
168
+ // if old property is used, set maxAnswerChoices to 9
169
+ if (limitChoicesNumber) {
170
+ maxAnswerChoices = MAX_CHOICES;
171
+ }
172
+
173
+ const getPluginProps = (props = {}) => ({
174
+ ...baseInputConfiguration,
175
+ ...props,
176
+ });
177
+
178
+ const validationMessage = generateValidationMessage(configuration);
179
+ const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
180
+ const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
181
+ const addChoiceButtonTooltip =
182
+ maxAnswerChoices && choices?.length >= maxAnswerChoices ? `Only ${maxAnswerChoices} allowed maximum` : '';
183
+
184
+ const panelSettings = {
185
+ choiceMode: choiceMode.settings && radio(choiceMode.label, ['checkbox', 'radio']),
186
+ 'sequentialChoiceLabels.enabled': sequentialChoiceLabels.settings && toggle(sequentialChoiceLabels.label, true),
187
+ choicePrefix: choicePrefix.settings && radio(choicePrefix.label, ['numbers', 'letters']),
188
+ partialScoring: partialScoring.settings && toggle(partialScoring.label),
189
+ lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.label),
190
+ feedbackEnabled: feedback.settings && toggle(feedback.label),
191
+ choicesLayout: choicesLayout.settings && dropdown(choicesLayout.label, ['vertical', 'grid', 'horizontal']),
192
+ gridColumns:
193
+ choicesLayout.settings &&
194
+ model.choicesLayout === 'grid' &&
195
+ nrOfColumnsAvailable.length > 0 &&
196
+ dropdown(gridColumns.label, nrOfColumnsAvailable),
197
+ 'language.enabled': language.settings && toggle(language.label, true),
198
+ language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),
199
+ };
200
+
201
+ const panelProperties = {
202
+ teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
203
+ studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
204
+ promptEnabled: prompt.settings && toggle(prompt.label),
205
+ rationaleEnabled: rationale.settings && toggle(rationale.label),
206
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
207
+ scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),
208
+ rubricEnabled: withRubric?.settings && toggle(withRubric?.label),
209
+ };
210
+
211
+ return (
212
+ <layout.ConfigLayout
213
+ dimensions={contentDimensions}
214
+ hideSettings={settingsPanelDisabled}
215
+ extraCSSRules={extraCSSRules}
216
+ classes={{}}
217
+ settings={
218
+ <Panel
219
+ model={model}
220
+ onChangeModel={onChangeModel}
221
+ configuration={configuration}
222
+ onChangeConfiguration={onConfigurationChanged}
223
+ groups={{
224
+ Settings: panelSettings,
225
+ Properties: panelProperties,
226
+ }}
227
+ />
228
+ }
229
+ >
230
+ {teacherInstructionsEnabled && (
231
+ <PromptHolder label={teacherInstructions.label}>
232
+ <EditableHtml
233
+ markup={model.teacherInstructions || ''}
234
+ onChange={onTeacherInstructionsChanged}
235
+ imageSupport={imageSupport}
236
+ nonEmpty={false}
237
+ disableUnderline
238
+ error={teacherInstructionsError}
239
+ toolbarOpts={toolbarOpts}
240
+ pluginProps={getPluginProps(configuration?.teacherInstructions?.inputConfiguration)}
241
+ spellCheck={spellCheckEnabled}
242
+ maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}
243
+ maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}
244
+ uploadSoundSupport={uploadSoundSupport}
245
+ languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}
246
+ mathMlOptions={mathMlOptions}
247
+ />
248
+ {teacherInstructionsError && <ErrorText>{teacherInstructionsError}</ErrorText>}
249
+ </PromptHolder>
250
+ )}
251
+
252
+ {promptEnabled && (
253
+ <PromptHolder label={prompt.label}>
254
+ <EditableHtml
255
+ markup={model.prompt}
256
+ onChange={onPromptChanged}
257
+ imageSupport={imageSupport}
258
+ nonEmpty={false}
259
+ disableUnderline
260
+ error={promptError}
261
+ toolbarOpts={toolbarOpts}
262
+ pluginProps={getPluginProps(configuration?.prompt?.inputConfiguration)}
263
+ spellCheck={spellCheckEnabled}
264
+ maxImageWidth={maxImageWidth && maxImageWidth.prompt}
265
+ maxImageHeight={maxImageHeight && maxImageHeight.prompt}
266
+ uploadSoundSupport={uploadSoundSupport}
267
+ languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}
268
+ mathMlOptions={mathMlOptions}
269
+ />
270
+ {promptError && <ErrorText>{promptError}</ErrorText>}
271
+ </PromptHolder>
272
+ )}
273
+
274
+ <FlexContainer>
275
+ <TitleText component={'div'}>
276
+ Choices
277
+ </TitleText>
278
+ <StyledTooltip
279
+ disableFocusListener
280
+ disableTouchListener
281
+ placement={'right'}
282
+ title={validationMessage}
283
+ >
284
+ <Info fontSize={'small'} color={'primary'} />
285
+ </StyledTooltip>
286
+ </FlexContainer>
287
+
288
+ {choices.map((choice, index) => (
289
+ <ChoiceConfigurationHolder key={`choice-${index}`}>
290
+ <ChoiceConfiguration
291
+ key={index}
292
+ index={index + 1}
293
+ useLetterOrdering={model.choicePrefix === 'letters'}
294
+ mode={model.choiceMode}
295
+ data={choice}
296
+ defaultFeedback={{}}
297
+ imageSupport={imageSupport}
298
+ disableImageAlignmentButtons={true}
299
+ onDelete={() => onRemoveChoice(index)}
300
+ onChange={(c) => onChoiceChanged(index, c)}
301
+ allowFeedBack={feedbackEnabled}
302
+ allowDelete={deleteChoice.settings}
303
+ noLabels
304
+ pluginOpts={getPluginProps(configuration?.choices?.inputConfiguration)}
305
+ toolbarOpts={toolbarOpts}
306
+ spellCheck={spellCheckEnabled}
307
+ error={choicesErrors?.[choice.value] || null}
308
+ noCorrectAnswerError={correctResponseError}
309
+ maxImageWidth={(maxImageWidth && maxImageWidth.choices) || defaultImageMaxWidth}
310
+ maxImageHeight={(maxImageHeight && maxImageHeight.choices) || defaultImageMaxHeight}
311
+ uploadSoundSupport={uploadSoundSupport}
312
+ mathMlOptions={mathMlOptions}
313
+ />
314
+
315
+ {rationaleEnabled && (
316
+ <RationaleHolder key={`rationale-${index}`} label={rationale.label}>
317
+ <EditableHtml
318
+ markup={choice.rationale || ''}
319
+ onChange={(c) => onChoiceChanged(index, { ...choice, rationale: c })}
320
+ imageSupport={imageSupport}
321
+ error={rationaleErrors?.[choice.value] || null}
322
+ toolbarOpts={toolbarOpts}
323
+ pluginProps={getPluginProps(configuration?.rationale?.inputConfiguration)}
324
+ spellCheck={spellCheckEnabled}
325
+ maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}
326
+ maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}
327
+ uploadSoundSupport={uploadSoundSupport}
328
+ languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}
329
+ mathMlOptions={mathMlOptions}
330
+ />
331
+ {rationaleErrors?.[choice.value] && (
332
+ <ErrorText>{rationaleErrors?.[choice.value]}</ErrorText>
333
+ )}
334
+ </RationaleHolder>
335
+ )}
336
+ </ChoiceConfigurationHolder>
337
+ ))}
338
+
339
+ {correctResponseError && <ErrorText>{correctResponseError}</ErrorText>}
340
+ {answerChoicesError && <ErrorText>{answerChoicesError}</ErrorText>}
341
+
342
+ {addChoiceButton.settings && (
343
+ <StyledTooltip title={addChoiceButtonTooltip}>
344
+ {maxAnswerChoices && choices?.length >= maxAnswerChoices ? (
345
+ <DisableButton
346
+ variant="contained"
347
+ color="primary"
348
+ onClick={onAddChoice}
349
+ disabled
350
+ >
351
+ {addChoiceButton.label}
352
+ </DisableButton>
353
+ ) : (
354
+ <AddButton
355
+ variant="contained"
356
+ color="primary"
357
+ onClick={onAddChoice}
358
+ >
359
+ {addChoiceButton.label}
360
+ </AddButton>
361
+ )}
362
+ </StyledTooltip>
363
+ )}
364
+ </layout.ConfigLayout>
365
+ );
366
+ };
367
+
368
+ export class Main extends React.Component {
369
+ static propTypes = {
370
+ model: PropTypes.object.isRequired,
371
+ configuration: PropTypes.object.isRequired,
372
+ disableSidePanel: PropTypes.bool,
373
+ onModelChanged: PropTypes.func.isRequired,
374
+ onConfigurationChanged: PropTypes.func.isRequired,
375
+ imageSupport: PropTypes.shape({
376
+ add: PropTypes.func.isRequired,
377
+ delete: PropTypes.func.isRequired,
378
+ }),
379
+ };
380
+
381
+ state = { showWarning: false };
382
+
383
+ onRemoveChoice: any = (index) => {
384
+ const { model, configuration, onModelChanged } = this.props;
385
+ const { minAnswerChoices } = configuration || {};
386
+
387
+ if (minAnswerChoices && model.choices.length === minAnswerChoices) {
388
+ this.setState({ showWarning: true });
389
+
390
+ return;
391
+ }
392
+
393
+ model.choices.splice(index, 1);
394
+ onModelChanged(model);
395
+ };
396
+
397
+ onAddChoice: any = () => {
398
+ const { model, configuration, onModelChanged } = this.props;
399
+ let { maxAnswerChoices } = configuration || {};
400
+ const { limitChoicesNumber } = model || {};
401
+
402
+ // if old property is used, set maxAnswerChoices to 9
403
+ if (limitChoicesNumber) {
404
+ maxAnswerChoices = MAX_CHOICES;
405
+ }
406
+
407
+ if (maxAnswerChoices && model.choices.length >= maxAnswerChoices) {
408
+ return;
409
+ }
410
+
411
+ model.choices.push({
412
+ label: '',
413
+ value: utils.firstAvailableIndex(
414
+ model.choices.map((c) => c.value),
415
+ 0,
416
+ ),
417
+ feedback: { type: 'none' },
418
+ });
419
+
420
+ onModelChanged(model);
421
+ };
422
+
423
+ onChoiceChanged: any = (index, choice) => {
424
+ const { model, onModelChanged } = this.props;
425
+
426
+ if (choice.correct && model.choiceMode === 'radio') {
427
+ model.choices = model.choices.map((c) => merge({}, c, { correct: false }));
428
+ }
429
+
430
+ model.choices.splice(index, 1, choice);
431
+ onModelChanged(model);
432
+ };
433
+
434
+ onPromptChanged: any = (prompt) => {
435
+ this.props.onModelChanged({
436
+ ...this.props.model,
437
+ prompt,
438
+ });
439
+ };
440
+
441
+ onTeacherInstructionsChanged: any = (teacherInstructions) => {
442
+ this.props.onModelChanged({
443
+ ...this.props.model,
444
+ teacherInstructions,
445
+ });
446
+ };
447
+
448
+ onModelChanged: any = (model, key) => {
449
+ const { onModelChanged } = this.props;
450
+
451
+ switch (key) {
452
+ case 'choiceMode': {
453
+ let value = model.choiceMode;
454
+
455
+ if (value === 'radio') {
456
+ let correctFound = false;
457
+
458
+ model.choices = model.choices.map((c) => {
459
+ if (correctFound) {
460
+ c.correct = false;
461
+
462
+ return c;
463
+ }
464
+
465
+ if (c.correct) {
466
+ correctFound = true;
467
+ }
468
+
469
+ return c;
470
+ });
471
+ }
472
+
473
+ onModelChanged(model, true);
474
+ break;
475
+ }
476
+
477
+ default:
478
+ onModelChanged(model);
479
+ break;
480
+ }
481
+ };
482
+
483
+ render() {
484
+ const { configuration: { minAnswerChoices } = {} } = this.props;
485
+ const { showWarning } = this.state;
486
+
487
+ return (
488
+ <React.Fragment>
489
+ <AlertDialog
490
+ open={showWarning}
491
+ title="Warning"
492
+ text={`There can't be less than ${minAnswerChoices || 0} choices.`}
493
+ onConfirm={() => this.setState({ showWarning: false })}
494
+ />
495
+ <Design
496
+ {...this.props}
497
+ onChangeModel={this.onModelChanged}
498
+ onRemoveChoice={this.onRemoveChoice}
499
+ onChoiceChanged={this.onChoiceChanged}
500
+ onAddChoice={this.onAddChoice}
501
+ onPromptChanged={this.onPromptChanged}
502
+ onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}
503
+ />
504
+ </React.Fragment>
505
+ );
506
+ }
507
+ }
508
+
509
+ export default Main;
@@ -0,0 +1,25 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @synced-from pie-elements/packages/multiple-choice/configure/src/utils.js
4
+ * @auto-generated
5
+ *
6
+ * This file is automatically synced from pie-elements and converted to TypeScript.
7
+ * Manual edits will be overwritten on next sync.
8
+ * To make changes, edit the upstream JavaScript file and run sync again.
9
+ */
10
+
11
+ export const generateValidationMessage = (config) => {
12
+ const { minAnswerChoices, maxAnswerChoices } = config;
13
+
14
+ const answerChoicesMessage =
15
+ `\nThere should be at least ${minAnswerChoices} ` +
16
+ (maxAnswerChoices ? `and at most ${maxAnswerChoices} ` : '') +
17
+ 'answer choices defined.' +
18
+ '\nEvery answer choice should be non-blank and unique.';
19
+
20
+ const correctAnswerMessage = '\nA correct answer must be defined.';
21
+
22
+ const message = 'Validation requirements:' + answerChoicesMessage + correctAnswerMessage;
23
+
24
+ return message;
25
+ };
@@ -1,10 +1,14 @@
1
- "use strict";
1
+ // @ts-nocheck
2
+ /**
3
+ * @synced-from pie-elements/packages/multiple-choice/controller/src/defaults.js
4
+ * @auto-generated
5
+ *
6
+ * This file is automatically synced from pie-elements and converted to TypeScript.
7
+ * Manual edits will be overwritten on next sync.
8
+ * To make changes, edit the upstream JavaScript file and run sync again.
9
+ */
2
10
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _default = exports.default = {
11
+ export default {
8
12
  choiceMode: 'checkbox',
9
13
  choicePrefix: 'letters',
10
14
  choices: [],
@@ -28,6 +32,5 @@ var _default = exports.default = {
28
32
  hoverAnswerBackgroundColor: 'initial',
29
33
  hoverAnswerStrokeColor: 'initial',
30
34
  hoverAnswerStrokeWidth: 'initial',
31
- keyboardEventsEnabled: false
35
+ keyboardEventsEnabled: false,
32
36
  };
33
- //# sourceMappingURL=defaults.js.map