@pie-element/categorize 13.1.1-next.1 → 13.1.1-next.11

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 (252) hide show
  1. package/CHANGELOG.json +1637 -0
  2. package/CHANGELOG.md +2532 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +5 -0
  5. package/configure/CHANGELOG.json +1202 -0
  6. package/configure/CHANGELOG.md +2115 -0
  7. package/configure/lib/defaults.js +222 -0
  8. package/configure/lib/defaults.js.map +1 -0
  9. package/configure/lib/design/builder.js +55 -0
  10. package/configure/lib/design/builder.js.map +1 -0
  11. package/configure/lib/design/buttons.js +59 -0
  12. package/configure/lib/design/buttons.js.map +1 -0
  13. package/configure/lib/design/categories/RowLabel.js +66 -0
  14. package/configure/lib/design/categories/RowLabel.js.map +1 -0
  15. package/configure/lib/design/categories/alternateResponses.js +116 -0
  16. package/configure/lib/design/categories/alternateResponses.js.map +1 -0
  17. package/configure/lib/design/categories/category.js +153 -0
  18. package/configure/lib/design/categories/category.js.map +1 -0
  19. package/configure/lib/design/categories/choice-preview.js +79 -0
  20. package/configure/lib/design/categories/choice-preview.js.map +1 -0
  21. package/configure/lib/design/categories/droppable-placeholder.js +93 -0
  22. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -0
  23. package/configure/lib/design/categories/index.js +256 -0
  24. package/configure/lib/design/categories/index.js.map +1 -0
  25. package/configure/lib/design/choices/choice.js +187 -0
  26. package/configure/lib/design/choices/choice.js.map +1 -0
  27. package/configure/lib/design/choices/config.js +58 -0
  28. package/configure/lib/design/choices/config.js.map +1 -0
  29. package/configure/lib/design/choices/index.js +197 -0
  30. package/configure/lib/design/choices/index.js.map +1 -0
  31. package/configure/lib/design/header.js +71 -0
  32. package/configure/lib/design/header.js.map +1 -0
  33. package/configure/lib/design/index.js +727 -0
  34. package/configure/lib/design/index.js.map +1 -0
  35. package/configure/lib/design/input-header.js +105 -0
  36. package/configure/lib/design/input-header.js.map +1 -0
  37. package/configure/lib/design/utils.js +12 -0
  38. package/configure/lib/design/utils.js.map +1 -0
  39. package/configure/lib/index.js +147 -0
  40. package/configure/lib/index.js.map +1 -0
  41. package/configure/lib/main.js +44 -0
  42. package/configure/lib/main.js.map +1 -0
  43. package/configure/lib/utils.js +43 -0
  44. package/configure/lib/utils.js.map +1 -0
  45. package/configure/package.json +32 -0
  46. package/controller/CHANGELOG.json +452 -0
  47. package/controller/CHANGELOG.md +1373 -0
  48. package/controller/lib/defaults.js +33 -0
  49. package/controller/lib/defaults.js.map +1 -0
  50. package/controller/lib/index.js +479 -0
  51. package/controller/lib/index.js.map +1 -0
  52. package/controller/lib/utils.js +69 -0
  53. package/controller/lib/utils.js.map +1 -0
  54. package/controller/package.json +18 -0
  55. package/docs/config-schema.json +2897 -0
  56. package/docs/config-schema.json.md +2138 -0
  57. package/docs/demo/config.js +8 -0
  58. package/docs/demo/generate.js +357 -0
  59. package/docs/demo/index.html +1 -0
  60. package/docs/demo/session.js +12 -0
  61. package/docs/pie-schema.json +1784 -0
  62. package/docs/pie-schema.json.md +1046 -0
  63. package/lib/categorize/categories.js +135 -0
  64. package/lib/categorize/categories.js.map +1 -0
  65. package/lib/categorize/category.js +67 -0
  66. package/lib/categorize/category.js.map +1 -0
  67. package/lib/categorize/choice.js +140 -0
  68. package/lib/categorize/choice.js.map +1 -0
  69. package/lib/categorize/choices.js +99 -0
  70. package/lib/categorize/choices.js.map +1 -0
  71. package/lib/categorize/droppable-placeholder.js +84 -0
  72. package/lib/categorize/droppable-placeholder.js.map +1 -0
  73. package/lib/categorize/grid-content.js +55 -0
  74. package/lib/categorize/grid-content.js.map +1 -0
  75. package/lib/categorize/index.js +450 -0
  76. package/lib/categorize/index.js.map +1 -0
  77. package/lib/index.js +316 -0
  78. package/lib/index.js.map +1 -0
  79. package/package.json +21 -57
  80. package/dist/author/defaults.d.ts +0 -223
  81. package/dist/author/defaults.js +0 -170
  82. package/dist/author/design/builder.d.ts +0 -10
  83. package/dist/author/design/builder.js +0 -24
  84. package/dist/author/design/buttons.d.ts +0 -28
  85. package/dist/author/design/buttons.js +0 -36
  86. package/dist/author/design/categories/RowLabel.d.ts +0 -23
  87. package/dist/author/design/categories/RowLabel.js +0 -47
  88. package/dist/author/design/categories/alternateResponses.d.ts +0 -31
  89. package/dist/author/design/categories/alternateResponses.js +0 -62
  90. package/dist/author/design/categories/category.d.ts +0 -44
  91. package/dist/author/design/categories/category.js +0 -98
  92. package/dist/author/design/categories/choice-preview.d.ts +0 -25
  93. package/dist/author/design/categories/choice-preview.js +0 -60
  94. package/dist/author/design/categories/droppable-placeholder.d.ts +0 -11
  95. package/dist/author/design/categories/droppable-placeholder.js +0 -71
  96. package/dist/author/design/categories/index.d.ts +0 -41
  97. package/dist/author/design/categories/index.js +0 -146
  98. package/dist/author/design/choices/choice.d.ts +0 -11
  99. package/dist/author/design/choices/choice.js +0 -129
  100. package/dist/author/design/choices/config.d.ts +0 -21
  101. package/dist/author/design/choices/config.js +0 -33
  102. package/dist/author/design/choices/index.d.ts +0 -41
  103. package/dist/author/design/choices/index.js +0 -110
  104. package/dist/author/design/header.d.ts +0 -24
  105. package/dist/author/design/header.js +0 -49
  106. package/dist/author/design/index.d.ts +0 -52
  107. package/dist/author/design/index.js +0 -417
  108. package/dist/author/design/input-header.d.ts +0 -39
  109. package/dist/author/design/input-header.js +0 -69
  110. package/dist/author/design/utils.d.ts +0 -9
  111. package/dist/author/design/utils.js +0 -7
  112. package/dist/author/index.d.ts +0 -51
  113. package/dist/author/index.js +0 -87
  114. package/dist/author/main.d.ts +0 -23
  115. package/dist/author/main.js +0 -30
  116. package/dist/author/utils.d.ts +0 -16
  117. package/dist/author/utils.js +0 -17
  118. package/dist/controller/defaults.d.ts +0 -34
  119. package/dist/controller/defaults.js +0 -29
  120. package/dist/controller/index.d.ts +0 -61
  121. package/dist/controller/index.js +0 -155
  122. package/dist/controller/utils.d.ts +0 -20
  123. package/dist/controller/utils.js +0 -35
  124. package/dist/delivery/categorize/categories.d.ts +0 -34
  125. package/dist/delivery/categorize/categories.js +0 -66
  126. package/dist/delivery/categorize/category.d.ts +0 -28
  127. package/dist/delivery/categorize/category.js +0 -48
  128. package/dist/delivery/categorize/choice.d.ts +0 -27
  129. package/dist/delivery/categorize/choice.js +0 -94
  130. package/dist/delivery/categorize/choices.d.ts +0 -39
  131. package/dist/delivery/categorize/choices.js +0 -51
  132. package/dist/delivery/categorize/droppable-placeholder.d.ts +0 -32
  133. package/dist/delivery/categorize/droppable-placeholder.js +0 -64
  134. package/dist/delivery/categorize/grid-content.d.ts +0 -25
  135. package/dist/delivery/categorize/grid-content.js +0 -39
  136. package/dist/delivery/categorize/index.d.ts +0 -57
  137. package/dist/delivery/categorize/index.js +0 -260
  138. package/dist/delivery/index.d.ts +0 -27
  139. package/dist/delivery/index.js +0 -152
  140. package/dist/index.d.ts +0 -1
  141. package/dist/index.iife.d.ts +0 -8
  142. package/dist/index.iife.js +0 -152
  143. package/dist/index.js +0 -2
  144. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +0 -6
  145. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +0 -16
  146. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +0 -16
  147. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +0 -6
  148. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +0 -16
  149. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +0 -6
  150. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +0 -6
  151. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +0 -14
  152. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +0 -5
  153. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +0 -5
  154. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +0 -6
  155. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +0 -7
  156. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +0 -10
  157. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +0 -15
  158. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +0 -7
  159. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +0 -10
  160. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +0 -8
  161. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +0 -8
  162. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +0 -8
  163. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +0 -12
  164. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +0 -57
  165. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +0 -14
  166. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +0 -9
  167. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +0 -10
  168. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +0 -9
  169. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +0 -9
  170. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +0 -11
  171. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +0 -9
  172. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +0 -11
  173. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +0 -12
  174. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +0 -13
  175. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +0 -7
  176. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +0 -8
  177. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +0 -8
  178. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +0 -10
  179. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +0 -8
  180. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +0 -8
  181. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +0 -8
  182. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +0 -8
  183. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +0 -8
  184. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +0 -14
  185. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +0 -8
  186. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +0 -8
  187. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +0 -5
  188. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +0 -10
  189. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +0 -4
  190. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +0 -9
  191. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +0 -9
  192. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +0 -8
  193. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +0 -9
  194. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +0 -5
  195. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +0 -14
  196. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +0 -10
  197. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +0 -11
  198. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +0 -23
  199. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +0 -6
  200. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +0 -7
  201. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +0 -7
  202. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +0 -13
  203. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +0 -9
  204. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +0 -9
  205. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +0 -8
  206. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +0 -33
  207. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +0 -9
  208. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +0 -8
  209. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +0 -7
  210. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +0 -11
  211. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +0 -8
  212. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +0 -6
  213. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +0 -9
  214. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +0 -8
  215. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +0 -7
  216. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +0 -8
  217. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +0 -13
  218. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +0 -8
  219. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +0 -7
  220. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +0 -7
  221. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +0 -8
  222. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +0 -5
  223. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +0 -5
  224. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +0 -8
  225. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +0 -9
  226. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +0 -7
  227. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +0 -8
  228. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +0 -5
  229. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +0 -7
  230. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +0 -7
  231. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +0 -6
  232. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +0 -6
  233. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +0 -16
  234. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +0 -15
  235. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +0 -8
  236. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +0 -6
  237. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +0 -10
  238. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +0 -4
  239. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +0 -8
  240. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +0 -6
  241. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +0 -21
  242. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +0 -11
  243. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +0 -7
  244. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +0 -7
  245. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +0 -7
  246. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +0 -6
  247. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +0 -7
  248. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +0 -7
  249. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +0 -9
  250. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +0 -9
  251. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +0 -6
  252. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +0 -6
