@pie-element/categorize 6.8.1 → 6.9.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 (50) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/configure/CHANGELOG.md +21 -0
  3. package/configure/lib/design/buttons.js +1 -1
  4. package/configure/lib/design/buttons.js.map +1 -1
  5. package/configure/lib/design/categories/alternateResponses.js +1 -1
  6. package/configure/lib/design/categories/alternateResponses.js.map +1 -1
  7. package/configure/lib/design/categories/category.js +1 -1
  8. package/configure/lib/design/categories/category.js.map +1 -1
  9. package/configure/lib/design/categories/choice-preview.js +4 -4
  10. package/configure/lib/design/categories/choice-preview.js.map +1 -1
  11. package/configure/lib/design/categories/droppable-placeholder.js +2 -2
  12. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -1
  13. package/configure/lib/design/categories/index.js +1 -1
  14. package/configure/lib/design/categories/index.js.map +1 -1
  15. package/configure/lib/design/choices/choice.js +1 -1
  16. package/configure/lib/design/choices/choice.js.map +1 -1
  17. package/configure/lib/design/choices/config.js +1 -1
  18. package/configure/lib/design/choices/config.js.map +1 -1
  19. package/configure/lib/design/choices/index.js +1 -1
  20. package/configure/lib/design/choices/index.js.map +1 -1
  21. package/configure/lib/design/header.js +1 -1
  22. package/configure/lib/design/header.js.map +1 -1
  23. package/configure/lib/design/index.js +2 -2
  24. package/configure/lib/design/index.js.map +1 -1
  25. package/configure/lib/design/input-header.js +1 -1
  26. package/configure/lib/design/input-header.js.map +1 -1
  27. package/configure/lib/index.js +2 -2
  28. package/configure/lib/main.js +1 -1
  29. package/configure/lib/main.js.map +1 -1
  30. package/configure/package.json +4 -4
  31. package/controller/CHANGELOG.md +16 -0
  32. package/controller/lib/index.js +1 -1
  33. package/controller/lib/index.js.map +1 -1
  34. package/controller/package.json +1 -1
  35. package/lib/categorize/categories.js +7 -3
  36. package/lib/categorize/categories.js.map +1 -1
  37. package/lib/categorize/category.js +2 -2
  38. package/lib/categorize/category.js.map +1 -1
  39. package/lib/categorize/choice.js +2 -2
  40. package/lib/categorize/choice.js.map +1 -1
  41. package/lib/categorize/choices.js +7 -3
  42. package/lib/categorize/choices.js.map +1 -1
  43. package/lib/categorize/droppable-placeholder.js +1 -1
  44. package/lib/categorize/droppable-placeholder.js.map +1 -1
  45. package/lib/categorize/grid-content.js +2 -2
  46. package/lib/categorize/grid-content.js.map +1 -1
  47. package/lib/categorize/index.js +1 -1
  48. package/lib/categorize/index.js.map +1 -1
  49. package/lib/index.js +1 -1
  50. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -3,6 +3,54 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [6.9.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@6.8.3...@pie-element/categorize@6.9.1) (2021-11-11)
