@pie-element/image-cloze-association 0.1.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 (244) hide show
  1. package/dist/author/defaults.d.ts +89 -0
  2. package/dist/author/defaults.d.ts.map +1 -0
  3. package/dist/author/defaults.js +58 -0
  4. package/dist/author/index.d.ts +35 -0
  5. package/dist/author/index.d.ts.map +1 -0
  6. package/dist/author/index.js +71 -0
  7. package/dist/author/root.d.ts +15 -0
  8. package/dist/author/root.d.ts.map +1 -0
  9. package/dist/author/root.js +80 -0
  10. package/dist/controller/defaults.d.ts +17 -0
  11. package/dist/controller/defaults.d.ts.map +1 -0
  12. package/dist/controller/defaults.js +10 -0
  13. package/dist/controller/index.d.ts +24 -0
  14. package/dist/controller/index.d.ts.map +1 -0
  15. package/dist/controller/index.js +124 -0
  16. package/dist/controller/utils.d.ts +15 -0
  17. package/dist/controller/utils.d.ts.map +1 -0
  18. package/dist/controller/utils.js +36 -0
  19. package/dist/delivery/constants.d.ts +15 -0
  20. package/dist/delivery/constants.d.ts.map +1 -0
  21. package/dist/delivery/evaluation-icon.d.ts +29 -0
  22. package/dist/delivery/evaluation-icon.d.ts.map +1 -0
  23. package/dist/delivery/evaluation-icon.js +38 -0
  24. package/dist/delivery/image-container.d.ts +14 -0
  25. package/dist/delivery/image-container.d.ts.map +1 -0
  26. package/dist/delivery/image-container.js +61 -0
  27. package/dist/delivery/image-drop-target.d.ts +46 -0
  28. package/dist/delivery/image-drop-target.d.ts.map +1 -0
  29. package/dist/delivery/image-drop-target.js +90 -0
  30. package/dist/delivery/index.d.ts +21 -0
  31. package/dist/delivery/index.d.ts.map +1 -0
  32. package/dist/delivery/index.js +110 -0
  33. package/dist/delivery/interactive-section.d.ts +16 -0
  34. package/dist/delivery/interactive-section.d.ts.map +1 -0
  35. package/dist/delivery/interactive-section.js +72 -0
  36. package/dist/delivery/possible-response.d.ts +35 -0
  37. package/dist/delivery/possible-response.d.ts.map +1 -0
  38. package/dist/delivery/possible-response.js +100 -0
  39. package/dist/delivery/possible-responses.d.ts +32 -0
  40. package/dist/delivery/possible-responses.d.ts.map +1 -0
  41. package/dist/delivery/possible-responses.js +41 -0
  42. package/dist/delivery/root.d.ts +22 -0
  43. package/dist/delivery/root.d.ts.map +1 -0
  44. package/dist/delivery/root.js +279 -0
  45. package/dist/delivery/static-html-span.d.ts +15 -0
  46. package/dist/delivery/static-html-span.d.ts.map +1 -0
  47. package/dist/delivery/static-html-span.js +22 -0
  48. package/dist/delivery/utils-correctness.d.ts +11 -0
  49. package/dist/delivery/utils-correctness.d.ts.map +1 -0
  50. package/dist/delivery/utils-correctness.js +43 -0
  51. package/dist/index.d.ts +2 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.iife.d.ts +9 -0
  54. package/dist/index.iife.d.ts.map +1 -0
  55. package/dist/index.iife.js +160 -0
  56. package/dist/index.js +2 -0
  57. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_DataView.js +6 -0
  58. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Hash.js +16 -0
  59. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_ListCache.js +16 -0
  60. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Map.js +6 -0
  61. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_MapCache.js +16 -0
  62. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Promise.js +6 -0
  63. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Set.js +6 -0
  64. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_SetCache.js +11 -0
  65. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Stack.js +13 -0
  66. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Symbol.js +5 -0
  67. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_Uint8Array.js +5 -0
  68. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_WeakMap.js +6 -0
  69. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayAggregator.js +10 -0
  70. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayEach.js +7 -0
  71. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayFilter.js +10 -0
  72. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
  73. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayMap.js +7 -0
  74. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayPush.js +7 -0
  75. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arrayShuffle.js +8 -0
  76. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_arraySome.js +7 -0
  77. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_assignValue.js +10 -0
  78. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_assocIndexOf.js +8 -0
  79. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseAggregator.js +9 -0
  80. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseAssign.js +8 -0
  81. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseAssignIn.js +8 -0
  82. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseAssignValue.js +12 -0
  83. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseClone.js +57 -0
  84. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseCreate.js +14 -0
  85. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseEach.js +6 -0
  86. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseFlatten.js +13 -0
  87. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseFor.js +5 -0
  88. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseForOwn.js +8 -0
  89. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseGet.js +10 -0
  90. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  91. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseGetTag.js +10 -0
  92. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseHasIn.js +6 -0
  93. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsArguments.js +9 -0
  94. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsEqual.js +8 -0
  95. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsEqualDeep.js +30 -0
  96. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsMap.js +9 -0
  97. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsMatch.js +26 -0
  98. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsNative.js +11 -0
  99. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsSet.js +9 -0
  100. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
  101. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseIteratee.js +11 -0
  102. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseKeys.js +12 -0
  103. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseKeysIn.js +13 -0
  104. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseMap.js +11 -0
  105. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseMatches.js +12 -0
  106. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  107. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseProperty.js +8 -0
  108. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  109. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseRandom.js +7 -0
  110. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseShuffle.js +8 -0
  111. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseTimes.js +7 -0
  112. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseToString.js +15 -0
  113. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseUnary.js +8 -0
  114. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_baseValues.js +9 -0
  115. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cacheHas.js +6 -0
  116. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_castPath.js +10 -0
  117. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  118. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneBuffer.js +10 -0
  119. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneDataView.js +8 -0
  120. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneRegExp.js +8 -0
  121. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneSymbol.js +8 -0
  122. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  123. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_copyArray.js +8 -0
  124. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_copyObject.js +14 -0
  125. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_copySymbols.js +8 -0
  126. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_copySymbolsIn.js +8 -0
  127. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_coreJsData.js +5 -0
  128. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_createAggregator.js +13 -0
  129. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_createBaseEach.js +12 -0
  130. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_createBaseFor.js +12 -0
  131. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_defineProperty.js +10 -0
  132. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_equalArrays.js +35 -0
  133. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_equalByTag.js +35 -0
  134. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_equalObjects.js +32 -0
  135. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_freeGlobal.js +4 -0
  136. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getAllKeys.js +9 -0
  137. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getAllKeysIn.js +9 -0
  138. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getMapData.js +8 -0
  139. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getMatchData.js +16 -0
  140. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getNative.js +9 -0
  141. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getPrototype.js +5 -0
  142. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getRawTag.js +14 -0
  143. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getSymbols.js +10 -0
  144. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getSymbolsIn.js +11 -0
  145. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getTag.js +23 -0
  146. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_getValue.js +6 -0
  147. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hasPath.js +18 -0
  148. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashClear.js +7 -0
  149. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashDelete.js +7 -0
  150. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashGet.js +13 -0
  151. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashHas.js +9 -0
  152. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_hashSet.js +9 -0
  153. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_initCloneArray.js +8 -0
  154. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_initCloneByTag.js +33 -0
  155. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_initCloneObject.js +9 -0
  156. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isFlattenable.js +10 -0
  157. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isIndex.js +8 -0
  158. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isKey.js +11 -0
  159. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isKeyable.js +7 -0
  160. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isMasked.js +11 -0
  161. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isPrototype.js +8 -0
  162. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_isStrictComparable.js +7 -0
  163. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheClear.js +6 -0
  164. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheDelete.js +9 -0
  165. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheGet.js +8 -0
  166. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheHas.js +7 -0
  167. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_listCacheSet.js +8 -0
  168. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheClear.js +13 -0
  169. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  170. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheGet.js +7 -0
  171. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheHas.js +7 -0
  172. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheSet.js +8 -0
  173. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_mapToArray.js +9 -0
  174. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  175. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_memoizeCapped.js +11 -0
  176. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_nativeCreate.js +5 -0
  177. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_nativeKeys.js +5 -0
  178. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_nativeKeysIn.js +8 -0
  179. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_nodeUtil.js +9 -0
  180. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_objectToString.js +7 -0
  181. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_overArg.js +8 -0
  182. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_root.js +5 -0
  183. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_setCacheAdd.js +7 -0
  184. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_setCacheHas.js +6 -0
  185. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_setToArray.js +9 -0
  186. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_shuffleSelf.js +12 -0
  187. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackClear.js +7 -0
  188. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackDelete.js +7 -0
  189. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackGet.js +6 -0
  190. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackHas.js +6 -0
  191. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stackSet.js +16 -0
  192. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_stringToPath.js +10 -0
  193. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_toKey.js +10 -0
  194. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/_toSource.js +15 -0
  195. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/cloneDeep.js +8 -0
  196. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/eq.js +6 -0
  197. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/flatMap.js +8 -0
  198. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/get.js +8 -0
  199. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/groupBy.js +8 -0
  200. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/hasIn.js +8 -0
  201. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/identity.js +6 -0
  202. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isArguments.js +10 -0
  203. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isArray.js +4 -0
  204. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isArrayLike.js +8 -0
  205. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isBuffer.js +6 -0
  206. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isEmpty.js +21 -0
  207. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isFunction.js +11 -0
  208. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isLength.js +7 -0
  209. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isMap.js +7 -0
  210. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isObject.js +7 -0
  211. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isObjectLike.js +6 -0
  212. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isSet.js +7 -0
  213. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isSymbol.js +9 -0
  214. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/isTypedArray.js +7 -0
  215. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/keys.js +9 -0
  216. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/keysIn.js +9 -0
  217. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/map.js +10 -0
  218. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/memoize.js +16 -0
  219. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/property.js +10 -0
  220. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/shuffle.js +9 -0
  221. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/stubArray.js +6 -0
  222. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/stubFalse.js +6 -0
  223. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/toString.js +7 -0
  224. package/dist/node_modules/.bun/lodash-es@4.17.23/node_modules/lodash-es/values.js +8 -0
  225. package/package.json +75 -0
  226. package/src/author/defaults.ts +69 -0
  227. package/src/author/index.ts +124 -0
  228. package/src/author/root.tsx +126 -0
  229. package/src/controller/defaults.ts +17 -0
  230. package/src/controller/index.ts +332 -0
  231. package/src/controller/utils.ts +82 -0
  232. package/src/delivery/constants.ts +15 -0
  233. package/src/delivery/evaluation-icon.tsx +64 -0
  234. package/src/delivery/image-container.tsx +100 -0
  235. package/src/delivery/image-drop-target.tsx +150 -0
  236. package/src/delivery/index.ts +283 -0
  237. package/src/delivery/interactive-section.tsx +104 -0
  238. package/src/delivery/possible-response.tsx +162 -0
  239. package/src/delivery/possible-responses.tsx +62 -0
  240. package/src/delivery/root.tsx +530 -0
  241. package/src/delivery/static-html-span.tsx +40 -0
  242. package/src/delivery/utils-correctness.ts +105 -0
  243. package/src/index.iife.ts +16 -0
  244. package/src/index.ts +1 -0