@@ -1,260 +0,0 @@
1
- import e from "./choice.js";
2
- import t from "./choices.js";
3
- import n from "./categories.js";
4
- import r from "react";
5
- import { renderMath as i } from "@pie-element/shared-math-rendering-mathjax";
6
- import * as a from "@pie-lib/render-ui";
7
- import { Collapsible as o, Feedback as s, PreviewPrompt as c, UiLayout as l, color as u, hasMedia as d, hasText as f } from "@pie-lib/render-ui";
8
- import p from "prop-types";
9
- import m from "debug";
10
- import { styled as h } from "@mui/material/styles";
11
- import { DragOverlay as g } from "@dnd-kit/core";
12
- import _ from "@pie-lib/correct-answer-toggle";
13
- import { buildState as v, moveChoiceToCategory as y, removeChoiceFromCategory as b } from "@pie-lib/categorize";
14
- import { DragProvider as x, uid as S } from "@pie-lib/drag";
15
- import { jsx as C, jsxs as w } from "react/jsx-runtime";
16
- import T from "@pie-lib/translator";
17
- import { AlertDialog as E } from "@pie-lib/config-ui";
18
- //#region src/delivery/categorize/index.tsx
19
- function D(e) {
20
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
21
- }
22
- function O(e, t) {
23
- return !e || D(e) ? e : D(e.default) ? e.default : t && D(e[t]) ? e[t] : t && D(e[t]?.default) ? e[t].default : e;
24
- }
25
- var k = O(l, "UiLayout") || O(F.UiLayout, "UiLayout"), A = O(c, "PreviewPrompt") || O(F.PreviewPrompt, "PreviewPrompt"), j = O(o, "Collapsible") || O(F.Collapsible, "Collapsible"), M = O(s, "Feedback") || O(F.Feedback, "Feedback"), N = a, P = N.default, F = P && typeof P == "object" ? P : N, { translator: I } = T, L = m("@pie-ui:categorize"), R = class extends r.Component {
26
- static propTypes = { children: p.node };
27
- containerRef = r.createRef();
28
- componentDidMount() {
29
- this.containerRef.current && i(this.containerRef.current);
30
- }
31
- render() {
32
- return /* @__PURE__ */ C("div", {
33
- ref: this.containerRef,
34
- children: this.props.children
35
- });
36
- }
37
- }, z = class extends r.Component {
38
- static propTypes = {
39
- model: p.object,
40
- session: p.shape({ answers: p.arrayOf(p.shape({
41
- choice: p.string,
42
- category: p.string
43
- })) }),
44
- onAnswersChange: p.func.isRequired,
45
- onShowCorrectToggle: p.func.isRequired,
46
- pauseMathObserver: p.func,
47
- resumeMathObserver: p.func
48
- };
49
- static defaultProps = { disabled: !1 };
50
- constructor(e) {
51
- super(e), this.state = {
52
- showCorrect: !1,
53
- showMaxChoiceAlert: !1
54
- };
55
- }
56
- removeChoice = (e) => {
57
- L("[removeChoice]: ", e);
58
- let { onAnswersChange: t, session: n } = this.props;
59
- t(b(e.id, e.categoryId, e.choiceIndex, n.answers));
60
- };
61
- dropChoice = (e, t) => {
62
- let { session: n, onAnswersChange: r, model: i } = this.props, { maxChoicesPerCategory: a = 0 } = i || {}, { answers: o = [] } = n || {}, s;
63
- t ? L("[dropChoice] category: ", t.categoryId, "choice: ", t) : L("[dropChoice] category: ", void 0, "choice: ", void 0);
64
- let c = o.find((t) => t.category === e);
65
- t && a === 1 && c && c.choices && c.choices.length === 1 ? (s = y(t.id, t.categoryId, e, t.choiceIndex, o), s = b(c.choices[0], e, 0, s)) : t && a > 1 && c && c.choices && c.choices.length === a ? (s = t.categoryId ? y(t.id, t.categoryId, t.categoryId, t.choiceIndex, o) : b(t.id, t.categoryId, t.choiceIndex, o), this.setState({ showMaxChoiceAlert: !0 })) : a !== 0 && c && c.choices && c.choices.length > a ? (s = o, this.setState({ showMaxChoiceAlert: !0 })) : s = t ? y(t.id, t.categoryId, e, t.choiceIndex, o) : this.removeChoice(e), t && r(s);
66
- };
67
- UNSAFE_componentWillReceiveProps(e) {
68
- let { model: t } = this.props, { model: n } = e;
69
- t.note && t.language && t.language !== n.language && t.note === I.t("common:commonCorrectAnswerWithAlternates", { lng: t.language }) && (t.note = I.t("common:commonCorrectAnswerWithAlternates", { lng: n.language })), this.setState({ showCorrect: !1 });
70
- }
71
- toggleShowCorrect = () => this.setState({ showCorrect: !this.state.showCorrect }, () => {
72
- this.props.onShowCorrectToggle();
73
- });
74
- getPositionDirection = (e) => {
75
- let t;
76
- switch (e) {
77
- case "left":
78
- t = "row-reverse";
79
- break;
80
- case "right":
81
- t = "row";
82
- break;
83
- case "below":
84
- t = "column";
85
- break;
86
- default:
87
- t = "column-reverse";
88
- break;
89
- }
90
- return t;
91
- };
92
- existAlternateResponse = (e) => e?.some((e) => e.alternateResponses?.length > 0);
93
- render() {
94
- let { model: e, session: i } = this.props, { showCorrect: a, showMaxChoiceAlert: o } = this.state, { choicesPosition: s, extraCSSRules: c, note: l, showNote: u, env: p, language: m, maxChoicesPerCategory: h, autoplayAudioEnabled: g, customAudioButton: y } = e, { mode: b, role: x } = p || {}, S = s || "above", T = {
95
- flexDirection: this.getPositionDirection(S),
96
- gap: "8px"
97
- }, { categories: D, choices: O, correct: k } = v(e.categories, e.choices, a ? e.correctResponse : i.answers, e.correctResponse);
98
- L("[render] disabled: ", e.disabled);
99
- let { rowLabels: j, categoriesPerRow: N, correctResponse: P, fontSizeFactor: F } = e, R = D && Math.ceil(D.length / N) || 0, z = this.existAlternateResponse(P) || !1, B = (a || b === "view" && x === "instructor") && u && l && z, G = I.t("translation:categorize:limitMaxChoicesPerCategory", {
100
- lng: e.language,
101
- maxChoicesPerCategory: h
102
- }), K = I.t("common:warning", { lng: e.language }), q = I.t("common:cancel", { lng: e.language }), J = e.rationale && (f(e.rationale) || d(e.rationale));
103
- return /* @__PURE__ */ w(V, {
104
- extraCSSRules: c,
105
- id: "main-container",
106
- fontSizeFactor: F,
107
- children: [
108
- e.teacherInstructions && (f(e.teacherInstructions) || d(e.teacherInstructions)) && /* @__PURE__ */ C(r.Fragment, { children: /* @__PURE__ */ C(W, {
109
- labels: {
110
- hidden: "Show Teacher Instructions",
111
- visible: "Hide Teacher Instructions"
112
- },
113
- children: /* @__PURE__ */ C(A, { prompt: e.teacherInstructions })
114
- }) }),
115
- e.prompt && /* @__PURE__ */ C(A, {
116
- prompt: e.prompt,
117
- autoplayAudioEnabled: g,
118
- customAudioButton: y
119
- }),
120
- /* @__PURE__ */ C(_, {
121
- show: a || k === !1,
122
- toggled: a,
123
- onToggle: this.toggleShowCorrect,
124
- language: m
125
- }),
126
- /* @__PURE__ */ w(U, {
127
- style: T,
128
- children: [/* @__PURE__ */ C("div", {
129
- style: {
130
- display: "flex",
131
- flex: 1
132
- },
133
- children: /* @__PURE__ */ C(n, {
134
- model: e,
135
- disabled: e.disabled,
136
- categories: D,
137
- onDropChoice: this.dropChoice,
138
- onRemoveChoice: this.removeChoice,
139
- rowLabels: (j || []).slice(0, R)
140
- })
141
- }), /* @__PURE__ */ C(t, {
142
- disabled: e.disabled,
143
- model: e,
144
- choices: O,
145
- choicePosition: S,
146
- onDropChoice: this.dropChoice,
147
- onRemoveChoice: this.removeChoice,
148
- correct: k
149
- })]
150
- }),
151
- B && /* @__PURE__ */ C(H, { dangerouslySetInnerHTML: { __html: l } }),
152
- J && /* @__PURE__ */ C(W, {
153
- labels: {
154
- hidden: "Show Rationale",
155
- visible: "Hide Rationale"
156
- },
157
- children: /* @__PURE__ */ C(A, { prompt: e.rationale })
158
- }),
159
- e.correctness && e.feedback && !a && /* @__PURE__ */ C(M, {
160
- correctness: e.correctness,
161
- feedback: e.feedback
162
- }),
163
- /* @__PURE__ */ C(E, {
164
- title: K,
165
- text: G,
166
- open: o,
167
- onCloseText: q,
168
- onClose: () => this.setState({ showMaxChoiceAlert: !1 })
169
- })
170
- ]
171
- });
172
- }
173
- }, B = class extends r.Component {
174
- static propTypes = {
175
- model: p.object,
176
- session: p.shape({ answers: p.arrayOf(p.shape({
177
- choice: p.string,
178
- category: p.string
179
- })) }),
180
- onAnswersChange: p.func.isRequired,
181
- onShowCorrectToggle: p.func.isRequired,
182
- pauseMathObserver: p.func,
183
- resumeMathObserver: p.func
184
- };
185
- constructor(e) {
186
- super(e), this.uid = S.generateId(), this.state = {
187
- activeDragItem: null,
188
- isValidDrop: !1
189
- };
190
- }
191
- onDragStart = (e) => {
192
- let { active: t } = e, { pauseMathObserver: n } = this.props;
193
- n && n(), t?.data?.current && this.setState({
194
- activeDragItem: t.data.current,
195
- isValidDrop: !1
196
- });
197
- };
198
- onDragEnd = (e) => {
199
- let { active: t, over: n } = e, { resumeMathObserver: r } = this.props, i = t?.data?.current, a = n?.data?.current, o = n && t && i && i.type === "choice" && a && a.itemType === "categorize";
200
- if (this.setState({
201
- activeDragItem: null,
202
- isValidDrop: o
203
- }), r && r(), !t || !i || i.type !== "choice") return;
204
- let s = {
205
- id: i.id,
206
- categoryId: i.categoryId,
207
- choiceIndex: i.choiceIndex,
208
- value: i.value,
209
- itemType: i.itemType
210
- };
211
- if (!n) {
212
- this.categorizeRef && this.categorizeRef.removeChoice && i.categoryId && this.categorizeRef.removeChoice(s);
213
- return;
214
- }
215
- if (n.id === "choices-board") {
216
- this.categorizeRef && this.categorizeRef.removeChoice && i.categoryId && this.categorizeRef.removeChoice(s);
217
- return;
218
- }
219
- this.categorizeRef && this.categorizeRef.dropChoice && this.categorizeRef.dropChoice(n.id, s);
220
- };
221
- renderDragOverlay = () => {
222
- let { activeDragItem: t } = this.state, { model: n } = this.props;
223
- if (!t) return null;
224
- if (t.type === "choice") {
225
- let r = n.choices?.find((e) => e.id === t.id);
226
- if (r) return /* @__PURE__ */ C(e, {
227
- id: r.id,
228
- ...r
229
- }, r.id);
230
- }
231
- return null;
232
- };
233
- render() {
234
- let { isValidDrop: e } = this.state, t = e ? null : void 0;
235
- return /* @__PURE__ */ C(x, {
236
- onDragStart: this.onDragStart,
237
- onDragEnd: this.onDragEnd,
238
- children: /* @__PURE__ */ w(S.Provider, {
239
- value: this.uid,
240
- children: [/* @__PURE__ */ C(z, {
241
- ref: (e) => this.categorizeRef = e,
242
- ...this.props
243
- }), /* @__PURE__ */ C(g, {
244
- dropAnimation: t,
245
- children: /* @__PURE__ */ C(R, { children: this.renderDragOverlay() })
246
- })]
247
- })
248
- });
249
- }
250
- }, V = h(k)({
251
- color: u.text(),
252
- backgroundColor: u.background(),
253
- position: "relative"
254
- }), H = h("div")(({ theme: e }) => ({ marginBottom: e.spacing(2) })), U = h("div")(({ theme: e }) => ({
255
- marginBottom: e.spacing(1),
256
- display: "flex",
257
- flexDirection: "column"
258
- })), W = h(j)(({ theme: e }) => ({ paddingBottom: e.spacing(2) }));
259
- //#endregion
260
- export { B as default };
@@ -1,27 +0,0 @@
1
- /**
2
- * @synced-from pie-elements/packages/categorize/src/index.js
3
- * @auto-generated
4
- *
5
- * This file is automatically synced from pie-elements and converted to TypeScript.
6
- * Manual edits will be overwritten on next sync.
7
- * To make changes, edit the upstream JavaScript file and run sync again.
8
- */
9
- export default class Categorize extends HTMLElement {
10
- constructor();
11
- _scheduleMathRender: any;
12
- _initMathObserver(): void;
13
- _disconnectMathObserver(): void;
14
- pauseMathObserver: any;
15
- resumeMathObserver: any;
16
- set model(m: any);
17
- isComplete(): any;
18
- set session(s: any);
19
- get session(): any;
20
- eliminateBlindAnswersFromSession(): void;
21
- changeAnswers(answers: any): void;
22
- onShowCorrectToggle(): void;
23
- _createAudioInfoToast(): HTMLDivElement;
24
- connectedCallback(): void;
25
- disconnectedCallback(): void;
26
- render(): void;
27
- }
@@ -1,152 +0,0 @@
1
- import e from "./categorize/index.js";
2
- import t from "react";
3
- import { createRoot as n } from "react-dom/client";
4
- import { renderMath as r } from "@pie-element/shared-math-rendering-mathjax";
5
- import * as i from "@pie-lib/render-ui";
6
- import { EnableAudioAutoplayImage as a } from "@pie-lib/render-ui";
7
- import { ModelSetEvent as o, SessionChangedEvent as s } from "@pie-element/shared-player-events";
8
- //#region src/delivery/index.ts
9
- function c(e) {
10
- return typeof e == "function" || typeof e == "object" && !!e && typeof e.$$typeof == "symbol";
11
- }
12
- function l(e, t) {
13
- return !e || c(e) ? e : c(e.default) ? e.default : t && c(e[t]) ? e[t] : t && c(e[t]?.default) ? e[t].default : e;
14
- }
15
- var u = l(a, "EnableAudioAutoplayImage") || l(p.EnableAudioAutoplayImage, "EnableAudioAutoplayImage"), d = i, f = d.default, p = f && typeof f == "object" ? f : d, m = class extends HTMLElement {
16
- constructor() {
17
- super(), this._root = null, this._mathObserver = null, this._mathRenderPending = !1;
18
- }
19
- _scheduleMathRender = () => {
20
- this._mathRenderPending || (this._mathRenderPending = !0, requestAnimationFrame(() => {
21
- this._mathObserver && !this._mathObserverPaused && this._mathObserver.disconnect(), r(this), this._mathRenderPending = !1, setTimeout(() => {
22
- this._mathObserver && !this._mathObserverPaused && this._mathObserver.observe(this, {
23
- childList: !0,
24
- subtree: !0,
25
- characterData: !1
26
- });
27
- }, 50);
28
- }));
29
- };
30
- _initMathObserver() {
31
- this._mathObserver || (this._mathObserver = new MutationObserver(() => {
32
- this._scheduleMathRender();
33
- }), this._mathObserver.observe(this, {
34
- childList: !0,
35
- subtree: !0,
36
- characterData: !1
37
- }));
38
- }
39
- _disconnectMathObserver() {
40
- this._mathObserver &&= (this._mathObserver.disconnect(), null);
41
- }
42
- pauseMathObserver = () => {
43
- this._mathObserver && (this._mathObserver.disconnect(), this._mathObserverPaused = !0);
44
- };
45
- resumeMathObserver = () => {
46
- this._mathObserverPaused && (this._mathObserverPaused = !1, this._mathObserver && this._mathObserver.observe(this, {
47
- childList: !0,
48
- subtree: !0,
49
- characterData: !1
50
- }));
51
- };
52
- set model(e) {
53
- this._model = e, this.eliminateBlindAnswersFromSession(), this.dispatchEvent(new o(this.tagName.toLowerCase(), this.isComplete(), !!this._model)), this._audioInitialized = !1, this.render();
54
- }
55
- isComplete() {
56
- let { autoplayAudioEnabled: e, choices: t, completeAudioEnabled: n, hasUnplacedChoices: r, possibleResponses: i, responseAreasToBeFilled: a } = this._model || {}, o = this;
57
- if (e && n && !this.audioComplete && o) {
58
- let e = o.querySelector("audio"), t = e && e.closest("#preview-prompt");
59
- if (e && t) return !1;
60
- }
61
- if (!this._session || !this._session.answers) return !1;
62
- let { answers: s } = this._session;
63
- if (!Array.isArray(s)) return !1;
64
- let c = s.filter((e) => e.choices.length).length >= a;
65
- if ((t || []).some((e) => e.categoryCount === 0) || r) return c;
66
- let l = s.map((e) => e.choices).flat();
67
- return (i || []).some((e) => e.every((e) => l.includes(e)));
68
- }
69
- set session(e) {
70
- e && !e.answers && (e.answers = []), this._session = e, this.render();
71
- }
72
- get session() {
73
- return this._session;
74
- }
75
- eliminateBlindAnswersFromSession() {
76
- let { answers: e = [] } = this._session || {}, { choices: t = [] } = this._model || {}, n = t.map((e) => e.id) || [], r = e.map((e) => (e.choices = (e?.choices || []).filter((e) => n.includes(e)), e));
77
- r.length > 0 && this.changeAnswers(r);
78
- }
79
- changeAnswers(e) {
80
- this._session.answers = e, this._session.selector = "Mouse", this.dispatchEvent(new s(this.tagName.toLowerCase(), this.isComplete())), this.render();
81
- }
82
- onShowCorrectToggle() {
83
- r(this);
84
- }
85
- _createAudioInfoToast() {
86
- let e = document.createElement("div");
87
- e.id = "play-audio-info", Object.assign(e.style, {
88
- position: "absolute",
89
- top: 0,
90
- width: "100%",
91
- height: "100%",
92
- display: "flex",
93
- justifyContent: "center",
94
- alignItems: "center",
95
- background: "white",
96
- zIndex: "1000",
97
- cursor: "pointer"
98
- });
99
- let t = document.createElement("img");
100
- return t.src = u, t.alt = "Click anywhere to enable audio autoplay", t.width = 500, t.height = 300, e.appendChild(t), e;
101
- }
102
- connectedCallback() {
103
- this._initMathObserver(), new MutationObserver((e, t) => {
104
- e.forEach((e) => {
105
- if (e.type === "childList") {
106
- if (this._audioInitialized) return;
107
- let e = this.querySelector("audio"), n = e && e.closest("#preview-prompt");
108
- if (!this._model || !this._model.autoplayAudioEnabled || e && !n || !e) return;
109
- let r = this._createAudioInfoToast(), i = this.querySelector("#main-container"), a = () => {
110
- this.querySelector("#play-audio-info") && (e.play(), i.removeChild(r)), document.removeEventListener("click", a);
111
- };
112
- setTimeout(() => {
113
- e.paused && !this.querySelector("#play-audio-info") ? (i.appendChild(r), document.addEventListener("click", a)) : document.removeEventListener("click", a);
114
- }, 500);
115
- let o = () => {
116
- this._session.audioStartTime = this._session.audioStartTime || (/* @__PURE__ */ new Date()).getTime();
117
- let t = this.querySelector("#play-audio-info");
118
- t && i.removeChild(t), e.removeEventListener("playing", o);
119
- };
120
- e.addEventListener("playing", o);
121
- let c = () => {
122
- this._session.audioEndTime = this._session.audioEndTime || (/* @__PURE__ */ new Date()).getTime();
123
- let { audioStartTime: t, audioEndTime: n, waitTime: r } = this._session;
124
- !r && t && n && (this._session.waitTime = n - t), this.audioComplete = !0, this.dispatchEvent(new s(this.tagName.toLowerCase(), this.isComplete())), e.removeEventListener("ended", c);
125
- };
126
- e.addEventListener("ended", c), this._audio = e, this._handlePlaying = o, this._handleEnded = c, this._enableAudio = a, this._audioInitialized = !0, t.disconnect();
127
- }
128
- });
129
- }).observe(this, {
130
- childList: !0,
131
- subtree: !0
132
- });
133
- }
134
- disconnectedCallback() {
135
- this._disconnectMathObserver(), document.removeEventListener("click", this._enableAudio), this._audio &&= (this._audio.removeEventListener("playing", this._handlePlaying), this._audio.removeEventListener("ended", this._handleEnded), null), this._root && this._root.unmount();
136
- }
137
- render() {
138
- if (this._model && this._session) {
139
- let r = t.createElement(e, {
140
- model: this._model,
141
- session: this._session,
142
- onAnswersChange: this.changeAnswers.bind(this),
143
- onShowCorrectToggle: this.onShowCorrectToggle.bind(this),
144
- pauseMathObserver: this.pauseMathObserver,
145
- resumeMathObserver: this.resumeMathObserver
146
- });
147
- this._root ||= n(this), this._root.render(r);
148
- }
149
- }
150
- };
151
- //#endregion
152
- export { m as default };
package/dist/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export { default } from './delivery/index.js';
@@ -1,8 +0,0 @@
1
- /**
2
- * IIFE entry point for categorize element
3
- * This file is only used for IIFE builds and includes auto-registration
4
- *
5
- * @sync-generated - Auto-generated during sync from pie-elements
6
- */
7
- import Element from './index.js';
8
- export default Element;