@pie-element/categorize 13.1.0-next.19 → 13.1.1-next.1

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/dist/author/defaults.d.ts +223 -0
  2. package/dist/author/defaults.js +170 -0
  3. package/dist/author/design/builder.d.ts +10 -0
  4. package/dist/author/design/builder.js +24 -0
  5. package/dist/author/design/buttons.d.ts +28 -0
  6. package/dist/author/design/buttons.js +36 -0
  7. package/dist/author/design/categories/RowLabel.d.ts +23 -0
  8. package/dist/author/design/categories/RowLabel.js +47 -0
  9. package/dist/author/design/categories/alternateResponses.d.ts +31 -0
  10. package/dist/author/design/categories/alternateResponses.js +62 -0
  11. package/dist/author/design/categories/category.d.ts +44 -0
  12. package/dist/author/design/categories/category.js +98 -0
  13. package/dist/author/design/categories/choice-preview.d.ts +25 -0
  14. package/dist/author/design/categories/choice-preview.js +60 -0
  15. package/dist/author/design/categories/droppable-placeholder.d.ts +11 -0
  16. package/dist/author/design/categories/droppable-placeholder.js +71 -0
  17. package/dist/author/design/categories/index.d.ts +41 -0
  18. package/dist/author/design/categories/index.js +146 -0
  19. package/dist/author/design/choices/choice.d.ts +11 -0
  20. package/dist/author/design/choices/choice.js +129 -0
  21. package/dist/author/design/choices/config.d.ts +21 -0
  22. package/dist/author/design/choices/config.js +33 -0
  23. package/dist/author/design/choices/index.d.ts +41 -0
  24. package/dist/author/design/choices/index.js +110 -0
  25. package/dist/author/design/header.d.ts +24 -0
  26. package/dist/author/design/header.js +49 -0
  27. package/dist/author/design/index.d.ts +52 -0
  28. package/dist/author/design/index.js +417 -0
  29. package/dist/author/design/input-header.d.ts +39 -0
  30. package/dist/author/design/input-header.js +69 -0
  31. package/dist/author/design/utils.d.ts +9 -0
  32. package/dist/author/design/utils.js +7 -0
  33. package/dist/author/index.d.ts +51 -0
  34. package/dist/author/index.js +87 -0
  35. package/dist/author/main.d.ts +23 -0
  36. package/dist/author/main.js +30 -0
  37. package/dist/author/utils.d.ts +16 -0
  38. package/dist/author/utils.js +17 -0
  39. package/dist/controller/defaults.d.ts +34 -0
  40. package/dist/controller/defaults.js +29 -0
  41. package/dist/controller/index.d.ts +61 -0
  42. package/dist/controller/index.js +155 -0
  43. package/dist/controller/utils.d.ts +20 -0
  44. package/dist/controller/utils.js +35 -0
  45. package/dist/delivery/categorize/categories.d.ts +34 -0
  46. package/dist/delivery/categorize/categories.js +66 -0
  47. package/dist/delivery/categorize/category.d.ts +28 -0
  48. package/dist/delivery/categorize/category.js +48 -0
  49. package/dist/delivery/categorize/choice.d.ts +27 -0
  50. package/dist/delivery/categorize/choice.js +94 -0
  51. package/dist/delivery/categorize/choices.d.ts +39 -0
  52. package/dist/delivery/categorize/choices.js +51 -0
  53. package/dist/delivery/categorize/droppable-placeholder.d.ts +32 -0
  54. package/dist/delivery/categorize/droppable-placeholder.js +64 -0
  55. package/dist/delivery/categorize/grid-content.d.ts +25 -0
  56. package/dist/delivery/categorize/grid-content.js +39 -0
  57. package/dist/delivery/categorize/index.d.ts +57 -0
  58. package/dist/delivery/categorize/index.js +260 -0
  59. package/dist/delivery/index.d.ts +27 -0
  60. package/dist/delivery/index.js +152 -0
  61. package/dist/index.d.ts +1 -0
  62. package/dist/index.iife.d.ts +8 -0
  63. package/dist/index.iife.js +152 -0
  64. package/dist/index.js +2 -0
  65. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +6 -0
  66. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +16 -0
  67. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +16 -0
  68. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +6 -0
  69. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +16 -0
  70. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +6 -0
  71. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +6 -0
  72. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +14 -0
  73. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +5 -0
  74. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +5 -0
  75. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +6 -0
  76. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +7 -0
  77. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +10 -0
  78. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
  79. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +7 -0
  80. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +10 -0
  81. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +8 -0
  82. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +8 -0
  83. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +8 -0
  84. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +12 -0
  85. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +57 -0
  86. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +14 -0
  87. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  88. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +10 -0
  89. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +9 -0
  90. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +9 -0
  91. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +11 -0
  92. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +9 -0
  93. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
  94. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +12 -0
  95. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +13 -0
  96. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +7 -0
  97. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +8 -0
  98. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  99. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +10 -0
  100. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +8 -0
  101. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +8 -0
  102. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +8 -0
  103. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  104. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +8 -0
  105. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +14 -0
  106. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +8 -0
  107. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +8 -0
  108. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +5 -0
  109. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +10 -0
  110. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +4 -0
  111. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +9 -0
  112. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +9 -0
  113. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +8 -0
  114. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +9 -0
  115. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +5 -0
  116. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +14 -0
  117. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +10 -0
  118. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +11 -0
  119. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +23 -0
  120. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +6 -0
  121. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +7 -0
  122. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +7 -0
  123. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +13 -0
  124. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +9 -0
  125. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +9 -0
  126. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +8 -0
  127. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +33 -0
  128. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +9 -0
  129. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +8 -0
  130. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +7 -0
  131. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +11 -0
  132. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +8 -0
  133. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +6 -0
  134. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +9 -0
  135. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +8 -0
  136. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +7 -0
  137. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +8 -0
  138. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +13 -0
  139. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  140. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +7 -0
  141. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +7 -0
  142. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +8 -0
  143. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +5 -0
  144. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +5 -0
  145. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +8 -0
  146. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +9 -0
  147. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +7 -0
  148. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +8 -0
  149. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +5 -0
  150. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +7 -0
  151. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +7 -0
  152. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +6 -0
  153. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +6 -0
  154. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +16 -0
  155. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +15 -0
  156. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +8 -0
  157. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +6 -0
  158. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +10 -0
  159. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +4 -0
  160. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +8 -0
  161. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +6 -0
  162. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +21 -0
  163. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +11 -0
  164. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +7 -0
  165. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +7 -0
  166. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +7 -0
  167. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +6 -0
  168. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +7 -0
  169. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +7 -0
  170. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +9 -0
  171. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +9 -0
  172. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +6 -0
  173. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +6 -0
  174. package/package.json +53 -17
  175. package/CHANGELOG.json +0 -1637
  176. package/CHANGELOG.md +0 -2524
  177. package/LICENSE.md +0 -5
  178. package/README.md +0 -5
  179. package/configure/CHANGELOG.json +0 -1202
  180. package/configure/CHANGELOG.md +0 -2107
  181. package/configure/lib/defaults.js +0 -222
  182. package/configure/lib/defaults.js.map +0 -1
  183. package/configure/lib/design/builder.js +0 -55
  184. package/configure/lib/design/builder.js.map +0 -1
  185. package/configure/lib/design/buttons.js +0 -59
  186. package/configure/lib/design/buttons.js.map +0 -1
  187. package/configure/lib/design/categories/RowLabel.js +0 -66
  188. package/configure/lib/design/categories/RowLabel.js.map +0 -1
  189. package/configure/lib/design/categories/alternateResponses.js +0 -116
  190. package/configure/lib/design/categories/alternateResponses.js.map +0 -1
  191. package/configure/lib/design/categories/category.js +0 -153
  192. package/configure/lib/design/categories/category.js.map +0 -1
  193. package/configure/lib/design/categories/choice-preview.js +0 -79
  194. package/configure/lib/design/categories/choice-preview.js.map +0 -1
  195. package/configure/lib/design/categories/droppable-placeholder.js +0 -93
  196. package/configure/lib/design/categories/droppable-placeholder.js.map +0 -1
  197. package/configure/lib/design/categories/index.js +0 -256
  198. package/configure/lib/design/categories/index.js.map +0 -1
  199. package/configure/lib/design/choices/choice.js +0 -187
  200. package/configure/lib/design/choices/choice.js.map +0 -1
  201. package/configure/lib/design/choices/config.js +0 -58
  202. package/configure/lib/design/choices/config.js.map +0 -1
  203. package/configure/lib/design/choices/index.js +0 -197
  204. package/configure/lib/design/choices/index.js.map +0 -1
  205. package/configure/lib/design/header.js +0 -71
  206. package/configure/lib/design/header.js.map +0 -1
  207. package/configure/lib/design/index.js +0 -727
  208. package/configure/lib/design/index.js.map +0 -1
  209. package/configure/lib/design/input-header.js +0 -105
  210. package/configure/lib/design/input-header.js.map +0 -1
  211. package/configure/lib/design/utils.js +0 -12
  212. package/configure/lib/design/utils.js.map +0 -1
  213. package/configure/lib/index.js +0 -147
  214. package/configure/lib/index.js.map +0 -1
  215. package/configure/lib/main.js +0 -44
  216. package/configure/lib/main.js.map +0 -1
  217. package/configure/lib/utils.js +0 -43
  218. package/configure/lib/utils.js.map +0 -1
  219. package/configure/package.json +0 -32
  220. package/controller/CHANGELOG.json +0 -452
  221. package/controller/CHANGELOG.md +0 -1366
  222. package/controller/lib/defaults.js +0 -33
  223. package/controller/lib/defaults.js.map +0 -1
  224. package/controller/lib/index.js +0 -479
  225. package/controller/lib/index.js.map +0 -1
  226. package/controller/lib/utils.js +0 -69
  227. package/controller/lib/utils.js.map +0 -1
  228. package/controller/package.json +0 -18
  229. package/docs/config-schema.json +0 -2897
  230. package/docs/config-schema.json.md +0 -2138
  231. package/docs/demo/config.js +0 -8
  232. package/docs/demo/generate.js +0 -357
  233. package/docs/demo/index.html +0 -1
  234. package/docs/demo/session.js +0 -12
  235. package/docs/pie-schema.json +0 -1784
  236. package/docs/pie-schema.json.md +0 -1046
  237. package/lib/categorize/categories.js +0 -135
  238. package/lib/categorize/categories.js.map +0 -1
  239. package/lib/categorize/category.js +0 -67
  240. package/lib/categorize/category.js.map +0 -1
  241. package/lib/categorize/choice.js +0 -140
  242. package/lib/categorize/choice.js.map +0 -1
  243. package/lib/categorize/choices.js +0 -99
  244. package/lib/categorize/choices.js.map +0 -1
  245. package/lib/categorize/droppable-placeholder.js +0 -84
  246. package/lib/categorize/droppable-placeholder.js.map +0 -1
  247. package/lib/categorize/grid-content.js +0 -55
  248. package/lib/categorize/grid-content.js.map +0 -1
  249. package/lib/categorize/index.js +0 -450
  250. package/lib/categorize/index.js.map +0 -1
  251. package/lib/index.js +0 -316
  252. package/lib/index.js.map +0 -1
