@pie-element/extended-text-entry 6.5.1 → 6.5.4-next.1014

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.
@@ -25,8 +25,8 @@ This element must be one of the following enum values:
25
25
  * `Grade 6 - 7`
26
26
  * `Grade 8 - HS`
27
27
  * `advanced-algebra`
28
- * `miscellaneous`
29
28
  * `geometry`
29
+ * `miscellaneous`
30
30
  * `statistics`
31
31
 
32
32
  # `feedback` (object)
@@ -52,6 +52,18 @@ Whether a control to allow insertion of math forumulas should be displayed
52
52
 
53
53
  Default: `false`
54
54
 
55
+ # `spanishInput` (boolean)
56
+
57
+ Whether a control to allow insertion of spanish characters should be displayed
58
+
59
+ Default: `false`
60
+
61
+ # `specialInput` (boolean)
62
+
63
+ Whether a control to allow insertion of special characters should be displayed
64
+
65
+ Default: `false`
66
+
55
67
  # `multiple` (boolean)
56
68
 
57
69
  Indicates if multiple parts are enabled
@@ -80,6 +92,14 @@ Indicates if Feedback is enabled
80
92
 
81
93
  Indicates if Rationale are enabled
82
94
 
95
+ # `spellCheckEnabled` (boolean, required)
96
+
97
+ Indicates if spellcheck is enabled for the author. Default value is true
98
+
99
+ # `playerSpellCheckEnabled` (boolean, required)
100
+
101
+ Indicates if spellcheck is enabled for the player. Default value is true
102
+
83
103
  # `studentInstructionsEnabled` (boolean, required)
84
104
 
85
105
  Indicates if Student Instructions are enabled
@@ -88,6 +108,24 @@ Indicates if Student Instructions are enabled
88
108
 
89
109
  Indicates if Teacher Instructions are enabled
90
110
 
111
+ # `toolbarEditorPosition` (string, enum)
112
+
113
+ This element must be one of the following enum values:
114
+
115
+ * `bottom`
116
+ * `top`
117
+
118
+ # `playersToolbarPosition` (string, enum)
119
+
120
+ Indicates the editor's toolbar position for the player, which can be 'bottom' or 'top'
121
+
122
+ This element must be one of the following enum values:
123
+
124
+ * `bottom`
125
+ * `top`
126
+
127
+ Default: `": 'bottom'"`
128
+
91
129
  # `id` (string, required)
92
130
 
93
131
  Identifier to identify the Pie Element in html markup, Must be unique within a pie item config.
@@ -131,6 +169,22 @@ Indicates the label for the item that has to be displayed in the Settings Panel
131
169
  Indicates the value of the item if it affects config-ui
132
170
  (eg.: if item is a switch and displaying an input on the config-ui depends on the switch value: on/off)
133
171
 
172
+ ## `ConfigureMaxImageDimensionsProp` (object)
173
+
174
+ Properties of the `ConfigureMaxImageDimensionsProp` object:
175
+
176
+ ### `teacherInstructions` (number)
177
+
178
+ Indicates the max dimension for images in teacher instructions
179
+
180
+ ### `prompt` (number)
181
+
182
+ Indicates the max dimension for images in prompt - this is also the default dimension for all other input fields if it's not specified
183
+
184
+ ### `rationale` (number)
185
+
186
+ Indicates the max dimension for images in rationale
187
+
134
188
  ## `Dimensions` (object)
135
189
 
136
190
  Properties of the `Dimensions` object:
@@ -158,4 +212,4 @@ This element must be one of the following enum values:
158
212
 
159
213
  ### `default` (string)
160
214
 
161
- Indicates the feedback value
215
+ Indicates the feedback value
package/lib/index.js CHANGED
@@ -5,9 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.textContent = textContent;
9
- exports.isComplete = isComplete;
10
8
  exports["default"] = void 0;
9
+ exports.isComplete = isComplete;
10
+ exports.textContent = textContent;
11
11
 
12
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
13
 
@@ -29,13 +29,15 @@ var _react = _interopRequireDefault(require("react"));
29
29
 
30
30
  var _reactDom = _interopRequireDefault(require("react-dom"));
31
31
 
32
+ var _mathRendering = require("@pie-lib/math-rendering");
33
+
32
34
  var _piePlayerEvents = require("@pie-framework/pie-player-events");
33
35
 
34
36
  var _debug = _interopRequireDefault(require("debug"));
35
37
 
36
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
37
39
 
38
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
41
 
