@pie-element/number-line 13.1.2-next.5 → 13.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.
Files changed (191) hide show
  1. package/CHANGELOG.json +1247 -0
  2. package/CHANGELOG.md +2447 -0
  3. package/LICENSE.md +5 -0
  4. package/README.md +28 -0
  5. package/configure/CHANGELOG.json +827 -0
  6. package/configure/CHANGELOG.md +2094 -0
  7. package/configure/lib/arrows.js +89 -0
  8. package/configure/lib/arrows.js.map +1 -0
  9. package/configure/lib/card-bar.js +57 -0
  10. package/configure/lib/card-bar.js.map +1 -0
  11. package/configure/lib/defaults.js +177 -0
  12. package/configure/lib/defaults.js.map +1 -0
  13. package/configure/lib/domain.js +87 -0
  14. package/configure/lib/domain.js.map +1 -0
  15. package/configure/lib/index.js +176 -0
  16. package/configure/lib/index.js.map +1 -0
  17. package/configure/lib/main.js +815 -0
  18. package/configure/lib/main.js.map +1 -0
  19. package/configure/lib/number-text-field.js +26 -0
  20. package/configure/lib/number-text-field.js.map +1 -0
  21. package/configure/lib/point-config.js +84 -0
  22. package/configure/lib/point-config.js.map +1 -0
  23. package/configure/lib/size.js +66 -0
  24. package/configure/lib/size.js.map +1 -0
  25. package/configure/lib/ticks.js +234 -0
  26. package/configure/lib/ticks.js.map +1 -0
  27. package/configure/lib/utils.js +12 -0
  28. package/configure/lib/utils.js.map +1 -0
  29. package/configure/package.json +20 -0
  30. package/controller/CHANGELOG.json +332 -0
  31. package/controller/CHANGELOG.md +1360 -0
  32. package/controller/lib/defaults.js +56 -0
  33. package/controller/lib/defaults.js.map +1 -0
  34. package/controller/lib/index.js +430 -0
  35. package/controller/lib/index.js.map +1 -0
  36. package/controller/lib/tickUtils.js +294 -0
  37. package/controller/lib/tickUtils.js.map +1 -0
  38. package/controller/lib/utils.js +168 -0
  39. package/controller/lib/utils.js.map +1 -0
  40. package/controller/package.json +20 -0
  41. package/demo.gif +0 -0
  42. package/docs/config-schema.json +2532 -0
  43. package/docs/config-schema.json.md +1844 -0
  44. package/docs/demo/config.js +8 -0
  45. package/docs/demo/generate.js +39 -0
  46. package/docs/demo/index.html +1 -0
  47. package/docs/pie-schema.json +2461 -0
  48. package/docs/pie-schema.json.md +1228 -0
  49. package/docs/schemas/config.json +256 -0
  50. package/lib/data-converter.js +96 -0
  51. package/lib/data-converter.js.map +1 -0
  52. package/lib/draggable/index.js +114 -0
  53. package/lib/draggable/index.js.map +1 -0
  54. package/lib/index.js +196 -0
  55. package/lib/index.js.map +1 -0
  56. package/lib/number-line/colors.js +11 -0
  57. package/lib/number-line/colors.js.map +1 -0
  58. package/lib/number-line/feedback.js +92 -0
  59. package/lib/number-line/feedback.js.map +1 -0
  60. package/lib/number-line/graph/arrow.js +44 -0
  61. package/lib/number-line/graph/arrow.js.map +1 -0
  62. package/lib/number-line/graph/elements/base.js +20 -0
  63. package/lib/number-line/graph/elements/base.js.map +1 -0
  64. package/lib/number-line/graph/elements/builder.js +37 -0
  65. package/lib/number-line/graph/elements/builder.js.map +1 -0
  66. package/lib/number-line/graph/elements/line.js +259 -0
  67. package/lib/number-line/graph/elements/line.js.map +1 -0
  68. package/lib/number-line/graph/elements/point.js +204 -0
  69. package/lib/number-line/graph/elements/point.js.map +1 -0
  70. package/lib/number-line/graph/elements/ray.js +190 -0
  71. package/lib/number-line/graph/elements/ray.js.map +1 -0
  72. package/lib/number-line/graph/index.js +262 -0
  73. package/lib/number-line/graph/index.js.map +1 -0
  74. package/lib/number-line/graph/line.js +38 -0
  75. package/lib/number-line/graph/line.js.map +1 -0
  76. package/lib/number-line/graph/stacks.js +78 -0
  77. package/lib/number-line/graph/stacks.js.map +1 -0
  78. package/lib/number-line/graph/tick-utils.js +347 -0
  79. package/lib/number-line/graph/tick-utils.js.map +1 -0
  80. package/lib/number-line/graph/ticks.js +188 -0
  81. package/lib/number-line/graph/ticks.js.map +1 -0
  82. package/lib/number-line/index.js +384 -0
  83. package/lib/number-line/index.js.map +1 -0
  84. package/lib/number-line/point-chooser/button.js +49 -0
  85. package/lib/number-line/point-chooser/button.js.map +1 -0
  86. package/lib/number-line/point-chooser/img.js +8 -0
  87. package/lib/number-line/point-chooser/img.js.map +1 -0
  88. package/lib/number-line/point-chooser/index.js +197 -0
  89. package/lib/number-line/point-chooser/index.js.map +1 -0
  90. package/lib/number-line/point-chooser/styles.js +77 -0
  91. package/lib/number-line/point-chooser/styles.js.map +1 -0
  92. package/lib/number-line/transitions/fade.js +88 -0
  93. package/lib/number-line/transitions/fade.js.map +1 -0
  94. package/lib/number-line/transitions/index.js +14 -0
  95. package/lib/number-line/transitions/index.js.map +1 -0
  96. package/package.json +22 -87
  97. package/configure.js +0 -2
  98. package/controller.js +0 -1
  99. package/dist/_virtual/_rolldown/runtime.js +0 -11
  100. package/dist/author/arrows.d.ts +0 -28
  101. package/dist/author/arrows.js +0 -69
  102. package/dist/author/card-bar.d.ts +0 -20
  103. package/dist/author/card-bar.js +0 -41
  104. package/dist/author/defaults.d.ts +0 -178
  105. package/dist/author/defaults.js +0 -144
  106. package/dist/author/domain.d.ts +0 -15
  107. package/dist/author/domain.js +0 -54
  108. package/dist/author/index.d.ts +0 -23
  109. package/dist/author/index.js +0 -89
  110. package/dist/author/main.d.ts +0 -44
  111. package/dist/author/main.js +0 -485
  112. package/dist/author/number-text-field.d.ts +0 -13
  113. package/dist/author/number-text-field.js +0 -13
  114. package/dist/author/point-config.d.ts +0 -25
  115. package/dist/author/point-config.js +0 -69
  116. package/dist/author/size.d.ts +0 -24
  117. package/dist/author/size.js +0 -48
  118. package/dist/author/ticks.d.ts +0 -22
  119. package/dist/author/ticks.js +0 -115
  120. package/dist/author/utils.d.ts +0 -9
  121. package/dist/author/utils.js +0 -4
  122. package/dist/browser/author/index.js +0 -46162
  123. package/dist/browser/author/index.js.map +0 -1
  124. package/dist/browser/controller/index.js +0 -569
  125. package/dist/browser/controller/index.js.map +0 -1
  126. package/dist/browser/delivery/index.js +0 -2
  127. package/dist/browser/delivery-bcOQIdko.js +0 -17953
  128. package/dist/browser/delivery-bcOQIdko.js.map +0 -1
  129. package/dist/browser/dist-BnIaVPcz.js +0 -19042
  130. package/dist/browser/dist-BnIaVPcz.js.map +0 -1
  131. package/dist/browser/impureFunctionsAny.generated-BwG6hrJc.js +0 -10162
  132. package/dist/browser/impureFunctionsAny.generated-BwG6hrJc.js.map +0 -1
  133. package/dist/browser/number-line.css +0 -2
  134. package/dist/controller/defaults.d.ts +0 -58
  135. package/dist/controller/defaults.js +0 -50
  136. package/dist/controller/index.d.ts +0 -47
  137. package/dist/controller/index.js +0 -165
  138. package/dist/controller/tickUtils.d.ts +0 -21
  139. package/dist/controller/tickUtils.js +0 -252
  140. package/dist/controller/utils.d.ts +0 -9
  141. package/dist/controller/utils.js +0 -68
  142. package/dist/delivery/data-converter.d.ts +0 -64
  143. package/dist/delivery/data-converter.js +0 -70
  144. package/dist/delivery/draggable/index.d.ts +0 -33
  145. package/dist/delivery/draggable/index.js +0 -39
  146. package/dist/delivery/index.d.ts +0 -35
  147. package/dist/delivery/index.js +0 -109
  148. package/dist/delivery/number-line/colors.d.ts +0 -11
  149. package/dist/delivery/number-line/colors.js +0 -5
  150. package/dist/delivery/number-line/feedback.d.ts +0 -19
  151. package/dist/delivery/number-line/feedback.js +0 -57
  152. package/dist/delivery/number-line/graph/arrow.d.ts +0 -30
  153. package/dist/delivery/number-line/graph/arrow.js +0 -27
  154. package/dist/delivery/number-line/graph/elements/base.d.ts +0 -16
  155. package/dist/delivery/number-line/graph/elements/base.js +0 -11
  156. package/dist/delivery/number-line/graph/elements/builder.d.ts +0 -33
  157. package/dist/delivery/number-line/graph/elements/builder.js +0 -30
  158. package/dist/delivery/number-line/graph/elements/line.d.ts +0 -51
  159. package/dist/delivery/number-line/graph/elements/line.js +0 -188
  160. package/dist/delivery/number-line/graph/elements/point.d.ts +0 -43
  161. package/dist/delivery/number-line/graph/elements/point.js +0 -127
  162. package/dist/delivery/number-line/graph/elements/ray.d.ts +0 -43
  163. package/dist/delivery/number-line/graph/elements/ray.js +0 -130
  164. package/dist/delivery/number-line/graph/index.d.ts +0 -59
  165. package/dist/delivery/number-line/graph/index.js +0 -196
  166. package/dist/delivery/number-line/graph/line.d.ts +0 -46
  167. package/dist/delivery/number-line/graph/line.js +0 -27
  168. package/dist/delivery/number-line/graph/stacks.d.ts +0 -10
  169. package/dist/delivery/number-line/graph/stacks.js +0 -40
  170. package/dist/delivery/number-line/graph/tick-utils.d.ts +0 -80
  171. package/dist/delivery/number-line/graph/tick-utils.js +0 -295
  172. package/dist/delivery/number-line/graph/ticks.d.ts +0 -46
  173. package/dist/delivery/number-line/graph/ticks.js +0 -115
  174. package/dist/delivery/number-line/index.d.ts +0 -35
  175. package/dist/delivery/number-line/index.js +0 -215
  176. package/dist/delivery/number-line/point-chooser/button.d.ts +0 -31
  177. package/dist/delivery/number-line/point-chooser/button.js +0 -36
  178. package/dist/delivery/number-line/point-chooser/img.d.ts +0 -10
  179. package/dist/delivery/number-line/point-chooser/img.js +0 -4
  180. package/dist/delivery/number-line/point-chooser/index.d.ts +0 -37
  181. package/dist/delivery/number-line/point-chooser/index.js +0 -154
  182. package/dist/delivery/number-line/point-chooser/styles.d.ts +0 -192
  183. package/dist/delivery/number-line/transitions/fade.d.ts +0 -34
  184. package/dist/delivery/number-line/transitions/fade.js +0 -75
  185. package/dist/delivery/number-line/transitions/index.d.ts +0 -10
  186. package/dist/index.d.ts +0 -1
  187. package/dist/index.iife.d.ts +0 -8
  188. package/dist/index.iife.js +0 -197
  189. package/dist/index.js +0 -2
  190. package/dist/runtime-support.d.ts +0 -12
  191. package/dist/runtime-support.js +0 -12