@@ -0,0 +1,62 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @synced-from pie-elements/packages/image-cloze-association/src/possible-responses.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 { color } from '@pie-lib/render-ui';
15
+ import { ICADroppablePlaceholder } from '@pie-lib/drag';
16
+
17
+ import PossibleResponse from './possible-response.js';
18
+
19
+ const BaseContainer: any = styled('div')(({ theme }) => ({
20
+ backgroundColor: color.background(),
21
+ padding: theme.spacing(2),
22
+ display: 'flex',
23
+ alignItems: 'center',
24
+ width: 'fit-content',
25
+ }));
26
+
27
+ const PossibleResponses = ({
28
+ canDrag,
29
+ data,
30
+ onDragBegin,
31
+ answerChoiceTransparency,
32
+ customStyle,
33
+ isVertical,
34
+ minHeight,
35
+ }) => (
36
+ <BaseContainer style={customStyle}>
37
+ <ICADroppablePlaceholder id="ica-board" disabled={!canDrag} isVerticalPool={isVertical} minHeight={minHeight}>
38
+ {(data || []).map((item) => (
39
+ <PossibleResponse
40
+ canDrag={canDrag}
41
+ key={item.id}
42
+ data={item}
43
+ onDragBegin={onDragBegin}
44
+ answerChoiceTransparency={answerChoiceTransparency}
45
+ containerStyle={{ margin: '4px' }}
46
+ />
47
+ ))}
48
+ </ICADroppablePlaceholder>
49
+ </BaseContainer>
50
+ );
51
+
52
+ PossibleResponses.propTypes = {
53
+ canDrag: PropTypes.bool.isRequired,
54
+ data: PropTypes.array.isRequired,
55
+ onDragBegin: PropTypes.func.isRequired,
56
+ answerChoiceTransparency: PropTypes.bool,
57
+ customStyle: PropTypes.object,
58
+ isVertical: PropTypes.bool,
59
+ minHeight: PropTypes.number,
60
+ };
61
+
62
+ export default PossibleResponses;
@@ -0,0 +1,530 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @synced-from pie-elements/packages/image-cloze-association/src/root.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 { DragOverlay } from '@dnd-kit/core';
14
+ import { DragProvider } from '@pie-lib/drag';
15
+ import { CSSTransition, TransitionGroup } from 'react-transition-group';
16
+ import { color, Collapsible as CollapsibleImport, PreviewPrompt as PreviewPromptImport, UiLayout as UiLayoutImport, hasText, hasMedia } from '@pie-lib/render-ui';
17
+
18
+ function isRenderableReactInteropType(value: any) {
19
+ return (
20
+ typeof value === 'function' ||
21
+ (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')
22
+ );
23
+ }
24
+
25
+ function unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {
26
+ if (!maybeSymbol) return maybeSymbol;
27
+ if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;
28
+ if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;
29
+ if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {
30
+ return maybeSymbol[namedExport];
31
+ }
32
+ if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {
33
+ return maybeSymbol[namedExport].default;
34
+ }
35
+ return maybeSymbol;
36
+ }
37
+ const UiLayout = unwrapReactInteropSymbol(UiLayoutImport, 'UiLayout') || unwrapReactInteropSymbol(renderUi.UiLayout, 'UiLayout');
38
+ const PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');
39
+ const Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');
40
+ import * as RenderUiNamespace from '@pie-lib/render-ui';
41
+ const renderUiNamespaceAny = RenderUiNamespace as any;
42
+ const renderUiDefaultMaybe = renderUiNamespaceAny['default'];
43
+ const renderUi =
44
+ renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'
45
+ ? renderUiDefaultMaybe
46
+ : renderUiNamespaceAny;
47
+ import { styled } from '@mui/material/styles';
48
+ import NotInterestedIcon from '@mui/icons-material/NotInterested';
49
+ import CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';
50
+ import Translator from '@pie-lib/translator';
51
+ import { flatMap, groupBy } from 'lodash-es';
52
+
53
+ const { translator } = Translator;
54
+ import Image from './image-container.js';
55
+ import InteractiveSection from './interactive-section.js';
56
+ import PossibleResponses from './possible-responses.js';
57
+ import { getUnansweredAnswers, getAnswersCorrectness } from './utils-correctness.js';
58
+ import PossibleResponse from './possible-response.js';
59
+
60
+ const generateId = () => Math.random().toString(36).substring(2) + new Date().getTime().toString(36);
61
+
62
+ const StyledUiLayout: any = styled(UiLayout)({
63
+ color: color.text(),
64
+ backgroundColor: color.background(),
65
+ position: 'relative',
66
+ '& img': {
67
+ maxWidth: '100%',
68
+ height: 'auto',
69
+ },
70
+ });
71
+
72
+ const StyledTeacherInstructions: any = styled(Collapsible)(({ theme }) => ({
73
+ marginBottom: theme.spacing(2),
74
+ }));
75
+
76
+ const StyledRationale: any = styled(Collapsible)(({ theme }) => ({
77
+ marginTop: theme.spacing(2),
78
+ }));
79
+
80
+ export class ImageClozeAssociationComponent extends React.Component {
81
+ constructor(props) {
82
+ super(props);
83
+ const {
84
+ model: { possibleResponses, responseContainers, duplicateResponses, maxResponsePerZone },
85
+ session,
86
+ } = props;
87
+ let { answers } = session || {};
88
+ // set id for each possible response
89
+ const possibleResponsesWithIds = (possibleResponses || []).map((item, index) => ({
90
+ value: item,
91
+ id: `${index}`,
92
+ }));
93
+
94
+ let groupedAnswers = groupBy(answers || [], 'containerIndex');
95
+ // keep only last maxResponsePerZone answers for each zone
96
+ let limitedAnswers = flatMap(groupedAnswers, (grp) => grp.slice(-(maxResponsePerZone || 1)));
97
+ answers = limitedAnswers
98
+ // set id for each answer
99
+ .map((answer, index) => ({ ...answer, id: `${index}` }))
100
+ // return only answer which have a valid container index
101
+ .filter((answer) => answer.containerIndex < responseContainers.length);
102
+
103
+ const possibleResponsesFiltered = possibleResponsesWithIds.filter(
104
+ (response) => !answers.find((answer) => answer.value === response.value),
105
+ );
106
+ this.state = {
107
+ answers: answers || [],
108
+ draggingElement: { id: '', value: '' },
109
+ possibleResponses: duplicateResponses ? possibleResponsesWithIds : possibleResponsesFiltered,
110
+ // set id for each response containers
111
+ responseContainers: (responseContainers || []).map((item, index) => ({
112
+ index,
113
+ ...item,
114
+ id: `${index}`,
115
+ })),
116
+ maxResponsePerZone: maxResponsePerZone || 1,
117
+ showCorrect: false,
118
+ isValidDrop: false,
119
+ };
120
+ }
121
+
122
+ onDragStart: any = (event) => {
123
+ const { active } = event;
124
+
125
+ if (active?.data?.current) {
126
+ this.setState({
127
+ draggingElement: active.data.current,
128
+ isValidDrop: false,
129
+ });
130
+ }
131
+ };
132
+
133
+ onDragEnd: any = (event) => {
134
+ const { active, over } = event;
135
+ const { model } = this.props;
136
+ const { duplicateResponses } = model || {};
137
+
138
+ // Check if drop is valid
139
+ const draggedItem = active?.data?.current;
140
+ const responseArea = over?.data?.current;
141
+ const isValidDrop =
142
+ over &&
143
+ active &&
144
+ draggedItem &&
145
+ responseArea &&
146
+ responseArea.containerIndex !== undefined;
147
+
148
+ const shouldDisableAnimation = isValidDrop && duplicateResponses;
149
+
150
+ this.setState({
151
+ draggingElement: { id: '', value: '' },
152
+ isValidDrop: shouldDisableAnimation,
153
+ });
154
+
155
+ if (!over || !active) {
156
+ return;
157
+ }
158
+
159
+ if (!draggedItem) {
160
+ return;
161
+ }
162
+
163
+ if (over.id === 'ica-board') {
164
+ this.handleOnAnswerRemove(draggedItem);
165
+ return;
166
+ }
167
+
168
+ if (responseArea) {
169
+ this.handleOnAnswerSelect(draggedItem, responseArea.containerIndex);
170
+ }
171
+ };
172
+
173
+ renderDragOverlay: any = () => {
174
+ const { draggingElement } = this.state;
175
+ const { model } = this.props;
176
+
177
+ if (!draggingElement.id) return null;
178
+
179
+ // check if the response contains an image
180
+ const imgRegex = /<img[^>]+src="([^">]+)"/;
181
+ const containsImage = imgRegex.test(draggingElement.value);
182
+
183
+ return (
184
+ <PossibleResponse
185
+ key={draggingElement.id}
186
+ canDrag={false}
187
+ data={draggingElement}
188
+ onDragBegin={() => {}}
189
+ isOverlay
190
+ containerStyle={{
191
+ ...(model.answerChoiceTransparency ? { opacity: '0.8' } : {}),
192
+ ...(!containsImage ? { padding: '0 10px', margin: '4px 6px !important' } : {}),
193
+ }}
194
+ />
195
+ );
196
+ };
197
+
198
+ filterPossibleAnswers = (possibleResponses, answer) =>
199
+ possibleResponses.filter((response) => response.value !== answer.value);
200
+
201
+ handleOnAnswerSelect: any = (answer, responseContainerIndex) => {
202
+ const {
203
+ model: { duplicateResponses },
204
+ updateAnswer,
205
+ } = this.props;
206
+ const { answers, maxResponsePerZone } = this.state;
207
+ let { possibleResponses } = this.state;
208
+ let answersToStore;
209
+
210
+ const answersInThisContainer = [];
211
+ const answersInOtherContainers = [];
212
+
213
+ answers.forEach((a) => {
214
+ if (a.containerIndex === responseContainerIndex) {
215
+ answersInThisContainer.push(a);
216
+ } else {
217
+ answersInOtherContainers.push(a);
218
+ }
219
+ });
220
+
221
+ if (maxResponsePerZone === answersInThisContainer.length) {
222
+ const shiftedItem = answersInThisContainer[0];
223
+ if (maxResponsePerZone === 1) {
224
+ answersInThisContainer.shift(); // FIFO
225
+ } else {
226
+ this.setState({ maxResponsePerZoneWarning: true });
227
+ return;
228
+ }
229
+
230
+ // if duplicates are not allowed, make sure to put the shifted value back in possible responses
231
+ if (!duplicateResponses) {
232
+ possibleResponses = Array.isArray(possibleResponses) ? possibleResponses : [];
233
+
234
+ possibleResponses.push({
235
+ ...shiftedItem,
236
+ containerIndex: undefined,
237
+ id: shiftedItem.id || generateId(),
238
+ });
239
+ }
240
+
241
+ // answers will be:
242
+ // + shifted answers for the current container
243
+ // + if duplicatesAllowed, all the other answers from other containers
244
+ // else: all the answers from other containers that are not having the same value
245
+ // + new answer
246
+ answersToStore = [
247
+ ...answersInThisContainer, // shifted
248
+ // TODO allow duplicates case Question: should we remove answer from a container if dragged to another container?
249
+ // if yes, this should do it: add a.id !== answer.id instead of 'true'
250
+ ...answersInOtherContainers.filter((a) => (duplicateResponses ? true : a.value !== answer.value)), // un-shifted
251
+ {
252
+ ...answer,
253
+ containerIndex: responseContainerIndex,
254
+ ...(duplicateResponses ? { id: generateId() } : {}),
255
+ },
256
+ ];
257
+ } else {
258
+ // answers will be:
259
+ // + if duplicatesAllowed, all the other answers, except the one that was dragged
260
+ // else: all the answers that are not having the same value
261
+ // + new answer
262
+ answersToStore = [
263
+ // TODO allow duplicates case Question: should we remove answer from a container if dragged to another container?
264
+ // if yes, this should do it: add a.id !== answer.id instead of 'true'
265
+ ...answers.filter((a) => (duplicateResponses ? a.id !== answer.id : a.value !== answer.value)),
266
+ {
267
+ ...answer,
268
+ containerIndex: responseContainerIndex,
269
+ ...(duplicateResponses ? { id: generateId() } : {}),
270
+ },
271
+ ];
272
+ }
273
+ this.setState({
274
+ maxResponsePerZoneWarning: false,
275
+ answers: answersToStore,
276
+ possibleResponses:
277
+ // for single response per container remove answer from possible responses
278
+ duplicateResponses ? possibleResponses : this.filterPossibleAnswers(possibleResponses, answer),
279
+ });
280
+ updateAnswer(answersToStore);
281
+ };
282
+
283
+ handleOnAnswerRemove: any = (answer) => {
284
+ const {
285
+ model: { duplicateResponses },
286
+ updateAnswer,
287
+ } = this.props;
288
+ const { answers, possibleResponses } = this.state;
289
+ const answersToStore = answers.filter((a) => a.id !== answer.id);
290
+ const shouldNotPushInPossibleResponses = answer.containerIndex === undefined; // don't duplicate possible responses
291
+
292
+ this.setState({
293
+ maxResponsePerZoneWarning: false,
294
+ answers: answersToStore,
295
+ // push back into possible responses the removed answer if responses cannot be duplicated
296
+ possibleResponses:
297
+ duplicateResponses || shouldNotPushInPossibleResponses
298
+ ? possibleResponses
299
+ : [
300
+ ...possibleResponses,
301
+ {
302
+ ...answer,
303
+ containerIndex: undefined,
304
+ },
305
+ ],
306
+ });
307
+ updateAnswer(answersToStore);
308
+ };
309
+
310
+ toggleCorrect = (showCorrect) => this.setState({ showCorrect });
311
+
312
+ render() {
313
+ const {
314
+ model: {
315
+ disabled,
316
+ duplicateResponses,
317
+ extraCSSRules,
318
+ image,
319
+ responseAreaFill,
320
+ stimulus,
321
+ responseCorrect,
322
+ validation,
323
+ teacherInstructions,
324
+ prompt,
325
+ autoplayAudioEnabled,
326
+ showDashedBorder,
327
+ mode,
328
+ rationale,
329
+ language,
330
+ uiStyle = {},
331
+ answerChoiceTransparency,
332
+ responseContainerPadding,
333
+ imageDropTargetPadding,
334
+ fontSizeFactor,
335
+ customAudioButton,
336
+ },
337
+ } = this.props;
338
+ const {
339
+ answers,
340
+ draggingElement,
341
+ possibleResponses,
342
+ responseContainers,
343
+ maxResponsePerZone,
344
+ maxResponsePerZoneWarning,
345
+ showCorrect,
346
+ isValidDrop,
347
+ } = this.state;
348
+ const isEvaluateMode = mode === 'evaluate';
349
+ const showToggle = isEvaluateMode && !responseCorrect;
350
+ const { possibilityListPosition = 'bottom' } = uiStyle || {};
351
+ const isVertical = possibilityListPosition === 'left' || possibilityListPosition === 'right';
352
+
353
+ const { validResponse } = validation || {};
354
+ const correctAnswers = [];
355
+ const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));
356
+ const showTeacherInstructions =
357
+ teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));
358
+
359
+ if (validResponse) {
360
+ (validResponse.value || []).forEach((container, i) => {
361
+ (container.images || []).forEach((v) => {
362
+ correctAnswers.push({
363
+ value: v,
364
+ containerIndex: i,
365
+ isCorrect: true,
366
+ });
367
+ });
368
+ });
369
+ }
370
+
371
+ const warningMessage = translator.t('imageClozeAssociation.reachedLimit_other', {
372
+ lng: language,
373
+ count: maxResponsePerZone,
374
+ });
375
+
376
+ let answersToShow =
377
+ responseCorrect !== undefined ? getAnswersCorrectness(answers, validation, duplicateResponses) : answers;
378
+
379
+ if (responseCorrect === false && maxResponsePerZone === 1) {
380
+ answersToShow = [...answersToShow, ...getUnansweredAnswers(answersToShow, validation)];
381
+ }
382
+
383
+ const sharedImageProps = {
384
+ draggingElement,
385
+ duplicateResponses,
386
+ image,
387
+ onAnswerSelect: this.handleOnAnswerSelect,
388
+ onDragAnswerBegin: this.onDragStart,
389
+ onDragAnswerEnd: this.onDragEnd,
390
+ responseContainers,
391
+ showDashedBorder,
392
+ responseAreaFill,
393
+ responseContainerPadding,
394
+ imageDropTargetPadding,
395
+ maxResponsePerZone,
396
+ };
397
+
398
+ const renderImage = () => (
399
+ <Image
400
+ {...sharedImageProps}
401
+ canDrag={showCorrect && showToggle ? false : !disabled}
402
+ answers={showCorrect && showToggle ? correctAnswers : answersToShow}
403
+ answerChoiceTransparency={!(showCorrect && showToggle) ? answerChoiceTransparency : undefined}
404
+ />
405
+ );
406
+
407
+ const renderPossibleResponses = () => {
408
+ if (showCorrect && showToggle) return null;
409
+
410
+ return (
411
+ <React.Fragment>
412
+ {maxResponsePerZoneWarning && <WarningInfo message={warningMessage} />}
413
+ <PossibleResponses
414
+ canDrag={!disabled}
415
+ data={possibleResponses}
416
+ onAnswerRemove={this.handleOnAnswerRemove}
417
+ onDragBegin={this.onDragStart}
418
+ answerChoiceTransparency={answerChoiceTransparency}
419
+ customStyle={{
420
+ minWidth: isVertical ? '130px' : image?.width || 'fit-content',
421
+ }}
422
+ isVertical={isVertical}
423
+ minHeight={isVertical ? image?.height : undefined}
424
+ />
425
+ </React.Fragment>
426
+ );
427
+ };
428
+
429
+ return (
430
+ <DragProvider onDragStart={this.onDragStart} onDragEnd={this.onDragEnd}>
431
+ <StyledUiLayout extraCSSRules={extraCSSRules} id={'main-container'} fontSizeFactor={fontSizeFactor}>
432
+ {showTeacherInstructions && (
433
+ <StyledTeacherInstructions
434
+ labels={{
435
+ hidden: 'Show Teacher Instructions',
436
+ visible: 'Hide Teacher Instructions',
437
+ }}
438
+ >
439
+ <PreviewPrompt prompt={teacherInstructions} />
440
+ </StyledTeacherInstructions>
441
+ )}
442
+
443
+ <PreviewPrompt
444
+ className="prompt"
445
+ prompt={prompt}
446
+ autoplayAudioEnabled={autoplayAudioEnabled}
447
+ customAudioButton={customAudioButton}
448
+ />
449
+
450
+ <PreviewPrompt prompt={stimulus} />
451
+
452
+ <CorrectAnswerToggle
453
+ show={showToggle}
454
+ toggled={showCorrect}
455
+ onToggle={this.toggleCorrect}
456
+ language={language}
457
+ />
458
+
459
+ <InteractiveSection responseCorrect={showCorrect && showToggle ? true : responseCorrect} uiStyle={uiStyle}>
460
+ {renderImage()}
461
+ {renderPossibleResponses()}
462
+ </InteractiveSection>
463
+
464
+ {showRationale && (
465
+ <StyledRationale
466
+ labels={{
467
+ hidden: 'Show Rationale',
468
+ visible: 'Hide Rationale',
469
+ }}
470
+ >
471
+ <PreviewPrompt prompt={rationale} />
472
+ </StyledRationale>
473
+ )}
474
+ </StyledUiLayout>
475
+ {/* Disable drop animation for valid drops to prevent visual snap-back */}
476
+ {/* Keep default animation for invalid drops to show visual feedback */}
477
+ <DragOverlay dropAnimation={isValidDrop ? null : undefined}>
478
+ {this.renderDragOverlay()}
479
+ </DragOverlay>
480
+ </DragProvider>
481
+ );
482
+ }
483
+ }
484
+
485
+ const WarningContainer: any = styled('div')(({ theme }) => ({
486
+ margin: `0 ${theme.spacing(2)}`,
487
+ backgroundColor: '#dddddd',
488
+ padding: theme.spacing(1),
489
+ display: 'flex',
490
+ alignItems: 'center',
491
+ '& svg': {
492
+ height: '30px',
493
+ },
494
+ '& h1': {
495
+ padding: '0px',
496
+ margin: '0px',
497
+ },
498
+ }));
499
+
500
+ const WarningMessage: any = styled('span')(({ theme }) => ({
501
+ paddingLeft: theme.spacing(0.5),
502
+ userSelect: 'none',
503
+ }));
504
+
505
+ const WarningInfo = ({ message }) => {
506
+ const nodeRef = React.useRef(null);
507
+
508
+ return (
509
+ <TransitionGroup>
510
+ <CSSTransition classNames={'fb'} key="fb" timeout={300} nodeRef={nodeRef}>
511
+ <WarningContainer ref={nodeRef} key="panel">
512
+ <NotInterestedIcon color={'secondary'} fontSize={'small'} />
513
+ <WarningMessage dangerouslySetInnerHTML={{ __html: message }} />
514
+ </WarningContainer>
515
+ </CSSTransition>
516
+ </TransitionGroup>
517
+ );
518
+ };
519
+
520
+ WarningInfo.propTypes = {
521
+ message: PropTypes.string,
522
+ };
523
+
524
+ ImageClozeAssociationComponent.propTypes = {
525
+ model: PropTypes.object.isRequired,
526
+ session: PropTypes.object,
527
+ updateAnswer: PropTypes.func.isRequired,
528
+ };
529
+
530
+ export default ImageClozeAssociationComponent;
@@ -0,0 +1,40 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @synced-from pie-elements/packages/image-cloze-association/src/static-html-span.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
+
14
+ class StaticHTMLSpan extends React.PureComponent {
15
+ shouldComponentUpdate() {
16
+ return false;
17
+ }
18
+
19
+ render() {
20
+ const { html, className } = this.props;
21
+
22
+ return (
23
+ <span
24
+ className={className}
25
+ dangerouslySetInnerHTML={{ __html: html }}
26
+ />
27
+ );
28
+ }
29
+ }
30
+
31
+ StaticHTMLSpan.propTypes = {
32
+ html: PropTypes.string.isRequired,
33
+ className: PropTypes.string,
34
+ };
35
+
36
+ StaticHTMLSpan.defaultProps = {
37
+ className: '',
38
+ };
39
+
40
+ export default StaticHTMLSpan;