@pie-element/complex-rubric 5.3.4-next.3 → 6.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/configure/lib/defaults.js +52 -24
  2. package/configure/lib/defaults.js.map +1 -1
  3. package/configure/lib/index.js +103 -194
  4. package/configure/lib/index.js.map +1 -1
  5. package/configure/lib/main.js +140 -199
  6. package/configure/lib/main.js.map +1 -1
  7. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.json +1 -0
  8. package/configure/node_modules/@pie-element/multi-trait-rubric/CHANGELOG.md +2491 -0
  9. package/configure/node_modules/@pie-element/multi-trait-rubric/README.md +55 -0
  10. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.json +1 -0
  11. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/CHANGELOG.md +2333 -0
  12. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js +429 -0
  13. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/common.js.map +1 -0
  14. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js +181 -0
  15. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/defaults.js.map +1 -0
  16. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js +157 -0
  17. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/index.js.map +1 -0
  18. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js +455 -0
  19. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/main.js.map +1 -0
  20. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js +206 -0
  21. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/modals.js.map +1 -0
  22. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js +451 -0
  23. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/scale.js.map +1 -0
  24. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js +275 -0
  25. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/trait.js.map +1 -0
  26. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js +233 -0
  27. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/traitsHeader.js.map +1 -0
  28. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js +87 -0
  29. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/lib/utils.js.map +1 -0
  30. package/configure/node_modules/@pie-element/multi-trait-rubric/configure/package.json +24 -0
  31. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.json +1 -0
  32. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/CHANGELOG.md +1571 -0
  33. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js +18 -0
  34. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/defaults.js.map +1 -0
  35. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js +158 -0
  36. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/index.js.map +1 -0
  37. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js +11 -0
  38. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/lib/utils.js.map +1 -0
  39. package/configure/node_modules/@pie-element/multi-trait-rubric/controller/package.json +14 -0
  40. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json +1628 -0
  41. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/config-schema.json.md +1202 -0
  42. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/config.js +8 -0
  43. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/generate.js +117 -0
  44. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/index.html +1 -0
  45. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/demo/session.js +6 -0
  46. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json +861 -0
  47. package/configure/node_modules/@pie-element/multi-trait-rubric/docs/pie-schema.json.md +614 -0
  48. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js +54 -0
  49. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/index.js.map +1 -0
  50. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js +123 -0
  51. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/main.js.map +1 -0
  52. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js +248 -0
  53. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/scale.js.map +1 -0
  54. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js +83 -0
  55. package/configure/node_modules/@pie-element/multi-trait-rubric/lib/trait.js.map +1 -0
  56. package/configure/node_modules/@pie-element/multi-trait-rubric/package.json +32 -0
  57. package/configure/node_modules/@pie-element/rubric/CHANGELOG.json +257 -0
  58. package/configure/node_modules/@pie-element/rubric/CHANGELOG.md +2774 -0
  59. package/configure/node_modules/@pie-element/rubric/README.md +3 -0
  60. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.json +197 -0
  61. package/configure/node_modules/@pie-element/rubric/configure/CHANGELOG.md +2541 -0
  62. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js +67 -0
  63. package/configure/node_modules/@pie-element/rubric/configure/lib/defaults.js.map +1 -0
  64. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js +135 -0
  65. package/configure/node_modules/@pie-element/rubric/configure/lib/index.js.map +1 -0
  66. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js +103 -0
  67. package/configure/node_modules/@pie-element/rubric/configure/lib/main.js.map +1 -0
  68. package/configure/node_modules/@pie-element/rubric/configure/package.json +24 -0
  69. package/configure/node_modules/@pie-element/rubric/configure/src/__tests__/index.test.jsx +178 -0
  70. package/configure/node_modules/@pie-element/rubric/configure/src/defaults.js +42 -0
  71. package/configure/node_modules/@pie-element/rubric/configure/src/index.js +139 -0
  72. package/configure/node_modules/@pie-element/rubric/configure/src/main.jsx +87 -0
  73. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.json +17 -0
  74. package/configure/node_modules/@pie-element/rubric/controller/CHANGELOG.md +1564 -0
  75. package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js +15 -0
  76. package/configure/node_modules/@pie-element/rubric/controller/lib/defaults.js.map +1 -0
  77. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js +46 -0
  78. package/configure/node_modules/@pie-element/rubric/controller/lib/index.js.map +1 -0
  79. package/configure/node_modules/@pie-element/rubric/controller/package.json +12 -0
  80. package/configure/node_modules/@pie-element/rubric/controller/src/__tests__/index.test.js +33 -0
  81. package/configure/node_modules/@pie-element/rubric/controller/src/defaults.js +8 -0
  82. package/configure/node_modules/@pie-element/rubric/controller/src/index.js +41 -0
  83. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json +712 -0
  84. package/configure/node_modules/@pie-element/rubric/docs/config-schema.json.md +532 -0
  85. package/configure/node_modules/@pie-element/rubric/docs/demo/config.js +8 -0
  86. package/configure/node_modules/@pie-element/rubric/docs/demo/generate.js +8 -0
  87. package/configure/node_modules/@pie-element/rubric/docs/demo/index.html +2 -0
  88. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json +391 -0
  89. package/configure/node_modules/@pie-element/rubric/docs/pie-schema.json.md +281 -0
  90. package/configure/node_modules/@pie-element/rubric/lib/index.js +52 -0
  91. package/configure/node_modules/@pie-element/rubric/lib/index.js.map +1 -0
  92. package/configure/node_modules/@pie-element/rubric/lib/main.js +210 -0
  93. package/configure/node_modules/@pie-element/rubric/lib/main.js.map +1 -0
  94. package/configure/node_modules/@pie-element/rubric/lib/print.js +71 -0
  95. package/configure/node_modules/@pie-element/rubric/lib/print.js.map +1 -0
  96. package/configure/node_modules/@pie-element/rubric/package.json +30 -0
  97. package/configure/node_modules/@pie-element/rubric/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +2641 -0
  98. package/configure/node_modules/@pie-element/rubric/src/__tests__/rubric-view.test.jsx +49 -0
  99. package/configure/node_modules/@pie-element/rubric/src/index.js +48 -0
  100. package/configure/node_modules/@pie-element/rubric/src/main.jsx +226 -0
  101. package/configure/node_modules/@pie-element/rubric/src/print.js +74 -0
  102. package/configure/node_modules/clsx/clsx.d.ts +6 -0
  103. package/configure/node_modules/clsx/dist/clsx.js +1 -0
  104. package/configure/node_modules/clsx/dist/clsx.m.js +1 -0
  105. package/configure/node_modules/clsx/dist/clsx.min.js +1 -0
  106. package/configure/node_modules/clsx/license +9 -0
  107. package/configure/node_modules/clsx/package.json +37 -0
  108. package/configure/node_modules/clsx/readme.md +88 -0
  109. package/configure/package.json +12 -9
  110. package/configure/src/__tests__/index.test.js +30 -5
  111. package/configure/src/__tests__/main.test.jsx +39 -23
  112. package/configure/src/index.js +13 -6
  113. package/configure/src/main.jsx +16 -15
  114. package/controller/lib/defaults.js +11 -15
  115. package/controller/lib/defaults.js.map +1 -1
  116. package/controller/lib/index.js +117 -180
  117. package/controller/lib/index.js.map +1 -1
  118. package/controller/lib/utils.js +1 -3
  119. package/controller/lib/utils.js.map +1 -1
  120. package/controller/package.json +1 -1
  121. package/lib/index.js +113 -204
  122. package/lib/index.js.map +1 -1
  123. package/lib/print.js +96 -190
  124. package/lib/print.js.map +1 -1
  125. package/package.json +10 -14
  126. package/src/__tests__/index.test.js +25 -7
  127. package/configure/src/__tests__/__snapshots__/main.test.jsx.snap +0 -193
  128. package/esm/configure.js +0 -15856
  129. package/esm/configure.js.map +0 -1
  130. package/esm/controller.js +0 -281
  131. package/esm/controller.js.map +0 -1
  132. package/esm/element.js +0 -179
  133. package/esm/element.js.map +0 -1
  134. package/esm/package.json +0 -3
  135. package/esm/print.js +0 -163
  136. package/esm/print.js.map +0 -1
  137. package/module/configure.js +0 -1
  138. package/module/controller.js +0 -262
  139. package/module/demo.js +0 -221
  140. package/module/element.js +0 -1
  141. package/module/index.html +0 -21
  142. package/module/manifest.json +0 -22
  143. package/module/print-demo.js +0 -259
  144. package/module/print.html +0 -18
  145. package/module/print.js +0 -1
