@pie-element/likert 4.1.2-next.5 → 4.1.3
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.
- package/CHANGELOG.json +1 -0
- package/CHANGELOG.md +1468 -0
- package/LICENSE.md +5 -0
- package/configure/CHANGELOG.json +1 -0
- package/configure/CHANGELOG.md +1385 -0
- package/configure/lib/choiceGenerator.js +219 -0
- package/configure/lib/choiceGenerator.js.map +1 -0
- package/configure/lib/defaults.js +100 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +106 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/likertEntities.js +24 -0
- package/configure/lib/likertEntities.js.map +1 -0
- package/configure/lib/main.js +388 -0
- package/configure/lib/main.js.map +1 -0
- package/configure/package.json +27 -0
- package/controller/CHANGELOG.json +1 -0
- package/controller/CHANGELOG.md +90 -0
- package/controller/lib/defaults.js +17 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +81 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/package.json +17 -0
- package/docs/config-schema.json +2011 -0
- package/docs/config-schema.json.md +1487 -0
- package/docs/demo/config.js +8 -0
- package/docs/demo/generate.js +22 -0
- package/docs/demo/index.html +1 -0
- package/docs/demo/session.js +6 -0
- package/docs/pie-schema.json +966 -0
- package/docs/pie-schema.json.md +711 -0
- package/lib/choice-input.js +90 -0
- package/lib/choice-input.js.map +1 -0
- package/lib/index.js +64 -0
- package/lib/index.js.map +1 -0
- package/lib/likert.js +97 -0
- package/lib/likert.js.map +1 -0
- package/lib/likertEntities.js +11 -0
- package/lib/likertEntities.js.map +1 -0
- package/lib/main.js +42 -0
- package/lib/main.js.map +1 -0
- package/lib/session-updater.js +15 -0
- package/lib/session-updater.js.map +1 -0
- package/package.json +21 -83
- package/readme.md +55 -0
- package/configure.js +0 -2
- package/controller.js +0 -1
- package/dist/author/choiceGenerator.d.ts +0 -13
- package/dist/author/choiceGenerator.js +0 -255
- package/dist/author/defaults.d.ts +0 -102
- package/dist/author/defaults.js +0 -60
- package/dist/author/index.d.ts +0 -31
- package/dist/author/index.js +0 -73
- package/dist/author/likertEntities.d.ts +0 -25
- package/dist/author/likertEntities.js +0 -18
- package/dist/author/main.d.ts +0 -27
- package/dist/author/main.js +0 -298
- package/dist/browser/Radio-DABxV66W.js +0 -9454
- package/dist/browser/Radio-DABxV66W.js.map +0 -1
- package/dist/browser/author/index.js +0 -45281
- package/dist/browser/author/index.js.map +0 -1
- package/dist/browser/controller/index.js +0 -51
- package/dist/browser/controller/index.js.map +0 -1
- package/dist/browser/delivery/index.js +0 -219
- package/dist/browser/delivery/index.js.map +0 -1
- package/dist/browser/likert.css +0 -2
- package/dist/controller/defaults.d.ts +0 -19
- package/dist/controller/defaults.js +0 -13
- package/dist/controller/index.d.ts +0 -19
- package/dist/controller/index.js +0 -41
- package/dist/delivery/choice-input.d.ts +0 -27
- package/dist/delivery/choice-input.js +0 -59
- package/dist/delivery/index.d.ts +0 -19
- package/dist/delivery/index.js +0 -44
- package/dist/delivery/likert.d.ts +0 -26
- package/dist/delivery/likert.js +0 -70
- package/dist/delivery/likertEntities.d.ts +0 -12
- package/dist/delivery/likertEntities.js +0 -7
- package/dist/delivery/main.d.ts +0 -23
- package/dist/delivery/main.js +0 -37
- package/dist/delivery/session-updater.d.ts +0 -9
- package/dist/index.d.ts +0 -1
- package/dist/index.iife.d.ts +0 -8
- package/dist/index.iife.js +0 -145
- package/dist/index.js +0 -2
- package/dist/runtime-support.d.ts +0 -12
- package/dist/runtime-support.js +0 -12
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = exports.RadioStyled = exports.ChoiceInput = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
14
|
+
var _Radio = _interopRequireDefault(require("@mui/material/Radio"));
|
|
15
|
+
var _likertEntities = require("./likertEntities");
|
|
16
|
+
const RadioStyled = exports.RadioStyled = (0, _styles.styled)(_Radio.default)({
|
|
17
|
+
color: `var(--choice-input-color, ${_renderUi.color.text()})`,
|
|
18
|
+
'&.Mui-checked': {
|
|
19
|
+
color: `var(--choice-input-selected-color, ${_renderUi.color.primary()})`
|
|
20
|
+
},
|
|
21
|
+
'&.Mui-disabled': {
|
|
22
|
+
color: `var(--choice-input-disabled-color, ${_renderUi.color.defaults.DISABLED})`
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const LabelRoot = (0, _styles.styled)('p')({
|
|
26
|
+
color: _renderUi.color.text(),
|
|
27
|
+
textAlign: 'center',
|
|
28
|
+
cursor: 'pointer'
|
|
29
|
+
});
|
|
30
|
+
const CheckboxHolderRoot = (0, _styles.styled)('div')({
|
|
31
|
+
display: 'flex',
|
|
32
|
+
alignItems: 'center',
|
|
33
|
+
flex: 1,
|
|
34
|
+
padding: '0 5px',
|
|
35
|
+
'& label': {}
|
|
36
|
+
});
|
|
37
|
+
const StyledFormControlLabel = (0, _styles.styled)(_FormControlLabel.default)({
|
|
38
|
+
margin: 0
|
|
39
|
+
});
|
|
40
|
+
class ChoiceInput extends _react.default.Component {
|
|
41
|
+
constructor(...args) {
|
|
42
|
+
super(...args);
|
|
43
|
+
(0, _defineProperty2.default)(this, "onToggleChoice", () => {
|
|
44
|
+
this.props.onChange({
|
|
45
|
+
value: this.props.value,
|
|
46
|
+
selected: !this.props.checked
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
render() {
|
|
51
|
+
const {
|
|
52
|
+
disabled,
|
|
53
|
+
label,
|
|
54
|
+
checked,
|
|
55
|
+
likertOrientation
|
|
56
|
+
} = this.props;
|
|
57
|
+
const flexDirection = likertOrientation === _likertEntities.LIKERT_ORIENTATION.vertical ? 'row' : 'column';
|
|
58
|
+
return /*#__PURE__*/_react.default.createElement(CheckboxHolderRoot, {
|
|
59
|
+
style: {
|
|
60
|
+
flexDirection
|
|
61
|
+
}
|
|
62
|
+
}, /*#__PURE__*/_react.default.createElement(StyledFormControlLabel, {
|
|
63
|
+
disabled: disabled,
|
|
64
|
+
control: /*#__PURE__*/_react.default.createElement(RadioStyled, {
|
|
65
|
+
checked: checked,
|
|
66
|
+
onChange: this.onToggleChoice,
|
|
67
|
+
disabled: disabled
|
|
68
|
+
})
|
|
69
|
+
}), /*#__PURE__*/_react.default.createElement(LabelRoot, {
|
|
70
|
+
onClick: this.onToggleChoice,
|
|
71
|
+
dangerouslySetInnerHTML: {
|
|
72
|
+
__html: label
|
|
73
|
+
}
|
|
74
|
+
}));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
exports.ChoiceInput = ChoiceInput;
|
|
78
|
+
(0, _defineProperty2.default)(ChoiceInput, "propTypes", {
|
|
79
|
+
checked: _propTypes.default.bool.isRequired,
|
|
80
|
+
disabled: _propTypes.default.bool.isRequired,
|
|
81
|
+
label: _propTypes.default.string.isRequired,
|
|
82
|
+
likertOrientation: _propTypes.default.string.isRequired,
|
|
83
|
+
onChange: _propTypes.default.func.isRequired,
|
|
84
|
+
value: _propTypes.default.number.isRequired
|
|
85
|
+
});
|
|
86
|
+
(0, _defineProperty2.default)(ChoiceInput, "defaultProps", {
|
|
87
|
+
checked: false
|
|
88
|
+
});
|
|
89
|
+
var _default = exports.default = ChoiceInput;
|
|
90
|
+
//# sourceMappingURL=choice-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"choice-input.js","names":["_react","_interopRequireDefault","require","_FormControlLabel","_propTypes","_styles","_renderUi","_Radio","_likertEntities","RadioStyled","exports","styled","Radio","color","text","primary","defaults","DISABLED","LabelRoot","textAlign","cursor","CheckboxHolderRoot","display","alignItems","flex","padding","StyledFormControlLabel","FormControlLabel","margin","ChoiceInput","React","Component","constructor","args","_defineProperty2","default","props","onChange","value","selected","checked","render","disabled","label","likertOrientation","flexDirection","LIKERT_ORIENTATION","vertical","createElement","style","control","onToggleChoice","onClick","dangerouslySetInnerHTML","__html","PropTypes","bool","isRequired","string","func","number","_default"],"sources":["../src/choice-input.jsx"],"sourcesContent":["import React from 'react';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport Radio from '@mui/material/Radio';\nimport { LIKERT_ORIENTATION } from './likertEntities';\n\nexport const RadioStyled = styled(Radio)({\n color: `var(--choice-input-color, ${color.text()})`,\n '&.Mui-checked': {\n color: `var(--choice-input-selected-color, ${color.primary()})`,\n },\n '&.Mui-disabled': {\n color: `var(--choice-input-disabled-color, ${color.defaults.DISABLED})`,\n },\n});\n\nconst LabelRoot = styled('p')({\n color: color.text(),\n textAlign: 'center',\n cursor: 'pointer',\n});\n\nconst CheckboxHolderRoot = styled('div')({\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n padding: '0 5px',\n '& label': {},\n});\n\nconst StyledFormControlLabel = styled(FormControlLabel)({\n margin: 0,\n});\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n label: PropTypes.string.isRequired,\n likertOrientation: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number.isRequired,\n };\n\n static defaultProps = {\n checked: false,\n };\n\n onToggleChoice = () => {\n this.props.onChange({\n value: this.props.value,\n selected: !this.props.checked,\n });\n };\n\n render() {\n const { disabled, label, checked, likertOrientation } = this.props;\n const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'row' : 'column';\n\n return (\n <CheckboxHolderRoot style={{ flexDirection }}>\n <StyledFormControlLabel\n disabled={disabled}\n control={<RadioStyled checked={checked} onChange={this.onToggleChoice} disabled={disabled} />}\n />\n <LabelRoot onClick={this.onToggleChoice} dangerouslySetInnerHTML={{ __html: label }} />\n </CheckboxHolderRoot>\n );\n }\n}\n\nexport default ChoiceInput;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.isComplete = exports.default = void 0;
|
|
8
|
+
var _main = _interopRequireDefault(require("./main"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _client = require("react-dom/client");
|
|
11
|
+
var _piePlayerEvents = require("@pie-framework/pie-player-events");
|
|
12
|
+
var _mathRendering = require("@pie-lib/math-rendering");
|
|
13
|
+
const isComplete = session => !!(session && session.value && session.value.length);
|
|
14
|
+
exports.isComplete = isComplete;
|
|
15
|
+
class Likert extends HTMLElement {
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
this._root = null;
|
|
19
|
+
}
|
|
20
|
+
set model(m) {
|
|
21
|
+
this._model = m;
|
|
22
|
+
this._render();
|
|
23
|
+
}
|
|
24
|
+
set session(s) {
|
|
25
|
+
this._session = s;
|
|
26
|
+
this._render();
|
|
27
|
+
}
|
|
28
|
+
get session() {
|
|
29
|
+
return this._session;
|
|
30
|
+
}
|
|
31
|
+
sessionChanged(s) {
|
|
32
|
+
this._session.value = s.value;
|
|
33
|
+
const complete = isComplete(this._session, this._model);
|
|
34
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), complete));
|
|
35
|
+
this._render();
|
|
36
|
+
}
|
|
37
|
+
connectedCallback() {
|
|
38
|
+
this._render();
|
|
39
|
+
}
|
|
40
|
+
_render() {
|
|
41
|
+
if (!this._model || !this._session) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const el = /*#__PURE__*/_react.default.createElement(_main.default, {
|
|
45
|
+
model: this._model,
|
|
46
|
+
session: this._session,
|
|
47
|
+
onSessionChange: this.sessionChanged.bind(this)
|
|
48
|
+
});
|
|
49
|
+
if (!this._root) {
|
|
50
|
+
this._root = (0, _client.createRoot)(this);
|
|
51
|
+
}
|
|
52
|
+
this._root.render(el);
|
|
53
|
+
queueMicrotask(() => {
|
|
54
|
+
(0, _mathRendering.renderMath)(this);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
disconnectedCallback() {
|
|
58
|
+
if (this._root) {
|
|
59
|
+
this._root.unmount();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.default = Likert;
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_main","_interopRequireDefault","require","_react","_client","_piePlayerEvents","_mathRendering","isComplete","session","value","length","exports","Likert","HTMLElement","constructor","_root","model","m","_model","_render","s","_session","sessionChanged","complete","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","connectedCallback","el","React","createElement","Main","onSessionChange","bind","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","default"],"sources":["../src/index.js"],"sourcesContent":["import Main from './main';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport const isComplete = (session) => !!(session && session.value && session.value.length);\n\nexport default class Likert extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n sessionChanged(s) {\n this._session.value = s.value;\n const complete = isComplete(this._session, this._model);\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), complete));\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAEO,MAAMK,UAAU,GAAIC,OAAO,IAAK,CAAC,EAAEA,OAAO,IAAIA,OAAO,CAACC,KAAK,IAAID,OAAO,CAACC,KAAK,CAACC,MAAM,CAAC;AAACC,OAAA,CAAAJ,UAAA,GAAAA,UAAA;AAE7E,MAAMK,MAAM,SAASC,WAAW,CAAC;EAC9CC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,CAAC;IACP,IAAI,CAACC,KAAK,GAAG,IAAI;EACnB;EAEA,IAAIC,KAAKA,CAACC,CAAC,EAAE;IACX,IAAI,CAACC,MAAM,GAAGD,CAAC;IACf,IAAI,CAACE,OAAO,CAAC,CAAC;EAChB;EAEA,IAAIX,OAAOA,CAACY,CAAC,EAAE;IACb,IAAI,CAACC,QAAQ,GAAGD,CAAC;IACjB,IAAI,CAACD,OAAO,CAAC,CAAC;EAChB;EAEA,IAAIX,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACa,QAAQ;EACtB;EAEAC,cAAcA,CAACF,CAAC,EAAE;IAChB,IAAI,CAACC,QAAQ,CAACZ,KAAK,GAAGW,CAAC,CAACX,KAAK;IAC7B,MAAMc,QAAQ,GAAGhB,UAAU,CAAC,IAAI,CAACc,QAAQ,EAAE,IAAI,CAACH,MAAM,CAAC;IACvD,IAAI,CAACM,aAAa,CAAC,IAAIC,oCAAmB,CAAC,IAAI,CAACC,OAAO,CAACC,WAAW,CAAC,CAAC,EAAEJ,QAAQ,CAAC,CAAC;IACjF,IAAI,CAACJ,OAAO,CAAC,CAAC;EAChB;EAEAS,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACT,OAAO,CAAC,CAAC;EAChB;EAEAA,OAAOA,CAAA,EAAG;IACR,IAAI,CAAC,IAAI,CAACD,MAAM,IAAI,CAAC,IAAI,CAACG,QAAQ,EAAE;MAClC;IACF;IAEA,MAAMQ,EAAE,gBAAGC,cAAK,CAACC,aAAa,CAACC,aAAI,EAAE;MACnChB,KAAK,EAAE,IAAI,CAACE,MAAM;MAClBV,OAAO,EAAE,IAAI,CAACa,QAAQ;MACtBY,eAAe,EAAE,IAAI,CAACX,cAAc,CAACY,IAAI,CAAC,IAAI;IAChD,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,CAACnB,KAAK,EAAE;MACf,IAAI,CAACA,KAAK,GAAG,IAAAoB,kBAAU,EAAC,IAAI,CAAC;IAC/B;IACA,IAAI,CAACpB,KAAK,CAACqB,MAAM,CAACP,EAAE,CAAC;IACrBQ,cAAc,CAAC,MAAM;MACnB,IAAAC,yBAAU,EAAC,IAAI,CAAC;IAClB,CAAC,CAAC;EACJ;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,IAAI,CAACxB,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,CAACyB,OAAO,CAAC,CAAC;IACtB;EACF;AACF;AAAC7B,OAAA,CAAA8B,OAAA,GAAA7B,MAAA","ignoreList":[]}
|
package/lib/likert.js
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = exports.Likert = 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 _choiceInput = _interopRequireDefault(require("./choice-input"));
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
14
|
+
var _likertEntities = require("./likertEntities");
|
|
15
|
+
const Main = (0, _styles.styled)('div')({
|
|
16
|
+
color: _renderUi.color.text(),
|
|
17
|
+
backgroundColor: _renderUi.color.background(),
|
|
18
|
+
'& *': {
|
|
19
|
+
'-webkit-font-smoothing': 'antialiased'
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const StyledCollapsible = (0, _styles.styled)(_renderUi.Collapsible)(({
|
|
23
|
+
theme
|
|
24
|
+
}) => ({
|
|
25
|
+
marginBottom: theme.spacing(2)
|
|
26
|
+
}));
|
|
27
|
+
const Prompt = (0, _styles.styled)('div')(({
|
|
28
|
+
theme
|
|
29
|
+
}) => ({
|
|
30
|
+
verticalAlign: 'middle',
|
|
31
|
+
color: 'var(--pie-primary-text, var(--pie-text, #000000))',
|
|
32
|
+
paddingBottom: theme.spacing(2)
|
|
33
|
+
}));
|
|
34
|
+
const ChoicesWrapper = (0, _styles.styled)('div')({
|
|
35
|
+
display: 'flex'
|
|
36
|
+
});
|
|
37
|
+
class Likert extends _react.default.Component {
|
|
38
|
+
UNSAFE_componentWillReceiveProps() {}
|
|
39
|
+
isSelected(value) {
|
|
40
|
+
return this.props.session && this.props.session.value === value;
|
|
41
|
+
}
|
|
42
|
+
render() {
|
|
43
|
+
const {
|
|
44
|
+
disabled,
|
|
45
|
+
choices = [],
|
|
46
|
+
prompt,
|
|
47
|
+
onSessionChange,
|
|
48
|
+
teacherInstructions,
|
|
49
|
+
className,
|
|
50
|
+
likertOrientation
|
|
51
|
+
} = this.props;
|
|
52
|
+
const flexDirection = likertOrientation === _likertEntities.LIKERT_ORIENTATION.vertical ? 'column' : 'row';
|
|
53
|
+
return /*#__PURE__*/_react.default.createElement(Main, {
|
|
54
|
+
className: className
|
|
55
|
+
}, teacherInstructions && /*#__PURE__*/_react.default.createElement(StyledCollapsible, {
|
|
56
|
+
labels: {
|
|
57
|
+
hidden: 'Show Teacher Instructions',
|
|
58
|
+
visible: 'Hide Teacher Instructions'
|
|
59
|
+
}
|
|
60
|
+
}, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
61
|
+
prompt: teacherInstructions
|
|
62
|
+
})), prompt && /*#__PURE__*/_react.default.createElement(Prompt, null, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
63
|
+
prompt: prompt
|
|
64
|
+
})), /*#__PURE__*/_react.default.createElement(ChoicesWrapper, {
|
|
65
|
+
style: {
|
|
66
|
+
flexDirection
|
|
67
|
+
}
|
|
68
|
+
}, choices.map((choice, index) => /*#__PURE__*/_react.default.createElement(_choiceInput.default, {
|
|
69
|
+
key: `choice-${index}`,
|
|
70
|
+
label: choice.label,
|
|
71
|
+
value: choice.value,
|
|
72
|
+
index: index,
|
|
73
|
+
disabled: disabled,
|
|
74
|
+
onChange: onSessionChange,
|
|
75
|
+
likertOrientation: likertOrientation,
|
|
76
|
+
checked: this.isSelected(choice.value)
|
|
77
|
+
}))));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.Likert = Likert;
|
|
81
|
+
(0, _defineProperty2.default)(Likert, "propTypes", {
|
|
82
|
+
className: _propTypes.default.string,
|
|
83
|
+
choices: _propTypes.default.array,
|
|
84
|
+
prompt: _propTypes.default.string,
|
|
85
|
+
teacherInstructions: _propTypes.default.string,
|
|
86
|
+
session: _propTypes.default.object,
|
|
87
|
+
disabled: _propTypes.default.bool.isRequired,
|
|
88
|
+
onSessionChange: _propTypes.default.func.isRequired,
|
|
89
|
+
likertOrientation: _propTypes.default.string.isRequired
|
|
90
|
+
});
|
|
91
|
+
Likert.defaultProps = {
|
|
92
|
+
session: {
|
|
93
|
+
value: []
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
var _default = exports.default = Likert;
|
|
97
|
+
//# sourceMappingURL=likert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"likert.js","names":["_react","_interopRequireDefault","require","_propTypes","_choiceInput","_styles","_renderUi","_likertEntities","Main","styled","color","text","backgroundColor","background","StyledCollapsible","Collapsible","theme","marginBottom","spacing","Prompt","verticalAlign","paddingBottom","ChoicesWrapper","display","Likert","React","Component","UNSAFE_componentWillReceiveProps","isSelected","value","props","session","render","disabled","choices","prompt","onSessionChange","teacherInstructions","className","likertOrientation","flexDirection","LIKERT_ORIENTATION","vertical","default","createElement","labels","hidden","visible","PreviewPrompt","style","map","choice","index","key","label","onChange","checked","exports","_defineProperty2","PropTypes","string","array","object","bool","isRequired","func","defaultProps","_default"],"sources":["../src/likert.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChoiceInput from './choice-input';\nimport { styled } from '@mui/material/styles';\nimport { color, Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\nimport { LIKERT_ORIENTATION } from './likertEntities';\n\nconst Main = styled('div')({\n color: color.text(),\n backgroundColor: color.background(),\n '& *': {\n '-webkit-font-smoothing': 'antialiased',\n },\n});\n\nconst StyledCollapsible = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst Prompt = styled('div')(({ theme }) => ({\n verticalAlign: 'middle',\n color: 'var(--pie-primary-text, var(--pie-text, #000000))',\n paddingBottom: theme.spacing(2),\n}));\n\nconst ChoicesWrapper = styled('div')({\n display: 'flex',\n});\n\nexport class Likert extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n choices: PropTypes.array,\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n likertOrientation: PropTypes.string.isRequired,\n };\n\n UNSAFE_componentWillReceiveProps() {}\n\n isSelected(value) {\n return this.props.session && this.props.session.value === value;\n }\n\n render() {\n const {\n disabled,\n choices = [],\n prompt,\n onSessionChange,\n teacherInstructions,\n className,\n likertOrientation,\n } = this.props;\n\n const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'column' : 'row';\n\n return (\n <Main className={className}>\n {teacherInstructions && (\n <StyledCollapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </StyledCollapsible>\n )}\n\n {prompt && (\n <Prompt>\n <PreviewPrompt prompt={prompt} />\n </Prompt>\n )}\n\n <ChoicesWrapper style={{ flexDirection }}>\n {choices.map((choice, index) => (\n <ChoiceInput\n key={`choice-${index}`}\n label={choice.label}\n value={choice.value}\n index={index}\n disabled={disabled}\n onChange={onSessionChange}\n likertOrientation={likertOrientation}\n checked={this.isSelected(choice.value)}\n />\n ))}\n </ChoicesWrapper>\n </Main>\n );\n }\n}\n\nLikert.defaultProps = {\n session: {\n value: [],\n },\n};\n\nexport default Likert;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LIKERT_ORIENTATION = void 0;
|
|
7
|
+
const LIKERT_ORIENTATION = exports.LIKERT_ORIENTATION = {
|
|
8
|
+
horizontal: 'horizontal',
|
|
9
|
+
vertical: 'vertical'
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=likertEntities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"likertEntities.js","names":["LIKERT_ORIENTATION","exports","horizontal","vertical"],"sources":["../src/likertEntities.js"],"sourcesContent":["export const LIKERT_ORIENTATION = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\n"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG;EAChCE,UAAU,EAAE,YAAY;EACxBC,QAAQ,EAAE;AACZ,CAAC","ignoreList":[]}
|
package/lib/main.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
13
|
+
var _likert = _interopRequireDefault(require("./likert"));
|
|
14
|
+
class Main extends _react.default.Component {
|
|
15
|
+
render() {
|
|
16
|
+
const {
|
|
17
|
+
model,
|
|
18
|
+
onSessionChange,
|
|
19
|
+
session
|
|
20
|
+
} = this.props;
|
|
21
|
+
const {
|
|
22
|
+
extraCSSRules
|
|
23
|
+
} = model;
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_renderUi.PreviewLayout, {
|
|
25
|
+
extraCSSRules: extraCSSRules
|
|
26
|
+
}, /*#__PURE__*/_react.default.createElement(_likert.default, (0, _extends2.default)({}, model, {
|
|
27
|
+
session: session,
|
|
28
|
+
onSessionChange: onSessionChange
|
|
29
|
+
})));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
(0, _defineProperty2.default)(Main, "propTypes", {
|
|
33
|
+
model: _propTypes.default.object,
|
|
34
|
+
session: _propTypes.default.object,
|
|
35
|
+
onSessionChange: _propTypes.default.func
|
|
36
|
+
});
|
|
37
|
+
(0, _defineProperty2.default)(Main, "defaultProps", {
|
|
38
|
+
model: {},
|
|
39
|
+
session: {}
|
|
40
|
+
});
|
|
41
|
+
var _default = exports.default = Main;
|
|
42
|
+
//# sourceMappingURL=main.js.map
|
package/lib/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_renderUi","_likert","Main","React","Component","render","model","onSessionChange","session","props","extraCSSRules","default","createElement","PreviewLayout","_extends2","_defineProperty2","PropTypes","object","func","_default","exports"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewLayout } from '@pie-lib/render-ui';\nimport Likert from './likert';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const { model, onSessionChange, session } = this.props;\n const { extraCSSRules } = model;\n\n return (\n <PreviewLayout extraCSSRules={extraCSSRules}>\n <Likert {...model} session={session} onSessionChange={onSessionChange} />\n </PreviewLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,MAAMI,IAAI,SAASC,cAAK,CAACC,SAAS,CAAC;EAYjCC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,KAAK;MAAEC,eAAe;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACC,KAAK;IACtD,MAAM;MAAEC;IAAc,CAAC,GAAGJ,KAAK;IAE/B,oBACEV,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,SAAA,CAAAa,aAAa;MAACH,aAAa,EAAEA;IAAc,gBAC1Cd,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACX,OAAA,CAAAU,OAAM,MAAAG,SAAA,CAAAH,OAAA,MAAKL,KAAK;MAAEE,OAAO,EAAEA,OAAQ;MAACD,eAAe,EAAEA;IAAgB,EAAE,CAC3D,CAAC;EAEpB;AACF;AAAC,IAAAQ,gBAAA,CAAAJ,OAAA,EAtBKT,IAAI,eACW;EACjBI,KAAK,EAAEU,kBAAS,CAACC,MAAM;EACvBT,OAAO,EAAEQ,kBAAS,CAACC,MAAM;EACzBV,eAAe,EAAES,kBAAS,CAACE;AAC7B,CAAC;AAAA,IAAAH,gBAAA,CAAAJ,OAAA,EALGT,IAAI,kBAOc;EACpBI,KAAK,EAAE,CAAC,CAAC;EACTE,OAAO,EAAE,CAAC;AACZ,CAAC;AAAA,IAAAW,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAcYT,IAAI","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.updateSessionValue = updateSessionValue;
|
|
7
|
+
function updateSessionValue(session, data) {
|
|
8
|
+
session.value = session.value || [];
|
|
9
|
+
if (data.selected) {
|
|
10
|
+
session.value = [data.value];
|
|
11
|
+
} else {
|
|
12
|
+
session.value = [];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=session-updater.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-updater.js","names":["updateSessionValue","session","data","value","selected"],"sources":["../src/session-updater.js"],"sourcesContent":["export function updateSessionValue(session, data) {\n session.value = session.value || [];\n if (data.selected) {\n session.value = [data.value];\n } else {\n session.value = [];\n }\n}\n"],"mappings":";;;;;;AAAO,SAASA,kBAAkBA,CAACC,OAAO,EAAEC,IAAI,EAAE;EAChDD,OAAO,CAACE,KAAK,GAAGF,OAAO,CAACE,KAAK,IAAI,EAAE;EACnC,IAAID,IAAI,CAACE,QAAQ,EAAE;IACjBH,OAAO,CAACE,KAAK,GAAG,CAACD,IAAI,CAACC,KAAK,CAAC;EAC9B,CAAC,MAAM;IACLF,OAAO,CAACE,KAAK,GAAG,EAAE;EACpB;AACF","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,95 +1,33 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/likert",
|
|
3
|
-
"
|
|
3
|
+
"repository": "pie-framework/pie-elements",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"version": "4.1.3",
|
|
4
8
|
"description": "",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
11
|
+
},
|
|
5
12
|
"dependencies": {
|
|
6
13
|
"@emotion/react": "^11.14.0",
|
|
7
14
|
"@emotion/style": "^0.8.0",
|
|
8
15
|
"@mui/icons-material": "^7.3.4",
|
|
9
16
|
"@mui/material": "^7.3.4",
|
|
10
|
-
"@pie-
|
|
17
|
+
"@pie-framework/pie-player-events": "^0.1.0",
|
|
18
|
+
"@pie-lib/math-rendering": "5.0.2",
|
|
19
|
+
"@pie-lib/render-ui": "6.1.2",
|
|
20
|
+
"classnames": "^2.2.6",
|
|
11
21
|
"debug": "^4.1.1",
|
|
22
|
+
"lodash-es": "^4.17.23",
|
|
12
23
|
"prop-types": "^15.8.1",
|
|
13
|
-
"react
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"@pie-lib/editable-html-tip-tap": "2.1.2-next.31",
|
|
17
|
-
"@pie-lib/config-ui": "13.0.4-next.31",
|
|
18
|
-
"@pie-element/shared-player-events": "0.1.0",
|
|
19
|
-
"@pie-element/shared-math-rendering-mathjax": "0.1.1-next.0",
|
|
20
|
-
"clsx": "^2.1.1"
|
|
21
|
-
},
|
|
22
|
-
"peerDependencies": {
|
|
23
|
-
"react": "^18.0.0",
|
|
24
|
-
"react-dom": "^18.0.0"
|
|
25
|
-
},
|
|
26
|
-
"exports": {
|
|
27
|
-
".": {
|
|
28
|
-
"types": "./dist/index.d.ts",
|
|
29
|
-
"default": "./dist/index.js"
|
|
30
|
-
},
|
|
31
|
-
"./delivery": {
|
|
32
|
-
"types": "./dist/delivery/index.d.ts",
|
|
33
|
-
"default": "./dist/delivery/index.js"
|
|
34
|
-
},
|
|
35
|
-
"./browser/delivery": {
|
|
36
|
-
"default": "./dist/browser/delivery/index.js"
|
|
37
|
-
},
|
|
38
|
-
"./author": {
|
|
39
|
-
"types": "./dist/author/index.d.ts",
|
|
40
|
-
"default": "./dist/author/index.js"
|
|
41
|
-
},
|
|
42
|
-
"./browser/author": {
|
|
43
|
-
"default": "./dist/browser/author/index.js"
|
|
44
|
-
},
|
|
45
|
-
"./configure": {
|
|
46
|
-
"types": "./dist/author/index.d.ts",
|
|
47
|
-
"default": "./dist/author/index.js"
|
|
48
|
-
},
|
|
49
|
-
"./controller": {
|
|
50
|
-
"types": "./dist/controller/index.d.ts",
|
|
51
|
-
"default": "./dist/controller/index.js"
|
|
52
|
-
},
|
|
53
|
-
"./controller.js": {
|
|
54
|
-
"types": "./dist/controller/index.d.ts",
|
|
55
|
-
"default": "./dist/controller/index.js"
|
|
56
|
-
},
|
|
57
|
-
"./browser/controller": {
|
|
58
|
-
"default": "./dist/browser/controller/index.js"
|
|
59
|
-
},
|
|
60
|
-
"./runtime-support": {
|
|
61
|
-
"types": "./dist/runtime-support.d.ts",
|
|
62
|
-
"default": "./dist/runtime-support.js"
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
"type": "module",
|
|
66
|
-
"main": "./dist/index.js",
|
|
67
|
-
"types": "./dist/index.d.ts",
|
|
68
|
-
"files": [
|
|
69
|
-
"configure.js",
|
|
70
|
-
"controller.js",
|
|
71
|
-
"dist"
|
|
72
|
-
],
|
|
73
|
-
"sideEffects": false,
|
|
74
|
-
"devDependencies": {
|
|
75
|
-
"vite": "^8.0.1",
|
|
76
|
-
"typescript": "^5.9.3",
|
|
77
|
-
"@vitejs/plugin-react": "^6.0.1",
|
|
78
|
-
"@types/react": "^18.2.0",
|
|
79
|
-
"@types/react-dom": "^18.2.0"
|
|
80
|
-
},
|
|
81
|
-
"scripts": {
|
|
82
|
-
"build": "bun x vite build && bun x vite build --config ../../../tools/vite/element-browser.config.ts && bun x vite build --config vite.config.iife.ts && bun x tsc --emitDeclarationOnly",
|
|
83
|
-
"dev": "bun x vite",
|
|
84
|
-
"demo": "bun x vite --mode demo",
|
|
85
|
-
"test": "bun x vitest run"
|
|
24
|
+
"react": "18.3.1",
|
|
25
|
+
"react-dom": "18.3.1",
|
|
26
|
+
"react-test-renderer": "18.2.0"
|
|
86
27
|
},
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
"react-dom": "18.2.0"
|
|
93
|
-
}
|
|
94
|
-
}
|
|
28
|
+
"author": "",
|
|
29
|
+
"license": "ISC",
|
|
30
|
+
"gitHead": "213c3a293da2591ffaf2ba5c5fb50f0fe7577cfa",
|
|
31
|
+
"main": "lib/index.js",
|
|
32
|
+
"module": "src/index.js"
|
|
95
33
|
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# @pie-element/likert
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
A [pie][pie]likert component.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
To use this pie, you need to configure it within an Assessment Item. This means that you'll need to add it to the `index.html` and `config.json` files.
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<likert-element pie-id="1"></likert-element>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
```javascript
|
|
16
|
+
{
|
|
17
|
+
elements: {
|
|
18
|
+
'likert': '@pie-element/likert-element@^0.0.1'
|
|
19
|
+
},
|
|
20
|
+
models: [
|
|
21
|
+
{
|
|
22
|
+
id : "1",
|
|
23
|
+
element: 'likert',
|
|
24
|
+
prompt : "How likely are you to report a problem?",
|
|
25
|
+
// more configuration...
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Pie Demo
|
|
31
|
+
There is a demo in `docs/demo` that you can run to see an example of it's usage.
|
|
32
|
+
|
|
33
|
+
To preview it in that context you'll need the [pie][pie] tool.
|
|
34
|
+
|
|
35
|
+
```shell
|
|
36
|
+
npm install -g pie
|
|
37
|
+
cd likert/docs/demo
|
|
38
|
+
pie serve #will build and serve the pie... then go to http://localhost:4000
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Test
|
|
42
|
+
|
|
43
|
+
```shell
|
|
44
|
+
npm test # run client and controller tests
|
|
45
|
+
npm run client-test # run client tests
|
|
46
|
+
npm run controller-test # run controller tests
|
|
47
|
+
```
|
|
48
|
+
## Release
|
|
49
|
+
|
|
50
|
+
```shell
|
|
51
|
+
gulp release
|
|
52
|
+
git checkout master
|
|
53
|
+
npm publish
|
|
54
|
+
```
|
|
55
|
+
[pie]: http://npmjs.org/package/pie
|
package/configure.js
DELETED
package/controller.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './dist/controller/index.js';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @synced-from pie-elements/packages/likert/configure/src/choiceGenerator.js
|
|
3
|
-
* @auto-generated
|
|
4
|
-
*
|
|
5
|
-
* This file is automatically synced from pie-elements and converted to TypeScript.
|
|
6
|
-
* Manual edits will be overwritten on next sync.
|
|
7
|
-
* To make changes, edit the upstream JavaScript file and run sync again.
|
|
8
|
-
*/
|
|
9
|
-
declare const generateChoices: (likertScale: any, likertType: any) => {
|
|
10
|
-
label: string;
|
|
11
|
-
value: number;
|
|
12
|
-
}[];
|
|
13
|
-
export default generateChoices;
|