@pie-element/select-text 13.1.1-next.11 → 13.1.2-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/defaultConfiguration.d.ts +179 -0
  4. package/dist/author/defaultConfiguration.js +141 -0
  5. package/dist/author/design.d.ts +38 -0
  6. package/dist/author/design.js +264 -0
  7. package/dist/author/index.d.ts +27 -0
  8. package/dist/author/index.js +74 -0
  9. package/dist/author/utils.d.ts +10 -0
  10. package/dist/author/utils.js +50 -0
  11. package/dist/browser/Check-CXevxzJJ.js +9941 -0
  12. package/dist/browser/Check-CXevxzJJ.js.map +1 -0
  13. package/dist/browser/_getTag-x1UozeM0.js +381 -0
  14. package/dist/browser/_getTag-x1UozeM0.js.map +1 -0
  15. package/dist/browser/author/index.js +41566 -0
  16. package/dist/browser/author/index.js.map +1 -0
  17. package/dist/browser/controller/index.js +195 -0
  18. package/dist/browser/controller/index.js.map +1 -0
  19. package/dist/browser/debounce-CUpLfqAu.js +86 -0
  20. package/dist/browser/debounce-CUpLfqAu.js.map +1 -0
  21. package/dist/browser/delivery/index.js +89 -0
  22. package/dist/browser/delivery/index.js.map +1 -0
  23. package/dist/browser/isEmpty-Bsms1e2W.js +16 -0
  24. package/dist/browser/isEmpty-Bsms1e2W.js.map +1 -0
  25. package/dist/browser/main-4aycOoI5.js +4804 -0
  26. package/dist/browser/main-4aycOoI5.js.map +1 -0
  27. package/dist/browser/print/index.js +42 -0
  28. package/dist/browser/print/index.js.map +1 -0
  29. package/dist/browser/select-text.css +2 -0
  30. package/dist/controller/defaults.d.ts +27 -0
  31. package/dist/controller/defaults.js +21 -0
  32. package/dist/controller/index.d.ts +25 -0
  33. package/dist/controller/index.js +121 -0
  34. package/dist/delivery/index.d.ts +19 -0
  35. package/dist/delivery/index.js +60 -0
  36. package/dist/delivery/main.d.ts +34 -0
  37. package/dist/delivery/main.js +136 -0
  38. package/dist/delivery/utils.d.ts +10 -0
  39. package/dist/delivery/utils.js +47 -0
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.iife.d.ts +8 -0
  42. package/dist/index.iife.js +167 -0
  43. package/dist/index.js +2 -0
  44. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +6 -0
  45. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +16 -0
  46. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +16 -0
  47. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +6 -0
  48. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +16 -0
  49. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +6 -0
  50. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +6 -0
  51. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +14 -0
  52. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +5 -0
  53. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +5 -0
  54. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +6 -0
  55. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +7 -0
  56. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +10 -0
  57. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
  58. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +7 -0
  59. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +10 -0
  60. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +8 -0
  61. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +8 -0
  62. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +8 -0
  63. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +12 -0
  64. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +57 -0
  65. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +14 -0
  66. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  67. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +10 -0
  68. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +9 -0
  69. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +9 -0
  70. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +11 -0
  71. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +9 -0
  72. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
  73. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +12 -0
  74. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +13 -0
  75. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +7 -0
  76. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTrim.js +8 -0
  77. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +8 -0
  78. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  79. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +10 -0
  80. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +8 -0
  81. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +8 -0
  82. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +8 -0
  83. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  84. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +8 -0
  85. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +14 -0
  86. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +8 -0
  87. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +8 -0
  88. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +5 -0
  89. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +10 -0
  90. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +4 -0
  91. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +9 -0
  92. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +9 -0
  93. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +8 -0
  94. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +9 -0
  95. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +5 -0
  96. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +14 -0
  97. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +10 -0
  98. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +11 -0
  99. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +23 -0
  100. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +6 -0
  101. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +7 -0
  102. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +7 -0
  103. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +13 -0
  104. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +9 -0
  105. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +9 -0
  106. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +8 -0
  107. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +33 -0
  108. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +9 -0
  109. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +8 -0
  110. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +7 -0
  111. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +11 -0
  112. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +8 -0
  113. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +6 -0
  114. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +9 -0
  115. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +8 -0
  116. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +7 -0
  117. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +8 -0
  118. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +13 -0
  119. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  120. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +7 -0
  121. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +7 -0
  122. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +8 -0
  123. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +5 -0
  124. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +5 -0
  125. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +8 -0
  126. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +9 -0
  127. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +7 -0
  128. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +8 -0
  129. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +5 -0
  130. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +7 -0
  131. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +7 -0
  132. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +6 -0
  133. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +6 -0
  134. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +16 -0
  135. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +15 -0
  136. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_trimmedEndIndex.js +8 -0
  137. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +8 -0
  138. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/debounce.js +50 -0
  139. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +6 -0
  140. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +10 -0
  141. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +4 -0
  142. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +8 -0
  143. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +6 -0
  144. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +21 -0
  145. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +11 -0
  146. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +7 -0
  147. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +7 -0
  148. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +7 -0
  149. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +6 -0
  150. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +7 -0
  151. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.js +9 -0
  152. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +7 -0
  153. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +9 -0
  154. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +9 -0
  155. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/now.js +7 -0
  156. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +6 -0
  157. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +6 -0
  158. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toNumber.js +19 -0
  159. package/dist/print/index.d.ts +15 -0
  160. package/dist/print/index.js +41 -0
  161. package/package.json +87 -21
  162. package/CHANGELOG.json +0 -1422
  163. package/CHANGELOG.md +0 -2278
  164. package/LICENSE.md +0 -5
  165. package/README.md +0 -5
  166. package/configure/CHANGELOG.json +0 -1032
  167. package/configure/CHANGELOG.md +0 -2013
  168. package/configure/lib/defaultConfiguration.js +0 -177
  169. package/configure/lib/defaultConfiguration.js.map +0 -1
  170. package/configure/lib/design.js +0 -406
  171. package/configure/lib/design.js.map +0 -1
  172. package/configure/lib/index.js +0 -128
  173. package/configure/lib/index.js.map +0 -1
  174. package/configure/lib/utils.js +0 -92
  175. package/configure/lib/utils.js.map +0 -1
  176. package/configure/package.json +0 -25
  177. package/controller/CHANGELOG.json +0 -442
  178. package/controller/CHANGELOG.md +0 -1464
  179. package/controller/lib/defaults.js +0 -25
  180. package/controller/lib/defaults.js.map +0 -1
  181. package/controller/lib/index.js +0 -258
  182. package/controller/lib/index.js.map +0 -1
  183. package/controller/package.json +0 -16
  184. package/docs/config-schema.json +0 -2135
  185. package/docs/config-schema.json.md +0 -1579
  186. package/docs/demo/config.js +0 -8
  187. package/docs/demo/generate.js +0 -823
  188. package/docs/demo/index.html +0 -1
  189. package/docs/demo/session.js +0 -24
  190. package/docs/pie-schema.json +0 -1248
  191. package/docs/pie-schema.json.md +0 -711
  192. package/lib/index.js +0 -103
  193. package/lib/index.js.map +0 -1
  194. package/lib/main.js +0 -191
  195. package/lib/main.js.map +0 -1
  196. package/lib/print.js +0 -87
  197. package/lib/print.js.map +0 -1
  198. package/lib/utils.js +0 -80
  199. package/lib/utils.js.map +0 -1