@@ -0,0 +1,123 @@
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 _scale = _interopRequireDefault(require("./scale"));
11
+ var _Link = _interopRequireDefault(require("@mui/material/Link"));
12
+ var _Collapse = _interopRequireDefault(require("@mui/material/Collapse"));
13
+ var _renderUi = require("@pie-lib/render-ui");
14
+ class Main extends _react.default.Component {
15
+ constructor(props) {
16
+ super(props);
17
+ this.state = {
18
+ rubricOpen: false,
19
+ linkPrefix: 'Show'
20
+ };
21
+ this.toggleRubric = this.toggleRubric.bind(this);
22
+ }
23
+ toggleRubric() {
24
+ this.setState({
25
+ rubricOpen: !this.state.rubricOpen
26
+ });
27
+ this.setState({
28
+ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide'
29
+ });
30
+ }
31
+ render() {
32
+ const {
33
+ model
34
+ } = this.props;
35
+ let {
36
+ animationsDisabled
37
+ } = this.props;
38
+ const {
39
+ extraCSSRules,
40
+ halfScoring,
41
+ scales,
42
+ visible,
43
+ pointLabels,
44
+ description,
45
+ standards,
46
+ arrowsDisabled
47
+ } = model || {};
48
+ animationsDisabled = animationsDisabled || model.animationsDisabled;
49
+ if (!scales || !visible) {
50
+ return null;
51
+ }
52
+ const rubricItem = /*#__PURE__*/_react.default.createElement(_renderUi.UiLayout, {
53
+ extraCSSRules: extraCSSRules,
54
+ style: {
55
+ fontFamily: 'Cerebri Sans',
56
+ color: _renderUi.color.text(),
57
+ backgroundColor: _renderUi.color.background()
58
+ }
59
+ }, halfScoring ? /*#__PURE__*/_react.default.createElement("div", {
60
+ style: {
61
+ marginBottom: '16px'
62
+ }
63
+ }, "* Half-point or in-between scores are permitted under this rubric.") : null, scales.map((scale, scaleIndex) => /*#__PURE__*/_react.default.createElement(_scale.default, {
64
+ key: `scale_${scaleIndex}`,
65
+ scale: scale,
66
+ scaleIndex: scaleIndex,
67
+ showPointsLabels: pointLabels,
68
+ showDescription: description,
69
+ showStandards: standards,
70
+ arrowsDisabled: arrowsDisabled
71
+ })));
72
+ if (animationsDisabled) {
73
+ return rubricItem;
74
+ }
75
+ return /*#__PURE__*/_react.default.createElement(_renderUi.UiLayout, {
76
+ extraCSSRules: extraCSSRules,
77
+ style: {
78
+ color: _renderUi.color.text(),
79
+ backgroundColor: _renderUi.color.background()
80
+ }
81
+ }, /*#__PURE__*/_react.default.createElement(_Link.default, {
82
+ style: {
83
+ backgroundColor: _renderUi.color.background()
84
+ },
85
+ href: this.dudUrl,
86
+ onClick: this.toggleRubric
87
+ }, this.state.linkPrefix, " Rubric"), /*#__PURE__*/_react.default.createElement(_Collapse.default, {
88
+ style: {
89
+ marginTop: '16px'
90
+ },
91
+ in: this.state.rubricOpen,
92
+ timeout: {
93
+ enter: 225,
94
+ exit: 195
95
+ }
96
+ }, rubricItem));
97
+ }
98
+ }
99
+ Main.propTypes = {
100
+ model: _propTypes.default.shape({
101
+ halfScoring: _propTypes.default.bool,
102
+ scales: _propTypes.default.arrayOf(_propTypes.default.shape({
103
+ excludeZero: _propTypes.default.bool,
104
+ maxPoints: _propTypes.default.number,
105
+ scorePointsLabels: _propTypes.default.arrayOf(_propTypes.default.string),
106
+ traitLabel: _propTypes.default.string,
107
+ traits: _propTypes.default.arrayOf(_propTypes.default.shape({
108
+ name: _propTypes.default.string,
109
+ description: _propTypes.default.string,
110
+ scorePointsDescriptors: _propTypes.default.arrayOf(_propTypes.default.string),
111
+ standards: _propTypes.default.arrayOf(_propTypes.default.string)
112
+ }))
113
+ })),
114
+ visible: _propTypes.default.bool,
115
+ pointLabels: _propTypes.default.bool,
116
+ description: _propTypes.default.bool,
117
+ standards: _propTypes.default.bool,
118
+ animationsDisabled: _propTypes.default.bool
119
+ }),
120
+ animationsDisabled: _propTypes.default.bool
121
+ };
122
+ var _default = exports.default = Main;
123
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_scale","_Link","_Collapse","_renderUi","Main","React","Component","constructor","props","state","rubricOpen","linkPrefix","toggleRubric","bind","setState","render","model","animationsDisabled","extraCSSRules","halfScoring","scales","visible","pointLabels","description","standards","arrowsDisabled","rubricItem","default","createElement","UiLayout","style","fontFamily","color","text","backgroundColor","background","marginBottom","map","scale","scaleIndex","key","showPointsLabels","showDescription","showStandards","href","dudUrl","onClick","marginTop","in","timeout","enter","exit","propTypes","PropTypes","shape","bool","arrayOf","excludeZero","maxPoints","number","scorePointsLabels","string","traitLabel","traits","name","scorePointsDescriptors","_default","exports"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Scale from './scale';\nimport Link from '@mui/material/Link';\nimport Collapse from '@mui/material/Collapse';\nimport { color, UiLayout } from '@pie-lib/render-ui';\n\nclass Main extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n rubricOpen: false,\n linkPrefix: 'Show',\n };\n this.toggleRubric = this.toggleRubric.bind(this);\n }\n\n toggleRubric() {\n this.setState({ rubricOpen: !this.state.rubricOpen });\n this.setState({ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide' });\n }\n\n render() {\n const { model } = this.props;\n let { animationsDisabled } = this.props;\n const { extraCSSRules, halfScoring, scales, visible, pointLabels, description, standards, arrowsDisabled } =\n model || {};\n animationsDisabled = animationsDisabled || model.animationsDisabled;\n\n if (!scales || !visible) {\n return null;\n }\n\n const rubricItem = (\n <UiLayout\n extraCSSRules={extraCSSRules}\n style={{ fontFamily: 'Cerebri Sans', color: color.text(), backgroundColor: color.background() }}\n >\n {halfScoring ? (\n <div style={{ marginBottom: '16px' }}>* Half-point or in-between scores are permitted under this rubric.</div>\n ) : null}\n\n {scales.map((scale, scaleIndex) => (\n <Scale\n key={`scale_${scaleIndex}`}\n scale={scale}\n scaleIndex={scaleIndex}\n showPointsLabels={pointLabels}\n showDescription={description}\n showStandards={standards}\n arrowsDisabled={arrowsDisabled}\n />\n ))}\n </UiLayout>\n );\n\n if (animationsDisabled) {\n return rubricItem;\n }\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} style={{ color: color.text(), backgroundColor: color.background() }}>\n <Link style={{ backgroundColor: color.background() }} href={this.dudUrl} onClick={this.toggleRubric}>\n {this.state.linkPrefix} Rubric\n </Link>\n <Collapse style={{ marginTop: '16px' }} in={this.state.rubricOpen} timeout={{ enter: 225, exit: 195 }}>\n {rubricItem}\n </Collapse>\n </UiLayout>\n );\n }\n}\n\nMain.propTypes = {\n model: PropTypes.shape({\n halfScoring: PropTypes.bool,\n scales: PropTypes.arrayOf(\n PropTypes.shape({\n excludeZero: PropTypes.bool,\n maxPoints: PropTypes.number,\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n traits: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n description: PropTypes.string,\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n standards: PropTypes.arrayOf(PropTypes.string),\n }),\n ),\n }),\n ),\n visible: PropTypes.bool,\n pointLabels: PropTypes.bool,\n description: PropTypes.bool,\n standards: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n }),\n animationsDisabled: PropTypes.bool,\n};\n\nexport default Main;\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAEA,MAAMM,IAAI,SAASC,cAAK,CAACC,SAAS,CAAC;EACjCC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MACXC,UAAU,EAAE,KAAK;MACjBC,UAAU,EAAE;IACd,CAAC;IACD,IAAI,CAACC,YAAY,GAAG,IAAI,CAACA,YAAY,CAACC,IAAI,CAAC,IAAI,CAAC;EAClD;EAEAD,YAAYA,CAAA,EAAG;IACb,IAAI,CAACE,QAAQ,CAAC;MAAEJ,UAAU,EAAE,CAAC,IAAI,CAACD,KAAK,CAACC;IAAW,CAAC,CAAC;IACrD,IAAI,CAACI,QAAQ,CAAC;MAAEH,UAAU,EAAE,IAAI,CAACF,KAAK,CAACC,UAAU,GAAG,MAAM,GAAG;IAAO,CAAC,CAAC;EACxE;EAEAK,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACR,KAAK;IAC5B,IAAI;MAAES;IAAmB,CAAC,GAAG,IAAI,CAACT,KAAK;IACvC,MAAM;MAAEU,aAAa;MAAEC,WAAW;MAAEC,MAAM;MAAEC,OAAO;MAAEC,WAAW;MAAEC,WAAW;MAAEC,SAAS;MAAEC;IAAe,CAAC,GACxGT,KAAK,IAAI,CAAC,CAAC;IACbC,kBAAkB,GAAGA,kBAAkB,IAAID,KAAK,CAACC,kBAAkB;IAEnE,IAAI,CAACG,MAAM,IAAI,CAACC,OAAO,EAAE;MACvB,OAAO,IAAI;IACb;IAEA,MAAMK,UAAU,gBACd9B,MAAA,CAAA+B,OAAA,CAAAC,aAAA,CAACzB,SAAA,CAAA0B,QAAQ;MACPX,aAAa,EAAEA,aAAc;MAC7BY,KAAK,EAAE;QAAEC,UAAU,EAAE,cAAc;QAAEC,KAAK,EAAEA,eAAK,CAACC,IAAI,CAAC,CAAC;QAAEC,eAAe,EAAEF,eAAK,CAACG,UAAU,CAAC;MAAE;IAAE,GAE/FhB,WAAW,gBACVvB,MAAA,CAAA+B,OAAA,CAAAC,aAAA;MAAKE,KAAK,EAAE;QAAEM,YAAY,EAAE;MAAO;IAAE,GAAC,oEAAuE,CAAC,GAC5G,IAAI,EAEPhB,MAAM,CAACiB,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,kBAC5B3C,MAAA,CAAA+B,OAAA,CAAAC,aAAA,CAAC5B,MAAA,CAAA2B,OAAK;MACJa,GAAG,EAAE,SAASD,UAAU,EAAG;MAC3BD,KAAK,EAAEA,KAAM;MACbC,UAAU,EAAEA,UAAW;MACvBE,gBAAgB,EAAEnB,WAAY;MAC9BoB,eAAe,EAAEnB,WAAY;MAC7BoB,aAAa,EAAEnB,SAAU;MACzBC,cAAc,EAAEA;IAAe,CAChC,CACF,CACO,CACX;IAED,IAAIR,kBAAkB,EAAE;MACtB,OAAOS,UAAU;IACnB;IAEA,oBACE9B,MAAA,CAAA+B,OAAA,CAAAC,aAAA,CAACzB,SAAA,CAAA0B,QAAQ;MAACX,aAAa,EAAEA,aAAc;MAACY,KAAK,EAAE;QAAEE,KAAK,EAAEA,eAAK,CAACC,IAAI,CAAC,CAAC;QAAEC,eAAe,EAAEF,eAAK,CAACG,UAAU,CAAC;MAAE;IAAE,gBAC1GvC,MAAA,CAAA+B,OAAA,CAAAC,aAAA,CAAC3B,KAAA,CAAA0B,OAAI;MAACG,KAAK,EAAE;QAAEI,eAAe,EAAEF,eAAK,CAACG,UAAU,CAAC;MAAE,CAAE;MAACS,IAAI,EAAE,IAAI,CAACC,MAAO;MAACC,OAAO,EAAE,IAAI,CAAClC;IAAa,GACjG,IAAI,CAACH,KAAK,CAACE,UAAU,EAAC,SACnB,CAAC,eACPf,MAAA,CAAA+B,OAAA,CAAAC,aAAA,CAAC1B,SAAA,CAAAyB,OAAQ;MAACG,KAAK,EAAE;QAAEiB,SAAS,EAAE;MAAO,CAAE;MAACC,EAAE,EAAE,IAAI,CAACvC,KAAK,CAACC,UAAW;MAACuC,OAAO,EAAE;QAAEC,KAAK,EAAE,GAAG;QAAEC,IAAI,EAAE;MAAI;IAAE,GACnGzB,UACO,CACF,CAAC;EAEf;AACF;AAEAtB,IAAI,CAACgD,SAAS,GAAG;EACfpC,KAAK,EAAEqC,kBAAS,CAACC,KAAK,CAAC;IACrBnC,WAAW,EAAEkC,kBAAS,CAACE,IAAI;IAC3BnC,MAAM,EAAEiC,kBAAS,CAACG,OAAO,CACvBH,kBAAS,CAACC,KAAK,CAAC;MACdG,WAAW,EAAEJ,kBAAS,CAACE,IAAI;MAC3BG,SAAS,EAAEL,kBAAS,CAACM,MAAM;MAC3BC,iBAAiB,EAAEP,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACQ,MAAM,CAAC;MACtDC,UAAU,EAAET,kBAAS,CAACQ,MAAM;MAC5BE,MAAM,EAAEV,kBAAS,CAACG,OAAO,CACvBH,kBAAS,CAACC,KAAK,CAAC;QACdU,IAAI,EAAEX,kBAAS,CAACQ,MAAM;QACtBtC,WAAW,EAAE8B,kBAAS,CAACQ,MAAM;QAC7BI,sBAAsB,EAAEZ,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACQ,MAAM,CAAC;QAC3DrC,SAAS,EAAE6B,kBAAS,CAACG,OAAO,CAACH,kBAAS,CAACQ,MAAM;MAC/C,CAAC,CACH;IACF,CAAC,CACH,CAAC;IACDxC,OAAO,EAAEgC,kBAAS,CAACE,IAAI;IACvBjC,WAAW,EAAE+B,kBAAS,CAACE,IAAI;IAC3BhC,WAAW,EAAE8B,kBAAS,CAACE,IAAI;IAC3B/B,SAAS,EAAE6B,kBAAS,CAACE,IAAI;IACzBtC,kBAAkB,EAAEoC,kBAAS,CAACE;EAChC,CAAC,CAAC;EACFtC,kBAAkB,EAAEoC,kBAAS,CAACE;AAChC,CAAC;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAxC,OAAA,GAEavB,IAAI","ignoreList":[]}
@@ -0,0 +1,248 @@
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 _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 _renderUi = require("@pie-lib/render-ui");
13
+ var _trait = _interopRequireDefault(require("./trait"));
14
+ var _ArrowBackIos = _interopRequireDefault(require("@mui/icons-material/ArrowBackIos"));
15
+ var _ArrowForwardIos = _interopRequireDefault(require("@mui/icons-material/ArrowForwardIos"));
16
+ const Wrapper = (0, _styles.styled)('div')({
17
+ display: 'flex',
18
+ position: 'relative'
19
+ });
20
+ const TableWrapper = (0, _styles.styled)('div')({
21
+ width: '100%',
22
+ overflow: 'auto'
23
+ });
24
+ const Table = (0, _styles.styled)('table')(({
25
+ theme
26
+ }) => ({
27
+ borderSpacing: 0,
28
+ marginBottom: theme.spacing(2),
29
+ borderRadius: '4px',
30
+ color: _renderUi.color.text(),
31
+ fontSize: theme.typography.fontSize,
32
+ lineHeight: '16px',
33
+ overflow: 'unset',
34
+ '& ul, ol': {
35
+ marginBlockStart: 0,
36
+ paddingInlineStart: theme.spacing(2)
37
+ },
38
+ '& th': {
39
+ padding: theme.spacing(2),
40
+ textAlign: 'left',
41
+ backgroundColor: _renderUi.color.secondaryBackground(),
42
+ verticalAlign: 'bottom'
43
+ },
44
+ '& th div': {
45
+ width: '200px'
46
+ },
47
+ '& td': {
48
+ width: '200px',
49
+ padding: `${theme.spacing(2)} ${theme.spacing(1)}`,
50
+ verticalAlign: 'top'
51
+ }
52
+ }));
53
+ const ScorePointHeaderTable = (0, _styles.styled)('table')({
54
+ '& td': {
55
+ border: 0,
56
+ padding: 0,
57
+ textAlign: 'center',
58
+ minWidth: '200px'
59
+ }
60
+ });
61
+ const PointLabel = (0, _styles.styled)('div')({
62
+ marginBottom: '4px'
63
+ });
64
+ const ScorePointValue = (0, _styles.styled)('td')({
65
+ fontWeight: 'normal'
66
+ });
67
+ const ArrowContainer = ({
68
+ show,
69
+ onClick,
70
+ extraStyles,
71
+ children
72
+ }) => /*#__PURE__*/_react.default.createElement("div", {
73
+ style: {
74
+ height: 'calc(100% - 1px)',
75
+ top: '1px',
76
+ display: show ? 'flex' : 'none',
77
+ width: '50px',
78
+ margin: 'auto',
79
+ position: 'absolute',
80
+ alignItems: 'center',
81
+ justifyContent: 'center',
82
+ cursor: 'pointer',
83
+ ...extraStyles
84
+ },
85
+ onClick: onClick
86
+ }, children);
87
+ ArrowContainer.propTypes = {
88
+ show: _propTypes.default.bool,
89
+ onClick: _propTypes.default.func,
90
+ extraStyles: _propTypes.default.object,
91
+ children: _propTypes.default.object
92
+ };
93
+ class Scale extends _react.default.Component {
94
+ constructor(...args) {
95
+ super(...args);
96
+ (0, _defineProperty2.default)(this, "state", {});
97
+ (0, _defineProperty2.default)(this, "scrollLeft", () => {
98
+ this.tableWrapper.scrollLeft -= this.tableWrapper.offsetWidth / 2;
99
+ this.setState({
100
+ showRight: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,
101
+ showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0
102
+ });
103
+ });
104
+ (0, _defineProperty2.default)(this, "scrollRight", () => {
105
+ const initialScrollLeft = this.tableWrapper.scrollLeft;
106
+ this.tableWrapper.scrollLeft += this.tableWrapper.offsetWidth / 2;
107
+ this.setState({
108
+ showRight: initialScrollLeft !== this.tableWrapper.scrollLeft && this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,
109
+ showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0
110
+ });
111
+ });
112
+ }
113
+ componentDidMount() {
114
+ if (this.tableWrapper) {
115
+ if (this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth) {
116
+ this.setState({
117
+ showRight: true
118
+ });
119
+ }
120
+ }
121
+ }
122
+ render() {
123
+ const {
124
+ showRight,
125
+ showLeft
126
+ } = this.state;
127
+ const {
128
+ scale,
129
+ scaleIndex,
130
+ showDescription,
131
+ showPointsLabels,
132
+ showStandards,
133
+ arrowsDisabled
134
+ } = this.props;
135
+ const {
136
+ excludeZero,
137
+ maxPoints,
138
+ traitLabel,
139
+ traits,
140
+ scorePointsLabels
141
+ } = scale || {};
142
+ let scorePointsValues = [];
143
+ let descriptions;
144
+ let pointsLabels;
145
+ let standards;
146
+ try {
147
+ // determining the score points values
148
+ for (let pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {
149
+ scorePointsValues.push(pointValue);
150
+ }
151
+ const {
152
+ traitStandards,
153
+ traitDescriptions
154
+ } = traits.reduce((tcc, trait) => ({
155
+ traitStandards: [...tcc.traitStandards, ...(trait.standards || [])],
156
+ traitDescriptions: [...tcc.traitDescriptions, ...(trait.description || [])]
157
+ }), {
158
+ traitStandards: [],
159
+ traitDescriptions: []
160
+ });
161
+ descriptions = showDescription && traitDescriptions.length;
162
+ pointsLabels = showPointsLabels && scorePointsLabels.length;
163
+ standards = showStandards && traitStandards.length;
164
+ } catch (e) {
165
+ descriptions = false;
166
+ pointsLabels = false;
167
+ standards = false;
168
+ }
169
+ return /*#__PURE__*/_react.default.createElement(Wrapper, null, /*#__PURE__*/_react.default.createElement(ArrowContainer, {
170
+ show: showLeft && !arrowsDisabled,
171
+ onClick: this.scrollLeft,
172
+ extraStyles: {
173
+ left: 0,
174
+ background: `linear-gradient(to right, white, ${_renderUi.color.background()})`
175
+ }
176
+ }, /*#__PURE__*/_react.default.createElement(_ArrowBackIos.default, null)), /*#__PURE__*/_react.default.createElement(TableWrapper, {
177
+ ref: ref => {
178
+ this.tableWrapper = ref;
179
+ },
180
+ onScroll: () => {
181
+ this.setState({
182
+ // 5 is a margin of error
183
+ showRight: this.tableWrapper.scrollLeft + this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth - 5 && this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,
184
+ showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0
185
+ });
186
+ }
187
+ }, arrowsDisabled && (showRight || showLeft) ? /*#__PURE__*/_react.default.createElement("div", null, "The item is too large to fit in print mode.") : null, /*#__PURE__*/_react.default.createElement(Table, {
188
+ key: `scale-${scaleIndex}`
189
+ }, /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", null, /*#__PURE__*/_react.default.createElement("div", {
190
+ dangerouslySetInnerHTML: {
191
+ __html: traitLabel
192
+ }
193
+ })), standards ? /*#__PURE__*/_react.default.createElement("th", null, /*#__PURE__*/_react.default.createElement("div", null, "Standard(s)")) : null, descriptions ? /*#__PURE__*/_react.default.createElement("th", null, /*#__PURE__*/_react.default.createElement("div", null, "Description")) : null, scorePointsValues && scorePointsValues.map((scorePointValue, index) => {
194
+ let pointLabel = '';
195
+
196
+ // to handle the case when there aren't enough labels
197
+ try {
198
+ pointLabel = scorePointsLabels[scorePointsValues.length - index - 1] || '';
199
+ } catch (e) {
200
+ pointLabel = '';
201
+ }
202
+ return /*#__PURE__*/_react.default.createElement("th", {
203
+ key: `table-header-${index}`
204
+ }, /*#__PURE__*/_react.default.createElement(ScorePointHeaderTable, null, /*#__PURE__*/_react.default.createElement("thead", null, pointsLabels ? /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement(PointLabel, {
205
+ dangerouslySetInnerHTML: {
206
+ __html: pointLabel
207
+ }
208
+ }))) : null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement(ScorePointValue, null, scorePointValue === 1 ? `${scorePointValue} point` : `${scorePointValue} points`)))));
209
+ }))), /*#__PURE__*/_react.default.createElement("tbody", null, traits && traits.map((trait, traitIndex) => /*#__PURE__*/_react.default.createElement(_trait.default, {
210
+ key: `trait_${scaleIndex}_${traitIndex}`,
211
+ trait: trait,
212
+ traitIndex: traitIndex,
213
+ showDescription: !!descriptions,
214
+ showStandards: !!standards,
215
+ scaleIndex: scaleIndex,
216
+ scorePointsValues: scorePointsValues,
217
+ excludeZero: excludeZero
218
+ }))))), /*#__PURE__*/_react.default.createElement(ArrowContainer, {
219
+ show: showRight && !arrowsDisabled,
220
+ onClick: this.scrollRight,
221
+ extraStyles: {
222
+ right: 0,
223
+ background: `linear-gradient(to left, white, ${_renderUi.color.background()})`
224
+ }
225
+ }, /*#__PURE__*/_react.default.createElement(_ArrowForwardIos.default, null)));
226
+ }
227
+ }
228
+ Scale.propTypes = {
229
+ scaleIndex: _propTypes.default.number,
230
+ scale: _propTypes.default.shape({
231
+ excludeZero: _propTypes.default.bool,
232
+ maxPoints: _propTypes.default.number,
233
+ scorePointsLabels: _propTypes.default.arrayOf(_propTypes.default.string),
234
+ traitLabel: _propTypes.default.string,
235
+ traits: _propTypes.default.arrayOf(_propTypes.default.shape({
236
+ name: _propTypes.default.string,
237
+ standards: _propTypes.default.arrayOf(_propTypes.default.string),
238
+ scorePointsDescriptors: _propTypes.default.arrayOf(_propTypes.default.string),
239
+ description: _propTypes.default.string
240
+ }))
241
+ }),
242
+ showPointsLabels: _propTypes.default.bool,
243
+ showDescription: _propTypes.default.bool,
244
+ showStandards: _propTypes.default.bool,
245
+ arrowsDisabled: _propTypes.default.bool
246
+ };
247
+ var _default = exports.default = Scale;
248
+ //# sourceMappingURL=scale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scale.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_renderUi","_trait","_ArrowBackIos","_ArrowForwardIos","Wrapper","styled","display","position","TableWrapper","width","overflow","Table","theme","borderSpacing","marginBottom","spacing","borderRadius","color","text","fontSize","typography","lineHeight","marginBlockStart","paddingInlineStart","padding","textAlign","backgroundColor","secondaryBackground","verticalAlign","ScorePointHeaderTable","border","minWidth","PointLabel","ScorePointValue","fontWeight","ArrowContainer","show","onClick","extraStyles","children","default","createElement","style","height","top","margin","alignItems","justifyContent","cursor","propTypes","PropTypes","bool","func","object","Scale","React","Component","constructor","args","_defineProperty2","tableWrapper","scrollLeft","offsetWidth","setState","showRight","scrollWidth","showLeft","initialScrollLeft","componentDidMount","render","state","scale","scaleIndex","showDescription","showPointsLabels","showStandards","arrowsDisabled","props","excludeZero","maxPoints","traitLabel","traits","scorePointsLabels","scorePointsValues","descriptions","pointsLabels","standards","pointValue","push","traitStandards","traitDescriptions","reduce","tcc","trait","description","length","e","left","background","ref","onScroll","key","dangerouslySetInnerHTML","__html","map","scorePointValue","index","pointLabel","traitIndex","scrollRight","right","number","shape","arrayOf","string","name","scorePointsDescriptors","_default","exports"],"sources":["../src/scale.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\nimport Trait from './trait';\nimport ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos';\nimport ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';\n\nconst Wrapper = styled('div')({\n display: 'flex',\n position: 'relative',\n});\n\nconst TableWrapper = styled('div')({\n width: '100%',\n overflow: 'auto',\n});\n\nconst Table = styled('table')(({ theme }) => ({\n borderSpacing: 0,\n marginBottom: theme.spacing(2),\n borderRadius: '4px',\n color: color.text(),\n fontSize: theme.typography.fontSize,\n lineHeight: '16px',\n overflow: 'unset',\n\n '& ul, ol': {\n marginBlockStart: 0,\n paddingInlineStart: theme.spacing(2),\n },\n\n '& th': {\n padding: theme.spacing(2),\n textAlign: 'left',\n backgroundColor: color.secondaryBackground(),\n verticalAlign: 'bottom',\n },\n\n '& th div': {\n width: '200px',\n },\n\n '& td': {\n width: '200px',\n padding: `${theme.spacing(2)} ${theme.spacing(1)}`,\n verticalAlign: 'top',\n },\n}));\n\nconst ScorePointHeaderTable = styled('table')({\n '& td': {\n border: 0,\n padding: 0,\n textAlign: 'center',\n minWidth: '200px',\n },\n});\n\nconst PointLabel = styled('div')({\n marginBottom: '4px',\n});\n\nconst ScorePointValue = styled('td')({\n fontWeight: 'normal',\n});\n\nconst ArrowContainer = ({ show, onClick, extraStyles, children }) => (\n <div\n style={{\n height: 'calc(100% - 1px)',\n top: '1px',\n display: show ? 'flex' : 'none',\n width: '50px',\n margin: 'auto',\n position: 'absolute',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n ...extraStyles,\n }}\n onClick={onClick}\n >\n {children}\n </div>\n);\n\nArrowContainer.propTypes = {\n show: PropTypes.bool,\n onClick: PropTypes.func,\n extraStyles: PropTypes.object,\n children: PropTypes.object,\n};\n\nclass Scale extends React.Component {\n state = {};\n\n componentDidMount() {\n if (this.tableWrapper) {\n if (this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth) {\n this.setState({ showRight: true });\n }\n }\n }\n\n scrollLeft = () => {\n this.tableWrapper.scrollLeft -= this.tableWrapper.offsetWidth / 2;\n\n this.setState({\n showRight: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n };\n\n scrollRight = () => {\n const initialScrollLeft = this.tableWrapper.scrollLeft;\n this.tableWrapper.scrollLeft += this.tableWrapper.offsetWidth / 2;\n\n this.setState({\n showRight:\n initialScrollLeft !== this.tableWrapper.scrollLeft &&\n this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft: this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n };\n\n render() {\n const { showRight, showLeft } = this.state;\n const { scale, scaleIndex, showDescription, showPointsLabels, showStandards, arrowsDisabled } = this.props;\n const { excludeZero, maxPoints, traitLabel, traits, scorePointsLabels } = scale || {};\n\n let scorePointsValues = [];\n let descriptions;\n let pointsLabels;\n let standards;\n\n try {\n // determining the score points values\n for (let pointValue = maxPoints; pointValue >= excludeZero ? 1 : 0; pointValue -= 1) {\n scorePointsValues.push(pointValue);\n }\n\n const { traitStandards, traitDescriptions } = traits.reduce(\n (tcc, trait) => ({\n traitStandards: [...tcc.traitStandards, ...(trait.standards || [])],\n traitDescriptions: [...tcc.traitDescriptions, ...(trait.description || [])],\n }),\n {\n traitStandards: [],\n traitDescriptions: [],\n },\n );\n\n descriptions = showDescription && traitDescriptions.length;\n pointsLabels = showPointsLabels && scorePointsLabels.length;\n standards = showStandards && traitStandards.length;\n } catch (e) {\n descriptions = false;\n pointsLabels = false;\n standards = false;\n }\n\n return (\n <Wrapper>\n <ArrowContainer\n show={showLeft && !arrowsDisabled}\n onClick={this.scrollLeft}\n extraStyles={{\n left: 0,\n background: `linear-gradient(to right, white, ${color.background()})`,\n }}\n >\n <ArrowBackIosIcon />\n </ArrowContainer>\n\n <TableWrapper\n ref={(ref) => {\n this.tableWrapper = ref;\n }}\n onScroll={() => {\n this.setState({\n // 5 is a margin of error\n showRight:\n this.tableWrapper.scrollLeft + this.tableWrapper.offsetWidth < this.tableWrapper.scrollWidth - 5 &&\n this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth,\n showLeft:\n this.tableWrapper.scrollLeft < this.tableWrapper.scrollWidth && this.tableWrapper.scrollLeft > 0,\n });\n }}\n >\n {arrowsDisabled && (showRight || showLeft) ? <div>The item is too large to fit in print mode.</div> : null}\n <Table key={`scale-${scaleIndex}`}>\n <thead>\n <tr>\n <th>\n <div dangerouslySetInnerHTML={{ __html: traitLabel }} />\n </th>\n\n {standards ? (\n <th>\n <div>Standard(s)</div>\n </th>\n ) : null}\n\n {descriptions ? (\n <th>\n <div>Description</div>\n </th>\n ) : null}\n\n {scorePointsValues &&\n scorePointsValues.map((scorePointValue, index) => {\n let pointLabel = '';\n\n // to handle the case when there aren't enough labels\n try {\n pointLabel = scorePointsLabels[scorePointsValues.length - index - 1] || '';\n } catch (e) {\n pointLabel = '';\n }\n\n return (\n <th key={`table-header-${index}`}>\n <ScorePointHeaderTable>\n <thead>\n {pointsLabels ? (\n <tr>\n <td>\n <PointLabel\n dangerouslySetInnerHTML={{ __html: pointLabel }}\n />\n </td>\n </tr>\n ) : null}\n <tr>\n <ScorePointValue>\n {scorePointValue === 1 ? `${scorePointValue} point` : `${scorePointValue} points`}\n </ScorePointValue>\n </tr>\n </thead>\n </ScorePointHeaderTable>\n </th>\n );\n })}\n </tr>\n </thead>\n\n <tbody>\n {traits &&\n traits.map((trait, traitIndex) => (\n <Trait\n key={`trait_${scaleIndex}_${traitIndex}`}\n trait={trait}\n traitIndex={traitIndex}\n showDescription={!!descriptions}\n showStandards={!!standards}\n scaleIndex={scaleIndex}\n scorePointsValues={scorePointsValues}\n excludeZero={excludeZero}\n />\n ))}\n </tbody>\n </Table>\n </TableWrapper>\n\n <ArrowContainer\n show={showRight && !arrowsDisabled}\n onClick={this.scrollRight}\n extraStyles={{\n right: 0,\n background: `linear-gradient(to left, white, ${color.background()})`,\n }}\n >\n <ArrowForwardIosIcon />\n </ArrowContainer>\n </Wrapper>\n );\n }\n}\n\nScale.propTypes = {\n scaleIndex: PropTypes.number,\n scale: PropTypes.shape({\n excludeZero: PropTypes.bool,\n maxPoints: PropTypes.number,\n scorePointsLabels: PropTypes.arrayOf(PropTypes.string),\n traitLabel: PropTypes.string,\n traits: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string,\n standards: PropTypes.arrayOf(PropTypes.string),\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n }),\n ),\n }),\n showPointsLabels: PropTypes.bool,\n showDescription: PropTypes.bool,\n showStandards: PropTypes.bool,\n arrowsDisabled: PropTypes.bool,\n};\n\nexport default Scale;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,83 @@
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 _renderUi = require("@pie-lib/render-ui");
12
+ const TraitName = (0, _styles.styled)('td')({
13
+ color: _renderUi.color.primaryDark(),
14
+ verticalAlign: 'middle'
15
+ });
16
+ const NoDescription = (0, _styles.styled)('div')({
17
+ color: _renderUi.color.secondaryBackground(),
18
+ textAlign: 'center'
19
+ });
20
+ const Trait = props => {
21
+ const {
22
+ trait,
23
+ traitIndex,
24
+ scaleIndex,
25
+ showStandards,
26
+ showDescription,
27
+ scorePointsValues
28
+ } = props;
29
+ const {
30
+ name,
31
+ standards,
32
+ scorePointsDescriptors,
33
+ description
34
+ } = trait || {};
35
+ return /*#__PURE__*/_react.default.createElement("tr", {
36
+ key: `scale-${scaleIndex}-trait-${traitIndex}`
37
+ }, /*#__PURE__*/_react.default.createElement(TraitName, null, /*#__PURE__*/_react.default.createElement("div", {
38
+ dangerouslySetInnerHTML: {
39
+ __html: name
40
+ }
41
+ })), showStandards ? /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("div", {
42
+ dangerouslySetInnerHTML: {
43
+ __html: standards.join(',')
44
+ }
45
+ })) : null, showDescription ? /*#__PURE__*/_react.default.createElement("td", null, /*#__PURE__*/_react.default.createElement("div", {
46
+ dangerouslySetInnerHTML: {
47
+ __html: description
48
+ }
49
+ })) : null, scorePointsValues && scorePointsValues.map((scorePointValue, index) => {
50
+ let scoreDescriptor;
51
+ try {
52
+ scoreDescriptor = scorePointsDescriptors[scorePointsValues.length - index - 1] || '';
53
+ } catch (e) {
54
+ scoreDescriptor = '';
55
+ }
56
+ return /*#__PURE__*/_react.default.createElement("td", {
57
+ key: `table-cell-${index}`
58
+ }, !scoreDescriptor ? /*#__PURE__*/_react.default.createElement(NoDescription, {
59
+ dangerouslySetInnerHTML: {
60
+ __html: 'No Description'
61
+ }
62
+ }) : /*#__PURE__*/_react.default.createElement("div", {
63
+ dangerouslySetInnerHTML: {
64
+ __html: scoreDescriptor
65
+ }
66
+ }));
67
+ }));
68
+ };
69
+ Trait.propTypes = {
70
+ showStandards: _propTypes.default.bool,
71
+ showDescription: _propTypes.default.bool,
72
+ scorePointsValues: _propTypes.default.arrayOf(_propTypes.default.number),
73
+ scaleIndex: _propTypes.default.number,
74
+ traitIndex: _propTypes.default.number,
75
+ trait: _propTypes.default.shape({
76
+ name: _propTypes.default.string,
77
+ standards: _propTypes.default.arrayOf(_propTypes.default.string),
78
+ scorePointsDescriptors: _propTypes.default.arrayOf(_propTypes.default.string),
79
+ description: _propTypes.default.string
80
+ })
81
+ };
82
+ var _default = exports.default = Trait;
83
+ //# sourceMappingURL=trait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trait.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_renderUi","TraitName","styled","color","primaryDark","verticalAlign","NoDescription","secondaryBackground","textAlign","Trait","props","trait","traitIndex","scaleIndex","showStandards","showDescription","scorePointsValues","name","standards","scorePointsDescriptors","description","default","createElement","key","dangerouslySetInnerHTML","__html","join","map","scorePointValue","index","scoreDescriptor","length","e","propTypes","PropTypes","bool","arrayOf","number","shape","string","_default","exports"],"sources":["../src/trait.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\n\nconst TraitName = styled('td')({\n color: color.primaryDark(),\n verticalAlign: 'middle',\n});\n\nconst NoDescription = styled('div')({\n color: color.secondaryBackground(),\n textAlign: 'center',\n});\n\nconst Trait = (props) => {\n const { trait, traitIndex, scaleIndex, showStandards, showDescription, scorePointsValues } = props;\n const { name, standards, scorePointsDescriptors, description } = trait || {};\n\n return (\n <tr key={`scale-${scaleIndex}-trait-${traitIndex}`}>\n <TraitName>\n <div dangerouslySetInnerHTML={{ __html: name }} />\n </TraitName>\n\n {showStandards ? (\n <td>\n <div dangerouslySetInnerHTML={{ __html: standards.join(',') }} />\n </td>\n ) : null}\n\n {showDescription ? (\n <td>\n <div dangerouslySetInnerHTML={{ __html: description }} />\n </td>\n ) : null}\n\n {scorePointsValues &&\n scorePointsValues.map((scorePointValue, index) => {\n let scoreDescriptor;\n\n try {\n scoreDescriptor = scorePointsDescriptors[scorePointsValues.length - index - 1] || '';\n } catch (e) {\n scoreDescriptor = '';\n }\n\n return (\n <td key={`table-cell-${index}`}>\n {!scoreDescriptor ? (\n <NoDescription dangerouslySetInnerHTML={{ __html: 'No Description' }} />\n ) : (\n <div dangerouslySetInnerHTML={{ __html: scoreDescriptor }} />\n )}\n </td>\n );\n })}\n </tr>\n );\n};\n\nTrait.propTypes = {\n showStandards: PropTypes.bool,\n showDescription: PropTypes.bool,\n scorePointsValues: PropTypes.arrayOf(PropTypes.number),\n scaleIndex: PropTypes.number,\n traitIndex: PropTypes.number,\n trait: PropTypes.shape({\n name: PropTypes.string,\n standards: PropTypes.arrayOf(PropTypes.string),\n scorePointsDescriptors: PropTypes.arrayOf(PropTypes.string),\n description: PropTypes.string,\n }),\n};\n\nexport default Trait;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "@pie-element/multi-trait-rubric",
3
+ "repository": "pie-framework/pie-elements",
4
+ "version": "6.2.1-mui-update.1",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "dependencies": {
9
+ "@emotion/react": "^11.14.0",
10
+ "@emotion/style": "^0.8.0",
11
+ "@mui/icons-material": "^7.3.4",
12
+ "@mui/material": "^7.3.4",
13
+ "@pie-framework/pie-player-events": "^0.1.0",
14
+ "@pie-lib/math-rendering": "3.33.1-mui-update.0",
15
+ "@pie-lib/render-ui": "4.42.1-mui-update.0",
16
+ "clsx": "^1.1.1",
17
+ "enzyme-to-json": "^3.3.5",
18
+ "prop-types": "^15.6.1",
19
+ "react": "18.2.0",
20
+ "react-dom": "18.2.0"
21
+ },
22
+ "gitHead": "0e14ff981bcdc8a89a0e58484026496701bfdbc3",
23
+ "scripts": {
24
+ "postpublish": "../../scripts/postpublish"
25
+ },
26
+ "main": "lib/index.js",
27
+ "module": "src/index.js",
28
+ "exports": {
29
+ ".": "./src/index.js",
30
+ "./configure/lib": "./configure/lib/index.js"
31
+ }
32
+ }