40
42
  var log = (0, _debug["default"])('@pie-ui:extended-text-entry');
41
43
  var domParser = (typeof window === "undefined" ? "undefined" : (0, _typeof2["default"])(window)) !== undefined ? new DOMParser() : {
@@ -89,6 +91,9 @@ var RootExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
89
91
  }
90
92
  }, {
91
93
  key: "session",
94
+ get: function get() {
95
+ return this._session;
96
+ },
92
97
  set: function set(s) {
93
98
  this._session = s;
94
99
  this.render();
@@ -107,6 +112,8 @@ var RootExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
107
112
  }, {
108
113
  key: "render",
109
114
  value: function render() {
115
+ var _this2 = this;
116
+
110
117
  if (this._model && this._session) {
111
118
  var elem = /*#__PURE__*/_react["default"].createElement(_main["default"], {
112
119
  model: this._model,
@@ -114,7 +121,9 @@ var RootExtendedTextEntry = /*#__PURE__*/function (_HTMLElement) {
114
121
  onChange: this.handleChange.bind(this)
115
122
  });
116
123
 
117
- _reactDom["default"].render(elem, this);
124
+ _reactDom["default"].render(elem, this, function () {
125
+ (0, _mathRendering.renderMath)(_this2);
126
+ });
118
127
  }
119
128
  }
120
129
  }]);
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","domParser","window","undefined","DOMParser","parseFromString","v","textContent","value","document","body","err","isComplete","tc","out","length","RootExtendedTextEntry","_model","_session","m","dispatchEvent","ModelSetEvent","tagName","toLowerCase","render","s","SessionChangedEvent","elem","React","createElement","Main","model","session","onChange","handleChange","bind","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAIA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,6BAAN,CAAZ;AAEA,IAAMC,SAAS,GACb,QAAOC,MAAP,0DAAOA,MAAP,OAAkBC,SAAlB,GAA8B,IAAIC,SAAJ,EAA9B,GAAgD;AAAEC,EAAAA,eAAe,EAAE,yBAAAC,CAAC;AAAA,WAAIA,CAAJ;AAAA;AAApB,CADlD;;AAGO,SAASC,WAAT,CAAqBC,KAArB,EAA4B;AACjC,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAOL,SAAP;AACD;;AACD,MAAI;AACF,QAAMM,QAAQ,GAAGR,SAAS,CAACI,eAAV,CAA0BG,KAA1B,EAAiC,WAAjC,CAAjB;AACA,QAAMD,YAAW,GAAGE,QAAQ,CAACC,IAAT,CAAcH,WAAlC;AACA,WAAOA,YAAP;AACD,GAJD,CAIE,OAAOI,GAAP,EAAY;AACZX,IAAAA,GAAG,CAAC,kCAAD,EAAqCQ,KAArC,CAAH;AACA,WAAOA,KAAP;AACD;AACF;;AAEM,SAASI,UAAT,CAAoBJ,KAApB,EAA2B;AAChC,MAAMK,EAAE,GAAGN,WAAW,CAACC,KAAD,CAAtB;AACA,MAAMM,GAAG,GAAGD,EAAE,KAAKV,SAAP,IAAoBU,EAAE,CAACE,MAAH,GAAY,CAA5C;AACA,SAAOD,GAAP;AACD;;IAEoBE,qB;;;;;AACnB,mCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,IAAhB;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKF,MAAL,GAAcE,CAAd;AACA,WAAKC,aAAL,CACE,IAAIC,8BAAJ,CAAkB,KAAKC,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAA9C,EAAqD,CAAC,CAAC,KAAKN,MAA5D,CADF;AAIA,WAAKO,MAAL;AACD;;;SAED,aAAYC,CAAZ,EAAe;AACb,WAAKP,QAAL,GAAgBO,CAAhB;AACA,WAAKD,MAAL;AACD;;;WAED,sBAAahB,KAAb,EAAoB;AAClB,WAAKU,QAAL,CAAcV,KAAd,GAAsBA,KAAtB;AAEA,WAAKY,aAAL,CACE,IAAIM,oCAAJ,CAAwB,KAAKJ,OAAL,CAAaC,WAAb,EAAxB,EAAoDX,UAAU,CAACJ,KAAD,CAA9D,CADF;AAGD;;;WAED,6BAAoB;AAClB,WAAKgB,MAAL;AACD;;;WAED,kBAAS;AACP,UAAI,KAAKP,MAAL,IAAe,KAAKC,QAAxB,EAAkC;AAChC,YAAIS,IAAI,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKd,MADuB;AAEnCe,UAAAA,OAAO,EAAE,KAAKd,QAFqB;AAGnCe,UAAAA,QAAQ,EAAE,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB;AAHyB,SAA1B,CAAX;;AAKAC,6BAASZ,MAAT,CAAgBG,IAAhB,EAAsB,IAAtB;AACD;AACF;;;kDA1CgDU,W","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport {\n ModelSetEvent,\n SessionChangedEvent\n} from '@pie-framework/pie-player-events';\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:extended-text-entry');\n\nconst domParser =\n typeof window !== undefined ? new DOMParser() : { parseFromString: v => v };\n\nexport function textContent(value) {\n if (typeof value !== 'string') {\n return undefined;\n }\n try {\n const document = domParser.parseFromString(value, 'text/html');\n const textContent = document.body.textContent;\n return textContent;\n } catch (err) {\n log('tried to parse as dom and failed', value);\n return value;\n }\n}\n\nexport function isComplete(value) {\n const tc = textContent(value);\n const out = tc !== undefined && tc.length > 0;\n return out;\n}\n\nexport default class RootExtendedTextEntry extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n }\n\n set model(m) {\n this._model = m;\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model)\n );\n\n this.render();\n }\n\n set session(s) {\n this._session = s;\n this.render();\n }\n\n handleChange(value) {\n this._session.value = value;\n\n this.dispatchEvent(\n new SessionChangedEvent(this.tagName.toLowerCase(), isComplete(value))\n );\n }\n\n connectedCallback() {\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n let elem = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onChange: this.handleChange.bind(this)\n });\n ReactDOM.render(elem, this);\n }\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","domParser","window","undefined","DOMParser","parseFromString","v","textContent","value","document","body","err","isComplete","tc","out","length","RootExtendedTextEntry","_model","_session","m","dispatchEvent","ModelSetEvent","tagName","toLowerCase","render","s","SessionChangedEvent","elem","React","createElement","Main","model","session","onChange","handleChange","bind","ReactDOM","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AAIA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,6BAAN,CAAZ;AAEA,IAAMC,SAAS,GACb,QAAOC,MAAP,0DAAOA,MAAP,OAAkBC,SAAlB,GAA8B,IAAIC,SAAJ,EAA9B,GAAgD;AAAEC,EAAAA,eAAe,EAAE,yBAAAC,CAAC;AAAA,WAAIA,CAAJ;AAAA;AAApB,CADlD;;AAGO,SAASC,WAAT,CAAqBC,KAArB,EAA4B;AACjC,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B;AAC7B,WAAOL,SAAP;AACD;;AACD,MAAI;AACF,QAAMM,QAAQ,GAAGR,SAAS,CAACI,eAAV,CAA0BG,KAA1B,EAAiC,WAAjC,CAAjB;AACA,QAAMD,YAAW,GAAGE,QAAQ,CAACC,IAAT,CAAcH,WAAlC;AACA,WAAOA,YAAP;AACD,GAJD,CAIE,OAAOI,GAAP,EAAY;AACZX,IAAAA,GAAG,CAAC,kCAAD,EAAqCQ,KAArC,CAAH;AACA,WAAOA,KAAP;AACD;AACF;;AAEM,SAASI,UAAT,CAAoBJ,KAApB,EAA2B;AAChC,MAAMK,EAAE,GAAGN,WAAW,CAACC,KAAD,CAAtB;AACA,MAAMM,GAAG,GAAGD,EAAE,KAAKV,SAAP,IAAoBU,EAAE,CAACE,MAAH,GAAY,CAA5C;AACA,SAAOD,GAAP;AACD;;IAEoBE,qB;;;;;AACnB,mCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,IAAhB;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKF,MAAL,GAAcE,CAAd;AACA,WAAKC,aAAL,CACE,IAAIC,8BAAJ,CAAkB,KAAKC,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAA9C,EAAqD,CAAC,CAAC,KAAKN,MAA5D,CADF;AAIA,WAAKO,MAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAKN,QAAZ;AACD,K;SAPD,aAAYO,CAAZ,EAAe;AACb,WAAKP,QAAL,GAAgBO,CAAhB;AACA,WAAKD,MAAL;AACD;;;WAMD,sBAAahB,KAAb,EAAoB;AAClB,WAAKU,QAAL,CAAcV,KAAd,GAAsBA,KAAtB;AAEA,WAAKY,aAAL,CACE,IAAIM,oCAAJ,CAAwB,KAAKJ,OAAL,CAAaC,WAAb,EAAxB,EAAoDX,UAAU,CAACJ,KAAD,CAA9D,CADF;AAGD;;;WAED,6BAAoB;AAClB,WAAKgB,MAAL;AACD;;;WAED,kBAAS;AAAA;;AACP,UAAI,KAAKP,MAAL,IAAe,KAAKC,QAAxB,EAAkC;AAChC,YAAIS,IAAI,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCC,UAAAA,KAAK,EAAE,KAAKd,MADuB;AAEnCe,UAAAA,OAAO,EAAE,KAAKd,QAFqB;AAGnCe,UAAAA,QAAQ,EAAE,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB;AAHyB,SAA1B,CAAX;;AAMAC,6BAASZ,MAAT,CAAgBG,IAAhB,EAAsB,IAAtB,EAA4B,YAAM;AAChC,yCAAW,MAAX;AACD,SAFD;AAGD;AACF;;;kDAjDgDU,W","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport {\n ModelSetEvent,\n SessionChangedEvent\n} from '@pie-framework/pie-player-events';\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:extended-text-entry');\n\nconst domParser =\n typeof window !== undefined ? new DOMParser() : { parseFromString: v => v };\n\nexport function textContent(value) {\n if (typeof value !== 'string') {\n return undefined;\n }\n try {\n const document = domParser.parseFromString(value, 'text/html');\n const textContent = document.body.textContent;\n return textContent;\n } catch (err) {\n log('tried to parse as dom and failed', value);\n return value;\n }\n}\n\nexport function isComplete(value) {\n const tc = textContent(value);\n const out = tc !== undefined && tc.length > 0;\n return out;\n}\n\nexport default class RootExtendedTextEntry extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n }\n\n set model(m) {\n this._model = m;\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), false, !!this._model)\n );\n\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 handleChange(value) {\n this._session.value = value;\n\n this.dispatchEvent(\n new SessionChangedEvent(this.tagName.toLowerCase(), isComplete(value))\n );\n }\n\n connectedCallback() {\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n let elem = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onChange: this.handleChange.bind(this)\n });\n\n ReactDOM.render(elem, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
package/lib/main.js CHANGED
@@ -41,14 +41,13 @@ var _mathRendering = require("@pie-lib/math-rendering");
41
41
 
42
42
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
43
43
 
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
44
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
45
 
46
46
  var log = (0, _debug["default"])('@pie-ui:extended-text-entry');
47
47
 
48
48
  var style = function style(theme) {
49
49
  return {
50
50
  main: {
51
- padding: '10px 20px',
52
51
  backgroundColor: _renderUi.color.background(),
53
52
  color: _renderUi.color.text()
54
53
  },
@@ -81,13 +80,6 @@ var Main = /*#__PURE__*/function (_React$Component) {
81
80
  }
82
81
 
83
82
  (0, _createClass2["default"])(Main, [{
84
- key: "componentDidUpdate",
85
- value: function componentDidUpdate() {
86
- if (this.containerRef) {
87
- (0, _mathRendering.renderMath)(this.containerRef);
88
- }
89
- }
90
- }, {
91
83
  key: "render",
92
84
  value: function render() {
93
85
  var _this2 = this;
@@ -100,7 +92,12 @@ var Main = /*#__PURE__*/function (_React$Component) {
100
92
  disabled = model.disabled,
101
93
  feedback = model.feedback,
102
94
  teacherInstructions = model.teacherInstructions,
103
- mathInput = model.mathInput;
95
+ mathInput = model.mathInput,
96
+ spanishInput = model.spanishInput,
97
+ specialInput = model.specialInput,
98
+ animationsDisabled = model.animationsDisabled,
99
+ playersToolbarPosition = model.playersToolbarPosition,
100
+ spellCheckEnabled = model.spellCheckEnabled;
104
101
  var value = session.value;
105
102
 
106
103
  var _ref = dimensions || {},
@@ -108,28 +105,57 @@ var Main = /*#__PURE__*/function (_React$Component) {
108
105
  height = _ref.height;
109
106
 
110
107
  var maxHeight = '40vh';
108
+ var toolbarOpts = {};
111
109
  log('[render] disabled? ', disabled);
110
+
111
+ var teacherInstructionsDiv = /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
112
+ defaultClassName: "teacher-instructions",
113
+ prompt: teacherInstructions
114
+ });
115
+
116
+ switch (playersToolbarPosition) {
117
+ case 'top':
118
+ toolbarOpts.position = 'top';
119
+ break;
120
+
121
+ default:
122
+ toolbarOpts.position = 'bottom';
123
+ break;
124
+ }
125
+
126
+ var languageCharactersProps = [];
127
+
128
+ if (spanishInput) {
129
+ languageCharactersProps.push({
130
+ language: 'spanish'
131
+ });
132
+ }
133
+
134
+ if (specialInput) {
135
+ languageCharactersProps.push({
136
+ language: 'special'
137
+ });
138
+ }
139
+
112
140
  return /*#__PURE__*/_react["default"].createElement("div", {
113
141
  className: classes.main,
114
142
  ref: function ref(_ref2) {
115
143
  _this2.containerRef = _ref2;
116
144
  }
117
- }, teacherInstructions && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
145
+ }, teacherInstructions && /*#__PURE__*/_react["default"].createElement("div", null, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
118
146
  labels: {
119
147
  hidden: 'Show Teacher Instructions',
120
148
  visible: 'Hide Teacher Instructions'
121
149
  },
122
150
  className: classes.collapsible
123
- }, /*#__PURE__*/_react["default"].createElement("div", {
124
- dangerouslySetInnerHTML: {
125
- __html: teacherInstructions
126
- }
127
- })), /*#__PURE__*/_react["default"].createElement("br", null)), model.prompt && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
128
- className: classes.prompt,
129
- dangerouslySetInnerHTML: {
130
- __html: model.prompt
131
- }
132
- }), /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
151
+ }, teacherInstructionsDiv) : teacherInstructionsDiv, /*#__PURE__*/_react["default"].createElement("br", null)), model.prompt && /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
152
+ component: 'span',
153
+ className: classes.prompt
154
+ }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
155
+ defaultClassName: "prompt",
156
+ prompt: model.prompt
157
+ })), /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
158
+ className: "response-area-editor",
133
159
  onChange: this.changeSession,