@@ -0,0 +1,89 @@
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.Arrows = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _styles = require("@mui/material/styles");
12
+ var _configUi = require("@pie-lib/config-ui");
13
+ const FlexRow = (0, _styles.styled)('div')({
14
+ display: 'flex',
15
+ alignItems: 'center',
16
+ gap: '10px'
17
+ });
18
+ const ArrowsContainer = (0, _styles.styled)('div')(({
19
+ theme
20
+ }) => ({
21
+ paddingTop: theme.spacing(2),
22
+ display: 'flex',
23
+ gap: theme.spacing(2),
24
+ alignItems: 'center',
25
+ '& > *': {
26
+ flexShrink: 0
27
+ },
28
+ '& label': {
29
+ whiteSpace: 'nowrap',
30
+ overflow: 'visible',
31
+ textOverflow: 'clip'
32
+ },
33
+ '& .MuiFormControlLabel-root': {
34
+ margin: 0,
35
+ marginRight: 0
36
+ },
37
+ '& .MuiFormControlLabel-label': {
38
+ whiteSpace: 'nowrap',
39
+ overflow: 'visible',
40
+ textOverflow: 'clip',
41
+ maxWidth: 'none',
42
+ width: 'auto',
43
+ flexShrink: 0
44
+ }
45
+ }));
46
+ class Arrows extends _react.default.Component {
47
+ constructor(props) {
48
+ super(props);
49
+ this.change = (key, event, value) => {
50
+ const update = {
51
+ ...this.props.arrows,
52
+ [key]: value
53
+ };
54
+ this.props.onChange(update);
55
+ };
56
+ this.changeLeft = this.change.bind(this, 'left');
57
+ this.changeRight = this.change.bind(this, 'right');
58
+ }
59
+ render() {
60
+ const {
61
+ arrows
62
+ } = this.props;
63
+ return /*#__PURE__*/_react.default.createElement(FlexRow, null, /*#__PURE__*/_react.default.createElement("label", null, "Arrows"), /*#__PURE__*/_react.default.createElement(ArrowsContainer, null, /*#__PURE__*/_react.default.createElement(_configUi.InputCheckbox, {
64
+ label: 'Left',
65
+ checked: arrows.left,
66
+ onChange: this.changeLeft
67
+ }), /*#__PURE__*/_react.default.createElement(_configUi.InputCheckbox, {
68
+ label: 'Right',
69
+ checked: arrows.right,
70
+ onChange: this.changeRight
71
+ })));
72
+ }
73
+ }
74
+ exports.Arrows = Arrows;
75
+ (0, _defineProperty2.default)(Arrows, "propTypes", {
76
+ arrows: _propTypes.default.shape({
77
+ left: _propTypes.default.bool,
78
+ right: _propTypes.default.bool
79
+ }).isRequired,
80
+ onChange: _propTypes.default.func
81
+ });
82
+ (0, _defineProperty2.default)(Arrows, "defaultProps", {
83
+ arrows: {
84
+ left: true,
85
+ right: true
86
+ }
87
+ });
88
+ var _default = exports.default = Arrows;
89
+ //# sourceMappingURL=arrows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrows.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_configUi","FlexRow","styled","display","alignItems","gap","ArrowsContainer","theme","paddingTop","spacing","flexShrink","whiteSpace","overflow","textOverflow","margin","marginRight","maxWidth","width","Arrows","React","Component","constructor","props","change","key","event","value","update","arrows","onChange","changeLeft","bind","changeRight","render","default","createElement","InputCheckbox","label","checked","left","right","exports","_defineProperty2","PropTypes","shape","bool","isRequired","func","_default"],"sources":["../src/arrows.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { InputCheckbox } from '@pie-lib/config-ui';\n\nconst FlexRow = styled('div')({\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n});\n\nconst ArrowsContainer = styled('div')(({ theme }) => ({\n paddingTop: theme.spacing(2),\n display: 'flex',\n gap: theme.spacing(2),\n alignItems: 'center',\n '& > *': {\n flexShrink: 0,\n },\n '& label': {\n whiteSpace: 'nowrap',\n overflow: 'visible',\n textOverflow: 'clip',\n },\n '& .MuiFormControlLabel-root': {\n margin: 0,\n marginRight: 0,\n },\n '& .MuiFormControlLabel-label': {\n whiteSpace: 'nowrap',\n overflow: 'visible',\n textOverflow: 'clip',\n maxWidth: 'none',\n width: 'auto',\n flexShrink: 0,\n },\n}));\n\nexport class Arrows extends React.Component {\n static propTypes = {\n arrows: PropTypes.shape({ left: PropTypes.bool, right: PropTypes.bool }).isRequired,\n onChange: PropTypes.func,\n };\n static defaultProps = {\n arrows: { left: true, right: true },\n };\n\n constructor(props) {\n super(props);\n\n this.change = (key, event, value) => {\n const update = { ...this.props.arrows, [key]: value };\n this.props.onChange(update);\n };\n this.changeLeft = this.change.bind(this, 'left');\n this.changeRight = this.change.bind(this, 'right');\n }\n\n render() {\n const { arrows } = this.props;\n return (\n <FlexRow>\n <label>Arrows</label>\n <ArrowsContainer>\n <InputCheckbox label={'Left'} checked={arrows.left} onChange={this.changeLeft} />\n <InputCheckbox\n label={'Right'}\n checked={arrows.right}\n onChange={this.changeRight}\n />\n </ArrowsContainer>\n </FlexRow>\n );\n }\n}\n\nexport default Arrows;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,57 @@
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 _styles = require("@mui/material/styles");
9
+ var _Tooltip = _interopRequireDefault(require("@mui/material/Tooltip"));
10
+ var _HelpOutline = _interopRequireDefault(require("@mui/icons-material/HelpOutline"));
11
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _react = _interopRequireDefault(require("react"));
14
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
15
+ const CardBarContainer = (0, _styles.styled)('div')({
16
+ display: 'flex',
17
+ justifyContent: 'space-between'
18
+ });
19
+ const FlexContainer = (0, _styles.styled)('div')({
20
+ display: 'flex',
21
+ alignItems: 'center'
22
+ });
23
+ const StyledIconButton = (0, _styles.styled)(_IconButton.default)({
24
+ margin: 0,
25
+ padding: 0
26
+ });
27
+ const CardBar = props => {
28
+ const {
29
+ header,
30
+ children,
31
+ mini,
32
+ info
33
+ } = props;
34
+ return /*#__PURE__*/_react.default.createElement(CardBarContainer, null, /*#__PURE__*/_react.default.createElement(FlexContainer, null, /*#__PURE__*/_react.default.createElement(_Typography.default, {
35
+ variant: mini ? 'subheading' : 'h5'
36
+ }, header), info), children && /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
37
+ title: children,
38
+ slotProps: {
39
+ tooltip: {
40
+ sx: theme => ({
41
+ fontSize: theme.typography.fontSize - 2
42
+ })
43
+ }
44
+ }
45
+ }, /*#__PURE__*/_react.default.createElement(StyledIconButton, {
46
+ "aria-label": "Delete",
47
+ size: "large"
48
+ }, /*#__PURE__*/_react.default.createElement(_HelpOutline.default, null))));
49
+ };
50
+ CardBar.propTypes = {
51
+ mini: _propTypes.default.bool,
52
+ header: _propTypes.default.string,
53
+ children: _propTypes.default.node,
54
+ info: _propTypes.default.any
55
+ };
56
+ var _default = exports.default = CardBar;
57
+ //# sourceMappingURL=card-bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-bar.js","names":["_styles","require","_Tooltip","_interopRequireDefault","_HelpOutline","_IconButton","_propTypes","_react","_Typography","CardBarContainer","styled","display","justifyContent","FlexContainer","alignItems","StyledIconButton","IconButton","margin","padding","CardBar","props","header","children","mini","info","default","createElement","variant","title","slotProps","tooltip","sx","theme","fontSize","typography","size","propTypes","PropTypes","bool","string","node","any","_default","exports"],"sources":["../src/card-bar.jsx"],"sourcesContent":["import { styled } from '@mui/material/styles';\nimport Tooltip from '@mui/material/Tooltip';\nimport HelpIcon from '@mui/icons-material/HelpOutline';\nimport IconButton from '@mui/material/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Typography from '@mui/material/Typography';\n\nconst CardBarContainer = styled('div')({\n display: 'flex',\n justifyContent: 'space-between',\n});\n\nconst FlexContainer = styled('div')({\n display: 'flex',\n alignItems: 'center',\n});\n\nconst StyledIconButton = styled(IconButton)({\n margin: 0,\n padding: 0,\n});\n\nconst CardBar = (props) => {\n const { header, children, mini, info } = props;\n\n return (\n <CardBarContainer>\n <FlexContainer>\n <Typography variant={mini ? 'subheading' : 'h5'}>{header}</Typography>\n {info}\n </FlexContainer>\n {children && (\n <Tooltip\n title={children}\n slotProps={{\n tooltip: {\n sx: (theme) => ({\n fontSize: theme.typography.fontSize - 2,\n }),\n },\n }}\n >\n <StyledIconButton aria-label=\"Delete\" size=\"large\">\n <HelpIcon />\n </StyledIconButton>\n </Tooltip>\n )}\n </CardBarContainer>\n );\n};\n\nCardBar.propTypes = {\n mini: PropTypes.bool,\n header: PropTypes.string,\n children: PropTypes.node,\n info: PropTypes.any,\n};\n\nexport default CardBar;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,UAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,MAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,WAAA,GAAAL,sBAAA,CAAAF,OAAA;AAEA,MAAMQ,gBAAgB,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC;EACrCC,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE;AAClB,CAAC,CAAC;AAEF,MAAMC,aAAa,GAAG,IAAAH,cAAM,EAAC,KAAK,CAAC,CAAC;EAClCC,OAAO,EAAE,MAAM;EACfG,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,MAAMC,gBAAgB,GAAG,IAAAL,cAAM,EAACM,mBAAU,CAAC,CAAC;EAC1CC,MAAM,EAAE,CAAC;EACTC,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMC,OAAO,GAAIC,KAAK,IAAK;EACzB,MAAM;IAAEC,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAAGJ,KAAK;EAE9C,oBACEb,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACjB,gBAAgB,qBACfF,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACb,aAAa,qBACZN,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAClB,WAAA,CAAAiB,OAAU;IAACE,OAAO,EAAEJ,IAAI,GAAG,YAAY,GAAG;EAAK,GAAEF,MAAmB,CAAC,EACrEG,IACY,CAAC,EACfF,QAAQ,iBACPf,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACxB,QAAA,CAAAuB,OAAO;IACNG,KAAK,EAAEN,QAAS;IAChBO,SAAS,EAAE;MACTC,OAAO,EAAE;QACPC,EAAE,EAAGC,KAAK,KAAM;UACdC,QAAQ,EAAED,KAAK,CAACE,UAAU,CAACD,QAAQ,GAAG;QACxC,CAAC;MACH;IACF;EAAE,gBAEF1B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACX,gBAAgB;IAAC,cAAW,QAAQ;IAACoB,IAAI,EAAC;EAAO,gBAChD5B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACtB,YAAA,CAAAqB,OAAQ,MAAE,CACK,CACX,CAEK,CAAC;AAEvB,CAAC;AAEDN,OAAO,CAACiB,SAAS,GAAG;EAClBb,IAAI,EAAEc,kBAAS,CAACC,IAAI;EACpBjB,MAAM,EAAEgB,kBAAS,CAACE,MAAM;EACxBjB,QAAQ,EAAEe,kBAAS,CAACG,IAAI;EACxBhB,IAAI,EAAEa,kBAAS,CAACI;AAClB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAlB,OAAA,GAEaN,OAAO","ignoreList":[]}
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.model = exports.configuration = void 0;
7
+ const model = exports.model = {
8
+ correctResponse: [],
9
+ feedback: {
10
+ correct: {
11
+ default: 'Correct',
12
+ type: 'none'
13
+ },
14
+ incorrect: {
15
+ default: 'Incorrect',
16
+ type: 'none'
17
+ },
18
+ partial: {
19
+ default: 'Nearly',
20
+ type: 'none'
21
+ }
22
+ },
23
+ graph: {
24
+ arrows: {
25
+ left: true,
26
+ right: true
27
+ },
28
+ availableTypes: {
29
+ PF: true
30
+ },
31
+ domain: {
32
+ min: -1,
33
+ max: 1
34
+ },
35
+ exhibitOnly: false,
36
+ initialElements: [],
37
+ initialType: 'PF',
38
+ maxNumberOfPoints: 1,
39
+ ticks: {
40
+ minor: 0.125,
41
+ major: 0.5,
42
+ tickIntervalType: 'Decimal'
43
+ },
44
+ title: '',
45
+ width: 500
46
+ },
47
+ prompt: '',
48
+ promptEnabled: true,
49
+ rationale: '',
50
+ rationaleEnabled: true,
51
+ teacherInstructions: '',
52
+ teacherInstructionsEnabled: true,
53
+ toolbarEditorPosition: 'bottom',
54
+ widthEnabled: true
55
+ };
56
+ const configuration = exports.configuration = {
57
+ baseInputConfiguration: {
58
+ h3: {
59
+ disabled: true
60
+ },
61
+ audio: {
62
+ disabled: false
63
+ },
64
+ video: {
65
+ disabled: false
66
+ },
67
+ image: {
68
+ disabled: false
69
+ },
70
+ textAlign: {
71
+ disabled: true
72
+ },
73
+ showParagraphs: {
74
+ disabled: false
75
+ }
76
+ },
77
+ instruction: {
78
+ settings: false,
79
+ enabled: true,
80
+ label: 'Number line questions involve plotting points or other objects. To create one, first set up the number line, then select the plotting tools students will be offered and use them to define the correct answer.'
81
+ },
82
+ prompt: {
83
+ settings: true,
84
+ label: 'Item Stem',
85
+ required: false,
86
+ inputConfiguration: {
87
+ audio: {
88
+ disabled: false
89
+ },
90
+ video: {
91
+ disabled: false
92
+ },
93
+ image: {
94
+ disabled: false
95
+ }
96
+ }
97
+ },
98
+ rationale: {
99
+ settings: true,
100
+ label: 'Rationale',
101
+ required: false,
102
+ inputConfiguration: {
103
+ audio: {
104
+ disabled: false
105
+ },
106
+ video: {
107
+ disabled: false
108
+ },
109
+ image: {
110
+ disabled: false
111
+ }
112
+ }
113
+ },
114
+ teacherInstructions: {
115
+ settings: true,
116
+ label: 'Teacher Instructions',
117
+ required: false,
118
+ inputConfiguration: {
119
+ audio: {
120
+ disabled: false
121
+ },
122
+ video: {
123
+ disabled: false
124
+ },
125
+ image: {
126
+ disabled: false
127
+ }
128
+ }
129
+ },
130
+ title: {
131
+ label: 'Title',
132
+ settings: true,
133
+ enabled: true,
134
+ inputConfiguration: {
135
+ audio: {
136
+ disabled: false
137
+ },
138
+ video: {
139
+ disabled: false
140
+ },
141
+ image: {
142
+ disabled: false
143
+ }
144
+ }
145
+ },
146
+ numberLineDimensions: {
147
+ settings: true,
148
+ label: 'Width',
149
+ enabled: true,
150
+ min: 200,
151
+ max: 800,
152
+ step: 20
153
+ },
154
+ mathMlOptions: {
155
+ mmlOutput: false,
156
+ mmlEditing: false
157
+ },
158
+ language: {
159
+ settings: false,
160
+ label: 'Specify Language',
161
+ enabled: false
162
+ },
163
+ languageChoices: {
164
+ label: 'Language Choices',
165
+ options: []
166
+ },
167
+ spellCheck: {
168
+ label: 'Spellcheck',
169
+ settings: false,
170
+ enabled: true
171
+ },
172
+ maxMaxElements: 20,
173
+ hidePointConfigButtons: false,
174
+ availableTools: ['PF', 'LFF', 'LEF', 'LFE', 'LEE', 'RFN', 'RFP', 'REN', 'REP'],
175
+ settingsPanelDisabled: false
176
+ };
177
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","names":["model","exports","correctResponse","feedback","correct","default","type","incorrect","partial","graph","arrows","left","right","availableTypes","PF","domain","min","max","exhibitOnly","initialElements","initialType","maxNumberOfPoints","ticks","minor","major","tickIntervalType","title","width","prompt","promptEnabled","rationale","rationaleEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","widthEnabled","configuration","baseInputConfiguration","h3","disabled","audio","video","image","textAlign","showParagraphs","instruction","settings","enabled","label","required","inputConfiguration","numberLineDimensions","step","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options","spellCheck","maxMaxElements","hidePointConfigButtons","availableTools","settingsPanelDisabled"],"sources":["../src/defaults.js"],"sourcesContent":["export const model = {\n correctResponse: [],\n feedback: {\n correct: { default: 'Correct', type: 'none' },\n incorrect: { default: 'Incorrect', type: 'none' },\n partial: { default: 'Nearly', type: 'none' },\n },\n graph: {\n arrows: { left: true, right: true },\n availableTypes: {\n PF: true,\n },\n domain: { min: -1, max: 1 },\n exhibitOnly: false,\n initialElements: [],\n initialType: 'PF',\n maxNumberOfPoints: 1,\n ticks: { minor: 0.125, major: 0.5, tickIntervalType: 'Decimal' },\n title: '',\n width: 500,\n },\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n widthEnabled: true,\n};\n\nexport const configuration = {\n baseInputConfiguration: {\n h3: { disabled: true },\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n },\n instruction: {\n settings: false,\n enabled: true,\n label:\n 'Number line questions involve plotting points or other objects. To create one, first set up the number line, then select the plotting tools students will be offered and use them to define the correct answer.',\n },\n prompt: {\n settings: true,\n label: 'Item Stem',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n required: false,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n title: {\n label: 'Title',\n settings: true,\n enabled: true,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n numberLineDimensions: {\n settings: true,\n label: 'Width',\n enabled: true,\n min: 200,\n max: 800,\n step: 20,\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n maxMaxElements: 20,\n hidePointConfigButtons: false,\n availableTools: ['PF', 'LFF', 'LEF', 'LFE', 'LEE', 'RFN', 'RFP', 'REN', 'REP'],\n settingsPanelDisabled: false,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,87 @@
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.Domain = void 0;
8
+ var _numberTextField = _interopRequireDefault(require("./number-text-field"));
9
+ var _propTypes = _interopRequireDefault(require("prop-types"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _styles = require("@mui/material/styles");
12
+ const DOMAIN_BEGIN = 'domainBegin';
13
+ const DOMAIN_END = 'domainEnd';
14
+ const DisplayFlex = (0, _styles.styled)('div')({
15
+ display: 'flex',
16
+ gap: '20px'
17
+ });
18
+ const FlexRow = (0, _styles.styled)('div')({
19
+ display: 'flex',
20
+ alignItems: 'center',
21
+ gap: '10px',
22
+ '.MuiInputBase-input': {
23
+ padding: '16.5px 14px !important'
24
+ }
25
+ });
26
+ const sort = domain => {
27
+ if (domain.min <= domain.max) {
28
+ return domain;
29
+ }
30
+ return {
31
+ min: domain.max,
32
+ max: domain.min
33
+ };
34
+ };
35
+ class Domain extends _react.default.Component {
36
+ constructor(props) {
37
+ super(props);
38
+ this.changeMin = this.change.bind(this, 'min');
39
+ this.changeMax = this.change.bind(this, 'max');
40
+ }
41
+ change(key, event, value) {
42
+ const {
43
+ onChange
44
+ } = this.props;
45
+ let update;
46
+ //Added condition when min and max is same, then it should not update the value
47
+ if (key === 'min' && value === this.props.domain.max || key === 'max' && value === this.props.domain.min) {
48
+ update = {
49
+ ...this.props.domain
50
+ };
51
+ } else {
52
+ update = {
53
+ ...this.props.domain,
54
+ [key]: value
55
+ };
56
+ }
57
+ onChange(sort(update));
58
+ }
59
+ render() {
60
+ const {
61
+ domain
62
+ } = this.props;
63
+ return /*#__PURE__*/_react.default.createElement(DisplayFlex, null, /*#__PURE__*/_react.default.createElement(FlexRow, null, /*#__PURE__*/_react.default.createElement("label", null, "Min Value"), /*#__PURE__*/_react.default.createElement(_numberTextField.default, {
64
+ min: -100000,
65
+ max: 99999,
66
+ value: domain.min,
67
+ name: DOMAIN_BEGIN,
68
+ onChange: this.changeMin
69
+ })), /*#__PURE__*/_react.default.createElement(FlexRow, null, /*#__PURE__*/_react.default.createElement("label", null, "Max Value"), /*#__PURE__*/_react.default.createElement(_numberTextField.default, {
70
+ min: -99999,
71
+ max: 100000,
72
+ value: domain.max,
73
+ name: DOMAIN_END,
74
+ onChange: this.changeMax
75
+ })));
76
+ }
77
+ }
78
+ exports.Domain = Domain;
79
+ Domain.propTypes = {
80
+ domain: _propTypes.default.shape({
81
+ min: _propTypes.default.number,
82
+ max: _propTypes.default.number
83
+ }),
84
+ onChange: _propTypes.default.func.isRequired
85
+ };
86
+ var _default = exports.default = Domain;
87
+ //# sourceMappingURL=domain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain.js","names":["_numberTextField","_interopRequireDefault","require","_propTypes","_react","_styles","DOMAIN_BEGIN","DOMAIN_END","DisplayFlex","styled","display","gap","FlexRow","alignItems","padding","sort","domain","min","max","Domain","React","Component","constructor","props","changeMin","change","bind","changeMax","key","event","value","onChange","update","render","default","createElement","name","exports","propTypes","PropTypes","shape","number","func","isRequired","_default"],"sources":["../src/domain.jsx"],"sourcesContent":["import NumberTextField from './number-text-field';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { styled } from '@mui/material/styles';\n\nconst DOMAIN_BEGIN = 'domainBegin';\nconst DOMAIN_END = 'domainEnd';\n\nconst DisplayFlex = styled('div')({\n display: 'flex',\n gap: '20px',\n});\n\nconst FlexRow = styled('div')({\n display: 'flex',\n alignItems: 'center',\n gap: '10px',\n\n '.MuiInputBase-input': {\n padding: '16.5px 14px !important',\n },\n});\n\nconst sort = (domain) => {\n if (domain.min <= domain.max) {\n return domain;\n }\n return { min: domain.max, max: domain.min };\n};\n\nexport class Domain extends React.Component {\n constructor(props) {\n super(props);\n\n this.changeMin = this.change.bind(this, 'min');\n this.changeMax = this.change.bind(this, 'max');\n }\n\n change(key, event, value) {\n const { onChange } = this.props;\n let update;\n //Added condition when min and max is same, then it should not update the value\n if ((key === 'min' && value === this.props.domain.max) || (key === 'max' && value === this.props.domain.min)) {\n update = { ...this.props.domain };\n } else {\n update = { ...this.props.domain, [key]: value };\n }\n onChange(sort(update));\n }\n\n render() {\n const { domain } = this.props;\n\n return (\n <DisplayFlex>\n <FlexRow>\n <label>Min Value</label>\n <NumberTextField min={-100000} max={99999} value={domain.min} name={DOMAIN_BEGIN} onChange={this.changeMin} />\n </FlexRow>\n <FlexRow>\n <label>Max Value</label>\n <NumberTextField min={-99999} max={100000} value={domain.max} name={DOMAIN_END} onChange={this.changeMax} />\n </FlexRow>\n </DisplayFlex>\n );\n }\n}\nDomain.propTypes = {\n domain: PropTypes.shape({ min: PropTypes.number, max: PropTypes.number }),\n onChange: PropTypes.func.isRequired,\n};\n\nexport default Domain;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,176 @@
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 _main = _interopRequireDefault(require("./main"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _client = require("react-dom/client");
12
+ var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
13
+ var defaults = _interopRequireWildcard(require("./defaults"));
14
+ var math = _interopRequireWildcard(require("mathjs"));
15
+ var _lodashEs = require("lodash-es");
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
+ // this function is duplicated in controller; at some point, use the same shared function
18
+ const updateTicks = model => {
19
+ const {
20
+ graph: {
21
+ domain,
22
+ labelStep,
23
+ ticks = {}
24
+ } = {}
25
+ } = model;
26
+ const {
27
+ minor,
28
+ major
29
+ } = ticks;
30
+ if (domain) {
31
+ domain.min = Number((domain.min || 0).toFixed(2));
32
+ domain.max = Number((domain.max || 0).toFixed(2));
33
+ }
34
+ if (labelStep && typeof labelStep === 'string' && labelStep.match(/^[1-9][0-9]*\/[1-9][0-9]*$/g)) {
35
+ model.graph.fraction = true;
36
+ ticks.tickIntervalType = 'Fraction';
37
+
38
+ // update the ticks frequency and label value to match the label step if needed
39
+ const step = math.evaluate(labelStep);
40
+ if (step !== major) {
41
+ ticks.major = step;
42
+ ticks.minor = step / (major / minor);
43
+ }
44
+ }
45
+ return model;
46
+ };
47
+ class NumberLine extends HTMLElement {
48
+ constructor() {
49
+ super();
50
+ (0, _defineProperty2.default)(this, "resetModelAfterConfigurationIsSet", () => {
51
+ // In environments that use pie-player-components, model is set before configuration.
52
+ // This is the reason why sometimes the model gets altered non-reversible
53
+ // (altered using default configuration instead of client configuration, because at that point client configuration was not set yet)
54
+ // Therefore, in such environments, we will make sure to keep a modelCopy (initialised in set model) and use it to reset
55
+ // the model in set configuration (resetModelAfterConfigurationIsSet) if set configuration is ever called
56
+ const pieAuthors = document.querySelectorAll('pie-author');
57
+ this.hasPlayerAsParent = Array.from(pieAuthors).some(author => author.contains(this));
58
+ if (this.hasPlayerAsParent) {
59
+ if (this._modelCopy) {
60
+ this._model = this._modelCopy;
61
+ } else {
62
+ delete this._modelCopy;
63
+ }
64
+ }
65
+ });
66
+ (0, _defineProperty2.default)(this, "onChange", o => {
67
+ this._model = {
68
+ ...this._model,
69
+ ...o
70
+ };
71
+ this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
72
+ this._rerender();
73
+ });
74
+ (0, _defineProperty2.default)(this, "onConfigurationChanged", config => {
75
+ this._configuration = config;
76
+ this._render();
77
+ });
78
+ this._root = null;
79
+ this._model = NumberLine.createDefaultModel();
80
+ this._configuration = defaults.configuration;
81
+ }
82
+ set model(m) {
83
+ this._model = NumberLine.createDefaultModel(m);
84
+ this._modelCopy = (0, _lodashEs.cloneDeep)(this._model);
85
+ this._rerender();
86
+ }
87
+ set configuration(c) {
88
+ const newConfiguration = {
89
+ ...defaults.configuration,
90
+ ...c
91
+ };
92
+ this._configuration = newConfiguration;
93
+ this.resetModelAfterConfigurationIsSet();
94
+
95
+ // if language:enabled is true, then the corresponding default item model should include a language value;
96
+ // if it is false, then the language field should be omitted from the item model.
97
+ // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,
98
+ // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).
99
+ if (newConfiguration?.language?.enabled) {
100
+ if (newConfiguration?.languageChoices?.options?.length) {
101
+ this._model.language = newConfiguration?.languageChoices.options[0].value;
102
+ }
103
+ } else if (newConfiguration.language.settings && this._model.language) {
104
+ this._configuration.language.enabled = true;
105
+ if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {
106
+ this._configuration.languageChoices.options = [];
107
+ }
108
+
109
+ // check if the language is already included in the languageChoices.options array
110
+ // and if not, then add it.
111
+ if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {
112
+ this._configuration.languageChoices.options.push({
113
+ value: this._model.language,
114
+ label: this._model.language
115
+ });
116
+ }
117
+ } else {
118
+ delete this._model.language;
119
+ }
120
+ this._rerender();
121
+ }
122
+ insertImage(handler) {
123
+ this.dispatchEvent(new _pieConfigureEvents.InsertImageEvent(handler));
124
+ }
125
+ onDeleteImage(src, done) {
126
+ this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
127
+ }
128
+ insertSound(handler) {
129
+ this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
130
+ }
131
+ onDeleteSound(src, done) {
132
+ this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
133
+ }
134
+ _rerender() {
135
+ let element = /*#__PURE__*/_react.default.createElement(_main.default, {
136
+ model: this._model,
137
+ configuration: this._configuration,
138
+ onChange: this.onChange,
139
+ onConfigurationChanged: this.onConfigurationChanged,
140
+ imageSupport: {
141
+ add: this.insertImage.bind(this),
142
+ delete: this.onDeleteImage.bind(this)
143
+ },
144
+ uploadSoundSupport: {
145
+ add: this.insertSound.bind(this),
146
+ delete: this.onDeleteSound.bind(this)
147
+ }
148
+ });
149
+ if (!this._root) {
150
+ this._root = (0, _client.createRoot)(this);
151
+ }
152
+ this._root.render(element);
153
+ }
154
+ disconnectedCallback() {
155
+ if (this._root) {
156
+ this._root.unmount();
157
+ }
158
+ }
159
+ }
160
+ exports.default = NumberLine;
161
+ (0, _defineProperty2.default)(NumberLine, "createDefaultModel", (model = {}) => {
162
+ const c = defaults.configuration;
163
+ let language = model.language || '';
164
+ if (!language && c.language && c.language.enabled) {
165
+ if (c.languageChoices?.options?.length) {
166
+ language = c.languageChoices.options[0].value;
167
+ }
168
+ }
169
+ const normalizedModel = {
170
+ ...defaults.model,
171
+ ...model,
172
+ language
173
+ };
174
+ return updateTicks(normalizedModel);
175
+ });
176
+ //# sourceMappingURL=index.js.map