@@ -1,153 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.Category = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
- var _Card = _interopRequireDefault(require("@mui/material/Card"));
13
- var _CardActions = _interopRequireDefault(require("@mui/material/CardActions"));
14
- var _inputHeader = _interopRequireDefault(require("../input-header"));
15
- var _buttons = require("../buttons");
16
- var _droppablePlaceholder = _interopRequireDefault(require("./droppable-placeholder"));
17
- const StyledCard = (0, _styles.styled)(_Card.default, {
18
- shouldForwardProp: prop => prop !== 'isDuplicated'
19
- })(({
20
- theme,
21
- isDuplicated
22
- }) => ({
23
- minWidth: '196px',
24
- padding: theme.spacing(1),
25
- overflow: 'visible',
26
- ...(isDuplicated && {
27
- border: '1px solid red'
28
- })
29
- }));
30
- const StyledCardActions = (0, _styles.styled)(_CardActions.default)(({
31
- theme
32
- }) => ({
33
- padding: `${theme.spacing(1)} 0 0`
34
- }));
35
- const CategoryHeader = (0, _styles.styled)('div')(({
36
- theme
37
- }) => ({
38
- padding: theme.spacing(2),
39
- '& p': {
40
- margin: 0
41
- }
42
- }));
43
- const ErrorText = (0, _styles.styled)('div')(({
44
- theme
45
- }) => ({
46
- fontSize: theme.typography.fontSize - 2,
47
- color: theme.palette.error.main,
48
- paddingBottom: theme.spacing(1)
49
- }));
50
- class Category extends _react.default.Component {
51
- constructor(...args) {
52
- super(...args);
53
- (0, _defineProperty2.default)(this, "changeLabel", l => {
54
- const {
55
- category,
56
- onChange
57
- } = this.props;
58
- category.label = l;
59
- onChange(category);
60
- });
61
- }
62
- render() {
63
- const {
64
- alternateResponseIndex,
65
- category,
66
- configuration,
67
- deleteFocusedEl,
68
- focusedEl,
69
- index,
70
- error,
71
- isDuplicated,
72
- onDelete,
73
- onDeleteChoice,
74
- imageSupport,
75
- spellCheck,
76
- toolbarOpts,
77
- maxImageWidth,
78
- maxImageHeight,
79
- uploadSoundSupport,
80
- mathMlOptions = {}
81
- } = this.props;
82
- const isCategoryHeaderDisabled = !!alternateResponseIndex || alternateResponseIndex === 0;
83
- return /*#__PURE__*/_react.default.createElement(StyledCard, {
84
- isDuplicated: isDuplicated
85
- }, /*#__PURE__*/_react.default.createElement("span", null, !isCategoryHeaderDisabled ? /*#__PURE__*/_react.default.createElement(_inputHeader.default, {
86
- label: category.label,
87
- focusedEl: focusedEl,
88
- deleteFocusedEl: deleteFocusedEl,
89
- index: index,
90
- disabled: !!alternateResponseIndex || alternateResponseIndex === 0,
91
- error: error,
92
- onChange: this.changeLabel,
93
- onDelete: onDelete,
94
- imageSupport: imageSupport,
95
- toolbarOpts: toolbarOpts,
96
- spellCheck: spellCheck,
97
- maxImageWidth: maxImageWidth,
98
- maxImageHeight: maxImageHeight,
99
- uploadSoundSupport: uploadSoundSupport,
100
- mathMlOptions: mathMlOptions,
101
- configuration: configuration
102
- }) : /*#__PURE__*/_react.default.createElement(CategoryHeader, {
103
- dangerouslySetInnerHTML: {
104
- __html: category.label
105
- }
106
- }), error && /*#__PURE__*/_react.default.createElement(ErrorText, null, error)), /*#__PURE__*/_react.default.createElement(_droppablePlaceholder.default, {
107
- alternateResponseIndex: alternateResponseIndex,
108
- category: category,
109
- choices: category.choices,
110
- onDeleteChoice: onDeleteChoice,
111
- categoryId: category.id,
112
- extraStyles: {
113
- minHeight: '100px'
114
- },
115
- isAlternate: this.props.isAlternate
116
- }), onDelete && /*#__PURE__*/_react.default.createElement(StyledCardActions, null, /*#__PURE__*/_react.default.createElement(_buttons.DeleteButton, {
117
- label: 'delete',
118
- onClick: onDelete
119
- })));
120
- }
121
- }
122
- exports.Category = Category;
123
- (0, _defineProperty2.default)(Category, "propTypes", {
124
- alternateResponseIndex: _propTypes.default.number,
125
- category: _propTypes.default.object.isRequired,
126
- configuration: _propTypes.default.object.isRequired,
127
- defaultImageMaxHeight: _propTypes.default.number,
128
- defaultImageMaxWidth: _propTypes.default.number,
129
- deleteFocusedEl: _propTypes.default.func,
130
- focusedEl: _propTypes.default.number,
131
- index: _propTypes.default.number,
132
- error: _propTypes.default.string,
133
- isDuplicated: _propTypes.default.bool,
134
- maxImageWidth: _propTypes.default.object,
135
- maxImageHeight: _propTypes.default.object,
136
- onChange: _propTypes.default.func,
137
- onDelete: _propTypes.default.func,
138
- onDeleteChoice: _propTypes.default.func,
139
- imageSupport: _propTypes.default.shape({
140
- add: _propTypes.default.func.isRequired,
141
- delete: _propTypes.default.func.isRequired
142
- }),
143
- toolbarOpts: _propTypes.default.object,
144
- spellCheck: _propTypes.default.bool,
145
- uploadSoundSupport: _propTypes.default.shape({
146
- add: _propTypes.default.func.isRequired,
147
- delete: _propTypes.default.func.isRequired
148
- }),
149
- isAlternate: _propTypes.default.bool
150
- });
151
- (0, _defineProperty2.default)(Category, "defaultProps", {});
152
- var _default = exports.default = Category;
153
- //# sourceMappingURL=category.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"category.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Card","_CardActions","_inputHeader","_buttons","_droppablePlaceholder","StyledCard","styled","Card","shouldForwardProp","prop","theme","isDuplicated","minWidth","padding","spacing","overflow","border","StyledCardActions","CardActions","CategoryHeader","margin","ErrorText","fontSize","typography","color","palette","error","main","paddingBottom","Category","React","Component","constructor","args","_defineProperty2","default","l","category","onChange","props","label","render","alternateResponseIndex","configuration","deleteFocusedEl","focusedEl","index","onDelete","onDeleteChoice","imageSupport","spellCheck","toolbarOpts","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","isCategoryHeaderDisabled","createElement","disabled","changeLabel","dangerouslySetInnerHTML","__html","choices","categoryId","id","extraStyles","minHeight","isAlternate","DeleteButton","onClick","exports","PropTypes","number","object","isRequired","defaultImageMaxHeight","defaultImageMaxWidth","func","string","bool","shape","add","delete","_default"],"sources":["../../../src/design/categories/category.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Card from '@mui/material/Card';\nimport CardActions from '@mui/material/CardActions';\n\nimport InputHeader from '../input-header';\nimport { DeleteButton } from '../buttons';\nimport PlaceHolder from './droppable-placeholder';\n\nconst StyledCard = styled(Card, {\n shouldForwardProp: (prop) => prop !== 'isDuplicated',\n})(({ theme, isDuplicated }) => ({\n minWidth: '196px',\n padding: theme.spacing(1),\n overflow: 'visible',\n ...(isDuplicated && {\n border: '1px solid red',\n }),\n}));\n\nconst StyledCardActions = styled(CardActions)(({ theme }) => ({\n padding: `${theme.spacing(1)} 0 0`,\n}));\n\nconst CategoryHeader = styled('div')(({ theme }) => ({\n padding: theme.spacing(2),\n '& p': {\n margin: 0,\n },\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingBottom: theme.spacing(1),\n}));\n\nexport class Category extends React.Component {\n static propTypes = {\n alternateResponseIndex: PropTypes.number,\n category: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n defaultImageMaxHeight: PropTypes.number,\n defaultImageMaxWidth: PropTypes.number,\n deleteFocusedEl: PropTypes.func,\n focusedEl: PropTypes.number,\n index: PropTypes.number,\n error: PropTypes.string,\n isDuplicated: PropTypes.bool,\n maxImageWidth: PropTypes.object,\n maxImageHeight: PropTypes.object,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteChoice: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n toolbarOpts: PropTypes.object,\n spellCheck: PropTypes.bool,\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n isAlternate: PropTypes.bool,\n };\n\n static defaultProps = {};\n\n changeLabel = (l) => {\n const { category, onChange } = this.props;\n category.label = l;\n onChange(category);\n };\n\n render() {\n const {\n alternateResponseIndex,\n category,\n configuration,\n deleteFocusedEl,\n focusedEl,\n index,\n error,\n isDuplicated,\n onDelete,\n onDeleteChoice,\n imageSupport,\n spellCheck,\n toolbarOpts,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n const isCategoryHeaderDisabled = !!alternateResponseIndex || alternateResponseIndex === 0;\n\n return (\n <StyledCard isDuplicated={isDuplicated}>\n <span>\n {!isCategoryHeaderDisabled ? (\n <InputHeader\n label={category.label}\n focusedEl={focusedEl}\n deleteFocusedEl={deleteFocusedEl}\n index={index}\n disabled={!!alternateResponseIndex || alternateResponseIndex === 0}\n error={error}\n onChange={this.changeLabel}\n onDelete={onDelete}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n configuration={configuration}\n />\n ) : (\n <CategoryHeader\n dangerouslySetInnerHTML={{\n __html: category.label,\n }}\n />\n )}\n {error && <ErrorText>{error}</ErrorText>}\n </span>\n <PlaceHolder\n alternateResponseIndex={alternateResponseIndex}\n category={category}\n choices={category.choices}\n onDeleteChoice={onDeleteChoice}\n categoryId={category.id}\n extraStyles={{ minHeight: '100px', }}\n isAlternate={this.props.isAlternate}\n />\n {onDelete && (\n <StyledCardActions>\n <DeleteButton label={'delete'} onClick={onDelete} />\n </StyledCardActions>\n )}\n </StyledCard>\n );\n }\n}\n\nexport default Category;\n"],"mappings":"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","ignoreList":[]}
@@ -1,79 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.ChoicePreview = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
- var _drag = require("@pie-lib/drag");
13
- var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
14
- var _RemoveCircleOutline = _interopRequireDefault(require("@mui/icons-material/RemoveCircleOutline"));
15
- var _renderUi = require("@pie-lib/render-ui");
16
- const ChoicePreviewContainer = (0, _styles.styled)('div')({
17
- position: 'relative',
18
- overflow: 'auto',
19
- touchAction: 'none'
20
- });
21
- const DeleteIconButton = (0, _styles.styled)(_IconButton.default)({
22
- position: 'absolute',
23
- right: 0,
24
- top: 0,
25
- color: `${_renderUi.color.tertiary()} !important`
26
- });
27
- class ChoicePreview extends _react.default.Component {
28
- constructor(...args) {
29
- super(...args);
30
- (0, _defineProperty2.default)(this, "delete", () => {
31
- const {
32
- onDelete,
33
- choice
34
- } = this.props;
35
- onDelete(choice);
36
- });
37
- }
38
- render() {
39
- const {
40
- alternateResponseIndex,
41
- category,
42
- choice,
43
- choiceIndex
44
- } = this.props;
45
-
46
- // Generate unique ID for each instance to distinguish multiple instances of the same choice
47
- const categoryId = category && category.id;
48
- const uniqueId = alternateResponseIndex !== undefined ? `${choice.id}-${categoryId}-${choiceIndex}-alt-${alternateResponseIndex}` : `${choice.id}-${categoryId}-${choiceIndex}`;
49
- return /*#__PURE__*/_react.default.createElement(ChoicePreviewContainer, null, choice ? /*#__PURE__*/_react.default.createElement(_drag.DraggableChoice, {
50
- alternateResponseIndex: alternateResponseIndex,
51
- category: category,
52
- choice: choice,
53
- choiceIndex: choiceIndex,
54
- onRemoveChoice: this.delete,
55
- type: 'choice-preview',
56
- id: uniqueId,
57
- categoryId: categoryId
58
- }, /*#__PURE__*/_react.default.createElement(_renderUi.HtmlAndMath, {
59
- html: choice?.content
60
- })) : null, /*#__PURE__*/_react.default.createElement(DeleteIconButton, {
61
- "aria-label": "delete",
62
- onClick: this.delete,
63
- size: "large"
64
- }, /*#__PURE__*/_react.default.createElement(_RemoveCircleOutline.default, null)));
65
- }
66
- }
67
- exports.ChoicePreview = ChoicePreview;
68
- (0, _defineProperty2.default)(ChoicePreview, "propTypes", {
69
- alternateResponseIndex: _propTypes.default.number,
70
- category: _propTypes.default.object,
71
- choice: _propTypes.default.object.isRequired,
72
- choiceIndex: _propTypes.default.number,
73
- onDelete: _propTypes.default.func
74
- });
75
- (0, _defineProperty2.default)(ChoicePreview, "defaultProps", {
76
- onDelete: () => {}
77
- });
78
- var _default = exports.default = ChoicePreview;
79
- //# sourceMappingURL=choice-preview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"choice-preview.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_drag","_IconButton","_RemoveCircleOutline","_renderUi","ChoicePreviewContainer","styled","position","overflow","touchAction","DeleteIconButton","IconButton","right","top","color","tertiary","ChoicePreview","React","Component","constructor","args","_defineProperty2","default","onDelete","choice","props","render","alternateResponseIndex","category","choiceIndex","categoryId","id","uniqueId","undefined","createElement","DraggableChoice","onRemoveChoice","delete","type","HtmlAndMath","html","content","onClick","size","exports","PropTypes","number","object","isRequired","func","_default"],"sources":["../../../src/design/categories/choice-preview.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { DraggableChoice } from '@pie-lib/drag';\nimport IconButton from '@mui/material/IconButton';\nimport RemoveCircleOutlineIcon from '@mui/icons-material/RemoveCircleOutline';\nimport { HtmlAndMath } from '@pie-lib/render-ui';\nimport { color } from '@pie-lib/render-ui';\n\nconst ChoicePreviewContainer = styled('div')({\n position: 'relative',\n overflow: 'auto',\n touchAction: 'none',\n});\n\nconst DeleteIconButton = styled(IconButton)({\n position: 'absolute',\n right: 0,\n top: 0,\n color: `${color.tertiary()} !important`,\n});\n\nexport class ChoicePreview extends React.Component {\n static propTypes = {\n alternateResponseIndex: PropTypes.number,\n category: PropTypes.object,\n choice: PropTypes.object.isRequired,\n choiceIndex: PropTypes.number,\n onDelete: PropTypes.func,\n };\n static defaultProps = {\n onDelete: () => {},\n };\n\n delete = () => {\n const { onDelete, choice } = this.props;\n onDelete(choice);\n };\n\n render() {\n const { alternateResponseIndex, category, choice, choiceIndex } = this.props;\n\n // Generate unique ID for each instance to distinguish multiple instances of the same choice\n const categoryId = category && category.id;\n const uniqueId =\n alternateResponseIndex !== undefined\n ? `${choice.id}-${categoryId}-${choiceIndex}-alt-${alternateResponseIndex}`\n : `${choice.id}-${categoryId}-${choiceIndex}`;\n\n return (\n <ChoicePreviewContainer>\n {choice ? (\n <DraggableChoice\n alternateResponseIndex={alternateResponseIndex}\n category={category}\n choice={choice}\n choiceIndex={choiceIndex}\n onRemoveChoice={this.delete}\n type={'choice-preview'}\n id={uniqueId}\n categoryId={categoryId}\n >\n <HtmlAndMath html={choice?.content} />\n </DraggableChoice>\n ) : null}\n <DeleteIconButton aria-label=\"delete\" onClick={this.delete} size=\"large\">\n <RemoveCircleOutlineIcon />\n </DeleteIconButton>\n </ChoicePreviewContainer>\n );\n }\n}\n\nexport default ChoicePreview;\n"],"mappings":"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","ignoreList":[]}
@@ -1,93 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _styles = require("@mui/material/styles");
11
- var _choicePreview = _interopRequireDefault(require("./choice-preview"));
12
- var _core = require("@dnd-kit/core");
13
- var _drag = require("@pie-lib/drag");
14
- var _debug = _interopRequireDefault(require("debug"));
15
- const log = (0, _debug.default)('@pie-element:categorize:configure');
16
- const HelperText = (0, _styles.styled)('div')(({
17
- theme
18
- }) => ({
19
- display: 'flex',
20
- alignItems: 'center',
21
- justifyContent: 'center',
22
- fontSize: theme.typography.fontSize - 2,
23
- color: `rgba(${theme.palette.common.black}, 0.4)`,
24
- width: '100%',
25
- height: '100%'
26
- }));
27
- const Helper = () => /*#__PURE__*/_react.default.createElement(HelperText, null, "Drag your correct answers here");
28
- const Previews = ({
29
- alternateResponseIndex,
30
- category,
31
- choices,
32
- onDeleteChoice
33
- }) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (choices || []).map((c, index) => c && /*#__PURE__*/_react.default.createElement(_choicePreview.default, {
34
- alternateResponseIndex: alternateResponseIndex,
35
- category: category,
36
- choice: c,
37
- key: index,
38
- choiceIndex: index,
39
- onDelete: choice => onDeleteChoice(choice, index)
40
- })));
41
- Previews.propTypes = {
42
- alternateResponseIndex: _propTypes.default.number,
43
- category: _propTypes.default.object,
44
- choices: _propTypes.default.array,
45
- onDeleteChoice: _propTypes.default.func
46
- };
47
- const DroppablePlaceHolder = ({
48
- alternateResponseIndex,
49
- category,
50
- choices,
51
- onDeleteChoice,
52
- categoryId,
53
- isAlternate
54
- }) => {
55
- const {
56
- setNodeRef,
57
- isOver
58
- } = (0, _core.useDroppable)({
59
- id: `${categoryId}-${isAlternate ? 'alternate' : 'standard'}`,
60
- data: {
61
- accepts: ['choice', 'choice-preview'],
62
- alternateResponseIndex,
63
- categoryId,
64
- type: isAlternate ? 'category-alternate' : 'category',
65
- id: categoryId
66
- }
67
- });
68
- return /*#__PURE__*/_react.default.createElement("div", {
69
- ref: setNodeRef
70
- }, /*#__PURE__*/_react.default.createElement(_drag.PlaceHolder, {
71
- isOver: isOver,
72
- extraStyles: {
73
- width: '100%',
74
- minHeight: '100px',
75
- height: 'auto'
76
- }
77
- }, (choices || []).length === 0 ? /*#__PURE__*/_react.default.createElement(Helper, null) : /*#__PURE__*/_react.default.createElement(Previews, {
78
- alternateResponseIndex: alternateResponseIndex,
79
- category: category,
80
- choices: choices,
81
- onDeleteChoice: onDeleteChoice
82
- })));
83
- };
84
- DroppablePlaceHolder.propTypes = {
85
- alternateResponseIndex: _propTypes.default.number,
86
- category: _propTypes.default.object,
87
- choices: _propTypes.default.array,
88
- onDeleteChoice: _propTypes.default.func,
89
- categoryId: _propTypes.default.string.isRequired,
90
- isAlternate: _propTypes.default.bool
91
- };
92
- var _default = exports.default = _drag.uid.withUid(DroppablePlaceHolder);
93
- //# sourceMappingURL=droppable-placeholder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"droppable-placeholder.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_choicePreview","_core","_drag","_debug","log","debug","HelperText","styled","theme","display","alignItems","justifyContent","fontSize","typography","color","palette","common","black","width","height","Helper","default","createElement","Previews","alternateResponseIndex","category","choices","onDeleteChoice","Fragment","map","c","index","choice","key","choiceIndex","onDelete","propTypes","PropTypes","number","object","array","func","DroppablePlaceHolder","categoryId","isAlternate","setNodeRef","isOver","useDroppable","id","data","accepts","type","ref","PlaceHolder","extraStyles","minHeight","length","string","isRequired","bool","_default","exports","uid","withUid"],"sources":["../../../src/design/categories/droppable-placeholder.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport ChoicePreview from './choice-preview';\nimport { useDroppable } from '@dnd-kit/core';\nimport { uid, PlaceHolder } from '@pie-lib/drag';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:categorize:configure');\n\nconst HelperText = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: theme.typography.fontSize - 2,\n color: `rgba(${theme.palette.common.black}, 0.4)`,\n width: '100%',\n height: '100%',\n}));\n\nconst Helper = () => <HelperText>Drag your correct answers here</HelperText>;\n\nconst Previews = ({ alternateResponseIndex, category, choices, onDeleteChoice }) => (\n <React.Fragment>\n {(choices || []).map((c, index) =>\n c && (\n <ChoicePreview\n alternateResponseIndex={alternateResponseIndex}\n category={category}\n choice={c}\n key={index}\n choiceIndex={index}\n onDelete={(choice) => onDeleteChoice(choice, index)}\n />\n )\n )}\n </React.Fragment>\n);\n\nPreviews.propTypes = {\n alternateResponseIndex: PropTypes.number,\n category: PropTypes.object,\n choices: PropTypes.array,\n onDeleteChoice: PropTypes.func,\n};\n\nconst DroppablePlaceHolder = ({\n alternateResponseIndex,\n category,\n choices,\n onDeleteChoice,\n categoryId,\n isAlternate\n}) => {\n const { setNodeRef, isOver } = useDroppable({\n id: `${categoryId}-${isAlternate ? 'alternate' : 'standard'}`,\n data: {\n accepts: ['choice', 'choice-preview'],\n alternateResponseIndex,\n categoryId,\n type: isAlternate ? 'category-alternate' : 'category',\n id: categoryId,\n },\n });\n\n return (\n <div ref={setNodeRef}>\n <PlaceHolder\n isOver={isOver}\n extraStyles={{\n width: '100%',\n minHeight: '100px',\n height: 'auto',\n }}>\n {(choices || []).length === 0 ? (\n <Helper />\n ) : (\n <Previews\n alternateResponseIndex={alternateResponseIndex}\n category={category}\n choices={choices}\n onDeleteChoice={onDeleteChoice}\n />\n )}\n </PlaceHolder>\n </div>\n );\n};\n\nDroppablePlaceHolder.propTypes = {\n alternateResponseIndex: PropTypes.number,\n category: PropTypes.object,\n choices: PropTypes.array,\n onDeleteChoice: PropTypes.func,\n categoryId: PropTypes.string.isRequired,\n isAlternate: PropTypes.bool,\n};\n\nexport default uid.withUid(DroppablePlaceHolder);\n"],"mappings":"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","ignoreList":[]}
@@ -1,256 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.Categories = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
- var _configUi = require("@pie-lib/config-ui");
13
- var _Info = _interopRequireDefault(require("@mui/icons-material/Info"));
14
- var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
15
- var _categorize = require("@pie-lib/categorize");
16
- var _category = _interopRequireDefault(require("./category"));
17
- var _header = _interopRequireDefault(require("../header"));
18
- var _utils = require("../../utils");
19
- var _RowLabel = require("./RowLabel");
20
- const CategoriesContainer = (0, _styles.styled)('div')(({
21
- theme
22
- }) => ({
23
- marginBottom: theme.spacing(3)
24
- }));
25
- const CategoriesHolder = (0, _styles.styled)('div')(({
26
- theme
27
- }) => ({
28
- display: 'grid',
29
- gridRowGap: theme.spacing(1),
30
- gridColumnGap: theme.spacing(1)
31
- }));
32
- const StyledTooltip = (0, _styles.styled)(_Tooltip.default)(({
33
- theme
34
- }) => ({
35
- '& .MuiTooltip-tooltip': {
36
- fontSize: theme.typography.fontSize - 2,
37
- whiteSpace: 'pre',
38
- maxWidth: '500px'
39
- }
40
- }));
41
- const ErrorText = (0, _styles.styled)('div')(({
42
- theme
43
- }) => ({
44
- fontSize: theme.typography.fontSize - 2,
45
- color: theme.palette.error.main,
46
- paddingTop: theme.spacing(0.5)
47
- }));
48
- class Categories extends _react.default.Component {
49
- constructor(...args) {
50
- super(...args);
51
- (0, _defineProperty2.default)(this, "state", {
52
- focusedEl: null
53
- });
54
- (0, _defineProperty2.default)(this, "add", () => {
55
- const {
56
- model,
57
- categories: oldCategories
58
- } = this.props;
59
- const {
60
- categoriesPerRow,
61
- correctResponse,
62
- allowAlternateEnabled
63
- } = model;
64
- const id = _configUi.choiceUtils.firstAvailableIndex(model.categories.map(a => a.id), 1);
65
- const data = {
66
- id,
67
- label: 'Category ' + id
68
- };
69
- const addRowLabel = model.categories.length % categoriesPerRow === 0;
70
- const rowLabels = [...model.rowLabels];
71
- if (addRowLabel) {
72
- rowLabels.push('');
73
- }
74
- this.setState({
75
- focusedEl: oldCategories.length
76
- }, () => {
77
- this.props.onModelChanged({
78
- rowLabels,
79
- categories: model.categories.concat([data]),
80
- correctResponse: allowAlternateEnabled ? [...correctResponse, {
81
- category: id,
82
- choices: [],
83
- alternateResponses: []
84
- }] : correctResponse
85
- });
86
- });
87
- });
88
- (0, _defineProperty2.default)(this, "deleteFocusedEl", () => {
89
- this.setState({
90
- focusedEl: null
91
- });
92
- });
93
- (0, _defineProperty2.default)(this, "delete", category => {
94
- const {
95
- model,
96
- onModelChanged
97
- } = this.props;
98
- const index = model.categories.findIndex(a => a.id === category.id);
99
- if (index !== -1) {
100
- model.categories.splice(index, 1);
101
- model.correctResponse = (0, _categorize.removeCategory)(category.id, model.correctResponse);
102
- onModelChanged(model);
103
- }
104
- });
105
- (0, _defineProperty2.default)(this, "change", c => {
106
- const {
107
- categories
108
- } = this.props;
109
- const index = categories.findIndex(a => a.id === c.id);
110
- if (index !== -1) {
111
- categories.splice(index, 1, c);
112
- this.props.onModelChanged({
113
- categories
114
- });
115
- }
116
- });
117
- (0, _defineProperty2.default)(this, "deleteChoiceFromCategory", (category, choice, choiceIndex) => {
118
- const {
119
- model,
120
- onModelChanged
121
- } = this.props;
122
- const correctResponse = (0, _categorize.removeChoiceFromCategory)(choice.id, category.id, choiceIndex, model.correctResponse);
123
- onModelChanged({
124
- correctResponse
125
- });
126
- });
127
- (0, _defineProperty2.default)(this, "changeRowLabel", (val, index) => {
128
- const {
129
- model
130
- } = this.props;
131
- const {
132
- rowLabels
133
- } = model;
134
- const newRowLabels = [...rowLabels];
135
- if (newRowLabels.length < index) {
136
- newRowLabels.push(val);
137
- } else {
138
- newRowLabels[index] = val;
139
- }
140
- this.props.onModelChanged({
141
- rowLabels: newRowLabels
142
- });
143
- });
144
- }
145
- render() {
146
- const {
147
- model,
148
- categories,
149
- imageSupport,
150
- uploadSoundSupport,
151
- toolbarOpts,
152
- spellCheck,
153
- configuration,
154
- defaultImageMaxHeight,
155
- defaultImageMaxWidth,
156
- mathMlOptions = {}
157
- } = this.props;
158
- const {
159
- categoriesPerRow,
160
- rowLabels,
161
- errors
162
- } = model;
163
- const {
164
- associationError,
165
- categoriesError,
166
- categoriesErrors
167
- } = errors || {};
168
- const {
169
- maxCategories,
170
- maxImageWidth = {},
171
- maxImageHeight = {}
172
- } = configuration || {};
173
- const holderStyle = {
174
- gridTemplateColumns: `repeat(${categoriesPerRow}, 1fr)`
175
- };
176
- const validationMessage = (0, _utils.generateValidationMessage)(configuration);
177
- return /*#__PURE__*/_react.default.createElement(CategoriesContainer, null, /*#__PURE__*/_react.default.createElement(_header.default, {
178
- label: "Categories",
179
- buttonLabel: "ADD A CATEGORY",
180
- onAdd: this.add,
181
- info: /*#__PURE__*/_react.default.createElement(StyledTooltip, {
182
- disableFocusListener: true,
183
- disableTouchListener: true,
184
- placement: 'right',
185
- title: validationMessage
186
- }, /*#__PURE__*/_react.default.createElement(_Info.default, {
187
- fontSize: 'small',
188
- color: 'primary',
189
- style: {
190
- marginLeft: '5px'
191
- }
192
- })),
193
- buttonDisabled: maxCategories && categories && maxCategories === categories.length
194
- }), /*#__PURE__*/_react.default.createElement(CategoriesHolder, {
195
- style: holderStyle
196
- }, categories.map((category, index) => {
197
- const hasRowLabel = index % categoriesPerRow === 0;
198
- const rowIndex = index / categoriesPerRow;
199
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
200
- key: index
201
- }, hasRowLabel && /*#__PURE__*/_react.default.createElement(_RowLabel.RowLabel, {
202
- categoriesPerRow: categoriesPerRow,
203
- disabled: false,
204
- rowIndex: rowIndex,
205
- markup: rowLabels[rowIndex] || '',
206
- onChange: val => this.changeRowLabel(val, rowIndex),
207
- imageSupport: imageSupport,
208
- toolbarOpts: toolbarOpts,
209
- spellCheck: spellCheck,
210
- maxImageWidth: maxImageWidth && maxImageWidth.rowLabel || defaultImageMaxWidth,
211
- maxImageHeight: maxImageHeight && maxImageHeight.rowLabel || defaultImageMaxHeight,
212
- uploadSoundSupport: uploadSoundSupport,
213
- mathMlOptions: mathMlOptions,
214
- configuration: configuration
215
- }), /*#__PURE__*/_react.default.createElement(_category.default, {
216
- imageSupport: imageSupport,
217
- focusedEl: this.state.focusedEl,
218
- deleteFocusedEl: this.deleteFocusedEl,
219
- index: index,
220
- category: category,
221
- error: categoriesErrors && categoriesErrors[category.id],
222
- onChange: this.change,
223
- onDelete: () => this.delete(category),
224
- toolbarOpts: toolbarOpts,
225
- spellCheck: spellCheck,
226
- onDeleteChoice: (choice, choiceIndex) => this.deleteChoiceFromCategory(category, choice, choiceIndex),
227
- maxImageWidth: maxImageWidth && maxImageWidth.categoryLabel || defaultImageMaxWidth,
228
- maxImageHeight: maxImageHeight && maxImageHeight.categoryLabel || defaultImageMaxHeight,
229
- uploadSoundSupport: uploadSoundSupport,
230
- configuration: configuration,
231
- alternateResponseIndex: undefined
232
- }));
233
- })), associationError && /*#__PURE__*/_react.default.createElement(ErrorText, null, associationError), categoriesError && /*#__PURE__*/_react.default.createElement(ErrorText, null, categoriesError));
234
- }
235
- }
236
- exports.Categories = Categories;
237
- (0, _defineProperty2.default)(Categories, "propTypes", {
238
- defaultImageMaxHeight: _propTypes.default.number,
239
- defaultImageMaxWidth: _propTypes.default.number,
240
- imageSupport: _propTypes.default.shape({
241
- add: _propTypes.default.func.isRequired,
242
- delete: _propTypes.default.func.isRequired
243
- }),
244
- uploadSoundSupport: _propTypes.default.shape({
245
- add: _propTypes.default.func.isRequired,
246
- delete: _propTypes.default.func.isRequired
247
- }),
248
- categories: _propTypes.default.array,
249
- onModelChanged: _propTypes.default.func,
250
- model: _propTypes.default.object.isRequired,
251
- configuration: _propTypes.default.object.isRequired,
252
- toolbarOpts: _propTypes.default.object,
253
- spellCheck: _propTypes.default.bool
254
- });
255
- var _default = exports.default = Categories;
256
- //# sourceMappingURL=index.js.map