@pie-element/select-text 6.5.3-next.582 → 6.5.3-next.596

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/module/print.js CHANGED
@@ -1,5 +1,5 @@
1
- import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.2.18/module/index.js";
2
- import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.21/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.2.19/module/index.js";
2
+ import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.22/module/index.js";
3
3
  const React$7 = _dll_react;
4
4
  const PropTypes$6 = _dll_prop_types;
5
5
  const {Button: Button} = _dll_material_ui__core;
@@ -1760,14 +1760,14 @@ class Token extends React$4.Component {
1760
1760
  };
1761
1761
  }
1762
1762
  render() {
1763
- const {text, selectable, selected, classes, className: classNameProp, disabled, index, highlight, correct} = this.props;
1763
+ const {text, selectable, selected, classes, className: classNameProp, disabled, index, highlight, correct, animationsDisabled} = this.props;
1764
1764
  let className;
1765
1765
  if (correct === undefined && selected && disabled) {
1766
1766
  className = classNames$1(classes.token, classes.selected, classes.disabledBlack);
1767
1767
  } else if (correct !== undefined) {
1768
1768
  className = classNames$1(Token.rootClassName, classes.custom, correct === true && classes.correct, correct === false && classes.incorrect);
1769
1769
  } else {
1770
- className = classNames$1(Token.rootClassName, classes.token, disabled && classes.disabled, selectable && !disabled && classes.selectable, selected && !disabled && classes.selected, selected && disabled && classes.disabledAndSelected, highlight && selectable && !disabled && !selected && classes.highlight, classNameProp);
1770
+ className = classNames$1(Token.rootClassName, classes.token, disabled && classes.disabled, selectable && !disabled && classes.selectable, selected && !disabled && classes.selected, selected && disabled && classes.disabledAndSelected, highlight && selectable && !disabled && !selected && classes.highlight, animationsDisabled && classes.print, classNameProp);
1771
1771
  }
1772
1772
  return React$4.createElement('span', {
1773
1773
  className: className,
@@ -1778,7 +1778,7 @@ class Token extends React$4.Component {
1778
1778
  __self: this,
1779
1779
  __source: {
1780
1780
  fileName: _jsxFileName$3,
1781
- lineNumber: 68
1781
+ lineNumber: 70
1782
1782
  }
1783
1783
  });
1784
1784
  }
@@ -1833,6 +1833,15 @@ var Token$1 = withStyles$2(theme => {
1833
1833
  display: 'inline-block',
1834
1834
  padding: theme.spacing.unit
1835
1835
  },
1836
+ print: {
1837
+ border: 'dashed 2px gray',
1838
+ lineHeight: 2,
1839
+ boxSizing: 'border-box',
1840
+ marginTop: theme.spacing.unit / 2,
1841
+ display: 'inline-block',
1842
+ padding: theme.spacing.unit,
1843
+ color: color$1.text()
1844
+ },
1836
1845
  custom: {
1837
1846
  display: 'initial'
1838
1847
  },
@@ -1870,6 +1879,7 @@ class TokenSelect extends React$3.Component {
1870
1879
  onChange: PropTypes$2.func.isRequired,
1871
1880
  disabled: PropTypes$2.bool,
1872
1881
  highlightChoices: PropTypes$2.bool,
1882
+ animationsDisabled: PropTypes$2.bool,
1873
1883
  maxNoOfSelections: PropTypes$2.number
1874
1884
  };
1875
1885
  }
@@ -1896,12 +1906,12 @@ class TokenSelect extends React$3.Component {
1896
1906
  __init3() {
1897
1907
  this.toggleToken = event => {
1898
1908
  const {target} = event;
1899
- const {tokens} = this.props;
1909
+ const {tokens, animationsDisabled} = this.props;
1900
1910
  const tokensCloned = clone(tokens);
1901
1911
  const targetSpanWrapper = target.closest(`.${Token$1.rootClassName}`);
1902
1912
  const targetedTokenIndex = targetSpanWrapper && targetSpanWrapper.dataset && targetSpanWrapper.dataset.indexkey;
1903
1913
  const t = targetedTokenIndex && tokensCloned[targetedTokenIndex];
1904
- if (t && t.correct === undefined) {
1914
+ if (t && t.correct === undefined && !animationsDisabled) {
1905
1915
  const {onChange, maxNoOfSelections} = this.props;
1906
1916
  const selected = !t.selected;
1907
1917
  if (maxNoOfSelections === 1 && this.selectedCount() === 1) {
@@ -1941,7 +1951,7 @@ class TokenSelect extends React$3.Component {
1941
1951
  }
1942
1952
  __init4() {
1943
1953
  this.generateTokensInHtml = () => {
1944
- const {tokens, disabled, highlightChoices} = this.props;
1954
+ const {tokens, disabled, highlightChoices, animationsDisabled} = this.props;
1945
1955
  const selectedCount = this.selectedCount();
1946
1956
  const isLineBreak = text => text === '\n';
1947
1957
  const isNewParagraph = text => text === '\n\n';
@@ -1955,7 +1965,7 @@ class TokenSelect extends React$3.Component {
1955
1965
  if (isLineBreak(t.text)) {
1956
1966
  return finalAcc + '<br>';
1957
1967
  }
1958
- if (selectable && !disabled || showCorrectAnswer || t.selected) {
1968
+ if (selectable && !disabled || showCorrectAnswer || t.selected || animationsDisabled && t.predefined) {
1959
1969
  return finalAcc + renderToString(React$3.createElement(Token$1, {
1960
1970
  key: index,
1961
1971
  disabled: disabled,
@@ -1963,10 +1973,11 @@ class TokenSelect extends React$3.Component {
1963
1973
  ...t,
1964
1974
  selectable: selectable,
1965
1975
  highlight: highlightChoices,
1976
+ animationsDisabled: animationsDisabled,
1966
1977
  __self: this,
1967
1978
  __source: {
1968
1979
  fileName: _jsxFileName$2,
1969
- lineNumber: 119
1980
+ lineNumber: 125
1970
1981
  }
1971
1982
  }));
1972
1983
  } else {
@@ -1990,7 +2001,7 @@ class TokenSelect extends React$3.Component {
1990
2001
  __self: this,
1991
2002
  __source: {
1992
2003
  fileName: _jsxFileName$2,
1993
- lineNumber: 145
2004
+ lineNumber: 152
1994
2005
  }
1995
2006
  });
1996
2007
  }
@@ -2026,6 +2037,7 @@ class TextSelect extends React$2.Component {
2026
2037
  text: PropTypes$1.string.isRequired,
2027
2038
  className: PropTypes$1.string,
2028
2039
  highlightChoices: PropTypes$1.bool,
2040
+ animationsDisabled: PropTypes$1.bool,
2029
2041
  maxNoOfSelections: PropTypes$1.number
2030
2042
  };
2031
2043
  }
@@ -2043,7 +2055,7 @@ class TextSelect extends React$2.Component {
2043
2055
  };
2044
2056
  }
2045
2057
  render() {
2046
- const {text, disabled, tokens, selectedTokens, className, highlightChoices, maxNoOfSelections} = this.props;
2058
+ const {text, disabled, tokens, selectedTokens, className, highlightChoices, maxNoOfSelections, animationsDisabled} = this.props;
2047
2059
  const normalized = normalize(text, tokens);
2048
2060
  log$2('normalized: ', normalized);
2049
2061
  const prepped = normalized.map(t => {
@@ -2066,10 +2078,11 @@ class TextSelect extends React$2.Component {
2066
2078
  disabled: disabled,
2067
2079
  onChange: this.change,
2068
2080
  maxNoOfSelections: maxNoOfSelections,
2081
+ animationsDisabled: animationsDisabled,
2069
2082
  __self: this,
2070
2083
  __source: {
2071
2084
  fileName: _jsxFileName$1,
2072
- lineNumber: 63
2085
+ lineNumber: 65
2073
2086
  }
2074
2087
  });
2075
2088
  }
@@ -2132,7 +2145,9 @@ var generateModel = model => {
2132
2145
  ...token,
2133
2146
  text: tokenText,
2134
2147
  start: newStart,
2135
- end: newEnd
2148
+ end: newEnd,
2149
+ oldStart: token.start,
2150
+ oldEnd: token.end
2136
2151
  }];
2137
2152
  }, []);
2138
2153
  return {
@@ -2192,7 +2207,7 @@ class Main extends React$1.Component {
2192
2207
  }
2193
2208
  __init2() {
2194
2209
  this.correctAnswer = () => {
2195
- const {model} = this.props;
2210
+ const {model} = this.state;
2196
2211
  return model.tokens.filter(t => t.correct);
2197
2212
  };
2198
2213
  }
@@ -2206,13 +2221,13 @@ class Main extends React$1.Component {
2206
2221
  __self: this,
2207
2222
  __source: {
2208
2223
  fileName: _jsxFileName,
2209
- lineNumber: 63
2224
+ lineNumber: 61
2210
2225
  }
2211
2226
  }, model.teacherInstructions && hasText(model.teacherInstructions) && React$1.createElement(React$1.Fragment, {
2212
2227
  __self: this,
2213
2228
  __source: {
2214
2229
  fileName: _jsxFileName,
2215
- lineNumber: 66
2230
+ lineNumber: 64
2216
2231
  }
2217
2232
  }, !model.animationsDisabled ? React$1.createElement(Collapsible, {
2218
2233
  labels: {
@@ -2223,41 +2238,41 @@ class Main extends React$1.Component {
2223
2238
  __self: this,
2224
2239
  __source: {
2225
2240
  fileName: _jsxFileName,
2226
- lineNumber: 67
2241
+ lineNumber: 65
2227
2242
  }
2228
2243
  }, React$1.createElement(PreviewPrompt, {
2229
2244
  prompt: model.teacherInstructions,
2230
2245
  __self: this,
2231
2246
  __source: {
2232
2247
  fileName: _jsxFileName,
2233
- lineNumber: 71
2248
+ lineNumber: 69
2234
2249
  }
2235
2250
  })) : React$1.createElement(PreviewPrompt, {
2236
2251
  prompt: model.teacherInstructions,
2237
2252
  __self: this,
2238
2253
  __source: {
2239
2254
  fileName: _jsxFileName,
2240
- lineNumber: 74
2255
+ lineNumber: 72
2241
2256
  }
2242
2257
  }), React$1.createElement('br', {
2243
2258
  __self: this,
2244
2259
  __source: {
2245
2260
  fileName: _jsxFileName,
2246
- lineNumber: 76
2261
+ lineNumber: 74
2247
2262
  }
2248
2263
  })), React$1.createElement('div', {
2249
2264
  className: classes.prompt,
2250
2265
  __self: this,
2251
2266
  __source: {
2252
2267
  fileName: _jsxFileName,
2253
- lineNumber: 80
2268
+ lineNumber: 78
2254
2269
  }
2255
2270
  }, React$1.createElement(PreviewPrompt, {
2256
2271
  prompt: model.prompt,
2257
2272
  __self: this,
2258
2273
  __source: {
2259
2274
  fileName: _jsxFileName,
2260
- lineNumber: 81
2275
+ lineNumber: 79
2261
2276
  }
2262
2277
  })), !model.alwaysShowCorrect && React$1.createElement(CorrectAnswerToggle, {
2263
2278
  show: model.disabled && model.incorrect,
@@ -2266,7 +2281,7 @@ class Main extends React$1.Component {
2266
2281
  __self: this,
2267
2282
  __source: {
2268
2283
  fileName: _jsxFileName,
2269
- lineNumber: 84
2284
+ lineNumber: 82
2270
2285
  }
2271
2286
  }), React$1.createElement(TextSelect, {
2272
2287
  className: classes.textSelect,
@@ -2274,20 +2289,29 @@ class Main extends React$1.Component {
2274
2289
  text: model.text,
2275
2290
  tokens: model.tokens,
2276
2291
  selectedTokens: selectedTokens,
2277
- onChange: onSelectionChange,
2292
+ onChange: selection => {
2293
+ const newSelections = selection.map(select => {
2294
+ const token = model.tokens.find(({start, end}) => select.start === start && select.end === end);
2295
+ if (token) {
2296
+ return token;
2297
+ }
2298
+ return select;
2299
+ });
2300
+ onSelectionChange(newSelections);
2301
+ },
2278
2302
  highlightChoices: model.highlightChoices,
2279
2303
  maxNoOfSelections: model.maxSelections,
2280
2304
  animationsDisabled: model.animationsDisabled,
2281
2305
  __self: this,
2282
2306
  __source: {
2283
2307
  fileName: _jsxFileName,
2284
- lineNumber: 90
2308
+ lineNumber: 88
2285
2309
  }
2286
2310
  }), model.rationale && hasText(model.rationale) && React$1.createElement(React$1.Fragment, {
2287
2311
  __self: this,
2288
2312
  __source: {
2289
2313
  fileName: _jsxFileName,
2290
- lineNumber: 103
2314
+ lineNumber: 114
2291
2315
  }
2292
2316
  }, !model.animationsDisabled ? React$1.createElement(Collapsible, {
2293
2317
  labels: {
@@ -2299,21 +2323,21 @@ class Main extends React$1.Component {
2299
2323
  __self: this,
2300
2324
  __source: {
2301
2325
  fileName: _jsxFileName,
2302
- lineNumber: 104
2326
+ lineNumber: 115
2303
2327
  }
2304
2328
  }, React$1.createElement(PreviewPrompt, {
2305
2329
  prompt: model.rationale,
2306
2330
  __self: this,
2307
2331
  __source: {
2308
2332
  fileName: _jsxFileName,
2309
- lineNumber: 108
2333
+ lineNumber: 119
2310
2334
  }
2311
2335
  })) : React$1.createElement(PreviewPrompt, {
2312
2336
  prompt: model.rationale,
2313
2337
  __self: this,
2314
2338
  __source: {
2315
2339
  fileName: _jsxFileName,
2316
- lineNumber: 110
2340
+ lineNumber: 121
2317
2341
  }
2318
2342
  })), model.correctness && model.feedback && !showCorrectAnswer && React$1.createElement(Feedback, {
2319
2343
  correctness: model.correctness,
@@ -2321,7 +2345,7 @@ class Main extends React$1.Component {
2321
2345
  __self: this,
2322
2346
  __source: {
2323
2347
  fileName: _jsxFileName,
2324
- lineNumber: 115
2348
+ lineNumber: 126
2325
2349
  }
2326
2350
  }));
2327
2351
  }
@@ -2390,7 +2414,7 @@ class Stateful extends React$1.Component {
2390
2414
  __self: this,
2391
2415
  __source: {
2392
2416
  fileName: _jsxFileName,
2393
- lineNumber: 170
2417
+ lineNumber: 181
2394
2418
  }
2395
2419
  });
2396
2420
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "6.5.3-next.582+d26bd4152",
7
+ "version": "6.5.3-next.596+ab2673f22",
8
8
  "description": "",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
@@ -12,14 +12,14 @@
12
12
  "@pie-lib/correct-answer-toggle": "^2.3.34",
13
13
  "@pie-lib/math-rendering": "^2.3.12",
14
14
  "@pie-lib/render-ui": "^4.12.4",
15
- "@pie-lib/text-select": "^1.8.11",
15
+ "@pie-lib/text-select": "^1.8.12",
16
16
  "prop-types": "^15.6.1",
17
17
  "react": "^16.8.1",
18
18
  "react-dom": "^16.8.1"
19
19
  },
20
20
  "author": "",
21
21
  "license": "ISC",
22
- "gitHead": "d26bd4152569d60ab68c89825392b41893fc1e44",
22
+ "gitHead": "ab2673f2211251729b8a08404f7f236c7c162238",
23
23
  "scripts": {
24
24
  "postpublish": "../../scripts/postpublish"
25
25
  },