package/lib/index.js DELETED
@@ -1,103 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _client = require("react-dom/client");
10
- var _piePlayerEvents = require("@pie-framework/pie-player-events");
11
- var _main = _interopRequireDefault(require("./main"));
12
- var _mathRendering = require("@pie-lib/math-rendering");
13
- var _utils = _interopRequireDefault(require("./utils"));
14
- class SelectText extends HTMLElement {
15
- constructor() {
16
- super();
17
- this._root = null;
18
- }
19
- set model(m) {
20
- this._model = m;
21
- this.render();
22
- this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined));
23
- }
24
- set session(s) {
25
- this._session = s;
26
- if (this._model) {
27
- const generatedModel = (0, _utils.default)(this._model) || {};
28
- const {
29
- tokens
30
- } = generatedModel;
31
- let {
32
- selectedTokens
33
- } = s || {};
34
- selectedTokens = selectedTokens || [];
35
-
36
- // This case was introduced mostly for createCorrectSession:
37
- // make sure initial session tokens are parsed and have correct start and end (according to the regenerated model)
38
- const selectedTokenExistsInGeneratedTokens = s => tokens.find(({
39
- start: tStart,
40
- end: tEnd
41
- }) => s.start === tStart && s.end === tEnd);
42
-
43
- // check if ALL the selectedTokens have the correct start and end
44
- const allAreCorrect = selectedTokens.reduce((acc, selectedToken) => acc && selectedTokenExistsInGeneratedTokens(selectedToken), true);
45
- if (!allAreCorrect) {
46
- // otherwise, make sure to parse selectedTokens as well
47
- const generatedModel = (0, _utils.default)({
48
- ...this._model,
49
- tokens: selectedTokens
50
- }) || {};
51
- const {
52
- tokens
53
- } = generatedModel;
54
- if (tokens) {
55
- this._session.selectedTokens = tokens;
56
- }
57
- }
58
- }
59
- if (!Array.isArray(this._session.selectedTokens)) {
60
- this._session.selectedTokens = [];
61
- }
62
- this.render();
63
- }
64
- get session() {
65
- return this._session;
66
- }
67
- isSessionComplete() {
68
- const {
69
- selectedTokens
70
- } = this._session || {};
71
- return Array.isArray(selectedTokens) && selectedTokens.length > 0;
72
- }
73
- selectionChanged(selection) {
74
- this._session.selectedTokens = selection;
75
- this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));
76
- }
77
- connectedCallback() {
78
- this.render();
79
- }
80
- render() {
81
- if (this._model && this._session) {
82
- const el = /*#__PURE__*/_react.default.createElement(_main.default, {
83
- model: this._model,
84
- session: this._session,
85
- onSelectionChange: this.selectionChanged.bind(this)
86
- });
87
- if (!this._root) {
88
- this._root = (0, _client.createRoot)(this);
89
- }
90
- this._root.render(el);
91
- queueMicrotask(() => {
92
- (0, _mathRendering.renderMath)(this);
93
- });
94
- }
95
- }
96
- disconnectedCallback() {
97
- if (this._root) {
98
- this._root.unmount();
99
- }
100
- }
101
- }
102
- exports.default = SelectText;
103
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_main","_mathRendering","_utils","SelectText","HTMLElement","constructor","_root","model","m","_model","render","dispatchEvent","ModelSetEvent","tagName","toLowerCase","isSessionComplete","undefined","session","s","_session","generatedModel","generateModel","tokens","selectedTokens","selectedTokenExistsInGeneratedTokens","find","start","tStart","end","tEnd","allAreCorrect","reduce","acc","selectedToken","Array","isArray","length","selectionChanged","selection","SessionChangedEvent","connectedCallback","el","React","createElement","Main","onSelectionChange","bind","createRoot","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","default"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent, ModelSetEvent } from '@pie-framework/pie-player-events';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport generateModel from './utils';\n\nexport default class SelectText extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined),\n );\n }\n\n set session(s) {\n this._session = s;\n\n if (this._model) {\n const generatedModel = generateModel(this._model) || {};\n const { tokens } = generatedModel;\n let { selectedTokens } = s || {};\n\n selectedTokens = selectedTokens || [];\n\n // This case was introduced mostly for createCorrectSession:\n // make sure initial session tokens are parsed and have correct start and end (according to the regenerated model)\n const selectedTokenExistsInGeneratedTokens = (s) =>\n tokens.find(({ start: tStart, end: tEnd }) => s.start === tStart && s.end === tEnd);\n\n // check if ALL the selectedTokens have the correct start and end\n const allAreCorrect = selectedTokens.reduce(\n (acc, selectedToken) => acc && selectedTokenExistsInGeneratedTokens(selectedToken),\n true,\n );\n\n if (!allAreCorrect) {\n // otherwise, make sure to parse selectedTokens as well\n const generatedModel = generateModel({ ...this._model, tokens: selectedTokens }) || {};\n const { tokens } = generatedModel;\n\n if (tokens) {\n this._session.selectedTokens = tokens;\n }\n }\n }\n\n if (!Array.isArray(this._session.selectedTokens)) {\n this._session.selectedTokens = [];\n }\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n isSessionComplete() {\n const { selectedTokens } = this._session || {};\n return Array.isArray(selectedTokens) && selectedTokens.length > 0;\n }\n\n selectionChanged(selection) {\n this._session.selectedTokens = selection;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));\n }\n\n connectedCallback() {\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSelectionChange: this.selectionChanged.bind(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/main.js DELETED
@@ -1,191 +0,0 @@
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.Main = 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 _textSelect = require("@pie-lib/text-select");
12
- var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
13
- var _renderUi = require("@pie-lib/render-ui");
14
- var _styles = require("@mui/material/styles");
15
- var _utils = _interopRequireDefault(require("./utils"));
16
- var _debug = _interopRequireDefault(require("debug"));
17
- const log = (0, _debug.default)('@pie-ui:select-text');
18
- const StyledUiLayout = (0, _styles.styled)(_renderUi.UiLayout)({
19
- color: _renderUi.color.text(),
20
- backgroundColor: _renderUi.color.background()
21
- });
22
- const StyledTextSelect = (0, _styles.styled)(_textSelect.TextSelect)(({
23
- theme
24
- }) => ({
25
- marginBottom: theme.spacing(1),
26
- marginTop: theme.spacing(2),
27
- whiteSpace: 'normal'
28
- }));
29
- const Prompt = (0, _styles.styled)('div')(({
30
- theme
31
- }) => ({
32
- verticalAlign: 'middle',
33
- marginBottom: theme.spacing(1)
34
- }));
35
- const StyledCollapsible = (0, _styles.styled)(_renderUi.Collapsible)(({
36
- theme
37
- }) => ({
38
- marginBottom: theme.spacing(2)
39
- }));
40
- const Types = {
41
- model: _propTypes.default.object,
42
- session: _propTypes.default.object,
43
- onSelectionChange: _propTypes.default.func.isRequired
44
- };
45
- class Main extends _react.default.Component {
46
- constructor(props) {
47
- super(props);
48
- (0, _defineProperty2.default)(this, "toggleShowCorrect", () => {
49
- this.setState({
50
- showCorrectAnswer: !this.state.showCorrectAnswer
51
- });
52
- });
53
- (0, _defineProperty2.default)(this, "correctAnswer", () => {
54
- const {
55
- model
56
- } = this.state;
57
- return model.tokens.filter(t => t.correct);
58
- });
59
- this.state = {
60
- showCorrectAnswer: this.props.model.alwaysShowCorrect || false,
61
- model: (0, _utils.default)(props.model)
62
- };
63
- }
64
- UNSAFE_componentWillReceiveProps(nextProps) {
65
- this.setState({
66
- showCorrectAnswer: !!nextProps.model.alwaysShowCorrect,
67
- model: (0, _utils.default)(nextProps.model)
68
- });
69
- }
70
- render() {
71
- const {
72
- session,
73
- onSelectionChange
74
- } = this.props;
75
- const {
76
- showCorrectAnswer,
77
- model
78
- } = this.state;
79
- const {
80
- env,
81
- extraCSSRules
82
- } = model;
83
- const {
84
- mode
85
- } = env || {};
86
- const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;
87
- const showRationale = model.rationale && ((0, _renderUi.hasText)(model.rationale) || (0, _renderUi.hasMedia)(model.rationale));
88
- const showTeacherInstructions = model.teacherInstructions && ((0, _renderUi.hasText)(model.teacherInstructions) || (0, _renderUi.hasMedia)(model.teacherInstructions));
89
- log('[render] selectedTokens:', selectedTokens);
90
- return /*#__PURE__*/_react.default.createElement(StyledUiLayout, {
91
- extraCSSRules: extraCSSRules
92
- }, showTeacherInstructions && (!model.animationsDisabled ? /*#__PURE__*/_react.default.createElement(StyledCollapsible, {
93
- labels: {
94
- hidden: 'Show Teacher Instructions',
95
- visible: 'Hide Teacher Instructions'
96
- }
97
- }, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
98
- prompt: model.teacherInstructions
99
- })) : /*#__PURE__*/_react.default.createElement(Prompt, null, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
100
- prompt: model.teacherInstructions
101
- }))), /*#__PURE__*/_react.default.createElement(Prompt, null, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
102
- prompt: model.prompt
103
- })), !model.alwaysShowCorrect && /*#__PURE__*/_react.default.createElement(_correctAnswerToggle.default, {
104
- show: model.disabled && model.incorrect,
105
- toggled: showCorrectAnswer,
106
- onToggle: this.toggleShowCorrect,
107
- language: model.language
108
- }), /*#__PURE__*/_react.default.createElement(StyledTextSelect, {
109
- disabled: model.disabled,
110
- text: model.text,
111
- tokens: model.tokens,
112
- selectedTokens: selectedTokens,
113
- onChange: selection => {
114
- const newSelections = selection.map(select => {
115
- const token = model.tokens.find(({
116
- start,
117
- end
118
- }) => select.start === start && select.end === end);
119
-
120
- // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd
121
- if (token) {
122
- return token;
123
- }
124
- return select;
125
- });
126
- onSelectionChange(newSelections);
127
- },
128
- highlightChoices: model.highlightChoices,
129
- maxNoOfSelections: model.maxSelections,
130
- animationsDisabled: model.animationsDisabled
131
- }), mode === 'evaluate' && /*#__PURE__*/_react.default.createElement(_textSelect.Legend, {
132
- language: model.language,
133
- showOnlyCorrect: showCorrectAnswer
134
- }), showRationale && (!model.animationsDisabled ? /*#__PURE__*/_react.default.createElement(StyledCollapsible, {
135
- labels: {
136
- hidden: 'Show Rationale',
137
- visible: 'Hide Rationale'
138
- }
139
- }, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
140
- prompt: model.rationale
141
- })) : /*#__PURE__*/_react.default.createElement(Prompt, null, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
142
- prompt: model.rationale
143
- }))), model.correctness && model.feedback && !showCorrectAnswer && /*#__PURE__*/_react.default.createElement(_renderUi.Feedback, {
144
- correctness: model.correctness,
145
- feedback: model.feedback
146
- }));
147
- }
148
- }
149
- exports.Main = Main;
150
- (0, _defineProperty2.default)(Main, "propTypes", Types);
151
- (0, _defineProperty2.default)(Main, "defaultProps", {});
152
- class Stateful extends _react.default.Component {
153
- constructor(props) {
154
- super(props);
155
- (0, _defineProperty2.default)(this, "change", selectedTokens => {
156
- const session = {
157
- ...this.state.session,
158
- selectedTokens
159
- };
160
- this.setState({
161
- session
162
- }, () => {
163
- this.props.onSelectionChange(this.state.session.selectedTokens);
164
- });
165
- });
166
- this.state = {
167
- model: props.model,
168
- session: props.session
169
- };
170
- }
171
- UNSAFE_componentWillReceiveProps(nextProps) {
172
- this.setState({
173
- model: nextProps.model,
174
- session: nextProps.session
175
- });
176
- }
177
- render() {
178
- const {
179
- model,
180
- session
181
- } = this.state;
182
- return /*#__PURE__*/_react.default.createElement(Main, {
183
- model: model,
184
- session: session,
185
- onSelectionChange: this.change
186
- });
187
- }
188
- }
189
- exports.default = Stateful;
190
- (0, _defineProperty2.default)(Stateful, "propTypes", Types);
191
- //# sourceMappingURL=main.js.map
package/lib/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_textSelect","_correctAnswerToggle","_renderUi","_styles","_utils","_debug","log","debug","StyledUiLayout","styled","UiLayout","color","text","backgroundColor","background","StyledTextSelect","TextSelect","theme","marginBottom","spacing","marginTop","whiteSpace","Prompt","verticalAlign","StyledCollapsible","Collapsible","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","React","Component","constructor","props","_defineProperty2","default","setState","showCorrectAnswer","state","tokens","filter","t","correct","alwaysShowCorrect","generateModel","UNSAFE_componentWillReceiveProps","nextProps","render","env","extraCSSRules","mode","selectedTokens","correctAnswer","showRationale","rationale","hasText","hasMedia","showTeacherInstructions","teacherInstructions","createElement","animationsDisabled","labels","hidden","visible","PreviewPrompt","prompt","show","disabled","incorrect","toggled","onToggle","toggleShowCorrect","language","onChange","selection","newSelections","map","select","token","find","start","end","highlightChoices","maxNoOfSelections","maxSelections","Legend","showOnlyCorrect","correctness","feedback","Feedback","exports","Stateful","change"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect, Legend } from '@pie-lib/text-select';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport { styled } from '@mui/material/styles';\nimport generateModel from './utils';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst StyledUiLayout = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n});\n\nconst StyledTextSelect = styled(TextSelect)(({ theme }) => ({\n marginBottom: theme.spacing(1),\n marginTop: theme.spacing(2),\n whiteSpace: 'normal',\n}));\n\nconst Prompt = styled('div')(({ theme }) => ({\n verticalAlign: 'middle',\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledCollapsible = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst Types = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSelectionChange: PropTypes.func.isRequired,\n};\n\nexport class Main extends React.Component {\n static propTypes = Types;\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrectAnswer: this.props.model.alwaysShowCorrect || false,\n model: generateModel(props.model),\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({\n showCorrectAnswer: !!nextProps.model.alwaysShowCorrect,\n model: generateModel(nextProps.model),\n });\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n correctAnswer = () => {\n const { model } = this.state;\n\n return model.tokens.filter((t) => t.correct);\n };\n\n render() {\n const { session, onSelectionChange } = this.props;\n const { showCorrectAnswer, model } = this.state;\n const { env, extraCSSRules } = model;\n const { mode } = env || {};\n\n const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <StyledUiLayout extraCSSRules={extraCSSRules}>\n {showTeacherInstructions &&\n (!model.animationsDisabled ? (\n <StyledCollapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </StyledCollapsible>\n ) : (\n <Prompt>\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Prompt>\n ))}\n\n <Prompt>\n <PreviewPrompt prompt={model.prompt} />\n </Prompt>\n\n {!model.alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={model.disabled && model.incorrect}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={model.language}\n />\n )}\n\n <StyledTextSelect\n disabled={model.disabled}\n text={model.text}\n tokens={model.tokens}\n selectedTokens={selectedTokens}\n onChange={(selection) => {\n const newSelections = selection.map((select) => {\n const token = model.tokens.find(({ start, end }) => select.start === start && select.end === end);\n\n // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd\n if (token) {\n return token;\n }\n\n return select;\n });\n\n onSelectionChange(newSelections);\n }}\n highlightChoices={model.highlightChoices}\n maxNoOfSelections={model.maxSelections}\n animationsDisabled={model.animationsDisabled}\n />\n {mode === 'evaluate' && <Legend language={model.language} showOnlyCorrect={showCorrectAnswer} />}\n\n {showRationale &&\n (!model.animationsDisabled ? (\n <StyledCollapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n >\n <PreviewPrompt prompt={model.rationale} />\n </StyledCollapsible>\n ) : (\n <Prompt>\n <PreviewPrompt prompt={model.rationale} />\n </Prompt>\n ))}\n\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </StyledUiLayout>\n );\n }\n}\n\nexport default class Stateful extends React.Component {\n static propTypes = Types;\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n session: props.session,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ model: nextProps.model, session: nextProps.session });\n }\n\n change = (selectedTokens) => {\n const session = { ...this.state.session, selectedTokens };\n this.setState({ session }, () => {\n this.props.onSelectionChange(this.state.session.selectedTokens);\n });\n };\n\n render() {\n const { model, session } = this.state;\n return <Main model={model} session={session} onSelectionChange={this.change} />;\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/print.js DELETED
@@ -1,87 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _client = require("react-dom/client");
10
- var _lodashEs = require("lodash-es");
11
- var _main = _interopRequireDefault(require("./main"));
12
- var _mathRendering = require("@pie-lib/math-rendering");
13
- var _debug = _interopRequireDefault(require("debug"));
14
- const log = (0, _debug.default)('pie-element:select-text:print');
15
-
16
- /**
17
- * Live in same package as main element - so we can access some of the shared comps!
18
- *
19
- * - update pslb to build print if src/print.js is there
20
- * - update demo el
21
- * - get configure/controller building
22
- */
23
-
24
- const preparePrintModel = (model, opts) => {
25
- const instr = opts.role === 'instructor';
26
- model.prompt = model.promptEnabled !== false ? model.prompt : undefined;
27
- model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;
28
- model.rationale = instr && model.rationaleEnabled !== false ? model.rationale : undefined;
29
- model.showTeacherInstructions = instr;
30
- model.alwaysShowCorrect = instr;
31
- model.mode = instr ? 'evaluate' : model.mode;
32
- model.disabled = true;
33
- model.animationsDisabled = true;
34
- model.highlightChoices = true;
35
- model.feedback = undefined;
36
- return model;
37
- };
38
- class SelectTextPrint extends HTMLElement {
39
- constructor() {
40
- super();
41
- this._options = null;
42
- this._model = null;
43
- this._session = {};
44
- this._session.selectedTokens = [];
45
- this._root = null;
46
- this._rerender = (0, _lodashEs.debounce)(() => {
47
- if (this._model && this._session) {
48
- const printModel = preparePrintModel(this._model, this._options);
49
- const element = this._options && /*#__PURE__*/_react.default.createElement(_main.default, {
50
- model: printModel,
51
- session: {
52
- selectedTokens: []
53
- },
54
- onSelectionChange: () => {}
55
- });
56
- if (!this._root) {
57
- this._root = (0, _client.createRoot)(this);
58
- }
59
- this._root.render(element);
60
- queueMicrotask(() => {
61
- log('render complete - render math');
62
- (0, _mathRendering.renderMath)(this);
63
- });
64
- } else {
65
- log('skip');
66
- }
67
- }, 50, {
68
- leading: false,
69
- trailing: true
70
- });
71
- }
72
- set options(o) {
73
- this._options = o;
74
- }
75
- set model(s) {
76
- this._model = s;
77
- this._rerender();
78
- }
79
- connectedCallback() {}
80
- disconnectedCallback() {
81
- if (this._root) {
82
- this._root.unmount();
83
- }
84
- }
85
- }
86
- exports.default = SelectTextPrint;
87
- //# sourceMappingURL=print.js.map
package/lib/print.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"print.js","names":["_react","_interopRequireDefault","require","_client","_lodashEs","_main","_mathRendering","_debug","log","debug","preparePrintModel","model","opts","instr","role","prompt","promptEnabled","undefined","teacherInstructions","teacherInstructionsEnabled","rationale","rationaleEnabled","showTeacherInstructions","alwaysShowCorrect","mode","disabled","animationsDisabled","highlightChoices","feedback","SelectTextPrint","HTMLElement","constructor","_options","_model","_session","selectedTokens","_root","_rerender","debounce","printModel","element","React","createElement","Main","session","onSelectionChange","createRoot","render","queueMicrotask","renderMath","leading","trailing","options","o","s","connectedCallback","disconnectedCallback","unmount","exports","default"],"sources":["../src/print.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { debounce } from 'lodash-es';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:select-text:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions =\n instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.rationale = instr && model.rationaleEnabled !== false ? model.rationale : undefined;\n model.showTeacherInstructions = instr;\n model.alwaysShowCorrect = instr;\n model.mode = instr ? 'evaluate' : model.mode;\n\n model.disabled = true;\n model.animationsDisabled = true;\n model.highlightChoices = true;\n model.feedback = undefined;\n\n return model;\n};\n\nexport default class SelectTextPrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = {};\n this._session.selectedTokens = [];\n this._root = null;\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: { selectedTokens: [] },\n onSelectionChange: () => {},\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(element);\n queueMicrotask(() => {\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 disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/utils.js DELETED
@@ -1,80 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var createElementFromHTML = function createElementFromHTML() {
8
- var htmlString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
9
- var div = document.createElement('div');
10
- div.innerHTML = htmlString.trim();
11
- return div;
12
- };
13
- var parseParagraph = function parseParagraph(paragraph, end) {
14
- if (end) {
15
- return paragraph.innerHTML;
16
- }
17
- return ''.concat(paragraph.innerHTML, '\n\n');
18
- };
19
- var parseParagraphs = function parseParagraphs(dom) {
20
- var paragraphs = dom.querySelectorAll('div[separator=true]'); // separate variable for easily debugging, if needed
21
-
22
- var str = '';
23
- paragraphs.forEach(function (par, index) {
24
- str += parseParagraph(par, index === paragraphs.length - 1);
25
- });
26
- return str || null;
27
- };
28
- var prepareText = function prepareText(text) {
29
- var txtDom = createElementFromHTML(text);
30
- var div = document.createElement('div');
31
- div.innerHTML = '<div separator=\'true\'>'.concat(txtDom.innerHTML, '</div>');
32
- txtDom = div;
33
- var allDomElements = Array.from(txtDom.querySelectorAll('*'));
34
- if (allDomElements.length === 0) {
35
- return text;
36
- }
37
- return parseParagraphs(txtDom);
38
- };
39
- var _default = model => {
40
- if (!model) return model;
41
-
42
- // parsing
43
- const modelText = prepareText(model.text || '');
44
- const newTokens = (model.tokens || []).reduce((acc, token = {}) => {
45
- const tokenText = prepareText((model.text || '').slice(token.start, token.end));
46
- if (!tokenText) {
47
- return [...acc, token];
48
- }
49
- const getStartIndex = start => {
50
- let length = start;
51
- while (length >= 0) {
52
- let newStartIndex = modelText.slice(length).indexOf(tokenText);
53
- if (newStartIndex >= 0) {
54
- return newStartIndex + length;
55
- }
56
- length--;
57
- }
58
- return 0;
59
- };
60
- const lastToken = acc[acc.length - 1];
61
- const newStart = getStartIndex(lastToken ? lastToken.end : token.start);
62
- const newEnd = newStart + tokenText.length;
63
- return [...acc, {
64
- ...token,
65
- text: tokenText,
66
- start: newStart,
67
- end: newEnd,
68
- // needed for getScore when tokens position is recalculated
69
- oldStart: token.start,
70
- oldEnd: token.end
71
- }];
72
- }, []);
73
- return {
74
- ...model,
75
- tokens: newTokens,
76
- text: modelText
77
- };
78
- };
79
- exports.default = _default;
80
- //# sourceMappingURL=utils.js.map
package/lib/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":["createElementFromHTML","htmlString","arguments","length","undefined","div","document","createElement","innerHTML","trim","parseParagraph","paragraph","end","concat","parseParagraphs","dom","paragraphs","querySelectorAll","str","forEach","par","index","prepareText","text","txtDom","allDomElements","Array","from","_default","model","modelText","newTokens","tokens","reduce","acc","token","tokenText","slice","start","getStartIndex","newStartIndex","indexOf","lastToken","newStart","newEnd","oldStart","oldEnd","exports","default"],"sources":["../src/utils.js"],"sourcesContent":["\n\nvar createElementFromHTML = function createElementFromHTML() {\n var htmlString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var div = document.createElement('div');\n div.innerHTML = htmlString.trim();\n return div;\n};\n\nvar parseParagraph = function parseParagraph(paragraph, end) {\n if (end) {\n return paragraph.innerHTML;\n }\n\n return ''.concat(paragraph.innerHTML, '\\n\\n');\n};\n\nvar parseParagraphs = function parseParagraphs(dom) {\n var paragraphs = dom.querySelectorAll('div[separator=true]'); // separate variable for easily debugging, if needed\n\n var str = '';\n paragraphs.forEach(function (par, index) {\n str += parseParagraph(par, index === paragraphs.length - 1);\n });\n return str || null;\n};\n\nvar prepareText = function prepareText(text) {\n var txtDom = createElementFromHTML(text);\n\n var div = document.createElement('div');\n div.innerHTML = '<div separator=\\'true\\'>'.concat(txtDom.innerHTML, '</div>');\n txtDom = div;\n\n var allDomElements = Array.from(txtDom.querySelectorAll('*'));\n\n if (allDomElements.length === 0) {\n return text;\n }\n\n return parseParagraphs(txtDom);\n};\n\nexport default (model) => {\n if (!model) return model;\n\n // parsing\n const modelText = prepareText(model.text || '');\n\n const newTokens = (model.tokens || []).reduce((acc, token = {}) => {\n const tokenText = prepareText((model.text || '').slice(token.start, token.end));\n\n if (!tokenText) {\n return [...acc, token];\n }\n\n const getStartIndex = (start) => {\n let length = start;\n\n while (length >= 0) {\n let newStartIndex = modelText.slice(length).indexOf(tokenText);\n\n if (newStartIndex >= 0) {\n return newStartIndex + length;\n }\n\n length--;\n }\n\n return 0;\n };\n\n const lastToken = acc[acc.length - 1];\n const newStart = getStartIndex(lastToken ? lastToken.end : token.start);\n const newEnd = newStart + tokenText.length;\n\n return [\n ...acc,\n {\n ...token,\n text: tokenText,\n start: newStart,\n end: newEnd,\n // needed for getScore when tokens position is recalculated\n oldStart: token.start,\n oldEnd: token.end,\n },\n ];\n }, []);\n\n return {\n ...model,\n tokens: newTokens,\n text: modelText,\n };\n};\n"],"mappings":"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","ignoreList":[]}