7
+
8
+ **Note:** Version bump only for package @pie-element/categorize
9
+
10
+
11
+
12
+
13
+
14
+ # [6.9.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@6.7.2...@pie-element/categorize@6.9.0) (2021-11-11)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * pie-lib updates ([e521c2f](https://github.com/pie-framework/pie-elements/commit/e521c2f1a44aa7f3e14f82a1cee05ceb484ed0a6))
20
+ * Updated pie-lib versions ([2fe4c5d](https://github.com/pie-framework/pie-elements/commit/2fe4c5d0be2d40f5fdb34815855695a7f1087f56))
21
+ * Updated pie-lib versions ([1c23830](https://github.com/pie-framework/pie-elements/commit/1c23830fc75d1de5f7bb3bb16de3c665ae5fa350))
22
+
23
+
24
+ ### Features
25
+
26
+ * **categorize:** set toolbar editor position to bottom ([10da834](https://github.com/pie-framework/pie-elements/commit/10da834902b136aa4fa83e46315d9155d4308b5a))
27
+
28
+
29
+
30
+
31
+
32
+
33
+ ## [6.8.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@6.8.2...@pie-element/categorize@6.8.3) (2021-10-04)
34
+
35
+ **Note:** Version bump only for package @pie-element/categorize
36
+
37
+
38
+
39
+
40
+
41
+ ## [6.8.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@6.8.1...@pie-element/categorize@6.8.2) (2021-09-20)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * pie-lib updates ([e521c2f](https://github.com/pie-framework/pie-elements/commit/e521c2f1a44aa7f3e14f82a1cee05ceb484ed0a6))
47
+ * Updated pie-lib versions ([2fe4c5d](https://github.com/pie-framework/pie-elements/commit/2fe4c5d0be2d40f5fdb34815855695a7f1087f56))
48
+ * Updated pie-lib versions ([1c23830](https://github.com/pie-framework/pie-elements/commit/1c23830fc75d1de5f7bb3bb16de3c665ae5fa350))
49
+
50
+
51
+
52
+
53
+
6
54
  ## [6.8.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize@6.8.0...@pie-element/categorize@6.8.1) (2021-09-01)
7
55
 
8
56
  **Note:** Version bump only for package @pie-element/categorize
@@ -3,6 +3,27 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.4.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@5.4.4...@pie-element/categorize-configure@5.4.5) (2021-10-04)
7
+
8
+ **Note:** Version bump only for package @pie-element/categorize-configure
9
+
10
+
11
+
12
+
13
+
14
+ ## [5.4.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@5.4.3...@pie-element/categorize-configure@5.4.4) (2021-09-20)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * pie-lib updates ([e521c2f](https://github.com/pie-framework/pie-elements/commit/e521c2f1a44aa7f3e14f82a1cee05ceb484ed0a6))
20
+ * Updated pie-lib versions ([2fe4c5d](https://github.com/pie-framework/pie-elements/commit/2fe4c5d0be2d40f5fdb34815855695a7f1087f56))
21
+ * Updated pie-lib versions ([1c23830](https://github.com/pie-framework/pie-elements/commit/1c23830fc75d1de5f7bb3bb16de3c665ae5fa350))
22
+
23
+
24
+
25
+
26
+
6
27
  ## [5.4.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/categorize-configure@5.4.2...@pie-element/categorize-configure@5.4.3) (2021-08-05)
7
28
 
8
29
  **Note:** Version bump only for package @pie-element/categorize-configure
@@ -33,7 +33,7 @@ var _Divider = _interopRequireDefault(require("@material-ui/core/Divider"));
33
33
 
34
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
35
 
36
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
36
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
37
 
38
38
  var RawAddButton = /*#__PURE__*/function (_React$Component) {
39
39
  (0, _inherits2["default"])(RawAddButton, _React$Component);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/design/buttons.jsx"],"names":["RawAddButton","props","classes","className","label","onClick","disabled","addButton","React","Component","PropTypes","object","isRequired","string","func","bool","styles","theme","height","spacing","unit","AddButton","DeleteButton","deleteButton","margin","padding","Divider","divider","marginTop","marginBottom"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,Y;;;;;;;;;;;;WAaX,kBAAS;AAAA,wBACkD,KAAKC,KADvD;AAAA,UACCC,OADD,eACCA,OADD;AAAA,UACUC,SADV,eACUA,SADV;AAAA,UACqBC,KADrB,eACqBA,KADrB;AAAA,UAC4BC,OAD5B,eAC4BA,OAD5B;AAAA,UACqCC,QADrC,eACqCA,QADrC;AAEP,0BACE,gCAAC,kBAAD;AACE,QAAA,OAAO,EAAED,OADX;AAEE,QAAA,QAAQ,EAAEC,QAFZ;AAGE,QAAA,SAAS,EAAE,4BAAWJ,OAAO,CAACK,SAAnB,EAA8BJ,SAA9B,CAHb;AAIE,QAAA,IAAI,EAAC,OAJP;AAKE,QAAA,OAAO,EAAC,WALV;AAME,QAAA,KAAK,EAAC;AANR,SAQGC,KARH,CADF;AAYD;;;EA3B+BI,kBAAMC,S;;;iCAA3BT,Y,eACQ;AACjBE,EAAAA,OAAO,EAAEQ,sBAAUC,MAAV,CAAiBC,UADT;AAEjBT,EAAAA,SAAS,EAAEO,sBAAUG,MAFJ;AAGjBT,EAAAA,KAAK,EAAEM,sBAAUG,MAHA;AAIjBR,EAAAA,OAAO,EAAEK,sBAAUI,IAJF;AAKjBR,EAAAA,QAAQ,EAAEI,sBAAUK;AALH,C;iCADRf,Y,kBASW;AACpBI,EAAAA,KAAK,EAAE;AADa,C;;AAoBxB,IAAMY,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBV,IAAAA,SAAS,EAAE;AACTW,MAAAA,MAAM,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AADpB;AADY,GAAL;AAAA,CAApB;;AAMA,IAAMC,SAAS,GAAG,wBAAWL,MAAX,EAAmBhB,YAAnB,CAAlB;;AAEA,IAAMsB,YAAY,GAAG,wBAAW;AAAA,SAAO;AACrCC,IAAAA,YAAY,EAAE;AACZC,MAAAA,MAAM,EAAE,CADI;AAEZC,MAAAA,OAAO,EAAE;AAFG;AADuB,GAAP;AAAA,CAAX,EAKjB;AAAA,MAAGvB,OAAH,QAAGA,OAAH;AAAA,MAAYE,KAAZ,QAAYA,KAAZ;AAAA,MAAmBC,OAAnB,QAAmBA,OAAnB;AAAA,sBACF,gCAAC,kBAAD;AACE,IAAA,SAAS,EAAEH,OAAO,CAACqB,YADrB;AAEE,IAAA,OAAO,EAAElB,OAFX;AAGE,IAAA,IAAI,EAAC,OAHP;AAIE,IAAA,KAAK,EAAC;AAJR,KAMGD,KANH,CADE;AAAA,CALiB,CAArB;;AAgBA,IAAMsB,OAAO,GAAG,wBAAW,UAAAT,KAAK;AAAA,SAAK;AACnCU,IAAAA,OAAO,EAAE;AACPC,MAAAA,SAAS,EAAE,IAAIX,KAAK,CAACE,OAAN,CAAcC,IADtB;AAEPS,MAAAA,YAAY,EAAE,IAAIZ,KAAK,CAACE,OAAN,CAAcC;AAFzB;AAD0B,GAAL;AAAA,CAAhB,EAKZ;AAAA,MAAGlB,OAAH,SAAGA,OAAH;AAAA,sBAAiB,gCAAC,mBAAD;AAAY,IAAA,SAAS,EAAEA,OAAO,CAACyB;AAA/B,IAAjB;AAAA,CALY,CAAhB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport MuiDivider from '@material-ui/core/Divider';\n\nexport class RawAddButton extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n disabled: PropTypes.bool\n };\n\n static defaultProps = {\n label: 'Add'\n };\n\n render() {\n const { classes, className, label, onClick, disabled } = this.props;\n return (\n <Button\n onClick={onClick}\n disabled={disabled}\n className={classNames(classes.addButton, className)}\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n >\n {label}\n </Button>\n );\n }\n}\nconst styles = theme => ({\n addButton: {\n height: theme.spacing.unit * 4\n }\n});\n\nconst AddButton = withStyles(styles)(RawAddButton);\n\nconst DeleteButton = withStyles(() => ({\n deleteButton: {\n margin: 0,\n padding: 0\n }\n}))(({ classes, label, onClick }) => (\n <Button\n className={classes.deleteButton}\n onClick={onClick}\n size=\"small\"\n color=\"primary\"\n >\n {label}\n </Button>\n));\n\nconst Divider = withStyles(theme => ({\n divider: {\n marginTop: 2 * theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit\n }\n}))(({ classes }) => <MuiDivider className={classes.divider} />);\n\nexport { AddButton, DeleteButton, Divider };\n"],"file":"buttons.js"}
1
+ {"version":3,"sources":["../../src/design/buttons.jsx"],"names":["RawAddButton","props","classes","className","label","onClick","disabled","addButton","React","Component","PropTypes","object","isRequired","string","func","bool","styles","theme","height","spacing","unit","AddButton","DeleteButton","deleteButton","margin","padding","Divider","divider","marginTop","marginBottom"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,Y;;;;;;;;;;;;WAaX,kBAAS;AACP,wBAAyD,KAAKC,KAA9D;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BC,KAA5B,eAA4BA,KAA5B;AAAA,UAAmCC,OAAnC,eAAmCA,OAAnC;AAAA,UAA4CC,QAA5C,eAA4CA,QAA5C;AACA,0BACE,gCAAC,kBAAD;AACE,QAAA,OAAO,EAAED,OADX;AAEE,QAAA,QAAQ,EAAEC,QAFZ;AAGE,QAAA,SAAS,EAAE,4BAAWJ,OAAO,CAACK,SAAnB,EAA8BJ,SAA9B,CAHb;AAIE,QAAA,IAAI,EAAC,OAJP;AAKE,QAAA,OAAO,EAAC,WALV;AAME,QAAA,KAAK,EAAC;AANR,SAQGC,KARH,CADF;AAYD;;;EA3B+BI,kBAAMC,S;;;iCAA3BT,Y,eACQ;AACjBE,EAAAA,OAAO,EAAEQ,sBAAUC,MAAV,CAAiBC,UADT;AAEjBT,EAAAA,SAAS,EAAEO,sBAAUG,MAFJ;AAGjBT,EAAAA,KAAK,EAAEM,sBAAUG,MAHA;AAIjBR,EAAAA,OAAO,EAAEK,sBAAUI,IAJF;AAKjBR,EAAAA,QAAQ,EAAEI,sBAAUK;AALH,C;iCADRf,Y,kBASW;AACpBI,EAAAA,KAAK,EAAE;AADa,C;;AAoBxB,IAAMY,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBV,IAAAA,SAAS,EAAE;AACTW,MAAAA,MAAM,EAAED,KAAK,CAACE,OAAN,CAAcC,IAAd,GAAqB;AADpB;AADY,GAAL;AAAA,CAApB;;AAMA,IAAMC,SAAS,GAAG,wBAAWL,MAAX,EAAmBhB,YAAnB,CAAlB;;AAEA,IAAMsB,YAAY,GAAG,wBAAW;AAAA,SAAO;AACrCC,IAAAA,YAAY,EAAE;AACZC,MAAAA,MAAM,EAAE,CADI;AAEZC,MAAAA,OAAO,EAAE;AAFG;AADuB,GAAP;AAAA,CAAX,EAKjB;AAAA,MAAGvB,OAAH,QAAGA,OAAH;AAAA,MAAYE,KAAZ,QAAYA,KAAZ;AAAA,MAAmBC,OAAnB,QAAmBA,OAAnB;AAAA,sBACF,gCAAC,kBAAD;AACE,IAAA,SAAS,EAAEH,OAAO,CAACqB,YADrB;AAEE,IAAA,OAAO,EAAElB,OAFX;AAGE,IAAA,IAAI,EAAC,OAHP;AAIE,IAAA,KAAK,EAAC;AAJR,KAMGD,KANH,CADE;AAAA,CALiB,CAArB;;AAgBA,IAAMsB,OAAO,GAAG,wBAAW,UAAAT,KAAK;AAAA,SAAK;AACnCU,IAAAA,OAAO,EAAE;AACPC,MAAAA,SAAS,EAAE,IAAIX,KAAK,CAACE,OAAN,CAAcC,IADtB;AAEPS,MAAAA,YAAY,EAAE,IAAIZ,KAAK,CAACE,OAAN,CAAcC;AAFzB;AAD0B,GAAL;AAAA,CAAhB,EAKZ;AAAA,MAAGlB,OAAH,SAAGA,OAAH;AAAA,sBAAiB,gCAAC,mBAAD;AAAY,IAAA,SAAS,EAAEA,OAAO,CAACyB;AAA/B,IAAjB;AAAA,CALY,CAAhB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport MuiDivider from '@material-ui/core/Divider';\n\nexport class RawAddButton extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n label: PropTypes.string,\n onClick: PropTypes.func,\n disabled: PropTypes.bool\n };\n\n static defaultProps = {\n label: 'Add'\n };\n\n render() {\n const { classes, className, label, onClick, disabled } = this.props;\n return (\n <Button\n onClick={onClick}\n disabled={disabled}\n className={classNames(classes.addButton, className)}\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n >\n {label}\n </Button>\n );\n }\n}\nconst styles = theme => ({\n addButton: {\n height: theme.spacing.unit * 4\n }\n});\n\nconst AddButton = withStyles(styles)(RawAddButton);\n\nconst DeleteButton = withStyles(() => ({\n deleteButton: {\n margin: 0,\n padding: 0\n }\n}))(({ classes, label, onClick }) => (\n <Button\n className={classes.deleteButton}\n onClick={onClick}\n size=\"small\"\n color=\"primary\"\n >\n {label}\n </Button>\n));\n\nconst Divider = withStyles(theme => ({\n divider: {\n marginTop: 2 * theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit\n }\n}))(({ classes }) => <MuiDivider className={classes.divider} />);\n\nexport { AddButton, DeleteButton, Divider };\n"],"file":"buttons.js"}
@@ -33,7 +33,7 @@ var _category = _interopRequireDefault(require("./category"));
33
33
 
34
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
35
 
36
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
36
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
37
 
38
38
  var styles = function styles(theme) {
39
39
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/categories/alternateResponses.jsx"],"names":["styles","theme","categories","marginBottom","spacing","unit","categoriesHolder","display","gridRowGap","gridColumnGap","row","gridTemplateColumns","alignItems","width","marginTop","rowLabel","gridColumn","rowLabelHolder","AlternateResponses","choice","categoryId","props","altIndex","correctResponse","model","onModelChanged","forEach","a","category","alternateResponses","push","id","filter","altId","classes","className","imageSupport","categoriesPerRow","holderStyle","map","index","addChoiceToCategory","choiceIndex","deleteChoiceFromCategory","React","Component","PropTypes","number","isRequired","shape","add","func","object","string","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Category from './category';\n\nconst styles = theme => ({\n categories: {\n marginBottom: theme.spacing.unit\n },\n categoriesHolder: {\n display: 'grid',\n gridRowGap: `${theme.spacing.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`\n },\n row: {\n display: 'grid',\n gridTemplateColumns: 'repeat(2, 1fr)',\n gridColumnGap: `${theme.spacing.unit}px`,\n alignItems: 'baseline',\n width: '100%',\n marginTop: theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit\n },\n rowLabel: {\n gridColumn: '1/3'\n },\n rowLabelHolder: {\n width: '100%'\n }\n});\n\nexport class AlternateResponses extends React.Component {\n static propTypes = {\n altIndex: PropTypes.number.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n categories: PropTypes.array,\n onModelChanged: PropTypes.func,\n model: PropTypes.object.isRequired\n };\n\n addChoiceToCategory = (choice, categoryId) => {\n const { altIndex, model: { correctResponse }, onModelChanged } = this.props;\n\n correctResponse.forEach(a => {\n if (a.category === categoryId) {\n a.alternateResponses = a.alternateResponses || [];\n\n if (!a.alternateResponses[altIndex]) {\n a.alternateResponses[altIndex] = [];\n }\n\n a.alternateResponses[altIndex].push(choice.id);\n\n return a;\n }\n\n return a;\n });\n\n onModelChanged({ correctResponse });\n };\n\n deleteChoiceFromCategory = (category, choice) => {\n const { altIndex, model: { correctResponse }, onModelChanged } = this.props;\n\n correctResponse.forEach(a => {\n if (a.category === category.id) {\n if (a.alternateResponses[altIndex]) {\n a.alternateResponses[altIndex] = a.alternateResponses[altIndex].filter(altId => altId !== choice.id);\n }\n }\n\n return a;\n });\n\n onModelChanged({ correctResponse });\n };\n\n render() {\n const {\n model,\n classes,\n className,\n categories,\n imageSupport\n } = this.props;\n const { categoriesPerRow } = model;\n\n const holderStyle = {\n gridTemplateColumns: `repeat(${categoriesPerRow}, 1fr)`\n };\n\n return (\n <div className={classNames(classes.categories, className)}>\n <div className={classes.categoriesHolder} style={holderStyle}>\n {categories.map((category, index) => (\n <Category\n key={index}\n imageSupport={imageSupport}\n category={category}\n onAddChoice={this.addChoiceToCategory}\n onDeleteChoice={(choice, choiceIndex) =>\n this.deleteChoiceFromCategory(category, choice, choiceIndex)\n }\n />\n ))}\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(AlternateResponses);\n"],"file":"alternateResponses.js"}
1
+ {"version":3,"sources":["../../../src/design/categories/alternateResponses.jsx"],"names":["styles","theme","categories","marginBottom","spacing","unit","categoriesHolder","display","gridRowGap","gridColumnGap","row","gridTemplateColumns","alignItems","width","marginTop","rowLabel","gridColumn","rowLabelHolder","AlternateResponses","choice","categoryId","props","altIndex","correctResponse","model","onModelChanged","forEach","a","category","alternateResponses","push","id","filter","altId","classes","className","imageSupport","categoriesPerRow","holderStyle","map","index","addChoiceToCategory","choiceIndex","deleteChoiceFromCategory","React","Component","PropTypes","number","isRequired","shape","add","func","object","string","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Category from './category';\n\nconst styles = theme => ({\n categories: {\n marginBottom: theme.spacing.unit\n },\n categoriesHolder: {\n display: 'grid',\n gridRowGap: `${theme.spacing.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`\n },\n row: {\n display: 'grid',\n gridTemplateColumns: 'repeat(2, 1fr)',\n gridColumnGap: `${theme.spacing.unit}px`,\n alignItems: 'baseline',\n width: '100%',\n marginTop: theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit\n },\n rowLabel: {\n gridColumn: '1/3'\n },\n rowLabelHolder: {\n width: '100%'\n }\n});\n\nexport class AlternateResponses extends React.Component {\n static propTypes = {\n altIndex: PropTypes.number.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n categories: PropTypes.array,\n onModelChanged: PropTypes.func,\n model: PropTypes.object.isRequired\n };\n\n addChoiceToCategory = (choice, categoryId) => {\n const { altIndex, model: { correctResponse }, onModelChanged } = this.props;\n\n correctResponse.forEach(a => {\n if (a.category === categoryId) {\n a.alternateResponses = a.alternateResponses || [];\n\n if (!a.alternateResponses[altIndex]) {\n a.alternateResponses[altIndex] = [];\n }\n\n a.alternateResponses[altIndex].push(choice.id);\n\n return a;\n }\n\n return a;\n });\n\n onModelChanged({ correctResponse });\n };\n\n deleteChoiceFromCategory = (category, choice) => {\n const { altIndex, model: { correctResponse }, onModelChanged } = this.props;\n\n correctResponse.forEach(a => {\n if (a.category === category.id) {\n if (a.alternateResponses[altIndex]) {\n a.alternateResponses[altIndex] = a.alternateResponses[altIndex].filter(altId => altId !== choice.id);\n }\n }\n\n return a;\n });\n\n onModelChanged({ correctResponse });\n };\n\n render() {\n const {\n model,\n classes,\n className,\n categories,\n imageSupport\n } = this.props;\n const { categoriesPerRow } = model;\n\n const holderStyle = {\n gridTemplateColumns: `repeat(${categoriesPerRow}, 1fr)`\n };\n\n return (\n <div className={classNames(classes.categories, className)}>\n <div className={classes.categoriesHolder} style={holderStyle}>\n {categories.map((category, index) => (\n <Category\n key={index}\n imageSupport={imageSupport}\n category={category}\n onAddChoice={this.addChoiceToCategory}\n onDeleteChoice={(choice, choiceIndex) =>\n this.deleteChoiceFromCategory(category, choice, choiceIndex)\n }\n />\n ))}\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(AlternateResponses);\n"],"file":"alternateResponses.js"}
@@ -41,7 +41,7 @@ var _droppablePlaceholder = _interopRequireDefault(require("./droppable-placehol
41
41
 
42
42
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
43
43
 
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
44
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
45
 
46
46
  var Category = /*#__PURE__*/function (_React$Component) {
47
47
  (0, _inherits2["default"])(Category, _React$Component);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/categories/category.jsx"],"names":["Category","l","props","category","onChange","label","classes","className","onDelete","onDeleteChoice","onAddChoice","imageSupport","toolbarOpts","changeLabel","placeHolder","choices","id","actions","React","Component","PropTypes","object","isRequired","string","func","shape","add","styles","theme","minHeight","deleteButton","margin","padding","paddingBottom","paddingTop","spacing","unit","iconButtonRoot","width","height","header","display","justifyContent","overflow","editor","flex"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Card from '@material-ui/core/Card';\nimport InputHeader from '../input-header';\nimport CardActions from '@material-ui/core/CardActions';\nimport { DeleteButton } from '../buttons';\n\nimport PlaceHolder from './droppable-placeholder';\n\nexport class Category extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n category: PropTypes.object.isRequired,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteChoice: PropTypes.func,\n onAddChoice: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n toolbarOpts: PropTypes.object\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 category,\n classes,\n className,\n onChange,\n onDelete,\n onDeleteChoice,\n onAddChoice,\n imageSupport,\n toolbarOpts\n } = this.props;\n return (\n <Card className={classNames(classes.category, className)}>\n {\n onChange && (\n <InputHeader\n label={category.label}\n onChange={this.changeLabel}\n onDelete={onDelete}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n />\n )\n }\n <PlaceHolder\n className={classes.placeHolder}\n choices={category.choices}\n onDeleteChoice={onDeleteChoice}\n onDropChoice={onAddChoice}\n categoryId={category.id}\n />\n {\n onDelete && (\n <CardActions className={classes.actions}>\n <DeleteButton label={'delete'} onClick={onDelete} />\n </CardActions>\n )\n }\n </Card>\n );\n }\n}\nconst styles = theme => ({\n placeHolder: {\n minHeight: '100px'\n },\n deleteButton: {\n margin: 0\n },\n actions: {\n padding: 0,\n paddingBottom: 0,\n paddingTop: theme.spacing.unit\n },\n iconButtonRoot: {\n width: 'auto',\n height: 'auto'\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n category: {\n padding: theme.spacing.unit,\n overflow: 'visible'\n },\n editor: {\n flex: '1',\n paddingBottom: theme.spacing.unit * 2\n }\n});\nexport default withStyles(styles)(Category);\n"],"file":"category.js"}
1
+ {"version":3,"sources":["../../../src/design/categories/category.jsx"],"names":["Category","l","props","category","onChange","label","classes","className","onDelete","onDeleteChoice","onAddChoice","imageSupport","toolbarOpts","changeLabel","placeHolder","choices","id","actions","React","Component","PropTypes","object","isRequired","string","func","shape","add","styles","theme","minHeight","deleteButton","margin","padding","paddingBottom","paddingTop","spacing","unit","iconButtonRoot","width","height","header","display","justifyContent","overflow","editor","flex"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Card from '@material-ui/core/Card';\nimport InputHeader from '../input-header';\nimport CardActions from '@material-ui/core/CardActions';\nimport { DeleteButton } from '../buttons';\n\nimport PlaceHolder from './droppable-placeholder';\n\nexport class Category extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n category: PropTypes.object.isRequired,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteChoice: PropTypes.func,\n onAddChoice: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n toolbarOpts: PropTypes.object\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 category,\n classes,\n className,\n onChange,\n onDelete,\n onDeleteChoice,\n onAddChoice,\n imageSupport,\n toolbarOpts\n } = this.props;\n return (\n <Card className={classNames(classes.category, className)}>\n {\n onChange && (\n <InputHeader\n label={category.label}\n onChange={this.changeLabel}\n onDelete={onDelete}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n />\n )\n }\n <PlaceHolder\n className={classes.placeHolder}\n choices={category.choices}\n onDeleteChoice={onDeleteChoice}\n onDropChoice={onAddChoice}\n categoryId={category.id}\n />\n {\n onDelete && (\n <CardActions className={classes.actions}>\n <DeleteButton label={'delete'} onClick={onDelete} />\n </CardActions>\n )\n }\n </Card>\n );\n }\n}\nconst styles = theme => ({\n placeHolder: {\n minHeight: '100px'\n },\n deleteButton: {\n margin: 0\n },\n actions: {\n padding: 0,\n paddingBottom: 0,\n paddingTop: theme.spacing.unit\n },\n iconButtonRoot: {\n width: 'auto',\n height: 'auto'\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n category: {\n padding: theme.spacing.unit,\n overflow: 'visible'\n },\n editor: {\n flex: '1',\n paddingBottom: theme.spacing.unit * 2\n }\n});\nexport default withStyles(styles)(Category);\n"],"file":"category.js"}
@@ -39,7 +39,7 @@ var _renderUi = require("@pie-lib/render-ui");
39
39
 
40
40
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
41
41
 
42
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
42
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
43
43
 
44
44
  var ChoicePreview = /*#__PURE__*/function (_React$Component) {
45
45
  (0, _inherits2["default"])(ChoicePreview, _React$Component);
@@ -74,14 +74,14 @@ var ChoicePreview = /*#__PURE__*/function (_React$Component) {
74
74
  choice = _this$props2.choice;
75
75
  return /*#__PURE__*/_react["default"].createElement("div", {
76
76
  className: (0, _classnames["default"])(classes.choicePreview, className)
77
- }, /*#__PURE__*/_react["default"].createElement(_drag.Choice, null, /*#__PURE__*/_react["default"].createElement(_renderUi.HtmlAndMath, {
78
- html: choice.content
77
+ }, choice ? /*#__PURE__*/_react["default"].createElement(_drag.Choice, null, /*#__PURE__*/_react["default"].createElement(_renderUi.HtmlAndMath, {
78
+ html: choice === null || choice === void 0 ? void 0 : choice.content
79
79
  }), /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
80
80
  color: "secondary",
81
81
  "aria-label": "delete",
82
82
  className: classes["delete"],
83
83
  onClick: this["delete"]
84
- }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null))));
84
+ }, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null))) : null);
85
85
  }
86
86
  }]);
87
87
  return ChoicePreview;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/categories/choice-preview.jsx"],"names":["ChoicePreview","props","onDelete","choice","classes","className","choicePreview","content","React","Component","PropTypes","object","isRequired","string","func","styles","position","right","top"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,a;;;;;;;;;;;;;;;+FASF,YAAM;AAAA,wBACgB,MAAKC,KADrB;AAAA,UACLC,QADK,eACLA,QADK;AAAA,UACKC,MADL,eACKA,MADL;AAEbD,MAAAA,QAAQ,CAACC,MAAD,CAAR;AACD,K;;;;;;WAED,kBAAS;AAAA,yBACgC,KAAKF,KADrC;AAAA,UACCG,OADD,gBACCA,OADD;AAAA,UACUC,SADV,gBACUA,SADV;AAAA,UACqBF,MADrB,gBACqBA,MADrB;AAEP,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWC,OAAO,CAACE,aAAnB,EAAkCD,SAAlC;AAAhB,sBACE,gCAAC,YAAD,qBACE,gCAAC,qBAAD;AAAa,QAAA,IAAI,EAAEF,MAAM,CAACI;AAA1B,QADF,eAEE,gCAAC,sBAAD;AACE,QAAA,KAAK,EAAC,WADR;AAEE,sBAAW,QAFb;AAGE,QAAA,SAAS,EAAEH,OAAO,UAHpB;AAIE,QAAA,OAAO,EAAE;AAJX,sBAME,gCAAC,kBAAD,OANF,CAFF,CADF,CADF;AAeD;;;EA/BgCI,kBAAMC,S;;;iCAA5BT,a,eACQ;AACjBI,EAAAA,OAAO,EAAEM,sBAAUC,MAAV,CAAiBC,UADT;AAEjBP,EAAAA,SAAS,EAAEK,sBAAUG,MAFJ;AAGjBV,EAAAA,MAAM,EAAEO,sBAAUC,MAAV,CAAiBC,UAHR;AAIjBV,EAAAA,QAAQ,EAAEQ,sBAAUI,IAAV,CAAeF;AAJR,C;iCADRZ,a,kBAOW,E;;AA0BxB,IAAMe,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBT,IAAAA,aAAa,EAAE;AACbU,MAAAA,QAAQ,EAAE;AADG,KADK;AAIpB,cAAQ;AACNA,MAAAA,QAAQ,EAAE,UADJ;AAENC,MAAAA,KAAK,EAAE,CAFD;AAGNC,MAAAA,GAAG,EAAE;AAHC;AAJY,GAAP;AAAA,CAAf;;eAUe,wBAAWH,MAAX,EAAmBf,aAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { Choice } from '@pie-lib/drag';\nimport IconButton from '@material-ui/core/IconButton';\nimport Delete from '@material-ui/icons/Delete';\nimport { HtmlAndMath } from '@pie-lib/render-ui';\n\nexport class ChoicePreview extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n choice: PropTypes.object.isRequired,\n onDelete: PropTypes.func.isRequired\n };\n static defaultProps = {};\n\n delete = () => {\n const { onDelete, choice } = this.props;\n onDelete(choice);\n };\n\n render() {\n const { classes, className, choice } = this.props;\n return (\n <div className={classNames(classes.choicePreview, className)}>\n <Choice>\n <HtmlAndMath html={choice.content} />\n <IconButton\n color=\"secondary\"\n aria-label=\"delete\"\n className={classes.delete}\n onClick={this.delete}\n >\n <Delete />\n </IconButton>\n </Choice>\n </div>\n );\n }\n}\nconst styles = () => ({\n choicePreview: {\n position: 'relative'\n },\n delete: {\n position: 'absolute',\n right: 0,\n top: 0\n }\n});\nexport default withStyles(styles)(ChoicePreview);\n"],"file":"choice-preview.js"}
1
+ {"version":3,"sources":["../../../src/design/categories/choice-preview.jsx"],"names":["ChoicePreview","props","onDelete","choice","classes","className","choicePreview","content","React","Component","PropTypes","object","isRequired","string","func","styles","position","right","top"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,a;;;;;;;;;;;;;;;+FASF,YAAM;AACb,wBAA6B,MAAKC,KAAlC;AAAA,UAAQC,QAAR,eAAQA,QAAR;AAAA,UAAkBC,MAAlB,eAAkBA,MAAlB;AACAD,MAAAA,QAAQ,CAACC,MAAD,CAAR;AACD,K;;;;;;WAED,kBAAS;AACP,yBAAuC,KAAKF,KAA5C;AAAA,UAAQG,OAAR,gBAAQA,OAAR;AAAA,UAAiBC,SAAjB,gBAAiBA,SAAjB;AAAA,UAA4BF,MAA5B,gBAA4BA,MAA5B;AACA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWC,OAAO,CAACE,aAAnB,EAAkCD,SAAlC;AAAhB,SAEIF,MAAM,gBAAG,gCAAC,YAAD,qBACP,gCAAC,qBAAD;AAAa,QAAA,IAAI,EAAEA,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAEI;AAA3B,QADO,eAEP,gCAAC,sBAAD;AACE,QAAA,KAAK,EAAC,WADR;AAEE,sBAAW,QAFb;AAGE,QAAA,SAAS,EAAEH,OAAO,UAHpB;AAIE,QAAA,OAAO,EAAE;AAJX,sBAME,gCAAC,kBAAD,OANF,CAFO,CAAH,GAWF,IAbR,CADF;AAkBD;;;EAlCgCI,kBAAMC,S;;;iCAA5BT,a,eACQ;AACjBI,EAAAA,OAAO,EAAEM,sBAAUC,MAAV,CAAiBC,UADT;AAEjBP,EAAAA,SAAS,EAAEK,sBAAUG,MAFJ;AAGjBV,EAAAA,MAAM,EAAEO,sBAAUC,MAAV,CAAiBC,UAHR;AAIjBV,EAAAA,QAAQ,EAAEQ,sBAAUI,IAAV,CAAeF;AAJR,C;iCADRZ,a,kBAOW,E;;AA6BxB,IAAMe,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBT,IAAAA,aAAa,EAAE;AACbU,MAAAA,QAAQ,EAAE;AADG,KADK;AAIpB,cAAQ;AACNA,MAAAA,QAAQ,EAAE,UADJ;AAENC,MAAAA,KAAK,EAAE,CAFD;AAGNC,MAAAA,GAAG,EAAE;AAHC;AAJY,GAAP;AAAA,CAAf;;eAUe,wBAAWH,MAAX,EAAmBf,aAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { Choice } from '@pie-lib/drag';\nimport IconButton from '@material-ui/core/IconButton';\nimport Delete from '@material-ui/icons/Delete';\nimport { HtmlAndMath } from '@pie-lib/render-ui';\n\nexport class ChoicePreview extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n choice: PropTypes.object.isRequired,\n onDelete: PropTypes.func.isRequired\n };\n static defaultProps = {};\n\n delete = () => {\n const { onDelete, choice } = this.props;\n onDelete(choice);\n };\n\n render() {\n const { classes, className, choice } = this.props;\n return (\n <div className={classNames(classes.choicePreview, className)}>\n {\n choice ? <Choice>\n <HtmlAndMath html={choice?.content} />\n <IconButton\n color=\"secondary\"\n aria-label=\"delete\"\n className={classes.delete}\n onClick={this.delete}\n >\n <Delete />\n </IconButton>\n </Choice>\n : null\n }\n </div>\n );\n }\n}\nconst styles = () => ({\n choicePreview: {\n position: 'relative'\n },\n delete: {\n position: 'absolute',\n right: 0,\n top: 0\n }\n});\nexport default withStyles(styles)(ChoicePreview);\n"],"file":"choice-preview.js"}
@@ -37,7 +37,7 @@ var _debug = _interopRequireDefault(require("debug"));
37
37
 
38
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
39
 
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
41
 
42
42
  var log = (0, _debug["default"])('@pie-element:categorize:configure');
43
43
  var Helper = (0, _styles.withStyles)(function () {
@@ -62,7 +62,7 @@ var Previews = function Previews(_ref2) {
62
62
  var choices = _ref2.choices,
63
63
  onDeleteChoice = _ref2.onDeleteChoice;
64
64
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, choices.map(function (c, index) {
65
- return /*#__PURE__*/_react["default"].createElement(_choicePreview["default"], {
65
+ return c && /*#__PURE__*/_react["default"].createElement(_choicePreview["default"], {
66
66
  choice: c,
67
67
  key: index,
68
68
  onDelete: function onDelete(choice) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/categories/droppable-placeholder.jsx"],"names":["log","Helper","helper","display","alignItems","fontSize","color","width","height","classes","Previews","choices","onDeleteChoice","map","c","index","choice","propTypes","PropTypes","array","func","DroppablePlaceHolder","props","isOver","className","connectDropTarget","droppablePlaceholder","placeHolder","length","React","Component","object","isRequired","string","onDropChoice","bool","categoryId","styles","minHeight","Styled","spec","drop","monitor","item","getItem","canDrop","disabled","WithTarget","uid","connect","dropTarget","withUid"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport ChoicePreview from './choice-preview';\nimport { DropTarget } from 'react-dnd';\nimport { uid, PlaceHolder } from '@pie-lib/drag';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:categorize:configure');\n\nconst Helper = withStyles(() => ({\n helper: {\n display: 'flex',\n alignItems: 'center',\n fontSize: '12px',\n color: 'rgba(0,0,0,0.4)',\n width: '100%',\n height: '100%'\n }\n}))(({ classes }) => (\n <div className={classes.helper}>Drag your correct answers here</div>\n));\n\nconst Previews = ({ choices, onDeleteChoice }) => (\n <React.Fragment>\n {choices.map((c, index) => (\n <ChoicePreview\n choice={c}\n key={index}\n onDelete={choice => onDeleteChoice(choice, index)}\n />\n ))}\n </React.Fragment>\n);\n\nPreviews.propTypes = {\n choices: PropTypes.array,\n onDeleteChoice: PropTypes.func\n};\n\nexport class DroppablePlaceHolder extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n connectDropTarget: PropTypes.func.isRequired,\n choices: PropTypes.array,\n onDropChoice: PropTypes.func.isRequired,\n isOver: PropTypes.bool,\n onDeleteChoice: PropTypes.func,\n categoryId: PropTypes.string.isRequired\n };\n\n static defaultProps = {};\n render() {\n const {\n isOver,\n choices,\n classes,\n className,\n connectDropTarget,\n onDeleteChoice\n } = this.props;\n\n return connectDropTarget(\n <div className={classNames(classes.droppablePlaceholder, className)}>\n <PlaceHolder isOver={isOver} className={classes.placeHolder}>\n {(choices || []).length === 0 ? (\n <Helper />\n ) : (\n <Previews choices={choices} onDeleteChoice={onDeleteChoice} />\n )}\n </PlaceHolder>\n </div>\n );\n }\n}\nconst styles = () => ({\n droppablePlaceholder: {\n minHeight: '100px'\n },\n placeHolder: {\n width: '100%',\n minHeight: '100px',\n height: 'auto'\n }\n});\n\nconst Styled = withStyles(styles)(DroppablePlaceHolder);\n\nexport const spec = {\n drop: (props, monitor) => {\n log('[drop] props: ', props);\n const item = monitor.getItem();\n props.onDropChoice(item, props.categoryId);\n },\n canDrop: (props /*, monitor*/) => {\n return !props.disabled;\n }\n};\n\nconst WithTarget = DropTarget(({ uid }) => uid, spec, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver()\n}))(Styled);\n\nexport default uid.withUid(WithTarget);\n"],"file":"droppable-placeholder.js"}
1
+ {"version":3,"sources":["../../../src/design/categories/droppable-placeholder.jsx"],"names":["log","Helper","helper","display","alignItems","fontSize","color","width","height","classes","Previews","choices","onDeleteChoice","map","c","index","choice","propTypes","PropTypes","array","func","DroppablePlaceHolder","props","isOver","className","connectDropTarget","droppablePlaceholder","placeHolder","length","React","Component","object","isRequired","string","onDropChoice","bool","categoryId","styles","minHeight","Styled","spec","drop","monitor","item","getItem","canDrop","disabled","WithTarget","uid","connect","dropTarget","withUid"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport ChoicePreview from './choice-preview';\nimport { DropTarget } from 'react-dnd';\nimport { uid, PlaceHolder } from '@pie-lib/drag';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:categorize:configure');\n\nconst Helper = withStyles(() => ({\n helper: {\n display: 'flex',\n alignItems: 'center',\n fontSize: '12px',\n color: 'rgba(0,0,0,0.4)',\n width: '100%',\n height: '100%'\n }\n}))(({ classes }) => (\n <div className={classes.helper}>Drag your correct answers here</div>\n));\n\nconst Previews = ({ choices, onDeleteChoice }) => (\n <React.Fragment>\n {choices.map((c, index) =>\n c && <ChoicePreview\n choice={c}\n key={index}\n onDelete={choice => onDeleteChoice(choice, index)}\n />\n )}\n </React.Fragment>\n);\n\nPreviews.propTypes = {\n choices: PropTypes.array,\n onDeleteChoice: PropTypes.func\n};\n\nexport class DroppablePlaceHolder extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n connectDropTarget: PropTypes.func.isRequired,\n choices: PropTypes.array,\n onDropChoice: PropTypes.func.isRequired,\n isOver: PropTypes.bool,\n onDeleteChoice: PropTypes.func,\n categoryId: PropTypes.string.isRequired\n };\n\n static defaultProps = {};\n render() {\n const {\n isOver,\n choices,\n classes,\n className,\n connectDropTarget,\n onDeleteChoice\n } = this.props;\n\n return connectDropTarget(\n <div className={classNames(classes.droppablePlaceholder, className)}>\n <PlaceHolder isOver={isOver} className={classes.placeHolder}>\n {(choices || []).length === 0 ? (\n <Helper />\n ) : (\n <Previews choices={choices} onDeleteChoice={onDeleteChoice} />\n )}\n </PlaceHolder>\n </div>\n );\n }\n}\nconst styles = () => ({\n droppablePlaceholder: {\n minHeight: '100px'\n },\n placeHolder: {\n width: '100%',\n minHeight: '100px',\n height: 'auto'\n }\n});\n\nconst Styled = withStyles(styles)(DroppablePlaceHolder);\n\nexport const spec = {\n drop: (props, monitor) => {\n log('[drop] props: ', props);\n const item = monitor.getItem();\n props.onDropChoice(item, props.categoryId);\n },\n canDrop: (props /*, monitor*/) => {\n return !props.disabled;\n }\n};\n\nconst WithTarget = DropTarget(({ uid }) => uid, spec, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver()\n}))(Styled);\n\nexport default uid.withUid(WithTarget);\n"],"file":"droppable-placeholder.js"}
@@ -47,7 +47,7 @@ var _categorize = require("@pie-lib/categorize");
47
47
 
48
48
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
49
49
 
50
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
50
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
51
51
 
52
52
  var styles = function styles(theme) {
53
53
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/categories/index.jsx"],"names":["styles","theme","categories","marginBottom","spacing","unit","categoriesHolder","display","gridRowGap","gridColumnGap","row","gridTemplateColumns","alignItems","width","marginTop","rowLabel","gridColumn","rowLabelHolder","RowLabel","categoriesPerRow","classes","markup","imageSupport","onChange","toolbarOpts","text","Categories","event","numberValue","parseInt","target","value","props","onModelChanged","model","id","utils","firstAvailableIndex","map","a","data","label","addRowLabel","length","rowLabels","push","concat","category","index","findIndex","splice","correctResponse","c","choice","categoryId","undefined","choiceIndex","val","newRowLabels","className","holderStyle","add","min","max","changeCategoryColumns","hasRowLabel","rowIndex","changeRowLabel","change","addChoiceToCategory","deleteChoiceFromCategory","React","Component","PropTypes","shape","func","isRequired","object","string","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport Typography from '@material-ui/core/Typography';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport classNames from 'classnames';\nimport Category from './category';\nimport Header from '../header';\nimport { moveChoiceToCategory, removeCategory, removeChoiceFromCategory } from '@pie-lib/categorize';\n\nconst styles = theme => ({\n categories: {\n marginBottom: theme.spacing.unit\n },\n categoriesHolder: {\n display: 'grid',\n gridRowGap: `${theme.spacing.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`\n },\n row: {\n display: 'grid',\n gridTemplateColumns: 'repeat(2, 1fr)',\n gridColumnGap: `${theme.spacing.unit}px`,\n alignItems: 'baseline',\n width: '100%',\n marginTop: theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit\n },\n rowLabel: {\n gridColumn: '1/3'\n },\n rowLabelHolder: {\n width: '100%'\n }\n});\n\nconst RowLabel = withStyles(styles)(({ categoriesPerRow, classes, markup, imageSupport, onChange, toolbarOpts }) => {\n return (\n <div\n style={{\n gridColumn: `1/${categoriesPerRow + 1}`,\n width: '100%'\n }}\n >\n <Typography className={classes.text}>\n Row Label\n </Typography>\n <EditableHtml\n className={classes.rowLabelHolder}\n markup={markup}\n onChange={onChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n});\n\nexport class Categories extends React.Component {\n static propTypes = {\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n categories: PropTypes.array,\n onModelChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object\n };\n\n changeCategoryColumns = event => {\n const numberValue = parseInt(event.target.value, 10);\n\n if (numberValue && numberValue >= 1 && numberValue <= 4) {\n this.props.onModelChanged({ categoriesPerRow: numberValue });\n }\n };\n\n add = () => {\n const { model } = this.props;\n const { categoriesPerRow } = model;\n const id = utils.firstAvailableIndex(model.categories.map(a => a.id), 0);\n const data = { id, label: 'Category ' + id };\n const addRowLabel = (model.categories.length) % categoriesPerRow === 0;\n const rowLabels = [...model.rowLabels];\n\n if (addRowLabel) {\n rowLabels.push('');\n }\n\n this.props.onModelChanged({\n rowLabels,\n categories: model.categories.concat([data])\n });\n };\n\n delete = category => {\n const { model, onModelChanged } = this.props;\n const index = model.categories.findIndex(a => a.id === category.id);\n\n if (index !== -1) {\n model.categories.splice(index, 1);\n model.correctResponse = removeCategory(\n category.id,\n model.correctResponse\n );\n onModelChanged(model);\n }\n };\n\n change = c => {\n const { categories } = this.props;\n const index = categories.findIndex(a => a.id === c.id);\n\n if (index !== -1) {\n categories.splice(index, 1, c);\n this.props.onModelChanged({ categories });\n }\n };\n\n addChoiceToCategory = (choice, categoryId) => {\n const { model, onModelChanged } = this.props;\n const correctResponse = moveChoiceToCategory(\n choice.id,\n undefined,\n categoryId,\n 0,\n model.correctResponse\n );\n\n onModelChanged({ correctResponse });\n };\n\n deleteChoiceFromCategory = (category, choice, choiceIndex) => {\n const { model, onModelChanged } = this.props;\n const correctResponse = removeChoiceFromCategory(\n choice.id,\n category.id,\n choiceIndex,\n model.correctResponse\n );\n\n onModelChanged({ correctResponse });\n };\n\n changeRowLabel = (val, index) => {\n const { model } = this.props;\n const { rowLabels } = model;\n const newRowLabels = [...rowLabels];\n\n if (newRowLabels.length < index) {\n newRowLabels.push(val);\n } else {\n newRowLabels[index] = val;\n }\n\n this.props.onModelChanged({\n rowLabels: newRowLabels\n });\n };\n\n render() {\n const {\n model,\n classes,\n className,\n categories,\n imageSupport,\n toolbarOpts\n } = this.props;\n const { categoriesPerRow, rowLabels } = model;\n\n const holderStyle = {\n gridTemplateColumns: `repeat(${categoriesPerRow}, 1fr)`\n };\n\n return (\n <div className={classNames(classes.categories, className)}>\n <Header label=\"Categories\" buttonLabel=\"ADD A CATEGORY\" onAdd={this.add} />\n <div className={classes.row}>\n <TextField\n label=\"Categories per row\"\n type=\"number\"\n inputProps={{\n min: 1,\n max: 4\n }}\n value={categoriesPerRow}\n onChange={this.changeCategoryColumns}\n />\n </div>\n <div className={classes.categoriesHolder} style={holderStyle}>\n {categories.map((category, index) => {\n const hasRowLabel = index % categoriesPerRow === 0;\n const rowIndex = index / categoriesPerRow;\n\n return (\n <React.Fragment\n key={index}\n >\n {hasRowLabel && (\n <RowLabel\n categoriesPerRow={categoriesPerRow}\n rowIndex={rowIndex}\n markup={rowLabels[rowIndex] || ''}\n onChange={(val) => this.changeRowLabel(val, rowIndex)}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n />\n )}\n <Category\n imageSupport={imageSupport}\n category={category}\n onChange={this.change}\n onDelete={() => this.delete(category)}\n onAddChoice={this.addChoiceToCategory}\n toolbarOpts={toolbarOpts}\n onDeleteChoice={(choice, choiceIndex) =>\n this.deleteChoiceFromCategory(category, choice, choiceIndex)\n }\n />\n </React.Fragment>\n );\n })}\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(Categories);\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/design/categories/index.jsx"],"names":["styles","theme","categories","marginBottom","spacing","unit","categoriesHolder","display","gridRowGap","gridColumnGap","row","gridTemplateColumns","alignItems","width","marginTop","rowLabel","gridColumn","rowLabelHolder","RowLabel","categoriesPerRow","classes","markup","imageSupport","onChange","toolbarOpts","text","Categories","event","numberValue","parseInt","target","value","props","onModelChanged","model","id","utils","firstAvailableIndex","map","a","data","label","addRowLabel","length","rowLabels","push","concat","category","index","findIndex","splice","correctResponse","c","choice","categoryId","undefined","choiceIndex","val","newRowLabels","className","holderStyle","add","min","max","changeCategoryColumns","hasRowLabel","rowIndex","changeRowLabel","change","addChoiceToCategory","deleteChoiceFromCategory","React","Component","PropTypes","shape","func","isRequired","object","string","array"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport Typography from '@material-ui/core/Typography';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport classNames from 'classnames';\nimport Category from './category';\nimport Header from '../header';\nimport { moveChoiceToCategory, removeCategory, removeChoiceFromCategory } from '@pie-lib/categorize';\n\nconst styles = theme => ({\n categories: {\n marginBottom: theme.spacing.unit\n },\n categoriesHolder: {\n display: 'grid',\n gridRowGap: `${theme.spacing.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`\n },\n row: {\n display: 'grid',\n gridTemplateColumns: 'repeat(2, 1fr)',\n gridColumnGap: `${theme.spacing.unit}px`,\n alignItems: 'baseline',\n width: '100%',\n marginTop: theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit\n },\n rowLabel: {\n gridColumn: '1/3'\n },\n rowLabelHolder: {\n width: '100%'\n }\n});\n\nconst RowLabel = withStyles(styles)(({ categoriesPerRow, classes, markup, imageSupport, onChange, toolbarOpts }) => {\n return (\n <div\n style={{\n gridColumn: `1/${categoriesPerRow + 1}`,\n width: '100%'\n }}\n >\n <Typography className={classes.text}>\n Row Label\n </Typography>\n <EditableHtml\n className={classes.rowLabelHolder}\n markup={markup}\n onChange={onChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n});\n\nexport class Categories extends React.Component {\n static propTypes = {\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n categories: PropTypes.array,\n onModelChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object\n };\n\n changeCategoryColumns = event => {\n const numberValue = parseInt(event.target.value, 10);\n\n if (numberValue && numberValue >= 1 && numberValue <= 4) {\n this.props.onModelChanged({ categoriesPerRow: numberValue });\n }\n };\n\n add = () => {\n const { model } = this.props;\n const { categoriesPerRow } = model;\n const id = utils.firstAvailableIndex(model.categories.map(a => a.id), 0);\n const data = { id, label: 'Category ' + id };\n const addRowLabel = (model.categories.length) % categoriesPerRow === 0;\n const rowLabels = [...model.rowLabels];\n\n if (addRowLabel) {\n rowLabels.push('');\n }\n\n this.props.onModelChanged({\n rowLabels,\n categories: model.categories.concat([data])\n });\n };\n\n delete = category => {\n const { model, onModelChanged } = this.props;\n const index = model.categories.findIndex(a => a.id === category.id);\n\n if (index !== -1) {\n model.categories.splice(index, 1);\n model.correctResponse = removeCategory(\n category.id,\n model.correctResponse\n );\n onModelChanged(model);\n }\n };\n\n change = c => {\n const { categories } = this.props;\n const index = categories.findIndex(a => a.id === c.id);\n\n if (index !== -1) {\n categories.splice(index, 1, c);\n this.props.onModelChanged({ categories });\n }\n };\n\n addChoiceToCategory = (choice, categoryId) => {\n const { model, onModelChanged } = this.props;\n const correctResponse = moveChoiceToCategory(\n choice.id,\n undefined,\n categoryId,\n 0,\n model.correctResponse\n );\n\n onModelChanged({ correctResponse });\n };\n\n deleteChoiceFromCategory = (category, choice, choiceIndex) => {\n const { model, onModelChanged } = this.props;\n const correctResponse = removeChoiceFromCategory(\n choice.id,\n category.id,\n choiceIndex,\n model.correctResponse\n );\n\n onModelChanged({ correctResponse });\n };\n\n changeRowLabel = (val, index) => {\n const { model } = this.props;\n const { rowLabels } = model;\n const newRowLabels = [...rowLabels];\n\n if (newRowLabels.length < index) {\n newRowLabels.push(val);\n } else {\n newRowLabels[index] = val;\n }\n\n this.props.onModelChanged({\n rowLabels: newRowLabels\n });\n };\n\n render() {\n const {\n model,\n classes,\n className,\n categories,\n imageSupport,\n toolbarOpts\n } = this.props;\n const { categoriesPerRow, rowLabels } = model;\n\n const holderStyle = {\n gridTemplateColumns: `repeat(${categoriesPerRow}, 1fr)`\n };\n\n return (\n <div className={classNames(classes.categories, className)}>\n <Header label=\"Categories\" buttonLabel=\"ADD A CATEGORY\" onAdd={this.add} />\n <div className={classes.row}>\n <TextField\n label=\"Categories per row\"\n type=\"number\"\n inputProps={{\n min: 1,\n max: 4\n }}\n value={categoriesPerRow}\n onChange={this.changeCategoryColumns}\n />\n </div>\n <div className={classes.categoriesHolder} style={holderStyle}>\n {categories.map((category, index) => {\n const hasRowLabel = index % categoriesPerRow === 0;\n const rowIndex = index / categoriesPerRow;\n\n return (\n <React.Fragment\n key={index}\n >\n {hasRowLabel && (\n <RowLabel\n categoriesPerRow={categoriesPerRow}\n rowIndex={rowIndex}\n markup={rowLabels[rowIndex] || ''}\n onChange={(val) => this.changeRowLabel(val, rowIndex)}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n />\n )}\n <Category\n imageSupport={imageSupport}\n category={category}\n onChange={this.change}\n onDelete={() => this.delete(category)}\n onAddChoice={this.addChoiceToCategory}\n toolbarOpts={toolbarOpts}\n onDeleteChoice={(choice, choiceIndex) =>\n this.deleteChoiceFromCategory(category, choice, choiceIndex)\n }\n />\n </React.Fragment>\n );\n })}\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(Categories);\n"],"file":"index.js"}
@@ -49,7 +49,7 @@ var _drag = require("@pie-lib/drag");
49
49
 
50
50
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
51
51
 
52
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
52
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
53
53
 
54
54
  var log = (0, _debug["default"])('@pie-element:categorize:configure:choice');
55
55
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/choices/choice.jsx"],"names":["log","canDrag","props","count","choice","categoryCount","correctResponseCount","Choice","content","onChange","classes","className","onDelete","connectDragSource","connectDragPreview","imageSupport","toolbarOpts","draggable","actions","dragHandle","dragDisabled","changeContent","changeCategoryCount","React","Component","PropTypes","object","isRequired","string","func","number","shape","add","styles","theme","padding","justifyContent","spacing","unit","overflow","cursor","StyledChoice","spec","beginDrag","out","id","endDrag","monitor","didDrop","item","getItem","categoryId","onRemoveChoice","DraggableChoice","uid","connect","dragSource","dragPreview","isDragging","withUid"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Card from '@material-ui/core/Card';\nimport CardActions from '@material-ui/core/CardActions';\nimport InputHeader from '../input-header';\nimport { Checkbox } from '@pie-lib/config-ui';\nimport { DeleteButton } from '../buttons';\nimport DragHandle from '@material-ui/icons/DragHandle';\nimport { DragSource } from 'react-dnd';\nimport debug from 'debug';\nimport { uid } from '@pie-lib/drag';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nconst canDrag = props => {\n const count = props.choice.categoryCount || 0;\n if (count === 0) {\n return true;\n } else {\n return props.correctResponseCount < count;\n }\n};\n\nexport class Choice extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n choice: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n connectDragSource: PropTypes.func.isRequired,\n connectDragPreview: PropTypes.func.isRequired,\n correctResponseCount: PropTypes.number.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n toolbarOpts: PropTypes.object\n };\n\n static defaultProps = {};\n\n changeContent = content => {\n const { onChange, choice } = this.props;\n choice.content = content;\n onChange(choice);\n };\n\n changeCategoryCount = () => {\n const { onChange, choice } = this.props;\n if (choice.categoryCount === 1) {\n choice.categoryCount = 0;\n } else {\n choice.categoryCount = 1;\n }\n onChange(choice);\n };\n\n render() {\n const {\n classes,\n className,\n choice,\n onDelete,\n connectDragSource,\n connectDragPreview,\n imageSupport,\n toolbarOpts\n } = this.props;\n\n const draggable = canDrag(this.props);\n\n return (\n <Card className={classNames(classes.choice, className)}>\n <CardActions className={classes.actions}>\n {connectDragSource(\n <span\n className={classNames(\n classes.dragHandle,\n draggable === false && classes.dragDisabled\n )}\n >\n <DragHandle color={draggable ? 'primary' : 'disabled'} />\n </span>\n )}\n </CardActions>\n {connectDragPreview(\n <span>\n <InputHeader\n imageSupport={imageSupport}\n label={choice.content}\n onChange={this.changeContent}\n onDelete={onDelete}\n toolbarOpts={toolbarOpts}\n />\n </span>\n )}\n\n <CardActions className={classes.actions}>\n <DeleteButton label={'delete'} onClick={onDelete} />\n <Checkbox\n mini\n label={'Remove after placing'}\n checked={choice.categoryCount === 1}\n onChange={this.changeCategoryCount}\n />\n </CardActions>\n </Card>\n );\n }\n}\nconst styles = theme => ({\n actions: {\n padding: 0,\n justifyContent: 'space-between'\n },\n choice: {\n padding: theme.spacing.unit,\n overflow: 'visible'\n },\n dragHandle: {\n cursor: 'move'\n },\n dragDisabled: {\n cursor: 'inherit'\n }\n});\n\nconst StyledChoice = withStyles(styles)(Choice);\n\nexport const spec = {\n canDrag,\n beginDrag: props => {\n const out = {\n id: props.choice.id\n };\n log('[beginDrag] out:', out);\n return out;\n },\n endDrag: (props, monitor) => {\n if (!monitor.didDrop()) {\n const item = monitor.getItem();\n if (item.categoryId) {\n log('wasnt droppped - what to do?');\n props.onRemoveChoice(item);\n }\n }\n }\n};\n\nconst DraggableChoice = DragSource(\n ({ uid }) => uid,\n spec,\n (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging()\n })\n)(StyledChoice);\n\nexport default uid.withUid(DraggableChoice);\n"],"file":"choice.js"}
1
+ {"version":3,"sources":["../../../src/design/choices/choice.jsx"],"names":["log","canDrag","props","count","choice","categoryCount","correctResponseCount","Choice","content","onChange","classes","className","onDelete","connectDragSource","connectDragPreview","imageSupport","toolbarOpts","draggable","actions","dragHandle","dragDisabled","changeContent","changeCategoryCount","React","Component","PropTypes","object","isRequired","string","func","number","shape","add","styles","theme","padding","justifyContent","spacing","unit","overflow","cursor","StyledChoice","spec","beginDrag","out","id","endDrag","monitor","didDrop","item","getItem","categoryId","onRemoveChoice","DraggableChoice","uid","connect","dragSource","dragPreview","isDragging","withUid"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Card from '@material-ui/core/Card';\nimport CardActions from '@material-ui/core/CardActions';\nimport InputHeader from '../input-header';\nimport { Checkbox } from '@pie-lib/config-ui';\nimport { DeleteButton } from '../buttons';\nimport DragHandle from '@material-ui/icons/DragHandle';\nimport { DragSource } from 'react-dnd';\nimport debug from 'debug';\nimport { uid } from '@pie-lib/drag';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nconst canDrag = props => {\n const count = props.choice.categoryCount || 0;\n if (count === 0) {\n return true;\n } else {\n return props.correctResponseCount < count;\n }\n};\n\nexport class Choice extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n choice: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n connectDragSource: PropTypes.func.isRequired,\n connectDragPreview: PropTypes.func.isRequired,\n correctResponseCount: PropTypes.number.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n toolbarOpts: PropTypes.object\n };\n\n static defaultProps = {};\n\n changeContent = content => {\n const { onChange, choice } = this.props;\n choice.content = content;\n onChange(choice);\n };\n\n changeCategoryCount = () => {\n const { onChange, choice } = this.props;\n if (choice.categoryCount === 1) {\n choice.categoryCount = 0;\n } else {\n choice.categoryCount = 1;\n }\n onChange(choice);\n };\n\n render() {\n const {\n classes,\n className,\n choice,\n onDelete,\n connectDragSource,\n connectDragPreview,\n imageSupport,\n toolbarOpts\n } = this.props;\n\n const draggable = canDrag(this.props);\n\n return (\n <Card className={classNames(classes.choice, className)}>\n <CardActions className={classes.actions}>\n {connectDragSource(\n <span\n className={classNames(\n classes.dragHandle,\n draggable === false && classes.dragDisabled\n )}\n >\n <DragHandle color={draggable ? 'primary' : 'disabled'} />\n </span>\n )}\n </CardActions>\n {connectDragPreview(\n <span>\n <InputHeader\n imageSupport={imageSupport}\n label={choice.content}\n onChange={this.changeContent}\n onDelete={onDelete}\n toolbarOpts={toolbarOpts}\n />\n </span>\n )}\n\n <CardActions className={classes.actions}>\n <DeleteButton label={'delete'} onClick={onDelete} />\n <Checkbox\n mini\n label={'Remove after placing'}\n checked={choice.categoryCount === 1}\n onChange={this.changeCategoryCount}\n />\n </CardActions>\n </Card>\n );\n }\n}\nconst styles = theme => ({\n actions: {\n padding: 0,\n justifyContent: 'space-between'\n },\n choice: {\n padding: theme.spacing.unit,\n overflow: 'visible'\n },\n dragHandle: {\n cursor: 'move'\n },\n dragDisabled: {\n cursor: 'inherit'\n }\n});\n\nconst StyledChoice = withStyles(styles)(Choice);\n\nexport const spec = {\n canDrag,\n beginDrag: props => {\n const out = {\n id: props.choice.id\n };\n log('[beginDrag] out:', out);\n return out;\n },\n endDrag: (props, monitor) => {\n if (!monitor.didDrop()) {\n const item = monitor.getItem();\n if (item.categoryId) {\n log('wasnt droppped - what to do?');\n props.onRemoveChoice(item);\n }\n }\n }\n};\n\nconst DraggableChoice = DragSource(\n ({ uid }) => uid,\n spec,\n (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging()\n })\n)(StyledChoice);\n\nexport default uid.withUid(DraggableChoice);\n"],"file":"choice.js"}
@@ -45,7 +45,7 @@ var _configUi = require("@pie-lib/config-ui");
45
45
 
46
46
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
47
47
 
48
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
48
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
49
 
50
50
  var positionOptions = [{
51
51
  label: 'Above',
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/choices/config.jsx"],"names":["positionOptions","label","value","secondaryText","Config","anchorEl","props","config","onModelChanged","allAtOne","allChoicesHaveCount","update","choices","map","c","categoryCount","target","choicesLabel","lockChoiceOrder","position","choicesPosition","setState","event","currentTarget","index","selectedIndex","state","classes","className","categoryCountIsOne","positionOption","find","option","row","toggleRemoveAllTiles","toggleShuffle","configuration","shrink","changeLabel","handleClickPosition","Boolean","handleClose","changePosition","React","Component","PropTypes","object","isRequired","string","bool","func","styles","theme","display","alignItems","gridColumnGap","spacing","unit","gridRowGap","gridTemplateColumns","justifyContent","marginBottom","choiceConfig","width","maxWidth","backgroundColor","palette","background","paper","marginTop","shuffleCheckbox","gridColumnStart","gridColumnEnd"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport TextField from '@material-ui/core/TextField';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Menu from '@material-ui/core/Menu';\nimport { Checkbox } from '@pie-lib/config-ui';\n\nconst positionOptions = [\n {\n label: 'Above',\n value: 'above',\n secondaryText: 'Choices will be shown above categories'\n },\n {\n label: 'Below',\n value: 'below',\n secondaryText: 'Choices will be shown below categories'\n },\n {\n label: 'Left',\n value: 'left',\n secondaryText: 'Choices will be shown to the left of the categories'\n },\n {\n label: 'Right',\n value: 'right',\n secondaryText: 'Choices will be shown to the right of the categories'\n }\n];\n\nexport class Config extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n config: PropTypes.object,\n categoryCountIsOne: PropTypes.bool,\n allChoicesHaveCount: PropTypes.func,\n onModelChanged: PropTypes.func\n };\n\n static defaultProps = {};\n\n state = {\n anchorEl: null\n };\n\n toggleRemoveAllTiles = () => {\n const { config, onModelChanged } = this.props;\n\n const allAtOne = this.props.allChoicesHaveCount(1);\n const update = config.choices.map(c => {\n c.categoryCount = allAtOne ? 0 : 1;\n return c;\n });\n\n onModelChanged({ choices: update });\n };\n\n changeLabel = ({ target }) => {\n this.props.onModelChanged({ choicesLabel: target.value });\n };\n\n toggleShuffle = () => {\n this.props.onModelChanged({\n lockChoiceOrder: !this.props.config.lockChoiceOrder\n });\n };\n\n changePosition = position => {\n this.props.onModelChanged({ choicesPosition: position.value });\n\n this.setState({ anchorEl: null });\n };\n\n handleClickPosition = event => {\n this.setState({ anchorEl: event.currentTarget });\n };\n\n handleMenuItemClick = (event, index) => {\n this.setState({ selectedIndex: index, anchorEl: null });\n };\n\n handleClose = () => {\n this.setState({ anchorEl: null });\n };\n\n render() {\n const { anchorEl } = this.state;\n const { classes, className, categoryCountIsOne, config } = this.props;\n\n const positionOption =\n positionOptions.find(option => option.value === config.choicesPosition) ||\n positionOption[1];\n\n return (\n <div className={classNames(classes.config, className)}>\n <div className={classes.row}>\n <Checkbox\n label={'Remove all tiles after placing'}\n checked={categoryCountIsOne}\n onChange={this.toggleRemoveAllTiles}\n />\n <Checkbox\n label={'Lock Choice Order'}\n checked={config.lockChoiceOrder}\n onChange={this.toggleShuffle}\n />\n </div>\n\n <div className={classes.configuration}>\n <TextField\n className={classes.label}\n InputLabelProps={{\n shrink: true\n }}\n label=\"Label\"\n value={config.choicesLabel}\n onChange={this.changeLabel}\n />\n <List component=\"nav\">\n <ListItem\n button\n aria-haspopup=\"true\"\n onClick={this.handleClickPosition}\n >\n <ListItemText\n primary=\"Choices Position\"\n secondary={positionOption.secondaryText}\n />\n </ListItem>\n </List>\n <Menu\n id=\"lock-menu\"\n anchorEl={anchorEl}\n open={Boolean(anchorEl)}\n onClose={this.handleClose}\n >\n {positionOptions.map(option => (\n <MenuItem\n key={option.value}\n selected={option.value === config.choicesPosition}\n onClick={() => this.changePosition(option)}\n >\n {option.label}\n </MenuItem>\n ))}\n </Menu>\n </div>\n </div>\n );\n }\n}\nconst styles = theme => ({\n configuration: {\n display: 'grid',\n alignItems: 'center',\n gridColumnGap: `${theme.spacing.unit}px`,\n gridRowGap: `${theme.spacing.unit}px`,\n gridTemplateColumns: 'repeat(2, 1fr)',\n justifyContent: 'space-between',\n marginBottom: theme.spacing.unit\n },\n choiceConfig: {\n width: '100%',\n maxWidth: 360,\n backgroundColor: theme.palette.background.paper\n },\n row: {\n display: 'grid',\n gridColumnGap: `${theme.spacing.unit}px`,\n gridRowGap: `${theme.spacing.unit}px`,\n gridTemplateColumns: 'repeat(2, 1fr)',\n justifyContent: 'space-between',\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit\n },\n shuffleCheckbox: {\n gridColumnStart: 2,\n gridColumnEnd: 2\n }\n});\nexport default withStyles(styles)(Config);\n"],"file":"config.js"}
1
+ {"version":3,"sources":["../../../src/design/choices/config.jsx"],"names":["positionOptions","label","value","secondaryText","Config","anchorEl","props","config","onModelChanged","allAtOne","allChoicesHaveCount","update","choices","map","c","categoryCount","target","choicesLabel","lockChoiceOrder","position","choicesPosition","setState","event","currentTarget","index","selectedIndex","state","classes","className","categoryCountIsOne","positionOption","find","option","row","toggleRemoveAllTiles","toggleShuffle","configuration","shrink","changeLabel","handleClickPosition","Boolean","handleClose","changePosition","React","Component","PropTypes","object","isRequired","string","bool","func","styles","theme","display","alignItems","gridColumnGap","spacing","unit","gridRowGap","gridTemplateColumns","justifyContent","marginBottom","choiceConfig","width","maxWidth","backgroundColor","palette","background","paper","marginTop","shuffleCheckbox","gridColumnStart","gridColumnEnd"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nimport TextField from '@material-ui/core/TextField';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Menu from '@material-ui/core/Menu';\nimport { Checkbox } from '@pie-lib/config-ui';\n\nconst positionOptions = [\n {\n label: 'Above',\n value: 'above',\n secondaryText: 'Choices will be shown above categories'\n },\n {\n label: 'Below',\n value: 'below',\n secondaryText: 'Choices will be shown below categories'\n },\n {\n label: 'Left',\n value: 'left',\n secondaryText: 'Choices will be shown to the left of the categories'\n },\n {\n label: 'Right',\n value: 'right',\n secondaryText: 'Choices will be shown to the right of the categories'\n }\n];\n\nexport class Config extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n config: PropTypes.object,\n categoryCountIsOne: PropTypes.bool,\n allChoicesHaveCount: PropTypes.func,\n onModelChanged: PropTypes.func\n };\n\n static defaultProps = {};\n\n state = {\n anchorEl: null\n };\n\n toggleRemoveAllTiles = () => {\n const { config, onModelChanged } = this.props;\n\n const allAtOne = this.props.allChoicesHaveCount(1);\n const update = config.choices.map(c => {\n c.categoryCount = allAtOne ? 0 : 1;\n return c;\n });\n\n onModelChanged({ choices: update });\n };\n\n changeLabel = ({ target }) => {\n this.props.onModelChanged({ choicesLabel: target.value });\n };\n\n toggleShuffle = () => {\n this.props.onModelChanged({\n lockChoiceOrder: !this.props.config.lockChoiceOrder\n });\n };\n\n changePosition = position => {\n this.props.onModelChanged({ choicesPosition: position.value });\n\n this.setState({ anchorEl: null });\n };\n\n handleClickPosition = event => {\n this.setState({ anchorEl: event.currentTarget });\n };\n\n handleMenuItemClick = (event, index) => {\n this.setState({ selectedIndex: index, anchorEl: null });\n };\n\n handleClose = () => {\n this.setState({ anchorEl: null });\n };\n\n render() {\n const { anchorEl } = this.state;\n const { classes, className, categoryCountIsOne, config } = this.props;\n\n const positionOption =\n positionOptions.find(option => option.value === config.choicesPosition) ||\n positionOption[1];\n\n return (\n <div className={classNames(classes.config, className)}>\n <div className={classes.row}>\n <Checkbox\n label={'Remove all tiles after placing'}\n checked={categoryCountIsOne}\n onChange={this.toggleRemoveAllTiles}\n />\n <Checkbox\n label={'Lock Choice Order'}\n checked={config.lockChoiceOrder}\n onChange={this.toggleShuffle}\n />\n </div>\n\n <div className={classes.configuration}>\n <TextField\n className={classes.label}\n InputLabelProps={{\n shrink: true\n }}\n label=\"Label\"\n value={config.choicesLabel}\n onChange={this.changeLabel}\n />\n <List component=\"nav\">\n <ListItem\n button\n aria-haspopup=\"true\"\n onClick={this.handleClickPosition}\n >\n <ListItemText\n primary=\"Choices Position\"\n secondary={positionOption.secondaryText}\n />\n </ListItem>\n </List>\n <Menu\n id=\"lock-menu\"\n anchorEl={anchorEl}\n open={Boolean(anchorEl)}\n onClose={this.handleClose}\n >\n {positionOptions.map(option => (\n <MenuItem\n key={option.value}\n selected={option.value === config.choicesPosition}\n onClick={() => this.changePosition(option)}\n >\n {option.label}\n </MenuItem>\n ))}\n </Menu>\n </div>\n </div>\n );\n }\n}\nconst styles = theme => ({\n configuration: {\n display: 'grid',\n alignItems: 'center',\n gridColumnGap: `${theme.spacing.unit}px`,\n gridRowGap: `${theme.spacing.unit}px`,\n gridTemplateColumns: 'repeat(2, 1fr)',\n justifyContent: 'space-between',\n marginBottom: theme.spacing.unit\n },\n choiceConfig: {\n width: '100%',\n maxWidth: 360,\n backgroundColor: theme.palette.background.paper\n },\n row: {\n display: 'grid',\n gridColumnGap: `${theme.spacing.unit}px`,\n gridRowGap: `${theme.spacing.unit}px`,\n gridTemplateColumns: 'repeat(2, 1fr)',\n justifyContent: 'space-between',\n marginTop: theme.spacing.unit,\n marginBottom: theme.spacing.unit\n },\n shuffleCheckbox: {\n gridColumnStart: 2,\n gridColumnEnd: 2\n }\n});\nexport default withStyles(styles)(Config);\n"],"file":"config.js"}
@@ -45,7 +45,7 @@ var _categorize = require("@pie-lib/categorize");
45
45
 
46
46
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
47
47
 
48
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
48
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
49
49
 
50
50
  var Choices = /*#__PURE__*/function (_React$Component) {
51
51
  (0, _inherits2["default"])(Choices, _React$Component);