@pie-lib/text-select 3.0.3-next.36 → 3.0.3-next.37

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 (70) hide show
  1. package/dist/index.d.ts +15 -0
  2. package/dist/index.js +7 -0
  3. package/dist/legend.d.ts +13 -0
  4. package/dist/legend.js +64 -0
  5. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +16 -0
  6. package/dist/text-select.d.ts +34 -0
  7. package/dist/text-select.js +53 -0
  8. package/dist/token-select/index.d.ts +44 -0
  9. package/dist/token-select/index.js +170 -0
  10. package/dist/token-select/token.d.ts +32 -0
  11. package/dist/token-select/token.js +134 -0
  12. package/dist/tokenizer/builder.d.ts +27 -0
  13. package/dist/tokenizer/builder.js +124 -0
  14. package/dist/tokenizer/controls.d.ts +23 -0
  15. package/dist/tokenizer/controls.js +68 -0
  16. package/dist/tokenizer/index.d.ts +35 -0
  17. package/dist/tokenizer/index.js +91 -0
  18. package/dist/tokenizer/selection-utils.d.ts +10 -0
  19. package/dist/tokenizer/selection-utils.js +18 -0
  20. package/dist/tokenizer/token-text.d.ts +27 -0
  21. package/dist/tokenizer/token-text.js +85 -0
  22. package/dist/utils.d.ts +12 -0
  23. package/dist/utils.js +21 -0
  24. package/package.json +33 -30
  25. package/CHANGELOG.json +0 -1
  26. package/CHANGELOG.md +0 -946
  27. package/LICENSE.md +0 -5
  28. package/lib/index.js +0 -57
  29. package/lib/index.js.map +0 -1
  30. package/lib/legend.js +0 -119
  31. package/lib/legend.js.map +0 -1
  32. package/lib/text-select.js +0 -105
  33. package/lib/text-select.js.map +0 -1
  34. package/lib/token-select/index.js +0 -267
  35. package/lib/token-select/index.js.map +0 -1
  36. package/lib/token-select/token.js +0 -236
  37. package/lib/token-select/token.js.map +0 -1
  38. package/lib/tokenizer/builder.js +0 -265
  39. package/lib/tokenizer/builder.js.map +0 -1
  40. package/lib/tokenizer/controls.js +0 -106
  41. package/lib/tokenizer/controls.js.map +0 -1
  42. package/lib/tokenizer/index.js +0 -147
  43. package/lib/tokenizer/index.js.map +0 -1
  44. package/lib/tokenizer/selection-utils.js +0 -55
  45. package/lib/tokenizer/selection-utils.js.map +0 -1
  46. package/lib/tokenizer/token-text.js +0 -176
  47. package/lib/tokenizer/token-text.js.map +0 -1
  48. package/lib/utils.js +0 -51
  49. package/lib/utils.js.map +0 -1
  50. package/src/__tests__/legend.test.jsx +0 -211
  51. package/src/__tests__/text-select.test.jsx +0 -44
  52. package/src/__tests__/utils.test.jsx +0 -27
  53. package/src/index.js +0 -8
  54. package/src/legend.js +0 -102
  55. package/src/text-select.jsx +0 -79
  56. package/src/token-select/__tests__/index.test.jsx +0 -623
  57. package/src/token-select/__tests__/token.test.jsx +0 -236
  58. package/src/token-select/index.jsx +0 -242
  59. package/src/token-select/token.jsx +0 -223
  60. package/src/tokenizer/__tests__/builder.test.js +0 -256
  61. package/src/tokenizer/__tests__/controls.test.jsx +0 -27
  62. package/src/tokenizer/__tests__/index.test.jsx +0 -329
  63. package/src/tokenizer/__tests__/selection-utils.test.js +0 -145
  64. package/src/tokenizer/__tests__/token-text.test.jsx +0 -318
  65. package/src/tokenizer/builder.js +0 -258
  66. package/src/tokenizer/controls.jsx +0 -71
  67. package/src/tokenizer/index.jsx +0 -144
  68. package/src/tokenizer/selection-utils.js +0 -49
  69. package/src/tokenizer/token-text.jsx +0 -135
  70. package/src/utils.js +0 -56
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_server","_propTypes","_token","_interopRequireWildcard","_styles","_lodashEs","_debug","_styleUtils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","StyledTokenSelect","styled","backgroundColor","whiteSpace","noSelect","HiddenCssPrimer","display","position","visibility","pointerEvents","normalizeCommonEntities","text","undefined","replace","normalizeSelectableText","TokenSelect","exports","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","concat","props","tokens","selected","selectedCount","maxNoOfSelections","isFinite","event","_target$closest","_targetSpanWrapper$da","target","_this$props","animationsDisabled","tokensCloned","clone","targetSpanWrapper","closest","Token","rootClassName","targetedTokenIndex","dataset","indexkey","correct","isMissing","_this$props2","onChange","selectedToken","tk","updatedTokens","map","token","isEqual","selectable","update","splice","_this$props3","disabled","highlightChoices","reducer","accumulator","index","canSelectMore","showCorrectAnswer","predefined","renderToString","createElement","_extends2","key","highlight","reduce","_inherits2","_createClass2","value","render","classNameProp","className","html","generateTokensInHtml","primerText","Fragment","onClick","toggleToken","dangerouslySetInnerHTML","__html","React","Component","PropTypes","arrayOf","shape","TokenTypes","isRequired","string","func","bool","number","_default"],"sources":["../../src/token-select/index.jsx"],"sourcesContent":["import React from 'react';\nimport { renderToString } from 'react-dom/server';\nimport PropTypes from 'prop-types';\nimport Token, { TokenTypes } from './token';\nimport { styled } from '@mui/material/styles';\nimport { clone, isEqual } from 'lodash-es';\nimport debug from 'debug';\nimport { noSelect } from '@pie-lib/style-utils';\n\nconst log = debug('@pie-lib:text-select:token-select');\n\nconst StyledTokenSelect = styled('div')(() => ({\n backgroundColor: 'none',\n whiteSpace: 'pre',\n ...noSelect(),\n '& p': {\n whiteSpace: 'break-spaces',\n },\n}));\n\n// Invisible container whose only job is to make Emotion inject CSS for all Token variants.\n// renderToString produces correct class names but never triggers Emotion's DOM-side injection,\n// so without this the class names exist in the HTML but have no matching CSS rules.\nconst HiddenCssPrimer = styled('div')(() => ({\n display: 'none',\n position: 'absolute',\n visibility: 'hidden',\n pointerEvents: 'none',\n}));\n\nconst normalizeCommonEntities = (text = '') => text.replace(/&nbsp;/gi, '\\u00a0');\n\nconst normalizeSelectableText = (text = '') =>\n normalizeCommonEntities(text)\n .replace(/<\\/p>\\s*<p[^>]*>/gi, '\\n\\n')\n .replace(/<br\\s*\\/?>/gi, '\\n')\n .replace(/<\\/?(table|tbody|tr|td|p)[^>]*>/gi, '');\n\nexport class TokenSelect extends React.Component {\n static propTypes = {\n tokens: PropTypes.arrayOf(PropTypes.shape(TokenTypes)).isRequired,\n className: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n disabled: PropTypes.bool,\n highlightChoices: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n maxNoOfSelections: PropTypes.number,\n };\n\n static defaultProps = {\n highlightChoices: false,\n maxNoOfSelections: 0,\n tokens: [],\n };\n\n selectedCount = () => this.props.tokens.filter((t) => t.selected).length;\n\n canSelectMore = (selectedCount) => {\n const { maxNoOfSelections } = this.props;\n\n if (maxNoOfSelections === 1) return true;\n\n log('[canSelectMore] maxNoOfSelections: ', maxNoOfSelections, 'selectedCount: ', selectedCount);\n return maxNoOfSelections <= 0 || (isFinite(maxNoOfSelections) && selectedCount < maxNoOfSelections);\n };\n\n toggleToken = (event) => {\n const { target } = event;\n const { tokens, animationsDisabled } = this.props;\n const tokensCloned = clone(tokens);\n\n const targetSpanWrapper = target.closest?.(`.${Token.rootClassName}`);\n const targetedTokenIndex = targetSpanWrapper?.dataset?.indexkey;\n const t = targetedTokenIndex !== undefined ? tokensCloned[targetedTokenIndex] : undefined;\n\n // don't toggle if in print mode, correctness is defined, or is missing\n if (t && t.correct === undefined && !animationsDisabled && !t.isMissing) {\n const { onChange, maxNoOfSelections } = this.props;\n const selected = !t.selected;\n\n if (maxNoOfSelections === 1 && this.selectedCount() === 1) {\n const selectedToken = (tokens || []).filter((tk) => tk.selected);\n const updatedTokens = tokensCloned.map((token) => {\n if (isEqual(token, selectedToken[0])) {\n return { ...token, selected: false };\n }\n return { ...token, selectable: true };\n });\n\n const update = { ...t, selected };\n updatedTokens.splice(targetedTokenIndex, 1, update);\n onChange(updatedTokens);\n } else {\n if (selected && maxNoOfSelections > 0 && this.selectedCount() >= maxNoOfSelections) {\n log('skip toggle max reached');\n return;\n }\n const update = { ...t, selected };\n tokensCloned.splice(targetedTokenIndex, 1, update);\n onChange(tokensCloned);\n }\n }\n };\n\n /**\n * Build an HTML string so that non-selectable token text (which may contain arbitrary or even\n * *partial* HTML — e.g. just an opening <table><tbody><tr><td> in one token and the matching\n * closing tags in another) is preserved exactly as-is. Selectable Token components are\n * serialised via renderToString; their Emotion class names are stable hashes so they match the\n * CSS that the HiddenCssPrimer forces Emotion to inject into the document.\n */\n generateTokensInHtml = () => {\n const { tokens, disabled, highlightChoices, animationsDisabled } = this.props;\n const selectedCount = this.selectedCount();\n\n const reducer = (accumulator, t, index) => {\n const selectable = t.selected || (t.selectable && this.canSelectMore(selectedCount));\n const showCorrectAnswer = t.correct !== undefined && (t.selectable || t.selected);\n\n if (t.text === '\\n\\n') return `${accumulator}</p><p>`;\n\n if (t.text === '\\n') return `${accumulator}<br>`;\n\n if (\n (selectable && !disabled) ||\n showCorrectAnswer ||\n t.selected ||\n t.isMissing ||\n (animationsDisabled && t.predefined)\n ) {\n return (\n accumulator +\n renderToString(\n <Token\n key={index}\n disabled={disabled}\n index={index}\n {...t}\n text={normalizeSelectableText(t.text)}\n selectable={selectable}\n highlight={highlightChoices}\n animationsDisabled={animationsDisabled}\n />,\n )\n );\n }\n\n // Non-selectable: emit raw HTML unchanged (may contain partial tags, tables, lists, etc.)\n return accumulator + normalizeCommonEntities(t.text);\n };\n\n return (tokens || []).reduce(reducer, '<p>') + '</p>';\n };\n\n render() {\n const { className: classNameProp } = this.props;\n const html = this.generateTokensInHtml();\n\n // Render one invisible Token per visual variant so Emotion injects all CSS rules into the\n // document before the browser paints the dangerouslySetInnerHTML content.\n const primerText = ' ';\n return (\n <>\n <HiddenCssPrimer aria-hidden=\"true\">\n {/* base / selectable */}\n <Token\n text={primerText}\n index={-1}\n selectable\n disabled={false}\n highlight={false}\n animationsDisabled={false}\n />\n {/* highlight */}\n <Token text={primerText} index={-1} selectable disabled={false} highlight animationsDisabled={false} />\n {/* selected */}\n <Token\n text={primerText}\n index={-1}\n selectable\n selected\n disabled={false}\n highlight={false}\n animationsDisabled={false}\n />\n {/* disabled + selected */}\n <Token\n text={primerText}\n index={-1}\n selectable\n selected\n disabled\n highlight={false}\n animationsDisabled={false}\n />\n {/* print / animationsDisabled */}\n <Token\n text={primerText}\n index={-1}\n selectable\n disabled={false}\n highlight={false}\n animationsDisabled\n predefined\n />\n {/* correct */}\n <Token\n text={primerText}\n index={-1}\n selectable\n selected\n correct\n disabled={false}\n highlight={false}\n animationsDisabled={false}\n />\n {/* incorrect */}\n <Token\n text={primerText}\n index={-1}\n selectable\n selected\n correct={false}\n disabled={false}\n highlight={false}\n animationsDisabled={false}\n />\n {/* missing */}\n <Token text={primerText} index={-1} isMissing disabled={false} highlight={false} animationsDisabled={false} />\n </HiddenCssPrimer>\n\n <StyledTokenSelect\n className={classNameProp}\n onClick={this.toggleToken}\n dangerouslySetInnerHTML={{ __html: html }}\n />\n </>\n );\n }\n}\n\nexport default TokenSelect;\n"],"mappings":"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","ignoreList":[]}
@@ -1,236 +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.TokenTypes = exports.Token = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
11
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
- var _react = _interopRequireDefault(require("react"));
15
- var _propTypes = _interopRequireDefault(require("prop-types"));
16
- var _styles = require("@mui/material/styles");
17
- var _classnames = _interopRequireDefault(require("classnames"));
18
- var _Check = _interopRequireDefault(require("@mui/icons-material/Check"));
19
- var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
20
- var _renderUi = require("@pie-lib/render-ui");
21
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
22
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
23
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
24
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
25
- // we need to use a larger line height for the token to be more readable
26
- var LINE_HEIGHT_MULTIPLIER = 3.2;
27
- // we need a bit more space for correctness indicators
28
- var CORRECTNESS_LINE_HEIGHT_MULTIPLIER = 3.4;
29
- var CORRECTNESS_PADDING = 2;
30
-
31
- // Styled components for different token states
32
- var StyledToken = (0, _styles.styled)('span')(function (_ref) {
33
- var theme = _ref.theme;
34
- return (0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({
35
- cursor: 'pointer',
36
- textIndent: 0,
37
- '&.disabled': {
38
- cursor: 'inherit',
39
- color: _renderUi.color.disabled()
40
- },
41
- '&.disabledBlack': {
42
- cursor: 'inherit',
43
- pointerEvents: 'none'
44
- },
45
- '&.disabledAndSelected': {
46
- backgroundColor: _renderUi.color.blueGrey100()
47
- }
48
- }, "@media (min-width: ".concat(theme.breakpoints.values.md, "px)"), {
49
- '&.selectable:hover': {
50
- backgroundColor: _renderUi.color.blueGrey300(),
51
- color: theme.palette.common.black,
52
- '& > *': {
53
- backgroundColor: _renderUi.color.blueGrey300()
54
- }
55
- }
56
- }), '&.selected', {
57
- backgroundColor: _renderUi.color.blueGrey100(),
58
- color: theme.palette.common.black,
59
- lineHeight: "".concat(parseFloat(theme.spacing(1)) * LINE_HEIGHT_MULTIPLIER, "px"),
60
- border: "solid 2px ".concat(_renderUi.color.blueGrey900()),
61
- borderRadius: '4px',
62
- '& > *': {
63
- backgroundColor: _renderUi.color.blueGrey100()
64
- }
65
- }), '&.highlight', {
66
- border: "dashed 2px ".concat(_renderUi.color.blueGrey600()),
67
- borderRadius: '4px',
68
- lineHeight: "".concat(parseFloat(theme.spacing(1)) * LINE_HEIGHT_MULTIPLIER, "px")
69
- }), '&.print', {
70
- border: "dashed 2px ".concat(_renderUi.color.blueGrey600()),
71
- borderRadius: '4px',
72
- lineHeight: "".concat(parseFloat(theme.spacing(1)) * LINE_HEIGHT_MULTIPLIER, "px"),
73
- color: _renderUi.color.text()
74
- }), '&.custom', {
75
- display: 'initial'
76
- });
77
- });
78
- var StyledCommonTokenStyle = (0, _styles.styled)('span')(function (_ref3) {
79
- var theme = _ref3.theme;
80
- return {
81
- position: 'relative',
82
- borderRadius: '4px',
83
- color: theme.palette.common.black,
84
- lineHeight: "".concat(parseFloat(theme.spacing(1)) * CORRECTNESS_LINE_HEIGHT_MULTIPLIER + CORRECTNESS_PADDING, "px"),
85
- padding: "".concat(CORRECTNESS_PADDING, "px")
86
- };
87
- });
88
- var StyledCorrectContainer = (0, _styles.styled)(StyledCommonTokenStyle)(function () {
89
- return {
90
- border: "".concat(_renderUi.color.correctTertiary(), " solid 2px")
91
- };
92
- });
93
- var StyledIncorrectContainer = (0, _styles.styled)(StyledCommonTokenStyle)(function () {
94
- return {
95
- border: "".concat(_renderUi.color.incorrectWithIcon(), " solid 2px")
96
- };
97
- });
98
- var StyledMissingContainer = (0, _styles.styled)(StyledCommonTokenStyle)(function () {
99
- return {
100
- border: "".concat(_renderUi.color.incorrectWithIcon(), " dashed 2px")
101
- };
102
- });
103
- var baseIconStyles = {
104
- color: _renderUi.color.white(),
105
- position: 'absolute',
106
- top: '-8px',
107
- left: '-8px',
108
- borderRadius: '50%',
109
- fontSize: '12px',
110
- padding: '2px',
111
- display: 'inline-block'
112
- };
113
- var StyledCorrectCheckIcon = (0, _styles.styled)(_Check["default"])(function () {
114
- return _objectSpread(_objectSpread({}, baseIconStyles), {}, {
115
- backgroundColor: _renderUi.color.correctTertiary()
116
- });
117
- });
118
- var StyledIncorrectCloseIcon = (0, _styles.styled)(_Close["default"])(function () {
119
- return _objectSpread(_objectSpread({}, baseIconStyles), {}, {
120
- backgroundColor: _renderUi.color.incorrectWithIcon()
121
- });
122
- });
123
- var Wrapper = function Wrapper(_ref4) {
124
- var useWrapper = _ref4.useWrapper,
125
- children = _ref4.children,
126
- Container = _ref4.Container,
127
- Icon = _ref4.Icon;
128
- return useWrapper ? /*#__PURE__*/_react["default"].createElement(Container, null, children, Icon ? /*#__PURE__*/_react["default"].createElement(Icon, null) : null) : children;
129
- };
130
- Wrapper.propTypes = {
131
- useWrapper: _propTypes["default"].bool,
132
- Container: _propTypes["default"].elementType,
133
- Icon: _propTypes["default"].elementType,
134
- children: _propTypes["default"].node
135
- };
136
- var TokenTypes = exports.TokenTypes = {
137
- text: _propTypes["default"].string,
138
- selectable: _propTypes["default"].bool
139
- };
140
- var Token = exports.Token = /*#__PURE__*/function (_React$Component) {
141
- function Token() {
142
- var _this;
143
- (0, _classCallCheck2["default"])(this, Token);
144
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
145
- args[_key] = arguments[_key];
146
- }
147
- _this = _callSuper(this, Token, [].concat(args));
148
- (0, _defineProperty2["default"])(_this, "getClassAndIconConfig", function () {
149
- var _this$props = _this.props,
150
- selectable = _this$props.selectable,
151
- selected = _this$props.selected,
152
- classNameProp = _this$props.className,
153
- disabled = _this$props.disabled,
154
- highlight = _this$props.highlight,
155
- correct = _this$props.correct,
156
- animationsDisabled = _this$props.animationsDisabled,
157
- isMissing = _this$props.isMissing;
158
- var isTouchEnabled = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
159
- var baseClassName = Token.rootClassName;
160
- var Container;
161
- var Icon;
162
- if (correct === undefined && selected && disabled) {
163
- return {
164
- className: (0, _classnames["default"])(baseClassName, 'selected', 'disabledBlack', classNameProp),
165
- Component: StyledToken
166
- };
167
- }
168
- if (correct !== undefined) {
169
- var isCorrect = correct === true;
170
- return {
171
- className: (0, _classnames["default"])(baseClassName, 'custom', classNameProp),
172
- Component: StyledToken,
173
- Container: isCorrect ? StyledCorrectContainer : StyledIncorrectContainer,
174
- Icon: isCorrect ? StyledCorrectCheckIcon : StyledIncorrectCloseIcon
175
- };
176
- }
177
- if (isMissing) {
178
- return {
179
- className: (0, _classnames["default"])(baseClassName, 'custom', 'missing', classNameProp),
180
- Component: StyledToken,
181
- Container: StyledMissingContainer,
182
- Icon: StyledIncorrectCloseIcon
183
- };
184
- }
185
- return {
186
- className: (0, _classnames["default"])(baseClassName, disabled && 'disabled', selectable && !disabled && !isTouchEnabled && 'selectable', selected && !disabled && 'selected', selected && disabled && 'disabledAndSelected', highlight && selectable && !disabled && !selected && 'highlight', animationsDisabled && 'print', classNameProp),
187
- Component: StyledToken,
188
- Container: Container,
189
- Icon: Icon
190
- };
191
- });
192
- return _this;
193
- }
194
- (0, _inherits2["default"])(Token, _React$Component);
195
- return (0, _createClass2["default"])(Token, [{
196
- key: "render",
197
- value: function render() {
198
- var _this$props2 = this.props,
199
- text = _this$props2.text,
200
- index = _this$props2.index,
201
- correct = _this$props2.correct,
202
- isMissing = _this$props2.isMissing;
203
- var _this$getClassAndIcon = this.getClassAndIconConfig(),
204
- className = _this$getClassAndIcon.className,
205
- Component = _this$getClassAndIcon.Component,
206
- Container = _this$getClassAndIcon.Container,
207
- Icon = _this$getClassAndIcon.Icon;
208
- var TokenComponent = Component || StyledToken;
209
- return /*#__PURE__*/_react["default"].createElement(Wrapper, {
210
- useWrapper: correct !== undefined || isMissing,
211
- Container: Container,
212
- Icon: Icon
213
- }, /*#__PURE__*/_react["default"].createElement(TokenComponent, {
214
- className: className,
215
- dangerouslySetInnerHTML: {
216
- __html: (text || '').replace(/\n/g, '<br>')
217
- },
218
- "data-indexkey": index
219
- }));
220
- }
221
- }]);
222
- }(_react["default"].Component);
223
- (0, _defineProperty2["default"])(Token, "rootClassName", 'tokenRootClass');
224
- (0, _defineProperty2["default"])(Token, "propTypes", _objectSpread(_objectSpread({}, TokenTypes), {}, {
225
- text: _propTypes["default"].string.isRequired,
226
- className: _propTypes["default"].string,
227
- disabled: _propTypes["default"].bool,
228
- highlight: _propTypes["default"].bool,
229
- correct: _propTypes["default"].bool
230
- }));
231
- (0, _defineProperty2["default"])(Token, "defaultProps", {
232
- selectable: false,
233
- text: ''
234
- });
235
- var _default = exports["default"] = Token;
236
- //# sourceMappingURL=token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_classnames","_Check","_Close","_renderUi","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","LINE_HEIGHT_MULTIPLIER","CORRECTNESS_LINE_HEIGHT_MULTIPLIER","CORRECTNESS_PADDING","StyledToken","styled","_ref","theme","cursor","textIndent","color","disabled","pointerEvents","backgroundColor","blueGrey100","concat","breakpoints","values","md","blueGrey300","palette","common","black","lineHeight","parseFloat","spacing","border","blueGrey900","borderRadius","blueGrey600","text","display","StyledCommonTokenStyle","_ref3","position","padding","StyledCorrectContainer","correctTertiary","StyledIncorrectContainer","incorrectWithIcon","StyledMissingContainer","baseIconStyles","white","top","left","fontSize","StyledCorrectCheckIcon","Check","StyledIncorrectCloseIcon","Close","Wrapper","_ref4","useWrapper","children","Container","Icon","createElement","propTypes","PropTypes","bool","elementType","node","TokenTypes","exports","string","selectable","Token","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","_this$props","props","selected","classNameProp","className","highlight","correct","animationsDisabled","isMissing","isTouchEnabled","window","navigator","maxTouchPoints","msMaxTouchPoints","baseClassName","rootClassName","undefined","classNames","Component","isCorrect","_inherits2","_createClass2","key","value","render","_this$props2","index","_this$getClassAndIcon","getClassAndIconConfig","TokenComponent","dangerouslySetInnerHTML","__html","replace","React","isRequired","_default"],"sources":["../../src/token-select/token.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport Check from '@mui/icons-material/Check';\nimport Close from '@mui/icons-material/Close';\n\nimport { color } from '@pie-lib/render-ui';\n\n// we need to use a larger line height for the token to be more readable\nconst LINE_HEIGHT_MULTIPLIER = 3.2;\n// we need a bit more space for correctness indicators\nconst CORRECTNESS_LINE_HEIGHT_MULTIPLIER = 3.4;\nconst CORRECTNESS_PADDING = 2;\n\n// Styled components for different token states\nconst StyledToken = styled('span')(({ theme }) => ({\n cursor: 'pointer',\n textIndent: 0,\n '&.disabled': {\n cursor: 'inherit',\n color: color.disabled(),\n },\n '&.disabledBlack': {\n cursor: 'inherit',\n pointerEvents: 'none',\n },\n '&.disabledAndSelected': {\n backgroundColor: color.blueGrey100(),\n },\n [`@media (min-width: ${theme.breakpoints.values.md}px)`]: {\n '&.selectable:hover': {\n backgroundColor: color.blueGrey300(),\n color: theme.palette.common.black,\n '& > *': {\n backgroundColor: color.blueGrey300(),\n },\n },\n },\n '&.selected': {\n backgroundColor: color.blueGrey100(),\n color: theme.palette.common.black,\n lineHeight: `${parseFloat(theme.spacing(1)) * LINE_HEIGHT_MULTIPLIER}px`,\n border: `solid 2px ${color.blueGrey900()}`,\n borderRadius: '4px',\n '& > *': {\n backgroundColor: color.blueGrey100(),\n },\n },\n '&.highlight': {\n border: `dashed 2px ${color.blueGrey600()}`,\n borderRadius: '4px',\n lineHeight: `${parseFloat(theme.spacing(1)) * LINE_HEIGHT_MULTIPLIER}px`,\n },\n '&.print': {\n border: `dashed 2px ${color.blueGrey600()}`,\n borderRadius: '4px',\n lineHeight: `${parseFloat(theme.spacing(1)) * LINE_HEIGHT_MULTIPLIER}px`,\n color: color.text(),\n },\n '&.custom': {\n display: 'initial',\n },\n}));\n\nconst StyledCommonTokenStyle = styled('span')(({ theme }) => ({\n position: 'relative',\n borderRadius: '4px',\n color: theme.palette.common.black,\n lineHeight: `${parseFloat(theme.spacing(1)) * CORRECTNESS_LINE_HEIGHT_MULTIPLIER + CORRECTNESS_PADDING}px`,\n padding: `${CORRECTNESS_PADDING}px`,\n}));\n\nconst StyledCorrectContainer = styled(StyledCommonTokenStyle)(() => ({\n border: `${color.correctTertiary()} solid 2px`,\n}));\n\nconst StyledIncorrectContainer = styled(StyledCommonTokenStyle)(() => ({\n border: `${color.incorrectWithIcon()} solid 2px`,\n}));\n\nconst StyledMissingContainer = styled(StyledCommonTokenStyle)(() => ({\n border: `${color.incorrectWithIcon()} dashed 2px`,\n}));\n\nconst baseIconStyles = {\n color: color.white(),\n position: 'absolute',\n top: '-8px',\n left: '-8px',\n borderRadius: '50%',\n fontSize: '12px',\n padding: '2px',\n display: 'inline-block',\n};\n\nconst StyledCorrectCheckIcon = styled(Check)(() => ({\n ...baseIconStyles,\n backgroundColor: color.correctTertiary(),\n}));\n\nconst StyledIncorrectCloseIcon = styled(Close)(() => ({\n ...baseIconStyles,\n backgroundColor: color.incorrectWithIcon(),\n}));\n\nconst Wrapper = ({ useWrapper, children, Container, Icon }) =>\n useWrapper ? (\n <Container>\n {children}\n {Icon ? <Icon /> : null}\n </Container>\n ) : (\n children\n );\n\nWrapper.propTypes = {\n useWrapper: PropTypes.bool,\n Container: PropTypes.elementType,\n Icon: PropTypes.elementType,\n children: PropTypes.node,\n};\n\nexport const TokenTypes = {\n text: PropTypes.string,\n selectable: PropTypes.bool,\n};\n\nexport class Token extends React.Component {\n static rootClassName = 'tokenRootClass';\n\n static propTypes = {\n ...TokenTypes,\n text: PropTypes.string.isRequired,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n highlight: PropTypes.bool,\n correct: PropTypes.bool,\n };\n\n static defaultProps = {\n selectable: false,\n text: '',\n };\n\n getClassAndIconConfig = () => {\n const {\n selectable,\n selected,\n className: classNameProp,\n disabled,\n highlight,\n correct,\n animationsDisabled,\n isMissing,\n } = this.props;\n const isTouchEnabled = 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n const baseClassName = Token.rootClassName;\n let Container;\n let Icon;\n\n if (correct === undefined && selected && disabled) {\n return {\n className: classNames(baseClassName, 'selected', 'disabledBlack', classNameProp),\n Component: StyledToken,\n };\n }\n\n if (correct !== undefined) {\n const isCorrect = correct === true;\n return {\n className: classNames(baseClassName, 'custom', classNameProp),\n Component: StyledToken,\n Container: isCorrect ? StyledCorrectContainer : StyledIncorrectContainer,\n Icon: isCorrect ? StyledCorrectCheckIcon : StyledIncorrectCloseIcon,\n };\n }\n\n if (isMissing) {\n return {\n className: classNames(baseClassName, 'custom', 'missing', classNameProp),\n Component: StyledToken,\n Container: StyledMissingContainer,\n Icon: StyledIncorrectCloseIcon,\n };\n }\n\n return {\n className: classNames(\n baseClassName,\n disabled && 'disabled',\n selectable && !disabled && !isTouchEnabled && 'selectable',\n selected && !disabled && 'selected',\n selected && disabled && 'disabledAndSelected',\n highlight && selectable && !disabled && !selected && 'highlight',\n animationsDisabled && 'print',\n classNameProp,\n ),\n Component: StyledToken,\n Container,\n Icon,\n };\n };\n\n render() {\n const { text, index, correct, isMissing } = this.props;\n const { className, Component, Container, Icon } = this.getClassAndIconConfig();\n\n const TokenComponent = Component || StyledToken;\n\n return (\n <Wrapper useWrapper={correct !== undefined || isMissing} Container={Container} Icon={Icon}>\n <TokenComponent\n className={className}\n dangerouslySetInnerHTML={{ __html: (text || '').replace(/\\n/g, '<br>') }}\n data-indexkey={index}\n />\n </Wrapper>\n );\n }\n}\n\nexport default Token;\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,sBAAA,CAAAC,OAAA;AAEA,IAAAM,SAAA,GAAAN,OAAA;AAA2C,SAAAO,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,aAAAF,CAAA,OAAAG,2BAAA,aAAAJ,CAAA,EAAAK,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,aAAAH,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAG,0BAAA,cAAAL,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAP,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAK,yBAAA,YAAAA,0BAAA,aAAAL,CAAA;AAAA,SAAAc,QAAAZ,CAAA,EAAAa,CAAA,QAAAf,CAAA,GAAAgB,MAAA,CAAAC,IAAA,CAAAf,CAAA,OAAAc,MAAA,CAAAE,qBAAA,QAAAjB,CAAA,GAAAe,MAAA,CAAAE,qBAAA,CAAAhB,CAAA,GAAAa,CAAA,KAAAd,CAAA,GAAAA,CAAA,CAAAkB,MAAA,WAAAJ,CAAA,WAAAC,MAAA,CAAAI,wBAAA,CAAAlB,CAAA,EAAAa,CAAA,EAAAM,UAAA,OAAArB,CAAA,CAAAsB,IAAA,CAAAb,KAAA,CAAAT,CAAA,EAAAC,CAAA,YAAAD,CAAA;AAAA,SAAAuB,cAAArB,CAAA,aAAAa,CAAA,MAAAA,CAAA,GAAAS,SAAA,CAAAC,MAAA,EAAAV,CAAA,UAAAf,CAAA,WAAAwB,SAAA,CAAAT,CAAA,IAAAS,SAAA,CAAAT,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAE,MAAA,CAAAhB,CAAA,OAAA0B,OAAA,WAAAX,CAAA,QAAAY,gBAAA,aAAAzB,CAAA,EAAAa,CAAA,EAAAf,CAAA,CAAAe,CAAA,SAAAC,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA3B,CAAA,EAAAc,MAAA,CAAAY,yBAAA,CAAA5B,CAAA,KAAAc,OAAA,CAAAE,MAAA,CAAAhB,CAAA,GAAA0B,OAAA,WAAAX,CAAA,IAAAC,MAAA,CAAAc,cAAA,CAAA5B,CAAA,EAAAa,CAAA,EAAAC,MAAA,CAAAI,wBAAA,CAAApB,CAAA,EAAAe,CAAA,iBAAAb,CAAA;AAE3C;AACA,IAAM6B,sBAAsB,GAAG,GAAG;AAClC;AACA,IAAMC,kCAAkC,GAAG,GAAG;AAC9C,IAAMC,mBAAmB,GAAG,CAAC;;AAE7B;AACA,IAAMC,WAAW,GAAG,IAAAC,cAAM,EAAC,MAAM,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,WAAAV,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA,iBAAAA,gBAAA;IACzCW,MAAM,EAAE,SAAS;IACjBC,UAAU,EAAE,CAAC;IACb,YAAY,EAAE;MACZD,MAAM,EAAE,SAAS;MACjBE,KAAK,EAAEA,eAAK,CAACC,QAAQ,CAAC;IACxB,CAAC;IACD,iBAAiB,EAAE;MACjBH,MAAM,EAAE,SAAS;MACjBI,aAAa,EAAE;IACjB,CAAC;IACD,uBAAuB,EAAE;MACvBC,eAAe,EAAEH,eAAK,CAACI,WAAW,CAAC;IACrC;EAAC,yBAAAC,MAAA,CACsBR,KAAK,CAACS,WAAW,CAACC,MAAM,CAACC,EAAE,UAAQ;IACxD,oBAAoB,EAAE;MACpBL,eAAe,EAAEH,eAAK,CAACS,WAAW,CAAC,CAAC;MACpCT,KAAK,EAAEH,KAAK,CAACa,OAAO,CAACC,MAAM,CAACC,KAAK;MACjC,OAAO,EAAE;QACPT,eAAe,EAAEH,eAAK,CAACS,WAAW,CAAC;MACrC;IACF;EACF,CAAC,GACD,YAAY,EAAE;IACZN,eAAe,EAAEH,eAAK,CAACI,WAAW,CAAC,CAAC;IACpCJ,KAAK,EAAEH,KAAK,CAACa,OAAO,CAACC,MAAM,CAACC,KAAK;IACjCC,UAAU,KAAAR,MAAA,CAAKS,UAAU,CAACjB,KAAK,CAACkB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGxB,sBAAsB,OAAI;IACxEyB,MAAM,eAAAX,MAAA,CAAeL,eAAK,CAACiB,WAAW,CAAC,CAAC,CAAE;IAC1CC,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE;MACPf,eAAe,EAAEH,eAAK,CAACI,WAAW,CAAC;IACrC;EACF,CAAC,GACD,aAAa,EAAE;IACbY,MAAM,gBAAAX,MAAA,CAAgBL,eAAK,CAACmB,WAAW,CAAC,CAAC,CAAE;IAC3CD,YAAY,EAAE,KAAK;IACnBL,UAAU,KAAAR,MAAA,CAAKS,UAAU,CAACjB,KAAK,CAACkB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGxB,sBAAsB;EACtE,CAAC,GACD,SAAS,EAAE;IACTyB,MAAM,gBAAAX,MAAA,CAAgBL,eAAK,CAACmB,WAAW,CAAC,CAAC,CAAE;IAC3CD,YAAY,EAAE,KAAK;IACnBL,UAAU,KAAAR,MAAA,CAAKS,UAAU,CAACjB,KAAK,CAACkB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGxB,sBAAsB,OAAI;IACxES,KAAK,EAAEA,eAAK,CAACoB,IAAI,CAAC;EACpB,CAAC,GACD,UAAU,EAAE;IACVC,OAAO,EAAE;EACX,CAAC;AAAA,CACD,CAAC;AAEH,IAAMC,sBAAsB,GAAG,IAAA3B,cAAM,EAAC,MAAM,CAAC,CAAC,UAAA4B,KAAA;EAAA,IAAG1B,KAAK,GAAA0B,KAAA,CAAL1B,KAAK;EAAA,OAAQ;IAC5D2B,QAAQ,EAAE,UAAU;IACpBN,YAAY,EAAE,KAAK;IACnBlB,KAAK,EAAEH,KAAK,CAACa,OAAO,CAACC,MAAM,CAACC,KAAK;IACjCC,UAAU,KAAAR,MAAA,CAAKS,UAAU,CAACjB,KAAK,CAACkB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAGvB,kCAAkC,GAAGC,mBAAmB,OAAI;IAC1GgC,OAAO,KAAApB,MAAA,CAAKZ,mBAAmB;EACjC,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMiC,sBAAsB,GAAG,IAAA/B,cAAM,EAAC2B,sBAAsB,CAAC,CAAC;EAAA,OAAO;IACnEN,MAAM,KAAAX,MAAA,CAAKL,eAAK,CAAC2B,eAAe,CAAC,CAAC;EACpC,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,wBAAwB,GAAG,IAAAjC,cAAM,EAAC2B,sBAAsB,CAAC,CAAC;EAAA,OAAO;IACrEN,MAAM,KAAAX,MAAA,CAAKL,eAAK,CAAC6B,iBAAiB,CAAC,CAAC;EACtC,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,sBAAsB,GAAG,IAAAnC,cAAM,EAAC2B,sBAAsB,CAAC,CAAC;EAAA,OAAO;IACnEN,MAAM,KAAAX,MAAA,CAAKL,eAAK,CAAC6B,iBAAiB,CAAC,CAAC;EACtC,CAAC;AAAA,CAAC,CAAC;AAEH,IAAME,cAAc,GAAG;EACrB/B,KAAK,EAAEA,eAAK,CAACgC,KAAK,CAAC,CAAC;EACpBR,QAAQ,EAAE,UAAU;EACpBS,GAAG,EAAE,MAAM;EACXC,IAAI,EAAE,MAAM;EACZhB,YAAY,EAAE,KAAK;EACnBiB,QAAQ,EAAE,MAAM;EAChBV,OAAO,EAAE,KAAK;EACdJ,OAAO,EAAE;AACX,CAAC;AAED,IAAMe,sBAAsB,GAAG,IAAAzC,cAAM,EAAC0C,iBAAK,CAAC,CAAC;EAAA,OAAAtD,aAAA,CAAAA,aAAA,KACxCgD,cAAc;IACjB5B,eAAe,EAAEH,eAAK,CAAC2B,eAAe,CAAC;EAAC;AAAA,CACxC,CAAC;AAEH,IAAMW,wBAAwB,GAAG,IAAA3C,cAAM,EAAC4C,iBAAK,CAAC,CAAC;EAAA,OAAAxD,aAAA,CAAAA,aAAA,KAC1CgD,cAAc;IACjB5B,eAAe,EAAEH,eAAK,CAAC6B,iBAAiB,CAAC;EAAC;AAAA,CAC1C,CAAC;AAEH,IAAMW,OAAO,GAAG,SAAVA,OAAOA,CAAAC,KAAA;EAAA,IAAMC,UAAU,GAAAD,KAAA,CAAVC,UAAU;IAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAAEC,SAAS,GAAAH,KAAA,CAATG,SAAS;IAAEC,IAAI,GAAAJ,KAAA,CAAJI,IAAI;EAAA,OACtDH,UAAU,gBACR5F,MAAA,YAAAgG,aAAA,CAACF,SAAS,QACPD,QAAQ,EACRE,IAAI,gBAAG/F,MAAA,YAAAgG,aAAA,CAACD,IAAI,MAAE,CAAC,GAAG,IACV,CAAC,GAEZF,QACD;AAAA;AAEHH,OAAO,CAACO,SAAS,GAAG;EAClBL,UAAU,EAAEM,qBAAS,CAACC,IAAI;EAC1BL,SAAS,EAAEI,qBAAS,CAACE,WAAW;EAChCL,IAAI,EAAEG,qBAAS,CAACE,WAAW;EAC3BP,QAAQ,EAAEK,qBAAS,CAACG;AACtB,CAAC;AAEM,IAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG;EACxBhC,IAAI,EAAE4B,qBAAS,CAACM,MAAM;EACtBC,UAAU,EAAEP,qBAAS,CAACC;AACxB,CAAC;AAAC,IAEWO,KAAK,GAAAH,OAAA,CAAAG,KAAA,0BAAAC,gBAAA;EAAA,SAAAD,MAAA;IAAA,IAAAE,KAAA;IAAA,IAAAC,gBAAA,mBAAAH,KAAA;IAAA,SAAAI,IAAA,GAAA5E,SAAA,CAAAC,MAAA,EAAA4E,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAA/E,SAAA,CAAA+E,IAAA;IAAA;IAAAL,KAAA,GAAAnG,UAAA,OAAAiG,KAAA,KAAAnD,MAAA,CAAAwD,IAAA;IAAA,IAAA1E,gBAAA,aAAAuE,KAAA,2BAiBQ,YAAM;MAC5B,IAAAM,WAAA,GASIN,KAAA,CAAKO,KAAK;QARZV,UAAU,GAAAS,WAAA,CAAVT,UAAU;QACVW,QAAQ,GAAAF,WAAA,CAARE,QAAQ;QACGC,aAAa,GAAAH,WAAA,CAAxBI,SAAS;QACTnE,QAAQ,GAAA+D,WAAA,CAAR/D,QAAQ;QACRoE,SAAS,GAAAL,WAAA,CAATK,SAAS;QACTC,OAAO,GAAAN,WAAA,CAAPM,OAAO;QACPC,kBAAkB,GAAAP,WAAA,CAAlBO,kBAAkB;QAClBC,SAAS,GAAAR,WAAA,CAATQ,SAAS;MAEX,IAAMC,cAAc,GAAG,cAAc,IAAIC,MAAM,IAAIC,SAAS,CAACC,cAAc,GAAG,CAAC,IAAID,SAAS,CAACE,gBAAgB,GAAG,CAAC;MACjH,IAAMC,aAAa,GAAGtB,KAAK,CAACuB,aAAa;MACzC,IAAInC,SAAS;MACb,IAAIC,IAAI;MAER,IAAIyB,OAAO,KAAKU,SAAS,IAAId,QAAQ,IAAIjE,QAAQ,EAAE;QACjD,OAAO;UACLmE,SAAS,EAAE,IAAAa,sBAAU,EAACH,aAAa,EAAE,UAAU,EAAE,eAAe,EAAEX,aAAa,CAAC;UAChFe,SAAS,EAAExF;QACb,CAAC;MACH;MAEA,IAAI4E,OAAO,KAAKU,SAAS,EAAE;QACzB,IAAMG,SAAS,GAAGb,OAAO,KAAK,IAAI;QAClC,OAAO;UACLF,SAAS,EAAE,IAAAa,sBAAU,EAACH,aAAa,EAAE,QAAQ,EAAEX,aAAa,CAAC;UAC7De,SAAS,EAAExF,WAAW;UACtBkD,SAAS,EAAEuC,SAAS,GAAGzD,sBAAsB,GAAGE,wBAAwB;UACxEiB,IAAI,EAAEsC,SAAS,GAAG/C,sBAAsB,GAAGE;QAC7C,CAAC;MACH;MAEA,IAAIkC,SAAS,EAAE;QACb,OAAO;UACLJ,SAAS,EAAE,IAAAa,sBAAU,EAACH,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAEX,aAAa,CAAC;UACxEe,SAAS,EAAExF,WAAW;UACtBkD,SAAS,EAAEd,sBAAsB;UACjCe,IAAI,EAAEP;QACR,CAAC;MACH;MAEA,OAAO;QACL8B,SAAS,EAAE,IAAAa,sBAAU,EACnBH,aAAa,EACb7E,QAAQ,IAAI,UAAU,EACtBsD,UAAU,IAAI,CAACtD,QAAQ,IAAI,CAACwE,cAAc,IAAI,YAAY,EAC1DP,QAAQ,IAAI,CAACjE,QAAQ,IAAI,UAAU,EACnCiE,QAAQ,IAAIjE,QAAQ,IAAI,qBAAqB,EAC7CoE,SAAS,IAAId,UAAU,IAAI,CAACtD,QAAQ,IAAI,CAACiE,QAAQ,IAAI,WAAW,EAChEK,kBAAkB,IAAI,OAAO,EAC7BJ,aACF,CAAC;QACDe,SAAS,EAAExF,WAAW;QACtBkD,SAAS,EAATA,SAAS;QACTC,IAAI,EAAJA;MACF,CAAC;IACH,CAAC;IAAA,OAAAa,KAAA;EAAA;EAAA,IAAA0B,UAAA,aAAA5B,KAAA,EAAAC,gBAAA;EAAA,WAAA4B,aAAA,aAAA7B,KAAA;IAAA8B,GAAA;IAAAC,KAAA,EAED,SAAAC,MAAMA,CAAA,EAAG;MACP,IAAAC,YAAA,GAA4C,IAAI,CAACxB,KAAK;QAA9C7C,IAAI,GAAAqE,YAAA,CAAJrE,IAAI;QAAEsE,KAAK,GAAAD,YAAA,CAALC,KAAK;QAAEpB,OAAO,GAAAmB,YAAA,CAAPnB,OAAO;QAAEE,SAAS,GAAAiB,YAAA,CAATjB,SAAS;MACvC,IAAAmB,qBAAA,GAAkD,IAAI,CAACC,qBAAqB,CAAC,CAAC;QAAtExB,SAAS,GAAAuB,qBAAA,CAATvB,SAAS;QAAEc,SAAS,GAAAS,qBAAA,CAATT,SAAS;QAAEtC,SAAS,GAAA+C,qBAAA,CAAT/C,SAAS;QAAEC,IAAI,GAAA8C,qBAAA,CAAJ9C,IAAI;MAE7C,IAAMgD,cAAc,GAAGX,SAAS,IAAIxF,WAAW;MAE/C,oBACE5C,MAAA,YAAAgG,aAAA,CAACN,OAAO;QAACE,UAAU,EAAE4B,OAAO,KAAKU,SAAS,IAAIR,SAAU;QAAC5B,SAAS,EAAEA,SAAU;QAACC,IAAI,EAAEA;MAAK,gBACxF/F,MAAA,YAAAgG,aAAA,CAAC+C,cAAc;QACbzB,SAAS,EAAEA,SAAU;QACrB0B,uBAAuB,EAAE;UAAEC,MAAM,EAAE,CAAC3E,IAAI,IAAI,EAAE,EAAE4E,OAAO,CAAC,KAAK,EAAE,MAAM;QAAE,CAAE;QACzE,iBAAeN;MAAM,CACtB,CACM,CAAC;IAEd;EAAC;AAAA,EA3FwBO,iBAAK,CAACf,SAAS;AAAA,IAAA/F,gBAAA,aAA7BqE,KAAK,mBACO,gBAAgB;AAAA,IAAArE,gBAAA,aAD5BqE,KAAK,eAAAzE,aAAA,CAAAA,aAAA,KAIXqE,UAAU;EACbhC,IAAI,EAAE4B,qBAAS,CAACM,MAAM,CAAC4C,UAAU;EACjC9B,SAAS,EAAEpB,qBAAS,CAACM,MAAM;EAC3BrD,QAAQ,EAAE+C,qBAAS,CAACC,IAAI;EACxBoB,SAAS,EAAErB,qBAAS,CAACC,IAAI;EACzBqB,OAAO,EAAEtB,qBAAS,CAACC;AAAI;AAAA,IAAA9D,gBAAA,aATdqE,KAAK,kBAYM;EACpBD,UAAU,EAAE,KAAK;EACjBnC,IAAI,EAAE;AACR,CAAC;AAAA,IAAA+E,QAAA,GAAA9C,OAAA,cA+EYG,KAAK","ignoreList":[]}
@@ -1,265 +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.words = exports.sort = exports.sentences = exports.paragraphs = exports.normalize = exports.intersection = exports.handleSentence = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _lodashEs = require("lodash-es");
11
- var _parseEnglish = _interopRequireDefault(require("@pie-framework/parse-english"));
12
- var _g = function g(str, node) {
13
- if (node.children) {
14
- return node.children.reduce(_g, str);
15
- } else if (node.value) {
16
- return str + node.value;
17
- } else {
18
- return str;
19
- }
20
- };
21
- var getParagraph = function getParagraph(p) {
22
- return _g('', p);
23
- };
24
- var getSentence = function getSentence(s) {
25
- return _g('', s);
26
- };
27
- var getWord = function getWord(w) {
28
- return _g('', w);
29
- };
30
- var paragraphs = exports.paragraphs = function paragraphs(text) {
31
- var tree = new _parseEnglish["default"]().parse(text);
32
- var out = tree.children.reduce(function (acc, child) {
33
- if (child.type === 'ParagraphNode') {
34
- var paragraph = {
35
- text: getParagraph(child),
36
- start: child.position.start.offset,
37
- end: child.position.end.offset
38
- };
39
- return acc.concat([paragraph]);
40
- } else {
41
- return acc;
42
- }
43
- }, []);
44
- return out;
45
- };
46
- var handleSentence = exports.handleSentence = function handleSentence(child, acc) {
47
- var sentenceChilds = [];
48
- // we parse the children of the sentence
49
- var newAcc = child.children.reduce(function (acc, child) {
50
- // if we find a whitespace node that's \n, we end the sentence
51
- if (child.type === 'WhiteSpaceNode' && child.value === '\n') {
52
- if (sentenceChilds.length) {
53
- var firstWord = sentenceChilds[0];
54
- // we create a sentence starting from the first word until the new line
55
- var sentence = {
56
- text: sentenceChilds.map(function (d) {
57
- return getSentence(d);
58
- }).join(''),
59
- start: firstWord.position.start.offset,
60
- end: child.position.start.offset
61
- };
62
-
63
- // we remove all the elements from the array
64
- sentenceChilds.splice(0, sentenceChilds.length);
65
- return acc.concat([sentence]);
66
- }
67
- } else {
68
- // otherwise we add it to the array that contains the child forming a sentence
69
- sentenceChilds.push(child);
70
- }
71
- return acc;
72
- }, acc);
73
-
74
- // we treat the case when no \n character is found at the end
75
- // so we create a sentence from the last words or white spaces found
76
- if (sentenceChilds.length) {
77
- var firstWord = sentenceChilds[0];
78
- var lastWord = sentenceChilds[sentenceChilds.length - 1];
79
- var sentence = {
80
- text: sentenceChilds.map(function (d) {
81
- return getSentence(d);
82
- }).join(''),
83
- start: firstWord.position.start.offset,
84
- end: lastWord.position.end.offset
85
- };
86
- newAcc = newAcc.concat([sentence]);
87
- sentenceChilds.splice(0, sentenceChilds.length);
88
- }
89
- return newAcc;
90
- };
91
- var sentences = exports.sentences = function sentences(text) {
92
- var tree = new _parseEnglish["default"]().parse(text);
93
- var out = tree.children.reduce(function (acc, child) {
94
- if (child.type === 'ParagraphNode') {
95
- return child.children.reduce(function (acc, child) {
96
- if (child.type === 'SentenceNode') {
97
- var newAcc = handleSentence(child, acc);
98
- return newAcc || acc;
99
- } else {
100
- return acc;
101
- }
102
- }, acc);
103
- } else {
104
- return acc;
105
- }
106
- }, []);
107
- return out;
108
- };
109
- var words = exports.words = function words(text) {
110
- var tree = new _parseEnglish["default"]().parse(text);
111
- var out = tree.children.reduce(function (acc, child) {
112
- if (child.type === 'ParagraphNode') {
113
- return child.children.reduce(function (acc, child) {
114
- if (child.type === 'SentenceNode') {
115
- return child.children.reduce(function (acc, child) {
116
- if (child.type === 'WordNode') {
117
- var node = {
118
- text: getWord(child),
119
- start: child.position.start.offset,
120
- end: child.position.end.offset
121
- };
122
- return acc.concat([node]);
123
- } else {
124
- return acc;
125
- }
126
- }, acc);
127
- } else {
128
- return acc;
129
- }
130
- }, acc);
131
- } else {
132
- return acc;
133
- }
134
- }, []);
135
- return out;
136
- };
137
- var Intersection = /*#__PURE__*/function () {
138
- function Intersection(results) {
139
- (0, _classCallCheck2["default"])(this, Intersection);
140
- this.results = results;
141
- }
142
- return (0, _createClass2["default"])(Intersection, [{
143
- key: "hasOverlap",
144
- get: function get() {
145
- return this.results.filter(function (r) {
146
- return r.type === 'overlap';
147
- }).length > 0;
148
- }
149
- }, {
150
- key: "surroundedTokens",
151
- get: function get() {
152
- return this.results.filter(function (r) {
153
- return r.type === 'within-selection';
154
- }).map(function (t) {
155
- return t.token;
156
- });
157
- }
158
- }]);
159
- }();
160
- /**
161
- * get intersection info for the selection in relation to tokens.
162
- * @param {{start: number, end: number}} selection
163
- * @param {{start: number, end: number}[]} tokens
164
- * @return {tokens: [], type: 'overlap|no-overlap|contains'}
165
- */
166
- var intersection = exports.intersection = function intersection(selection, tokens) {
167
- var start = selection.start,
168
- end = selection.end;
169
- var startsWithin = function startsWithin(t) {
170
- return start >= t.start && start < t.end;
171
- };
172
- var endsWithin = function endsWithin(t) {
173
- return end > t.start && end <= t.end;
174
- };
175
- var mapped = tokens.map(function (t) {
176
- if (start === t.start && end === t.end) {
177
- return {
178
- token: t,
179
- type: 'exact-fit'
180
- };
181
- } else if (start <= t.start && end >= t.end) {
182
- return {
183
- token: t,
184
- type: 'within-selection'
185
- };
186
- } else if (startsWithin(t) || endsWithin(t)) {
187
- return {
188
- token: t,
189
- type: 'overlap'
190
- };
191
- }
192
- });
193
- return new Intersection((0, _lodashEs.compact)(mapped));
194
- };
195
- var sort = exports.sort = function sort(tokens) {
196
- if (!Array.isArray(tokens)) {
197
- return tokens;
198
- } else {
199
- var out = (0, _lodashEs.clone)(tokens);
200
- out.sort(function (a, b) {
201
- var s = a.start < b.start ? -1 : a.start > b.start ? 1 : 0;
202
- var e = a.end < b.end ? -1 : a.end > b.end ? 1 : 0;
203
- if (s === -1 && e !== -1) {
204
- throw new Error("sort does not support intersecting tokens. a: ".concat(a.start, "-").concat(a.end, ", b: ").concat(b.start, "-").concat(b.end));
205
- }
206
- return s;
207
- });
208
- return out;
209
- }
210
- };
211
- var normalize = exports.normalize = function normalize(textToNormalize, tokens) {
212
- // making sure text provided is a string
213
- var text = textToNormalize || '';
214
- if (!Array.isArray(tokens) || tokens.length === 0) {
215
- return [{
216
- text: text,
217
- start: 0,
218
- end: text.length
219
- }];
220
- }
221
- var out = sort(tokens).reduce(function (acc, t, index, outer) {
222
- var tokens = [];
223
- var lastIndex = acc.lastIndex;
224
- if (t.start === lastIndex) {
225
- tokens = [{
226
- text: text.substring(lastIndex, t.end),
227
- start: lastIndex,
228
- end: t.end,
229
- predefined: true,
230
- correct: t.correct,
231
- isMissing: t.isMissing
232
- }];
233
- } else if (lastIndex < t.start) {
234
- tokens = [{
235
- text: text.substring(lastIndex, t.start),
236
- start: lastIndex,
237
- end: t.start
238
- }, {
239
- text: text.substring(t.start, t.end),
240
- start: t.start,
241
- end: t.end,
242
- predefined: true,
243
- correct: t.correct,
244
- isMissing: t.isMissing
245
- }];
246
- }
247
- if (index === outer.length - 1 && t.end < text.length) {
248
- var last = {
249
- text: text.substring(t.end),
250
- start: t.end,
251
- end: text.length
252
- };
253
- tokens.push(last);
254
- }
255
- return {
256
- lastIndex: tokens.length ? tokens[tokens.length - 1].end : lastIndex,
257
- result: acc.result.concat(tokens)
258
- };
259
- }, {
260
- result: [],
261
- lastIndex: 0
262
- });
263
- return out.result;
264
- };
265
- //# sourceMappingURL=builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builder.js","names":["_lodashEs","require","_parseEnglish","_interopRequireDefault","g","str","node","children","reduce","value","getParagraph","p","getSentence","s","getWord","w","paragraphs","exports","text","tree","English","parse","out","acc","child","type","paragraph","start","position","offset","end","concat","handleSentence","sentenceChilds","newAcc","length","firstWord","sentence","map","d","join","splice","push","lastWord","sentences","words","Intersection","results","_classCallCheck2","_createClass2","key","get","filter","r","t","token","intersection","selection","tokens","startsWithin","endsWithin","mapped","compact","sort","Array","isArray","clone","a","b","e","Error","normalize","textToNormalize","index","outer","lastIndex","substring","predefined","correct","isMissing","last","result"],"sources":["../../src/tokenizer/builder.js"],"sourcesContent":["import { clone, compact } from 'lodash-es';\nimport English from '@pie-framework/parse-english';\n\nconst g = (str, node) => {\n if (node.children) {\n return node.children.reduce(g, str);\n } else if (node.value) {\n return str + node.value;\n } else {\n return str;\n }\n};\n\nconst getParagraph = (p) => g('', p);\n\nconst getSentence = (s) => g('', s);\n\nconst getWord = (w) => g('', w);\n\nexport const paragraphs = (text) => {\n const tree = new English().parse(text);\n\n const out = tree.children.reduce((acc, child) => {\n if (child.type === 'ParagraphNode') {\n const paragraph = {\n text: getParagraph(child),\n start: child.position.start.offset,\n end: child.position.end.offset,\n };\n\n return acc.concat([paragraph]);\n } else {\n return acc;\n }\n }, []);\n\n return out;\n};\n\nexport const handleSentence = (child, acc) => {\n const sentenceChilds = [];\n // we parse the children of the sentence\n let newAcc = child.children.reduce(function (acc, child) {\n // if we find a whitespace node that's \\n, we end the sentence\n if (child.type === 'WhiteSpaceNode' && child.value === '\\n') {\n if (sentenceChilds.length) {\n const firstWord = sentenceChilds[0];\n // we create a sentence starting from the first word until the new line\n const sentence = {\n text: sentenceChilds.map((d) => getSentence(d)).join(''),\n start: firstWord.position.start.offset,\n end: child.position.start.offset,\n };\n\n // we remove all the elements from the array\n sentenceChilds.splice(0, sentenceChilds.length);\n return acc.concat([sentence]);\n }\n } else {\n // otherwise we add it to the array that contains the child forming a sentence\n sentenceChilds.push(child);\n }\n\n return acc;\n }, acc);\n\n // we treat the case when no \\n character is found at the end\n // so we create a sentence from the last words or white spaces found\n if (sentenceChilds.length) {\n const firstWord = sentenceChilds[0];\n const lastWord = sentenceChilds[sentenceChilds.length - 1];\n const sentence = {\n text: sentenceChilds.map((d) => getSentence(d)).join(''),\n start: firstWord.position.start.offset,\n end: lastWord.position.end.offset,\n };\n\n newAcc = newAcc.concat([sentence]);\n\n sentenceChilds.splice(0, sentenceChilds.length);\n }\n\n return newAcc;\n};\n\nexport const sentences = (text) => {\n const tree = new English().parse(text);\n\n const out = tree.children.reduce((acc, child) => {\n if (child.type === 'ParagraphNode') {\n return child.children.reduce((acc, child) => {\n if (child.type === 'SentenceNode') {\n const newAcc = handleSentence(child, acc);\n\n return newAcc || acc;\n } else {\n return acc;\n }\n }, acc);\n } else {\n return acc;\n }\n }, []);\n\n return out;\n};\nexport const words = (text) => {\n const tree = new English().parse(text);\n\n const out = tree.children.reduce((acc, child) => {\n if (child.type === 'ParagraphNode') {\n return child.children.reduce((acc, child) => {\n if (child.type === 'SentenceNode') {\n return child.children.reduce((acc, child) => {\n if (child.type === 'WordNode') {\n const node = {\n text: getWord(child),\n start: child.position.start.offset,\n end: child.position.end.offset,\n };\n return acc.concat([node]);\n } else {\n return acc;\n }\n }, acc);\n } else {\n return acc;\n }\n }, acc);\n } else {\n return acc;\n }\n }, []);\n\n return out;\n};\n\nclass Intersection {\n constructor(results) {\n this.results = results;\n }\n\n get hasOverlap() {\n return this.results.filter((r) => r.type === 'overlap').length > 0;\n }\n\n get surroundedTokens() {\n return this.results.filter((r) => r.type === 'within-selection').map((t) => t.token);\n }\n}\n/**\n * get intersection info for the selection in relation to tokens.\n * @param {{start: number, end: number}} selection\n * @param {{start: number, end: number}[]} tokens\n * @return {tokens: [], type: 'overlap|no-overlap|contains'}\n */\nexport const intersection = (selection, tokens) => {\n const { start, end } = selection;\n\n const startsWithin = (t) => start >= t.start && start < t.end;\n const endsWithin = (t) => end > t.start && end <= t.end;\n\n const mapped = tokens.map((t) => {\n if (start === t.start && end === t.end) {\n return { token: t, type: 'exact-fit' };\n } else if (start <= t.start && end >= t.end) {\n return { token: t, type: 'within-selection' };\n } else if (startsWithin(t) || endsWithin(t)) {\n return { token: t, type: 'overlap' };\n }\n });\n return new Intersection(compact(mapped));\n};\n\nexport const sort = (tokens) => {\n if (!Array.isArray(tokens)) {\n return tokens;\n } else {\n const out = clone(tokens);\n out.sort((a, b) => {\n const s = a.start < b.start ? -1 : a.start > b.start ? 1 : 0;\n const e = a.end < b.end ? -1 : a.end > b.end ? 1 : 0;\n if (s === -1 && e !== -1) {\n throw new Error(`sort does not support intersecting tokens. a: ${a.start}-${a.end}, b: ${b.start}-${b.end}`);\n }\n return s;\n });\n return out;\n }\n};\n\nexport const normalize = (textToNormalize, tokens) => {\n // making sure text provided is a string\n const text = textToNormalize || '';\n\n if (!Array.isArray(tokens) || tokens.length === 0) {\n return [\n {\n text,\n start: 0,\n end: text.length,\n },\n ];\n }\n\n const out = sort(tokens).reduce(\n (acc, t, index, outer) => {\n let tokens = [];\n const lastIndex = acc.lastIndex;\n\n if (t.start === lastIndex) {\n tokens = [\n {\n text: text.substring(lastIndex, t.end),\n start: lastIndex,\n end: t.end,\n predefined: true,\n correct: t.correct,\n isMissing: t.isMissing,\n },\n ];\n } else if (lastIndex < t.start) {\n tokens = [\n {\n text: text.substring(lastIndex, t.start),\n start: lastIndex,\n end: t.start,\n },\n {\n text: text.substring(t.start, t.end),\n start: t.start,\n end: t.end,\n predefined: true,\n correct: t.correct,\n isMissing: t.isMissing,\n },\n ];\n }\n\n if (index === outer.length - 1 && t.end < text.length) {\n const last = {\n text: text.substring(t.end),\n start: t.end,\n end: text.length,\n };\n tokens.push(last);\n }\n\n return {\n lastIndex: tokens.length ? tokens[tokens.length - 1].end : lastIndex,\n result: acc.result.concat(tokens),\n };\n },\n { result: [], lastIndex: 0 },\n );\n\n return out.result;\n};\n"],"mappings":"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","ignoreList":[]}