134
160
  markup: value || '',
135
161
  width: width && width.toString(),
@@ -137,6 +163,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
137
163
  maxHeight: maxHeight,
138
164
  disabled: disabled,
139
165
  highlightShape: true,
166
+ toolbarOpts: toolbarOpts,
167
+ spellCheck: spellCheckEnabled,
140
168
  pluginProps: {
141
169
  math: {
142
170
  disabled: !mathInput,
@@ -150,7 +178,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
150
178
  audio: {
151
179
  disabled: true
152
180
  }
153
- }
181
+ },
182
+ languageCharactersProps: languageCharactersProps
154
183
  }), feedback && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement(_renderUi.Feedback, {
155
184
  correctness: "correct",
156
185
  feedback: feedback
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["log","style","theme","main","padding","backgroundColor","color","background","text","prompt","width","marginBottom","spacing","unit","fontSize","Main","props","onChange","containerRef","model","classes","session","dimensions","disabled","feedback","teacherInstructions","mathInput","value","height","maxHeight","ref","hidden","visible","collapsible","__html","changeSession","toString","math","customKeys","keypadMode","equationEditor","controlledKeypadMode","video","audio","React","Component","PropTypes","func","isRequired","object","shape","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditableHTML from '@pie-lib/editable-html';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport debug from 'debug';\nimport debounce from 'lodash/debounce';\nimport { color, Feedback, Collapsible } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('@pie-ui:extended-text-entry');\n\nconst style = theme => ({\n main: {\n padding: '10px 20px',\n backgroundColor: color.background(),\n color: color.text()\n },\n prompt: {\n width: '100%',\n color: color.text(),\n marginBottom: theme.spacing.unit * 2,\n fontSize: 'inherit'\n }\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n model: PropTypes.object,\n classes: PropTypes.object.isRequired,\n session: PropTypes.shape({\n value: PropTypes.string\n }).isRequired\n };\n\n componentDidUpdate() {\n if (this.containerRef) {\n renderMath(this.containerRef);\n }\n }\n\n changeSession = debounce(this.props.onChange, 1500);\n\n render() {\n const { model, classes, session } = this.props;\n const { dimensions, disabled, feedback, teacherInstructions, mathInput } = model;\n const { value } = session;\n const { width, height } = dimensions || {};\n const maxHeight = '40vh';\n log('[render] disabled? ', disabled);\n\n return (\n <div\n className={classes.main}\n ref={ref => {\n this.containerRef = ref;\n }}\n >\n {\n teacherInstructions && (\n <div>\n <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className={classes.collapsible}\n >\n <div dangerouslySetInnerHTML={{ __html: teacherInstructions }}/>\n </Collapsible>\n <br />\n </div>\n )\n }\n {model.prompt && (\n <Typography\n className={classes.prompt}\n dangerouslySetInnerHTML={{ __html: model.prompt }}\n />\n )}\n <EditableHTML\n onChange={this.changeSession}\n markup={value || ''}\n width={width && width.toString()}\n minHeight={height && height.toString()}\n maxHeight={maxHeight}\n disabled={disabled}\n highlightShape={true}\n pluginProps={{\n math: {\n disabled: !mathInput,\n customKeys: this.props.model.customKeys,\n keypadMode: this.props.model.equationEditor,\n controlledKeypadMode: false\n },\n video: {\n disabled: true\n },\n audio: {\n disabled: true\n }\n }}\n />\n {feedback && (\n <div>\n <br />\n <Feedback correctness=\"correct\" feedback={feedback}/>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default withStyles(style)(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["log","style","theme","main","backgroundColor","color","background","text","prompt","width","marginBottom","spacing","unit","fontSize","Main","props","onChange","model","classes","session","dimensions","disabled","feedback","teacherInstructions","mathInput","spanishInput","specialInput","animationsDisabled","playersToolbarPosition","spellCheckEnabled","value","height","maxHeight","toolbarOpts","teacherInstructionsDiv","position","languageCharactersProps","push","language","ref","containerRef","hidden","visible","collapsible","changeSession","toString","math","customKeys","keypadMode","equationEditor","controlledKeypadMode","video","audio","React","Component","PropTypes","func","isRequired","object","shape","string"],"mappings":"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","sourcesContent":["import React from 'react';\nimport EditableHTML from '@pie-lib/editable-html';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport debug from 'debug';\nimport debounce from 'lodash/debounce';\nimport {color, Feedback, Collapsible, PreviewPrompt} from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('@pie-ui:extended-text-entry');\n\nconst style = theme => ({\n main: {\n backgroundColor: color.background(),\n color: color.text()\n },\n prompt: {\n width: '100%',\n color: color.text(),\n marginBottom: theme.spacing.unit * 2,\n fontSize: 'inherit'\n }\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n model: PropTypes.object,\n classes: PropTypes.object.isRequired,\n session: PropTypes.shape({\n value: PropTypes.string\n }).isRequired\n };\n\n changeSession = debounce(this.props.onChange, 1500);\n\n render() {\n const { model, classes, session } = this.props;\n const {\n dimensions,\n disabled,\n feedback,\n teacherInstructions,\n mathInput,\n spanishInput,\n specialInput,\n animationsDisabled,\n playersToolbarPosition,\n spellCheckEnabled\n } = model;\n const { value } = session;\n const { width, height } = dimensions || {};\n const maxHeight = '40vh';\n const toolbarOpts = {};\n\n log('[render] disabled? ', disabled);\n\n const teacherInstructionsDiv = <PreviewPrompt defaultClassName=\"teacher-instructions\" prompt={teacherInstructions} />;\n\n switch (playersToolbarPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n const languageCharactersProps = [];\n\n if (spanishInput) {\n languageCharactersProps.push({ language: 'spanish' });\n }\n\n if (specialInput) {\n languageCharactersProps.push({ language: 'special' });\n }\n\n return (\n <div\n className={classes.main}\n ref={ref => {\n this.containerRef = ref;\n }}\n >\n {\n teacherInstructions && (\n <div>\n {!animationsDisabled ? (\n <Collapsible\n labels={{hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions'}}\n className={classes.collapsible}\n >\n {teacherInstructionsDiv}\n </Collapsible>\n ) : teacherInstructionsDiv }\n <br/>\n </div>\n )\n }\n {model.prompt && (\n <Typography\n component={'span'}\n className={classes.prompt}\n >\n <PreviewPrompt defaultClassName=\"prompt\" prompt={model.prompt} />\n </Typography>\n )}\n <EditableHTML\n className=\"response-area-editor\"\n onChange={this.changeSession}\n markup={value || ''}\n width={width && width.toString()}\n minHeight={height && height.toString()}\n maxHeight={maxHeight}\n disabled={disabled}\n highlightShape={true}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n pluginProps={{\n math: {\n disabled: !mathInput,\n customKeys: this.props.model.customKeys,\n keypadMode: this.props.model.equationEditor,\n controlledKeypadMode: false\n },\n video: {\n disabled: true\n },\n audio: {\n disabled: true\n }\n }}\n languageCharactersProps={languageCharactersProps}\n />\n {feedback && (\n <div>\n <br />\n <Feedback correctness=\"correct\" feedback={feedback}/>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default withStyles(style)(Main);\n"],"file":"main.js"}
package/lib/print.js ADDED
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
23
+
24
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
+
26
+ var _react = _interopRequireDefault(require("react"));
27
+
28
+ var _reactDom = _interopRequireDefault(require("react-dom"));
29
+
30
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
31
+
32
+ var _main = _interopRequireDefault(require("./main"));
33
+
34
+ var _mathRendering = require("@pie-lib/math-rendering");
35
+
36
+ var _debug = _interopRequireDefault(require("debug"));
37
+
38
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
+
40
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
+
42
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
+
44
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
45
+
46
+ var log = (0, _debug["default"])('pie-element:extended-text-entry:print');
47
+
48
+ var preparePrintModel = function preparePrintModel(model, opts) {
49
+ var instr = opts.role === 'instructor';
50
+ model.prompt = model.promptEnabled !== false ? model.prompt : undefined;
51
+ model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;
52
+ model.showTeacherInstructions = instr;
53
+ model.mode = instr ? 'evaluate' : model.mode;
54
+ var defaultDimensions = {
55
+ height: 100,
56
+ width: 500
57
+ };
58
+ model.dimensions = _objectSpread(_objectSpread({}, defaultDimensions), model.dimensions);
59
+ model.disabled = true;
60
+ model.feedback = undefined;
61
+ model.animationsDisabled = true;
62
+ return model;
63
+ };
64
+
65
+ var ExtendedTextEntryPrint = /*#__PURE__*/function (_HTMLElement) {
66
+ (0, _inherits2["default"])(ExtendedTextEntryPrint, _HTMLElement);
67
+
68
+ var _super = _createSuper(ExtendedTextEntryPrint);
69
+
70
+ function ExtendedTextEntryPrint() {
71
+ var _this;
72
+
73
+ (0, _classCallCheck2["default"])(this, ExtendedTextEntryPrint);
74
+ _this = _super.call(this);
75
+ _this._options = null;
76
+ _this._model = null;
77
+ _this._session = [];
78
+ _this._rerender = (0, _debounce["default"])(function () {
79
+ if (_this._model && _this._session) {
80
+ var printModel = preparePrintModel(_this._model, _this._options);
81
+
82
+ var element = _this._options && /*#__PURE__*/_react["default"].createElement(_main["default"], {
83
+ model: printModel,
84
+ session: {},
85
+ onChange: function onChange() {}
86
+ });
87
+
88
+ _reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
89
+ log('render complete - render math');
90
+ (0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
91
+ });
92
+ } else {
93
+ log('skip');
94
+ }
95
+ }, 50, {
96
+ leading: false,
97
+ trailing: true
98
+ });
99
+ return _this;
100
+ }
101
+
102
+ (0, _createClass2["default"])(ExtendedTextEntryPrint, [{
103
+ key: "options",
104
+ set: function set(o) {
105
+ this._options = o;
106
+ }
107
+ }, {
108
+ key: "model",
109
+ set: function set(s) {
110
+ this._model = s;
111
+
112
+ this._rerender();
113
+ }
114
+ }, {
115
+ key: "connectedCallback",
116
+ value: function connectedCallback() {}
117
+ }]);
118
+ return ExtendedTextEntryPrint;
119
+ }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
120
+
121
+ exports["default"] = ExtendedTextEntryPrint;
122
+ //# sourceMappingURL=print.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","prompt","promptEnabled","undefined","teacherInstructions","teacherInstructionsEnabled","showTeacherInstructions","mode","defaultDimensions","height","width","dimensions","disabled","feedback","animationsDisabled","ExtendedTextEntryPrint","_options","_model","_session","_rerender","printModel","element","React","createElement","Main","session","onChange","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,uCAAN,CAAZ;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAL,KAAc,YAA5B;AAEAH,EAAAA,KAAK,CAACI,MAAN,GAAeJ,KAAK,CAACK,aAAN,KAAwB,KAAxB,GAAgCL,KAAK,CAACI,MAAtC,GAA+CE,SAA9D;AACAN,EAAAA,KAAK,CAACO,mBAAN,GAA4BL,KAAK,IAAIF,KAAK,CAACQ,0BAAN,KAAqC,KAA9C,GAAsDR,KAAK,CAACO,mBAA5D,GAAkFD,SAA9G;AACAN,EAAAA,KAAK,CAACS,uBAAN,GAAgCP,KAAhC;AACAF,EAAAA,KAAK,CAACU,IAAN,GAAaR,KAAK,GAAG,UAAH,GAAgBF,KAAK,CAACU,IAAxC;AAEA,MAAMC,iBAAiB,GAAG;AAAEC,IAAAA,MAAM,EAAE,GAAV;AAAeC,IAAAA,KAAK,EAAE;AAAtB,GAA1B;AAEAb,EAAAA,KAAK,CAACc,UAAN,mCACKH,iBADL,GAEKX,KAAK,CAACc,UAFX;AAKAd,EAAAA,KAAK,CAACe,QAAN,GAAiB,IAAjB;AACAf,EAAAA,KAAK,CAACgB,QAAN,GAAiBV,SAAjB;AACAN,EAAAA,KAAK,CAACiB,kBAAN,GAA2B,IAA3B;AAEA,SAAOjB,KAAP;AACD,CApBD;;IAsBqBkB,sB;;;;;AACnB,oCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKF,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAME,UAAU,GAAGxB,iBAAiB,CAAC,MAAKqB,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMK,OAAO,GACX,MAAKL,QAAL,iBACAM,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxB3B,UAAAA,KAAK,EAAEuB,UADiB;AAExBK,UAAAA,OAAO,EAAE,EAFe;AAGxBC,UAAAA,QAAQ,EAAE,oBAAM,CAAE;AAHM,SAA1B,CAFF;;AASAC,6BAASC,MAAT,CAAgBP,OAAhB,kDAA+B,YAAM;AACnC1B,UAAAA,GAAG,CAAC,+BAAD,CAAH;AACA;AACD,SAHD;AAID,OAhBD,MAgBO;AACLA,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KArBc,EAsBf,EAtBe,EAuBf;AAAEkC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KAvBe,CAAjB;AALY;AA8Bb;;;;SACD,aAAYC,CAAZ,EAAe;AACb,WAAKf,QAAL,GAAgBe,CAAhB;AACD;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKf,MAAL,GAAce,CAAd;;AACA,WAAKb,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDAzC4Bc,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport debug from 'debug';\n\nconst log = debug('pie-element:extended-text-entry:print');\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.showTeacherInstructions = instr;\n model.mode = instr ? 'evaluate' : model.mode;\n\n const defaultDimensions = { height: 100, width: 500 };\n\n model.dimensions = {\n ...defaultDimensions,\n ...model.dimensions\n };\n\n model.disabled = true;\n model.feedback = undefined;\n model.animationsDisabled = true;\n\n return model;\n};\n\nexport default class ExtendedTextEntryPrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: {},\n onChange: () => {}\n });\n\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true }\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/extended-text-entry",
3
- "version": "6.5.1",
3
+ "version": "6.5.4-next.1014+b002895e2",
4
4
  "description": "",
5
5
  "repository": "pie-framework/pie-elements",
6
6
  "publishConfig": {
@@ -12,19 +12,24 @@
12
12
  "@material-ui/core": "^3.9.2",
13
13
  "@material-ui/icons": "^3.0.2",
14
14
  "@pie-framework/pie-player-events": "^0.1.0",
15
- "@pie-lib/editable-html": "^7.16.19",
16
- "@pie-lib/math-rendering": "^2.3.8",
17
- "@pie-lib/render-ui": "^4.11.7",
15
+ "@pie-lib/editable-html": "^7.22.6",
16
+ "@pie-lib/math-rendering": "^2.4.3",
17
+ "@pie-lib/render-ui": "^4.12.9",
18
+ "classnames": "^2.2.5",
18
19
  "debug": "^4.1.1",
19
20
  "lodash.throttle": "^4.1.1",
20
21
  "prop-types": "^15.6.1",
21
22
  "react": "^16.8.1",
22
23
  "react-dom": "^16.8.1"
23
24
  },
24
- "gitHead": "c8dbb31e012aaa666c88f089238e86992f444986",
25
+ "gitHead": "b002895e29dec43623f303053f9a2bbefe276040",
25
26
  "scripts": {
26
27
  "postpublish": "../../scripts/postpublish"
27
28
  },
28
29
  "main": "lib/index.js",
29
- "module": "src/index.js"
30
+ "module": "src/index.js",
31
+ "exports": {
32
+ ".": "./src/index.js",
33
+ "./print": "./src/print.js"
34
+ }
30
35
  }