@pie-element/placement-ordering 14.1.1 → 14.1.2-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 (306) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/choice-editor.d.ts +39 -0
  4. package/dist/author/choice-editor.js +157 -0
  5. package/dist/author/choice-tile.d.ts +40 -0
  6. package/dist/author/choice-tile.js +132 -0
  7. package/dist/author/defaults.d.ts +213 -0
  8. package/dist/author/defaults.js +159 -0
  9. package/dist/author/design.d.ts +21 -0
  10. package/dist/author/design.js +274 -0
  11. package/dist/author/help.d.ts +11 -0
  12. package/dist/author/index.d.ts +45 -0
  13. package/dist/author/index.js +85 -0
  14. package/dist/author/utils.d.ts +15 -0
  15. package/dist/author/utils.js +62 -0
  16. package/dist/browser/author/index.js +40986 -0
  17. package/dist/browser/author/index.js.map +1 -0
  18. package/dist/browser/browser-CvJkn_Ec.js +1019 -0
  19. package/dist/browser/browser-CvJkn_Ec.js.map +1 -0
  20. package/dist/browser/controller/index.js +319 -0
  21. package/dist/browser/controller/index.js.map +1 -0
  22. package/dist/browser/delivery/index.js +1032 -0
  23. package/dist/browser/delivery/index.js.map +1 -0
  24. package/dist/browser/dist-BTHiIs74.js +1610 -0
  25. package/dist/browser/dist-BTHiIs74.js.map +1 -0
  26. package/dist/browser/drag-provider-DaPxkh4j.js +10833 -0
  27. package/dist/browser/drag-provider-DaPxkh4j.js.map +1 -0
  28. package/dist/browser/last-D7N4Qfx4.js +9 -0
  29. package/dist/browser/last-D7N4Qfx4.js.map +1 -0
  30. package/dist/browser/placement-ordering.css +2 -0
  31. package/dist/controller/defaults.d.ts +31 -0
  32. package/dist/controller/defaults.js +25 -0
  33. package/dist/controller/index.d.ts +29 -0
  34. package/dist/controller/index.js +128 -0
  35. package/dist/controller/scoring.d.ts +27 -0
  36. package/dist/controller/scoring.js +32 -0
  37. package/dist/delivery/index.d.ts +26 -0
  38. package/dist/delivery/index.js +70 -0
  39. package/dist/delivery/main.d.ts +19 -0
  40. package/dist/delivery/main.js +22 -0
  41. package/dist/delivery/ordering.d.ts +18 -0
  42. package/dist/delivery/ordering.js +96 -0
  43. package/dist/delivery/placement-ordering.d.ts +28 -0
  44. package/dist/delivery/placement-ordering.js +215 -0
  45. package/dist/delivery/tile.d.ts +28 -0
  46. package/dist/delivery/tile.js +165 -0
  47. package/dist/delivery/tiler.d.ts +42 -0
  48. package/dist/delivery/tiler.js +89 -0
  49. package/dist/delivery/utils.d.ts +9 -0
  50. package/dist/delivery/utils.js +8 -0
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.iife.d.ts +8 -0
  53. package/dist/index.iife.js +152 -0
  54. package/dist/index.js +2 -0
  55. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +6 -0
  56. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +16 -0
  57. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +16 -0
  58. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +6 -0
  59. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +16 -0
  60. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +6 -0
  61. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +6 -0
  62. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.js +11 -0
  63. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +14 -0
  64. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +5 -0
  65. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +5 -0
  66. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +6 -0
  67. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_apply.js +12 -0
  68. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +7 -0
  69. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEvery.js +7 -0
  70. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +10 -0
  71. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludes.js +7 -0
  72. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludesWith.js +7 -0
  73. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
  74. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayMap.js +7 -0
  75. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +7 -0
  76. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayReduce.js +8 -0
  77. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayShuffle.js +8 -0
  78. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.js +7 -0
  79. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +10 -0
  80. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +8 -0
  81. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +8 -0
  82. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +8 -0
  83. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +12 -0
  84. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +57 -0
  85. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +14 -0
  86. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseDifference.js +23 -0
  87. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseEach.js +6 -0
  88. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseEvery.js +10 -0
  89. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFindIndex.js +7 -0
  90. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFlatten.js +13 -0
  91. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFor.js +5 -0
  92. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseForOwn.js +8 -0
  93. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGet.js +10 -0
  94. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  95. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +10 -0
  96. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseHasIn.js +6 -0
  97. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIndexOf.js +9 -0
  98. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +9 -0
  99. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.js +8 -0
  100. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.js +30 -0
  101. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +9 -0
  102. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMatch.js +26 -0
  103. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNaN.js +6 -0
  104. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +11 -0
  105. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +9 -0
  106. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
  107. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIteratee.js +11 -0
  108. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +12 -0
  109. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +13 -0
  110. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseMap.js +11 -0
  111. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseMatches.js +12 -0
  112. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  113. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseProperty.js +8 -0
  114. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  115. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseRandom.js +7 -0
  116. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseReduce.js +8 -0
  117. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseRest.js +9 -0
  118. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSetToString.js +14 -0
  119. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseShuffle.js +8 -0
  120. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +7 -0
  121. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseToString.js +15 -0
  122. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +8 -0
  123. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUniq.js +27 -0
  124. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseValues.js +9 -0
  125. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.js +6 -0
  126. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_castPath.js +10 -0
  127. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  128. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +10 -0
  129. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +8 -0
  130. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +8 -0
  131. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +8 -0
  132. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  133. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +8 -0
  134. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +14 -0
  135. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +8 -0
  136. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +8 -0
  137. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +5 -0
  138. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createAssigner.js +15 -0
  139. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createBaseEach.js +12 -0
  140. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createBaseFor.js +12 -0
  141. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createSet.js +9 -0
  142. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +10 -0
  143. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.js +35 -0
  144. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.js +35 -0
  145. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.js +32 -0
  146. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +4 -0
  147. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +9 -0
  148. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +9 -0
  149. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +8 -0
  150. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMatchData.js +16 -0
  151. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +9 -0
  152. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +5 -0
  153. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +14 -0
  154. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +10 -0
  155. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +11 -0
  156. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +23 -0
  157. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +6 -0
  158. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hasPath.js +18 -0
  159. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +7 -0
  160. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +7 -0
  161. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +13 -0
  162. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +9 -0
  163. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +9 -0
  164. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +8 -0
  165. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +33 -0
  166. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +9 -0
  167. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isFlattenable.js +10 -0
  168. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +8 -0
  169. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIterateeCall.js +12 -0
  170. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKey.js +11 -0
  171. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +7 -0
  172. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +11 -0
  173. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +8 -0
  174. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isStrictComparable.js +7 -0
  175. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +6 -0
  176. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +9 -0
  177. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +8 -0
  178. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +7 -0
  179. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +8 -0
  180. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +13 -0
  181. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  182. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +7 -0
  183. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +7 -0
  184. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +8 -0
  185. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.js +9 -0
  186. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  187. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_memoizeCapped.js +11 -0
  188. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +5 -0
  189. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +5 -0
  190. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +8 -0
  191. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +9 -0
  192. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +7 -0
  193. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +8 -0
  194. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overRest.js +13 -0
  195. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +5 -0
  196. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.js +7 -0
  197. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.js +6 -0
  198. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.js +9 -0
  199. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToString.js +6 -0
  200. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_shortOut.js +14 -0
  201. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_shuffleSelf.js +12 -0
  202. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +7 -0
  203. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +7 -0
  204. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +6 -0
  205. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +6 -0
  206. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +16 -0
  207. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_strictIndexOf.js +7 -0
  208. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stringToPath.js +10 -0
  209. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toKey.js +10 -0
  210. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +15 -0
  211. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/assign.js +16 -0
  212. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +8 -0
  213. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/compact.js +10 -0
  214. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/constant.js +8 -0
  215. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/defaults.js +16 -0
  216. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/difference.js +10 -0
  217. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/differenceWith.js +12 -0
  218. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +6 -0
  219. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/every.js +12 -0
  220. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/get.js +8 -0
  221. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/hasIn.js +8 -0
  222. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/identity.js +6 -0
  223. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +10 -0
  224. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +4 -0
  225. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +8 -0
  226. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLikeObject.js +8 -0
  227. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +6 -0
  228. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +21 -0
  229. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqual.js +7 -0
  230. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +11 -0
  231. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +7 -0
  232. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +7 -0
  233. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +7 -0
  234. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +6 -0
  235. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +7 -0
  236. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.js +9 -0
  237. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +7 -0
  238. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +9 -0
  239. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +9 -0
  240. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/last.js +7 -0
  241. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/map.js +10 -0
  242. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/memoize.js +16 -0
  243. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/noop.js +4 -0
  244. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/property.js +10 -0
  245. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/reduce.js +12 -0
  246. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/shuffle.js +9 -0
  247. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +6 -0
  248. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +6 -0
  249. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toString.js +7 -0
  250. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniq.js +7 -0
  251. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniqueId.js +9 -0
  252. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/values.js +8 -0
  253. package/package.json +81 -17
  254. package/CHANGELOG.json +0 -1312
  255. package/CHANGELOG.md +0 -2432
  256. package/LICENSE.md +0 -5
  257. package/README.md +0 -57
  258. package/configure/CHANGELOG.json +0 -952
  259. package/configure/CHANGELOG.md +0 -2127
  260. package/configure/lib/choice-editor.js +0 -252
  261. package/configure/lib/choice-editor.js.map +0 -1
  262. package/configure/lib/choice-tile.js +0 -205
  263. package/configure/lib/choice-tile.js.map +0 -1
  264. package/configure/lib/defaults.js +0 -211
  265. package/configure/lib/defaults.js.map +0 -1
  266. package/configure/lib/design.js +0 -427
  267. package/configure/lib/design.js.map +0 -1
  268. package/configure/lib/help.js +0 -14
  269. package/configure/lib/help.js.map +0 -1
  270. package/configure/lib/index.js +0 -155
  271. package/configure/lib/index.js.map +0 -1
  272. package/configure/lib/utils.js +0 -108
  273. package/configure/lib/utils.js.map +0 -1
  274. package/configure/package.json +0 -26
  275. package/controller/CHANGELOG.json +0 -517
  276. package/controller/CHANGELOG.md +0 -1518
  277. package/controller/lib/defaults.js +0 -29
  278. package/controller/lib/defaults.js.map +0 -1
  279. package/controller/lib/index.js +0 -285
  280. package/controller/lib/index.js.map +0 -1
  281. package/controller/lib/scoring.js +0 -109
  282. package/controller/lib/scoring.js.map +0 -1
  283. package/controller/package.json +0 -15
  284. package/docs/config-schema.json +0 -2964
  285. package/docs/config-schema.json.md +0 -2190
  286. package/docs/demo/config.js +0 -8
  287. package/docs/demo/generate.js +0 -50
  288. package/docs/demo/index.html +0 -1
  289. package/docs/demo/session.js +0 -7
  290. package/docs/pie-schema.json +0 -1613
  291. package/docs/pie-schema.json.md +0 -973
  292. package/icon.png +0 -0
  293. package/lib/index.js +0 -122
  294. package/lib/index.js.map +0 -1
  295. package/lib/main.js +0 -32
  296. package/lib/main.js.map +0 -1
  297. package/lib/ordering.js +0 -165
  298. package/lib/ordering.js.map +0 -1
  299. package/lib/placement-ordering.js +0 -419
  300. package/lib/placement-ordering.js.map +0 -1
  301. package/lib/tile.js +0 -259
  302. package/lib/tile.js.map +0 -1
  303. package/lib/tiler.js +0 -165
  304. package/lib/tiler.js.map +0 -1
  305. package/lib/utils.js +0 -18
  306. package/lib/utils.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/assign.js","../../../../../../node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/difference.js","../../../../../../node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniqueId.js","../../../../../shared/player-events/dist/index.js","../../../../../lib-react/icons/dist/correct-response-icon.js","../../../../../lib-react/correct-answer-toggle/dist/expander.js","../../../../../lib-react/correct-answer-toggle/dist/index.js","../../../../../lib-react/drag/dist/placeholder.js","../../../src/delivery/tile.tsx","../../../src/delivery/tiler.tsx","../../../src/delivery/ordering.ts","../../../src/delivery/utils.ts","../../../src/delivery/placement-ordering.tsx","../../../src/delivery/main.tsx","../../../src/delivery/index.ts"],"sourcesContent":["import assignValue from './_assignValue.js';\nimport copyObject from './_copyObject.js';\nimport createAssigner from './_createAssigner.js';\nimport isArrayLike from './isArrayLike.js';\nimport isPrototype from './_isPrototype.js';\nimport keys from './keys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\nexport default assign;\n","import baseDifference from './_baseDifference.js';\nimport baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\nvar difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n});\n\nexport default difference;\n","import toString from './toString.js';\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nexport default uniqueId;\n","//#region src/index.ts\nvar e = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model-set\";\n\t}\n\tconstructor(t, n, r) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t,\n\t\t\t\thasModel: r\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n}, t = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"session-changed\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n};\n//#endregion\nexport { e as ModelSetEvent, t as SessionChangedEvent };\n","import \"react\";\nimport e from \"prop-types\";\nimport { jsx as t, jsxs as n } from \"react/jsx-runtime\";\nimport { styled as r } from \"@mui/material/styles\";\n//#region src/correct-response-icon.tsx\nvar i = ({ bgFill: e, fgFill: r }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-283 359 34 35\",\n\tstyle: { enableBackground: \"new -283 359 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-266\",\n\t\t\tcy: \"375.9\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z\\n M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\ni.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired\n};\nvar a = ({ bgFill: e, fgFill: r, borderFill: i }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-129.5 127 34 35\",\n\tstyle: { enableBackground: \"new -129.5 127 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#D0CAC5\",\n\t\t\t\tstroke: \"#E6E3E0\",\n\t\t\t\tstrokeWidth: .75,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5\\n C-97.4,153.5-104.3,160.4-112.9,160.4z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#B3ABA4\",\n\t\t\t\tstroke: \"#CDC7C2\",\n\t\t\t\tstrokeWidth: .5,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-114.2\",\n\t\t\tcy: \"143.5\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z\\n M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z\",\n\t\t\tfill: i\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\na.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired,\n\tborderFill: e.string.isRequired\n};\nvar o = r(\"div\")(({ size: e }) => ({\n\twidth: e || \"25px\",\n\theight: e || \"25px\"\n})), s = ({ open: e, size: n }) => /* @__PURE__ */ t(o, {\n\tsize: n,\n\tchildren: e ? /* @__PURE__ */ t(i, {\n\t\tbgFill: \"#bce2ff\",\n\t\tfgFill: \"#1a9cff\"\n\t}) : /* @__PURE__ */ t(a, {\n\t\tbgFill: \"white\",\n\t\tfgFill: \"#1a9cff\",\n\t\tborderFill: \"#bce2ff\"\n\t})\n});\ns.propTypes = {\n\topen: e.bool,\n\tsize: e.string\n}, s.defaultProps = { open: !1 };\n//#endregion\nexport { s as default };\n","import { styled as e } from \"@mui/material/styles\";\nimport { CSSTransition as t } from \"react-transition-group\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { useRef as r } from \"react\";\nimport i from \"prop-types\";\n//#region src/expander.tsx\nvar a = \"height ease-in 300ms, opacity ease-in 300ms\", o = e(\"div\")(() => ({\n\tposition: \"relative\",\n\theight: 0,\n\toverflow: \"hidden\",\n\tdisplay: \"flex\",\n\tvisibility: \"hidden\",\n\twidth: 0,\n\t\"&.enter\": {\n\t\ttransition: a,\n\t\topacity: 1,\n\t\theight: \"auto\",\n\t\twidth: \"auto\",\n\t\tvisibility: \"visible\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.enter-done\": {\n\t\theight: \"auto\",\n\t\tvisibility: \"visible\",\n\t\twidth: \"auto\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.exit\": {\n\t\ttransition: a,\n\t\topacity: 0,\n\t\theight: 0,\n\t\tvisibility: \"visible\",\n\t\twidth: 0\n\t},\n\t\"&.exit-done\": {\n\t\topacity: 0,\n\t\tvisibility: \"hidden\",\n\t\theight: 0,\n\t\twidth: 0\n\t}\n})), s = (e) => {\n\tlet { show: i, children: a, className: s } = e, c = r(null);\n\treturn /* @__PURE__ */ n(t, {\n\t\tnodeRef: c,\n\t\tin: i,\n\t\tappear: !0,\n\t\tmountOnEnter: !1,\n\t\ttimeout: 300,\n\t\tclassNames: {\n\t\t\tenter: \"enter\",\n\t\t\tenterDone: \"enter-done\",\n\t\t\texit: \"exit\",\n\t\t\texitDone: \"exit-done\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ n(o, {\n\t\t\tref: c,\n\t\t\tclassName: s,\n\t\t\tchildren: a\n\t\t})\n\t});\n};\ns.propTypes = {\n\tshow: i.bool.isRequired,\n\tclassName: i.string,\n\tchildren: i.oneOfType([i.arrayOf(i.node), i.node]).isRequired\n};\n//#endregion\nexport { s as default };\n","import e from \"./expander.js\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { CSSTransition as n } from \"react-transition-group\";\nimport { CorrectResponse as r } from \"@pie-lib/icons\";\nimport * as i from \"@pie-lib/render-ui\";\nimport { Readable as a, color as o } from \"@pie-lib/render-ui\";\nimport { jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport l from \"react\";\nimport u from \"prop-types\";\nimport d from \"@pie-lib/translator\";\n//#region src/index.tsx\nfunction f(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction p(e, t) {\n\treturn !e || f(e) ? e : f(e.default) ? e.default : t && f(e[t]) ? e[t] : t && f(e[t]?.default) ? e[t].default : e;\n}\nvar m = p(a, \"Readable\") || p(_.Readable, \"Readable\"), h = i, g = h.default, _ = g && typeof g == \"object\" ? g : h, { translator: v } = d, y = {\n\tWebkitTouchCallout: \"none\",\n\tWebkitUserSelect: \"none\",\n\tKhtmlUserSelect: \"none\",\n\tMozUserSelect: \"none\",\n\tmsUserSelect: \"none\",\n\tuserSelect: \"none\"\n}, b = t(\"div\")(() => ({\n\twidth: \"100%\",\n\tcursor: \"pointer\"\n})), x = t(\"div\")(() => ({\n\tmargin: \"0 auto\",\n\ttextAlign: \"center\",\n\tdisplay: \"flex\"\n})), S = t(\"div\")(() => ({\n\twidth: \"fit-content\",\n\tminWidth: \"140px\",\n\talignSelf: \"center\",\n\tverticalAlign: \"middle\",\n\tcolor: `var(--correct-answer-toggle-label-color, ${o.text()})`,\n\tfontWeight: \"normal\",\n\t...y\n})), C = t(\"div\")(() => ({\n\tposition: \"absolute\",\n\twidth: \"25px\",\n\t\"&.enter\": { opacity: \"0\" },\n\t\"&.enter-active\": {\n\t\topacity: \"1\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t},\n\t\"&.exit\": { opacity: \"1\" },\n\t\"&.exit-active\": {\n\t\topacity: \"0\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t}\n})), w = t(\"div\")(() => ({\n\twidth: \"25px\",\n\tmarginRight: \"5px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), T = class t extends l.Component {\n\tstatic propTypes = {\n\t\tonToggle: u.func,\n\t\ttoggled: u.bool,\n\t\tshow: u.bool,\n\t\thideMessage: u.string,\n\t\tshowMessage: u.string,\n\t\tclassName: u.string,\n\t\tlanguage: u.string\n\t};\n\tstatic defaultProps = {\n\t\tshowMessage: \"Show correct answer\",\n\t\thideMessage: \"Hide correct answer\",\n\t\tshow: !1,\n\t\ttoggled: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { show: e.show }, this.openIconRef = l.createRef(), this.closedIconRef = l.createRef(), t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t};\n\t}\n\tonClick() {\n\t\tthis.props.onToggle(!this.props.toggled);\n\t}\n\tonTouch(e) {\n\t\te.preventDefault(), this.props.onToggle(!this.props.toggled);\n\t}\n\tUNSAFE_componentWillReceiveProps(e) {\n\t\tthis.setState({ show: e.show }), e.language !== this.props?.language && (t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t});\n\t}\n\trender() {\n\t\tlet { className: t, toggled: i, hideMessage: a, showMessage: o } = this.props;\n\t\treturn /* @__PURE__ */ s(b, {\n\t\t\tclassName: t,\n\t\t\tchildren: /* @__PURE__ */ s(e, {\n\t\t\t\tshow: this.state.show,\n\t\t\t\tchildren: /* @__PURE__ */ c(x, {\n\t\t\t\t\tonClick: this.onClick.bind(this),\n\t\t\t\t\tonTouchEnd: this.onTouch.bind(this),\n\t\t\t\t\tchildren: [/* @__PURE__ */ c(w, { children: [/* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.openIconRef,\n\t\t\t\t\t\ttimeout: 400,\n\t\t\t\t\t\tin: i,\n\t\t\t\t\t\texit: !i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.openIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-open\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.closedIconRef,\n\t\t\t\t\t\ttimeout: 5e3,\n\t\t\t\t\t\tin: !i,\n\t\t\t\t\t\texit: i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.closedIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-closed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})] }), /* @__PURE__ */ s(m, {\n\t\t\t\t\t\tfalse: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(S, {\n\t\t\t\t\t\t\t\"aria-hidden\": !this.state.show,\n\t\t\t\t\t\t\tchildren: i ? a : o\n\t\t\t\t\t\t})\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n};\n//#endregion\nexport { T as CorrectAnswerToggle, T as default };\n","import \"react\";\nimport { styled as e } from \"@mui/material/styles\";\nimport t from \"classnames\";\nimport n from \"prop-types\";\nimport { color as r } from \"@pie-lib/render-ui\";\nimport { grey as i } from \"@mui/material/colors\";\nimport { jsx as a } from \"react/jsx-runtime\";\n//#region src/placeholder.tsx\nvar o = e(\"div\")(({ theme: e }) => ({\n\t\"&.placeholder\": {\n\t\tWebkitTouchCallout: \"none\",\n\t\tWebkitUserSelect: \"none\",\n\t\tKhtmlUserSelect: \"none\",\n\t\tMozUserSelect: \"none\",\n\t\tMsUserSelect: \"none\",\n\t\tuserSelect: \"none\",\n\t\twidth: \"100%\",\n\t\theight: \"100%\",\n\t\tbackground: r.white(),\n\t\ttransition: \"background-color 200ms linear, border-color 200ms linear\",\n\t\tboxSizing: \"border-box\",\n\t\tdisplay: \"grid\",\n\t\tgridRowGap: e.spacing(1),\n\t\tgridColumnGap: e.spacing(1),\n\t\tpadding: e.spacing(1),\n\t\tborder: `2px dashed ${r.black()}`\n\t},\n\t\"&.disabled\": {\n\t\tboxShadow: \"none\",\n\t\tbackground: e.palette.background.paper\n\t},\n\t\"&.over\": {\n\t\tborder: `1px solid ${i[500]}`,\n\t\tbackgroundColor: `${i[300]}`\n\t},\n\t\"&.board\": {\n\t\tpadding: e.spacing(1),\n\t\tdisplay: \"flex\",\n\t\tflexWrap: \"wrap\",\n\t\talignItems: \"center\",\n\t\tminHeight: \"100px\",\n\t\tjustifyContent: \"center\",\n\t\toverflow: \"hidden\",\n\t\ttouchAction: \"none\",\n\t\tbackgroundColor: r.backgroundDark()\n\t},\n\t\"&.categorizeBoard\": {\n\t\tpadding: e.spacing(.5),\n\t\tdisplay: \"flex\",\n\t\tflexWrap: \"wrap\",\n\t\talignItems: \"center\",\n\t\tminHeight: \"100px\",\n\t\tjustifyContent: \"center\",\n\t\toverflow: \"hidden\",\n\t\ttouchAction: \"none\",\n\t\tbackgroundColor: r.backgroundDark()\n\t},\n\t\"&.verticalPool\": {\n\t\tdisplay: \"flex\",\n\t\tflexFlow: \"column wrap\"\n\t}\n})), s = (e) => {\n\tlet { children: n, className: i, isOver: s, type: c, grid: l, disabled: u, choiceBoard: d, isCategorize: f, isVerticalPool: p, minHeight: m, extraStyles: h } = e, g = t(\"placeholder\", u && \"disabled\", s && \"over\", c, i), _ = {};\n\tif (l && l.columns && (_.gridTemplateColumns = `repeat(${l.columns}, 1fr)`), l && l.rows) {\n\t\tlet e = l.rowsRepeatValue || \"1fr\";\n\t\t_.gridTemplateRows = `repeat(${l.rows}, ${e})`;\n\t}\n\tc === \"choice\" && (_.border = `1px solid ${r.borderLight()}`, _.background = r.backgroundDark());\n\tlet v = f ? \"categorizeBoard\" : \"board\";\n\treturn /* @__PURE__ */ a(o, {\n\t\tstyle: {\n\t\t\t..._,\n\t\t\tminHeight: m,\n\t\t\t...h\n\t\t},\n\t\tclassName: t(d ? v : g, p && \"verticalPool\"),\n\t\tchildren: n\n\t});\n};\ns.propTypes = {\n\tchoiceBoard: n.bool,\n\tgrid: n.shape({\n\t\tcolumns: n.number,\n\t\trows: n.number,\n\t\trowsRepeatValue: n.string\n\t}),\n\tchildren: n.oneOfType([n.arrayOf(n.node), n.node]).isRequired,\n\tclassName: n.string,\n\tisOver: n.bool,\n\tindex: n.number,\n\ttype: n.string,\n\tdisabled: n.bool,\n\tisCategorize: n.bool,\n\tisVerticalPool: n.bool,\n\tminHeight: n.number\n};\n//#endregion\nexport { s as default };\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/src/tile.jsx\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { styled } from '@mui/material/styles';\n\nimport { PlaceHolder } from '@pie-lib/drag';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-elements:placement-ordering:tile');\n\nconst StyledNumberContainer: any = styled('div')(({ theme }) => ({\n width: '100%',\n fontSize: theme.typography.fontSize + 4,\n textAlign: 'center',\n color: `rgba(${theme.palette.common.black}, 0.6)`,\n}));\n\nconst Holder = ({ type, index, isOver, disabled }) => (\n <PlaceHolder type={type} isOver={isOver} disabled={disabled}>\n {type === 'target' && index !== undefined && <StyledNumberContainer>{index}</StyledNumberContainer>}\n </PlaceHolder>\n);\n\nHolder.propTypes = {\n type: PropTypes.string,\n index: PropTypes.number,\n isOver: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nconst StyledTileContent: any = styled('div')(({ theme, isDragging, isOver, disabled, outcome, label, type }) => ({\n cursor: disabled ? 'not-allowed' : 'grab',\n width: '100%',\n height: '100%',\n padding: '10px',\n boxSizing: 'border-box',\n overflow: 'hidden',\n border: (type === 'choice' || type === 'target') ? `1px solid ${theme.palette.grey[400]}` : '1px solid transparent',\n backgroundColor: (type === 'choice' || type === 'target') ? color.background() : 'transparent',\n transition: (type === 'choice' || type === 'target') ? 'background-color 150ms ease, border-color 150ms ease, opacity 150ms ease' : 'none',\n pointerEvents: 'none',\n userSelect: 'none',\n\n ...((type === 'choice' || type === 'target') && {\n '&:hover': {\n backgroundColor: disabled ? color.background() : color.secondary(),\n borderColor: disabled ? theme.palette.grey[400] : theme.palette.primary.main,\n transform: disabled ? 'none' : 'scale(1.02)',\n },\n }),\n\n // Apply conditional styles based on props (only if not empty spacing tile)\n ...((type === 'choice' || type === 'target') && isOver && !disabled && {\n opacity: 0.4,\n backgroundColor: color.primaryLight(),\n borderColor: theme.palette.primary.main,\n borderStyle: 'dashed',\n transform: 'scale(1.05)',\n }),\n\n ...((type === 'choice' || type === 'target') && isDragging && !disabled && {\n opacity: 0.6,\n backgroundColor: color.secondaryLight(),\n transform: 'scale(1.05) rotate(2deg)',\n boxShadow: '0 8px 16px rgba(0,0,0,0.2)',\n cursor: 'grabbing',\n }),\n\n ...((type === 'choice' || type === 'target') && disabled && {\n cursor: 'not-allowed',\n '&:hover': {\n backgroundColor: color.background(),\n transform: 'none',\n },\n }),\n\n ...((type === 'choice' || type === 'target') && outcome === 'incorrect' && {\n border: `1px solid ${color.incorrect()}`,\n }),\n\n ...((type === 'choice' || type === 'target') && outcome === 'correct' && {\n border: `1px solid ${color.correct()}`,\n }),\n\n ...(!label && {\n border: 'none',\n '&:hover': {\n backgroundColor: 'unset',\n },\n }),\n}));\n\nconst TileContent = (props) => {\n const { type, isDragging, empty, isOver, label, disabled, outcome, guideIndex } = props;\n\n if (empty) {\n return <Holder type={type} index={guideIndex} isOver={isOver} disabled={disabled} />;\n } else {\n return (\n <StyledTileContent\n type={type}\n isDragging={isDragging}\n isOver={isOver}\n disabled={disabled}\n outcome={outcome}\n label={label}\n dangerouslySetInnerHTML={{ __html: label }}\n />\n );\n }\n};\n\nexport const Tile = (props) => {\n const {\n label,\n type,\n id,\n empty,\n disabled,\n outcome,\n index,\n guideIndex,\n instanceId,\n draggable,\n tileIndex,\n } = props;\n\n // Use type + tileIndex in the IDs to guarantee uniqueness in all modes.\n // In includeTargets mode, a choice (id:'c1', type:'choice') and a target (id:'c1', type:'target')\n // can coexist — the type differentiates them.\n // tileIndex (array position from tiler) ensures empty placeholders are also unique.\n const dragId = `tile-${type}-${id != null ? id : 'empty'}-${tileIndex}-${instanceId}`;\n const dropId = `drop-${type}-${id != null ? id : 'empty'}-${tileIndex}-${instanceId}`;\n\n const {\n attributes,\n listeners,\n setNodeRef: setDragRef,\n transform,\n isDragging,\n } = useDraggable({\n id: dragId,\n data: {\n id,\n type,\n instanceId,\n value: label,\n index\n },\n disabled: !draggable || disabled,\n });\n\n const {\n setNodeRef: setDropRef,\n isOver: dropIsOver,\n } = useDroppable({\n id: dropId,\n data: {\n id,\n type,\n instanceId,\n value: label,\n index\n },\n // Disable droppable on the tile currently being dragged so closestCenter\n // cannot pick it as the drop target (prevents self-collision and wrong matches).\n disabled: isDragging,\n });\n\n const ref = React.useRef(null);\n\n React.useEffect(() => {\n const currentRef = ref.current;\n\n const handleTouchStart = (e) => {\n e.preventDefault(); // Prevent the default touch event behavior\n };\n\n if (currentRef) {\n currentRef.addEventListener('touchstart', handleTouchStart, { passive: false });\n }\n\n return () => {\n if (currentRef) {\n currentRef.removeEventListener('touchstart', handleTouchStart);\n }\n };\n }, []);\n\n const setRefs = (element) => {\n ref.current = element;\n setDragRef(element);\n setDropRef(element);\n };\n\n log('[render], props: ', props);\n\n const style = {\n transform: transform ? `translate3d(${transform.x}px, ${transform.y}px, 0)` : undefined,\n boxSizing: 'border-box',\n overflow: 'visible',\n padding: 0,\n margin: 0,\n textAlign: 'center',\n pointerEvents: 'auto',\n cursor: disabled ? 'not-allowed' : (isDragging ? 'grabbing' : 'grab'),\n zIndex: isDragging ? 1000 : 'auto',\n willChange: isDragging ? 'transform' : 'auto',\n };\n\n return (\n <div\n ref={setRefs}\n style={style}\n {...(draggable && !disabled ? { ...listeners, ...attributes } : {})}\n >\n <TileContent\n label={label}\n id={id}\n empty={empty}\n index={index}\n guideIndex={guideIndex}\n isOver={dropIsOver}\n isDragging={isDragging}\n disabled={disabled}\n outcome={outcome}\n type={type}\n />\n </div>\n );\n};\n\nTile.propTypes = {\n id: PropTypes.any,\n label: PropTypes.string,\n isOver: PropTypes.bool,\n type: PropTypes.string,\n empty: PropTypes.bool,\n disabled: PropTypes.bool,\n outcome: PropTypes.string,\n index: PropTypes.number,\n guideIndex: PropTypes.number,\n instanceId: PropTypes.any,\n draggable: PropTypes.bool,\n tileIndex: PropTypes.number,\n};\n\nexport default Tile;\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/src/tiler.jsx\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { styled } from '@mui/material/styles';\n\nimport Tile from './tile.js';\n\nconst types = {\n choiceLabel: PropTypes.string,\n targetLabel: PropTypes.string,\n disabled: PropTypes.bool,\n tiles: PropTypes.array.isRequired,\n tileSize: PropTypes.string,\n addGuide: PropTypes.bool,\n};\n\nconst defaults = {\n tileSize: '1fr',\n disabled: false,\n addGuide: false,\n};\n\nconst buildTiles = (props) => {\n const T = (tile, index) => {\n tile.instanceId = props.instanceId;\n tile.disabled = props.disabled;\n tile.guideIndex = props.addGuide ? tile.index + 1 : undefined;\n // unique key for dnd-kit IDs\n tile.tileIndex = index;\n\n if (props.includeTargets) {\n return <Tile {...tile} key={index} />;\n } else {\n return tile.type === 'choice' ? <Tile {...tile} key={index} /> : <Tile {...tile} label=\"\" key={index} />;\n }\n };\n\n T.propTypes = { ...types };\n return T;\n};\n\nconst StyledHTilerContainer: any = styled('div')(({ theme, includeTargets }) => ({\n display: 'grid',\n paddingBottom: theme.spacing(2),\n ...(includeTargets && {\n gridGap: '10px',\n }),\n}));\n\nconst StyledChoiceLabel: any = styled('div')({\n textAlign: 'center',\n});\n\nconst StyledTargetLabel: any = styled('div')({\n textAlign: 'center',\n gridRow: '3/4',\n});\n\nconst StyledVTilerContainer: any = styled('div')(({ includeTargets }) => ({\n gridAutoFlow: 'column',\n display: 'grid',\n ...(includeTargets && {\n gridGap: '10px',\n }),\n}));\n\nconst StyledVChoiceLabel: any = styled('div')({\n gridColumn: '1/2',\n textAlign: 'center',\n});\n\nconst StyledVTargetLabel: any = styled('div')({\n gridColumn: '2/3',\n textAlign: 'center',\n});\n\nexport class HorizontalTiler extends React.Component {\n static propTypes = { ...types };\n static defaultProps = { ...defaults };\n render() {\n const { includeTargets, choiceLabelEnabled, choiceLabel, targetLabel, tiles, tileSize } = this.props;\n\n const rows = includeTargets ? `auto ${tileSize} auto ${tileSize}` : `auto ${tileSize} auto`;\n const columns = includeTargets ? tiles.length / 2 : tiles.length;\n\n const style = {\n gridTemplateColumns: includeTargets\n ? `repeat(${columns}, ${tileSize})`\n : `auto repeat(${Math.floor(columns / 2) - 1}, ${tileSize} 10px) ${tileSize} auto`,\n gridTemplateRows: rows,\n };\n\n const labelStyle = {\n gridColumn: `1/${columns + 1}`,\n };\n\n return (\n <StyledHTilerContainer includeTargets={includeTargets} style={style}>\n <StyledChoiceLabel\n style={labelStyle}\n dangerouslySetInnerHTML={{ __html: choiceLabelEnabled ? choiceLabel : '' }}\n />\n {includeTargets && (\n <StyledTargetLabel style={labelStyle} dangerouslySetInnerHTML={{ __html: targetLabel }} />\n )}\n {tiles.map(buildTiles(this.props))}\n </StyledHTilerContainer>\n );\n }\n}\n\nexport class VerticalTiler extends React.Component {\n static propTypes = { ...types };\n static defaultProps = { ...defaults };\n render() {\n const { includeTargets, choiceLabelEnabled, choiceLabel, targetLabel, tiles, tileSize } = this.props;\n\n const columns = includeTargets ? 2 : 1;\n const rows = includeTargets ? tiles.length / 2 : tiles.length;\n\n const style = {\n gridTemplateColumns: `repeat(${columns}, ${tileSize})`,\n gridTemplateRows: includeTargets\n ? `auto repeat(${rows}, ${tileSize})`\n : `auto auto repeat(${Math.floor(rows / 2) - 1}, ${tileSize} 10px) ${tileSize} auto`,\n };\n\n return (\n <StyledVTilerContainer includeTargets={includeTargets} style={style}>\n <StyledVChoiceLabel\n dangerouslySetInnerHTML={{ __html: choiceLabelEnabled ? choiceLabel : '' }}\n />\n\n {includeTargets && <StyledVTargetLabel dangerouslySetInnerHTML={{ __html: targetLabel }} />}\n {tiles.map(buildTiles(this.props))}\n </StyledVTilerContainer>\n );\n }\n}\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/src/ordering.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport { assign, cloneDeep, isEmpty, map } from 'lodash-es';\nimport debug from 'debug';\n\nconst log = debug('pie-elements:placement-ordering:ordering');\n\nexport const push = (arr, fromIndex, toIndex) => {\n const movedItem = arr.find((item, index) => index === fromIndex);\n const remainingItems = arr.filter((item, index) => index !== fromIndex);\n\n return [...remainingItems.slice(0, toIndex), movedItem, ...remainingItems.slice(toIndex)];\n};\n\nexport const swap = (arr, fromIndex, toIndex) => {\n log('[swap]', arr, fromIndex, toIndex);\n if (!arr || arr.length <= 1 || fromIndex === undefined || toIndex === undefined) {\n throw new Error(`swap requires a non-empty array, fromIndex, toIndex: ${arr}, ${fromIndex} ${toIndex}`);\n }\n const update = cloneDeep(arr);\n const tmp = arr[toIndex];\n update[toIndex] = update[fromIndex];\n update[fromIndex] = tmp;\n return update;\n};\n\nfunction removeResponse(state, targetTile) {\n const update = cloneDeep(state.response);\n\n if (update[targetTile.index] === targetTile.id) {\n update[targetTile.index] = undefined;\n } else {\n throw new Error(\n `Tried to remove from index: ${targetTile.index}, but the id doesn't match: array: ${update}, target: ${targetTile.id}`,\n );\n }\n return update;\n}\n\nfunction updateResponse(state, from, to) {\n const { response, opts } = state;\n const update = cloneDeep(response);\n if (opts.includeTargets) {\n if (from.type === 'choice' && to.type === 'target') {\n update[to.index] = from.id;\n return update;\n } else if (from.type === 'target' && to.type === 'choice') {\n update[from.index] = undefined;\n return update;\n } else if (from.type === 'target' && to.type === 'target') {\n return swap(response, from.index, to.index);\n } else {\n log('do nothing to the response');\n return response;\n }\n } else {\n const fromIndex = state.response.findIndex((r) => r !== undefined && r === from.id);\n const toIndex = state.response.findIndex((r) => r !== undefined && r === to.id);\n log('fromIndex: ', fromIndex, 'toIndex:', toIndex);\n return push(state.response, fromIndex, toIndex);\n }\n}\n\nfunction buildTiles(choices, response, outcomes, opts) {\n if (opts.includeTargets) {\n const targets = [];\n for (let i = 0; i < response.length; i++) {\n const r = response[i];\n\n const choice = choices.find((c) => r !== undefined && r !== null && c.id === r);\n //TODO: index needs to match too!!\n const outcome = outcomes[i];\n\n const out = Object.assign({ type: 'target', index: i, empty: choice === undefined }, choice, outcome, {\n draggable: choice !== undefined,\n });\n\n targets.push(out);\n }\n\n const processedChoices = choices.map((m) => {\n if (response.indexOf(m.id) !== -1 && !opts.allowSameChoiceInTargets) {\n return {\n type: 'choice',\n empty: true,\n droppable: true,\n draggable: false,\n };\n } else {\n return Object.assign({}, m, {\n type: 'choice',\n droppable: false,\n draggable: true,\n });\n }\n });\n\n return processedChoices.concat(targets);\n } else {\n return response.reduce((acc, id, index) => {\n const emptyTile = Object.assign(\n { type: 'empty', draggable: false, droppable: true },\n choices.find((m) => m.id === id),\n outcomes[index],\n );\n const choiceTile = Object.assign(\n { type: 'choice', draggable: true, droppable: true },\n choices.find((m) => m.id === id),\n outcomes[index],\n );\n\n if (index === 0) {\n acc.push(emptyTile);\n }\n\n acc.push(choiceTile, emptyTile);\n\n return acc;\n }, []);\n }\n}\n\nexport function buildState(choices, response, outcomes, opts) {\n opts = assign({ includeTargets: true }, opts);\n\n outcomes = outcomes || [];\n response =\n !response || isEmpty(response)\n ? opts.includeTargets\n ? new Array(choices.length)\n : map(choices, (c) => c.id)\n : response;\n return {\n choices,\n response,\n opts,\n outcomes,\n tiles: buildTiles(choices, response, outcomes, opts),\n };\n}\n\nexport function reducer(action, state) {\n switch (action.type) {\n case 'move': {\n const { from, to } = action;\n const response = updateResponse(state, from, to);\n const tiles = buildTiles(state.choices, response, state.outcomes, state.opts);\n return Object.assign({}, state, { response, tiles });\n }\n case 'remove': {\n const { target } = action;\n const response = removeResponse(state, target);\n const tiles = buildTiles(state.choices, response, state.outcomes, state.opts);\n return Object.assign({}, state, { response, tiles });\n }\n }\n return state;\n}\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/src/utils.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nexport const haveSameValuesButDifferentOrder = (arr1, arr2) => {\n if (!Array.isArray(arr1) || !Array.isArray(arr2)) return false;\n if (arr1.length !== arr2.length) return false;\n\n const toSortedJson = (arr) =>\n arr\n .map((item) => JSON.stringify(item))\n .sort();\n\n const sortedArr1 = toSortedJson(arr1);\n const sortedArr2 = toSortedJson(arr2);\n\n const hasSameValues = sortedArr1.every((val, i) => val === sortedArr2[i]);\n const hasSameOrder = arr1.every((item, i) =>\n JSON.stringify(item) === JSON.stringify(arr2[i])\n );\n\n return hasSameValues && !hasSameOrder;\n};\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/src/placement-ordering.jsx\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport { difference, isEqual, uniqueId } from 'lodash-es';\nimport { styled } from '@mui/material/styles';\nimport { closestCenter } from '@dnd-kit/core';\n\nimport { Collapsible as CollapsibleImport, color, Feedback as FeedbackImport, hasMedia, hasText, PreviewPrompt as PreviewPromptImport, UiLayout as UiLayoutImport } from '@pie-lib/render-ui';\n\nfunction isRenderableReactInteropType(value: any) {\n return (\n typeof value === 'function' ||\n (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')\n );\n}\n\nfunction unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {\n if (!maybeSymbol) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {\n return maybeSymbol[namedExport];\n }\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {\n return maybeSymbol[namedExport].default;\n }\n return maybeSymbol;\n}\nconst UiLayout = unwrapReactInteropSymbol(UiLayoutImport, 'UiLayout') || unwrapReactInteropSymbol(renderUi.UiLayout, 'UiLayout');\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Feedback = unwrapReactInteropSymbol(FeedbackImport, 'Feedback') || unwrapReactInteropSymbol(renderUi.Feedback, 'Feedback');\nconst Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');\nimport * as RenderUiNamespace from '@pie-lib/render-ui';\nconst renderUiNamespaceAny = RenderUiNamespace as any;\nconst renderUiDefaultMaybe = renderUiNamespaceAny['default'];\nconst renderUi =\n renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'\n ? renderUiDefaultMaybe\n : renderUiNamespaceAny;\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\nimport Translator from '@pie-lib/translator';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { DragProvider } from '@pie-lib/drag';\n\nimport { HorizontalTiler, VerticalTiler } from './tiler.js';\nimport { buildState, reducer } from './ordering.js';\nimport { haveSameValuesButDifferentOrder } from './utils.js';\n\nconst { translator } = Translator;\n\nconst log = debug('pie-elements:placement-ordering');\n\nconst PlacementOrderingContainer: any = styled('div')({\n color: color.text(),\n backgroundColor: color.background(),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n boxSizing: 'border-box',\n});\n\nconst StyledPrompt: any = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(1),\n}));\n\nconst StyledNote: any = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(2),\n}));\n\nconst StyledToggle: any = styled(CorrectAnswerToggle)(({ theme }) => ({\n paddingBottom: theme.spacing(1),\n}));\n\nconst StyledCollapsible: any = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n alignSelf: 'flex-start',\n}));\n\nconst OrderingTiler = (props) => {\n const { tiler: Comp, ordering, onDropChoice, onRemoveChoice, ...compProps } = props;\n\n return (\n <Comp\n {...compProps}\n tiles={ordering.tiles}\n onDropChoice={(t, s) => onDropChoice(t, s, ordering)}\n onRemoveChoice={(t) => onRemoveChoice(t, ordering)}\n />\n );\n};\n\nOrderingTiler.propTypes = {\n tiler: PropTypes.func,\n ordering: PropTypes.any,\n onDropChoice: PropTypes.func,\n onRemoveChoice: PropTypes.func,\n};\n\nexport class PlacementOrdering extends React.Component {\n static propTypes = {\n onSessionChange: PropTypes.func.isRequired,\n model: PropTypes.object.isRequired,\n session: PropTypes.oneOfType([PropTypes.array.isRequired, PropTypes.object.isRequired]),\n };\n\n constructor(props) {\n super(props);\n\n this.instanceId = uniqueId();\n\n const { value, needsReset } = this.validateSession(props);\n\n this.state = {\n showingCorrect: false,\n };\n\n const { model } = props || {};\n const { env } = model || {};\n const { mode } = env || {};\n\n if (needsReset && mode === 'gather') {\n this.props.onSessionChange({\n ...props.session,\n value,\n });\n }\n }\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n validateSession: any = ({ model, session }, areChoicesShuffled = false) => {\n const { config, choices } = model || {};\n const { includeTargets } = config || {};\n const choicesIds = choices.map((c) => c.id);\n\n let { value } = session || {};\n let needsReset;\n\n if (!includeTargets) {\n // Use all choice IDs if choices were shuffled or session is missing/invalid\n const sessionMissing = !value || !value.length;\n if (sessionMissing || areChoicesShuffled) {\n // if there's no value on session in No Targets Mode, we need to set an initial session\n value = choicesIds;\n } else {\n // in No Targets Mode, all choice ids need to be used\n const missingChoiceIds = difference(choicesIds, value);\n // this is the case that handles extra choice ids in session\n const extraChoiceIds = difference(value, choicesIds);\n\n if (missingChoiceIds.length || extraChoiceIds.length) {\n value = choicesIds;\n }\n }\n\n needsReset = !isEqual(session.value, value);\n } else {\n // in Targets Area selected, it's important to check the length of session\n const sessionIsMismatched = value && value.length !== choicesIds.length;\n if (sessionIsMismatched) {\n needsReset = true;\n\n // if choices were added, add value in session\n if (value.length < choicesIds.length) {\n value = value.concat(new Array(choicesIds.length - value.length));\n } else {\n // if choices were removed, make sure to remove from session as well\n value = value.filter((cId) => choicesIds.includes(cId));\n }\n }\n }\n\n if (needsReset) {\n // eslint-disable-next-line no-console\n console.warn('This session is not valid anymore. It will be reset.');\n }\n\n return { value, needsReset };\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { model: nextModel = {} } = nextProps || {};\n const { model: currentModel = {} } = this.props || {};\n const { correctResponse, config, choices: nextChoices = [], env } = nextModel;\n const { includeTargets } = config || {};\n\n const newState = {};\n\n const isLanguageChanged = currentModel.language && currentModel.language !== nextModel.language;\n const isDefaultNote =\n currentModel.note &&\n currentModel.note === translator.t('common:commonCorrectAnswerWithAlternates', { lng: currentModel.language });\n\n // check if the note is the default one for prev language and change to the default one for new language\n // this check is necessary in order to diferanciate between default and authour defined note\n // and only change between languages for default ones\n if (isLanguageChanged && isDefaultNote) {\n currentModel.note = translator.t('common:commonCorrectAnswerWithAlternates', { lng: nextModel.language });\n }\n\n if (!correctResponse) {\n newState.showingCorrect = false;\n }\n\n //PD-4924\n // show student choices same order as in model when teacher changes student choices order\n // for cases when student view and instructor view are on same page\n const areChoicesShuffled = haveSameValuesButDifferentOrder(nextChoices, currentModel.choices);\n\n const validatedSession = this.validateSession(nextProps, areChoicesShuffled);\n let { value, needsReset } = validatedSession;\n\n const newSession = {\n ...nextProps.session,\n value,\n };\n const includeTargetsChanged = currentModel.config?.includeTargets !== includeTargets;\n\n if (includeTargets && includeTargetsChanged) {\n needsReset = true;\n\n delete newSession.value;\n }\n\n this.setState(newState, () => {\n const { mode } = env || {};\n\n if (needsReset && mode === 'gather') {\n this.props.onSessionChange(newSession);\n }\n });\n }\n\n onDropChoice: any = (target, source, ordering) => {\n const { onSessionChange, session } = this.props;\n const from = ordering.tiles.find((t) => t.id === source.id && t.type === source.type && t.index === source.index);\n const to = target;\n log('[onDropChoice] ', from, to);\n const update = reducer({ type: 'move', from, to }, ordering);\n const sessionUpdate = Object.assign({}, session, {\n value: update.response,\n });\n\n onSessionChange(sessionUpdate);\n };\n\n onRemoveChoice: any = (target, ordering) => {\n const { onSessionChange, session } = this.props;\n log('[onRemoveChoice]', target);\n const update = reducer({ type: 'remove', target }, ordering);\n const sessionUpdate = Object.assign({}, session, {\n value: update.response,\n });\n onSessionChange(sessionUpdate);\n };\n\n createOrdering: any = () => {\n const { model, session } = this.props;\n const { showingCorrect } = this.state;\n const config = model.config || {\n orientation: 'vertical',\n includeTargets: true,\n };\n const { includeTargets } = config;\n\n return showingCorrect\n ? buildState(\n model.choices,\n model.correctResponse,\n model.correctResponse.map((id) => ({ id, outcome: 'correct' })),\n {\n includeTargets,\n allowSameChoiceInTargets: model.config.allowSameChoiceInTargets,\n },\n )\n : buildState(model.choices, session.value, model.outcomes, {\n includeTargets,\n allowSameChoiceInTargets: model.config.allowSameChoiceInTargets,\n });\n };\n\n onDragEnd: any = (event) => {\n const { over, active } = event;\n const ordering = this.createOrdering();\n\n if (over && active) {\n const draggedItem = active.data.current;\n const droppedOnItem = over.data.current;\n\n if (draggedItem && droppedOnItem && droppedOnItem.type === 'target') {\n this.onDropChoice(droppedOnItem, draggedItem, ordering);\n return;\n }\n\n if (draggedItem && droppedOnItem) {\n this.onDropChoice(droppedOnItem, draggedItem, ordering);\n }\n } else if (!over && active) {\n const draggedItem = active.data.current;\n if (draggedItem && draggedItem.type === 'target') {\n this.onRemoveChoice(draggedItem, ordering);\n }\n }\n };\n\n render() {\n const { model } = this.props;\n const {\n correctResponse,\n correctness,\n extraCSSRules,\n prompt,\n rationale,\n feedback,\n config: configs,\n note,\n showNote,\n env,\n disabled,\n teacherInstructions,\n language,\n } = model;\n const showToggle = correctResponse && correctResponse.length > 0;\n const { showingCorrect } = this.state;\n const config = configs || {\n orientation: 'vertical',\n includeTargets: true,\n };\n const { orientation, includeTargets } = config;\n const vertical = orientation === 'vertical';\n const ordering = this.createOrdering();\n const { mode, role } = env || {};\n\n const Tiler = vertical ? VerticalTiler : HorizontalTiler;\n const displayNote = (showingCorrect || (mode === 'view' && role === 'instructor')) && showNote && note;\n const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));\n const showTeacherInstructions =\n teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));\n\n const containerStyle = {\n color: color.text(),\n backgroundColor: color.background(),\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n boxSizing: 'border-box',\n };\n\n return (\n <DragProvider onDragStart={() => { }} onDragEnd={this.onDragEnd} collisionDetection={closestCenter}>\n <PlacementOrderingContainer>\n <UiLayout extraCSSRules={extraCSSRules} style={containerStyle}>\n {showTeacherInstructions && (\n <StyledCollapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className=\"collapsible\"\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </StyledCollapsible>\n )}\n\n <StyledPrompt>\n <PreviewPrompt prompt={prompt} />\n </StyledPrompt>\n\n <StyledToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n <OrderingTiler\n instanceId={this.instanceId}\n choiceLabel={config.choiceLabel}\n targetLabel={config.targetLabel}\n ordering={ordering}\n tiler={Tiler}\n disabled={disabled}\n addGuide={config.showOrdering}\n tileSize={config.tileSize}\n includeTargets={includeTargets}\n choiceLabelEnabled={model.config && model.config.choiceLabelEnabled}\n />\n\n {displayNote && <StyledNote dangerouslySetInnerHTML={{ __html: note }} />}\n\n {showRationale && (\n <StyledCollapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n className=\"collapsible\"\n >\n <PreviewPrompt prompt={rationale} />\n </StyledCollapsible>\n )}\n\n {!showingCorrect && <Feedback correctness={correctness} feedback={feedback} />}\n </UiLayout>\n </PlacementOrderingContainer>\n </DragProvider>\n );\n }\n}\n\nexport default PlacementOrdering;\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/src/main.jsx\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport PlacementOrdering from './placement-ordering.js';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n session: PropTypes.oneOfType([PropTypes.array.isRequired, PropTypes.object.isRequired]),\n onSessionChange: PropTypes.func.isRequired,\n };\n\n render() {\n const { model, session, onSessionChange } = this.props;\n\n return (\n <PlacementOrdering model={model} session={session} onSessionChange={onSessionChange} />\n );\n }\n}\n\nexport default Main;\n","// @ts-nocheck\n/**\n * @synced-from pie-elements/packages/placement-ordering/src/index.js\n * @auto-generated\n *\n * This file is automatically synced from pie-elements and converted to TypeScript.\n * Manual edits will be overwritten on next sync.\n * To make changes, edit the upstream JavaScript file and run sync again.\n */\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { compact } from 'lodash-es';\nimport debug from 'debug';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\nimport { SessionChangedEvent } from '@pie-element/shared-player-events';\nimport Main from './main.js';\n\nconst log = debug('pie-elements:placement-ordering');\n\nexport const isValidSession = ({ model, session }) => {\n const { config } = model;\n\n const compactSessionValues = (session && compact(session.value)) || [];\n const completeSession = compactSessionValues.length === model.choices.length;\n\n // if it includes targets, it doesn't have to contain all the choices selected (eg: only 2 targets were filled)\n // but if it does not include targets, it's a must to have all choices selected\n return config.includeTargets || completeSession;\n};\n\nexport default class Ordering extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n this._mathObserver = null;\n this._mathRenderPending = false;\n }\n\n _scheduleMathRender: any = () => {\n if (this._mathRenderPending) return;\n this._mathRenderPending = true;\n\n requestAnimationFrame(() => {\n if (this._mathObserver) {\n this._mathObserver.disconnect();\n }\n renderMath(this);\n this._mathRenderPending = false;\n setTimeout(() => {\n if (this._mathObserver) {\n this._mathObserver.observe(this, { childList: true, subtree: true });\n }\n }, 50);\n });\n };\n\n _initMathObserver() {\n if (this._mathObserver) return;\n this._mathObserver = new MutationObserver(this._scheduleMathRender);\n this._mathObserver.observe(this, { childList: true, subtree: true });\n }\n\n _disconnectMathObserver() {\n if (this._mathObserver) {\n this._mathObserver.disconnect();\n this._mathObserver = null;\n }\n }\n\n isComplete = (value) => value && compact(value).length === this._model.completeLength;\n\n sessionChange: any = (session) => {\n this._session.value = session.value;\n this.render();\n this.dispatchEvent(\n new SessionChangedEvent(this.tagName.toLowerCase(), this._session && this.isComplete(this._session.value)),\n );\n };\n\n set model(newModel) {\n this._model = newModel;\n\n this.render();\n this.dispatchEvent(\n new CustomEvent('model-set', {\n bubbles: true,\n detail: {\n complete: false,\n },\n }),\n );\n }\n\n set session(newSession) {\n this._session = newSession;\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n render() {\n if (this._model && this._session) {\n log('[render] session: ', this._session.value);\n log('[render] model: ', this._model);\n\n this._initMathObserver();\n\n const element = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChange,\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n }\n }\n\n connectedCallback() {\n this._initMathObserver();\n }\n\n disconnectedCallback() {\n this._disconnectMathObserver();\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}